Spark学习笔记——房屋价格预测
先翻译了一下给的房屋数据的特征,这里定义了一个case class,方便理解每个特征的含义,
Kaggle的房价数据集使用的是Ames Housing dataset,是美国爱荷华州的艾姆斯镇2006-2010年的房价
case class house(
Id: String,
MSSubClass: String, // 参与销售住宅的类型:有年代新旧等信息
MSZoning: String, // 房屋类型:农用,商用等
LotFrontage: String, // 距离街道的距离
LotArea: String, // 房屋的面积
Street: String, // 通向房屋的Street是用什么铺的
Alley: String, // 通向房屋的Alley是用什么铺的
LotShape: String, // 房屋的户型,规整程度
LandContour: String, // 房屋的平坦程度
Utilities: String, // 设施,通不通水电气
LotConfig: String, // 死路,处于三岔口等
LandSlope: String, // 坡度
Neighborhood: String, // 邻居
Condition1: String,
Condition2: String,
BldgType: String, // 住宅类型,住的家庭数,是否别墅等
HouseStyle: String, // 住宅类型,隔断等
OverallQual: String, // 房屋的质量
OverallCond: String, // 房屋位置的质量
YearBuilt: String, // 建造的时间
YearRemodAdd: String, // 改造的时间
RoofStyle: String, // 屋顶的类型
RoofMatl: String, // 屋顶的材料
Exterior1st: String, // 外观覆盖的材质
Exterior2nd: String, // 如果超过一种,则有第二种材质
MasVnrType: String, // 表层砌体类型
MasVnrArea: String, // 表层砌体面积
ExterQual: String, // 外观材料质量
ExterCond: String, // 外观材料情况
Foundation: String, // 地基类型
BsmtQual: String, // 地下室质量
BsmtCond: String, // 地下室的基本情况
BsmtExposure: String, // 地下室采光
BsmtFinType1: String, // 地下室的完成情况比例
BsmtFinSF1: String, // 地下室的完成面积
BsmtFinType2: String, // 如果有多个地下室的话
BsmtFinSF2: String, // 如果有多个地下室的话
BsmtUnfSF: String, // 未完成的地下室面积
TotalBsmtSF: String, // 地下室面积
Heating: String, // 供暖类型
HeatingQC: String, // 供暖质量
CentralAir: String, // 是否有中央空调
Electrical: String, // 电气系统
_1stFlrSF: String, // 1楼面积
_2ndFlrSF: String, // 2楼面积
LowQualFinSF: String, // 低质量完成的面积(楼梯占用的面积)
GrLivArea: String, // 地面以上居住面积
BsmtFullBath: String, // 地下室都是洗手间
BsmtHalfBath: String, // 地下室一半是洗手间
FullBath: String, // 洗手间都在一层以上
HalfBath: String, // 一半洗手间在一层以上
BedroomAbvGr: String, // 卧室都在一层以上
KitchenAbvGr: String, // 厨房在一层以上
KitchenQual: String, // 厨房质量
TotRmsAbvGrd: String, // 所有房间都在一层以上
Functional: String, // 房屋的功能性等级
Fireplaces: String, // 壁炉位置
FireplaceQu: String, // 壁炉质量
GarageType: String, // 车库类型
GarageYrBlt: String, // 车库建造时间
GarageFinish: String, // 车库的室内装修
GarageCars: String, // 车库的汽车容量
GarageArea: String, // 车库面积
GarageQual: String, // 车库质量
GarageCond: String, // 车库情况
PavedDrive: String, // 铺路的材料
WoodDeckSF: String, // 木地板面积
OpenPorchSF: String, // 露天门廊面积
EnclosedPorch: String, // 独立门廊面积
_3SsnPorch: String, // three season门廊面积
ScreenPorch: String, // 纱门门廊面积
PoolArea: String, // 游泳池面积
PoolQC: String, // 游泳池质量
Fence: String, // 栅栏质量
MiscFeature: String, // 上面不包含其他功能
MiscVal: String, // 上面不包含其他功能的价格
MoSold: String, // 月销量
YrSold: String, // 年销量
SaleType: String, // 销售方式
SaleCondition: String, // 销售情况
SalePrice: String // 最后需要预测的销售价格
)
读取了数据之后先describe一下,查看有无缺失的数据,以及均值,样本标准偏差,最小值和最大值
+-------+-----------------+------------------+--------+-----------------+------------------+------+-----+--------+-----------+---------+---------+---------+------------+----------+----------+--------+----------+------------------+------------------+------------------+------------------+---------+--------+-----------+-----------+----------+------------------+---------+---------+----------+--------+--------+------------+------------+-----------------+------------+-----------------+-----------------+------------------+-------+---------+----------+----------+-----------------+------------------+-----------------+-----------------+-------------------+--------------------+------------------+-------------------+------------------+-------------------+-----------+------------------+----------+------------------+-----------+----------+------------------+------------+------------------+-----------------+----------+----------+----------+------------------+-----------------+------------------+------------------+------------------+-----------------+------+-----+-----------+------------------+------------------+------------------+--------+-------------+------------------+
|summary| Id| MSSubClass|MSZoning| LotFrontage| LotArea|Street|Alley|LotShape|LandContour|Utilities|LotConfig|LandSlope|Neighborhood|Condition1|Condition2|BldgType|HouseStyle| OverallQual| OverallCond| YearBuilt| YearRemodAdd|RoofStyle|RoofMatl|Exterior1st|Exterior2nd|MasVnrType| MasVnrArea|ExterQual|ExterCond|Foundation|BsmtQual|BsmtCond|BsmtExposure|BsmtFinType1| BsmtFinSF1|BsmtFinType2| BsmtFinSF2| BsmtUnfSF| TotalBsmtSF|Heating|HeatingQC|CentralAir|Electrical| _1stFlrSF| _2ndFlrSF| LowQualFinSF| GrLivArea| BsmtFullBath| BsmtHalfBath| FullBath| HalfBath| BedroomAbvGr| KitchenAbvGr|KitchenQual| TotRmsAbvGrd|Functional| Fireplaces|FireplaceQu|GarageType| GarageYrBlt|GarageFinish| GarageCars| GarageArea|GarageQual|GarageCond|PavedDrive| WoodDeckSF| OpenPorchSF| EnclosedPorch| _3SsnPorch| ScreenPorch| PoolArea|PoolQC|Fence|MiscFeature| MiscVal| MoSold| YrSold|SaleType|SaleCondition| SalePrice|
+-------+-----------------+------------------+--------+-----------------+------------------+------+-----+--------+-----------+---------+---------+---------+------------+----------+----------+--------+----------+------------------+------------------+------------------+------------------+---------+--------+-----------+-----------+----------+------------------+---------+---------+----------+--------+--------+------------+------------+-----------------+------------+-----------------+-----------------+------------------+-------+---------+----------+----------+-----------------+------------------+-----------------+-----------------+-------------------+--------------------+------------------+-------------------+------------------+-------------------+-----------+------------------+----------+------------------+-----------+----------+------------------+------------+------------------+-----------------+----------+----------+----------+------------------+-----------------+------------------+------------------+------------------+-----------------+------+-----+-----------+------------------+------------------+------------------+--------+-------------+------------------+
| count| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460| 1460|
| mean| 730.5|56.897260273972606| null|70.04995836802665|10516.828082191782| null| null| null| null| null| null| null| null| null| null| null| null|6.0993150684931505| 5.575342465753424| 1971.267808219178|1984.8657534246574| null| null| null| null| null|103.68526170798899| null| null| null| null| null| null| null|443.6397260273973| null|46.54931506849315|567.2404109589041|1057.4294520547944| null| null| null| null|1162.626712328767|346.99246575342465|5.844520547945206|1515.463698630137|0.42534246575342466|0.057534246575342465|1.5650684931506849|0.38287671232876713|2.8664383561643834| 1.0465753424657533| null| 6.517808219178082| null| 0.613013698630137| null| null|1978.5061638868744| null|1.7671232876712328|472.9801369863014| null| null| null| 94.2445205479452|46.66027397260274|21.954109589041096|3.4095890410958902|15.060958904109588|2.758904109589041| null| null| null|43.489041095890414| 6.321917808219178|2007.8157534246575| null| null|180921.19589041095|
| stddev|421.6100093688479| 42.30057099381045| null|24.28475177448321| 9981.26493237915| null| null| null| null| null| null| null| null| null| null| null| null|1.3829965467415926|1.1127993367127318|30.202904042525294| 20.64540680770938| null| null| null| null| null|181.06620658721647| null| null| null| null| null| null| null|456.0980908409278| null|161.3192728065416|441.8669552924343| 438.7053244594709| null| null| null| null|386.5877380410744| 436.528435886257|48.62308143352024|525.4803834232024| 0.5189106060898061| 0.23875264627921197|0.5509158012954318| 0.5028853810928912|0.8157780441442279|0.22033819838403076| null|1.6253932905840511| null|0.6446663863122297| null| null| 24.68972476859027| null|0.7473150101111095|213.8048414533803| null| null| null|125.33879435172422| 66.2560276766497| 61.11914860172857|29.317330556781872| 55.75741528187416|40.17730694453021| null| null| null| 496.1230244579441|2.7036262083595113|1.3280951205521145| null| null| 79442.50288288663|
| min| 1| 120| C (all)| 100| 10000| Grvl| Grvl| IR1| Bnk| AllPub| Corner| Gtl| Blmngtn| Artery| Artery| 1Fam| 1.5Fin| 1| 1| 1872| 1950| Flat| ClyTile| AsbShng| AsbShng| BrkCmn| 0| Ex| Ex| BrkTil| Ex| Fa| Av| ALQ| 0| ALQ| 0| 0| 0| Floor| Ex| N| FuseA| 1001| 0| 0| 1002| 0| 0| 0| 0| 0| 0| Ex| 10| Maj1| 0| Ex| 2Types| 1900| Fin| 0| 0| Ex| Ex| N| 0| 0| 0| 0| 0| 0| Ex|GdPrv| Gar2| 0| 1| 2006| COD| Abnorml| 100000|
| max| 999| 90| RM| NA| 9991| Pave| Pave| Reg| Lvl| NoSeWa| Inside| Sev| Veenker| RRNn| RRNn| TwnhsE| SLvl| 9| 9| 2010| 2010| Shed| WdShngl| WdShing| Wd Shng| Stone| NA| TA| TA| Wood| TA| TA| No| Unf| 998| Unf| 972| 999| 999| Wall| TA| Y| SBrkr| 999| 998| 80| 999| 3| 2| 3| 2| 8| 3| TA| 9| Typ| 3| TA| NA| NA| Unf| 4| 995| TA| TA| Y| 98| 99| 99| 96| 99| 738| NA| NA| TenC| 8300| 9| 2010| WD| Partial| 99900|
+-------+-----------------+------------------+--------+-----------------+------------------+------+-----+--------+-----------+---------+---------+---------+------------+----------+----------+--------+----------+------------------+------------------+------------------+------------------+---------+--------+-----------+-----------+----------+------------------+---------+---------+----------+--------+--------+------------+------------+-----------------+------------+-----------------+-----------------+------------------+-------+---------+----------+----------+-----------------+------------------+-----------------+-----------------+-------------------+--------------------+------------------+-------------------+------------------+-------------------+-----------+------------------+----------+------------------+-----------+----------+------------------+------------+------------------+-----------------+----------+----------+----------+------------------+-----------------+------------------+------------------+------------------+-----------------+------+-----+-----------+------------------+------------------+------------------+--------+-------------+------------------+
先看一下房价的分布情况,15W刀左右的居多,可以看出这个数据集是很久以前的了
1.先分析数值型的特征,比如LotFrontage(通往房屋的street的距离)和LotArea(房子的建筑面积,包括车库院子啥的)
分析:因为距离有的值为NA的缘故,对其值为NA的处理成了距离为0。
按我们的思路,应该是距离越近价格越高(出行比较方便),可是事实上并不是这样子,可能是私家车在外国家庭的普及率问题,和street的距离同房价之间的关系并不是很明显
接下来分析房屋的建筑面积和房价之间的关系,为了直观些,我把单位从平方英尺转换成了平方米。
可以看到数据集中房屋的面积的峰值在900平方米左右,且房屋的建筑面积和房价是正相关的(废话)
接下来再看看1层和2层面积和房价之间的关系
可以看到,1楼面积和2层面积(如果有的话),同房价之间的关系也很线性,除少数离群的点之外
Spark学习笔记——房屋价格预测的更多相关文章
- Spark学习笔记之SparkRDD
Spark学习笔记之SparkRDD 一. 基本概念 RDD(resilient distributed datasets)弹性分布式数据集. 来自于两方面 ① 内存集合和外部存储系统 ② ...
- spark学习笔记总结-spark入门资料精化
Spark学习笔记 Spark简介 spark 可以很容易和yarn结合,直接调用HDFS.Hbase上面的数据,和hadoop结合.配置很容易. spark发展迅猛,框架比hadoop更加灵活实用. ...
- Spark学习笔记2(spark所需环境配置
Spark学习笔记2 配置spark所需环境 1.首先先把本地的maven的压缩包解压到本地文件夹中,安装好本地的maven客户端程序,版本没有什么要求 不需要最新版的maven客户端. 解压完成之后 ...
- Spark学习笔记3(IDEA编写scala代码并打包上传集群运行)
Spark学习笔记3 IDEA编写scala代码并打包上传集群运行 我们在IDEA上的maven项目已经搭建完成了,现在可以写一个简单的spark代码并且打成jar包 上传至集群,来检验一下我们的sp ...
- Spark学习笔记-GraphX-1
Spark学习笔记-GraphX-1 标签: SparkGraphGraphX图计算 2014-09-29 13:04 2339人阅读 评论(0) 收藏 举报 分类: Spark(8) 版权声明: ...
- Spark学习笔记3——RDD(下)
目录 Spark学习笔记3--RDD(下) 向Spark传递函数 通过匿名内部类 通过具名类传递 通过带参数的 Java 函数类传递 通过 lambda 表达式传递(仅限于 Java 8 及以上) 常 ...
- Spark学习笔记0——简单了解和技术架构
目录 Spark学习笔记0--简单了解和技术架构 什么是Spark 技术架构和软件栈 Spark Core Spark SQL Spark Streaming MLlib GraphX 集群管理器 受 ...
- Spark学习笔记2——RDD(上)
目录 Spark学习笔记2--RDD(上) RDD是什么? 例子 创建 RDD 并行化方式 读取外部数据集方式 RDD 操作 转化操作 行动操作 惰性求值 Spark学习笔记2--RDD(上) 笔记摘 ...
- Spark学习笔记1——第一个Spark程序:单词数统计
Spark学习笔记1--第一个Spark程序:单词数统计 笔记摘抄自 [美] Holden Karau 等著的<Spark快速大数据分析> 添加依赖 通过 Maven 添加 Spark-c ...
随机推荐
- 提升PHP安全:8个必须修改的PHP默认配置
很明显,PHP+Mysql+Apache是很流行的web技术,这个组合功能强大,可扩展性强,还是免费的.然而,PHP的默认设置对已经上线的网站不是那么适合.下面通过修改默认的配置文件加强PHP的安全策 ...
- 如何将Object类型转换成String类型
1. Object.toString() obj.toString() 注意:必须保证Object不是null值,否则将抛出NullPointerException异常. 2. (String)Obj ...
- javascript加密PHP解密---jsencrypt
今天偶然发现jsencrypt这玩意,之前做"直播室聊天"时 数据传输明文问题没解决; 一直苦苦寻找技术解决方案今天勉强找了个: 原理:javascript加密PHP解密: 完全依 ...
- MyEclipse启动时 弹出提醒框
1. MyEclipse has detected that less than 5% of the 31MB of PS Survivor Space (Heap memory) space rem ...
- JDBC(5)—DatabaseMetaData
1.简介: 使用元数据已实现通用的查询方法.元数据介绍:使用jdbc获得连接之后,得到一个Connection对象,可以通过这个对象获得DataBaseMetaData对象,该对象可以获得有关数据库管 ...
- PID控制器(比例-积分-微分控制器)- IV
调节/测量放大电路电路图:PID控制电路图 如图是PlD控制电路,即比例(P).积分(I).微分(D)控制电路. A1构成的比例电路与环路增益有关,调节RP1,可使反相器的增益在0·5一∞范围内变化; ...
- ios 类别(category)
定义 类别(category)是Objective-C语言的新特性,为现有的类添加新方法的方式.局限性:1.无法添加新的实例变量.2.与类本身的方法名称冲突.当名称冲突时,类别具有更高的优先级.作用: ...
- Meclipse alt+/ 没有提示
- WHY数学表达式的3D可视化
WHY数学表达式的3D可视化 很早之前我就有这种想法,将数学表达式的图形显示出来.最近终于实现了这套较为完善的版本,将其代码公布,也为开源做点贡献.首先系统中定义一套脚本语言格式,用于描述数学表达式. ...
- How to measure IOPS for VMware
http://blog.synology.com/blog/?p=2225 Executive SummaryThis article, intended towards IT Professiona ...