featureFormat()函数删除了一些点?

时间:2017-01-24 18:11:08

标签: python feature-extraction feature-detection

我对这个命令有点困惑,因为当我使用它时,一些数据点会从我的数据集中删除。方法如下:

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分。会发生什么?

2 个答案:

答案 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:默认情况下这已经是假,所以如果你从方法调用中省略它,它将保持为假。