【问题标题】:How to calculate the accuracy between train and test data of random forest in python如何在python中计算随机森林的训练和测试数据之间的准确性
【发布时间】:2021-01-01 12:37:27
【问题描述】:

我已经建立了一个随机森林模型,并用它来预测我的训练和测试数据,这些数据来自两个不同的数据框。

我想计算模型的准确率,但它不起作用,因为我的训练数据有 76 行,而我的测试数据只有 52 行。

如何在 python 中实现?

到目前为止,我所做的是尝试使用以下方法打印准确性:

print("Accuracy:", metrics.accuracy_score(y_pred_test, y_pred_train))

它给了我以下错误:

发现样本数量不一致的输入变量:[52, 76]

【问题讨论】:

    标签: python pandas random-forest


    【解决方案1】:

    metrics.accuracy_score() 函数状态的 sklearn 文档

    准确度分类得分。 在多标签分类中,此函数计算子集准确度:为样本预测的标签集必须与 y_true 中对应的标签集完全匹配。

    所以这个函数应该严格在y_true == y_pred的形状时使用。

    改为,您可以使用model.score() 方法。您将不得不使用该功能两次,一次用于测试,一次用于训练组。例如:

    from sklearn.ensemble import RandomForestClassifier
    rf_classifier = RandomForestClassifier(n_estimators=200)
    rf.fit(X_train, y_train)
    print(f'Final Training Accuracy: {rf.score(X_train,y_train)*100}%')
    print(f'Model Accuracy: {rf.score(X_test,y_test)*100}%')
    

    【讨论】:

      猜你喜欢
      • 2017-10-13
      • 2020-10-31
      • 2018-07-31
      • 2019-08-12
      • 2019-03-23
      • 2021-07-10
      • 2017-01-22
      • 2017-11-21
      • 2021-10-10
      相关资源
      最近更新 更多