[云炬python3玩转机器学习] 5-9 scikit-learn中的回归问题
生活随笔
收集整理的這篇文章主要介紹了
[云炬python3玩转机器学习] 5-9 scikit-learn中的回归问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
09 scikit-learn中的回歸問題
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
import datetime;print("Run by CYJ,",datetime.datetime.now())
Run by CYJ, 2022-01-20 20:29:12.409480
boston = datasets.load_boston()X = boston.data
y = boston.targetX = X[y < 50.0]
y = y[y < 50.0]
X.shape
(490, 13)
from playML.model_selection import train_test_splitX_train, X_test, y_train, y_test = train_test_split(X, y, seed=666)
scikit-learn中的線性回歸
from sklearn.linear_model import LinearRegressionlin_reg = LinearRegression()
lin_reg.fit(X_train, y_train)
LinearRegression()
lin_reg.coef_
array([-1.20354261e-01, 3.64423279e-02, -3.61493155e-02, 5.12978140e-02,-1.15775825e+01, 3.42740062e+00, -2.32311760e-02, -1.19487594e+00,2.60101728e-01, -1.40219119e-02, -8.35430488e-01, 7.80472852e-03,-3.80923751e-01])
lin_reg.intercept_
34.117399723229845
lin_reg.score(X_test, y_test)
0.8129794056212809
kNN Regressor
from sklearn.preprocessing import StandardScalerstandardScaler = StandardScaler()
standardScaler.fit(X_train, y_train)
X_train_standard = standardScaler.transform(X_train)
X_test_standard = standardScaler.transform(X_test)
from sklearn.neighbors import KNeighborsRegressorknn_reg = KNeighborsRegressor()
knn_reg.fit(X_train_standard, y_train)
knn_reg.score(X_test_standard, y_test)
0.847923904906593
from sklearn.model_selection import GridSearchCVparam_grid = [{"weights": ["uniform"],"n_neighbors": [i for i in range(1, 11)]},{"weights": ["distance"],"n_neighbors": [i for i in range(1, 11)],"p": [i for i in range(1,6)]}
]knn_reg = KNeighborsRegressor()
grid_search = GridSearchCV(knn_reg, param_grid, n_jobs=-1, verbose=1)
grid_search.fit(X_train_standard, y_train)
Fitting 5 folds for each of 60 candidates, totalling 300 fits
GridSearchCV(estimator=KNeighborsRegressor(), n_jobs=-1,param_grid=[{'n_neighbors': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],'weights': ['uniform']},{'n_neighbors': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],'p': [1, 2, 3, 4, 5], 'weights': ['distance']}],verbose=1)
grid_search.best_params_
{'n_neighbors': 7, 'p': 1, 'weights': 'distance'}
grid_search.best_score_
0.8121986929882669
grid_search.best_estimator_.score(X_test_standard, y_test)
0.8703184399069476
總結
以上是生活随笔為你收集整理的[云炬python3玩转机器学习] 5-9 scikit-learn中的回归问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 互联网红利消退,下一个机会在哪?
- 下一篇: 996,别让年轻人累到不觉得累