【機器學習PAI實踐二】人口普查統計

李博Garvin發表於2016-12-30

產品地址:https://data.aliyun.com/product/learn?spm=a21gt.99266.416540.102.OwEfx2

一、背景

感謝大家關注玩轉資料系列文章,我們希望通過在阿里雲機器學習平臺上提供demo資料並搭建相關的實驗流程的方式來幫助大家學習如何通過演算法來挖掘資料中的價值。本系列文章包含詳細的實驗流程以及相關的文件教程,歡迎大家進入阿里雲數加機器學習平臺體驗。實驗案例請在新建實驗頁籤檢視,如下圖。

本章作為玩轉資料系列的開篇,先提供一個簡單的案例給大家熱身。通過擷取一份人口普查的資料,對學歷和收入進行統計和分析。主要目的是幫助大家學習阿里雲機器學習實驗的搭建流程和元件的使用方式。任何關於阿里雲機器學習方面的交流歡迎訪問我們的雲棲社群公眾號

二、資料集介紹

資料來源: UCI開源資料集Adult
針對美國某區域的一次人口普查結果,共32561條資料。具體欄位如下表:

欄位名 含義 型別
age 年齡 double
workclass 工作型別 string
fnlwgt 序號 string
education 教育程度 string
education_num 受教育時間 double
maritial_status 婚姻狀況 string
occupation 職業 string
relationship 關係 string
race 種族 string
sex 性別 string
capital_gain 資本收益 string
capital_loss 資本損失 string
hours_per_week 每週工作小時數 double
native_country 原籍 string
income 收入 string

三、資料探索流程

選中人口統計demo,從模型生成實驗,如下圖:

使用方式:

-使用者通過從左邊列表拖拽元件到試驗區域搭建實驗流程

-在配置區域對每個元件的引數進行設定

1.資料匯入

機器學習平臺的底層計算式阿里雲分散式計算系統MaxCompute(原名ODPS),所以實驗資料需要先匯入到ODPS表裡,使用者可以通過讀ODPS表(圖中的資料來源-人口統計)元件匯入資料。上傳成功後,右鍵元件可以檢視資料,如下圖:

2.理解資料

資料匯入後就可以對資料進行分析了,整個實現從縱向看分為三個部分。

其中全表統計和數值分佈統計是幫助使用者更好的理解一份資料,理解一份資料是符合泊松分佈或是高斯分佈,連續或是離散的對之後的演算法的選擇會有一定幫助(具體的對照關係在之後的文章會詳細介紹)。阿里雲機器學習的每個套件都提供了視覺化顯示結果的功能,下圖是數值統計的直方圖元件結果,可以清楚地看到每個輸入數值的分佈情況。

3.統計不同學歷的人員的收入情況

每個人都想增加收入,都想知道哪些因素對收入的影響最大。這些問題都可以通過提取特徵,利用機器學習演算法訓練來得到。本文主要目的是簡單介紹一下機器學習平臺的使用方法,這裡簡單的針對不同學歷的人員的收入做一下統計。

(1)資料的預處理

我們看到在收入統計的這條線上,資料流入的第一個元件是SQL指令碼(如下圖),機器學習平臺提供SQL指令碼對於資料進行處理。這裡是將string型的income欄位轉換成二值型的0和1的形式。0表示年收入在50K以下,1表示年收入在50K以上。這種將文字資料數值化是機器學習特徵處理的常用方式,以後會經常用到這種方式。

(2)過濾與對映

這一步主要是通過過濾與對映元件將資料按照學歷分為三部分,分別是博士、碩士和學士。過濾與對映底層是SQL語法,支援where過濾條件,使用者通過在右邊的配置欄填寫過濾條件即可。

(3)統計結果

通過每個百分位元件就可以方便的得到每個分類下的收入比例。下圖是調成折線圖的展示效果,結果中為0的點也就是年收入在50K以下的人群佔比例百分之25左右。

結合三個百分位元件就可以得到如下圖結果。

學歷 年收入>50K比例
博士 75%
碩士 57%
學士 42%

四、其它

作者微信公眾號:

凡人機器學習

相關文章