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