第一、回归分析的步骤

01 根据预测目标,确定自变量和因变量

02 绘制散点图,确定回归模型类型

03 估计模型参数,建立回归模型

04 对回归模型进行检验

回归方程的精度就是用来表示实际观测点和回归方程的拟合程度的指标,使用判定系数来度量。

判定系数=相关系数R平方=ESS/TSS=1-RSS/TSS

其中:具体公式见图

TSS   总离差平方和

ESS   回归平方和

RSS   残差平方和

05 利用回归模型进行预测

第二、sklearn 建模

leModel=sklearn.linear_model.LinearRegression()

训练模型:

lrModel.fit(x,y)

模型评估:

lrModel.score(x,y)

模型预测:

lrModel.predict(x)

第三、代码实践

[code]import numpy

import pandas

data = pandas.read_csv('D:\\DATA\\pycase\\number2\\Data2.csv')

# 根据预测目标,确定自变量现金和因变量流水

# 0 确定自变量因素,对数据标签进行维度的合并,此处按照渠道序列筛选分组统计(因为有跨期影响)

Data=data.groupby(

by=['广告商']

)['现金','流水'].agg({

'现金': numpy.sum,

'流水': numpy.sum

})

# 1 数据质量分析

explore=Data.describe()

Data=Data[(Data.现金>0)&(Data.流水>0)]

# 2 数据变换,渠道之间的数据量级差距太大,进行简单的函数转换,这俩根据散点图,采用log对数函数

# 测试 range(Data.index)

# Data.columns.size

# Data.iloc[0,0]=math.log(Data.iloc[0,0])

# math.log(Data.iloc[0,0])

# 测试 Data.loc[indexs].values

import math

I=range(Data.index.size)

J=range(Data.columns.size)

i=0

j=0

for i in I:

for j in J:

# 逐个数据取对数

Data.iloc[i,j]=math.sqrt(Data.iloc[i,j])

# 0-1 标准化 from sklearn.preprocessing import MinMaxScaler

# scaler=MinMaxScaler()

# Data[['现金', '流水']]=scaler.fit_transform(Data[['现金', '流水']].values.reshape(-1,1))

# 3 属性规约

# 选择数据的自变量和因变量

x=Data['现金']

y=Data['流水']

# 绘制散点图,确定回归模型的类型

from matplotlib import pyplot as plt

plt.scatter(x,y)

# 4 估计模型参数,建立回归模型

# 对数据进行类型转化

y=y.values.reshape(-1, 1)

x=x.values.reshape(-1, 1)

from sklearn.linear_model import LinearRegression

lrModel = LinearRegression()

lrModel.fit(x, y)

# 5 对模型进行检验

lrModel.score(x,y)

# 6 利用回归模型进行预测

lrModel.predict([[500000],[400000],[300000]])

#查看截距

alpha = lrModel.intercept_[0]

#查看参数

beta = lrModel.coef_[0][0]

alpha + beta*numpy.array([500000, 400000, 300000])

4、python简单线性回归代码案例(完整)_4、python简单线性回归代码案例(完整)...相关推荐

  1. python中元组和列表转化_4.Python列表/元组/集合/字典

    4.1 Python列表 • 列表用 [ ] 标识,是Python 最通用的复合数据类型. • 列表用 [ ] 表示,列表具有可嵌套性 4.1.1 Python列表截取 • 列表可以使用 [头下标:尾 ...

  2. 转:完整的最简单的谱聚类python代码

    http://blog.csdn.net/waleking/article/details/7584084 针对karate_club数据集,做了谱聚类.由于是2-way clustering,比较简 ...

  3. python菜鸟教程h-python菜鸟教程,python好玩又简单的代码

    如果是零基础的话推荐你看以下几本书,入门来说都还不错:"笨办法"学Python(第3版)HeadFirstPython(中文版)父与子的编程之旅:与小卡特一起学Python pyt ...

  4. 代码检查规则:Python语言案例详解

    在之前的文章中代码检查规则:Java语言案例详解学习了Java的检查规则.我们今天将学习<代码检查规则:Python语言案例详解>,内容主要分为两个部分:Python的代码检查规则和Pyt ...

  5. 简单python脚本实例-超实用的 30 段 Python 案例

    Python是目前最流行的语言之一,它在数据科学.机器学习.web开发.脚本编写.自动化方面被许多人广泛使用. 它的简单和易用性造就了它如此流行的原因. 如果你正在阅读本文,那么你或多或少已经使用过P ...

  6. [转载] Python 完整实现的简单遗传算法(SGA)

    参考链接: Python | 实施剪刀石头布游戏的程序 本文用Python3完整实现了简单遗传算法(SGA) Simple Genetic Alogrithm是模拟生物进化过程而提出的一种优化算法.S ...

  7. 简单完整的Python小爬虫教程

    作者:vinyyu 声明:版权所有,转载请注明出处,谢谢. 1 调入需要使用的库 time库用于每次获取页面的时间间隔:pandas库用于DataFrame的数据格式存储:requests用于爬虫获取 ...

  8. python简单实用案例_分享10个给Python小白看的实用案例,入门Python就在这里了

    图片来源:包图网 今天给大家分享十个Python入门级别的小案例. 这十个案例的难度不高,但是对于知识的使用非常全面,很适合小白在学习的初期建立学习信心和增加熟练度. 每个案例下都有或多或少的思路分析 ...

  9. python turtle代码大全_通过构建简单的骰子游戏学习如何使用Python编程

    Python是一种通用的编程语言,可以用于创建桌面应用程序.3D图形.视频游戏,甚至是网站.它是一种很棒的第一编程语言,因为它很容易学习,而且比复杂的语言(如C.C++或Java)更简单.Python ...

  10. python程序30行_30行Python代码,打造一个简单的微信群聊助手,简单方便

    大家都知道,最近代码君迷上了Python,一直在研究这门语言,还是那句话,人生苦短,我学Python,今天代码君要教大家一个黑科技,30行代码实现自己定制的微信群聊助手,这个助手有什么用呐,就是用来活 ...

最新文章

  1. Ubuntu 修改截屏快捷键
  2. 图解数据库辅助软件教程
  3. Jenkins Gitlab持续集成打包平台搭建
  4. 替换系统wsock32.dll,实现封包拦截
  5. 我到底要选择一种什么样的生活方式,度过这一辈子呢:人生自由与职业发展方向(下)...
  6. srs10流程图_高效的SRS资源指示方法与流程
  7. 形状相似的物品_空运一般货物及危险品和特殊物品对包装的要求和规定!
  8. 【HDU - 2665】Kth number(区间第K大,主席树,模板)
  9. javascript基础修炼(1)——一道十面埋伏的原型链面试题
  10. 冯诺依曼体系下 计算机主机不包括,计算机组装第一张测试
  11. 年总结(五):再次突破自我的半年(2016.3—2016.9)
  12. 家庭记账本开发进度4
  13. 在 Linux 系统上源码安装 GTK+ 2.0
  14. 基于IM实现直播礼物效果
  15. Ubuntu20.04系统联网
  16. 朱晔的互联网架构实践心得S2E4:小议微服务的各种玩法(古典、SOA、传统、K8S、ServiceMesh)...
  17. android手机设置固定dns,手机dns怎么设置 简单几步就搞定
  18. 三面阿里失败,幸获阿里P8大牛指点,奋战三个月30*14薪入职字节
  19. web应用商城部署(gpmall)
  20. 开启编程之旅——什么是编程

热门文章

  1. 培养组学对已分离人类细菌和古菌物种库的贡献
  2. R语言ggplot2可视化图像设置不同的字体实战
  3. Python将图像分割成小块然后将所有的块重新拼接在一起
  4. R语言因子分析FA(factor analysis)实战案例
  5. R语言生存分析模型简介及survival包实现实战:基于survival包lung数据集
  6. R构建KNN多分类模型
  7. Xshell+技巧+快捷键
  8. (DCA)Decision Curve Analysis画图及意义
  9. linux 中文乱码博客,linux网页显示乱码终极解决---达到英文全部显示为中文
  10. 孙立岩 python-basic: 用于学习python基础的课件(一二三四)