sklearn 线性回归简单应用

样本准备

import numpy as np
import matplotlib.pyplot as plt

# 样本准备
train_X = np.linspace(-1, 1, 100)
train_Y = 2 * train_X + np.random.randn(*train_X.shape) * 0.3  # y=2x,但是加入了噪声
# 显示模拟数据点
plt.plot(train_X, train_Y, 'ro', label='Original data')
plt.legend()
plt.show()

在这里插入图片描述

模型训练及可视化

from sklearn.linear_model import LinearRegression

model = LinearRegression()
model.fit(train_X.reshape(100, 1), train_Y.reshape(100, 1))
print("输入6,的模型预测结果:", model.predict(6))
print("线性模型的斜率与截距:", model.coef_, model.intercept_)
# y = kx+b
print("使用斜率与截距的计算结果:", model.coef_ * 6 + model.intercept_)

plt.plot(train_X, train_Y, 'ro', label='Original data')
plt.plot(train_X, model.predict(train_X.reshape(100, 1)), label='Fitted line')
plt.legend()
plt.show()

在这里插入图片描述

模型评估

X_test = np.linspace(11, 20, 20)
Y_test = 2 * X_test + np.random.randn(*X_test.shape) * 0.3
print("模型评估的分值:", model.score(X_test.reshape(20, 1), Y_test.reshape(20, 1)))

模型保存,及应用

from sklearn.externals import joblib

joblib.dump(model, "train_model.m")
model = joblib.load("train_model.m")
print("导入模型,并输入6得到的预测结果:", model.predict(6))
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值