日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

要解決一個機器學習問題,我們不能僅僅通過將算法應用到提供的數據上。比如.fit() 。我們首先需要構建一個數據集。

將原始數據轉換為數據集的任務稱為特征工程。

例如,預測客戶是否堅持訂閱特定產品。這將有助于進一步提高產品或用戶體驗,還有助于業務增長。

原始數據將包含每個客戶的詳細信息,如位置、年齡、興趣、在產品上花費的平均時間、客戶續訂訂閱的次數。這些細節是數據集的特性。創建數據集的任務是從原始數據中了解有用的特性,并從對結果有影響的現有特性中創建新特性,或者操作這些特性,使它們可以用于建模或增強結果。整個過程被簡稱為特性工程。

有多種方法可以實現特征工程。根據數據和應用程序不同來分類。

在本文中,我們將了解為什么使用特征工程和特征工程的各種方法。

為什么使用特征工程?

特征工程出現在機器學習工作流程的最初階段。特性工程是決定結果成敗的最關鍵和決定性的因素。

簡介機器學習中的特征工程

 

特征工程在機器學習工作流程中的地位

許多Kaggle比賽都是通過基于問題創建適當的功能而獲勝的。例如,在一場汽車轉售比賽中,獲勝者的解決方案包含一個分類特征——普通汽車的顏色,稀有汽車的顏色。這一特性增加了汽車轉售的預測效果。既然我們已經理解了特性工程的重要性,現在讓我們深入研究用于實現的各種標準方法。

現在讓我們了解如何實現特性工程。以下是廣泛使用的基本特征工程技術,

· 編碼

· 分箱

· 歸一化

· 標準化

· 處理缺失值

· 數據歸責技術

編碼

有些算法只處理數值特征。但是,我們可能有其他數據,比如在我們的例子中"用戶觀看的內容類型"。為了轉換這種數據,我們使用編碼。

One-Hot編碼

將分類數據轉換為列,并將每個惟一的類別作為列值,這是一種One-Hot編碼。

下面是實現One-Hot編碼的代碼片段,

encoded_columns = pd.get_dummies(data['column'])
data = data.join(encoded_columns).drop('column', axis=1)

當分類特征具有不那么獨特的類別時,這種方法被廣泛使用。我們需要記住,當分類特征的獨特類別增加時,維度也會增加。

標簽編碼

通過為每個類別分配一個唯一的整數值,將分類數據轉換為數字,稱為標簽編碼。

比如"喜劇"為0,"恐怖"為1,"浪漫"為2。但是,這樣劃分可能會使分類具有不必要的一般性。

當類別是有序的(特定的順序)時,可以使用這種技術,比如3代表"優秀",2代表"好",1代表"壞"。在這種情況下,對類別進行排序是有用的。

下面是要實現標簽編碼器的代碼片段。

from sklearn.preprocessing import ColumnTransformer
labelencoder = ColumnTransformer()
x[:, 0] = labelencoder.fit_transform(x[:, 0])

分箱

另一種相反的情況,在實踐中很少出現,當我們有一個數字特征,但我們需要把它轉換成分類特征。分箱(也稱為bucketing)是將一個連續的特性轉換成多個二進制特性的過程,通常基于數值。

簡介機器學習中的特征工程

 

將數值數據分成4、8、16個箱子

#Numerical Binning Example
Value      Bin       
0-30   ->  Low       
31-70  ->  Mid       
71-100 ->  High#Categorical Binning Example
Value      Bin       
Germany->  Europe      
Italy  ->  Europe       
India  ->  Asia
Japan  ->  Asia

分箱的主要目的是為了使模型更健壯,防止過擬合,但這對性能有一定的影響。每次我們丟棄信息,我們就會犧牲一些信息。

正則化

歸一化(也稱為最小最大歸一化)是一種縮放技術,當應用它時,特征將被重新標定,使數據落在[0,1]的范圍內。

特征的歸一化形式可通過如下方法計算:

簡介機器學習中的特征工程

 

歸一化的數學公式。

這里' x '是原始值而' x '是歸一化值。

簡介機器學習中的特征工程

 


簡介機器學習中的特征工程

 

原始數據、歸一化數據的散點圖

在原始數據中,alcohol在[11,15],malic在[0,6]。歸一化數據中,alcohol在[0,1]之間,malic在[0,1]之間。

標準化

標準化(也叫Z-score歸一化)是一種縮放技術,當它被應用時,特征會被重新調整,使它們具有標準正態分布的特性,即均值為0,標準差為=1;其中,μ 為平均值(average),σ為與平均值的標準差。

計算樣本的標準分數(也稱z分數)如下:

簡介機器學習中的特征工程

 

標準化的數學公式

這將特征在[-1,1]之間進行縮放

簡介機器學習中的特征工程

 


簡介機器學習中的特征工程

 

原始數據、標準化數據的散點圖

在原始數據中,alcohol在[11,15],malic在[0,6]。在標準化數據中,二者居中于0。

處理缺失值

數據集可能包含一些缺失的值。這可能是在輸入數據的失誤或出于保密方面的考慮。無論原因是什么,減少它對結果的影響是至關重要的。下面是處理缺失值的方法,

· 簡單地刪除那些缺少值的數據點(當數據很大而缺少值的數據點較少時,這樣做更可取)

· 使用處理缺失值的算法(取決于實現該算法的庫)

· 使用數據注入技術(取決于應用程序和數據)

數據歸責技術

數據填充就是簡單地用一個不會影響結果的值替換缺失的值。

對于數值特征,缺失的值可以替換為:

· 0或默認值

#Filling all missing values with 0
data = data.fillna(0)

· 重復率最高的值

#Filling missing values with mode of the columns
data = data.fillna(data.mode())

· 該特征的均值(受離群值影響,可以用特征的中值替換)

#Filling missing values with medians of the columns
data = data.fillna(data.median())

對于分類特征,缺失的值可以替換為:

· 重復率最高的值

#Most repeated value function for categorical columns
data['column_name'].fillna(data['column_name'].value_counts()
.idxmax(), inplace=True)

· "其他"或任何新命名的類別,這意味著對數據點的估算

在本文中,我們了解了廣泛使用的基本特性工程技術。我們可以根據數據和應用程序創建新特性。但是,如果數據很小而且質量不好,這些方法可能就沒有用了。

作者:Ramya Vidiyala

deephub翻譯組:孟翔杰

分享到:
標簽:機器 學習
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定