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

2024-10-05 17:46:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我想预测一下过去十年销售的产品的质量属性。 根据喜欢/不喜欢的产品,我保留了4个标签 标签是:坏,好,非常好,非常坏

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

以下是相同的代码:

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个标签。你知道吗


Tags: 数据true属性产品jobs质量random标签
1条回答
网友
1楼 · 发布于 2024-10-05 17:46:45

您可以检查一些精度来评估模型质量;第一个是总体模型精度(它正确了多少)。为此,您可以简单地使用sklearnaccuracy score

from sklearn.metrics import accuracy_score
accuracy_score(y_true, y_pred)

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

from sklearn.metrics import confusion_matrix
confusion_matrix(y_true, y_pred)

你可能还想研究回忆和精确性,因为它们有助于理解矩阵并对其进行量化。 由于标签是排序的,所以您还可以将它们转换为int值,并使用回归而不是分类来解决问题(然后将输出转换回int)。这样模型就可以理解顺序,从而得到有序分类。你知道吗

编辑:

如果答案不清楚,可以通过以下方式获得y_pred

classifier.fit(x_train, y_train)
y_pred = classifier.predict(x_val)

相关问题 更多 >