مقیاس بندی (Scale)
وقتی ویژگی ها اندازه های مختلف دارند، مقایسه سخت می شود. مقیاس بندی داده ها آن ها را هم اندازه می کند. استانداردسازی (Standardization) یک روش مشهور است.
ایده اصلی استانداردسازی
فرمول استانداردسازی این است: z = (x − u) / s. این جا u میانگین است و s انحراف معیار است. بعد از این کار، ستون ها قابل مقایسه تر می شوند.
اسکیل کردن وزن و حجم
از StandardScaler استفاده می کنیم. ابتدا داده را می خوانیم. سپس دو ستون Weight و Volume را مقیاس بندی می کنیم.
import pandas as pd
from sklearn.preprocessing import StandardScaler
scale = StandardScaler()
df = pd.read_csv("data.csv")
X = df[["Weight", "Volume"]]
scaledX = scale.fit_transform(X)
print(scaledX)
نکته: اعداد اول باید نزدیک مقدارهای محاسبه شده دستی باشند. این یعنی کار درست است.
پیش بینی روی داده مقیاس شده
وقتی با داده اسکیل شده آموزش می دهید، ورودیِ پیش بینی نیز باید اسکیل شود.
import pandas as pd
from sklearn import linear_model
from sklearn.preprocessing import StandardScaler
scale = StandardScaler()
df = pd.read_csv("data.csv")
X = df[["Weight", "Volume"]]
y = df["CO2"]
scaledX = scale.fit_transform(X)
regr = linear_model.LinearRegression()
regr.fit(scaledX, y)
scaled = scale.transform([[2300, 1.3]])
predictedCO2 = regr.predict([scaled[0]])
print(predictedCO2)
هشدار: ترتیب ستون ها در transform باید دقیقاً مثل X باشد.
گام های عملی سریع
- داده را با CSV به DataFrame تبدیل کن.
- X را از ستون های ورودی بساز.
- با StandardScaler روی X fit کن.
- مدل را با X اسکیل شده آموزش بده.
- ورودی های جدید را هم transform کن.
جمع بندی سریع
- مقیاس بندی مقایسه را ساده می کند.
- استانداردسازی از میانگین و انحراف معیار کمک می گیرد.
- آموزش با داده اسکیل شده انجام بده.
- پیش بینی هم باید با ورودیِ اسکیل شده باشد.
- ترتیب ستون ها را هرگز جابه جا نکن.