【问题标题】:Feature Importance with SVRSVR 的特征重要性
【发布时间】:2022-07-17 16:15:03
【问题描述】:

我想用 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())

【问题讨论】:

    标签: feature-selection


    【解决方案1】:

    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()
    

    【讨论】:

      猜你喜欢
      • 2018-12-14
      • 2021-12-23
      • 2021-02-03
      • 2016-11-07
      • 1970-01-01
      • 2020-12-22
      • 2019-02-28
      • 1970-01-01
      • 2017-11-14
      相关资源
      最近更新 更多