我对这个命令有点困惑,因为当我使用它时,一些数据点会从我的数据集中删除。方法如下:
enron_data = pickle.load(open("final_project_dataset.pkl", "r"))
print len(enron_data.keys())
我得到:146
现在我这样做了:
features_list = ["poi", "salary", "exercised_stock_options", "total_payments", "bonus","expenses"]
data = featureFormat(enron_data, features_list)
poi, finance_features = targetFeatureSplit( data )
print len(finance_features)
我得到140分。显然这里没有6分。会发生什么?
答案 0 :(得分:2)
我刚刚得到了这个问题的答案。事实证明,默认情况下,featureFormat()会删除所有值为零的点。如果您不想删除它们,则应传递以下参数:remove_all_zeroes = False,remove_any_zeroes = False。所以代码看起来像这样:
data = featureFormat(enron_data,features_list,remove_all_zeroes = False,remove_any_zeroes = False)
答案 1 :(得分:0)
这来自您所指的方法的评论......
remove_all_zeroes = True将省略任何数据点 您寻找的所有功能都是0.0 remove_any_zeroes = True将省略任何数据点 您寻求的任何功能都是0.0
remove_all_zeroes:如果特定数据点的所有要素都为零,则无法将其保留在数据集中。因此,建议将其保留为默认值。
remove_any_zeroes:默认情况下这已经是假,所以如果你从方法调用中省略它,它将保持为假。