機器學習十講-第二講迴歸

迴歸

迴歸三大模型

  • 線性迴歸
  • 嶺迴歸
  • LASSO迴歸

 

使用迴歸模型預測鮑魚年齡

1、導入數據,進行分析

 

 能夠看出鮑魚有9個特徵函數

每一個特徵所對應的數據表明的含義是:佈局

 

 數據集一共有 4177 個樣本,每一個樣本有 9 個特徵。其中 rings 爲鮑魚環數,可以表明鮑魚年齡,是預測變量。除了 sex 爲離散特徵,其他都爲連續變量。測試

首先借助 seaborn 中的 countplot 函數繪製條形圖,觀察 sex 列的取值分佈狀況。編碼

 

 對於連續特徵,可使用 seaborn 的 distplot 函數繪製直方圖觀察特徵取值狀況。咱們將 8 個連續特徵的直方圖繪製在一個 4 行 2 列的子圖佈局中。3d

 

 也能夠經過,熱力圖來展現性別對其餘特徵的影響code

 

 爲了定量地分析特徵之間的線性相關性,咱們計算特徵之間的相關係數矩陣,並藉助熱力圖將相關性可視化。blog

 

 

2、鮑魚數據預處理

對 sex 特徵進行 OneHot 編碼

添加取值爲 1 的特徵(如果用sklearn中的linear_model裏的迴歸函數,則沒必要添加)

根據鮑魚環計算年齡

通常每過一年,鮑魚就會在其殼上留下一道深深的印記,這叫生長紋,就至關於樹木的年輪。在本數據集中,咱們要預測的是鮑魚的年齡,能夠經過環數 rings 加上 1.5 獲得。變量

構造兩組特徵集

將鮑魚數據集劃分爲訓練集和測試集

實現線性迴歸和嶺迴歸

構建本身的線性迴歸方程

 

 

 

 

 使用sklearn裏的線性方程

這裏所用的訓練集的參數:是不包含ones那一列的可視化

 

 可見結果值相同,咱們使用 Numpy 實現的線性迴歸模型與 sklearn 獲得的結果是一致的。model

構建本身的嶺迴歸方程

 

 

 

 

 使用sklearn裏的嶺迴歸方程

使用 LASSO 構建鮑魚年齡預測模型

 

 

鮑魚年齡預測模型效果評估

 

能夠看出:嶺迴歸和線性迴歸比較好

 

能夠看出三者都很差,嶺迴歸相對好

 

 

相關文章
相關標籤/搜索