基于R语言的选举数据的模型建立与预测分析

本文利用选举数据,通过K-近邻、支持向量机、人工神经网络等三类分类算法,利用R语言统计软件,实现选举数据的模型建立与预测分析。并对三个模型的预测结果进行对比分析,从而选择最优分类策略,进而为选举提供有效、有力的数据支持。

1.数据探索

1.1 数据来源及说明

  数据来源于某国选举数据,共有“Precinct”、“Race”、“Income”、“Candidate”四个变量,均为分类变量。

1.2 变量说明

  Precinct:管理区,为区号;
  Race:选民的种族,0=缺失,1=白人,2=西班牙裔,3=黑人,4=亚洲人,5=其他;
  Income:选民的收入,0=缺失,1=<10k,2=10-20k,3=20-30k,4=30-40k,5=40-50k,6=50-60k,7=60-70k,8=70k及以上;
  Candidate:候选人,1=Jackson,2=LaRouche,3=Dukakis,4=Gore,5=Simon。

1.3 变量处理

  由于变量“Race”、“Income”带有缺失值,于是先对所有数据进行缺失值处理,即保证数据的有效性,形成数据newdata。

# 导入数据
data<-read.csv("data.csv",header = T)
# 剔除缺失值,即race、income为0的行
newdata<-subset(data,data$race>0&data$income>0,
select=c("precinct","race","income","candidate" ))
再对目标变量进行因子化处理,其他数据进行归一化处理,即“Precinct”、“Race”、“Income”进行(x-min(x))/(max(x)-min(x))的计算替换,形成新的数据集newdatanor。
# 目标变量因子化
data$candidate<-as.factor(data$candidate)
# min-max标准化:(x-min)/(max-min)
normalize <- function(x) { return ((x-min(x))/(max(x)-min(x))) }
normalize(c(1, 3, 5)) ## 测试函数有效性
newdatanor <- as.data.frame(lapply(newdata[1:3],normalize))
newdatanor$candidate <- newdata$candidate
str(newdatanor)
得到数据集newdatanor,共计length(newdata$precinct)=1723条数据,于是对以上数据进行随机抽样,划分训练集和测试集,以70%的数据为训练集,30%为测试集。
#划分train&test
# train训练集
set.seed(3) ## 设立随机种子
train_id <- sample(1:length(newdatanor$precinct),
l

最近更新

  1. TCP协议是安全的吗?

    2024-04-10 18:30:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-10 18:30:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-10 18:30:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-10 18:30:04       20 阅读

热门阅读

  1. How to find which Azure Private DNS Zone is associated with VNet

    2024-04-10 18:30:04       16 阅读
  2. 为什么pdf拆分出几页之后大小几乎没有变化

    2024-04-10 18:30:04       18 阅读
  3. c++ 函数进阶

    2024-04-10 18:30:04       14 阅读
  4. 响应---

    2024-04-10 18:30:04       14 阅读
  5. 谈谈贪心算法

    2024-04-10 18:30:04       10 阅读
  6. OceanBase数据库oceanbase-ce的docker镜像中文说明

    2024-04-10 18:30:04       15 阅读
  7. Apache POI

    2024-04-10 18:30:04       14 阅读
  8. 瑞芯微RK3568调试Android 11的各种方法

    2024-04-10 18:30:04       17 阅读