Jua*_*los 5 python feature-selection
我想用 SVR 绘制特征重要性,但我不知道是否可以使用支持向量回归这是我的代码。
from sklearn.svm import SVR
C=1e3
svr_lin = SVR(kernel="linear", C=C)
y_lin = svr_lin.fit(X,Y).predict(X)
scores = cross_val_score(svr_lin, X, Y, cv = 5)
print(scores)
print(scores.mean())
print(scores.std())
Run Code Online (Sandbox Code Playgroud)
小智 2
SVR 不支持本机特征重要性分数,您可能需要尝试排列特征重要性,这是一种计算独立于所使用模型的相对重要性分数的技术。首先,模型适合数据集,例如不支持本机特征重要性分数的模型。然后,该模型用于对数据集进行预测,尽管数据集中的特征(列)的值是混乱的。对数据集中的每个特征重复此操作。然后整个过程重复3次、5次、10次或更多次。结果是每个输入特征的平均重要性得分(以及给定重复的得分分布)。该方法可用于回归或分类,并要求选择性能指标作为重要性得分的基础,例如回归的均方误差和分类的准确性。排列特征选择可以通过 permutation_importance() 函数使用,该函数采用拟合模型、数据集(训练或测试数据集都可以)和评分函数。
model = SVR()
# fit the model
model.fit(X, y)
# perform permutation importance
results = permutation_importance(model, X, y, scoring='neg_mean_squared_error')
# get importance
importance = results.importances_mean
# summarize feature importance
for i,v in enumerate(importance):
print('Feature: %0d, Score: %.5f' % (i,v))
# plot feature importance
pyplot.bar([x for x in range(len(importance))], importance)
pyplot.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3656 次 |
| 最近记录: |