机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353)
这是一个单变量特征选择的例子。这个例子将无信息的噪因特征添加到iris
数据集里。对于每一个特征,我们画出单变量特征选择的p-value
和一个SVM
对应的权重。结果显示:有信息的特征具有更大的权值。
在整个的特征集里,仅仅有4个是显著的,它们具有最高的单变量特征选择分数。SVM同时也选择了很多无信息的特征。在SVM之前应用单变量特征选择,能够增加显著的特征的权值,这样也改善了分类的效果。
实例代码
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets, svm
from sklearn.feature_selection import SelectPercentile, f_classif
# #############################################################################
# Import some data to play with
# The iris dataset
iris = datasets.load_iris()
# Some noisy data not correlated
E = np.random.uniform(0, 0.1, size=(len(iris.data), 20))
# Add the noisy data to the informative features
X = np.hstack((iris.data, E))
y = iris.target
plt.figure(1)
plt.clf()
X_indices = np.arange(X.shape[-1])
# ################################