本文長度為10427字,建議閱讀20+分鐘
本文為你介紹資料探勘的知識及應用。
引言最近筆者學到了一個新詞,叫做“認知摺疊”。就是將複雜的事物包裝成最簡單的樣子,讓大家不用關心裡面的細節就能方便使用。作為資料科學領域從業者,我們所做的事情就是用數學模型來解決實際的商業決策問題,最後包裝成客戶能看懂的簡單圖表。
筆者利用碎片化時間對“資料探勘”這一領域知識進行了“摺疊”。希望在這個碎片化的時代,對資料科學領域感興趣的讀者能夠用最少的時間來學習最精華的東西。
圖一:資料探勘思維導圖
一、什麼是資料探勘
簡單地說,資料探勘是指從大量資料中提取或“挖掘”知識,也叫做資料中的知識發現。
二、為什麼需要資料探勘
隨著網際網路工具的發展,分享和協作的成本大大降低。我們每天用手機聊天、購物、刷短視訊、看新聞等日常的不經意動作給網際網路行業提供了體量龐大的資料。這些資料通常被收集、存放在大型資料儲存庫中,沒有強有力的工具,理解它們已經遠遠超出了我們的能力。而資料探勘技術的出現解決了這一問題。它可以從海量的資料中提取出有價值的資訊,從而作為決策的重要依據。
三、演化過程
柏拉圖曾說過“需要是發明之母”,每一項新技術的誕生都是順應了這個時代的發展。資料探勘”也是資訊科技自然演化的結果。如下表格展示了該演化過程。
四、資料探勘的具體步驟許多人把資料探勘視為“資料中的知識發現”,以下是其具體的步驟:
資料清理(消除噪聲和不一致資料)資料整合(不同來源與格式的資料組合到一起)資料選擇(挖掘所需的資料)資料變換(資料變換成適合挖掘的形式,如彙總,聚集操作)資料探勘(方法,建模)模式評估(結果模型)知識表示(視覺化)五、資料探勘的系統結構
圖二:資料探勘系統結構圖
六、對何種資料進行挖掘
原則上講,資料探勘可以應用於任何型別的資訊儲存庫及瞬態資料(如資料流),如資料庫、資料倉庫、資料集市、事務資料庫、空間資料庫(如地圖等)、工程設計資料(如建築設計等)、多媒體資料(文字、影象、視訊、音訊)、網路、資料流、時間序列資料庫等。
七、挖掘任務
資料探勘功能用於指定資料探勘任務要找的模型型別。一般而言,資料探勘任務可以分為兩類:描述和預測。描述性挖掘任務描述資料庫中資料的一般性質。預測性挖掘任務對當前資料進行推斷,以做出預測。其中描述類任務包含:特徵化和區分等。
針對“特徵化”,我們來舉一個簡單的例子:資料探勘系統應當能夠產生資料探勘工程師特徵的彙總描述,作為對該職位招聘的依據。結果可能是符合該職位的一般輪廓,如計算機相關專業、熟悉常用的資料探勘演算法、會使用統計分析工具、大資料開發經驗等。那麼,什麼又是“區分”呢?繼續之前的例子,資料探勘系統應當能夠描述出優秀資料探勘工程師與一般資料探勘工程師的輪廓。
優秀的資料探勘工程師:超強的講故事的能力、邏輯思維強、終身學習、喜歡用數學模型解決實際的問題。一般的資料探勘工程師:了解常用資料探勘演算法、對工作能夠積極完成、對挖掘結果無法清晰描述給相關人、不會主動學習該行業知識、從事此行業只是為了賺錢。這兩個輪廓將作為我們評判優劣的依據。預測類任務為:關聯分析、分類和預測、聚類分析、孤立點分析和趨勢和演變分析等。下面章節的例項將介紹其中某些預測類模型。在這裡就不再贅述。
八、挖掘什麼模式的資料
1.易於理解的。
2. 在某種程度上,對於新的或檢驗資料是有效的。
3. 潛在有用的。
4. 新穎的。
5. 客觀度量(支援度,置信度)。
6. 使用者想要了解的,對使用者有價值的。
九、資料探勘的侷限性
資料科學家吳軍老師在《數學之美》一書中強調數學之所以美,是因為數學的簡單性。我們的計算機基礎就是布林代數,其運算元素只由0,1組成。雖然數學如此簡單,但其在各個領域的作用卻不容忽視。它可以幫助我們發現僅憑經驗無法發現的規律,找到僅憑經驗無法總結出來的辦法。因此在這個大資料時代,以數學為基礎的資料探勘領域常常會被大家神話。
認為現在的資料體量足夠大,支援的異構資料種類越來越多,資訊的資料化程度越來越完善,分散式的框架也給大資料的深度挖掘提供了有力支援,資料探勘結果也就會越來越精準。其實不然,雖然這些有力條件提高了資料預測能力,但是畢竟還有很多事物暫時還無法資料化。比如人的思維,同時還有網際網路沒有采集到的人們的日常活動等。這些未被採集的資訊,會導致我們挖掘的結果有偏差,甚至完全不可用。並且單一化的數學工具挖掘出的結果通常都比較片面。因此就需要我們建立多元化思維,在進行挖掘的時候要按照“T”型結構。
所謂“T”型結構就是利用現在的有利條件進行縱向深度挖掘,同時也要橫向擴充套件多學科知識。未來的資料探勘領域,絕不是單一的數學一門單一學科就能搞定,而是多學科結合,綜合考慮得出結論。
十、資料探勘例項
1.準備工作
為了讓大家更直觀的了解資料探勘的整個流程,我將該例項中需要用到的軟體,以及如何安裝、配置的過程整理出來,作為例項開始前的準備工作。我選取的是資料探勘工具Rapidminer。之所以選擇此工具,是由於它的便捷性,用拖拽的方式就可以進行分析挖掘,而本篇文章的側重點是想展示資料探勘的整個流程。這個工具無疑是最好的選擇。
1.1Rapidminer工具簡介Rapidminer是一款預測性分析和資料探勘軟體。它的特點是拖拽操作,無需程式設計,運算速度快,有開源版和商業版。它具有豐富資料探勘分析和演算法功能。常用於解決各種的商業關鍵問題。如營銷響應率、客戶細分、客戶忠誠度及終身價值、資產維護、資源規劃、預測性維修、品質管理、社交媒體監測和情感分析等典型商業案例。解決方案覆蓋了各個領域,包括汽車、銀行、保險、生命科學、製造業、石油和天然氣、零售業及快消行業、通訊業、以及公用事業等各個行業。
程式設計:
https://baike.baidu.com/item/%E7%BC%96%E7%A8%8B
1.2Rapidminer安裝我們需要登入rapidminer的官網來下載這個資料探勘工具,如下是該網址:https://rapidminer.com/get-started/
圖三:rapidminer下載介面
圖四:不同作業系統的不同安裝包
1.3Rapidminer配置rapidminer軟體安裝成功後,點選桌面的軟體圖示,即可開啟該軟體,由於我們的例項要進行資料庫的讀寫操作。因此,我們需要建立一個數據庫連線,筆者提前在電腦上安裝了mysql資料庫,資料庫的安裝過程超出了此文章的範圍,讀者需要提前安裝一個數據庫,不限於mysql。
如下所示,我們在介面左側的資料庫連線處進行資料庫連線的建立。並填寫資料庫資訊,最後進行連線測試,當像圖七一樣顯示“Test successful”時,說明已經配置好了。
圖五:建立資料庫連結
圖六:資料庫連線名
圖七:資料庫資訊
2.資料探勘例項演示
下面我們利用Rapidminer資料探勘工具,按照CRISP-DM(資料探勘標準流程)來進行資料探勘的例項演示。
圖八:資料探勘標準流程
2.1商業理解為了讓大家體驗真實的、完整的資料探勘流程。我對一個真實的商業問題做了一個市場調查。並通過這個市場調查結果進行分析。要想把這個商業問題說清楚,我必須在這裡介紹一下我的情況。
去年年底,我的女兒出生了。由於家裡無人可以幫忙照顧,只好辭職在家全職帶寶寶。也跟大多數的全職媽媽一樣,成為了一個名副其實的微商。由於本人特別喜歡看書,就在微信上做起了賣書的小生意。我的生意以童書為主。在賣書的過程中,我發現愛給孩子買書的家長大多數自己本身就喜歡看書或者有學習意識。為了更精準的定位我的目標客戶。我設計了一份專門針對寶媽的調查問卷,目的就是要研究愛學習的寶媽身上都有哪些特質。根據這些特質去有針對性的尋找我的目標客戶,進而提高銷量。
2.2資料理解在“寶媽情況問卷調查”中,我設計了20個與寶媽日常生活息息相關的問題,其具體內容如下:
1.姓名(m_name):調查者的姓名。由於本篇文章會在公眾平臺上發表,對姓名我會做脫敏處理,只留下“姓”作為區分寶媽的依據,如:“吳軍”會被展示成“吳**”。
2.學歷(eduction):調查者的學歷資訊。
3.專業(major):調查者的專業資訊。
4.年齡(age):調查者的年齡。
5.工作年限(work_seniority):調查者的工作年限。
6.工作崗位(m_work):調查者的工作崗位。
7.孩子小名(nickname):寶寶的小名。由於孩子真實姓名也比較敏感,所以這裡只填寫小名。
8.孩子年齡(child_age):寶寶的年齡。
9.孩子性別(child_sex):寶寶的性別。
10.你認為自己家的孩子是否好帶(care_level):
1——4,1表示好帶,4表示特別不好帶。
選項A.1 B.2 C.3 D.4
11.你現在當前的狀態(state_now):
A.全職在外工作 B.兼職在外工作 C.兼職在家 D.全職帶娃 E.其它
12. 如果是自己帶娃,其原因(myself_care_reason):
A.無人給帶 B.別人帶娃不放心 C.特別想自己帶 D.其它
13. 作為女性,你認為工作和生活哪個更重要(m_import):
A.工作 B.生活 C.全都重要 D.具體哪個重要也說不清
14. 如果有別人給帶娃,那個人是誰(care_child_people):
A.爸爸媽媽 B.公公婆婆 C.其它親戚 D.育兒嫂
15. 如果爸爸媽媽或公公婆婆想把孩子帶老家養,什麼都不用你們管,是否同意(go_home_or_not):
A.同意 B.不同意
16. 工作\\帶娃的空閒時間是否考慮過學些專業知識提高自己的競爭力(study_or_not):
A.是 B.否
17. 有沒有學習過專業的育兒經驗(parenting_knowledge_or_not):
A.學過 B.沒學過
18. 是否認為自己是一個稱職的媽媽(qualified_mothers_or_not):
A.稱職 B.不稱職
19.如果有一個網站專門提供在家上班的工作,工作不耽誤帶娃,薪資水平也也不錯,是否考慮註冊一個賬號,並在上面找一個合適的工作(work_home_or_not):
A.考慮 B.不考慮
20. 作為寶媽,你是否有時候感覺自己心情很低落,像是得了抑鬱症,很需要別人進行情感疏導(mothers_mood):
A.有 B.沒有,心情一直很好
2.3資料準備在接下來的資料準備階段,大家可以按照如下地址來下載所需的資料:
https://pan.baidu.com/s/145ljBAR2V0bG8FcXGL3j9A
2.3.1資料收集我通過調查問卷的形式進行了資料收集,以紙質問卷和騰訊問卷兩部分組成,來模擬不同資料來源。紙質問卷的調查地點選擇了人流量比較大的商場。如下是調查問卷中的一份:
圖九:寶媽情況問卷調查
圖十:寶媽情況問卷調查-騰訊問卷
由於紙質的調查問卷無法用來直接分析,因此我將問卷的結果整理到了excel中。如下是整理好的紙質調查問卷部分截圖。excel文件的名字叫做“紙質調查問卷.xlsx”
圖十一:紙質調查問卷
騰訊問卷部分,可以直接線上匯出CSV格式。如下是匯出的CSV檔案中的部分資料截圖。
圖十二:騰訊問卷
同時,我觀察到騰訊問卷的匯出結果已將選擇題的A,B,C,D選項結果轉換成了數字1,2,3,4。為後續的分析工作提供了方便。對比如下:
圖十三:騰訊問卷原始檔案截圖
圖十四:騰訊問卷匯出csv後的檔案
為了看起來方便,我們把匯出的CSV檔名稱改成“騰訊問卷結果.csv”
2.3.2資料清洗1.在Rapidminer中新建一個流程,名字叫“1紙質問卷資料清洗過程”。這個流程的主要目的就是對紙質調查問卷資料進行清洗工作。具體情況如下所示:
圖十五:新建流程“1紙質問卷資料清洗過程”目錄
圖十六:紙質調查問卷部分內容
圖十七:流程“1紙質問卷資料清洗過程”
紙質問卷資料清洗過程解讀:
(1)“讀取紙質調查問卷”的作用是將“紙質調查問卷.xlsx”文件中的內容讀入Rapidminer中。(read excel控制元件)
(2)“過濾姓名為空的行”的作用是過濾掉“圖十六:紙質調查問卷部分內容”中的第七行內容,該行缺少很多必要資訊,不適合做分析。
(3)“空值替換”的作用是將“圖十六:紙質調查問卷部分內容”中eduction、major、m_work列裡的空值替換成預設的“無”。( Reolace Missing Values控制元件)
(4)“選項A替換成1”、 “選項B替換成2”、 “選項C替換成3”、 “選項D替換成4”、 “選項E替換成5”的作用是將“圖十六:紙質調查問卷部分內容”中state_now以後(包含state_now)(filter Examples控制元件)的欄位中含有A、B、C、D、E選項的內容轉換成1、2、3、4、5,便於後續模型的建立,及與騰訊問卷的匯出結果保持一致。(Reolace控制元件)
(5)“寫入資料庫”的作用是將清洗好的“紙質調查問卷.xlsx”資料存入資料庫questionnaire_excel表中。(Write Database控制元件)
2.在Rapidminer中新建一個流程,名字叫“1騰訊問卷資料清洗過程”。這個流程的主要目的就是對騰訊調查問卷資料進行清洗工作。具體情況如下所示:
圖十八:新建流程“1騰訊問卷資料清洗過程”目錄
圖十九:騰訊調查問卷部分內容
圖二十:流程“1騰訊問卷資料清洗過程”
騰訊問卷資料清洗過程解讀:
(1)“讀取騰訊問卷結果” 的作用是將“騰訊問卷結果.csv”文件中的內容讀入Rapidminer中。(Read CSV控制元件)
(2)”去掉不用的列資訊”的作用是將“圖十九:騰訊調查問卷部分內容”中的編號、開始答題時間、結束答題時間、答題時長、自定義欄位這5列資訊去掉,因為這5列資訊不是我們挖掘關注的指標。(Select Attributes控制元件)
(3)“修改欄位名”的作用是將“圖十九:騰訊調查問卷部分內容”中的中文欄位名改成與紙質調查問卷一樣的欄位名。如”1.姓名”改成”m_name”。( Rename控制元件)
(4)“欄位值替換”的作用是將“圖十九:騰訊調查問卷部分內容”中第八行、“5.工作年限”(work_seniority)列的“不清楚”替換成空值。(Reolace控制元件)
(5)“缺失值替換1”的作用是將“圖十九:騰訊調查問卷部分內容”中“2.學歷”、“3.專業”、”6.工作崗位”、“7.孩子小名”、“9.孩子性別”列的空值轉換成預設值“無”,以及將“5.工作年限”、“8.孩子年齡”中的空值轉換成該列的平均值。( Reolace Missing Values控制元件)
(6)“缺失值替換2”的作用是將“圖十九:騰訊調查問卷部分內容”中“12.如果是自己帶娃,其原因?”中的空值轉換成“4”4的含義是“其它”。( Reolace Missing Values控制元件)
(7)“寫入資料庫”的作用是將清洗好的騰訊問卷結果寫入資料庫questionaire_csv表中。(Write Database控制元件)
2.3.3資料整合1.在Rapidminer中新建一個流程,名字叫“2資料整合”。這個流程的主要目的就是將紙質問卷與騰訊問卷清洗好的資料進行整合。為下面的建模做準備。具體情況如下所示:
圖二十一:新建流程“2.資料整合”目錄
圖二十二:流程“1紙質問卷資料清洗過程”結果
圖二十三:流程“1騰訊問卷資料清洗過程”結果
圖二十四:流程“2.資料整合”
資料整合解讀:
(1)“讀取清洗後紙質問卷”的作用是將流程“1紙質問卷資料清洗過程”(在資料庫questionnaire_excel表中存放)的結果讀取出來。(Read Database控制元件)
(2)“讀取清洗後騰訊問卷”的作用是將流程“1騰訊問卷資料清洗過程”(在資料庫questionnaire_csv表中存放)的結果讀取出來。(Read Database控制元件)
(3)“資料型別轉換1”的作用是將清洗後的紙質問卷資料的資料型別進行調整,如:state_now(當前狀態)欄位,清洗前是含有A、B、C、D選項的字元型。清洗後變成含有1、2、3、4選項的數值型。(Guess Types控制元件)
(4)資料型別轉換2”的作用是將清洗後的騰訊問卷資料的資料型別進行調整,如:work_seniority(工作年限)欄位,清洗前是含有“不清楚”字樣的字元型,清洗後變成數值型。(Guess Types控制元件)
(5)“資料合併”的作用是將紙質問卷與騰訊問卷資料進行整合。(Union控制元件)
(6)“寫入資料庫”的作用是將整合後的資料存入資料庫的questionnaire表中。(Write Database控制元件)
2.3.4資料選擇1.在Rapidminer中新建一個流程,名字叫“3資料選擇”。這個流程的主要目的就是選擇建模需要用到的列,將不需要的列篩選下去。具體情況如下所示:
圖二十五:新建流程“3.資料選擇”目錄
圖二十六:流程“2資料整合”結果
圖二十七:流程“3.資料選擇”
資料選擇解讀:
(1)“讀取整合後資料”的作用是將流程“2資料整合”(在資料庫questionnaire表中存放)的結果讀取出來。(Read Database控制元件)
(2)“去掉nickname列”的作用是將nickname(孩子小名)列去掉。保留其它列資訊,主要原因是此列對所要研究的問題建模沒有意義。(Select Attributes控制元件)
(3)“寫入資料庫”的作用是將選擇好的資料寫入資料庫questionnaire_select表中。(Write Database控制元件)
2.3.5資料變換1.在Rapidminer中新建一個流程,名字叫“4資料變換”。這個流程的主要目的就是將eduction、major、m_work及child_sex列中的類別變換成數字,便於建模。具體情況如下所示:
圖二十八:新建流程“4.資料變換”目錄
圖二十九:流程“3資料選擇”結果
圖三十:流程“4資料變換”
資料變換解讀:
(1)“讀取選擇後資料”的作用是將流程“3資料選擇”(在資料庫questionnaire_select表中存放)的結果讀取出來。(Read Database控制元件)
(2)“字典表”的作用是將資料庫中新建的eduction、major、m_work及child_sex列與數字的對映關係讀取出來。(Read Database控制元件)
(3)“對映變換”的作用是將eduction、major、m_work及child_sex列根據字典表的對映關係,轉換成數字。(Replace (Dictionary))
(4)“資料型別轉換”的作用是將eduction、major、m_work及child_sex列的資料型別由字元型轉換成數值型。(Guess Types控制元件)
(5)“寫入資料庫”的作用是將變換好的資料存入資料庫questionnaire_change表中。(Write Database控制元件)
其中學歷資訊對映:
其中專業資訊對映:
其中工作崗位資訊對映:
其中孩子性別資訊對映:
2.3.6離群點分析1.在Rapidminer中新建一個流程,名字叫“5離群點分析”。這個流程的主要目的是分析資料中是否有不和規範的資料。主要看分析出來的離群點是真的有問題,還是有新發現。具體情況如下所示:
圖三十一:新建流程“5離群點分析”目錄
圖三十二:流程“4資料變換”結果
圖三十三:流程“5離群點分析”
圖三十四:離群點分析結果
圖三十五:離群點分析圖表展示1
圖三十六:離群點分析圖表展示2
圖三十七:離群點分析圖表展示3
離群點分析解讀:
(1)“讀取變換後資料”的作用是將流程“4資料變換”(在資料庫questionnaire_change表中存放)的結果讀取出來。(Read Database控制元件)
(2)“離群點分析”的作用是找出資料表中的離群點,並標記出來。這裡可以設定需要找多少個離群點,因為我們的樣本資料比較少,所以筆者設定標記2個離群點資料。(Detect Outlier (Distances)控制元件)
(3)“寫入資料庫”的作用是將經過離群點分析後的資料寫入到資料庫questionnaire_ distance表中。(Write Database控制元件)
執行流程後,找到了2個離群點如“圖三十四:離群點分析結果”所示。
其中“吳**”如圖“圖三十五:離群點分析圖表展示1”與“圖三十六:離群點分析圖表展示2”所示工作年限21年,比其它人的工作年限都長,但是這個人的年齡同時也很大,所以這個離群點是合理的。不用對它進行處理。
另一個“馬*”如圖“圖三十七:離群點分析圖表展示3”所示,她的年齡是7歲,7歲的寶媽,顯然資料有問題,筆者猜測這個被調查者有可能是想寫27歲。
2.3.7處理離群點1.在Rapidminer中新建一個流程,名字叫“6處理離群點”。這個流程的主要目的是將有問題的離群點資料進行處理,沒問題的離群點進行保留。具體情況如下所示:
圖三十八:新建流程“6處理離群點”目錄
圖三十九:流程“6處理離群點”
處理離群點解讀:
(1)“讀取離群點分析後資料”的作用是將流程“5離群點分析”(在資料庫questionnaire_distance表中存放)的結果讀取出來。(Read Database控制元件)
(2)“過濾掉年齡為7的資料”的作用是將流程“5離群點分析”中的異常點過濾掉。(filter Examples控制元件)
(3)“去掉離群點分析列”的作用是將流程“5離群點分析”中用於標記離群點的outlier列去掉。(Select Attributes控制元件)
(4)“寫入資料庫”的作用是將處理離群點後的資料存入資料庫questionnaire_deal表中。(Write Database控制元件)
2.4.建模2.4.1決策樹決策樹(Decision Tree)是在已知各種情況發生概率的基礎上,通過構成決策樹來求取淨現值的期望值大於等於零的概率,評價專案風險,判斷其可行性的決策分析方法,是直觀運用概率分析的一種圖解法。由於這種決策分支畫成圖形很像一棵樹的枝幹,故稱決策樹。
基礎:
https://baike.baidu.com/item/%E5%9F%BA%E7%A1%80/32794
期望:
https://baike.baidu.com/item/%E6%9C%9F%E6%9C%9B/35704
2.4.2決策樹建模1.在Rapidminer中新建一個流程,名字叫“7決策樹建模”。這個流程的主要目的是對所提出的問題進行建模,從而對問題進行預測。具體情況如下所示:
圖四十:新建流程“7決策樹建模”目錄
圖四十一:流程“6處理離群點”結果
圖四十二:流程“決策樹建模”
圖四十三:決策樹模型執行結果
圖四十四:決策樹模型結果描述
決策樹建模解讀:
(1)“讀取處理離群點後資料”的作用是將流程“6處理離群點”(在資料庫questionnaire_deal表中存放)的結果讀取出來。(Read Database控制元件)
(2)“資料型別轉換”的作用是將要預測的study_or_not(空閒時間是否學習)欄位的資料型別轉換成字元型。(Numerical to Polynominal控制元件)
(3)“設定角色”的作用是將m_name(姓名)列的角色設定成ID唯一標識,並且將study_or_not(空閒時間是否學習)列設定成label標識(rapidminer中需要將預測列標識成label欄位才可以執行流程)。(Set Role控制元件)
(4)“決策樹模型”的作用是應用該模型對現有資料進行預測。如圖“圖四十三:決策樹模型執行結果”是決策樹模型的執行結果。(Decision Tree控制元件)
2.5.評價2.5.1決策樹模型評估1.在Rapidminer中新建一個流程,名字叫“8決策樹評估”。這個流程的主要目的是由於建模過程形成的眾多結果,我們沒有辦法去判斷哪個模型最符合現實的情況,因此,我們需要對所建的模型進行評估,通過評估結果來選擇預測最準確的那個模型。具體情況如下所示:
圖四十五:流程“8決策樹評估”目錄
圖四十六:流程“8決策樹評估”
圖四十七:流程“8決策樹評估”2
圖四十八:模型評估控制元件引數設定
圖四十九:決策樹評估結果
決策樹評估解讀:
(1)“讀取處理離群點後資料” 的作用是將流程“6處理離群點”(在資料庫questionnaire_deal表中存放)的結果讀取出來。(Read Database控制元件)
(2)“資料型別轉換”的作用是將要預測的study_or_not(空閒時間是否學習)欄位的資料型別轉換成字元型。(Numerical to Polynominal控制元件)
(3)“設定角色”的作用是將m_name(姓名)列的角色設定成ID唯一標識,並且將study_or_not(空閒時間是否學習)列設定成label標識(rapidminer中需要將預測列標識成label欄位才可以執行流程)。(Set Role控制元件)
(4)“模型評估”的作用是對不同的模型進行訓練,然後對訓練好的模型進行測試。該模型內部也有一個流程,主要是進行模型訓練,最後對訓練好的模型進行評估。此外如圖“圖四十八:模型評估控制元件引數設定”訓練資料和測試的分配比率設定成了0.7,也就是說這個控制元件將資料的70%當成訓練資料,30%當成測試資料。來對這個模型進行評估。(Split Validation控制元件)
(5)“決策樹模型”的作用是應用該模型對現有資料進行預測。如圖“圖四十三:決策樹模型執行結果”是決策樹模型的執行結果。(Decision Tree控制元件)
(6)“模型應用”的作用是按照現有的訓練好的模型對測試資料進行預測。(Apply Model控制元件)
(7)“效能評估”的作用是應用一系列標準值對模型進行評估。如圖“圖四十九:決策樹評估結果”所示,決策樹模型準確率是100%。(Performance控制元件)
6.部署
6.1視覺化展示如下圖所示,是決策樹模型的視覺化結果。
圖五十:決策樹模型執行結果
圖五十一:決策樹模型結果描述
7.小結
圖五十二:決策樹評估中設定的角色
通過圖“圖五十二:決策樹評估中設定的角色”中我們可以看出,我們將study_or_not欄位設定成了label標籤屬性,在Rapidminer中,我們把哪個指標設定成label屬性,我們分析的就是哪個指標。也就是筆者想要分析的“工作\\帶娃的空閒時間是否考慮過學些專業知識提高自己的競爭力”。並且通過上面的對映表可以看出study_or_not等於1是會利用業餘時間學習的人,等於2是業餘時間不學習的人。
通過圖“圖五十:決策樹模型執行結果”及圖“圖五十一:決策樹模型結果描述”可以很直觀的看到,當m_import(作為女性,你認為工作和生活哪個更重要)>2.5時有25個人會利用業餘時間學習、1個人業餘時間不學習。通過觀察資料,會發現m_import大於2.5的資料都是3(C.全都重要)。接下來我們來看決策樹的另一個分支:當m_import(作為女性,你認為工作和生活哪個更重要)<=2.5的時候,通過觀察資料,會發現m_import小於等於2.5的資料是1和2的(1.工作,2.生活)。我們的資料還需要進一步判斷eduction(學歷)。當eduction學歷大於5時沒有人利用業餘時間學習、3個人業餘時間不學習。當eduction(學歷)小於等於5時2個人利用業餘時間學習、沒有人業餘時間不學習。通過上面表格可以看出eduction(學歷)小於等於5的是本科以下學歷的。
綜上所述,筆者想要找到愛學習的寶媽,通過模型可以看出愛學習的寶媽有兩部分組成,一部分是認為工作與生活全都重要的人。另一部分是認為工作、生活有一個重要,並且學歷在本科以下的人。
校對:文婧、林亦霖
作者簡介
宋瑩,資料派研究部志願者,畢業渤海大學資訊與計算科學專業,現就職深圳長亮科技股份有限公司。投身於商業智慧、資料分析及大資料領域7年多,對用資料模型解決實際問題有濃厚興趣,希望結實志趣相投的夥伴。
— 完 —