Python ValueError:未知标签类型:“连续”
Posted
技术标签:
【中文标题】Python ValueError:未知标签类型:“连续”【英文标题】:Python ValueError: Unknown label type: 'continuous' 【发布时间】:2018-02-15 00:59:44 【问题描述】:我是这里的初学者,我一生都在努力理解另一个与我有相同问题的堆栈溢出帖子。 Logistic Regression:Unknown label type: 'continuous'
这是我下面的机器学习代码,shell 输出给我 ValueError: Unknown label type: 'continuous'
我想我理解我正在“将浮点数传递给一个分类器,该分类器期望分类值作为目标向量。如果将其转换为 int,它将被接受为输入(尽管这是否是正确的做法值得怀疑)它)。最好使用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)
【问题讨论】:
【参考方案1】:由于您的 VAV6znt
列是一个浮点数,这意味着您正在尝试从数据中估计一个数值。这使它成为一个回归问题,您正在使用KNeighborsClassifier
,它是一个分类估计器。
尝试使用KNeighborsRegressor 或任何其他名称中包含 Regressor 的估算器。
像上面那样将它们转换为 int 会起作用,但不会产生好的结果,因为这意味着你的数据中有很多类,因为它们是唯一的 int,这显然是错误的。
【讨论】:
感谢您的回复,您能告诉我我在代码中的哪个位置转换为整数吗?我不太明白,我想尽可能避免这种情况......我感觉我所有的工作都将是这种“浮动”类型的数据。非常感谢任何帮助我也在努力寻找从所有 Sci 工具包中学习“回归器”类型的估计器 @HenryHub 您在关于“如果将其转换为 int 它将被接受为输入”的问题中说。无论如何,您应该首先了解分类和回归任务。无论如何,请在此页面上搜索 Regressor:scikit-learn.org/stable/modules/classes.html#api-reference 效果很好,感谢您的提示。我必须在分类和回归任务之间做一些研究..以上是关于Python ValueError:未知标签类型:“连续”的主要内容,如果未能解决你的问题,请参考以下文章
ValueError:未知标签类型:RandomForestClassifier 中的“未知”
ValueError:未知标签类型:DecisionTreeClassifier() 中的“连续”