讀書|《Mastering Machine Learning with Python in Six Steps》

蝸牛最近精力真是有限,很快就要大考了,不過讀書不能停。

接下來幾天讀一讀 《Mastering Machine Learning with Python in Six Steps》這本書。

更完整的思維導(dǎo)圖 在整本書結(jié)束后,在我的公眾號后臺回復(fù) MLb01 即可下載。
本文目的為速讀,一些重要的知識點有相關(guān)歷史博文鏈接,還沒有寫到的后續(xù)也會陸續(xù)推出。

如書名 in Six Steps,本書結(jié)構(gòu)也是 6 部分。

step 1: 主要講了 python 的安裝和一些基礎(chǔ)。

step 2: 講了機器學(xué)習(xí)的發(fā)展史,分為 監(jiān)督式,非監(jiān)督式,解決問題的基本流程,核心 package 的主要組件。

發(fā)展史

常用中間的CRISP-DM流程。

一個框架解決幾乎所有機器學(xué)習(xí)問題
通過一個kaggle實例學(xué)習(xí)解決機器學(xué)習(xí)問題

step 3: 機器學(xué)習(xí)基礎(chǔ),包括 數(shù)據(jù)的類型,特征工程,數(shù)據(jù)探索方法,以及回歸
/分類/聚類等基礎(chǔ)算法。

特征工程怎么做
機器學(xué)習(xí)算法應(yīng)用中常用技巧-1
輕松看懂機器學(xué)習(xí)十大常用算法

step 4: 調(diào)優(yōu),講了如何選擇合適的模型參數(shù),超參數(shù),Bagging/Boosting/Stacking 等模型融合方法。

Bagging 簡述
Adaboost 算法
淺談 GBDT
詳解 Stacking 的 python 實現(xiàn)

step 5: 講了在文本挖掘方面的應(yīng)用,包括 數(shù)據(jù)預(yù)處理的常用幾種方法,以及如何做 情感分析和推薦系統(tǒng)。

一個 tflearn 情感分析小例子
怎樣做情感分析
推薦系統(tǒng)

step 6: 深度學(xué)習(xí),簡單介紹幾種神經(jīng)網(wǎng)絡(luò),F(xiàn)NN,CNN,RNN。

機器學(xué)習(xí)&人工智能博文鏈接匯總


step 3:

3.1 數(shù)據(jù)的類型

對于不同類型的數(shù)據(jù),可以通過相應(yīng)的描述性統(tǒng)計方法來觀察數(shù)據(jù):


3.2 特征工程

講了幾種基本方法,例如

對缺失數(shù)據(jù),

  1. < 5% 時可以刪除,2. 用 mean/average or mode
    or median 等值進行代替,3. 用隨機數(shù)替代, 4. 或者用簡單的回歸/分類模型預(yù)測。

對類別數(shù)據(jù),

  1. 可以用 One Hot Encoder 轉(zhuǎn)化,2. 可以用 LabelEncoder() 轉(zhuǎn)化成 0 到
    n_classes-1 的數(shù)字

對數(shù)據(jù)進行規(guī)范化,

  1. Normalizing:將數(shù)據(jù)范圍縮到 0 to 1, 2. standardization:將數(shù)據(jù)轉(zhuǎn)化成標準正態(tài)分布的

3.3 數(shù)據(jù)探索

單變量的可以用 value_counts(), hist(), boxplot() 等方法,

多變量的可以用 Correlation Matrix 看相關(guān)關(guān)系,

也可以用 matrix of scatter plots 看各對變量間的關(guān)系和分布,

通過這些可視化的觀察,可以得到一些基本的發(fā)現(xiàn),例如 missing values,各變量的range,變量間相關(guān)性等。


3.4 回歸

這一部分先講了幾種回歸的模型,然后講了幾種診斷。

幾種回歸的模型

1. Linear regression

在評估模型好壞時,常用指標

機器學(xué)習(xí)中常用評估指標匯總

  • R-squared:在 0~1 之間,越接近 1 模型越好
  • RMSE
  • MAE

2. Polynomial Regression

可以通過 from sklearn.preprocessing import PolynomialFeatures 實現(xiàn),用 R-squared 看哪個degree好一些。

3. Multivariate Regression

例如房價就會由 Bedrooms,Bathrms 等多個因素決定。

此處會涉及到 Multicollinearity 多重共線性問題,即多個自變量彼此強相關(guān)這時應(yīng)該只使用其中一個自變量。

可以用 VIF 來檢查多重共線性:

方法就是:

  • 1.plot correlation matrix
  • 2.Remove multicollinearity
Pseudo code:
vif = [variance_inflation_factor(X[independent_variables].values, ix)
if max(vif) > thresh:
del independent_variables[maxloc]
  • 3.Build the multivariate linear regression model

lm = sm.OLS(y_train, X_train).fit()


幾種診斷:

1. outliers

通過執(zhí)行 Bonferroni outlier test,得到 p value < 0.05 為影響精度的異常值。

2. Homoscedasticity and Normality

誤差方差應(yīng)該是常數(shù),且誤差應(yīng)該是正態(tài)分布的。

3. Over-fitting and Under-fitting

隨著變量數(shù)的增加,模型的復(fù)雜性增加,過擬合的概率也會增加。

Regularization

是其中一種可以緩解過擬合問題的方法,常用 Ridge 和 LASSO 回歸通過懲罰系數(shù)的大小來處理這個問題。

持續(xù)更新

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 谷歌開發(fā)者機器學(xué)習(xí)詞匯表:縱覽機器學(xué)習(xí)基本詞匯與概念 姓名:鐘航 轉(zhuǎn)載自:http://mp.weixin.qq....
    XavierZHH閱讀 1,982評論 0 7
  • A 準確率(accuracy) 分類模型預(yù)測準確的比例。在多類別分類中,準確率定義如下: 在二分類中,準確率定義為...
    630d0109dd74閱讀 1,397評論 0 3
  • 沒怎么經(jīng)歷過愛情,但是想來,真正美好的愛情,是會讓雙方都成長的吧。 嘻嘻嘻其實現(xiàn)在真的無感真的真的不想去追求愛情呢
    眾知閱讀 77評論 0 1
  • 記憶這東西很有趣,它會因人、時期而異。當(dāng)你還年輕,記憶于你來說并不重要,因為大好生活還在前方;一旦韶華不在,...
    肖仕清閱讀 644評論 2 0
  • 林學(xué)院召開2018年班主任工作座談會 來源:福建農(nóng)林大學(xué)(新版)發(fā)布時間: 2018-01-22 作者: 林學(xué)院 ...
    aa004be8db1b閱讀 246評論 0 0