首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SVR的特征重要性

SVR的特征重要性
EN

Stack Overflow用户
提问于 2021-12-23 21:57:24
回答 1查看 725关注 0票数 3

我想用SVR来描述特性的重要性,但我不知道支持向量回归是否可能,这是我的代码。

代码语言:javascript
复制
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())
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-17 08:15:03

SVR不支持本地特征重要性分数,您可能需要尝试排列特征重要性,这是一种计算相对重要性分数的技术,它独立于所使用的模型。首先,模型适合于数据集,例如不支持本机特性重要性评分的模型。然后,模型用于对数据集进行预测,尽管数据集中的特征(列)的值是加扰的。对于dataset中的每个特性,都会重复这种情况。然后,整个过程重复3,5,10次或更多次。结果是每个输入特征的平均重要性评分(以及给定重复的分数的分布)。这种方法可以用于回归或分类,并要求选择性能指标作为重要性评分的基础,例如回归的均方误差和分类的准确性。置换特征选择可以通过采用适合模型的permutation_importance()函数、数据集(训练或测试数据集很好)和评分函数来使用。

代码语言:javascript
复制
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()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70467781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档