先看第一部分,這個電信公司的客戶資料檔有二十一個欄位,前二十個是各種屬性,包括居住在哪一州、哪一區、電話號碼、是否使用國際電話、日間/傍晚/夜間/國際電話的通話數、通話時間、資費小計,最後一個欄位代表是否已轉換到別家電信公司,以0與1表示。
首先要把 excel 檔匯入到 S3 Bucket,小弟第一次使用 S3,看來像這樣
創建一個 S3 bucket,命名的潛規則:mmss-yyyyMMDD-<application_id>-<user_id>,以筆記時間為 "0120-20170414-mllab01-tgic",然後要選取 AWS Region,我們選擇 US East (N.Virginia),是因為目前 AWS Machine Learning 服務只有在包含 US EAST (N.Virginia) 的少數幾個 AWS Region 提供,而 AWS Machine Learning 的 Datasource 由 AWS S3 匯入,故必須選擇一個相同的 AWS Region來創建此 S3 bucket。
Next->Next->Create bucket
S3 bucket 建好了
點進去看看,空的
把三個 csv 檔匯入,費用可能從這個時候開始產生,請關注 aws s3 的收費原則
Next->Next->Next->Upload
然後終於可以到 AWS Machine Language 頁面朝聖了 (大心) 一開始進入的頁面叫做 Dashboard
Get Started 進去
Launch 進去先定義 Datasources, 指定同 Region 下的 S3 location, 打幾個字就有提示
輸入完整的 S3 bucket name 與 bucket 內的 file object
Verify -> 系統檢查到這個 S3 object 尚未賦予 ML 讀取權限
grant permission -> 呈現 validation 結果
Continue -> 進入 Schema 步驟, 裡面詢問 csv 的第一行是不是各欄位的名稱
系統會自動幫每個欄位判斷 data type 以組成此 datasource 的 shema, 進一步了解AWS ML 支援的 data types 可參考 http://docs.aws.amazon.com/machine-learning/latest/dg/creating-a-data-schema-for-amazon-ml.html
勾 yes, Continue -> 欄位名稱浮現
Continue -> 進入 Target 選擇使用模型評估的目標欄位
AWS ML 能做的事根據 http://docs.aws.amazon.com/machine-learning/latest/dg/evaluating-model-accuracy.html 可以分成以下三種
-
Binary Classification
-
Multiclass Classification
-
Regression
目標欄位選擇 "Churn?" 應該是屬於第一種, 也就是猜測特定客戶會不會跳槽到另一家電信供應商
Continue ->
Review ->
Continue ->
此處有 John 提供的 Custom Recipe, 選擇 Custom
Continue -> 進入 Recipes, 從 lab01_scripts 挑選這一段 recipe 貼上
Verify ->
Continue -> 進入 Advanced Settings
Continue -> 進入 Evaluation
Review -> 進入 Review
Create ML model -> 開始創建, 需要一點時間
回到 ML models, 等待創建結束
ML model 創建結束, 花了兩分鐘
Amazon S3與Amazon ML都要收費對吧?Amazon S3好像有免費的小量試用方案。