筆記 使用scikit learn解決回歸問題

2022-06-07 04:39:09 字數 2562 閱讀 1480

依然是載入資料

import numpy as np

import matplotlib.pyplot as plt

from sklearn import datasets

boston = datasets.load_boston()

x = boston.data

y = boston.target

x = x[y < 50.0]

y = y[y < 50.0]

通過shape看x矩陣中的結構

然後對資料集進行切分,由於sklearn中的隨機和分割方法不同,因此,使用自己的會比較能體現出來,但是,我懶得改了

from sklearn.model_selection import train_test_split

x_train,x_test,y_train,y_test = train_test_split(x,y,random_state=666)

引用並例項化

from sklearn.linear_model import linearregression

lin_reg = linearregression()

將x_train,y_train傳進去,進行fit

檢視其中的內容

我們也可以使用knn來解決回歸問題

先到用相應的類並對其進行初始化,k預設為5,在fit以後,最後看一下準確率

knn中含有超引數,我們使用網格搜尋的方式來搜尋一下相應的超引數,需要定義陣列規定範圍,建立變數建構函式,使用並行處理(-1為全部核心),並進行輸出

得到結果以後可以簡單地來看看最好的結果(不知道為啥,很多計算的資料結果我都和課程不一樣,不知道是電腦問題還是版本問題)

grid_search.best_params_
**準確率

為了得到相同的衡量標準的**率結果,來真正看基於網格搜尋演算法的結果

這是不如線性回歸的結果的

但是也是有一部分原因是因為使用網格搜尋的時候我們比較實用的score是 gridsearchcv中的score的計算方法,我們沒有挑出來使用我們這組資料中的score的來獲得的最佳引數,不能武斷的說某演算法不如某演算法,要結合應用環境以及場景才行

Scikit Learn 使用技巧

1.使用 columntransformer 對 dataframe 不同的列分別進行不同的處理from sklearn.preprocessing import onehotencoder from sklearn.impute import imputer from sklearn.compos...

Scikit Learn學習筆記系列

關於python中的機器學習模組scikit learn模組的學習 使用筆記,我要整理成乙個系列。每一篇學習筆記包括原始碼解析和例項展示。這個既敦促自己不斷的學習下去,也方便日後複習。1 scikit learn學習筆記 開啟旅行 2 scikit learn學習筆記 ordinary least ...

scikit learn文件學習筆記

一 獲取資料,處理資料 coding utf 8 一 載入資料 import numpy as np import urllib url raw data urllib.urlopen url dataset np.loadtxt raw data,delimiter 讀入資料,用逗號分隔 x da...