1. 程式人生 > >資料探勘一般流程(資料清洗,特徵提取,建模,調參)

資料探勘一般流程(資料清洗,特徵提取,建模,調參)

最近一直在實習,好長時間沒更新部落格了。哎,懶惰之心不可有啊!!

實習的崗位是資料探勘相關的,所以正好把到目前為止實習期間遇到的一些問題、學到的一些東西總結一下,並參考了一些部落格,自我提升。嘿嘿嘿~

資料探勘的一般流程:

1.問題定義:屬於分類問題還是迴歸問題

2.資料獲取:根據資料探勘任務的具體要求,從相關資料來源中抽取相關資料集。(以前在實驗室的時候用到的都是現成的資料,直接拿過來用就行了,到公司發現想要獲取資料還需要掌握LINUXSQL的相關知識,於是抓緊時間惡補了一番,掌握了一些LINUX和SQL的基本命令和操作)

3.資料清洗:清除重複樣本,清除疑似錯誤異常的樣本,清除偏離樣本整體分佈的樣本。(這一步對建立線性模型來說尤為重要,感覺這一步基本靠人肉)

4.缺失值處理:

(1)樣本缺失值較少時,使用均值/眾數值填充,當樣本順序與時間相關的話,填充可以參考相關時間資訊;

(2)把是否缺失直接當作一種特徵輸入到模型中,比如說各種樹模型;

(3)缺失樣本較多時,可以考慮直接清洗掉這些樣本。(實習專案 預測的是價格,出現了好多價格的缺失值,所以直接刪除,美滋滋~)

5.特徵選擇:

(1)意義:避免維度災難,降低模型複雜度,提高模型的可解釋性。

(2)a.嵌入式選擇:將特徵選擇和學習器結合,讓模型訓練過程中自動進行特徵選擇,比如各種樹模型;b.包裹式選擇:以模型最終的學習效能作為特徵集的評估準則,選擇好的特徵集,但因為需要訓練多個模型,開銷很大,不推薦;c.過濾式選擇:計算每個特徵與相應變數的相關性,過濾掉相關性較低的特徵,但實際應用中,一般會逐個特徵分析與預測變數的關係,在Pandas中有很多相關函式(describe,value_counts()等等)可以很清晰的表示出兩者關係,也可以通過畫圖,美滋滋~d.降維,用相關演算法處理資料集,對特徵重要性進行排序,取重要性大的特徵,例如PCA等。

6.資料集劃分:測試集和訓練集(實習中用到的資料與時間相關,所以資料集順序不能打亂,一般訓練:測試比例在7:3  6:4  都行)

7.模型建立:

(1)資料歸一化:一般的模型都需要歸一化,原因:將資料維度都調整到某範圍內。注意點:訓練集歸一化的時候要計算最大值和最小值,測試集歸一化的時候也要用訓練集的最大和最小值進行歸一化。(很重要!!實習過程中犯的第一大錯誤,包括後續要產生某些新特徵時,測試集一定要以訓練集的指標劃分!)

(2)模型選擇:不管怎麼樣先用隨機森林(Random Forest)試試,效果總不會太差,可以以這個為度量來評估後續模型的好壞。一般越複雜的模型效果越高,GBDT,XGBOOST等,但如果需求是解釋性模型較高時,還是線性模型好;

(3)建模:這個就很easy了,尤其是現在各種開源的機器學習包,建模也就幾行程式碼的事兒,推薦Sklearn,不能更方便;

(4)調參:交叉驗證!先大範圍的調,然後再小範圍的調參,直到找到相對較好的引數。

8.學習總結:

(1)Python:由一知半解到有一個整體的認識,包括程式碼的規範書寫(等號兩邊空格,變數常量命名規範等等)、類的定義使用、函式的封裝等等;

(2)Pandas:資料分析工具,分析特徵間、特徵與預測變數間的關係,整理資料,包括切片、聯合等等,常用的函式crosstab、groupby、join等等,產生新特徵(dummy特徵);

(3)Sklearn:簡單模型(線性迴歸)、複雜模型(GBDT,Random Forest)的使用,調參(交叉驗證等),構造新特徵(利用GBDT每棵樹的葉子節點的狀態作為某個樣本的新特徵,與線性迴歸特徵結合訓練);

先到這裡吧,還得繼續幹活了,以後有時間隨時更!Mua~

相關推薦

資料一般流程資料清洗特徵提取建模調

最近一直在實習,好長時間沒更新部落格了。哎,懶惰之心不可有啊!! 實習的崗位是資料探勘相關的,所以正好把到目前為止實習期間遇到的一些問題、學到的一些東西總結一下,並參考了一些部落格,自我提升。嘿嘿嘿~

Python資料學習筆記12淘寶圖片爬蟲實戰

       所謂圖片爬蟲,即是從網際網路中自動把對方伺服器上的圖片爬下來的爬蟲程式。 一、圖片爬蟲前的網頁連結分析 1.首先開啟淘寶首頁,在搜尋框中輸入關鍵詞,如“神舟”,在搜尋結果介面中點選下一頁,分別開啟第一頁,第二頁,第三頁的搜尋結果,並記下每一頁結果的URL至記

資料標準流程CRISP-DM

1、首先說一下KDD模型的概念   知識發現(KDD:Knowledge Discovery in Database)是從資料集中識別出有效的、新穎的、潛在有用的,以及最終可理解的模式的非平凡過程。知識發現將資訊變為知識,從資料礦山中找到蘊藏的知識金塊,將為知識創新和知識經

社交網站的資料與分析高清版PDF

社交網站的資料探勘與分析(高清版)PDF百度網盤連結:https://pan.baidu.com/s/1ia57ZMxvdTtq7eragsITzg 提取碼:5hth 複製這段內容後開啟百度網盤手機App,操作更方便哦內容簡介 · · · · · · Facebook、Twitter和LinkedIn產生了大

Python資料學習筆記1文字挖掘入門

一、準備階段: (1)開啟cmd,pip安裝jieba(pip install jieba) (2)開啟python安裝目錄的Lib->site-packages->jieba,開啟dict.txt,可以看到這是jieba模組的詞典:          每

機器學習&資料筆記_16常見面試之機器學習演算法思想簡單梳理

  前言:   找工作時(IT行業),除了常見的軟體開發以外,機器學習崗位也可以當作是一個選擇,不少計算機方向的研究生都會接觸這個,如果你的研究方向是機器學習/資料探勘之類,且又對其非常感興趣的話,可以考慮考慮該崗位,畢竟在機器智慧沒達到人類水平之前,機器學習可以作為一種重要手段,而隨著科技的不斷髮展,

MADlib——基於SQL的資料解決方案17——迴歸之Cox比例風險迴歸

一、Cox比例風險迴歸簡介        Cox比例風險迴歸模型(Cox’s proportional hazards regression model),簡稱Cox迴歸模型,由英國統計學家D.R.Cox於1972年提出,主要用於腫瘤和其它慢性病的預後分析,也可用於佇列研究的

資料一般過程

目錄 1.資料集選取 2.資料預處理 (1)資料清理 (2)資料整合 (3)資料歸約 (4)資料變換和資料離散化 3.資料分析演算法 4.分析總結改進     這學期提前選課學習了Data Mining,最近提交了論文已經徹底結了。想來想去還是寫點東西記一下,假如以後能用上呢?僅供參考哈

資料乾貨總結--推薦演算法之CF

本文共計1245字,預計閱讀時長八分鐘推薦演算法(二)--CF演算法一、推薦的本質推薦分為非個性化和個性化,非個性化推薦比如各類榜單,而本系列主要介紹個性化推薦,即:在合適的場景,合適的時機,通過合適的渠道,把合適的內容,推薦給合適的使用者二、推薦演算法的種類1. 基於內容C

MADlib——基於SQL的資料解決方案21——分類之KNN

一、分類方法概要1.  分類的概念        資料探勘中分類的目的是學會一個分類函式或分類模型,該模型能把資料庫中的資料項對映到給定類別中的某一個。分類可描述如下:輸入資料,或稱訓練集(Training Set),是由一條條資料庫記錄(Record)組成的。每一條記錄包含

MADlib——基於SQL的資料解決方案8——資料探索之描述性統計

        對資料進行統計是從定量的角度去探索資料,是最基本的資料探索方式,其主要目的是瞭解資料從統計學上反映的量的特徵,以便我們更好地認識這些將要被挖掘的資料。        我們先要清楚兩個關於統計學的基本概念:總體和樣本。統計的總體是人們研究物件的全體,又稱母體,如

MADlib——基於SQL的資料解決方案26——聚類之k-means方法

        “物以類聚,人以群分”,其核心思想就是聚類。所謂聚類,就是將相似的事物聚集在一起,而將不相似的事物劃分到不同的類別的過程,是資料分析中十分重要的一種手段。比如古典生物學中,人們通過物種的形貌特徵將其分門別類,可以說就是一種樸素的人工聚類。如此,我們就可以將世界

資料乾貨總結--NLP基礎

本文共計1463字,預計閱讀時長八分鐘 NLP-基礎和中文分詞 一、本質 NLP (Natural Language Processing)自然語言處理是一門研究計算機處理人類語言的技術 二、NLP用來解決什麼問題 語音合成(Speech synth

資料 文字分類特徵提取

        上一篇我們做完了詞頻統計,下面就該提取文字特徵了。其實詞的頻率就是文字最重要的特徵了,但是我們如果只靠詞的頻率去判斷文字的分類的話,顯然正確率是很低的。         當然,文字的特徵提取有很多辦法了,我上這門課程老師著重介紹的是TF-IDF和卡方校驗兩種

資料 文字分類 訓練和測試

         今天來個大結局吧,我們有了chi值或者TF-IDF值以後,就可以拿他們用lib-svm工具進行訓練了。          當然我們還要對資料進行一些標準化處理,我們需要將某詞與該詞對應的值作為一個向量處理,這個就是特徵向量了。          舉個例子,

資料乾貨總結--推薦演算法之CB

本文共計927字,預計閱讀時長六分鐘推薦演算法(一)--CB演算法一、推薦的本質推薦分為非個性化和個性化,非個性化推薦比如各類榜單,而本系列主要介紹個性化推薦,即:在合適的場景,合適的時機,通過合適的渠道,把合適的內容,推薦給合適的使用者二、推薦演算法的種類1. 基於內容Co

資料 文字分類蒐集中文語料庫與ICTCLAS分詞

           在上一篇部落格中簡單介紹了實驗環境和流程,這一篇我們繼續。            第一步,下載搜狗中文語料庫。連結:http://www.sogou.com/labs/dl/c.html                            我們下載

資料乾貨總結--NLP進階-詳解Jieba分詞工具

NLP進階-詳解Jieba分詞工具 一、Jieba分詞工具 1. 三種模式 • 精確模式:將句子最精確的分開,適合文字分析 • 全模式:句子中所有可以成詞的詞語都掃描出來,速度快,不能解決歧義 • 搜尋引擎模式:在精確模式基礎上,對長詞再次切分,提高召回 2.實現的演算法 • 基於Tri

資料中基本概念--資料型別的屬性與度量

當我們在學習資料探勘演算法或者機器學習演算法時,我們都會發現某些演算法只能應用於特定的資料型別,所以在學習資料探勘演算法或者機器學習演算法前我們需要對資料型別的屬性度量有一個很清晰的瞭解,如果在資料型別這一步就出現問題,不管演算法再怎麼優異肯定也是白搭!! 2.1.1  屬性

資料實踐與我的想法之特徵工程

從一個最近的天池資料探勘比賽,記錄部分特徵工程實踐內容。 比賽連結 商鋪定位 本人渣渣,排名TOP21。 本部落格採用二分類XGBOOST模型,同時涉及部分的多分類模型。重點介紹業務特徵,對於一些科技特徵,就私藏了。 簡單分析 比賽資料給了三部分: