當前位置:
首頁 > 最新 > 機器學習基礎-分類演算法實例

機器學習基礎-分類演算法實例

最近團隊里有一些新同學,內部分享時介紹了一些關於機器學習的內容,主要介紹了一些關於tensorflow的內容,發現效果不是很好。缺乏相關基礎的同學,一開始接觸cnn,rnn,lstm等東西很容易從入門到放棄,所以這裡整理一篇我們常見分類問題實例的總結,幫助更好的入門。


本文不再對基礎的機器學習相關做詳細介紹,這裡只是再羅列一下幾個經常被提及的概念

人工智慧,機器學習,深度學習的關係

三者是同心圓的關係,其中深度學習是最近幾年非常火的領域,如下:

機器學習常見分類

根據訓練方法的不同,可以分為如下幾類,常見的是監督和非監督模型:

監督學習,訓練數據有明確的標識或結果。

非監督學習,數據並不被特別標識,學習模型是為了推斷出數據的一些內在結構。

半監督學習,輸入數據部分被標識,部分沒有被標識。

強化學習,輸入數據作為對模型的反饋,數據直接反饋到模型。

機器學習的常見方向

機器學習要解決的問題,主要有以下幾個方向,其中回歸和分類的區別在於,回歸的結果是連續的,分類的是離散的。

分類,比如判斷退款成立與否

回歸,比如房價,股價預測

聚類,比如用戶畫像

實際案例

本文就以一個分類問題(titanic)為例來作為helloworld,說明相關的應用。

案例描述

本文選取從kaggle下載的titanic的數據,數據主要包含titanic乘客的各維度信息,以及是否倖存(Survived).具體的欄位如下:

方案選擇

本例子屬於典型的分類問題,常見的方法有logistic回歸,SVM,GBDT,random forest等。在這裡選用隨機森林方法。

隨機森林:和決策樹有點像,隨機選取特徵值組成子集,m個子集對應m個決策樹。將新數據投入到這 M 個樹中,得到 M 個分類結果,計數看預測成哪一類的數目最多,就將此類別作為最後的預測結果。

實現過程

效果展示:這裡介紹用阿里雲的pai平台來實現,無需編碼,直接配置就可。總體的圖形如下: 這裡對比了2種演算法,邏輯回歸和隨機森林,

邏輯回歸的準確率在81%左右。

隨機森林的準確率在88%左右,效果較好。

第一步:導入數據 我做實驗的時候用padas做了數據的預處理,把測試數據和訓練數據合成了一個cvs文件(可以直接在pai裡面操作)。使用讀數據表組件後,表裡的欄位如下:

第二步:sql腳本對數據進行處理

第三步對數據進行歸一化,使各指標處於同一數量級

第四步數據拆分80%數據用於訓練,20%用於測試

第五步使用隨機森林演算法進行預測,配置如下(邏輯回歸用來做對比,這裡不細說):

第六,七步對結果預測&評估。

第八步發布模型後,就可以用api調用進行線上的預測了。


分類演算法的應用場景很多,依賴pai平台可以很快的搭建出常見的模型。

對於分類演算法而言,如何找到更多的有意義的數據特徵值,對於提升準確性有較大的意義。

對各演算法的效果不明確的情況下,可以使用pai對各種演算法採取對比測試,看哪種演算法更符合業務的需求。

更多測試技術文章,微信掃以下二維碼,歡迎關注

測碼奔跑-讓測試技術奔跑起來

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器學習 的精彩文章:

綜述論文:機器學習中的模型評價、模型選擇與演算法選擇
區塊鏈+機器學習,能突破數據的壟斷,做可控的「摩洛克」嗎?

TAG:機器學習 |