資料探勘建模 3 特徵工程

2021-10-06 11:47:35 字數 2638 閱讀 3829

3.1數值型特徵-數值變換、非線性變換、編碼

3.2 無監督降維pca

3.3計算型變換

3.4特徵篩選

3.4 索引恢復

1.log變換:

[ x-min(x)]/[max(x)-min(x)],最大最小值受異常點影響,魯棒性差,比較適合傳統精確資料場景

from sklearn.preprocessing import minmaxscaler

mm_scaler = minmaxscaler()

fare_trans = mm_scaler.fit_transform(df_train[[『fare』]])

注意:概率模型不需要歸一化,只與變數分布和變數直接的條件概率相關,與變數值無關,如決策樹、隨機森林rf。另:樹模型不能用梯度下降,樹模型是尋找最優**點完成。

3.標準化standardscaler

( x-μ)/σ x原始特徵值,μ樣本均值,σ樣本標準差,對現有樣本進行估計,對樣本足夠多的情況下比較穩定,有一定魯棒性,可以適應嘈雜大資料場景

from sklearn.preprocessing import standardscaler

std_scaler = standardscaler()

fare_std_trans = std_scaler.fit_transform(df_train[[『fare』]])

4.統計值 最大、最小值、分位數

max_age = df_train[『age』].max()

min_age = df_train[『age』].min()

age_quarter_1 = df_train[『age』].quantile(0.25) #1/4分位數

age_quarter_3 = df_train[『age』].quantile(0.75) #3/4分位數

5.多項式特徵變換

a.目標是將特徵兩兩組合起來,使得特徵和目標變數直接的關係更接近線性,提供**效果

df_train.loc[:,『famili_size』] = df_train[『sibsp』]+df_train[『parch』]+1

b.高次特徵與交叉特徵polynomialfeatures

from sklearn.preprocessing import polynomialfeatures

poly = polynomialfeatures(degree=2)

ploy_fea = poly.fit_transform(df_train[[『sibsp』,『parch』]])

c.peason相關係數

當pearson相關係數低於0.4,則表明變數之間存在弱相關關係;當pearson相關係數在0.4~0.6之間,則說明變數之間存在中度相關關係;當相關係數在0.6以上時,則反映變數之間存在強相關關係

import matplotlib.pyplot as plt

import seaborn as sns

data_cor = data.corr() #peason相關係數

sns.heatmap(data_cor,annot = true) # 相關性熱力圖annot顯示為數字

6.離散化即類別化

減少雜訊干擾,類別化特徵值,如年齡段而不是年齡對應的屬性pandas cut

df_train.loc[:,『fare_cut』] = pd.cut(df_train[『fare』],5) #將fare特徵切分成4個區間

df_train[『far_cut』].unique() #檢視區間值

1、獨熱編碼 onehot encoding

用二進位制位表示某個定性特徵出現與否,無序特徵,(labelencoder為有序型)

2、連續數值編碼ordinalencoder/labelencoder

3、啞變數 pandas get_dummies

embarked_oht = pd.get_dummies(df_train[[『embarked』]])

loans = pd.concat([loans,embarked_oht],axis=1)#將啞變數連線原資料

1、pca

點到原點距離已定,所以如果點到線的距離越短的話,垂足和垂足之間距離可以最大分散化

2、nnf

1、距離變換

2、相似度變換

3、核函式變換

1、低方差移除

2、單變數特徵篩選

3、特徵重要度篩選

異常資料如果不篩選出將影響後面模型,導致偏差,篩選異常特徵樣本方法有兩個常用方法聚類和異常點檢測。

聚類:用kmeans聚類將訓練樣本分層若干簇,如果乙個簇裡的樣本數很少且簇質心和其他簇距離很遠,那麼這個簇裡很有可能存在異常特徵樣本。

異常點檢測:用iforest或one class svm使用異常點堅持的機器學習演算法過濾異常點

篩查出的異常點需要進一步結合業務場景最終確認是否異常。

for i in [train_x,test_x]:

i.index = range(i.shape[0])

train_x.head()

資料探勘 特徵工程

特徵工程 常見的特徵工程包括 總結 1 特徵工程的主要目的是將資料轉換為能更好地表示潛在問題的特徵,從而提高機器學習的效能。比如,異常值處理為了去除雜訊,填補缺失值可以加入先驗知識等。2 特徵構造屬於特徵工程的一部分,目的是為了增強資料的表達。3 如果特徵是匿名特徵,並不知道特徵相互之間的關聯性,這...

資料探勘之特徵工程

標籤編碼與獨熱編碼 onehotencoder獨熱編碼和 labelencoder標籤編碼 資料探勘的基本流程 多項式特徵 特徵構建 生成多項式特徵 對於特徵離散化,特徵交叉,連續特徵離散化非常經典的解釋 資料預處理與特徵選擇 特徵工程到底是什麼?機器學習中的資料清洗與特徵處理綜述 sklearn ...

資料探勘之特徵工程

是對原始資料進行一系列工程處理,將其提煉為特徵,作為輸入供演算法和模型使用。從本質上來講,特徵工程是乙個表示和展現數 據的過程。在實際工作中,特徵工程旨在去除原始資料中的雜質和冗餘,設計更 高效的特徵以刻畫求解的問題與 模型之間的關係。特徵工程有很多的方法,其中比較常見的有 為了消除資料特徵之間的量...