【问题标题】:ValueError: Unknown label type: 'continuous' using DT with RFValueError:未知标签类型:“连续”使用 DT 和 RF
【发布时间】:2021-06-05 22:45:26
【问题描述】:

我正在尝试创建一个决策树,下面是我的代码:

X=updated[['dayofthemonth','hour']]
y=updated['Encounters']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=80, shuffle=True)
gpc = RandomForestRegressor(random_state=0).fit(X_train, y_train)
pre=gpc.predict(X_test)
gpc.score(X_test, y_test)
pre

我也在尝试用它创建一个决策树,所以我更新了代码如下:

X=updated[['dayofthemonth','hour']]
y=updated['Encounters']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=80, shuffle=True)
gpc = RandomForestRegressor(random_state=0).fit(X_train, y_train)
pre=gpc.predict(X_test)
gpc.score(X_test, y_test)
pre
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, y)

但仍然出现以下错误:

ValueError: Unknown label type: 'continuous'

【问题讨论】:

    标签: python scikit-learn random-forest decision-tree


    【解决方案1】:

    首先,您必须明确您要解决哪种类型的机器学习问题:

    • 分类:您正在尝试预测一个类别(例如:好、 正常,不好)
    • Continuous/Regressor:您试图预测一个连续值(例如: 房价)

    那么,你的y=updated['Encounters'] 是什么,是分类的还是连续的?

    我会假设(观察错误)你想要的输出是连续的。所以你正在处理回归器问题。在你的随机森林中,你使用了模型:RandomForestRegressor(),所以,顾名思义,它是一个用于回归的随机森林,所以它会起作用。

    但是,当您尝试决策树时,您应用了下一个模型:DecisionTreeClassifier()。如您所见,现在您正在实现一个分类器模型,它不适合您的问题。要解决它,请使用下一个代码而不是 DecisionTreeClassifier():

    clf = tree.DecisionTreeRegressor()
    

    【讨论】:

      猜你喜欢
      • 2017-08-29
      • 2018-12-10
      • 2018-02-15
      • 2021-07-17
      • 2020-05-11
      • 2018-07-22
      • 2021-04-04
      • 2018-12-05
      • 2019-02-27
      相关资源
      最近更新 更多