Python机器学习|广义线性模型(1) | 基本概念

"""
y = 0.5x+3
"""
import numpy as np
import matplotlib.pyplot as plt

# 令x为-5到5之间,元素数为100的等差数列
x = np.linspace(-5, 5, 100)
# 输入直线方程
y = 0.5 * x + 3
plt.plot(x, y, c='orange')
# 图题设为"straight line"
plt.title("Straight line")
plt.show()

在这里插入图片描述

"""
线性模型的图形表示
"""
# 导入线性回归模型
from sklearn.linear_model import LinearRegression

# 输入两个点的横坐标
X = [[1], [4], [3]]
# 输入两个点的纵坐标
y = [3, 5, 3]
# 用线性模型拟合这两个点
lr = LinearRegression().fit(X, y)
# 画出两个点和直线的图形
z = np.linspace(0, 5, 20)
plt.scatter(X, y, s=80)
plt.plot(z, lr.predict(z.reshape(-1, 1)), c='k')
# 设定图题为Straight line
plt.title("Straight line")
plt.show()
# 打印直线方程
print('y = {:.3f}'.format(lr.coef_[0]), 'x', '+ {:.3f}'.format(lr.intercept_))

y = 0.571 x + 2.143

在这里插入图片描述

from sklearn.datasets import make_regression

# 生成用于回归分析的数据集
X, y = make_regression(n_samples=50, n_features=1, n_informative=1, noise=50, random_state=1)
# 使用线性模型对数据进行拟合
reg = LinearRegression()
reg.fit(X, y)
# z是我们生成的等差数列,用来画出线性模型的图形
z = np.linspace(-3, 3, 200).reshape(-1, 1)
plt.scatter(X, y, c='b', s=60)
plt.plot(z, reg.predict(z), c='k')
plt.title('Linear Regression')
plt.show()
# 打印直线的系数和截距
print("直线的系数是:{:.2f}".format(reg.coef_[0]))
print("直线的截距是:{:.2f}".format(reg.intercept_))

直线的系数是:79.52
直线的截距是:10.92

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值