iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 10
0

機器學習分為兩種最主要的模式,分別為監督式機器學習與非監督式機器學習,本篇文章會簡單介紹一下監督式機器學習以及常見的用法。

監督式機器學習是什麼?

當你使用機器學習的過程中,需要有資料的「正確答案」,例如違約與否或是疾病檢查是陽性等等,大多數是需要人工標籤才能產生的資料,而學習的目的是透過這個正確答案來預測往後的數據,這個類型就是我們所稱的監督式機器學習。

監督式機器學習的優缺點

  • 優點
    能夠十分輕易的評斷模型的優劣,因為訓練過程中有明確的正確答案可以供模型驗證,也可以針對自己想要的結果進行針對性的調整。
  • 缺點
    一定要有資料標籤才能夠實現,否則在沒有正確答案提供模型參考的情況下,無法執行監督式機器學習,並且資料標籤算是資料整理中最複雜且麻煩的項目,大多需要人工前置準備。

常見的監督式機器學習用在哪裡?

常見的預測模型,例如大多數機器學習競賽都是監督式機器學習,其原因正如上方所提到的優點,容易評估模型的優劣,能夠較客觀的給出分數。
此外,自然語言處理(NLP)目前也是需要大量的已標籤語料庫,雖然有著非監督式機器學習的訓練方式,但主流還是以監督式為主。

監督式機器學習有哪些?

一般會提及的模型幾乎都是監督式機器學習,例如決策樹、隨機森林、SVM,或是深度學習當中的物件辨識、神經網路等等,時下許多應用都是基於監督式機器學習。

監督式機器學習怎麼用?

我們延續上次使用的資料集,該資料集所預測的結果是數值,由官方文件所述是疾病級數(有任何關於資料的疑惑也可以參考官方文件,其他資料集也是練習時好用的工具!)。

我們先合併一份檔案方便觀察資料

total_data = pd.concat([dummies,pd.DataFrame(data.target,columns=["target"])],axis = 1)
total_data.head()

total
由於我們的目標是數值型變數,因此我們要選擇迴歸類型的模型,匯入決策樹的決策樹迴歸模型。

from sklearn.tree import DecisionTreeRegressor #匯入決策樹
DTR = DecisionTreeRegressor() # 將模型指派給DTR方便之後呼叫
DTR.fit(dummies,data.target) # 使用fit函數並放入(資料,答案)

接著我們就可以使用這個模型進行預測了

DTR.predict(total_data.iloc[0,:-1].values.reshape(1,-1)) # 預測第一筆資料

predict

你應該會發現,預測的結果居然跟正確的答案一樣!?是模型很厲害嗎?其實是我們使用了訓練集當中的資料進行預測結果,這就像是你寫過一次的考卷,已經知道答案的情況下再寫一次,當然會給出十分接近甚至完全相同的答案!關於訓練、驗證、測試資料集的切分我們將在之後的章節介紹~


上一篇
DAY[9]-數據前處理(3) 特徵新增與調整
下一篇
DAY[11]-機器學習(2)非監督式機器學習
系列文
Python機器學習介紹與實戰30

尚未有邦友留言

立即登入留言