R语言做kaggle中California Housing Prices数据集
发布日期:2021-05-07 09:30:35 浏览次数:20 分类:精选文章

本文共 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美元,表明预测效果良好。

上一篇:观察者模式的理解以及在前端的广泛应用
下一篇:js代理模式理解和应用场景

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年05月09日 21时53分15秒