2017-07-27 29 views
3

次のコードを実行しようとしています。 Btw、私はPythonとSklearnの両方に新しいです。ValueError:不明なラベルの種類: '不明'

File "C:\Anaconda3\lib\site-packages\sklearn\linear_model\logistic.py", line >1174, in fit check_classification_targets(y)

File "C:\Anaconda3\lib\site-packages\sklearn\utils\multiclass.py", line 172, >in check_classification_targets raise ValueError("Unknown label type: %r" % y_type)

ValueError: Unknown label type: 'unknown'

sklearnドキュメントから:http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression.fit

Y:アレイ状の形状をyは0のnp.ndarrayであり、1の

Iは、以下を受け取る

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) 

(n_samples、) 目標値(分類のクラスラベル、回帰の実数)

私のエラーは?

UPD:

Yは配列([0.0、1.0、1.0、...、0.0、1.0、0.0]、DTYPE =オブジェクト)のサイズである(891)

+0

データの垣間見ることを提供し、輸入してください。なぜnumpyを使用するのですか、データフレームの列を名前で選択するだけです。 Btw、なぜテストファイルが列車ファイルと異なる構造を持っていますか?これは奇妙です。 – Quickbeam2k1

+0

このエラーは、 'scikit-learn'が解決したい問題のタイプ(' y'データを見て、バイナリ、マルチクラス、連続などを返します)を特定できない場合に発生します。あなたのyで?ここに投稿するか、@ Quickbeam2k1が言ったように、完全なデータのサンプルが投稿されれば、より役に立ちます。 –

答えて

10

あるあなたyがですobjectと入力すると、sklearnはそのタイプを認識できません。行y = train[:, 1]の直後にy=y.astype('int')行を追加します。

+0

ありがとう、ミリアム! –

+0

あなたは大歓迎です:) –

関連する問題