2017-01-24 9 views
2

私はこのコマンドについて少し混乱しています。使用すると、データセットからいくつかのデータポイントが削除されたようです。featureFormat()関数はいくつかの点を削除しますか?

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

私はちょうどこの質問への答えを得ました。デフォルトでは、featureFormat()はすべての値がゼロである点を削除します。削除しない場合は、次の引数を渡す必要があります。remove_all_zeroes = False、remove_any_zeroes = False。そのコードは次のようになります。これは、あなたが参照しているメソッドからのコメントからである

データ= featureFormat(enron_data、features_list、remove_all_zeroes = Falseを、remove_any_zeroes = False)が

0

...

をあなたが求める すべての機能は0.0 remove_any_zeroesがであるために任意のデータポイントを省略する

remove_all_zeroes =真=あなたが求める機能のいずれかであるかを のための任意のデータポイントを省略する真の0.0

remove_all_zeroes:特定のデータポイントですべてのフィーチャがゼロである場合、そのフィーチャをデータセットに保持するポイントはありません。したがって、デフォルトとして実行されるようにTrueのままにすることをお勧めします。

remove_any_zeroes:これはデフォルトでは既にFalseです。したがって、メソッド呼び出しから省略すると、Falseのままです。

関連する問題