博客
关于我
R语言做kaggle中California Housing Prices数据集
阅读量:337 次
发布时间:2019-03-04

本文共 1305 字,大约阅读时间需要 4 分钟。

数据集来源数据集是来自Kaggle的“House Prices”数据集。首先,我需要加载所需的包并读取数据。

加载包

library(tidyverse)library(reshape2)

读取数据

housing = read.csv('housing.csv')

简单查看数据

head(housing)summary(housing)

数据预处理可以从数据总览中看出,total_bedrooms存在缺失值,需要用中位数插值处理。ocean_proximity需要转换为哑变量。另外,total_bedrooms和total_rooms需要转换为mean_number_bedrooms和mean_number_rooms。

处理缺失值

housing$median_house_value = housing$total_rooms / housing$households

转换为哑变量

library(fastDummies)housing2 = dummy_cols(housing, remove_first_dummy = FALSE)

处理数据

housing3 = data.frame(housing2[11:15], housing1, housing$median_house_value)

加载模型包

library(randomForest)library(caret)

划分数据集

set.seed(1234)trainIndex = createDataPartition(housing3$median_house_value, p=0.8, list=FALSE, times=1)dataTrain = housing3[trainIndex,]dataTest = housing3[-trainIndex,]

随机森林模型

library(randomForest)rf_model = randomForest(train_x, y = train_y, ntree = 500, importance = TRUE)

变量重要性

rf_model$importance

模型评估

oob_prediction = predict(rf_model)train_mse = mean(as.numeric((oob_prediction - train_y)^2))oob_rmse = sqrt(train_mse)test_y = dataTest[,'housing.median_house_value']test_x = dataTest[, names(dataTest) != 'housing.median_house_value']y_pred = predict(rf_model, test_x)test_mse = mean(((y_pred - test_y)^2))test_rmse = sqrt(test_mse)

房价预测模型基于随机森林算法,能够较好地预测房价。模型在测试集上的RMSE约为15,000美元,表明预测效果良好。

转载地址:http://iuue.baihongyu.com/

你可能感兴趣的文章
Objective-C实现华氏温度转摄氏温度(附完整源码)
查看>>
Objective-C实现单例模式(附完整源码)
查看>>
Objective-C实现单向链表的反转(附完整源码)
查看>>
Objective-C实现单向链表的反转(附完整源码)
查看>>
Objective-C实现单字母密码算法(附完整源码)
查看>>
Objective-C实现单循环链表算法(附完整源码)
查看>>
Objective-C实现单词计数(附完整源码)
查看>>
Objective-C实现单链表反转(附完整源码)
查看>>
Objective-C实现博福特密码算法(附完整源码)
查看>>
Objective-C实现卡尔曼滤波(附完整源码)
查看>>
Objective-C实现卡尔曼滤波(附完整源码)
查看>>
Objective-C实现卡尔曼滤波(附完整源码)
查看>>
Objective-C实现卷积(附完整源码)
查看>>
Objective-C实现压缩文件夹(附完整源码)
查看>>
Objective-C实现原型模式(附完整源码)
查看>>
Objective-C实现双向A*算法(附完整源码)
查看>>
Objective-C实现双向广度优先搜索算法(附完整源码)
查看>>
Objective-C实现双向循环链表(附完整源码)
查看>>
Objective-C实现双向链表(附完整源码)
查看>>
Objective-C实现双端队列算法(附完整源码)
查看>>