0

데이터 샘플은 750x256입니다.데이터 세트 분할 방법 - 레이블 수 = 150은 샘플 수와 일치하지 않습니다. = 600

Rows = 750 
Columns = 256 

데이터를 20 %로 분할하면. 나는 X_train 600 개의 샘플과 y_train 150 개의 샘플을 가질 것이다. decisionTreeRegressor

을 할 때

는 그 다음 문제는 Number of y_train=150 does not match number of samples=600

을 말할 것이다 accure 것입니다하지만 50 %로 내 test_size을 분할하는 경우, 그것은 작동합니다. 이 문제를 해결할 방법이 있습니까? 나는 내 test_size의 50 %를 사용하고 싶지 않습니다.

도움이 될 것입니다. 잘못된 순서로

import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 
import graphviz 

#Load the data 
dataset = pd.read_csv('new_york.csv') 
dataset['Higher'] = dataset['2016-12'].gt(dataset['2016-11']).astype(int) 
X = dataset.iloc[:, 6:254].values 
y = dataset.iloc[:, 255].values 

#Taking care of missing data 
from sklearn.preprocessing import Imputer 
imputer = Imputer(missing_values = 'NaN', strategy = 'mean', axis = 0) 
imputer = imputer.fit(X[:, :248]) 
X[:, :248] = imputer.transform(X[:, :248]) 

#Split the data into train and test sets 
from sklearn.cross_validation import train_test_split 
X_train, X_test, y_test, y_train = train_test_split(X, y, test_size = .2, random_state = 0) 

#let's build our first model 
from sklearn.tree import DecisionTreeRegressor, DecisionTreeClassifier, export_graphviz 
clf = DecisionTreeClassifier(max_depth=6) 
clf.fit(X_train, y_train) 
clf.score(X_train, y_train) 

답변

1

train_test_split() 반환 X_train, X_test, y_train, y_test, 당신은 y_train하고 y_test :

여기 내 코드입니다.

분할 수가 50 % 인 경우 y_train과 y_test의 크기가 같기 때문에 오류가 발생하지 않습니다 (잘못된 값은 분명히 있습니다).

+0

감사합니다 !!!, 그 트릭을 않습니다. – SolowDev