در قسمت سوم موضوع feature engineering را پیگیری کردیم. در این قسمت میخواهیم
ابتدا کل فیچرهایی که میخواهیم اسکیل کنیم را انتخاب میکنیم. (همه به جز آیدی و قیمت)
scaling_feature=[feature for feature in dataset.columns if feature not in ['Id','SalePrice'] ]
len(scaling_feature)
با دستور زیر اسکیل کردن را فیت و ترنسفورم میکنیم:
from sklearn.preprocessing import MinMaxScaler # why not standard scaler
my_scaler=MinMaxScaler()
my_scaler.fit(dataset[scaling_feature])
my_scaler.transform(dataset[scaling_feature])
خروجی کد بالا یک آرایه است و در هنگام concat کردن باید آن را به Dataframe تبدیل کنیم:
data = pd.concat([dataset[['Id', 'SalePrice']].reset_index(drop=True),
pd.DataFrame(my_scaler.transform(dataset[scaling_feature]), columns=scaling_feature)],
axis=1)
با دستور زیر دیتای خود را ذخیره میکنیم. پارامتر index را روی false میگذاریم که دیتای اضافی تولید نشود. (زیرا دیتای ما خودش ایندکس دارد.)
data.to_csv('X_train.csv',index=False)
برای اطلاعات بیشتر به کد گیتهاب رجوع کنید.