1. 程式人生 > >sklearn資料特徵重要程度的篩選

sklearn資料特徵重要程度的篩選

 

 


'''


'''
from sklearn.feature_selection import SelectKBest, f_classif
import matplotlib.pyplot as plt

selector = SelectKBest(f_classif,k='all')  #或者k=3:特徵的個數
'''
dateframtop1_name_x_train[predictors]  是一個dataframe結構predictors是列名的列表
dateframtop1_name_y_train   因為這裡只有一列所以沒有列名
'''

selector.fit(dateframtop1_name_x_train[predictors], dateframtop1_name_y_train)
scores = -np.log10(selector.pvalues_)

plt.rcParams['font.sans-serif'] = ['SimHei']  # 這兩行用來顯示漢字
plt.rcParams['axes.unicode_minus'] = False

plt.bar(range(len(predictors)), scores)   #畫柱狀圖,比如三個柱子
plt.xticks(range(len(predictors)), predictors, rotation='vertical')  #這個是在每一柱子下說明名字
plt.show()