4、數據準備算法
在對數據進行充分理解的基礎上,咱們就要生成可以知足數據挖掘須要的數據寬表。在此階段,咱們須要集中精力在數據準備上,每每一個項目超過60%的時間都放在數據理解和數據準備上面。你覺得剩下的40%是建模分析?其實10%纔是建模分析,剩下的30%都是用來吐槽數據質量問題的。由於在上面已經簡單討論了缺失值和離羣值問題。通常除了這些,咱們還須要:學習
(1)處理無效值:如未知,如年齡顯示100,通常採起與缺失值相似的方式;測試
(2)修改不合規字段:如某些記錄後面出現空格:如套餐198 ;優化
(3)編碼方式/統計口徑不一致的問題:如統計方式,統計範圍,統計單位等。編碼
(4)數據的轉換(數據的重構和整合)生命週期
值得注意的是這是一個須要不斷調整優化的過程,舉個例子有可能原始的變量個數有50個;經過咱們對變量的轉換和衍生,生成了100個變量;最後經過對業務的理解,模型的測試,從100個變量當中選擇新的50個變量進行分析。數據挖掘
經常使用數據轉換方式:基礎
(1)單變量之間的轉換變量
a)連續變量轉爲連續變量 b)連續變量轉爲離散變量重構
c)離散變量轉換爲連續變量 d)離散變量轉化爲離散變量
(2)變量之間的轉換
a)彙總型指標 b)強度相對指標 c)比例相對指標
d)時間對比指標 e)趨勢型指標 f)波動型指標
一、單變量自身轉換:
(1)連續變量轉爲爲連續變量:如出於計量和比較進行轉換,如轉換單位:通話小時數->通話分鐘數的;出於對數據分佈修訂的轉換,如:對數據進行取對數;爲了使不一樣量綱或者不一樣數量級的數據可以很好地進行對比,對數據標準化:(原始值-平均值)/標準差,通常在聚類的時候,對數據先進行標準化也是一種必要手段;
(2)連續變量轉換爲離散變量:通常這種轉換會損失必定的信息,可是出於業務更好理解的考慮或者算法的須要,採起的措施通常是利用分箱處理,通常能夠選擇等距離分箱或者等數量分箱,也有利用有監督的方法進行分箱的;
(3)離散變量轉換爲連續變量:這種方式比較少用,通常只是一些有序的分類變量轉換爲1,2,3,4;
(4)離散變量轉換爲離散變量:通常用於一個變量當中包含有多個類別,對變量採起合併,例如運營商信息的省份字段,咱們能夠把省份概括爲東部,西部,南部等,也能夠按照經濟水平進行區分。
二、變量之間的衍生
(1)彙總型指標:這個比較常見,例如咱們統計一個客戶在過去一年當中的消費/通話行爲,例如計算一年內通話時長的總和,平均值,最大值,最小值,1/4分位數,3/4分位數,標準差,經過這些指標,咱們但願總體判斷通話情況;值得注意的是,這裏面的指標咱們通常只會選擇少許假如模型,由於這些指標間自己也有比較強的相關關係,極可能致使多重共線性的問題。
(2)強度相對指標:如平均通話時長,就是用總的通話時間/通話次數所得,咱們但願用這個指標側面瞭解每一個客戶的通話習慣。
(3)比例相對指標:就是直接反映整體各部分的比例關係,這在客戶行爲研究用得特別的多,例如咱們分析一個客戶在閒時的通話時長佔整體的比例,在週末通話時長佔整體的比例等等,通常這種指標用於區分客戶羣體比較有用。
(4)時間對比指標:通常若是咱們的原始數據包含幾年的數據記錄,咱們就能夠同比(16年5月通話時長/15年5月通話時長)或者環比(16年5月對於16年4月),這種指標在專門的時序分析中用得比較多,相對而言在其餘方面比較少。
(5)趨勢型指標:在客戶研究當中,尤爲是研究客戶價值/客戶生命週期這兩個主題當中,趨勢類指標特別重要,例如咱們但願瞭解每一個客戶的通話時長/交易金額從歷史到如今,是一個向上的趨勢,仍是一個向下的趨勢。這種指標很是有助於咱們判斷客戶的生命週期價值是在提高仍是存在潛在的流失可能,由於會藉助迴歸分析方法(月份爲自變量,每個月通話時長/話費爲因變量),最後得迴歸係數做爲該指標。
(6)波動指標:通常咱們能夠用標準差或變異係數來反映。
5、創建模型
創建統計學習模型,簡單是指利用一個(或多個)輸入變量(通常稱爲爲自變量,預測變量)經過擬合適當的關係式來預測輸出變量(也稱因變量,響應變量)的方法。
通常在商業實踐當中,咱們能夠把統計/挖掘任務簡單劃分爲預測和控制。預測仍是控制,這個很重要。
在預測任務中,咱們但願模型儘量地精確,相反預測模型f的形式多是一個黑箱模型(即模型的自己咱們不能很好的解釋或者並不清楚,咱們更加關心模型中的輸入和輸出,並不試圖考察其內部結構),只要可以提升咱們的預測精度咱們就承認達到目的了。
在這裏,預測結果當然重要,可是咱們也十分關心模型的形式具體是怎麼樣,或者藉助統計挖掘模型幫助咱們生成了怎樣的判別規則。
例如:在銀行業,咱們但願經過客戶的我的信用信息來評價我的的借貸風險,這就要求咱們不但可以回答這個客戶的風險是高是低,還要求咱們回答哪些因素對客戶風險高低有直接做用,每一個因素的影響程度有多大。