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等方法进行训练和对比,期待。
如果觉得本文写的还不错的伙伴,可以给个关注一起交流进步,如果有在找工作且对阿里感兴趣的伙伴,也可以发简历给我进行内推: