未知标签类型:'连续',“未知标签类型:%r”%

时间:2021-01-10 08:15:58

标签: python

abalone.head()

enter image description here

X = abalone.iloc[:, [2,7]].values
y = abalone.iloc[:,-1].values

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(X_train)

X_train = scaler.transform(X_train)
X_test = scaler.transform(X_test)

from sklearn.neighbors import KNeighborsClassifier
classifier = KNeighborsClassifier(n_neighbors=5)
classifier.fit(X_train, y_train)

enter image description here

我该怎么办?帮帮我!

1 个答案:

答案 0 :(得分:0)

您将 floats 传递给期望分类值作为目标向量的分类器。如果您将其转换为 int,它将被接受为输入。

您可以简单地使用 y=y.astype('int')

最好使用 scikit 的 labelEncoder 函数转换您的训练分数。

同样适用于您的 DecisionTree 和 KNeighbors 限定符。

>>> from sklearn import preprocessing
>>> from sklearn import utils

>>> enc = preprocessing.LabelEncoder()
>>> encoded = enc.fit_transform(trainingScores)
array([1, 3, 2, 0], dtype=int64)

>>> print(utils.multiclass.type_of_target(trainingScores))
continuous

>>> print(utils.multiclass.type_of_target(trainingScores.astype('int')))
multiclass

>>> print(utils.multiclass.type_of_target(encoded))
multiclass