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

本文共 1322 字,大约阅读时间需要 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实现构造n以内的素数表(附完整源码)
查看>>
Objective-C实现某文件夹下文件重命名(附完整源码)
查看>>
Objective-C实现查找second Largest Element第二大元素算法(附完整源码)
查看>>
Objective-C实现查找整数数组中给定的最小数字算法(附完整源码)
查看>>
Objective-C实现查找给定节点数的树中可能的二叉搜索树的数量树算法(附完整源码)
查看>>
Objective-C实现查找链表的中间元素算法(附完整源码)
查看>>
Objective-C实现样条插值(附完整源码)
查看>>
Objective-C实现根据cpu和磁盘序列号生成注册码( 附完整源码)
查看>>
Objective-C实现格雷码序列算法(附完整源码)
查看>>
Objective-C实现桥接模式(附完整源码)
查看>>
Objective-C实现检查一个数字是否可以被另一个数字整除算法(附完整源码)
查看>>
Objective-C实现检查一年是否是闰年算法 (附完整源码)
查看>>
Objective-C实现检查三个点在 3D 中是否共线算法(附完整源码)
查看>>
Objective-C实现检查字符串是否包含字母表中所有字母的算法(附完整源码)
查看>>
Objective-C实现检查字符是否为字母算法(附完整源码)
查看>>
Objective-C实现检查数字是否为偶数算法(附完整源码)
查看>>
Objective-C实现检查数字是否为奇数算法(附完整源码)
查看>>
Objective-C实现检查给定图中是否存在循环算法(附完整源码)
查看>>
Objective-C实现检查给定字符串是否在camelCase中算法(附完整源码)
查看>>