তত্ত্ব
পলিনোমিয়াল রিগ্রেশন লিনিয়ার রিগ্রেশন এর একটি বিশেষ কেস। আপনি কীভাবে আপনার বৈশিষ্ট্যগুলি নির্বাচন করবেন তার মূল ধারণা সহ। 2 ভেরিয়েবলের সাথে মাল্টিভারিয়েট রিগ্রেশনটির দিকে তাকানো: x1
এবং x2
। লিনিয়ার রিগ্রেশন এর মতো দেখতে পাবেন:y = a1 * x1 + a2 * x2.
এখন আপনি একটি বহুবর্ষীয় রিগ্রেশন পেতে চান (আসুন 2 ডিগ্রি বহুবচন তৈরি করুন)। আমরা কিছু অতিরিক্ত বৈশিষ্ট্য তৈরি করবে: x1*x2
, x1^2
এবং x2^2
। সুতরাং আমরা আপনার 'লিনিয়ার রিগ্রেশন' পেয়ে যাব:
y = a1 * x1 + a2 * x2 + a3 * x1*x2 + a4 * x1^2 + a5 * x2^2
এটি চমত্কারভাবে মাত্রিকতার একটি গুরুত্বপূর্ণ ধারণা অভিশাপ দেখায় , কারণ নতুন বৈশিষ্ট্যের সংখ্যা বহুবর্ষের ডিগ্রির বৃদ্ধির সাথে রৈখিক চেয়ে অনেক দ্রুত বৃদ্ধি পায়। আপনি এই ধারণাটি সম্পর্কে এখানে একবার দেখে নিতে পারেন ।
সাইকিট-শিখার সাথে অনুশীলন করুন
আপনার এটিকে সাইকিট করার দরকার নেই। পলিনোমিয়াল রিগ্রেশন ইতিমধ্যে সেখানে উপলব্ধ ( 0.15 সংস্করণে here এটি কীভাবে আপডেট করবেন তা পরীক্ষা করুন )।
from sklearn.preprocessing import PolynomialFeatures
from sklearn import linear_model
X = [[0.44, 0.68], [0.99, 0.23]]
vector = [109.85, 155.72]
predict= [[0.49, 0.18]]
#Edit: added second square bracket above to fix the ValueError problem
poly = PolynomialFeatures(degree=2)
X_ = poly.fit_transform(X)
predict_ = poly.fit_transform(predict)
clf = linear_model.LinearRegression()
clf.fit(X_, vector)
print clf.predict(predict_)