Tôi đã tính toán mô hình bằng cách sử dụng OLS (hồi quy tuyến tính nhiều). Tôi chia dữ liệu của tôi để đào tạo và kiểm tra (một nửa), và sau đó tôi muốn dự đoán giá trị cho nửa thứ hai của các nhãn.Dự đoán các giá trị sử dụng mô hình OLS với mô hình thống kê
model = OLS(labels[:half], data[:half])
predictions = model.predict(data[half:])
Vấn đề là tôi nhận được và báo lỗi: File "/usr/local/lib/python2.7/dist-packages/statsmodels-0.5.0-py2.7-linux-i686.egg/ statsmodels/hồi quy/linear_model.py", dòng 281, trong dự đoán trở np.dot (exog, params) ValueError: ma trận không phải là aligned
tôi có các hình dạng mảng sau: data.shape: (426, 215) labels.shape: (426,)
Nếu tôi chuyển đầu vào thành model.predict, tôi sẽ nhận được Kết quả là, nhưng với một hình dạng của (426.213), vì vậy tôi cho rằng sai của nó cũng như (Tôi hy vọng một vector của 213 số như dự đoán nhãn):
model.predict(data[half:].T)
Bất kỳ ý tưởng làm thế nào để có được nó để làm việc?
Mặc dù đây là câu trả lời đúng cho câu hỏi LỚN CẢNH BÁO về việc ghép mô hình và tách dữ liệu. Bạn nên sử dụng 80% dữ liệu (hoặc phần lớn hơn) để đào tạo/lắp và 20% (phần còn lại) để kiểm tra/dự đoán. Chia tách dữ liệu 50:50 giống như mèo Schrodingers. Chúng tôi không tự tin rằng dữ liệu của chúng tôi đều tốt hay sai. Vì vậy, sự tự tin trong mô hình là một nơi nào đó ở giữa. Chúng tôi muốn có sự tự tin hơn trong mô hình của mình, do đó chúng tôi nên tập trung vào nhiều dữ liệu hơn để kiểm tra. – lukassos