目录

情境:

一、读取数据

二、分析数据

1、热度图 heatmap()

2、散点图

三、特征集和标签集

1、学会查看数据

2、拆分训练集和测试集

四、线性回归

五、开始预测

六、评价测度

七、模拟效果对比图 ROC曲线

八、给模型打分


情境:

一家商店为了扩大销售额,进行了宣传

采用了以下三种方式:

微信:wechat

报纸:newspaper

电视:tv

而销售额:sales(千元)

一、读取数据

数据的读取 pandas 的 read_csv

nidm 阶

shape (200,4)两百行4列

head()前五条数据

tail()后五条数据

import pandas as pddata = pd.read_csv('./data/advertising.csv')
print(data.ndim) # 维度(阶
print(data.shape) # (200,4) 说明有两百条数据,4列 其中第四列sales作为标签 ,其他三个为特征
data.head() # 显示前五条数据

二、分析数据

1、热度图 heatmap()

# 分析数据
# 可视化数据
# 数据的相关分析

#  seaborn 包,这个包数据可视化效果比较好,其实它也属于Matplotlib的内部包,但是需要单独安装

有关seaborn包:

Seaborn的简述_熊️兔的博客-CSDN博客_seaborn

Seaborn详细教程-数据分析必备手册(2万字总结)seaborn中文手册

import matplotlib.pyplot as plt
import seaborn as sns
# sns.heatmap() 热度图
# cmap:设置颜色带的色系
# annot:是否显示数值注释
sns.heatmap(data.corr(),annot=True,cmap='RdBu_r') # 使用data.corr()计算相关系数
plt.show()

# 相关性越高,颜色越深

可以看出,微信宣传效果比较好

2、散点图

#显示销量和各种广告投放量的散点图
# 参数size,aspect 来调节显示的大小和比例
# kind = 'reg',可以添加一条最佳拟合直线和95%的置信带
sns.pairplot(data,x_vars=['wechat', 'newspaper', 'tv'],y_vars='sales',size=7, aspect=0.9,kind='reg')
plt.show()
# 根据结果可以看出wechat 线性关系比较强

可以看到,wechat的拟合线性比较好

三、特征集和标签集

1、学会查看数据

from IPython.core.display_functions import display# 线性回归模型
'''
优点:快速并且没有调节参数
缺点:相比其他复杂点的模型,它的预测准确率不高,而且它假设特征和标签之间有线性关系,对一些非线性的关系,不能很好进行数据建模
'''# drop 默认删除行,删除列的话加上 “axis=1”
X = data.drop('sales',axis=1) # 去掉最后一列标签
print('特征集前五条数据\n',X.head())
y = data['sales'] # 从Dataframe 中选择一个Series
display('标签集前五条',y.head())

2、拆分训练集和测试集

这里用了sklearn的拆分工具

from sklearn.model_selection import train_test_split# 构建训练集和测试集
X_train,X_test,y_train,y_test = train_test_split(X,y,random_state=1,train_size=0.7) # train 0.7,test 0.3
# print(X_train.shape) # (140,3)
# print(X_test.shape) # (60, 3)
display(X_train)

四、线性回归

# sklearn 的线性回归
from sklearn.linear_model import LinearRegressionlinreg = LinearRegression()
model = linreg.fit(X_train,y_train)
print("模型:",model)
print(linreg.coef_) # w
print(linreg.intercept_) # b

输出:

模型: LinearRegression()
[0.01170566 0.01323019 0.00058797]
4.599516690419023

五、开始预测

# 预测
y_pred = linreg.predict(X_test)
display(y_pred)

六、评价测度

1、线性回归常用的三种:

  • 平均绝对误差(MAE)
  • 均方误差(MSE)
  • 均方根误差(RMSE)
# RMSE
from sklearn import metrics
import numpy as npsum = 0
for i in range(len(y_pred)):sum += (y_pred[i] - y_test.values[i]) **2sum_erro = np.sqrt(sum / len(y_test))
print(sum_erro)# 上面的代码可以直接这样:
print(np.sqrt(metrics.mean_squared_error(y_test, y_pred)))

输出:

1.523063932837681
1.523063932837681

七、模拟效果对比图 ROC曲线

有关ROS曲线:机器学习之ROC曲线_荒野雄兵的博客-CSDN博客_机器学习roc曲线

plt.figure()
plt.plot(range(len(y_pred)), y_pred, 'b', label="predict")
plt.plot(range(len(y_pred)), y_test, 'r', label="test")# 'upper right', 'upper left',
# 'lower left', 'lower right', 'right',
# 'center left', 'center right', 'lower center',
# 'upper center', 'center'
plt.legend(loc="upper left")  # 显示图中的标签 -->左上角
plt.xlabel("number")
plt.ylabel('value')
plt.show()

八、给模型打分

linreg.score(X_test, y_test)

可以看到还不错

【机器学习】线性回归之预测商品的销售额相关推荐

  1. 作业——机器学习教你预测商品销售额

    (一)作业要求 advertising.csv文件(文件私聊可取)是某商品的广告推广费用(单位为元)和销售额数据(单位为千元),其中每行代表每一周的广告推广费用(包含微信.微博和其他类型三种广告费用) ...

  2. 一元线性回归模型预测双十一销售额

    又是一年一度"剁手节"有人说感到今年的双十一冷清了许多,很多人都很好奇今年双十一会产生多少交易额?SPSAU这里打算科学预测一下今年的天猫"双十一"的销售额. ...

  3. python 预测算法_通过机器学习的线性回归算法预测股票走势(用Python实现)

    本文转自博客园,作者为hsm_computer 原文链接:https://www.cnblogs.com/JavaArchitect/p/11717998.html在笔者的新书里,将通过股票案例讲述P ...

  4. 机器学习(二)多元线性回归算法预测房价

    机器学习(二)多元线性回归算法预测房价 本篇文章已作为重庆交通大学19级微课<机器视觉>大作业提交,提前声明,避免抄袭误会 "garbage in garbage out&quo ...

  5. 机器学习线性回归实践,广告投放收益预测,手写梯度下降

    机器学习线性回归模型,广告投放与收益预测,梯度下降法python实现 数据集介绍 代码 数据导入 特征缩放 绘制三个不同地方广告投入与收益的散点图 数据处理 添加偏置列 定义代价函数 梯度下降 初始化 ...

  6. 通过机器学习的线性回归算法预测股票走势(用Python实现)

    在本人的新书里,将通过股票案例讲述Python知识点,让大家在学习Python的同时还能掌握相关的股票知识,所谓一举两得.这里给出以线性回归算法预测股票的案例,以此讲述通过Python的sklearn ...

  7. python计算股票趋势_通过机器学习的线性回归算法预测股票走势(用Python实现)...

    1 波士顿房价数据分析 安装好Python的Sklearn库后,在安装包下的路径中就能看到描述波士顿房价的csv文件,具体路径是"python安装路径\Lib\site-packages\s ...

  8. 机器学习——线性回归、房价预测案例【正规方案与梯度下降】

    # coding:utf-8 # 1.获取数据集 #2.数据基本处理 #2.1.数据划分 #3.特征工程--标准化 #4.机器学习(线性回归) #5.模型评估 from sklearn.dataset ...

  9. 4.Spark 学习成果转化—机器学习—使用Spark ML的线性回归来预测房屋价格 (线性回归问题)

    本文目录如下: 第4例 使用Spark ML的线性回归来预测房屋价格 4.1 数据准备 4.1.1 数据集文件准备 4.1.2 数据集字段解释(按列来划分) 4.2 使用 Spark ML 实现代码 ...

最新文章

  1. 学习笔记(2)IPC机制
  2. Python OpenCV中色彩空间的转换类型
  3. MyBatis的DAO接口中参数传递建议使用map类型的原因
  4. unity3d 数学的数学基础和辅助类
  5. Java基础01 从HelloWorld到面向对象
  6. SpringBoot配置RestTemplate的代理和超时时间
  7. 天池NLP赛道top指南
  8. CSSS - CSS幻灯片
  9. android 应用程序Activity之间数据传递与共享的几种途径
  10. 如何将NEF格式文件转换为JPG格式
  11. 合成孔径 saft matlab,合成孔径聚焦超声成像研究
  12. 如何键盘锁定计算机,如何锁定电脑键盘或鼠标防止误操作
  13. 四叶草python_标签:python - 四叶草
  14. 如何提高游戏中的打击感?
  15. Simulink学习案例2
  16. matlab如何打开flt文件,科学网—grb文件的读取 (更新) - 张凌的博文
  17. sphinx安装及使用
  18. 7-6,输入厘米,输出英尺英寸
  19. 与Mr. Zuul男神的亲密接触 | 温哥华峰会Day3
  20. LRU算法,走迷宫,数根,星际战争

热门文章

  1. 电机控制第一天(上):电机基础知识
  2. 移动端调试工具vConsole与Eruda
  3. ET框架---PlayerComponent学习笔记
  4. Ping通外网百度,但是打不开网页(能登入QQ和微信,但是打不开网页)
  5. LzDingTalk-免费的钉钉机器人框架
  6. idea中文件编码方式_idea设置编码格式为utf8
  7. 苹果开发者账号中,测试机器列表达到100台上限,如何删除一些设备、添加新设备?
  8. latex排版论文(学习笔记)
  9. 投资之路,简要反思:成功的故事,难以复制。失败的经验,刻骨铭心。
  10. 三秒钟自动完成票据识别录入,“财务机器人”了解一下