Я пытался использовать дополнительные дерева классификатора этого набора данных, и по какой-то причине вValueError: Неизвестный тип метки: Массив ([0,11], ...), делая лишних дерева модели
model.fit(trainx,trainy)
часть, это бросает меня
ValueError: Unknown label type: array([[ 0.11],
[ 0.12],
[ 0.64],
[ 0.83],
[ 0.33],
[ 0.72],
[ 0.49],
ошибка. Массив ([0,11] мои данные trainy. Я искал переполнение стека и, видимо, из-за его sklearn не распознает тип данных, но ив попробовал все от
trainy = np.asarray(trainy,dtype=float)
trainy=trainy.astype(float)
и он не работает, даже если тип (trainy) показывает, что его numpy.ndarray Может кто-нибудь мне точку в правильном направлении здесь
Вот код:.?
import pandas as pd
import numpy as np
from sklearn.preprocessing import LabelEncoder
from sklearn import metrics
from sklearn.ensemble import ExtraTreesClassifier
from sklearn import cross_validation
def preProcess():
df= pd.read_csv('C:/Users/X/Desktop/Managerial_and_Decision_Economics_2013_Video_Games_Dataset.csv',encoding ='ISO-8859-1')
#drop non EA
df = df[df['EA'] ==1]
#change categorical variables
le = LabelEncoder()
nonnumeric_columns=['Console','Title','Publisher','Genre']
for feature in nonnumeric_columns:
df[feature] = le.fit_transform(df[feature])
#set dataset and target variables
dataset =df.ix[:, df.columns != 'US Sales (millions)']
target = df['US Sales (millions)']
trainx, testx, trainy, testy = cross_validation.train_test_split(
dataset, target, test_size=0.3, random_state=0)
#attempt to fix error?
trainx=np.array(trainx)
trainy = np.asarray(trainy, dtype="float")
return trainx,testx,trainy,testy
def classifier():
model = ExtraTreesClassifier(n_estimators=250,
random_state=0)
model.fit(trainx,trainy)
return model.score(testx,testy)
trainx,testx,trainy,testy=preProcess()
Я использую scikit учиться 0.17 на питона 3,5
Вы абсолютно правы, как же я сделать такую основную ошибку. Спасибо огромное! :) – Wboy