机器学习房价数据分析与预测【字数:10009】

房价一直当今时代的一个核心话题,通过房价预测模型可以帮助人们预测未来的房价,了解房产的实际价值,为政府相关部门制定房地产政策提供可靠依据。本研究使用机器学习算法作为研究方法来开发住房价格预测模型。影响房价的因素众多,如地段,面积等因素。如何在众多的因素中找出影响房价的关键因素,是构造房价预测模型的难点。传统采用人工统计分类的方法效率低下,准确性不高。本文采用机器学习来构建房价预测模型。并通过淘汰算法由机器自动筛选变量。实验采用包含506个原始数据的房地产数据包。该数据包包含13个输入变量,分别是(CRIM, ZN, INDUS, CHAS, NOX, RM, AGE, DIS, RAD, TAX, PTRATIO, B, LSTAT)。随机抽取其中70%的数据作为训练集,30%的数据作为测试集。然后采用淘汰算法删除不相关的输入变量,对剩余的10个变量,再次进行建模。与未删除输入变量的建模结果相比,删除变量后的测试集验证均方根误差变化在10%以内。说明剩余的十个变量是房价预测模型的高相关参数。
Key words: House price prediction, Machine learning, Data model, Variable elimination 目录
1 引言 1
1.1研究背景及意义 1
1.2机器学习简介 1
1.3关于机器学习的算法 2
2 数据的预处理 5
2.1导入标准库 5
2.2导入数据集 6
2.3重复数据、缺失数据的处理以及数据的标准化 8
2.4划分测试集和训练集 9
3 变量分析 11
3.1字段CRIM分析 11
3.2字段ZN分析 12
3.3字段INDUS分析 12
3.4字段CHAS分析 13
3.5字段NOX分析 13
3.6字段RM分析 14
3.7字段AGE分析 15
3.8字段DIS分析 15
3.9字段RAD分析 16
3.10字段TAX分析 17
3.11字段PTRATIO分析 18
3.12字段 *好棒文|www.hbsrm.com +Q: @351916072@ 
B分析 18
3.13字段LSTAT分析 19
3.14本章总结 20
4 多元线性回归 21
4.1建立模型 21
4.2自变量淘汰 21
4.3模型重构 24
4.4本章研究总结 25
5总结与结论 26
致谢 27
参考文献 28
附录 29
1 引言
1.1研究背景及意义
在大数据时代,各行各业都需要解决的许多紧迫问题都可以通过大数据技术来解决。与互联网经济产业和航空航天领域相比,大数据在建筑领域的应用相对较少。本文在实际数据的基础上,采用多种机器学习方法预测了城镇房屋的价值。 根据预测,政府和开发商可以决定是否在相应地区开发房地产。
面对即将到来的大数据时代,机器学习作为一种常用的数据分析手段,受到越来越多的关注。不同行业的人们正在使用机器学习算法来根据自己的行业数据来解决问题。工业领域的专家在模式识别和故障诊断中使用机器学习。经济领域的人们开始在经济建模中使用机器学习算法。相对于传统的依靠专业人员的经验建立模型的方法,机器学习更具有高效、客观的优势。如果能够准确预测房价,将具有重要意义。
1.2机器学习简介
1.2.1机器学习原理
机器学习(Machine Learning, ML)是一门结合了诸多领域的学科,它融合了概率论学,科学统计学,金融学,凸分析学,算法复杂度理论等诸多领域。它的功能就是探究计算机是怎样模拟和预测一些数据,用来帮助人们更好地进行生产生活,并且能够重新运用已有的数据库的知识来不断改善本身的性能。人工智能目前的核心技术就是机器学习,它能有效地让计算机变得更加智能化。机器学习涉及人工智能的一些专业架构,它主要归纳、综合一些数据。机器学习所探求的主要内容,是关于在计算机上在分析数据的基础上来建立“模型(model)”的算法,即学习算法(learning algorithm)。基于学习算法,把已知的数据提供给它,它用这些数据产生一个数据模型;当现实生活中出现相似的情况时,就可以从得到的数据模型中找到一些相应的规律,从而找到应对的办法。总而言之,“学习算法”是机器学习的主要内容。一个模型如果可以适应于一个新的样本,那么就称这个样本具有泛化能力。能够适应于整个样本空间的模型就具备强泛化能力。也就是机器学习的目标。
1.2.2机器学习的编程语言——Python
在深入机器学习领域之前,先得回答一个重要的问题——“为什么要使用Python?”答案很简单,Python功能强大而且很容易上手。Python已成为数据科学最常用的编程语言,因为它让编程不再枯燥乏味,同时又提供了可以把想法落地、概念直接付诸行动的环境。Python的优势有以下几点:
(1)简单易懂。在用Python之前都有一定的c语言基础,Python简化了语法结构,没有c的复杂的指针。Python有更加规范的代码,它采用强制缩进的方形式提升了代码的可读性。从而让用户更好地去解决问题。
(2)FLOSS(自由/开放源码软件)中包括Python。换句话讲,Python支持用户查看软件的源码,发布软件的安装包,同时支持修改软件或者将其中的内容运用到其他开源软件中。用户编写的Python程序无需修改就可以在Amiga、Linux、Windows、Macintosh、FreeBSD、Solaris、OS/2等以及Google基于linux开发的Android平台上面运行。Python希望用户和软件一起创造并改进。
(3)Python支持函数编程也支持抽象编程。可以面向过程或者对象。在面向过程中,程序的组成内容是由过程或仅仅是可重用代码的函数。在面向对象的编程中,程序的组成内容是由数据和功能组合而成的对象。
(4)Python有庞大且丰富的标准库。用户还可以选择可定义的第三方库。用户可以通过它完成诸如数据库、正则表达式、电子邮件、文档生成、密码系统、单元测试、网页浏览器、XMLRPC、XML、HTML、Tk、WAV文件、GUI(图形用户界面)和其他与系统相关的工作。用户安装了Python之后就可以使用这些功能。“功能齐全”是Python的理念。还拥有很多其他除了标准库以外高质量的库,如Twisted、wxPython、和Python图像库等等。
1.3 关于机器学习的算法
1.3.1归纳偏好
机器学习算法在学习过程中对某类类别判定的偏好,就叫“归纳偏好”(inductive bias)。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/608.html

好棒文