R语言分析南京房价

**#################################################

本项目分析南京房价数据,数据来源:链家网

autho:owl

前言:本文利用网上爬取的南京二手房信息,利用R进行简单分析,数据做仅学习研究练习用,侵删

首先读取数据,数据为.csv格式

houseprice = read.csv("E:/houseprice.csv",stringsAsFactors = F)
View(head(houseprice,30))
str(houseprice)

数据的基本结构

修改数据类型,由于并不是所有的数据都是我们需要的,可以选择特定的数据做处理

########################################################################根据标题跟卖点进行文本挖掘,可以找出买房者与买房者比较关注的因素,将标题与卖点的字符串拼接(同时去掉数字与常用标点)

//编写函数,拼接字符串并除去数字、标点

combindString = function(s){
   
  tem = ''
  for (i in 1:length(s)) tem = paste(tem,s[i],sep = "")
  tem = gsub("[0-9 ,、!?。]","",tem)
  tem
}

`
title = combindString(houseprice$标题)
maidian = combindString(houseprice$卖点)
words = combindString(c(title,maidian))
`
#######
进行分词,使用Rwordseg包
`
library(Rwordseg)
library(jiebaR)`

测试Rwordseg与jiebaR分词的效果

w = "中间楼层双南东边户老虎桥小区黄金三楼户型方正黑龙江八巷南北通透全明格局精致装修星雨华府室厅万奥体万科金域缇香南北通透双阳台采光好黄金楼层采光充足黄金楼层诚心出售满两年周边配套好靠近大洋百货非常方便盛景华庭CBD中心交通便捷环境优美配套齐全常府街地铁年小区八一医院核心地段雅居乐花园学区房满两年武定门地铁中北精装三房秦淮一中心学区改善首选"

w1 = segmentCN(w,returnType = "vector")
w1

jiebaR分词
test = worker()
w2 = (test<=w)
w2

#从结果看,jiebaR更符合我们的需求,因此使用jiebaR进行分词

results<-(test<=words)

head(results)

#分好的词是一个向量,我们需要进行词频统计
#可以通过制造一个数据框,分组数数的方法

mywords<-data.frame("词汇"=results)
mywords$词频<-1
View(head(mywords,30)) #看看长什么样

#使用plyr包中的函数进行分组统计

library(plyr)
sumBygroup = function(df) sum(df[,2])
m
  • 8
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
好的,首先需要准备一些数据,包括南京房价、房屋面积、房龄、楼层等相关信息。可以从网上搜集到这些数据,或者自己手动整理。 然后,我们需要安装并导入一些必要的库,包括numpy、pandas、matplotlib等: ```python import numpy as np import pandas as pd import matplotlib.pyplot as plt %matplotlib inline ``` 接着,我们可以读取数据文件并进行数据清洗和预处理: ```python data = pd.read_csv('data.csv') # 剔除缺失值 data = data.dropna() # 将非数值型变量转换为数值型变量 data = pd.get_dummies(data, columns=['floor']) # 将数据分为特征和标签 X = data.drop(['price'], axis=1) y = data['price'] ``` 接下来,我们可以使用sklearn库中的LinearRegression模型进行多元线性回归分析: ```python from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split # 将数据分为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建并训练模型 model = LinearRegression() model.fit(X_train, y_train) # 输出模型的R2分数 print('R2 score:', model.score(X_test, y_test)) ``` 最后,我们可以使用matplotlib库进行可视化展示: ```python # 可视化预测结果与真实结果的对比 plt.scatter(y_test, model.predict(X_test)) plt.xlabel('True Values') plt.ylabel('Predictions') plt.plot([0, max(y_test)], [0, max(y_test)], color='red') plt.show() ``` 这样就完成了南京房价的多元线性回归分析
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值