저는 기계 학습 알고리즘 (즉 scikit-learn RandomForestClassifier 클래스)을 사용하여 일부 데이터를 분류하는 프로젝트를 진행 중입니다. 나는 이미 RandomForestClassifier.fit()
훈련 데이터를 맞추는 데 사용 했으며 이제는 데이터를 예측하는 데 사용하려고합니다.
내 문제는 RandomForestClassifier.predict()
예측을 위해 어떤 유형의 데이터를 내 방법 으로 전달해야할지 잘 모르겠다는 것 입니다. 나는 이미 predict()
테스트 세트를 사용하여 예측 하는 방법을 사용했지만 더 일반적인 사용 문제에 대해 훈련 된 알고리즘을 적용하는 방법을 알아보기 위해 고심하고 있습니다.
즉, 내 주요 문제는 내 데이터 프레임의 단일 행에 대한 예측을 시도하고 있다는 것입니다. 알고리즘을 훈련시키는 데 사용한 데이터 프레임에서 단일 행을 찾아 단일 예측을 수행합니다. 이것은 내가 사용한 코드의 여러 변형 중 하나입니다.
Xnew = productMarketResearch.loc[50]
Xnew = np.array(Xnew.values.tolist())
Xnew = sc.transform(Xnew)
ynew = rfc.predict(Xnew)
내가 시도하는 모든 것은 동일한 오류를 발생시킵니다.
ValueError: Expected 2D array, got 1D array instead:
array=[3.63360000e+04 1.55639455e+12 0.00000000e+00].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
이것을 2D 배열로 변환하는 다른 방법 중에서 array.reshape를 사용해 보았지만 아무것도 작동하지 않았습니다. 이 문제에 대한 해결책 predict()
과 데이터 프레임과 함께 방법 을 사용하기위한 일반적인 조언이 있습니까?
대부분의 sklearn 모델에는 2D 배열이 필요합니다. 시험:
# difference here
Xnew = productMarketResearch.loc[[50]]
# usually you don't need this
# Xnew = np.array(Xnew.values.tolist())
Xnew = sc.transform(Xnew)
ynew = rfc.predict(Xnew)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다