當前位置:
首頁 > 科技 > 上手教程:15分鐘掌握機器學習

上手教程:15分鐘掌握機器學習

E安全6月23日文 在本篇指南中,我們將共同了解關於決策樹的各項關鍵。

自從谷歌旗下的Alpha Go橫掃人類圍棋高手之後,人工智慧和機器學習成了街頭巷尾人盡皆知的名詞。同時,機器學習也迅速成為了眾人渴望的必備技能之一。

上手教程:15分鐘掌握機器學習

如果大家對於機器學習技術抱有興趣,但又不太清楚如何將其與您的業務相匹配,那麼最好的辦法當然是擼起袖子,親自動手嘗試。

什麼是機器學習?

機器學習是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、演算法複雜度理論等多門學科。它是人工智慧的核心,是使計算機具有智能的根本途徑,其應用遍及人工智慧的各個領域,主要使用歸納、綜合而不是演繹。

機器學習模型可用於多種不同的領域內以提升生產效率、識別風險或者發現新的商業機遇。機器學習模型的預測主要分為兩大方向:


一、為確切值預測,例如下周的銷售額;

二、為分類預測,即通過預測在風險組合中將某一客戶劃分為高風險、中等風險抑或低風險類別。

需要注意的是,機器學習並不能用於解決一切問題。如果模型相對較新且此前並沒有進行過反覆實踐,或者不具備充足的訓練用數據,那麼機器學習模型的表現將很難令人滿意。儘管已經存在可用於支持各類用例的技術手段,但機器學習仍然需要配合人類驗證、識別檢查以及相關領域的知識方可奏效。話雖如此,我們仍然可以通過之前提到的各類案例嘗試解決並體驗各類可實現目標。

以下請跟E安全一起嘗試機器學習技術的一種基本應用:將一組客戶數據轉化為風險水平預測流程。

從分類起步

為了實現分類,我們需要使用一套分類模型,用於預測特定條目屬於哪種類別或者組。此類方案中的典型代表正是隨機森林演算法。


E安全百科:「隨機森林演算法」就是用隨機的方式建立一個森林,森林裡面由很多的決策樹組成,每一棵決策樹之間互不關聯。得到森林之後,每當有一個新的樣本輸入,就讓森林中的每一棵決策樹分別進行一下判斷,看看這個樣本應該屬於哪一類(對於分類演算法),最終得出被選擇最多的那一類。

這類模型基於決策樹方法,即通過不同變數(客戶相關信息)對一組包含主題(在本示例中為客戶)的條目進行不斷劃分,直到各條目皆被放置入特定的類別。隨機森林正是決策樹的大規模集合。使用大量決策樹能夠降低過度擬合風險(是指模型在利用第一組特定數據進行訓練後能夠實現理想的結果,但繼續處理後續數據集時效果卻有所下降的狀況)。

操作步驟

要創造這樣複雜的方案似乎會給我們帶來一系列嚴峻挑戰。但目前多種程序語言都包含有用於構建此類模型的庫。在本示例當中,我們將使用Python的scikitlearn庫(外加pandas與numpy兩套庫,二者負責對數據集進行管理,E安全註:本文相關工具均可在文末下載)。

在繼續之前,請大家確保已經正確安裝了Python(這裡我們演示使用的為Python 2),並順利載入了以上提到的三款軟體包。要安裝這三套庫,可在終端中運行pip install sklearn命令(pands與numpy也按照這個方式安裝)。

本示例全部通過Jupyter記事本展示,其同時也是數據科學家在開發過程中經常接觸到的界面。大家可以直接將這裡使用的代碼片段運行於Python控制台或者任何其它Python IDE當中。

以下import語句使得各庫可用於你的當前會話。此後,繼續將來自csv文件的數據載入至一個數據幀(即pandas所使用的特定數據網格樣式)之內,接下來添加您的標題名稱。

上手教程:15分鐘掌握機器學習

現在,數據已經被添加到pandas dataframe(簡稱df)之內,下圖所示為該數據幀內的前五行。

上手教程:15分鐘掌握機器學習

為了讓模型具備準確的預測能力,我們需要對其進行「訓練」。到這裡,模型已經展示出一組存在相互關聯的分類數據。可以看到,該模型能夠了解數據主體(本示例中為客戶)所給出的信息以及相關各標籤間的聯繫(即客戶屬於高、中抑或低風險狀態)。

在使用隨機森林模型的情況下,其會通過數據集的特徵對數據進行劃分或者分區,進而找出其關聯。舉例來說,通過所使用設備的數量進行劃分,並將其中雙設備結果記錄與單一設備的結果進行區分(根據數據集的基數,可能存在兩個甚至更多分組)。更進一步的劃分則通過使用其它信息來完成,直至模型能夠判斷各條記錄所歸屬的最終類別(在本示例中為風險級別)。

初入森林

在模型訓練完成之後,我們可以利用其尚未接觸過的其它數據進行測試。新數據中不存在原始標籤,這意味著模型需要自行對其值進行預測。

為了實現這一點,我們需要將數據集劃分為兩個部分。其中一部分數據集用於訓練,另一部分則用於測試。以下代碼片段為每個觀察值隨機分配1到100間的某個值,其中被分配於低於70的隨機數的行將作為訓練集存在,而其餘部分則屬於測試集。這意味著全部數據中將有約70%被用於訓練。我們可以輸出各數據集的分配值以證明這一點。

上手教程:15分鐘掌握機器學習

接下來的任務是為模型準備好對應的訓練集。我們將創建一個變數以保存對各特徵的推理(這部分信息可幫助確定最終分類信息),而另一變數則用於保存類別本身。

首先,為各類別創建變數。通過以下示例可以看到,該變數負責訓練標籤,同時存放來自該數據集之風險標籤列的具體內容。目前各風險級別被劃分為「高」、「中」與「低」,但我們將利用「因子分解」函數將三者以數字形式表達(0、1和2)。

上手教程:15分鐘掌握機器學習

下面,各特徵的名稱會被捕捉至另一獨立變更當中,即以下所示的columns_for_features。與此同時,隨機森林分類器將被創建並存儲在classifier變數之內。

現在模型訓練的準備工作已經全部就緒。該分類器具備一條fit函數,其被傳遞至數據集中的訓練部分(train_df),但會向模型強調其應當關注的具體列。同樣也會被傳遞至訓練標籤,或者說現已可用的類別當中。

上手教程:15分鐘掌握機器學習

現在,模型需要正式接受訓練。在這一過程中,模型將了解「特徵」與「標籤」之間的關聯,並學習如何在各特徵可用時判斷未知數據的正確標籤。

反覆測試

利用數據集中的測試性數據,我們可以了解自己的這套模型擁有怎樣的實際預測表現。分類器中存在一條名為predict的函數,其負責將特徵數據由此前準備好的test_df數據集當中提取出來。由此輸出的結果則為一套整數集(分為0、1和2),其分別擁有與之對應的標籤(即『高』、『中』、『低』)。而這些正是我們模型所要預測的類別結論。

上手教程:15分鐘掌握機器學習

雖然目前的成果已經相當令人興奮,但仍不具備現實意義。我們需要通過幾個快速步驟將各值解碼為其文本標籤,而後將模型所提供的類別結論與測試數據集中的原始標籤進行比較,藉以判斷其預測準確度。

上手教程:15分鐘掌握機器學習

以下網格所示為各個實際分組中的具體數字,且需要與預測分組進行比較。可以看到,對於10個高風險觀察值,該模型將其中9個成功預測為「高風險」,而其中1個則被誤判為「中等風險」。而在18個低風險觀察值中,該模型帶來了完全準確的預測結果。最後,10項中等風險內有7個得到正確預測,而另外3項則被錯誤預測為「高風險」。這樣的結果基本令人滿意。

上手教程:15分鐘掌握機器學習

接下來,只需要通過簡單的幾個步驟,我們即可創建一套模型,並訓練其以識別數據當中存在的模式。基於這種訓練,該模型還可成功預測此前從未接觸過的客戶數據。利用這些預測模式,企業工作人員將不再需要手動審查客戶詳細信息,而這種對高風險客戶的簡化分析流程還可幫助我們將注意力集中在更具意義的價值生成工作身上。

在本示例當中,分類器負責預測風險級別。但同樣的技術還可用於預測客戶流失、設備故障以及其它多種實際業務問題

在實際操作當中,大家會發現這一流程所耗費的時間可能比想像中更長,但總體來講,本文已經展示了其基本原理,並探討了其中作為在機器學習領域邁出第一步的關鍵性舉措。

另外,我們也體會到了使用預先準備的數據集所帶來的助益。在大多數情況下,機器學習必須擁有經過正確歸納的數據集方可完成建模並真正處理實踐工作而這種歸納任務可能包括數據清理、特徵選擇(即首先選擇需要哪些數據)、轉換與格式調整

這些工作中的每一項都完全可以作為單獨的主題進行分析,但在今天的這篇快速上手教程中,我們只是順帶一提即可。總之——歡迎來到機器學習的時代!

相關下載地址:


Python:https://www.python.org/downloads/

Scikitlearn:http://scikit-learn.org/stable/

pandas:http://pandas.pydata.org/

numpy:http://www.numpy.org/

E安全註:本文系E安全獨家編譯報道,轉載請聯繫授權,並保留出處與鏈接,不得刪減內容

@E安全,最專業的前沿網路安全媒體和產業服務平台,每日提供優質全球網路安全資訊與深度思考。

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

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


請您繼續閱讀更多來自 E安全 的精彩文章:

PRMitM攻擊:在帳戶註冊過程中重置受害者的其它密碼
VMware將在第三季度推出 「App Defence」 安全產品
牛津大學:俄羅斯社交媒體「機器人」操縱全球政治局勢
1.2G!微軟確認部分Win10源碼遭泄露 兩名黑客被捕

TAG:E安全 |

您可能感興趣

籃球教學:教你快速掌握左手上籃技巧
5分鐘100%掌握小程序運營推廣技巧
掌握這12 條經驗,才算學懂了機器學習!
5950分鐘全面掌握後期軟體及處理技法!
掌握5個手機拍照技巧!網友:學會了分分鐘拍出大片!
教你三分鐘掌握構圖技巧
181113 追星技能掌握滿分!跟陳偉霆學吹彩虹屁
程小奔-輕鬆掌握機器人啟蒙教育
45分鐘,教你完整掌握彩鉛花卉繪畫!
3500元組裝電腦主機,12線程處理器,還有高速固態:掌握這些,組裝電腦就沒有問題了!
小米手環2限時特價99元 心率監測科學運動自主掌握
中國花200億美元掌握俄蘇-27SK技術,已研製出重型戰鬥機—殲11B
科技早報 – 玻璃外殼手機成為主流、博通有望掌握高通董事會多數 – 20180306
掌握WIN10這些功能,3分鐘讓你成為電腦使用高手
4AM壕氣十足更換5個全新2080TI,老闆娘:科技掌握力量
第137期:命運掌握在自己手裡!
快速掌握H5製作技巧
新手父母都應掌握的10大育兒必備技能,10張圖輕鬆掌握
小兒推拿精選6招:月嫂掌握這6招足矣!手把手教你
每天花費30秒跟著韓國網紅學化妝!各種彩妝小tip分分鐘掌握