东方耀AI技术分享

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 8228|回复: 17
打印 上一主题 下一主题

[课堂笔记] 12、最小二乘公式法和模型部署:持久化与加载使用_笔记

[复制链接]

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14429
QQ
跳转到指定楼层
楼主
发表于 2018-3-31 10:47:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式


12、最小二乘公式法和模型部署:持久化与加载使用_笔记

  1. # -*- coding: utf-8 -*-
  2. __author__ = 'dongfangyao'
  3. __date__ = '2018/3/31 上午11:44'
  4. __product__ = '这个例子说明:如果进行特征数据标准化则需要截距这个参数,否则会出现偏移'
  5. __filename__ = 'least_squares2'

  6. # 引入所需要的全部包
  7. from sklearn.model_selection import train_test_split # 数据划分的类
  8. # 数据标准化
  9. from sklearn.preprocessing import StandardScaler

  10. import numpy as np
  11. import matplotlib as mpl
  12. import matplotlib.pyplot as plt
  13. import pandas as pd
  14. from pandas import DataFrame
  15. import time

  16. ## 设置字符集,防止中文乱码
  17. mpl.rcParams['font.sans-serif']=[u'simHei']
  18. mpl.rcParams['axes.unicode_minus']=False

  19. # 加载数据
  20. # 日期、时间、有功功率、无功功率、电压、电流、厨房用电功率、洗衣服用电功率、热水器用电功率
  21. path1='datas/household_power_consumption_1000.txt'
  22. df = pd.read_csv(path1, sep=';', low_memory=False)#没有混合类型的时候可以通过low_memory=F调用更多内存,加快效率)

  23. df.head(2)

  24. ## 功率和电流之间的关系
  25. X2 = df.iloc[:,2:4]
  26. print(X2.shape)
  27. Y2 = df.iloc[:,5]

  28. ## 数据分割
  29. X2_train,X2_test,Y2_train,Y2_test = train_test_split(X2, Y2, test_size=0.2, random_state=0)

  30. # 模型对象创建
  31. ss = StandardScaler()
  32. # 训练模型并转换训练集
  33. X2_train = ss.fit_transform(X2_train)
  34. # 直接使用在模型构建数据上进行一个数据标准化操作 (测试集)
  35. X2_test = ss.transform(X2_test)

  36. print(type(X2_train))

  37. # 将X和Y转换为矩阵的形式
  38. X = np.mat(X2_train)
  39. Y = np.mat(Y2_train).reshape(-1, 1)

  40. print(type(X))

  41. # 计算θ
  42. theta = (X.T * X).I * X.T * Y
  43. print(theta)

  44. # 对测试集合进行测试
  45. y_hat = np.mat(X2_test) * theta

  46. # 画图看看
  47. #### 电流关系
  48. t=np.arange(len(X2_test))
  49. plt.figure(facecolor='w')
  50. plt.plot(t, Y2_test, 'r-', linewidth=2, label=u'真实值')
  51. plt.plot(t, y_hat, 'g-', linewidth=2, label=u'预测值')
  52. plt.legend(loc = 'lower right')
  53. plt.title(u"线性回归预测功率与电流之间的关系", fontsize=20)
  54. plt.grid(b=True)
  55. plt.show()








复制代码

  1. ## 模型保存/持久化
  2. # 在机器学习部署的时候,实际上其中一种方式就是将模型进行输出;另外一种方式就是直接将预测结果输出数据库
  3. # 模型输出一般是将模型输出到磁盘文件
  4. from sklearn.externals import joblib

  5. # 保存模型要求给定的文件所在的文件夹必须存在
  6. joblib.dump(ss, "result/data_ss.model") ## 将标准化模型保存
  7. joblib.dump(lr, "result/data_lr.model") ## 将模型保存
复制代码
  1. # 加载模型
  2. ss3 = joblib.load("result/data_ss.model") ## 加载模型
  3. lr3 = joblib.load("result/data_lr.model") ## 加载模型

  4. # 使用加载的模型进行预测
  5. data2 = [[12, 17]]
  6. data2 = ss3.transform(data2)
  7. print(data2)
  8. print(lr3.predict(data2))
复制代码



画板 1.png (1.13 MB, 下载次数: 242)

画板 1.png
让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

0

主题

96

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
沙发
发表于 2019-12-22 20:53:25 | 只看该作者
this is good idea
回复

使用道具 举报

0

主题

100

帖子

214

积分

中级会员

Rank: 3Rank: 3

积分
214
板凳
发表于 2020-5-22 10:48:21 | 只看该作者

非常好非常好,very good
回复

使用道具 举报

0

主题

100

帖子

214

积分

中级会员

Rank: 3Rank: 3

积分
214
地板
发表于 2020-5-22 10:48:38 | 只看该作者

非常好非常好,very good
回复

使用道具 举报

0

主题

12

帖子

46

积分

新手上路

Rank: 1

积分
46
5#
发表于 2020-9-24 11:17:12 | 只看该作者
9999999999999999999999999999999
回复

使用道具 举报

0

主题

99

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
6#
发表于 2020-10-19 17:50:08 | 只看该作者
6666666666666666666
回复

使用道具 举报

0

主题

90

帖子

208

积分

中级会员

Rank: 3Rank: 3

积分
208
7#
发表于 2021-7-13 09:50:25 | 只看该作者
666666666666666
回复

使用道具 举报

0

主题

90

帖子

208

积分

中级会员

Rank: 3Rank: 3

积分
208
8#
发表于 2021-7-14 09:37:27 | 只看该作者

6666666666666666666
回复

使用道具 举报

0

主题

90

帖子

208

积分

中级会员

Rank: 3Rank: 3

积分
208
9#
发表于 2021-7-14 09:38:14 | 只看该作者

6666666666666666666
回复

使用道具 举报

0

主题

90

帖子

208

积分

中级会员

Rank: 3Rank: 3

积分
208
10#
发表于 2021-7-14 09:38:47 | 只看该作者

6666666666666666666
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|人工智能工程师的摇篮 ( 湘ICP备2020019608号-1 )

GMT+8, 2024-4-20 02:54 , Processed in 0.184672 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表