【问题标题】:Get 100% accuracy score on Decision tree model在决策树模型上获得 100% 的准确率
【发布时间】:2023-01-01 04:55:44
【问题描述】:

我使用决策树算法在决策树上获得了 100% 的准确率,但在随机森林上仅获得了 75% 的准确率

我的模型有问题还是决策树最适合所提供的数据集?

import pandas as pd
import numpy as np

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test =  train_test_split(X,y,test_size = 0.3, random_state= 30)

from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)

from sklearn.tree import DecisionTreeClassifier
classifier = DecisionTreeClassifier()
classifier = classifier.fit(X_train,y_train)

y_pred = classifier.predict(X_test)


from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test,y_pred)
print(cm)

【问题讨论】:

  • 决策树会过度拟合,而随机森林不会

标签: machine-learning decision-tree sklearn-pandas


【解决方案1】:

乍一看,您的模型可能看起来过度拟合,但事实并非如此,因为您已将测试放在一边。

原因是数据泄露.随机森林,随机排除每棵树的一些特征。现在假设您将标签作为特征:在某些树中,标签被排除在外并且准确性降低,而在决策三中,标签始终在特征中并完美地预测结果。

如果是这种情况,您如何找到? 使用决策三的可视化,如果我的猜测是正确的,你会发现有几个决策节点。您还可以可视化标签与每个特征之间的相关性,并检查是否存在完美相关性。

【讨论】:

    猜你喜欢
    • 2021-03-06
    • 2017-05-31
    • 2020-10-23
    • 2021-10-16
    • 2018-08-26
    • 1970-01-01
    • 2018-08-18
    • 2018-07-19
    • 2019-11-22
    相关资源
    最近更新 更多