【发布时间】:2019-03-22 09:57:28
【问题描述】:
我目前正在开展一个项目,我正在运行数据并试图找到数据中的最佳特征。我正在使用 sklearn 和 SelectKBest 模块。当我运行代码时,我会得到结果,但无论我使用什么 K 值,它都会给我相同的结果。想知道是否有人可以查看我的代码并告诉我出了什么问题。我正在使用 Jupyter Notebook 构建它,因此我将更改值然后重新运行该块。
features_list = ['poi', 'salary','to_messages','deferral_payments',
'total_payments','exercised_stock_options','bonus',
'restricted_stock','shared_receipt_with_poi','restricted_stock_deferred',
'total_stock_value','expenses','loan_advances','from_messages','other',
'from_this_person_to_poi','director_fees','deferred_income','long_term_incentive','from_poi_to_this_person']
data = featureFormat(data_dict, features_list, sort_keys=True)
labels, features = targetFeatureSplit(data)
from sklearn.feature_selection import SelectKBest
clf = SelectKBest()
new_features = clf.fit_transform(features,labels)
params = clf.get_params()
i=0
featureImportance = []
for item in clf.scores_:
featureImportance.append((item,features_list[i+1]))
i=i+1
featureImportance=sorted(featureImportance, reverse=True)
for item in featureImportance:
print "{0} , {1:4.2f}%".format(item[1],item[0])
输出:
exercised_stock_options , 25.10%
total_stock_value , 24.47%
bonus , 21.06%
salary , 18.58%
deferred_income , 11.60%
long_term_incentive , 10.07%
restricted_stock , 9.35%
total_payments , 8.87%
shared_receipt_with_poi , 8.75%
loan_advances , 7.24%
expenses , 6.23%
from_poi_to_this_person , 5.34%
other , 4.20%
from_this_person_to_poi , 2.43%
director_fees , 2.11%
to_messages , 1.70%
deferral_payments , 0.22%
from_messages , 0.16%
restricted_stock_deferred , 0.06%
% 不变。
【问题讨论】:
标签: python machine-learning scikit-learn jupyter-notebook