机器学习实战-数据探索(变量变换、生成)
原文鏈接:點擊打開鏈接
- 《機器學習實戰-數據探索(1、變量識別;2、單變量分析;3、雙變量分析)》
- 機器學習實戰-數據探索(缺失值處理)
- 機器學習實戰-數據探索(異常值處理)
上面三篇文章介紹了數據探索的前五步,機器學習更多內容可以關注github項目:machine learning
1 變量變換
1.1 什么是變量變換?
在數據建模中,變換是指通過函數替換變量。 例如,通過平方/立方根或對數x替換變量x是一個變換。 換句話說,變換是一個改變變量與其他變量的分布或關系的過程。
1.2 什么時候需要變量變換?
-
當我們想要改變一個變量的比例(change the scale)或標準化(standardize)變量的值以便更好地理解。 如果數據具有不同的尺度,則此變換是必須的,但此變換不會更改變量分布的形狀。對應處理方法:機器學習之特征工程-數據預處理(無量綱化)。
-
當我們將復雜的非線性關系轉化為線性關系時。 與非線性關系相比,變量之間存在線性關系更容易理解。 轉換有助于將非線性關系轉換為線性關系。 散點圖可用于查找兩個連續變量之間的關系,這些變化也改善了預測,log是常用的轉換技術之一。
?Relation.png
-
對稱分布優于傾斜分布,因為它更容易解釋和產生推論。 一些模型需要正態分布變量, 所以,每當遇到傾斜分布,使用變量變換。 對于右傾斜分布,取變量的平方/立方根或對數,對于左傾斜分布,取變量的平方/立方或指數。
?
Transformation_1.png
- 從程序實現角度考慮變量轉換。 例如在員工績效項目中,發現年齡與員工績效直接相關,即年齡越高,績效越好。 從實現的角度來看,基于年齡的程序可能會面臨實現挑戰。 然而,將員工分為三個年齡階段30歲,30-45歲和45歲以上,制定三種不同的策略是一種明智的做法。 這種分類技術被稱為變量分組(Binning)。
1.3 變量變換的常用方法是什么?
變換變量有許多方法,如平方根,立方根,對數,合并,倒數等等。來看看這些方法的細節和利弊。
- 對數(log):變量求對數是用于在分布圖上更改變量分布形狀的常用變換方法。通常用于減少變量的右偏差,雖然,它也不能應用于零值或負值。
- 平方/立方根:變量的平方和立方根對改變變量的分布有效果。然而,它不如對數變換那么有效。立方根有自己的優勢,可以應用于包括零和負值,平方根可以應用于包括零的正值。
- 分箱(Binning):用于對變量進行分類。以原始值,百分位數或頻率進行分類,分類技術的決策是基于對于業務的理解。例如,可以將收入分為三類:高,中,低,也可以對多個變量執行分箱。
2 生成特征
生成特征是基于現有特征生成新特征的過程。 例如,將日期(dd-mm-yy)作為數據集中的輸入特征,可以生成新特征,如日,月,年,周,工作日,可能與target有更好的關系。 此步驟用于突出顯示變量中的隱藏關系。
?
Derived.png
2.1 生成特征的類別
- 生成派生變量(derived variables)
使用一組函數或不同方法從現有變量創建新變量。在“Titanic – Kaggle competition”中,年齡存在缺少值,為了預測缺失值,用姓名中稱呼(Master,Mr,Miss,Mrs)作為新變量。如何決定要生成哪個變量?這取決于分析師對業務理解,以及他對這個問題的假設。諸如采用變量求對數,變量分組或其他變量變換方法也可用于生成新變量。 - 生成虛擬變量(dummy variables)
虛擬變量最常用的應用之一是將分類變量轉換成數字變量,虛擬變量也稱為指標變量(Indicator Variables)。將分類變量作為統計模型中的預測因子是有用的,如:性別可以產生兩個變量,即為1(Male)和0(No male)的“Var_Male”和值為1(Female)和0(No Female)的“Var_Female”。還可以為兩類以上分類變量生成n或n-1個虛擬變量。
?
Dummy.png
2.2 生成特征的常用方法
- 生成日期,時間和地址差異的變量
可以通過考慮日期和時間的差異來創建新變量, 例如:與在30分鐘內填寫相同申請的人相比,需要幾天填寫申請表的申請人可能對產品的興趣較少。 同樣,對于銀行來說,在線門戶登錄詳細信息和客戶登錄之間的時間可能會顯示客戶使用在線門戶網站的意愿。同樣,靠近銀行分行的客戶比遠離客戶的參與度更高。 - 生成比例變量
生成變量之間的比例可能會增加很多價值。 經常使用的一些比例是:輸入/輸出(過去的表現),生產率,效率和百分比。 例如,為了預測分行的信用卡銷售的未來表現,像信用卡銷售/銷售人員或信用卡銷售/營銷支出之類的比率將比銷售的絕對數量更強大。 - 應用標準變換
通過查看變量和輸出的變化和繪圖,是否變量的基本變換創建了更好的關系。 最常用的變換包括Log,指數,二次和三次變化。 例如,與絕對營銷支出相比,營銷支出的對數可能與Sales有更具代表性的關系。 - 考慮影響因素的影響
影響因素可以是組織的雇員,組織的代理人或組織的客戶。 引起這些相關實體的影響可以顯著改善模型。 例如,由經紀人(而不是所有經紀人)發起的貸款在鎖定期后,更有可能轉移到不同的實體。 同樣,一組涉及到銷售人員的子公司,可能對其客戶進行交叉銷售。 - 考慮變量的季節性
很多企業面臨著季節性的問題,可能是由稅收優惠,節日季節或天氣驅動的。 如果是這種情況,需要考慮季節性。 如何在建模時應對季節性影響的更多細節可以參考:Festive season special: Building models on seasonal data。
參考
5 Simple manipulations to extract maximum information out of your data
作者:jacksu在簡書
鏈接:http://www.jianshu.com/p/73b35d4d144c
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
總結
以上是生活随笔為你收集整理的机器学习实战-数据探索(变量变换、生成)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pandas matplotlib 无法
- 下一篇: 数据科学-通过数据探索了解我们的特征