আমি মাপসই প্রয়োজন RandomForestRegressorথেকে sklearn.ensemble।
forest = ensemble.RandomForestRegressor(**RF_tuned_parameters)
model = forest.fit(train_fold, train_y)
yhat = model.predict(test_fold)
এই কোডটি সর্বদা কাজ করে যতক্ষণ না আমি কিছু ডেটা প্রিপ্রোসেসিং করি ( train_y)। ত্রুটি বার্তাটি বলে:
ডেটা কনভার্সন ওয়ার্নিং: যখন 1 ডি অ্যারে প্রত্যাশিত ছিল তখন একটি কলাম-ভেক্টর ওয়াই পাস হয়েছিল। দয়া করে y এর আকারটি (n_sample,) এ পরিবর্তন করুন, উদাহরণস্বরূপ রেভেল () ব্যবহার করে।
মডেল = ফরেস্ট.ফিট (ট্রেন_ফোল্ড, ট্রেন_ই)
পূর্বে train_y একটি সিরিজ ছিল, এখন এটি অসাধারণ অ্যারে (এটি একটি কলাম-ভেক্টর)। যদি আমি আবেদন করি train_y.ravel(), তবে এটি একটি সারি ভেক্টর হয়ে যায় এবং কোনও ত্রুটি বার্তা উপস্থিত হয় না, ভবিষ্যদ্বাণীমূলক পদক্ষেপের মাধ্যমে খুব দীর্ঘ সময় লাগে (আসলে এটি কখনই শেষ হয় না ...)।
RandomForestRegressorআমার দস্তাবেজগুলিতে এটি পাওয়া গেল যে
এই সমস্যাটিকে কীভাবে সমাধান করবেন কোনও ধারণা train_yহিসাবে সংজ্ঞায়িত করা উচিত y : array-like, shape = [n_samples] or [n_samples, n_outputs]?
train_yপ্রক্রিয়াটি দুর্নীতিগ্রস্থ না করে তা নিশ্চিত করার জন্য আপনার ডেটার সামগ্রীগুলি পরীক্ষা করেছেন ?
RF_tuned_parametersআমাদের জন্য মুদ্রণ করুন।
train_fold.shapeএবংtrain_y.shape?