數據挖掘工做流

目前帶着一個小組在作全面的用戶畫像的工做,很多同窗都是第一次接觸數據挖掘的工做。因而總結了一個較爲簡單,通用的數據挖掘工做流,也貼出做爲本身的工做結果吧。python

數據挖掘工做流
=========
#### 1 收集數據
收集數據通常是補充外部數據,包括採用爬蟲和接口,獲取,補充目前數據不足部分。Python scrapy,requests是很好的工具。算法

#### 2 準備數據
主要包括數據清洗,預處理,錯值糾正,缺失值填補。連續值離散化,去掉異常值,以及數據歸一化的過程。同時須要根據準備採用的挖掘工具準備恰當的數據格式。dom

#### 3 分析數據
經過初步統計、分析以及可視化,或者是探索性數據分析工具,獲得初步的數據概況。分析數據的分佈,質量,可靠程度,實際做用域,以肯定下一步的算法選擇。 R的ggplot,python的matplotlib,js 的leaflet,d3都是很好的可視化工具。scrapy

#### 4 訓練算法
整個工做流最核心的一步,根據現有數據選擇算法,生成訓練模型。主要是算法選擇和參數調整
1. 算法的選擇,須要對算法性能和精度以及編碼實現難度進行衡量和取捨。 (甚至算法工具箱對數據集的限制狀況都是算法選擇考慮的內容)。實際工程上,不考慮算法複雜度超過O(N^2)的算法。Java的Weka和Python的Scipy是很好的數據挖掘分析工具,通常都會在小數據集作算法選擇的預研。工具

2. 參數調整。這是一門神奇的技能,只能在實際過程當中體會。性能

#### 5 測試算法
這一步主要是針對監督算法(分類,迴歸),爲了防止模型的Overfit,須要測試算法模型的覆蓋能力和性能。方法包括Holdout,還有random subsampling.
非監督算法(聚類),採用更加具體的指標,包括熵,純度,精度,召回等。測試

#### 6 使用,解釋,修正算法
數據挖掘不是一個靜態的過程,須要不斷對模型從新評估,衡量,修正。算法模型的生命週期也是一個值得探討的話題。編碼

相關文章
相關標籤/搜索