机器学习实例----美国人口收入分析

Sklearn–(1)

原创不易,如需转载,请标明出处。
首先通过官网的图片简单了解Sklearn:
这里写图片描述
可以看到他的主要作用有:分类,回归,聚类,降维,模型选择,预处理。
今天我将利用Adult数据集进行演示。

Adult
该数据从美国1994年人口普查数据库抽取而来,可以用来预测居民收入是否超过50k/year。该数据集类变量为年收入是否超过50k,属性变量包含年龄,工种,学历,职业,人种等重要信息,值得一提的是,14个属性变量中有7个类别型变量。

数据集特征: 多变量
记录数: 48842
领域: 社会
属性特征: 类别型,整数 (各自有不同的处理方法)
属性数目: 14
捐赠日期 1996-05-01
相关应用: 分类
缺失值:有 (会有相关函数)
数据查看地址:

首先下载数据

#下载数据
from urllib.request import urlretrieve
#编辑下载函数
def load_data(download=True):
    # 数据下载地址: http://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data
    if download:
        data_path, _ = urlretrieve("http://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data", "D://ML//Data//adult.csv")
        print("数据已下载到 D://ML//Data//adult.csv")
load_data()
#下载成功即可显示,进入文件夹查看,3.79M数据,可通过Excel打开检验,没有问题。
数据已下载到 D://ML//Data//adult.csv

以上下载部分属于Python的网络部分,可以了解一下,另外如果对爬虫感兴趣,也可以深入学习,相当有意思。以后有机会,也会做一些有趣的例子分享出来。

其次根据特征进行显示

由于下载好的文件本身没有列名,所以我们通过pandas的col_names参数进行赋值:

#读取并显示部分数据
import pandas as pd
col_names = ["age", "workclass", "fnlwgt", "education", "education-num", "marital-status", "occupation", 
             "relationship", "race", "sex", "capital-gain", "capital-loss", "hours-per-week", "native-country", "result"]
data = pd.read_csv("D://ML//Data//adult.csv", names=col_names)
print(data[:10])

利用Pandas和Numpy是机器学习和数据分析的基本操作,希望大家能熟练掌握。
显示如下:

 age          workclass  fnlwgt   education  education-num  \
0   39          State-gov   77516   Bachelors             13   
1   50   Self-emp-not-inc   83311   Bachelors             13   
2   38            Private  215646     HS-grad              9   
3   53            Private  234721        11th              7   
4   28            Private  338409   Bachelors             13   
5   37            Private  284582     Masters             14   
6   49            Private  160187         9th              5   
7   52   Self-emp-not-inc  209642     HS-grad              9   
8   31            Private   45781     Masters             14   
9   42            Private  159449   Bachelors             13   

           marital-status          occupation    relationship    race  \
0           Never-married        Adm-clerical   Not-in-family   White   
1      Married-civ-spouse     Exec-managerial         Husband   White   
2                Divorced   Handlers-cleaners   Not-in-family   White   
3      Married-civ-spouse   Handlers-cleaners         Husband   Black   
4      Married-civ-spouse      Prof-specialty            Wife   Black   
5      Married-civ-spouse     Exec-managerial            Wife   White   
6   Married-spouse-absent       Other-service   Not-in-family   Black   
7      Married-civ-spouse     Exec-managerial         Husband   White   
8           Never-married      Prof-specialty   Not-in-family   White   
9      Married-civ-spouse     Exec-managerial         Husband   White   

       sex  capital-gain  capital-loss  hours-per-week  native-country  result  
0     Male          2174             0              40   United-States   <=50K  
1     Male             0             0              13   United-States   <=50K  
2     Male             0             0              40   United-States   <=50K  
3     Male             0             0              40   United-States   <=50K  
4   Female             0             0              40            Cuba   <=50K  
5   Female             0             0              40   United-States   <=50K  
6   Female             0             0              16         Jamaica   <=50K  
7     Male             0             0              45   United-States    >50K  
8   Female         14084             0              50   United-States    >50K  
9     Male          5178             0              40   United-States    >50K  

所以下一节我们的目标就是将下载的数据进行清洗和标准化,然后分成训练组和测试组(大概比例按照7:3),分别利用SVM,Logistics Rregression, Linear SVM, Naive Bayes等方法进行训练和对比,期待。

接下来是重头戏

如果觉得本文写的还不错的伙伴,可以给个关注一起交流进步,如果有在找工作且对阿里感兴趣的伙伴,也可以发简历给我进行内推:
在这里插入图片描述

  • 6
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值