機器學習中特徵工程總結

2021-10-06 09:17:38 字數 2513 閱讀 1550

構造更多***的特徵

檢視資料列名:

print

(data_train.columns)

檢視資料每列資訊(數目,空置和型別):

print

(data_train.info(

))

檢視每列統計資訊(數目、均值、方差、最小值、25%分位值、50%分位值、75%分位值和最大值):

print

(data_train.describe(

))

空置:nan

利用pandas庫判斷資料中是否有空值:

print

(pd.isnull(df)

)

返回值為等尺寸的datafram檔案,資料型別為:bool型別(true/flase)

分布(特徵選擇)

通過散點圖檢視單一特徵分布:

plt.scatter(x,y)

#x為特徵,y為標籤

異常點

方差較小的情況下,max/min 離均值很遠,則max/min可能為異常點

通過繪圖觀察,極具偏離大部分樣本點的點稱為異常點(需要判讀該點是資料性質造成的,還是真是存在的異常點)

異常點的存在,對模型的魯棒性存在影響

量綱

任意兩列資料的單位懸殊過大

標籤狀況:

空值處理

ml**

將已知資料設為資料集,將nan值設為測試集,進行ml從而得到完整的資料

示例如下(使用了隨機森林進行訓練)

def

set_missing_ages

(df)

:# 把已有的數值型特徵取出來丟進random forest regressor中

age_df = df[

['age'

,'fare'

,'parch'

,'sibsp'

,'pclass']]

# 乘客分成已知年齡和未知年齡兩部分

known_age = age_df[age_df.age.notnull()]

.as_matrix(

) unknown_age = age_df[age_df.age.isnull()]

.as_matrix(

)# y即目標年齡

y = known_age[:,

0]# x即特徵屬性值

x = known_age[:,

1:]# fit到randomforestregressor之中

rfr = randomforestregressor(random_state=

0, n_estimators=

2000

, n_jobs=-1

) rfr.fit(x, y)

# 用得到的模型進行未知年齡結果**

predictedages = rfr.predict(unknown_age[:,

1::]

)# 用得到的**結果填補原缺失資料

df.loc[

(df.age.isnull())

,'age'

]= predictedages

return df, rfr

是否需要歸一化

分桶離散

標籤均衡

標籤比例不平衡(比如1:9),處理方式如下:

from sklearn.linear_model import logisticregression

from sklearn.datasets import load_iris

iris = load_iris(

)#引數estimator為基模型

#引數n_features_to_select為選擇的特徵個數7

print

(iris.data[0:

5])selector = rfe(estimator=logisticregression(

), n_features_to_select=2)

.fit(iris.data, iris.target)

data = selector.transform(iris.data)

print

(data[0:

5])print

(selector.ranking_)

embed

統計特徵

複雜特徵

參考比賽老手打比賽的特徵聚合經驗

自然特徵

影象、語音、文字、網路

組合已有的特徵(組合,聚和)

機器學習中的特徵工程總結一

俗話說 磨刀不誤砍材工 在機器學習領域,進行特徵工程相關的工作就相當於磨刀了。那麼,什麼是特徵工程呢?通俗來講,特徵工程就是為了使模型在未知資料集上獲得更好 精度而對原始資料集進行轉換的一系列過程。特徵工程的具體過程則由以下四點決定 1 評估模型優劣的方法 指標是什麼?rmse還是auc等 2 要解...

機器學習中的特徵工程總結一

俗話說 磨刀不誤砍材工 在機器學習領域,進行特徵工程相關的工作就相當於磨刀了。那麼,什麼是特徵工程呢?通俗來講,特徵工程就是為了使模型在未知資料集上獲得更好 精度而對原始資料集進行轉換的一系列過程。特徵工程的具體過程則由以下四點決定 1 評估模型優劣的方法 指標是什麼?rmse還是auc等 2 要解...

機器學習 特徵工程

老師有多年的網際網路從業經驗,所以講解的過程中結合了很多任務業界的應用,更加的深入淺出。資料採集 資料採集前需要明確採集哪些資料,一般的思路為 哪些資料對最後的結果 有幫助?資料我們能夠採集到嗎?線上實時計算的時候獲取是否快捷?舉例1 我現在要 使用者對商品的下單情況,或者我要給使用者做商品推薦,那...