首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果我们使用4标签分类,我们如何计算随机森林分类器的准确性?

如果我们使用4标签分类,我们如何计算随机森林分类器的准确性?
EN

Stack Overflow用户
提问于 2019-11-15 18:20:52
回答 1查看 2.1K关注 0票数 1

我正在尝试预测过去十年来销售的产品的质量属性。基于喜欢/不喜欢,我保留了产品标签的4个标签:差,好,非常好,非常坏

我已经下载了过去十年的数据,并对这4个标签中的样本进行了分类。当我将输入放入随机森林分类器时,它给出了有效的结果并赋予了特征重要性:

下面是相同的代码:

代码语言:javascript
复制
classifier = RandomForestClassifier(
        n_estimators=100, n_jobs=6, oob_score=True, random_state=50,
        max_features="auto", min_samples_leaf=50
    )
    '''

    classifier = RandomForestClassifier(
        n_estimators=100, n_jobs=6, oob_score=True, random_state=50#, max_depth=3
    )

我只想知道,我们如何计算模型的精度,因为它有4个标签。

EN

回答 1

Stack Overflow用户

发布于 2019-11-15 18:45:35

有几个精度可以检查以评估模型质量;第一个是总体模型精度(正确的模型有多少)。要做到这一点,您可以简单地使用sklearn accuracy score

代码语言:javascript
复制
from sklearn.metrics import accuracy_score
accuracy_score(y_true, y_pred)

当然,这并没有给你足够的信息关于哪个类被错误分类以及被分类到什么(例如,将非常好的分类为好的而不是坏的可能更容易接受)。为此,您需要一个confusion matrix

代码语言:javascript
复制
from sklearn.metrics import confusion_matrix
confusion_matrix(y_true, y_pred)

您可能还希望查看召回率和精确度,因为它们将有助于理解矩阵并对其进行量化。由于您的标签是排名的,您还可以做的是将它们转换为int值,并使用回归而不是分类来解决问题(然后将输出转换回int )。通过这种方式,模型将理解顺序,因此您将获得顺序分类。

编辑:

以防答案不清楚,您可以通过以下方式获取y_pred

代码语言:javascript
复制
classifier.fit(x_train, y_train)
y_pred = classifier.predict(x_val)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58874911

复制
相关文章

相似问题

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