我在刷kaggle時發現乙個問題。很多人在處理資料的時候,經常把連續性特徵離散化。對此我感到很好奇,所以上網搜了一些總結,主要內容來自知乎連續特徵的離散化:在什麼情況下將連續的特徵離散化之後可以獲得更好的效果?
這個是嚴林的回答
在工業界,很少直接將連續值作為邏輯回歸模型的特徵輸入,而是將連續特徵離散化為一系列0、1特徵交給邏輯回歸模型,這樣做的優勢有以下幾點:
離散特徵的增加和減少都很容易,易於模型的快速迭代;
稀疏向量內積乘法運算速度快,計算結果方便儲存,容易擴充套件;
離散化後的特徵對異常資料有很強的魯棒性:比如乙個特徵是年齡》30是1,否則0。如果特徵沒有離散化,乙個異常資料「年齡300歲」會給模型造成很大的干擾;
邏輯回歸屬於廣義線性模型,表達能力受限;單變數離散化為n個後,每個變數有單獨的權重,相當於為模型引入了非線性,能夠提公升模型表達能力,加大擬合;
離散化後可以進行特徵交叉,由m+n個變數變為m*n個變數,進一步引入非線性,提公升表達能力;
特徵離散化後,模型會更穩定,比如如果對使用者年齡離散化,20-30作為乙個區間,不會因為乙個使用者年齡長了一歲就變成乙個完全不同的人。當然處於區間相鄰處的樣本會剛好相反,所以怎麼劃分區間是門學問;
特徵離散化以後,起到了簡化了邏輯回歸模型的作用,降低了模型過擬合的風險。
**:我在刷kaggle時發現乙個問題。很多人在處理資料的時候,經常把連續性特徵離散化。對此我感到很好奇,所以上網搜了一些總結,主要內容來自知乎連續特徵的離散化:在什麼情況下將連續的特徵離散化之後可以獲得更好的效果?
這個是嚴林的回答
在工業界,很少直接將連續值作為邏輯回歸模型的特徵輸入,而是將連續特徵離散化為一系列0、1特徵交給邏輯回歸模型,這樣做的優勢有以下幾點:
離散特徵的增加和減少都很容易,易於模型的快速迭代;
稀疏向量內積乘法運算速度快,計算結果方便儲存,容易擴充套件;
離散化後的特徵對異常資料有很強的魯棒性:比如乙個特徵是年齡》30是1,否則0。如果特徵沒有離散化,乙個異常資料「年齡300歲」會給模型造成很大的干擾;
邏輯回歸屬於廣義線性模型,表達能力受限;單變數離散化為n個後,每個變數有單獨的權重,相當於為模型引入了非線性,能夠提公升模型表達能力,加大擬合;
離散化後可以進行特徵交叉,由m+n個變數變為m*n個變數,進一步引入非線性,提公升表達能力;
特徵離散化後,模型會更穩定,比如如果對使用者年齡離散化,20-30作為乙個區間,不會因為乙個使用者年齡長了一歲就變成乙個完全不同的人。當然處於區間相鄰處的樣本會剛好相反,所以怎麼劃分區間是門學問;
特徵離散化以後,起到了簡化了邏輯回歸模型的作用,降低了模型過擬合的風險。
機器學習模型為什麼要將特徵離散化
在學習機器學習中,看過挺多案例,看到很多人在處理資料的時候,經常把連續性特徵離散化。為此挺好奇,為什麼要這麼做,什麼情況下才要做呢。一 離散化原因 資料離散化是指將連續的資料進行分段,使其變為一段段離散化的區間。分段的原則有基於等距離 等頻率或優化的方法。資料離散化的原因主要有以下幾點 1 演算法需...
為什麼要將連續特徵離散化
在工業界,很少直接將連續值作為邏輯回歸模型的特徵輸入,而是將連續特徵離散化為一系列0 1特徵交給邏輯回歸模型,這樣做的優勢有以下幾點 0.離散特徵的增加和減少都很容易,易於模型的快速迭代 1.稀疏向量內積乘法運算速度快,計算結果方便儲存,容易擴充套件 2.離散化後的特徵對異常資料有很強的魯棒性 比如...
機器學習 為什麼離散化,離散化的優勢
1,為什麼離散化 2,離散化的優勢 1,特徵離散化 連續特徵離散化的基本假設,是預設連續特徵不同區間的取值對結果的貢獻是不一樣的。特徵的連續值在不同的區間的重要性是不一樣的,所以希望連續特徵在不同的區間有不同的權重,實現的方法就是對特徵進行劃分區間,每個區間為乙個新的特徵。常用做法,就是先對特徵進行...