小白学(Python数据分析与数据运营)的日常杂记3

案例数据可以访问录下链接下载:

链接:https://pan.baidu.com/s/1fvdFMz9WwTXOKn_fL4AXyA 
提取码:huhu 
复制这段内容后打开百度网盘手机App,操作更方便哦

第一个用Python实现的数据化运营分析实例——销售预测

1 案例场景:每个销售型公司都有一定的促销费用,促销费用可以带来销售量的显著提升;当给出一定的促销费用时,预计会带来多大的商品销售量?

在文件夹chapter1”中data.txt存储了建模所需的原始数据,
·来源:生成的模拟数据,非真实数据。
·用途:用来做第一个销售预测案例。
·维度数量:1。
·记录数:100。
·字段变量:第一列是促销费用,第二列是商品销售量。
·数据类型:全部是浮点数值型。
·是否有缺失值:否。

2. 案例过程:

第一步:导入库:这个案例会使用4个库

  • Re:正则表达式,程序中通过该库来实现字符串分割。
  • Numpy:数组操作和处理库,程序中用来做格式转换和预处理。
  • Sklearn:算法模型库,程序中使用了线性回归方法linear_model。
  • Matplotlib:图形展示库,用来在建模前做多个字段关系分析。

小白我按照案例撸了一遍详情如下:

先启动jupyter,本机安装好jupyter后,在命令行中输入jupyter notebook (我说的是windows下哦)

然后开始搞起来:

但是出现了如下这个情况:

E:\Anaconda3\lib\importlib\_bootstrap.py:219: RuntimeWarning: numpy.ufunc size changed, may indicate binary incompatibility. Expected 192 from C header, got 216 from PyObject
  return f(*args, **kwds)

经过百度,有人说是这样解决:

解决方式:

重装numpy,打开指令窗口输入 pip install -U numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/
或者降级numpy版本:
pip uninstall numpy
pip install numpy==1.xx.x -i https://pypi.tuna.tsinghua.edu.cn/simple/
--------------------- 
原文:https://blog.csdn.net/Jerk_zhu/article/details/88925763 
版权声明:本文为博主原创文章,转载请附上博文链接!

我去试一试,看看!试了一下可以了,原来是我没有在 anaconda中安装numpy导致的。

import re
import numpy as np
from sklearn import linear_model
import matplotlib.pyplot as plt

第二步 导入数据。

#打开文件data.txt,w文件模式是只读,并创建一个名为fn的文件对象
fn = open('data.txt','r')
#从fn中读取所有的行记录,并保存到一个名为all_data的列表中,
all_data = fn.readlines()
#关闭文件对象的占用。当文件读写完成后,需要及时关闭资源占用。
fn.close()

第三步 数据预处理。

实现对读取的列表数据进行清洗转换,以满足数据分析展示和数据建模的需要

由于是第一版和第二版的原因导致了我学习的这一版用的数据和第二版有区别,故执行作者的代码有问题,自己稍加改造了一些。

看来是正确了,

第四步 数据分析。

使用哪种模型还未可知。因此先通过散点图来观察一下

通过散点图发现,x和y的关系呈现明显的线性关系:当x增大时,y增大;当x减小时,y减小。初步判断可以选择线性回归进行模型拟合。

第五步 数据建模

建模阶段我们使用Sklearn中的线性回归模块实现,代码如下:

第六步 模型评估

#看一下上面得到的数
print(model_coef)
print(model_intercept)
print(r2)

结果:

[[2.09463661]]
[13175.36904199]
0.7876414684758954

 

通过上述步骤我们可以获得线性回归方程

y=model_coef*x+model_inter-cept,即y=2.09463661*x+13175.36904199。该回归方程的决定系数R的平方是0.78764146847589545,整体拟合效果不错。

第七步 销售预测

已经拥有了一个可以预测的模型,现在我们给定促销费用(x)为84610,销售预测代码如下:

new_x = 84610
pre_y = model_coef * new_x + model_intercept
print(pre_y)

结果:[[190402.57234225]]

先用上面的公式得到结果,直接用书中的方法报错了,我还得研究一下,

new_x = [[84610]]  #百度到的方法
#new_x = 84610  书上这个地方给的是这个,但是会报错
pre_y = model.predict(new_x)
print (pre_y)

得到的结果一样哈:[[190402.57234225]]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值