二进制单热点(也称为-K之一)编码是为一个分类变量为每个不同的值创建一个二进制列。例如,如果有一个颜色列(分类变量),其值为“红色”、“蓝色”、“黄色”和“未知”,那么二进制人的热编码将颜色列替换为' color =red‘、' color =blue’和‘color=黄色’。我知道两种方法来做二进制一热编码,其中没有一种让我满意。
Pandas和get_dummies在数据
我有一个原始的熊猫数据帧,让我们叫它df。我将数据帧转换为csv文件,然后将其转换回pandas数据帧。当我调用df.equals(新数据帧)时,它返回false。我认为一个错误可能是索引可能关闭,所以我将新数据帧的索引设置为csv文件的第一列(这是原始数据帧的索引),但仍然得到相同的结果。示例代码:
df = <stuff here
我正在探索pyspark和整合scikit-learn与pyspark的可能性。我想使用scikit-learn在每个分区上训练一个模型。这意味着,当我的RDD被定义并分布在不同的工作节点上时,我想使用scikit-learn并在每个工作节点上存在的每个分区上训练一个模型(假设是一个简单的k- means )。由于scikit-learn算法需要一个Pandas数据帧,所以我最初的想法是为每个分区调用toPandas,然后训练我的模型