蒸汽量預(yù)測
1.特征工程
一般流程:
1.去掉無用特征
2.去掉冗余特征
3.利用存在的特征、特征轉(zhuǎn)換、內(nèi)容中的特征以及其他數(shù)據(jù)源生成新特征
4.特征轉(zhuǎn)換(數(shù)值化、類別轉(zhuǎn)換、歸一化)
5.特征處理(異常值、最大值、最小值、缺失值)
- 觀察特征
核密度估計(jì),已知散點(diǎn)圖,做回歸,要求連線盡可能平滑,大致觀察數(shù)據(jù)的分布情況。在本例中,通過核密度估計(jì),觀察訓(xùn)練集與測試集數(shù)據(jù)的分布情況,從而刪除不具有相似分布的屬性值 - 計(jì)算相關(guān)性,并進(jìn)行降維操作,即將相關(guān)性的絕對值小于閾值的特征進(jìn)行刪除
- 對已經(jīng)完成以上清洗的特征數(shù)據(jù)進(jìn)行歸一化處理
- 特征工程:
1.box-cox變換,使特征數(shù)據(jù)滿足正態(tài)分布(一般模型假設(shè)都是假設(shè)數(shù)據(jù)為正態(tài)分布,采用數(shù)據(jù)變換可以方便后續(xù)模型的應(yīng)用)。用qq圖直觀描述box-cox變換后數(shù)據(jù)是否符合正態(tài)分布
2.對數(shù)變換:這一步也是數(shù)據(jù)變換,主要作用是提升特征數(shù)據(jù)的正態(tài)性(可以這樣理解,取對數(shù)可以將中位數(shù)的值按比例縮小,從而形成正態(tài)分布的數(shù)據(jù)) - 剔除訓(xùn)練數(shù)據(jù)中的異常值(用回歸,如嶺回歸ridge regression)
- 根據(jù)去除了異常值的訓(xùn)練數(shù)據(jù)訓(xùn)練模型~
cols_transform=data_all.columns[0:-2]
for col in cols_transform:
# transform column
data_all.loc[:,col], _ = stats.boxcox(data_all.loc[:,col]+1)
print(data_all.target.describe())
plt.figure(figsize=(12,4))
plt.subplot(1,2,1)
sns.distplot(data_all.target.dropna() , fit=stats.norm);
plt.subplot(1,2,2)
_=stats.probplot(data_all.target.dropna(), plot=plt)