我正在尝试创建一个决策树,下面是我的代码:
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'
首先你必须明确你要解决的是哪种类型的机器学习问题:
- 分类:你试图预测一个类(例如:很好,正常的,坏的)
- 连续/回归量:你试图预测一个连续的值(例如:房价)
那么,你的y=updated['Encounters']
是什么,分类的还是连续的?
我将假设(观察错误)您想要的输出是连续的。所以你在处理回归问题。在你的随机森林中,你使用了模型:RandomForestRegressor()
,所以,顾名思义,它是一个用于回归的随机森林,所以它会起作用。
但是,当您尝试决策树时,您应用了下一个模型:decisiontreecclassifier()。正如您所看到的,现在您正在实现一个Classifier模型,它不适合您的问题。要解决它,使用下一个代码代替DecisionTreeClassifier()
:
clf = tree.DecisionTreeRegressor()