Skip to content

cjyfff/income_predict

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

收入预测程序

概述

基于UCI的这一份美国成年人收入数据,使用机器学习算法对美国成年人的收入进行预测。
目前使用的分类模型是Logistic Regression、SVM和AdaBoost。

依赖

python==2.7
numpy==1.10.1
matplotlib==1.5.1
pandas==0.17.1

使用方法

在代码主目录执行python main.py即可

代码逻辑说明

  1. LR的优化方法采用随机梯度下降
  2. SVM使用RBF作为核函数

总结

  1. LR的预测准确率并不稳定,在74%~79%之间,SVM的预测准确率比较稳定,为83.8%左右。在对age、education_num、hours_per_week等连续数据进行离散化后,LR的预测准确率提升至84%,SVM的准确率基本没变化。AdaBoost在30次迭代是准确率为84.3%,继续增加迭代次数,准确率不会有明显的提升。
  2. SVM的建立模型时所需要的参数需要使用交叉验证得到。该过程耗时很长,对32000条数据进行交叉验证,在单进程的情况下,在我的机器上耗费了超过20小时。
  3. 在我的机器上,LR训练模型以及预测共耗时47.2秒,SVM耗时67.6秒,AdaBoost耗时9秒(30次迭代)。
  4. 综合来说,三个分类器中,AdaBoost无论是性能还是准确率都是最好的分类器。

About

predict adult's income with machine learning

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages