0

에 의해 홍채 데이터에서 테스트 세트 : 홍채 데이터 세트에 train_test_split을 예측하기위한 SVM을 사용하지만 사용하는 경우 다음과 같이 "적합"을 :오류 - sklearn.train_test_split() 나는 간단한 명령을 사용하려고 해요

dat_iris = datasets.load_iris() 
x1 = dat_iris.data[:,2] 
y1 = dat_iris.target 
x_train,y_train,x_test,y_test = train_test_split(x1, y1, test_size = 0.3, 
random_state=0) 
svm_model = SVC(kernel='linear',C=1.0, random_state=0) 
svm_model.fit(x_train,y_train) 
y_pred = svm_model.predict(x_train) 
하지만 다음과 같은 오류가 나타납니다

ValueError        Traceback (most recent call last) 
<ipython-input-245-120527f222b3> in <module>() 
     7 
     8 svm_model = SVC(kernel='linear',C=1.0, random_state=0) 
----> 9 svm_model.fit(x_train,y_train) 
    10 y_pred = svm_model.predict(x_train) 
    11 metrics.classification_report(y_pred, y_train) 

~/anaconda3/lib/python3.6/site-packages/sklearn/svm/base.py in fit(self, X, y, sample_weight) 
    147   self._sparse = sparse and not callable(self.kernel) 
    148 
--> 149   X, y = check_X_y(X, y, dtype=np.float64, order='C', accept_sparse='csr') 
    150   y = self._validate_targets(y) 
    151 

~/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py in check_X_y(X, y, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, multi_output, ensure_min_samples, ensure_min_features, y_numeric, warn_on_dtype, estimator) 
    550   y = y.astype(np.float64) 
    551 
--> 552  check_consistent_length(X, y) 
    553 
    554  return X, y 

~/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py in check_consistent_length(*arrays) 
    171  if len(uniques) > 1: 
    172   raise ValueError("Found input variables with inconsistent numbers of" 
--> 173       " samples: %r" % [int(l) for l in lengths]) 
    174 
    175 

ValueError: Found input variables with inconsistent numbers of samples: [105, 45] 

이 때문에 대상 또는 입력의 크기가 발생할 수 있습니다,이 문제를 어떻게 해결할 수 있습니까?

답변

1

반환 인수의 순서를 혼합했습니다. 다음과 같아야합니다.

X_train, X_test, y_train, y_test = train_test_split(x1, y1, test_size = 0.3, 
random_state=0) 
+0

대단히 감사합니다!, 감사합니다. –