Tôi cần phải phù hợp với RandomForestRegressor
từ sklearn.ensemble
.
forest = ensemble.RandomForestRegressor(**RF_tuned_parameters)
model = forest.fit(train_fold, train_y)
yhat = model.predict(test_fold)
Mã này luôn hoạt động cho đến khi tôi thực hiện một số xử lý trước dữ liệu ( train_y
). Thông báo lỗi cho biết:
DataConversionWarning: Một vectơ cột y được chuyển khi một mảng 1d được mong đợi. Vui lòng thay đổi hình dạng của y thành (n_samples,), ví dụ như sử dụng ravel ().
model = Forest.fit (train_fold, train_y)
Trước đây train_y
là một Chuỗi, bây giờ là mảng numpy (nó là một vectơ cột). Nếu tôi áp dụng train_y.ravel()
, thì nó sẽ trở thành một vector hàng và không có thông báo lỗi nào xuất hiện, qua bước dự đoán mất rất nhiều thời gian (thực sự là nó không bao giờ kết thúc ...).
Trong tài liệu của RandomForestRegressor
tôi thấy rằng train_y
nên được định nghĩa là y : array-like, shape = [n_samples] or [n_samples, n_outputs]
Bất kỳ ý tưởng làm thế nào để giải quyết vấn đề này?
train_y
dữ liệu của mình để đảm bảo việc xử lý trước không làm hỏng nó chưa?
RF_tuned_parameters
cho chúng tôi.
train_fold.shape
và làtrain_y.shape
gì?