为什么随机森林总是给出1.0的预测分数?

问题描述 投票:0回答:1

我正在尝试测试以下分类器的预测得分:

- random forest
- k neighbors
- svm
- naïve bayes

我不使用特征选择或特征缩放(根本不进行预处理)。>>

我正在使用火车测试拆分,如下所示:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3)

我测试了几个数据集(来自sklearn):

- load_iris
- load_breast_cancer
- load_wine

在这三者中,随机森林总是给出完美的预测(测试精度为1.0)。>>

我尝试创建随机样本进行分类:

make_classification(flip_y=0.3, weights = [0.65, 0.35], n_features=40, n_redundant=4, n_informative=36,n_classes=2,n_clusters_per_class=1, n_samples=50000)

再一次,随机森林对测试集(准确度1.0)给出了完美的预测。

[所有其他分类器在测试集(0.8-0.97)上表现良好,但在随机森林方面不理想(1.0)。

  • 我想念什么?
  • 随机森林真的能以完美的方式胜过所有其他分类器吗?
  • 我正在尝试测试以下分类器的预测得分:-随机森林-k邻居-svm-天真贝叶斯我不使用特征选择或特征缩放(根本不进行预处理)。 ...

machine-learning scikit-learn classification random-forest
1个回答
3
投票

关于1.0的完美准确度得分,我们必须记住,如今这3个数据集实际上都被视为玩具数据集,而对于scikit-learn的make_classification生成的人工数据来说,情况也是如此。

也就是说,RF被认为是功能强大的分类算法。甚至有一篇相对较新的论文(2014年),标题为Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?,该论文的结论是(摘自摘要,强调了原文):

© www.soinside.com 2019 - 2024. All rights reserved.