机器学习变量转换(定性变量、定量变量)
為了更好地討論問題,將模型的自變量分類。在模型里使用的變量可以分為兩類:數(shù)值型變量和類別型變量。如圖1所示。
一、定義
數(shù)值型變量,在學(xué)術(shù)上被稱為定量變量(quantitative variable),如長度、收入、重量等。它們的數(shù)值表示具體的測量或計數(shù)。事實上,定量變量按是否連續(xù)可進(jìn)一步細(xì)分為連續(xù)型變量和離散型變量。在一定區(qū)間內(nèi)可以任意取值的變量叫連續(xù)型變量,比如人的身高、體重等;反之則是離散型變量,比如公司員工人數(shù)等。
類別型變量,也被稱為定性變量(categorical variable)。比如性別、省份、學(xué)歷、產(chǎn)品等級等。這類變量的取值通常是用文字而非數(shù)字來表示。比如對于性別這個變量,可能的取值為男、女。因此要將文字變量轉(zhuǎn)換為數(shù)字變量,并且保證對于轉(zhuǎn)換之后的變量,數(shù)學(xué)運(yùn)算是有意義的,這并不是一件容易的事情。通常針對一個類別型變量,我們會用一個數(shù)字去表示其中的一個類別,但這樣的轉(zhuǎn)換方法并不能滿足要求:
- 對于有序的類別型變量,比如產(chǎn)品等級,0表示合格、1表示良好、2表示優(yōu)秀。這種情況下,0小于1的確對應(yīng)著合格等級次于良好等級,但數(shù)字間的四則運(yùn)算就沒有對應(yīng)意義了。數(shù)學(xué)上2減1等于1,但對于產(chǎn)品等級,優(yōu)秀減去良好還等于良好嗎?
- 對于無序的類別型變量,比如對于省份,0表示北京、1表示上海、2表示深圳等。數(shù)字間的大小關(guān)系和四則運(yùn)算都是沒有實際意義的。
二、定性變量的處理
對于定性變量,常見的處理方法有兩種:一種是將定性變量轉(zhuǎn)換為多個虛擬變量(dummy variable),另一種對將有序的定性變量轉(zhuǎn)換為定量變量。
正如前文中討論的,直接對定性變量數(shù)字編碼,得到的變量將無法進(jìn)行有意義的數(shù)學(xué)運(yùn)算。那么,相應(yīng)的解決方法就是使得變換之后的變量不能直接做數(shù)學(xué)運(yùn)算。
前面討論的虛擬變量的方法是比較通用的處理方法。但這種方法有一個很明顯的缺點:每個虛擬變量都是0或1,無法提供更多的信息。特別是對于多個有序的定性變量,這會損失掉每個定性變量本身的順序信息和定性變量間的關(guān)聯(lián)信息。為了解決這個問題,常常根據(jù)類別的順序,將定性變量轉(zhuǎn)換為定量變量。
?
本文參考了https://blog.csdn.net/weixin_39844018/article/details/82533494
總結(jié)
以上是生活随笔為你收集整理的机器学习变量转换(定性变量、定量变量)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pandas:数据类型的转换
- 下一篇: pandas:apply(),apply