[英]ValueError: Unknown label type: 'unknown' in RandomForestClassifier
[英]ValueError: Unknown label type: 'unknown'
我嘗試運行以下代碼。 順便說一句,我對 python 和 sklearn 都是新手。
import pandas as pd
import numpy as np
from sklearn.linear_model import LogisticRegression
# data import and preparation
trainData = pd.read_csv('train.csv')
train = trainData.values
testData = pd.read_csv('test.csv')
test = testData.values
X = np.c_[train[:, 0], train[:, 2], train[:, 6:7], train[:, 9]]
X = np.nan_to_num(X)
y = train[:, 1]
Xtest = np.c_[test[:, 0:1], test[:, 5:6], test[:, 8]]
Xtest = np.nan_to_num(Xtest)
# model
lr = LogisticRegression()
lr.fit(X, y)
其中 y 是 0 和 1 的 np.ndarray
我收到以下信息:
文件“C:\Anaconda3\lib\site-packages\sklearn\linear_model\logistic.py”,行 >1174,適合 check_classification_targets(y)
文件“C:\Anaconda3\lib\site-packages\sklearn\utils\multiclass.py”,第 172 行,>in check_classification_targets raise ValueError("Unknown label type: %r" % y_type)
ValueError:未知標簽類型:“未知”
來自 sklearn 文檔: http ://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression.fit
y:類數組,形狀(n_samples,)目標值(分類中的類標簽,回歸中的實數)
我的錯誤是什么?
更新:
y 是數組([0.0, 1.0, 1.0, ..., 0.0, 1.0, 0.0], dtype=object) 大小是 (891,)
您的y
屬於object
類型,因此 sklearn 無法識別其類型。 在y = train[:, 1]
行之后添加y=y.astype('int')
行。
添加到 Miriam ,我也得到了類似的錯誤,但在我的情況下, y_pred 的各個元素的類型為'np.int32'
而 y 的各個元素的類型為'int'
。 我通過這樣做解決了它:
for i,x in enumerate(y_pred):
y_pred[i]=x.astype('int')
y = list(train[:, 1]) 為我工作。
我也遇到了類似的錯誤。 我發現我的目標是非整數類型。 將我的目標變量轉換為整數類型后。 砰,錯誤已解決
y = train_data['Y'].astype('int')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.