精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

5分鐘教你玩轉 sklearn 機器學習(上)

人工智能 機器學習
這是一篇很難寫的文章,因為我希望這篇文章能對大家有所幫助。我不會給大家介紹機器學習,數據挖掘的行業背景,也不會具體介紹邏輯回歸,SVM,GBDT,神經網絡等學習算法的理論依據和數學推導,本文更多的是在流程化上幫助大家快速的入門機器學習和數據建模。

[[205998]]

這是一篇很難寫的文章,因為我希望這篇文章能對大家有所幫助。我不會給大家介紹機器學習,數據挖掘的行業背景,也不會具體介紹邏輯回歸,SVM,GBDT,神經網絡等學習算法的理論依據和數學推導,本文更多的是在流程化上幫助大家快速的入門機器學習和數據建模。

本文主要分為四個部分(限于時間關系會分為上下兩篇):

上篇:

  1. 準備篇,主要涉及環境搭建以及pandas基本知識。
  2. 應用篇,我會以kaggle上的Titanic為例,從數據源獲取,數據清洗,特征處理,模型選擇,模型輸出與運用。

下篇:

  1. 優化篇,介紹了幾種優化的方法。
  2. 思考篇,提出幾個困擾我的問題,希望能得到大家的幫助吧。

一 準備篇

1環境搭建

整個sklearn的實驗環境是:python 2.7 + pycharm + Anaconda。

2 pandas基礎

這里只能大家介紹下面會用到的pandas知識,有興趣的可以去具體的學習。給大家推薦一本參考書:《Python for Data Analysis》。有基礎的可以直接跳到應用篇。

pandas主要會用到Series 和DataFrame兩種數據結構。Series像是一維的數組,而DataFrame更像是一種二維的表結構。

Series的構造方法:

  1. label=[1,0,1,0,1] 
  2. data = pd.Series(data=label,index=['a','b','c','d','e'],dtype=int,name="label"
  3. print data 

Series取數據,通過index取數

  1. data['a' 
  2. data[['a','b']] 

DataFrame的構造

(1)以字典的形式構造

  1. frame = pd.DataFrame({'name':['Time','Jack','Lily'],'Age':[20,30,12],"weight":[56.7,64.0,50.0]}) 

(2)由DataFrame 構建DataFrame

  1. frame1 = pd.DataFrame(frame,columns=["name","Age"]) 

從frame中讀取了兩列構成新的DataFrame。

DataFrame的操作

1 增加列

  1. frame1["friends_num"]=[10,12,14] 

2 刪除列

  1. frame2 = frame1.drop(["name","Age"],axis=1) 

3 查找數據行

  1. frame1[frame1["friends_num"]>10] 

結果如下:

DataFrame的統計方法

1 apply 配合lambda 處理列,如將frame1的Age列進行分段。

  1. frame1["Age_group"] = frame1["Age"].apply(lambda x: 0 if x < 20 else 1) 

2 describe輸出統計信息,非常強大

  1. frame1.describe() 

給出了8個統計量,對我們的數據處理特別有用。有個問題,直接使用describe方法只能統計數值類的列,對于字符類的變量沒有統計。加個參數就行。

  1. frame1.describe(include=['O']) 

3 缺失值處理

  1. #以0填充缺失值 
  2. frame1.fillna(0) 
  3. #丟掉任何包含NAN的行  
  4. frame1.dropna() 
  5. #刪除全為nan的行 
  6. frame1.dropna(how="all"

二 應用篇

1 數據讀取

本例以Titanic作為數據源。大家可以在附件獲取到數據。

  1. data = pd.DataFrame(pd.read_csv(train_path)) 
  2. data_test = pd.DataFrame(pd.read_csv(test_path)) 
  3. data_test = data_test[["Pclass","Name","Sex","Age","SibSp","Parch","Ticket","Fare","Cabin","Embarked"]] 
  4. x = data[["Pclass","Name","Sex","Age","SibSp","Parch","Ticket","Fare","Cabin","Embarked"]] 
  5. y = data[["Survived"]] 
  6. print x.describe() 
  7. print x.describe(include=['O']) 
  8. print data_test.describe() 
  9. print data_test.describe(include=['O']) 

數據的初始統計信息:

2 數據清洗

1 缺失值處理。

Age和Embarked列存在少量缺失值,分別處理。

  1. #用眾數填充缺失值 
  2. data_set["Embarked"]=data_set["Embarked"].fillna('S'
  3. #用均值填充Age缺失值 
  4. data_set["Age"]=data_set["Age"].fillna(data_set["Age"].mean()) 

2 刪除缺失率較大的列(初步處理時)

Cabin列的缺失率達到了75%,刪除改列。

  1. data_set = data_set.drop([ "Cabin"], axis=1) 

3 特征處理

特征處理是基于具體的數據的,所以在特征處理之前要對數據做充分的理解。特征處理沒有固定方法之說,主要靠個人的經驗與觀察,通過不斷的嘗試和變換,以期望挖掘出較好的特征變量。所以說,特征處理是模型建立過程中最耗時和耗神的工作。

1)單變量特征提取。

  1. #根據name的長度,抽象出name_len特征  
  2. data_set["name_len"] = data_set["Name"].apply(len) 

觀察name列

通過觀察Name列數據,可以發現名字中帶有性別和婚否的稱謂信息。提取這些信息(可能是有用的特征)。

  1. data_set["name_class"] = data_set["Name"].apply(lambda x : x.split(",")[1]).apply(lambda x :x.split()[0]) 

2)多變量的組合

sibsp 代表兄弟姐妹和配偶的數量

parch 代表父母和子女的數量

因此可以將sibsp和parch結合獲得家庭成員的數量

  1. data_set["family_num"] = data_set["Parch"] + data_set["SibSp"] +1 

3)名義變量轉數值變量

  1. #Embarked 
  2. data_set["Embarked"]=data_set["Embarked"].map({'S':1,'C':2,'Q':3}).astype(int
  3. #Sex 
  4. data_set["Sex"] = data_set["Sex"].apply(lambda x : 0 if x=='male' else 1) 

4)數據分段

根據統計信息和經驗分段

  1. #[7.91,14.45,31.0]根據Fare的統計信息進行分段 
  2. data_set["Fare"] = data_set["Fare"].apply(lambda x:cutFeature([7.91,14.45,31.0],x)) 
  3. #[18,48,64]按照經驗分段 
  4. data_set["Age"] = data_set["Age"].apply(lambda x:cutFeature([18,48,64],x)) 

簡單的數據處理后,我們得到了如下12維數據:

4 模型選擇與測試

初步選取了5種模型進行試驗

RandomForestClassifier

ExtraTreesClassifier

AdaBoostClassifier

GradientBoostingClassifier

SVC

模型參數:

  1. #隨機森林 
  2.     rf_params = { 
  3.         'n_jobs': -1, 
  4.         'n_estimators': 500, 
  5.         'warm_start'True
  6.         # 'max_features': 0.2, 
  7.         'max_depth': 6, 
  8.         'min_samples_leaf': 2, 
  9.         'max_features''sqrt'
  10.         'verbose': 0 
  11.     } 
  12.     # Extra Trees 隨機森林 
  13.     et_params = { 
  14.         'n_jobs': -1, 
  15.         'n_estimators': 500, 
  16.         # 'max_features': 0.5, 
  17.         'max_depth': 8, 
  18.         'min_samples_leaf': 2, 
  19.         'verbose': 0 
  20.     } 
  21.  
  22.     # AdaBoost  
  23.     ada_params = { 
  24.         'n_estimators': 500, 
  25.         'learning_rate': 0.75 
  26.     } 
  27.  
  28.     # GBDT 
  29.     gb_params = { 
  30.         'n_estimators': 500, 
  31.         # 'max_features': 0.2, 
  32.         'max_depth': 5, 
  33.         'min_samples_leaf': 2, 
  34.         'verbose': 0 
  35.     } 
  36.  
  37.     # SVC 
  38.     svc_params = { 
  39.         'kernel''linear'
  40.         'C': 0.025 
  41.     } 

模型選擇代碼:

  1. classifiers = [ 
  2.         ("rf_model", RandomForestClassifier(**rf_params)), 
  3.         ("et_model", ExtraTreesClassifier(**et_params)), 
  4.         ("ada_model", AdaBoostClassifier(**ada_params)), 
  5.         ("gb_model", GradientBoostingClassifier(**gb_params)), 
  6.         ("svc_model", SVC(**svc_params)), 
  7.     ] 
  8.  
  9.     heldout = [0.95, 0.90, 0.75, 0.50, 0.01] 
  10.     rounds = 20 
  11.     xx = 1. - np.array(heldout) 
  12.     for name, clf in classifiers: 
  13.         print("training %s" % name
  14.         rng = np.random.RandomState(42) 
  15.         yy = [] 
  16.         for i in heldout: 
  17.             yy_ = [] 
  18.             for r in range(rounds): 
  19.                 X_train_turn, X_test_turn, y_train_turn, y_test_turn = \ 
  20.                     train_test_split(x_train, labels_train, test_size=i, random_state=rng) 
  21.                 clf.fit(X_train_turn, y_train_turn) 
  22.                 y_pred = clf.predict(X_test_turn) 
  23.                 yy_.append(1 - np.mean(y_pred == y_test_turn)) 
  24.             yy.append(np.mean(yy_)) 
  25.         plt.plot(xx, yy, label=name
  26.  
  27.     plt.legend(loc="upper right"
  28.     plt.xlabel("Proportion train"
  29.     plt.ylabel("Test Error Rate"
  30.     plt.show() 

選擇結果如下:

從上圖可以看出,randomForest的一般表現要優于其他算法。初步選擇randomforest算法。

模型的在訓練集上的表現:

  1. def modelScore(x_train,labels_train,x_test,y_test,model_name,et_params): 
  2.     print("--------%s------------")%(model_name) 
  3.     model = model_name(**et_params) 
  4.  
  5.     model.fit(x_train, labels_train) 
  6.     if "feature_importances_" in dir(model): 
  7.         print model.feature_importances_ 
  8.  
  9.     print classification_report( 
  10.         labels_train, 
  11.         model.predict(x_train)) 
  12.  
  13.     print classification_report( 
  14.         y_test, 
  15.         model.predict(x_test)) 
  16.     return model 
  17.  
  18. modelScore(x_train, labels_train, x_test, y_test, RandomForestClassifier, rf_params) 

訓練集的混淆矩陣如下圖:

測試集的混淆矩陣如下圖:

到此,初步的學習模型就建立起來了,測試集的準確度為83%。由于時間關系,優化篇和思考篇將放在下篇文章與大家分享,敬請期待。

原文鏈接:https://cloud.tencent.com/community/article/229506

作者:趙成龍

【本文是51CTO專欄作者“騰訊云技術社區”的原創稿件,轉載請通過51CTO聯系原作者獲取授權】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2011-09-19 13:41:54

2021-06-02 09:12:04

App自動化測試測試自動化

2021-04-27 10:16:51

優化機器學習人工智能

2020-01-22 16:40:48

Java開發代碼

2020-05-27 10:36:43

機器學習人工智能計算機

2018-11-14 12:45:12

華為

2018-11-23 11:44:21

華為云

2015-05-07 11:31:21

服務器虛擬化深信服

2023-07-12 15:50:29

機器學習人工智能

2020-03-06 10:45:48

機器學習人工智能神經網絡

2012-06-28 10:26:51

Silverlight

2021-08-01 21:38:07

網頁點燈網關

2017-07-04 16:23:10

容器ocker技術

2019-07-22 05:12:28

機器學習深度學習人工智能

2018-08-30 14:31:28

Linux磁盤LVM

2022-05-30 08:34:49

PythonSQL

2020-09-14 11:30:26

HTTP3運維互聯網

2021-01-29 11:43:53

SSHLinux命令

2021-04-30 16:23:58

WebRTC實時音頻

2017-12-19 09:05:39

點贊
收藏

51CTO技術棧公眾號

欧美一级久久久| 亚洲免费激情| 欧美精品粉嫩高潮一区二区| 伊人av成人| 国产三区在线播放| 国产一区二区三区四区三区四| 精品美女一区二区三区| a级黄色一级片| 韩国精品视频| 久久av老司机精品网站导航| 九九热这里只有精品6| 蜜桃视频无码区在线观看| a级在线观看| aaa国产一区| 国产精品夫妻激情| eeuss中文字幕| 第一区第二区在线| 91国偷自产一区二区开放时间| 亚洲制服中文| 韩国av在线免费观看| 另类天堂av| 久久影视电视剧免费网站清宫辞电视| 日本50路肥熟bbw| 香蕉成人影院| 亚洲精品中文字幕乱码三区| 六十路精品视频| 91精品国产乱码久久| 黄色精品免费| 神马久久久久久| 国产欧美一区二| 岛国在线视频网站| 亚洲视频一区二区在线观看| 国产精品一区二区三区在线 | 久久成人免费网站| 久久久之久亚州精品露出| 先锋影音av在线| 九九热播视频在线精品6 | 97超碰资源站| 亚洲综合日本| 久久久久久999| 日本视频在线免费| 欧美少妇xxxx| 亚洲人成自拍网站| 国产吞精囗交久久久| av成人app永久免费| 日韩欧美国产一区二区三区| 国产美女18xxxx免费视频| 亚洲精品555| 色国产精品一区在线观看| 黄色片久久久久| 在线观看特色大片免费视频| 婷婷亚洲久悠悠色悠在线播放 | 99国产精品无码| 欧美精品尤物在线观看| 亚洲色图17p| 亚洲一区视频在线播放| 亚洲a级精品| 亚洲欧美一区二区激情| 欧美 变态 另类 人妖| 亚州综合一区| 亚洲性视频网址| 欧美日韩中文字幕视频| 欧美精品一二| 久久精品国产亚洲| 久久久久成人网站| 一区二区三区导航| 国产成人综合一区二区三区| 伊人成年综合网| 久久er99精品| 超碰97人人人人人蜜桃| 天堂在线资源8| 久久久精品日韩欧美| 亚洲欧洲一区二区在线观看| 香港伦理在线| 亚洲综合免费观看高清完整版| 一本久道高清无码视频| 美女高潮视频在线看| 在线欧美日韩精品| 中文字幕66页| 老牛精品亚洲成av人片| 亚洲人成电影在线播放| 国产一区二区三区视频播放| 午夜精品av| 日本精品免费一区二区三区| 亚洲图片欧美在线| 粉嫩嫩av羞羞动漫久久久| 蜜桃成人免费视频| 欧美成人xxx| 亚洲成人动漫一区| 国产一级不卡毛片| 日韩在线成人| 亚洲人成电影网| 免费中文字幕在线观看| 老鸭窝毛片一区二区三区| 91精品免费视频| 先锋av资源站| 中文字幕永久在线不卡| 无码 制服 丝袜 国产 另类| 精品123区| 精品国一区二区三区| 91视频免费在观看| 1024日韩| 成人国产精品日本在线| 日中文字幕在线| 亚洲免费在线视频| 成人亚洲视频在线观看| 911亚洲精品| 综合av色偷偷网| 久久久久久久久久影院| 精品一区二区三区在线播放视频| 国产一区二区高清不卡| 精品51国产黑色丝袜高跟鞋| 欧美性猛交xxx| 久久久久久久久久久影视| 国产精品探花在线观看| 欧美国产极速在线| 国产乱码精品一区二区| 久久夜色精品一区| 五月丁香综合缴情六月小说| 色8久久久久| 在线电影欧美日韩一区二区私密| 日韩av片在线播放| 国产麻豆视频精品| 中文字幕剧情在线观看一区| 国产精品迅雷| 日韩成人在线播放| 精品肉丝脚一区二区三区| 精品亚洲porn| 亚洲丰满在线| 丝袜美腿一区| 精品无人区太爽高潮在线播放| 久久久精品国产sm调教| 国产揄拍国内精品对白| 亚洲人一区二区| 91tv亚洲精品香蕉国产一区| 亚洲欧美在线一区| 亚洲精品午夜国产va久久成人| 懂色av一区二区三区免费看| 中文字幕日韩精品一区二区| 国产精品无码久久久久| 色婷婷**av毛片一区| 国产三级理论片| 国产亚洲精品aa| 免费男同深夜夜行网站| 亚州av一区| 国产成人一区二区三区| 看电影就来5566av视频在线播放| 欧美视频在线观看免费网址| 艳妇乳肉豪妇荡乳xxx| 日韩亚洲在线| 久久精品国产理论片免费| 少妇视频在线观看| 国产视频精品在线| 337p粉嫩色噜噜噜大肥臀| 久久你懂得1024| 日韩欧美xxxx| 久久视频国产| 91精品婷婷国产综合久久蝌蚪| gogo在线高清视频| 精品国产凹凸成av人导航| 国产精品xxxx喷水欧美| 26uuu亚洲综合色欧美| 午夜dv内射一区二区| 波多野结衣在线观看一区二区| 国产精品国产三级国产专播精品人 | 日韩毛片在线| 久久九九亚洲综合| 高潮一区二区三区乱码| 欧美日韩国产综合视频在线观看中文| 97伦伦午夜电影理伦片| 日韩1区2区日韩1区2区| 一区二区三区在线观看www| 欧美久久一区二区三区| 久久久人成影片一区二区三区观看| 少妇高潮久久久| 色8久久精品久久久久久蜜| 一本在线免费视频| 福利电影一区二区| 国产视频在线视频| 亚洲男女av一区二区| 国产亚洲二区| 99精品在免费线偷拍| 色综合男人天堂| 青春有你2免费观看完整版在线播放高清| 欧美三日本三级三级在线播放| 成人免费视频国产免费观看| 99re66热这里只有精品3直播| 日本精品久久久久中文字幕| 91精品啪在线观看国产18| 国产chinese精品一区二区| se01亚洲视频| 色综合久久88色综合天天看泰| 亚洲av电影一区| 欧美男女性生活在线直播观看| 久久中文字幕无码| 中文字幕欧美日韩一区| 成人啪啪18免费游戏链接| 视频一区二区中文字幕| 中文字幕日韩精品无码内射| 亚洲第一福利社区| 国产欧美日韩精品专区| 91在线超碰| 精品国产美女在线| 国产一二在线观看| 精品国产凹凸成av人网站| 在线观看中文字幕2021| 午夜精品久久久久久久久久久 | 日韩电影免费网站| 国产色综合一区二区三区| 91精品在线免费视频| 日韩av手机在线看| а√天堂8资源在线| 久久天天躁狠狠躁夜夜躁| 国产美女性感在线观看懂色av | 在线中文资源天堂| 亚洲精品永久免费| 亚洲精品视频网| 欧美日韩国产系列| 怡红院av久久久久久久| 亚洲一区视频在线| 毛片aaaaa| 亚洲精品一二三| 日本免费网站视频| 欧美韩国日本不卡| 无码少妇精品一区二区免费动态| av在线不卡观看免费观看| 超碰人人cao| 国产毛片一区二区| 国产999免费视频| 日本视频一区二区| 男人天堂成人在线| 久久不射网站| 人妻熟妇乱又伦精品视频| 午夜国产欧美理论在线播放| 少妇熟女一区二区| 99久久婷婷这里只有精品| 日本一区二区视频| 国产一区二区区别| 亚洲第一综合| 99精品综合| 一本色道久久99精品综合| 欧美日韩有码| 亚洲精品乱码视频| 青青草国产成人a∨下载安卓| 日本一区二区在线| 国产一区二区三区网| 欧美一级二级三级九九九| 国产精品视频一区二区三区四蜜臂| 欧美福利一区二区三区| 国产精品亚洲二区| 亚洲国产综合自拍| 性欧美欧美巨大69| 久久国产精品免费观看| 欧美久久99| 日本福利视频在线| 日韩国产欧美在线视频| mm131亚洲精品| 激情综合网激情| 欧美视频国产视频| 国产一区二区在线看| 国产资源中文字幕| 岛国一区二区在线观看| 成人免费无码大片a毛片| www一区二区| 久久久国产一级片| 亚洲人成网站在线| 日韩av黄色片| 在线观看欧美日本| 97人妻人人澡人人爽人人精品| 91精品国产乱| 无码国产精品一区二区色情男同| 亚洲久久久久久久久久久| 国产在线一二三区| 久久久久999| 超碰在线99| 国产精品网红福利| 91精品短视频| 欧美亚洲爱爱另类综合| 99久久99视频只有精品| 青春草国产视频| 久久午夜av| 永久看看免费大片| 久久色在线视频| 天天操天天操天天操天天操天天操| 亚洲一区二区精品3399| 国产字幕在线观看| 日韩无一区二区| 久久精品蜜桃| 欧美巨猛xxxx猛交黑人97人| 日本不卡网站| 亚洲一区二区三区香蕉| 亚洲成人一品| 日本一道在线观看| 日本va欧美va精品发布| 无码人妻丰满熟妇区毛片蜜桃精品 | 99精品99| 亚洲涩涩在线观看| 91美女精品福利| 疯狂试爱三2浴室激情视频| 欧美日韩国产一中文字不卡 | 亚洲第一天堂av| caoporn国产精品免费视频| 久久久噜噜噜久久久| 国产欧美自拍| 欧美日韩高清在线一区| 亚洲视频一区| 亚洲精品mv在线观看| 久久欧美一区二区| 精品一区在线视频| 欧美理论片在线| 国产色在线 com| 91tv亚洲精品香蕉国产一区7ujn| 国产一区精品二区| 日韩尤物视频| 亚洲欧美日本日韩| 欧美日韩一区二区三区四区五区六区 | 亚洲最大福利网站| 日本一二区不卡| 日本免费一级视频| 99riav久久精品riav| 国产黄色的视频| 欧美老年两性高潮| porn视频在线观看| 国产z一区二区三区| 老司机凹凸av亚洲导航| 久久综合久久久久| 久久99国内精品| 变态另类ts人妖一区二区| 欧美午夜精品久久久久久浪潮| 日本精品久久久久久| 欧美丰满少妇xxxxx做受| 国产95亚洲| 中文字幕久精品免| 美国av一区二区| 国产精品无码无卡无需播放器| 精品毛片网大全| 五月天婷婷视频| 91av在线国产| 亚洲第一福利社区| 妞干网在线免费视频| 99麻豆久久久国产精品免费优播| 日韩乱码在线观看| 亚洲精品久久久久中文字幕二区| wwwww亚洲| 精品久久久久久亚洲| 在线亚洲免费| 一级片手机在线观看| 在线一区二区三区| 一广人看www在线观看免费视频| 国产精品91在线观看| 欧美日韩高清| the porn av| 最好看的中文字幕久久| a级片在线视频| 欧美激情亚洲国产| 色天天色综合| 91国产精品视频在线观看| 中文字幕欧美三区| 国产福利小视频| 91国产视频在线播放| 亚洲最大在线| 欧美日韩一区二区三区69堂| 国产精品视频观看| a级片免费视频| 欧美亚洲另类制服自拍| 亚州综合一区| www.久久91| 一区二区三区中文字幕精品精品| 刘玥91精选国产在线观看| 97成人超碰免| 日韩在线观看| 亚洲一区和二区| 在线视频中文字幕一区二区| 瑟瑟视频在线| 国产日韩欧美一区二区| 噜噜噜躁狠狠躁狠狠精品视频 | 欧美日韩综合视频| jizzjizz在线观看| 99蜜桃在线观看免费视频网站| a91a精品视频在线观看| 日本一二三不卡视频| 精品人伦一区二区色婷婷| 色老太综合网| wwwwww欧美| 国产日韩成人精品| 成人黄色免费视频| 国产97色在线| 欧美阿v一级看视频| 中文字幕狠狠干| 欧美一级电影网站| 在线黄色的网站 | 国产亚洲一级| 香蕉成人在线视频| 亚洲精品97久久| 999精品嫩草久久久久久99| 日韩中字在线观看| 亚洲欧洲99久久| 黄视频在线观看免费| 99国产在线| 精品亚洲欧美一区|