贪心科技机器学习训练营(一)

举报
毛利 发表于 2021/07/15 06:35:55 2021/07/15
【摘要】 来源:贪心学院,https://www.zhihu.com/people/tan-xin-xue-yuan/activities 笔者,最近参加的贪心科技的机器学习训练营。。。。。。。。 学习本是一个反复的过程。 竟然要我写笔记交作业,还要写在知乎。。。。。。。。 我知乎没文章啊啊啊啊 我赶紧找下之前写的博文 从简单的一元回归分析入门机器学习 用多元线性回...

来源:贪心学院,https://www.zhihu.com/people/tan-xin-xue-yuan/activities

笔者,最近参加的贪心科技的机器学习训练营。。。。。。。。

学习本是一个反复的过程。

竟然要我写笔记交作业,还要写在知乎。。。。。。。。

我知乎没文章啊啊啊啊

我赶紧找下之前写的博文

从简单的一元回归分析入门机器学习

用多元线性回归分析问题

机器学习概念

线性回归实例

机器学习入门之线性回归

你所在的公司在电视上做产品广告, 收集到了电视广告投入x(以百万为单位)与产品销售量y(以亿为单位)的数据. 你作为公司的数据科学家, 希望通过分析这些数据, 了解电视广告投入x(以百万为单位)与产品销售量y的关系.

假设x与y的之间的关系是线性的, 也就是说 y = ax + b. 通过线性回归(Linear Regression), 我们就可以得知 a 和 b 的值. 于是我们在未来做规划的时候, 通过电视广告投入x, 就可以预测产品销售量y, 从而可以提前做好生产和物流, 仓储的规划. 为客户提供更好的服务.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

  
 
  • 1
  • 2
  • 3
  • 4
data = pd.read_csv("data/Advertising.csv")

  
 
  • 1
data.head()

  
 
  • 1
TV sales
0 230.1 22.1
1 44.5 10.4
2 17.2 9.3
3 151.5 18.5
4 180.8 12.9
data.columns

  
 
  • 1
Index(['TV', 'sales'], dtype='object')

  
 
  • 1

通过数据可视化分析数据

plt.figure(figsize=(16, 8))
plt.scatter(data['TV'], data['sales'], c ='black')
plt.xlabel("Money spent on TV ads")
plt.ylabel("Sales")
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

训练线性回归模型

# 将pandas的Series变成numpy的ndarray

X = data['TV'].values.reshape(-1,1)
y = data['sales'].values.reshape(-1,1)

reg = LinearRegression()
reg.fit(X, y)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)

  
 
  • 1
  • 2
print('a = {:.5}'.format(reg.coef_[0][0]))
print('b = {:.5}'.format(reg.intercept_[0]))

print("线性模型为: Y = {:.5}X + {:.5} ".format(reg.coef_[0][0], reg.intercept_[0]))

  
 
  • 1
  • 2
  • 3
  • 4
a = 0.047537
b = 7.0326
线性模型为: Y = 0.047537X + 7.0326 

  
 
  • 1
  • 2
  • 3

可视化训练好的线性回归模型

predictions = reg.predict(X)

plt.figure(figsize=(16, 8))
plt.scatter(data['TV'], data['sales'], c ='black')
plt.plot(data['TV'], predictions,c ='blue', linewidth=2)
plt.xlabel("Money spent on TV ads")
plt.ylabel("Sales")
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

[外链图片转存失败(img-JgGwDudv-1562917224938)(output_11_0.png)]

假设公司希望在下一个季度投一亿元的电视广告, 那么预期的产品销量会是多少呢
predictions = reg.predict([[100])
print('投入一亿元的电视广告, 预计的销售量为{:.5}亿'.format( predictions[0][0]) )

  
 
  • 1
  • 2
投入一亿元的电视广告, 预计的销售量为11.786亿

  
 
  • 1
# 练习
df = pd.read_csv('exercise/height.vs.temperature.csv')

  
 
  • 1
  • 2
df.head()

  
 
  • 1
height temperature
0 0.0 12.834044
1 500.0 10.190649
2 1000.0 5.500229
3 1500.0 2.854665
4 2000.0 -0.706488
from sklearn.linear_model import  LinearRegression
x = df['height'].values.reshape(-1, 1)
y = df['temperature'].values.reshape(-1, 1)
model= LinearRegression()
model.fit(x,y)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)

  
 
  • 1
  • 2
# 查看斜率和截距
print(model.coef_)
print(model.intercept_)

  
 
  • 1
  • 2
  • 3
[[-0.00656953]]
[12.71850742]

  
 
  • 1
  • 2
# 查看数据
plt.figure(figsize=(16, 8))
plt.scatter(df['height'], df['temperature'], c ='black')
plt.xlabel("heigth")
plt.ylabel("temperature")
plt.plot(df['height'],model.predict(df['height'].values.reshape(-1,1)))
plt.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述
最后当然打广告啦啦啦

欢迎关注微信公众号毛利学python

在这里插入图片描述

文章来源: maoli.blog.csdn.net,作者:刘润森!,版权归原作者所有,如需转载,请联系作者。

原文链接:maoli.blog.csdn.net/article/details/95624614

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。