【问题标题】:Which accuracy score to use for the Mean Decrease Accuracy with the scikit RandomForestClassifier使用 scikit RandomForestClassifier 的平均降低准确度使用哪个准确度分数
【发布时间】:2015-09-29 08:49:39
【问题描述】:

我一直在运行此website 上显示的“平均降低精度”度量:

在示例中作者使用的是随机森林回归器RandomForestRegressor,但我使用的是随机森林分类器RandomForestClassifier。因此,我的问题是,我是否也应该使用r2_score 来测量准确度,或者我是否应该切换到经典准确度accuracy_score 或matthews 相关系数matthews_corrcoef?。

如果我应该切换,这里有人吗?为什么?

感谢您的帮助!


这里是来自网站的代码,以防你懒得点击:)

from sklearn.cross_validation import ShuffleSplit
from sklearn.metrics import r2_score
from collections import defaultdict

X = boston["data"]
Y = boston["target"]

rf = RandomForestRegressor()
scores = defaultdict(list)

#crossvalidate the scores on a number of different random splits of the data
for train_idx, test_idx in ShuffleSplit(len(X), 100, .3):
    X_train, X_test = X[train_idx], X[test_idx]
    Y_train, Y_test = Y[train_idx], Y[test_idx]
    r = rf.fit(X_train, Y_train)
    acc = r2_score(Y_test, rf.predict(X_test))
    for i in range(X.shape[1]):
        X_t = X_test.copy()
        np.random.shuffle(X_t[:, i])
        shuff_acc = r2_score(Y_test, rf.predict(X_t))
        scores[names[i]].append((acc-shuff_acc)/acc)
print "Features sorted by their score:"
print sorted([(round(np.mean(score), 4), feat) for
              feat, score in scores.items()], reverse=True)

【问题讨论】:

    标签: python machine-learning statistics scikit-learn classification


    【解决方案1】:

    r2_score 用于回归(连续响应变量),而经典分类(离散分类变量)指标,例如 accuracy_scoref1_score roc_auc(如果您有不平衡的 y 标签,则最后两个最合适) 是您任务的正确选择。

    随机打乱输入数据矩阵中的每个特征并测量这些分类指标的下降听起来像是对特征重要性进行排名的有效方法。

    【讨论】:

    • 嗨@Jianxun Li,感谢您的解释。所以你不会推荐MCC?如果您谈论不平衡的 y 标签,则意味着正确分类的情况分布不均。我也不确定,为什么以这种(标准化)方式计算:(acc-shuff_acc)/acc 而不仅仅是acc-shuff_acc。你知道优势是什么吗?
    • @dmeu 抱歉,我忘记在帖子中包含MCC。我认为它与从混淆矩阵派生的其他分类指标一样好。
    • 感谢@Jianxun Li!您对第一条评论中的后续问题有什么想法吗?
    • @dmeu 对于这个特定的模型,只使用非标准化的精度下降看起来是可以的。如果您想跨不同数据集比较不同模型中的特征重要性,规范化可能至关重要。
    • 啊,好吧,这是有道理的 - 是的,一旦我想开始比较,我就必须使用归一化平均下降。
    猜你喜欢
    • 1970-01-01
    • 2020-12-01
    • 2016-10-11
    • 2018-05-15
    • 2021-07-22
    • 2023-03-12
    • 2019-04-27
    • 2021-08-18
    • 2017-02-07
    相关资源
    最近更新 更多