6
下面的代碼讀取清理的泰坦尼克號的數據,打印出所有的功能和分數如何存儲和打印前20%的功能名稱和分數?
import csv
import numpy as np
data = np.genfromtxt('titanic.csv',dtype=float, delimiter=',', names=True)
feature_names = np.array(data.dtype.names)
feature_names = feature_names[[ 0,1,2,3,4]]
data = np.genfromtxt('plants.csv',dtype=float, delimiter=',', skip_header=1)
_X = data[:, [0,1,2,3,4]]
#Return a flattened array required by scikit-learn fit for 2nd argument
_y = np.ravel(data[:,[5]])
from sklearn import feature_selection
fs = feature_selection.SelectPercentile(feature_selection.chi2, percentile=20)
X_train_fs = fs.fit_transform(_X, _y)
print feature_names, '\n', fs.scores_
結果:
['A' 'B' 'C' 'D' 'E']
[ 4.7324711 89.1428574 70.23474577 7.02447375 52.42447817]
我想要做的就是捕捉功能的前20% ,並將名稱和分數存儲在一個數組中,然後我可以按分數排序。這將有助於我在較大的功能設置降低尺寸。爲什麼我能獲得全部5個功能,我該如何解決這個問題,以及如何存儲和打印前20%的功能名稱和分數?
究竟是什麼我非常感謝您的幫助! –