百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

mooc机器学习第八天-线性回归 linear_model

toyiye 2024-04-27 03:47 20 浏览 0 评论

一.mooc实例介绍

1.线性回归

·线性回归(Linear Regression)是利用数理统计中回归分析,确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。

·线性回归利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。

线性回归有很多实际的用途,分为以下两类:

1.如果目标是预测或者映射,线性回归可以用来对观测数据集的y和X的值拟合出一个预测模型。当完成这样一个模型以后,对于一个新增的x值,在没有给定与它相配对的y的情况下,可以用这个拟合过的模型预测出一个y值。

2.给定一个变量y和一些变量X1,...,Xp,这些变量有可能与y相关,线性回归分析可以用来量化y与X;之间相关性的强度,评估出与y不相关的X;,并识别出哪些x,的子集包含了关于y的穴余信息。

2.背景:

与房价密切相关的除了单位的房价,还有房屋的尺寸。我们可以根据已知的房屋成交价和房屋的尺寸进行线性回归,继而可以对已知房屋尺寸,而未知房屋成交价格的实例进行成交价格的预测。

目标:对房屋成交信息建立回归方程,并依据回归方程对房屋价格进行预测

技术路线:sklearn.linear_model.LinearRegression

3.可行性分析

·简单而直观的方式是通过数据的可视化直接观察房屋成交价格与房屋尺寸间是否存在线性关系。

对于本实验的数据来说,散点图就可以很好地将其在二维平面中进行可视化表示。

线性回归fit函数用于拟合输入输出数据,调用形式为linear.fit(X,y,sample_weight=None):

·X:X为训练向量;

·y:y为相对于X的目标向量;

·sample_weight:分配给各个样本的权重数组,一般不需要使用,可省略。

·如果有需要,可以通过两个属性查看回归方程的系数及截距。

·具体的代码如下:

#查看回归方程系数
print('Coefficients:', linear. coef_)
#查看回归方程截距
print('intercept:',linear.intercept_)

调用sklearn.linear_model.LinearRegression()所需参数:

·fit_intercept:布尔型参数,表示是否计算该模型截距。可选参数。

·normalize:布尔型参数,若为True,则X在回归前进行归一化。可选参数。默认值为False。

·copy_X:布尔型参数,若为True,则X将被复制;否则将被覆盖。可选参数。默认值为True。

·njobs:整型参数,表示用于计算的作业数量;若为-1,则用所有的CPU。可选参数。默认值为1。

二.代码

from sklearn import linear_model
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
#切分读取数据分类保存在list

datasets_X=[]
datasets_Y=[]
fr=open('./prices.txt',
        'r')
lines=fr.readlines()
for line in lines:
    items = line.strip().split(',')
    datasets_X.append(int(items[0]))
    datasets_Y.append(int(items[1]))

length=len(datasets_X)
datasets_X=np.array(datasets_X).reshape([length,1])
datasets_Y=np.array(datasets_Y)
# print(datasets_X)

maxX=np.max(datasets_X)
minX=np.min(datasets_X)
X=np.arange(minX,maxX).reshape([-1,1])

#调用算法

linear=linear_model.LinearRegression()
linear.fit(datasets_X,datasets_Y)

#绘散点图和直线

plt.scatter(datasets_X,datasets_Y,edgecolors='r',color='y')
plt.plot(X,linear.predict(X),color='blue')
plt.title('房屋面积与价格的线性回归')
plt.xlabel('Area')
plt.ylabel('price')
plt.show()

(1)结果

三.如果想再进一步了解,这里推荐一篇文章

https://blog.csdn.net/hubingshabi/article/details/80172608

相关推荐

Python 可视化工具包(python常见的可视化工具)

喜欢用Python做项目的小伙伴不免会遇到这种情况:做图表时,用哪种好看又实用的可视化工具包呢?本文将介绍一些常用的Python可视化包,包括这些包的优缺点以及分别适用于什么样的场景。这篇文章...

Python的GPU编程实例——近邻表计算

目录技术背景...

python算法体验-3.python实现欧式距离的三种方式

欧式距离也称欧几里得距离,是最常见的距离度量,衡量的是多维空间中两个点之间的绝对距离。欧式距离源自N维欧氏空间中两点...

python实现Lasso回归分析(特征筛选、建模预测)

实现功能:...

python语言检测模块langid、langdetect使用

本文首发地址:https://blog.csdn.net/Together_CZ/article/details/86678423欢迎关注我的博客【Together_CZ】,我是沂水寒城!之前使用数据...

7天学会Python最佳可视化工具Seaborn(一):可视化变量间的关系

众所周知,Seaborn“可能”是Python下最友好、易用的可视化工具了,可视化效果也非常好。但是截止目前,并没有一份中文教程供广大国内Python使用者查阅学习。怎么能因为语言的问题,让大家错过这...

在Python中使用K-Means聚类和PCA主成分分析进行图像压缩

各位读者好,在这篇文章中我们尝试使用sklearn库比较k-means聚类算法和主成分分析(PCA)在图像压缩上的实现和结果。压缩图像的效果通过占用的减少比例以及和原始图像的差异大小来评估。图像压...

OpenCV-Python 相机校准 | 四十九

目标在本节中,我们将学习由相机引起的失真类型,如何找到相机的固有和非固有特性如何根据这些特性使图像不失真基础一些针孔相机会给图像带来明显的失真。两种主要的变形是径向变形和切向变形。径向变形会导致直线出...

python数据预处理技术(python 数据预处理)

在真实世界中,经常需要处理大量的原始数据,这些原始数据是机器学习算法无法理解的。为了让机器学习算法理解原始数据,需要对数据进行预处理。我们运行anaconda集成环境下的“jupyternotebo...

【Python可视化系列】一文教你绘制不同类型散点图(理论+源码)

这是...

OpenCV-Python 特征匹配 | 四十四

目标在本章中,我们将看到如何将一个图像中的特征与其他图像进行匹配。我们将在OpenCV中使用Brute-Force匹配器和FLANN匹配器Brute-Force匹配器的基础蛮力匹配器很简单。它使用第一...

实战python中Random模块使用(python中的random模块)

一、random模块简介Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。要在Python中使用random模块,只需要...

Python随机模块22个函数详解(python随机函数的应用)

随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。平时数据分析各种分布的数据构造也会用到。random模块,用于生成伪随机数,之所以称之为伪随机数,是...

说冲A就冲A,这个宝藏男孩冯俊杰我pick了

爱奇艺新上架了一部网剧叫《最后一个女神》。有个惊人的发现,剧里男三居然是《青春有你》的训练生冯俊杰。剧组穷,戏服没几件,冯俊杰几乎靠一件背背佳撑起了整部剧。冯俊杰快速了解一下。四川人,来自觉醒东方,人...

唐山打人嫌犯陈继志去医院就医的背后,隐藏着三个精心设计的步骤

种种迹象表明,陈继志这帮人对处理打人之后的善后工作是轻车驾熟的,他们想实施的计划应该是这样的:首先第一步与伤者进同一家医院做伤情鉴定,鉴定级别最好要比对方严重,于是两位女伤者被鉴定为轻伤,他们就要求医...

取消回复欢迎 发表评论:

请填写验证码