python特征选择SelectKBest实战:期货相关特征( 二 )

(994,378)
说明又移除掉了几十个特征

  • 查看移除低方差特征后 , 剩下的特征及所在的列
X_seleted_index=X_seleted.get_support(indices=True)#使用移除低方差特征后 , 留下的特征分别是第几个X_transformed_1=pd.DataFrame(X_transformed,columns=X.columns[X_seleted_index],index=data.iloc[:,0])#因为fit_transform得到的是numpy的array , #是没有index和columns的 , 所以我要手动给它添加回去!!!X_transformed_1
python特征选择SelectKBest实战:期货相关特征文章插图
  • 使用SelectKBest , 查看每个特征与y的相关性
SKB=SelectKBest(mutual_info_regression,k=387)X_SKB=SKB.fit(X_transformed_1,y)X_SKB_transformed=SKB.fit_transform(X_transformed_1,y)X_SKB_scores=X_SKB.scores_X_SKB_scores_0=pd.DataFrame({"scores":X_SKB_scores},index=X_transformed_1.columns)X_SKB_scores_0
python特征选择SelectKBest实战:期货相关特征文章插图
排序
X_SKB_scores_sort=X_SKB_scores_0.sort_values(ascending=False,by="scores")X_SKB_scores_sort
python特征选择SelectKBest实战:期货相关特征文章插图
查看相关性曲线
【python特征选择SelectKBest实战:期货相关特征】X_SKB_scores_sort.plot()plt.xticks(range(0,400,20))plt.xlabel("index")plt.ylabel("scores")plt.show()
python特征选择SelectKBest实战:期货相关特征文章插图
将结果保存到csv
X_SKB_scores_sort.to_csv(r"D:\刘\预测\X_SKB_scores_sort3.csv")由图形可知 , 宜选择score在0.4到1之间的特征
X_SKB_scores_seleted=X_SKB_scores_sort[(X_SKB_scores_sort["scores"]<1)&(X_SKB_scores_sort["scores"]>0.4)]print(X_SKB_scores_seleted.shape)(361,1)
说明使用SelectKBest中的K取361最优
  • 查看选择了特征后 , 剩下的特征及所在的列
X_SKB_seleted=pd.DataFrame(X_transformed_1,columns=X_SKB_scores_seleted.index,index=data.iloc[:,0])X_SKB_seleted
python特征选择SelectKBest实战:期货相关特征文章插图
和y合并并保存
X_SKB_seleted_Y=pd.concat((X_SKB_seleted,y),axis=1)X_SKB_seleted_Y.to_csv(r"D:\刘\预测\筛选后的特征2.csv")以上就是全部代码 , 是我实际操作过程中的经验总结 。
分享不易 , 如果觉得对你有帮助 , 请帮忙点赞+收藏哦~~~
有什么不懂可以在评论区里留言~


推荐阅读