your programing

1d 배열이 예상되었을 때 열 벡터 y가 전달되었습니다.

lovepro 2020. 10. 16. 07:55
반응형

1d 배열이 예상되었을 때 열 벡터 y가 전달되었습니다.


나는 맞게 필요 RandomForestRegressor에서 sklearn.ensemble.

forest = ensemble.RandomForestRegressor(**RF_tuned_parameters)
model = forest.fit(train_fold, train_y)
yhat = model.predict(test_fold)

이 코드는 데이터를 전처리 할 때까지 항상 작동했습니다 ( train_y). 오류 메시지는 다음과 같습니다.

DataConversionWarning : 1d 배열이 예상되었을 때 열 벡터 y가 전달되었습니다. 예를 들어 ravel ()을 사용하여 y의 모양을 (n_samples,)로 변경하십시오.

모델 = forest.fit (train_fold, train_y)

이전 train_y에는 시리즈 였지만 이제는 numpy 배열 (열 벡터)입니다. 적용 train_y.ravel()하면 행 벡터가되고 오류 메시지가 나타나지 않습니다. 예측 단계를 통해 매우 오랜 시간이 걸립니다 (실제로는 완료되지 않습니다 ...).

문서 에서이 문제를 해결하는 방법에 대한 아이디어 로 정의되어야 함을 RandomForestRegressor발견했습니다 .train_yy : array-like, shape = [n_samples] or [n_samples, n_outputs]


이 줄을 변경하십시오.

model = forest.fit(train_fold, train_y)

에:

model = forest.fit(train_fold, train_y.values.ravel())

KNN 분류기 를 훈련 시키려고 할 때도 이런 상황이 발생했습니다 . 하지만 내가 변경 한 후 경고가 사라졌다 것으로 보인다 :
knn.fit(X_train,y_train)

knn.fit(X_train, np.ravel(y_train,order='C'))

이 줄 앞에 import numpy as np.


아래 코드를 사용하십시오.

model = forest.fit(train_fold, train_y.ravel())

아래와 같이 오류로 인해 여전히 때리는 경우가 있습니까?

Unknown label type: %r" % y

이 코드를 사용하십시오.

y = train_y.ravel()
train_y = np.array(y).astype(int)
model = forest.fit(train_fold, train_y)

나는 같은 문제가 있었다. 문제는 레이블이 행 형식으로 예상되는 동안 열 형식이라는 것입니다. 사용하다np.ravel()

knn.score(training_set, np.ravel(training_labels))

이것이 해결되기를 바랍니다.


이를 수행하는 또 다른 방법은 ravel

model = forest.fit(train_fold, train_y.values.reshape(-1,))

참고 URL : https://stackoverflow.com/questions/34165731/a-column-vector-y-was-passed-when-a-1d-array-was-expected

반응형