R爬虫小白入门:Rvest爬链家网+分析(三)

本文介绍了使用R语言的Rvest包爬取链家网房产数据,并通过regression tree和model tree预测房价。通过one-hot Encoding处理类别型变量,建立模型并评估预测效果,发现model tree在预测准确度和相关度上优于regression tree。
摘要由CSDN通过智能技术生成

640?wx_fmt=png

作者:汪喵行  R语言中文社区专栏作者

知乎ID:https://www.zhihu.com/people/yhannahwang


前言

上两节我们已经成功爬取了链家网的3w条数据,并且做了一些浅显的分析,那么这一节我们就利用机器学习,用除了房屋价格之外的其他因素(房屋高度/房屋面积等)来预测一套房子的价格。

objective:用除了房屋总价和房屋单位价格的其他因素,来预测房子的价格

用到的R包: splitstackshape / dummies / rpart / rpart.plot / RWeka / ggplot2



1.Data pre-processing

首先,根据我们的目标,我们需要预测的房屋总价是一个numeric的变量,具体的机器学习的方法有很多,比如简单的线性回归,回归树,模型树,甚至神经网络等等,这里具体介绍用regression tree和model tree来进行预测。这是因为对于比较复杂的数据,直接用建立一个全局线性规划模型有时候是不切实际并且费劲的,但是regression tree和model tree能够解决这个问题。


读取数据


1house_info <- read.csv("house_inf.csv",stringsAsFactors = FALSE)


由于之前数据里面还有一些需要处理的字符之类,在我们训练模型之前先把这些字符啊什么的都处理处理。


1content <- as.vector(house_info$house_level)
2content_size <-as.vector(house_info$house_size) 
3content <- gsub(".*平.*地上","",content)
4content_size <- gsub("厅","",content_size)
5level <- as.data.frame(content)
6size <- as.data.frame(content_size)
7house_info[7] <- level
8house_info[3] <- size
9# 相当于把house_level,house_size里面的字去掉以后再放回去


看一下output:

640?wx_fmt=jpeg

这里我们发现:

1.house_size这个变量其实可以拆成两个,变成bedroom和hall。因为要用“室”来切分这个变量,所以之前我没有把变量里这个字去掉。

2.第一列对于我们预测房价没有什么意义,所以也直接去掉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值