【Python数据分析】波士顿房价分析小例子

一、导入模块

%matplotlib inline             #将生成的图片嵌入网页中
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.feature_selection import SelectKBest,f_regression
from sklearn.linear_model import LinearRegression              #导入先行回归模型
from sklearn.svm import SVR                                    #导入svm模型
from sklearn.ensemble import RandomForestRegressor             #导入随机森林模型

我们用到的模块有matplotlib可视化,还有sklearn机器学习模块,其中也用到了LinearRegression线性回归模型、SVM(支持向量机)回归模型和RandomForestRegressor随机森林模型。

  • 线性回归:,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。
  • 支持向量机:支持向量机(SVM,还支持矢量网络)是与相关的学习算法有关的监督学习模型,可以分析数据,识别模式,用于分类和回归分析。给定一组训练样本,每个标记为属于两类,一个SVM训练算法建立了一个模型,分配新的实例为一类或其他类,使其成为非概率二元线性分类。
  • 随机森林:随机森林是一种多功能的机器学习算法,能够执行回归和分类的任务。同时,它也是一种数据降维手段,用于处理缺失值、异常值以及其他数据探索中的重要步骤,并取得了不错的成效。

二、加载数据

boston_data = datasets.load_boston()
x_full = boston_data.data               #加载load_boston()中所有数据,一共有506条记录,13条特征(变量)
y = boston_data.target             #加载load_boston()中的目标值,即标签
print(x_full.shape)
print(y.shape)#输出:
(506, 13)
(506,)

我们加载机器学习模块sklearn中自带的数据load_boston()波士顿房价数据。这一步也可以对数据进行初步的分析,.data加载数据中的所有记录,.target查看数据中的目标值,即标签。然后用.shape查看所有记录和目标值的维度,可以看到一共有506条记录,13条特征,也就是有506条目标值,在这里目标值指的是房价。

三、转换和分析

selector = SelectKBest(f_regression,k=1)            #选出相关性最强的SelectKBest类作为特征
selector.fit(x,y)                                   #采用fit()方法进行数据拟合
x = x_full[:,selector.get_support()]                     #采用get_support()将数据缩减成一个向量,即数据降维
print(x.shape)#输出:
(506, 1)

在这一步,我们用SelectKBest类选出相关性最强的一个特征,也就是一个向量。采用fit()方法将数据拟合,然后用get_support()将数据缩减成一个向量,即数据降维。

四、可视化

def plot_scatter(x,y,R=None):plt.scatter(x,y,s=32,marker='o',facecolors='blue')if R is not None:plt.scatter(x,R,color='red',linewidth=0.5)
plt.show()plot_scatter(x,y)

由于目标是一个向量,所以我们可以看看输入(特征)和输出(房价)之间是都存在线性关系。

根据输出的结果,我们可以看到随着x的增加,y在减少,但是这种变化比率不是恒定的。这是一个非线性情况,我们可以利用一个回归模型进一步将它可视化。

五、模型分析

#线性回归模型
regressor = LinearRegression(normalize=True).fit(x,y)                  
plot_scatter(x,y,regressor.predict(x))

这一步,我们创建并训练了一个线性回归模型,红色画出了输入和输出之间的最佳线性关系。很显然我们看到这个效果并不是很好,它只是一个近似值。

接下来我们看看支持向量机和随机森林的模型效果。

#SVM回归模型
regressor = SVR().fit(x,y)
plot_scatter(x,y,regressor.predict(x))

支持向量机是一种用来解决非线性问题的模型,可以看到在这种情况下,支持向量机的效果比线性回归的效果更好一点。

最后再看看随机森林。

#随机森林回归模型
regressor =RandomForestRegressor().fit(x,y)
plot_scatter(x,y,regressor.predict(x))

我们看到这种情况下利用随机森林的效果比前面两个好多了,随机森林是一种四栋解决非线性问题的模型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24130.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于pyspark的波士顿房价预测案例

目录 一、问题描述: 二、机器学习预测模型概述: 三、数据获取 四、数据预处理 五、模型训练 六、模型评估 本实验包含线性回归模型、梯度上升回归、决策树、随机森林、梯度回归树五种模型的创建和比较以及加载! 一、问题描述&#xff…

python广深地区房价数据的爬取与分析

Python房产数据分析 1、数据爬取2、明确需求与目的数据预览提出问题 3.数据预处理数据清洗缺失值异常值(对连续性标签做处理)异常值(对离散标签做处理) 4、数据分析问题1、广东省房价的总体情况如何?问题2、高端小区都有哪些?问题…

ChatGPT的介绍与运用

ChatGPT的发展 ChatGPT是OpenAI团队开发的一种基于语言模型的对话系统 GPT-1: GPT(Generative Pre-trained Transformer)是OpenAI发布的第一个基于Transformer架构的语言模型。GPT-1于2018年发布,它使用了无监督学习的方法&#…

离线语音交互技术路线之语音合成(TTS)篇

在ChatGPT大行其道之际,我心血来潮想要研究研究如何实现离线语音交互,把它和ChatGPT相结合,自己尝试实现个语音助手玩玩。本篇文章主要先从整体上分析了离线语音交互的技术实现路线,以及每个环节可能用到的参考技术,然…

Linux中文显示乱码问题

终端输入命令回显的时候中文显示乱码,出现这个情况一般是由于没有安装中文语言包,或者设置的默认语言有问题导致的。 Linux系统与windows系统在编码上有显著的差别。Windows中的文件的格式默认是GBK(gb2312),而Linux系统中文件的格式默认是UT…

解决中文乱码问题大全

相信大家在开发过程中遇到很多中文乱码的问题,为此小编在这里汇集了很多不同情况下怎么解决中文乱码,希望对大家有所帮助 1、IDEA控制台输出乱码 修改idea配置文件:找到idea的安装目录,在bin目录下找到dea64.exe.vmoptions和idea.exe.vmoptions这两个文件,分别在这两个文…

解决中文乱码的方法

今天跟路飞学习爬虫时,遇到的中文乱码。他提出了一种解决方法,而我在弹幕上也看到了一种方法。 法1:在响应数据时加一句 response.encoding response.apparent_encoding 法2: #通用处理中文乱码的解决方法img_name img_name.en…

中文乱码问题整理总结

目录 1、字符编码 2、乱码产生的原因 3、乱码解决方案 3.1、解决HTML页面中的中文问题: 3.2、解决JSP页面中的中文问题 3.3、解决Servlet响应结果的中文问题 3.4解决页面数据传输的中文问题 3.5、解决HTTP(get)请求中的中文问题 3.6、解决MySQL数据库的中文…

php echo中文乱码问题

用echo输出的中文显示成乱码, 其实应该是各种服务器脚本都会遇到这个问题, 根本还是编码问题, 一般来说出于编码兼容考虑大多的页面都将页面字符集定义为utf-8 这时候要正常显示中文需要转化一下编码方式,比如 echo iconv(“…

中文出现乱码最常见的几种方式解析

1、出现古文夹杂日韩文,以GBK读取UTF-8编码 2、出现方块形,以UTF-8读取GBK 3、各种符号,以ISO8859-1方式读取UTF-8 4、拼音码,带声调的字母,以ISO8859-1方式读取GBK 5、长度为奇数时,最后的字符变成问号&am…

SEO百度搜索引擎优化30min了解网站排名

目录 seo优化 介绍seo是什么 网站更新: 网站排名在21世纪的意义: 网站为电商引流 百度算法规则 排名流程 seo策略 规则——“学会在线球里玩” 单页面收录显示 必要条件——链接数量 日志统计——及时优化seo策略 降低识别难度 收录越多排名就越大吗 …

毕设项目《基于STM32的智能乒乓球捡球小车的设计与实现》从零开始过程笔记

毕设项目《基于STM32的智能乒乓球捡球小车的设计与实现》从零开始过程笔记 小车实物 前言 本文是后来记录而写,如有不足之处,欢迎批评指正。 如果您觉得文章写得不错,欢迎一键三连。(比心 orz) 目录 毕设项目《基于S…

全面剖析OpenAI发布的GPT-4比其他GPT模型强在哪里

最强的文本生成模型GPT-4 一、什么是GPT-4二、GPT-4的能力三、和其他GPT模型比较3.1、增加了图像模态的输入3.2、可操纵性更强3.3、复杂任务处理能力大幅提升3.4、幻觉、安全等局限性的改善3.6、风险和缓解措施改善更多安全特性3.7、可预测的扩展 四、与之前 GPT 系列模型比较五…

GPT-4 官方技术报告(译)

摘要 我们报告了GPT-4的开发情况,这是一个大规模的多模态模型,可以接受图像和文本输入并产生文本输出。虽然在许多现实世界的场景中,GPT-4的能力不如人类,但在各种专业和学术基准上表现出人类水平的性能,包括在模拟的律…

重磅突发!OpenAI正式推出多模态GPT-4

大家好,今天这篇文章是我的好朋友阿法兔翻译的,她凌晨熬夜研究了一下 OpenAI 推出的 GPT-4,基本把所有发布的内容重点都读完了,分享给大家,希望能给你一些启发。 作者 | OpenAI&TheVerge&Techcrunch 翻译 &am…

Chatbox - 一款适用于 GPT-4 / GPT-3.5 (OpenAI API) 的桌面应用程序

简介 给大家推荐一款适用于 GPT-4 / GPT-3.5 (OpenAI API) 的桌面应用程 ChatBox,开源的 ChatGPT API (OpenAI API) 跨平台桌面客户端,Prompt 的调试与管理工具,也可以用作 ChatGPT Plus 平替。 下载 ► chatBox 下载安装 ⇲ 为什么不直接…

是兄弟就来找 ChatGPT 漏洞,OpenAI:最高赏金 2 万刀

这是「进击的Coder」的第 822 篇技术分享 作者:克雷西 发自 凹非寺 来源:量子位(ID:QbitAI) “ 阅读本文大概需要 5 分钟。 ” 现在,给 ChatGPT 找漏洞有钱挣了。 今天凌晨,OpenAI 宣布开启漏洞…

chatgpt赋能python:Python配色方案:让您的代码更易于阅读和管理

Python配色方案:让您的代码更易于阅读和管理 Python是一种广泛使用的编程语言,它具有简单易学、功能强大的特点。但是,当您开始编写更复杂的代码时,遇到的主题和配色问题可能会影响代码的可读性和管理能力。 为了解决这个问题&a…

LLM系列 | 09: 基于ChatGPT构建智能客服系统(query分类安全审核防注入)

简介 竹斋眠听雨,梦里长青苔。门寂山相对,身闲鸟不猜。小伙伴们好,我是卖热干面的小女孩。紧接前面几篇ChatGPT Prompt工程系列文章: 04:ChatGPT Prompt编写指南05:如何优化ChatGPT Prompt?06:ChatGPT Prompt实践&am…

Rabbitmq使用笔记

前言 mq的优点:异步提速、解耦、流量削峰 mq的缺点: mq宕机可能导致消息丢失、消费者未成功消费如果保证整个系统架构的事务安全、消息可能被重复消费出现幂等问题、消息未被消费到引发死信问题、消息出现消费延迟或消费异常引发的顺序消费错乱问题...…