رگرسیون چندمتغیره (Multiple Regression)
رگرسیون چندمتغیره یعنی پیش بینی با چند متغیر (Variable) ورودی. مثل پیش بینی CO2 با وزن و حجم موتور. هر ورودی مستقل است و روی خروجی اثر می گذارد.
شروع کار با داده ها
با Pandas فایل CSV را می خوانیم و DataFrame می گیریم. سپس ستون های مستقل را X و ستون وابسته را y می گذاریم.
import pandas as pd
df = pd.read_csv("data.csv")
X = df[["Weight", "Volume"]]
y = df["CO2"]
ساخت و آموزش مدل
از sklearn یک مدل LinearRegression می سازیم. سپس با fit الگو را یاد می گیرد.
from sklearn import linear_model
regr = linear_model.LinearRegression()
regr.fit(X, y)
predictedCO2 = regr.predict([[2300, 1300]])
print(predictedCO2)
نکته: ردیف ورودی باید با ترتیب ستون های X هماهنگ باشد.
ضریب ها چه می گویند؟
ضریب (Coefficient) یعنی اثر یک ورودی بر خروجی. با coef_ آن ها را می بینیم.
from sklearn import linear_model
import pandas as pd
df = pd.read_csv("data.csv")
X = df[["Weight", "Volume"]]
y = df["CO2"]
regr = linear_model.LinearRegression()
regr.fit(X, y)
print(regr.coef_)
اگر وزن یک کیلو زیاد شود، CO2 به اندازه ضریب وزن تغییر می کند. حجم هم همین طور.
آزمایش تغییر یک ورودی
وزن را 1000 کیلو بیشتر می کنیم. پیش بینی باید حدود ضریب ×1000 رشد کند.
from sklearn import linear_model
import pandas as pd
df = pd.read_csv("data.csv")
X = df[["Weight", "Volume"]]
y = df["CO2"]
regr = linear_model.LinearRegression()
regr.fit(X, y)
predictedCO2 = regr.predict([[3300, 1300]])
print(predictedCO2)
هشدار: مقیاس ها مهم هستند. وزن کیلو است و حجم سانتی متر مکعب. مقیاس ها را قاطی نکن.
جمع بندی سریع
- چند ورودی دارید؟ از چندمتغیره استفاده کن.
- X مستقل است، y وابسته است.
- با fit مدل را آموزش بده.
- coef_ اثر هر ورودی را نشان می دهد.
- ورودی ها را با همان ترتیب X بده.