20 理解業(yè)務和數(shù)據(jù):我們需要做好什么計劃?_嗶哩嗶哩_bilibili
目錄
? 一、理解業(yè)務和數(shù)據(jù):我們需要做好什么計劃?
1.1兩個思想問題
1.2為什么數(shù)據(jù)挖掘不是萬能的
1.3業(yè)務背景與目標
1.4把握數(shù)據(jù)?
1.5總結
二、 準備數(shù)據(jù):如何處理出完整、干凈的數(shù)據(jù)?
2.1找到數(shù)據(jù)
2.2數(shù)據(jù)探索
2.3數(shù)據(jù)清洗
2.3.1缺失值處理
2.3.2異常值的處理
2.3.3數(shù)據(jù)偏差
2.3.4數(shù)據(jù)標準化?
2.3.5特征選擇
?2.4構建訓練集和測試集
?三、?數(shù)據(jù)建模:該如何選擇一個適合我需求的算法?
3.1分類問題??
3.2聚類問題
3.3回歸問題
3.4關聯(lián)問題?
3.5模型集成?
3.5.1(bagging)裝袋法
3.5.2boosting增強法
3.5.3stacking堆疊法?
四、模型評估:如何確認我們的模型已經(jīng)達標?
4.1一個關于“訓練一個小豬圖片分類模型”的例子
4.1.1評估指標:混淆矩陣與準確率指標
4.1.2評估指標:十分重要的業(yè)務抽取評估?
4.1.3泛化能力評估
4.1.4其他評估指標
4.1.5評估數(shù)據(jù)集的處理?
4.2總結
?五、?模型應用:我們的模型是否可以解決業(yè)務需求?
5.1模型部署
5.2模型保存
5.3模型的優(yōu)化
5.4離線應用還是在線應用
5.5一個方案
5.6總結
? 一、理解業(yè)務和數(shù)據(jù):我們需要做好什么計劃?
在開始數(shù)據(jù)挖掘的時候
要確保你對業(yè)務及其數(shù)據(jù)有充分的理解
1.1兩個思想問題
1.2為什么數(shù)據(jù)挖掘不是萬能的
數(shù)據(jù)挖掘只能在有限的資源與條件下去提供最大化的解決方案
?
1.3業(yè)務背景與目標
?
1.4把握數(shù)據(jù)?
?
?
1.5總結
二、 準備數(shù)據(jù):如何處理出完整、干凈的數(shù)據(jù)?
做好數(shù)據(jù)的準備工作是獲得一個好結果的必由之路,準備數(shù)據(jù)不是獨立存在的,不是說一次性做完數(shù)據(jù)準備工作就結束了。后面的模型訓練和模型評估環(huán)節(jié)數(shù)據(jù)的準備相關,當模型出現(xiàn)錯誤,結果達不到預期,往往需要重新回到數(shù)據(jù)準備環(huán)節(jié)進行處理,反復迭代幾次最終才能達到期望。
2.1找到數(shù)據(jù)
?
2.2數(shù)據(jù)探索
2.3數(shù)據(jù)清洗
2.3.1缺失值處理
?
2.3.2異常值的處理
?
2.3.3數(shù)據(jù)偏差
?
2.3.4數(shù)據(jù)標準化?
?
2.3.5特征選擇
?
?2.4構建訓練集和測試集
?
?三、?數(shù)據(jù)建模:該如何選擇一個適合我需求的算法?
?
3.1分類問題??
有監(jiān)督學習:
概念:通過已有的訓練樣本去訓練得到一個最優(yōu)模型,再利用這個模型將所有的輸入映射為相應的輸出,對輸出進行簡單的判斷從而實現(xiàn)預測和分類的目的,也就具有了對未知數(shù)據(jù)進行預測和分類的能力。簡單來說,就像有標準答案的練習題,然后再去考試,相比沒有答案的練習題然后去考試準確率更高。監(jiān)督學習中的數(shù)據(jù)中是提前做好了分類信息的, 它的訓練樣本中是同時包含有特征和標簽信息的,因此根據(jù)這些來得到相應的輸出。
有監(jiān)督算法常見的有:線性回歸算法、BP神經(jīng)網(wǎng)絡算法、決策樹、支持向量機、KNN等。
有監(jiān)督學習中,比較典型的問題可以分為:輸入變量與輸出變量均為連續(xù)的變量的預測問題稱為回歸問題(Regression),輸出變量為有限個離散變量的預測問題稱為分類問題(Classfication),輸入變量與輸出變量均為變量序列的預測問題稱為標注問題。
?
?
3.2聚類問題
無監(jiān)督學習:
概念:訓練樣本的標記信息未知, 目標是通過對無標記訓練樣本的學習來揭示數(shù)據(jù)的內在性質及規(guī)律,為進一步的數(shù)據(jù)分析提供基礎,此類學習任務中研究最多、應用最廣的是"聚類" (clustering),聚類目的在于把相似的東西聚在一起,主要通過計算樣本間和群體間距離得到。深度學習和PCA都屬于無監(jiān)督學習的范疇。
無監(jiān)督算法常見的有:密度估計(densityestimation)、異常檢測(anomaly detection)、層次聚類、EM算法、K-Means算法(K均值算法)、DBSCAN算法 等。
?
3.3回歸問題
?
不管是線性數(shù)據(jù)還是非線性數(shù)據(jù)都可以用回歸分析
通過學習可以得到一條線,較好的擬合了這些數(shù)據(jù),可能不通過任何一個數(shù)據(jù)點,而是使得所有數(shù)據(jù)點到這條線的距離都是最短的,或者說損失是最小的。根據(jù)這條線,如果給出一個新的x,你就可以算出對應的y是多少。
?
?
3.4關聯(lián)問題?
?
3.5模型集成?
模型集成也可以叫做集成學習
思路:合并多個模型來提升整體的效果
三種模型集成的方法:
3.5.1(bagging)裝袋法
3.5.2boosting增強法
3.5.3stacking堆疊法?
四、模型評估:如何確認我們的模型已經(jīng)達標?
模型評估是對模型進行多種維度的評估,來確認模型是否可以放到線上去使用
?
4.1一個關于“訓練一個小豬圖片分類模型”的例子
?
4.1.1評估指標:混淆矩陣與準確率指標
?
?
具體是如何構建的,以小豬圖為例:
?選定若干組判定的概率就能得到若干組混淆矩陣:
使用這些值畫在坐標軸上:橫坐標是假正例率,縱坐標是真正例率,這些點連起來形成的曲線我們就稱為ROC曲線,ROC曲線下方的面積就是AUC值。
?ROC曲線和AUC值可以反應一個模型的穩(wěn)定性,當ROC曲線接近于對角線的時候說明模型的輸出極不穩(wěn)定,模型就更加不準確。
4.1.2評估指標:十分重要的業(yè)務抽取評估?
4.1.3泛化能力評估
除了要求模型的準確外,模型的泛化能力也值得重視
通過兩個指標來評估模型泛化能力是好還是好壞
?以小豬為例:
4.1.4其他評估指標
4.1.5評估數(shù)據(jù)集的處理?
4.2總結
?
?五、?模型應用:我們的模型是否可以解決業(yè)務需求?
5.1模型部署
5.2模型保存
把模型保存好以方便應用,要給模型定義好一個名字,甚至需要維護好一個詳細的文檔來記錄模型所使用的算法,訓練數(shù)據(jù),評估結果等信息。因為在整個過程中會進行很多次訓練,產生很多的模型,或者把很多的模型組合在生產中使用,同時還需要跟后面的重新訓練進行效果的對比,有時候模型的訓練和部署可能由不同的人來實施,如果保存時沒有注意到這些問題,很可能導致出現(xiàn)混亂的情況,所以我們要制定好模型保存的規(guī)范,包括存放的位置,名字的定義,模型使用的算法,數(shù)據(jù)效果等內容,防止發(fā)生遺忘,丟失,誤刪除甚至是服務器崩壞等人為的事故造成不要損失。
5.3模型的優(yōu)化
5.4離線應用還是在線應用
5.5一個方案
?通常算法工程師或者數(shù)據(jù)挖掘工程師,都忙于解決模型問題,到了模型部署階段就頭疼不已,尤其是大規(guī)模的需要運行的線上服務可能會耗費很多時間。以下是一個簡單的部署方案
?
5.6總結
- 記錄項目 經(jīng)驗,學會總結反思
- 多考慮一點,如何適用更多的場景
?比如說在做標簽....避免冗余開發(fā)
- ?監(jiān)控與迭代
模型的監(jiān)控從以下3個方面入手
?1、結果監(jiān)控主要是針對一些具體的指標(準確率、召回率等)進行監(jiān)控,還可以根據(jù)具體產出的結果在業(yè)務中的效果進行監(jiān)控?
?2、人工定期復審
?3、Case收集與樣本積累
通過具體的Case我們可以知道當前的模型存在哪些問題,有些Case可能是因為模型本身的問題造成,有些是因為業(yè)務場景的數(shù)據(jù)發(fā)生變化造成的。通過收集的Case進行分析,可以知道我們需要從哪個方向去優(yōu)化模型。
所以在前期準備數(shù)據(jù)時遇到的數(shù)據(jù)準備不充分的情況,也可以在收集環(huán)節(jié)重點關注,以補全上一版訓練時的一些缺失情侶,這樣在下次迭代訓練時能夠有更好的樣本集。
?
?文章來源地址http://www.zghlxwxcb.cn/news/detail-452173.html文章來源:http://www.zghlxwxcb.cn/news/detail-452173.html
?
到了這里,關于Python數(shù)據(jù)分析-數(shù)據(jù)挖掘(準備數(shù)據(jù)——數(shù)據(jù)建模——模型評估——模型應用)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!