我是这里的初学者,我正在用我的生命去理解flow帖子上的另一个堆栈,它有和我一样的问题。Logistic Regression:Unknown label type: 'continuous'
下面是我的机器学习代码,shell的输出是ValueError:未知标签类型:'continuous‘
我想我明白我是在“将浮点数传递给一个分类器,该分类器期望分类器将分类值作为目标向量。如果你将它转换为整数,它将被接受为输入(尽管这是否是正确的方法将受到质疑)。最好使用scikit的labelEncoder函数来转换你的训练分数”。
有人能给我一个关于如何将scikit的labelEncoder函数整合到我的代码中的提示吗?这是在声明分类器X& y之前实现的吗?无论我在做什么,我都做错了什么。谢谢
import numpy as np
from sklearn import preprocessing, cross_validation, neighbors, utils
import pandas as pd
df = pd.read_csv('C:\\Users\\bbartling\\Documents\\Python\\WB
Data\\WB_RTU6data.csv', index_col='Date', parse_dates=True)
print(df.head())
print(df.tail())
print(df.shape)
print(df.columns)
print(df.info())
print(df.describe())
X = np.array(df.drop(['VAV6znt'],1))
df.dropna(inplace=True)
y = np.array(df['VAV6znt'])
accuracies = []
X_train, X_test, y_train, y_test =
cross_validation.train_test_split(X,y,test_size=0.50)
clf = neighbors.KNeighborsClassifier(n_neighbors=50)
clf.fit(X_train, y_train)
accuracy = clf.score(X_test, y_test)
print(accuracy)


发布于 2017-09-06 23:14:11
因为您的VAV6znt列是一个浮点型的,这意味着您正在尝试从数据中估计一个数值。这使得它成为一个回归问题,而您使用的是KNeighborsClassifier,这是一个分类估计器。
尝试使用KNeighborsRegressor或任何其他名称中包含Regressor的估计器。
像上面那样将它们转换为int是可行的,但不会得到好的结果,因为这意味着您的数据中有那么多类,因为它们是唯一的int,这显然是错误的。
https://stackoverflow.com/questions/46076858
复制相似问题