专栏首页foochane多元回归分析(multiple regression)

多元回归分析(multiple regression)

1. 与简单线性回归区别(simple linear regression)

多个自变量(x)

2. 多元回归模型

y=β0+β1x1+β2x2+ ... +βpxp+ε

其中:β0,β1,β2... βp是参数

ε 是误差值

3. 多元回归方程

E(y)=β0+β1x1+β2x2+ ... +βpxp

4. 估计多元回归方程:

y_hat=b0+b1x1+b2x2+ ... +bpxp

一个样本被用来计算β0,β1,β2... βp的点估计b0, b1, b2,..., bp

5. 估计流程 (与简单线性回归类似)

6. 估计方法

使sum of squares最小

运算与简单线性回归类似,涉及到线性代数和矩阵代数的运算

7. 例子

一家快递公司送货:X1: 运输里程 X2: 运输次数 Y:总运输时间

Time = b0+ b1*Miles + b2 * Deliveries

Time = -0.869 + 0.0611 Miles + 0.923 Deliveries

8. 描述参数含义

b0: 平均每多运送一英里,运输时间延长0.0611 小时

b1: 平均每多一次运输,运输时间延长 0.923 小时

9. 预测

如果一个运输任务是跑102英里,运输6次,预计多少小时?

Time = -0.869 +0.0611 *102+ 0.923 * 6 = 10.9 (小时)

10.代码实现

10.1将数据录入到表格Delivery.csv

(没有录入表头)

数据

10.2代码

from numpy import genfromtxt
from sklearn import linear_model

dataPath = r"Delivery.csv"
deliveryData = genfromtxt(dataPath,delimiter=',')

print("data")
print(deliveryData)

x= deliveryData[:,:-1]
y = deliveryData[:,-1]

print(x)
print(y)

lr = linear_model.LinearRegression()
lr.fit(x, y)

print(lr)

print("coefficients:")
print(lr.coef_)

print("intercept:")
print(lr.intercept_)

xPredict = [102,6]
yPredict = lr.predict(xPredict)
print("predict:")
print(yPredict)

11. 如果自变量中有分类型变量(categorical data) , 如何处理?

11.1数据录入到表格Delivery_Dummy.csv

这里车型的0,1,2只是一个标号,只是表示类型,所以将车型表示为一个3维向量(有3种车型)

数据

11.2代码

from numpy import genfromtxt
from sklearn import linear_model

datapath=r"Delivery_Dummy.csv"
data = genfromtxt(datapath,delimiter=",")

x = data[1:,:-1]
y = data[1:,-1]
print(x)
print(y)

mlr = linear_model.LinearRegression()

mlr.fit(x, y)

print(mlr)
print("coef:")
print(mlr.coef_)
print("intercept")
print(mlr.intercept_)

xPredict =  [90,2,0,0,1]
yPredict = mlr.predict(xPredict)

print("predict:")
print (yPredict)

            【注】:本文为麦子学院机器学习课程的学习笔记

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 支持向量机(SVM)算法

    训练集 => 提取特征向量 => 结合一定的算法(分类器:比如决策树,KNN)=>得到结果

    foochane
  • Ubuntu16.04下Anaconda 安装

    根据提示按回车键阅读,注意按一次回车之后左下角会显示一个“--More--”,意思是许可信息还没显示完,一直按回车,直到最后许可信息显示完出现下面提示:问你是否...

    foochane
  • 聚类(Clustering) hierarchical clustering 层次聚类

    1、(初始化)把每个样本归为一类,计算每两个类之间的距离,也就是样本与样本之间的相似度;

    foochane
  • python---字符串

    py3study
  • Python常见的脚本汇总

    斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13;特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。

    py3study
  • [第四周]Python字符串方法详解

    Python中字符串(string)对象提供了很多方法来操作字符串,功能相当丰富。

    OrekiShiko
  • 打基础一定要吃透这12类 Python 内置函数

    内置函数就是python给你提供的, 拿来直接用的函数,比如print.,input等。截止到python版本3.6.2 python一共提供了68个内置函数,...

    测试开发社区
  • 【python入门系列课程 第一课 打印一个字符画】

    本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地...

    用户7054460
  • day 15 - 1 内置函数

    字符串类型代码的执行 eval() exec() compile()  [不常用]

    py3study
  • Python9-数据类型-day3

    A C ABC F ABCDLSESRF ABCDLSESRF ACL DCBA DB FRSESLDCBA FRSESLDCBA

    py3study

扫码关注云+社区

领取腾讯云代金券