python方差特征选择_使用scikitlearn进行方差分析的特征选择和交叉验证
scikitlearn有一種遞歸的特征消除和交叉驗證的選擇方法,稱為RFECV。以下代碼僅供參考,與給定的示例on this link相似。在import matplotlib.pyplot as plt
from sklearn.svm import SVC
from sklearn.cross_validation import StratifiedKFold
from sklearn.feature_selection import RFECV
svc = SVC(kernel="linear")
rfecv = RFECV(estimator=svc, step=1, cv=StratifiedKFold(labels, 50),
scoring='precision')
rfecv.fit(features, labels)
print("Optimal number of features : %d" % rfecv.n_features_)
print rfecv.support_
features=features[:,rfecv.support_]
# Plot number of features VS. cross-validation scores
plt.figure()
plt.xlabel("Number of features selected")
plt.ylabel("Cross validation score (nb of correct classifications)")
plt.plot(range(1, len(rfecv.grid_scores_) + 1), rfecv.grid_scores_)
plt.show()
樣本輸出:
參考鏈接:
編輯:使用變異數分析(ANOVA)進行特征選擇
為了使用方差分析和交叉驗證,您需要使用Pipeline、Select Percentile和{a9}。基于給定的示例here,您可以結合這些技術來使用CV+Annova測試進行特征選擇。在
總結
以上是生活随笔為你收集整理的python方差特征选择_使用scikitlearn进行方差分析的特征选择和交叉验证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qt socket 传递结构体 结构体中
- 下一篇: python 自动控制仿真_Python