OLS (multiple linear regression)를 사용하여 모델을 계산했습니다. 나는 훈련하고 테스트하기 위해 데이터를 나눈 다음 (절반 씩) 레이블의 두 번째 절반에 대한 값을 예측하고 싶습니다. 파일 "/usr/local/lib/python2.7/dist-packages/statsmodels-0.5.0-py2.7-linux-i686.egg/ :통계 모델을 사용하여 OLS 모델을 사용하여 값 예측
model = OLS(labels[:half], data[:half])
predictions = model.predict(data[half:])
문제는 내가 얻을 오류이다 statsmodels/회귀/linear_model.py ", 라인 281, 반환 np.dot (exog, PARAMS)을 예측에 에 ValueError : 행렬
을 정렬되지 않은 I가 다음과 같은 배열 모양 : data.shape : (426, 215) labels.shape : (426,)
입력을 model.predict로 바꾸면 얻을 수 있습니다. 결과 만 (426,213)의 모양, 그래서 나뿐만 아니라 (내가 레이블 예측으로 213 개 번호 중 하나 개 벡터 예상)의 잘못을한다고 가정
model.predict(data[half:].T)
가 작동하도록하는 방법을 어떤 생각을? statsmodels> = 0.4의 경우
모델 피팅 및 데이터 분할에 관한 질문 BIG WARNING에 대한 정답입니다. 테스트/예측을 위해서는 교육/맞춤에 80 % (또는 그 이상), 나머지는 20 %를 사용해야합니다. 데이터를 50:50으로 나누는 것은 Schrodingers cat과 같습니다. 우리는 데이터가 모두 좋거나 잘못되었음을 확신하지 못합니다. 따라서 모델의 신뢰도는 중간에 있습니다. 모델에 대한 신뢰를 높이기 위해 더 많은 데이터를 준비해야합니다. – lukassos