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等方法進行訓練和對比,期待。
如果覺得本文寫的還不錯的夥伴,可以給個關注一起交流進步,如果有在找工作且對阿里感興趣的夥伴,也可以發簡歷給我進行內推: