【sklearn】——1. 广义线性模型 Generalized Linear Models


1.线性回归Linear Regression

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 18/2/27 上午11:25
# @Author  : cicada@hole
# @File    : lineModel.py
# @Desc    : 第一节广义线性模型
# @Link    : http://scikit-learn.org/stable/modules/linear_model.html


# reg = linear_model.LinearRegression() #线性回归
# reg.fit([[0, 0, 0],[1, 1, 1],[2, 2,2]],[0, 1, 2]) # 前边是x的列表,后边是对应的y值,即 y= w0x0+w1x1
# print(reg.coef_)# coef_拟合参数
# rt = reg.predict([[2,2,2],[3,4,3],[3,1,0]])
# print(rt)

from sklearn import datasets, linear_model
import matplotlib.pyplot as plt
import numpy as np
from sklearn.metrics import  mean_squared_error, r2_score #均方差

class LinearRegression:


    # 加载糖尿病数据集
    diabetes = datasets.load_diabetes()

    #使用一个特征
    diabetes_X = diabetes.data[:, np.newaxis, 2] #np.newaxis的功能是插入新维度

    #把数据分成训练集和测试集
    diabetes_X_train = diabetes_X[:-5]
    diabetes_X_test = diabetes_X[-5:]
    diabetes_y_train = diabetes.target[:-5]
    diabetes_y_test = diabetes.target[-5:]

    #创建线性回归对象
    regr = linear_model.LinearRegression()

    #用训练集训练数据
    regr.fit(diabetes_X_train, diabetes_y_train)


    #预测结果
    diabetes_y_pred = regr.predict(diabetes_X_test)

    print(np.hstack((diabetes_y_test,diabetes_y_pred)))
    #打印系数
    print('Coefficients: \n', regr.coef_)

    #最小均方差
    print("Mean squared error: %.2f"
            % mean_squared_error(diabetes_y_test, diabetes_y_pred))
    print('Variance score: %.2f' % r2_score(diabetes_y_test, diabetes_y_pred))

    #绘制输出图
    plt.scatter(diabetes_X_test, diabetes_y_test, color='black')
    plt.plot(diabetes_X_test,diabetes_y_pred, color='blue', linewidth=3)

    plt.xticks()
    plt.yticks()

    plt.show()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值