sklearn 线性回归算法+boston房价数据集
生活随笔
收集整理的這篇文章主要介紹了
sklearn 线性回归算法+boston房价数据集
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 步驟
- 代碼實現
- 模型優化
本博客參考書籍:scikit-learn機器學習:常用算法原理及編程實戰
步驟
我們使用sklearn自帶的波士頓房價數據集來預測模型,然后用模型來測算房價
關于load_boston()函數請參考:數據集–load_boston()函數
代碼實現
導入數據集,將數據集進行分割
import time from sklearn.datasets import load_boston from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegressionboston=load_boston() x=boston.data y=boston.target x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=3)print(x_train.shape,x_test.shape,y_train.shape,y_test.shape) >>> (404, 13) (102, 13) (404,) (102,)創建并訓練模型,得出模型的訓練集得分和測試集得分
model=LinearRegression() start=time.time() model.fit(x_train,y_train) train_score=model.score(x_train,y_train) cv_score=model.score(x_test,y_test) print(time.time()-start,train_score,cv_score) >>> 0.0038423538208007812 0.7239410298290111 0.7952617563243853從得分中我們可以看出訓練樣本評分和測試集樣本評分都比較低,這是欠擬合的表現,下面我們對模型進行優化
模型優化
我們在建立管線pipeline時候向管線中加入了StandardScaler()類,用于將數據集中的數據進行歸一化處理,然后加入了PolynomialFeature()類用于向模型中添加多項式特征,以增加模型復雜度,下面我們來看程序的運行結果
model2=polynomial_model(degree=2) model2.fit(x_train,y_train) train_score2=model2.score(x_train,y_train) cv_score2=model2.score(x_test,y_test) print(train_score2,cv_score2) >>> 0.9305468799409319 0.8600492818189015觀察兩個評分我們看到我們采取的優化措施起效果了!
總結
以上是生活随笔為你收集整理的sklearn 线性回归算法+boston房价数据集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分享几个有意思的视频
- 下一篇: nrf51822添加UUID