机器学习-P2 使用sklearn中提供的线性回归算法

自定义标题1,数据2,线性回归算法信息3,kNNRegressor中的线性回归算法导入算法找出更优的参数1,数据依旧波士顿import numpy as npfrom sklearn import datasetsboston = datasets.load_boston()x = boston.datay = boston.targetx = x[y<50]y = ...
摘要由CSDN通过智能技术生成

1,数据

依旧波士顿

import numpy as np
from sklearn import datasets

boston = datasets.load_boston()

x = boston.data
y = boston.target

x = x[y<50]
y = y[y<50]

2,线性回归算法

from sklearn.linear_model import LinearRegression

lin_reg = LinearRegression()
lin_reg.fit(x_train,y_train)
>>>LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)

信息

对应每个属性的回归系数

lin_reg.coef_
>>>array([-1.05508553e-01,  3.21306705e-02, -2.22057622e-02,  6.65447557e-01,
       -1.38799680e+01,  3.33985605e+00, -2.31747290e-02, -1.26679208e+00,
        2.31563372e-01, -1.30477958e-02, -8.50823070e-01,  6.00080341e-03,
       -3.89336930e-01])

截距(“1”那列对的回归系数)

lin_reg.intercept_
>>>36.92386748074081

跑分

lin_reg.score(x_test,y_test)
>>>0.8156582602978415

3,kNNRegressor中的线性回归算法

导入算法

from sklearn.neighbors import KNeighborsRegressor

knn_reg = KNeighborsRegressor()
knn_reg.fit(x_train,y_train)

跑分
这里会发现,分数很低是因为kNN算法有很多超参数,我们需要挑选出最佳的那组

knn_reg.score(x_test,y_test)
>>>0.6497688813332332

找出更优的参数

给出参数范围

from sklearn.model_selection import GridSearchCV

param_grid = [
    {
   
        "weights":["uniform"],
        "n_neighbors":[i for i in range(1,11)]
    },
    {
   
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值