自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

AI STUDIO—零門檻實(shí)現(xiàn)AI能力

人工智能 深度學(xué)習(xí)
隨著AI技術(shù)的發(fā)展,人類社會正處于火熱的智能化革命之中,而誰能在技術(shù)革命浪潮中快速的武裝自己,誰就能掌握未來的機(jī)遇。AI Studio正屬于那一類幫助中小企業(yè),開發(fā)者實(shí)現(xiàn)AI能力的武器庫之一。

隨著AI技術(shù)的發(fā)展,人類社會正處于火熱的智能化革命之中,而誰能在技術(shù)革命浪潮中快速的武裝自己,誰就能掌握未來的機(jī)遇。AI Studio正屬于那一類幫助中小企業(yè),開發(fā)者實(shí)現(xiàn)AI能力的武器庫之一。

如今,AI能力已經(jīng)滲透到各行各業(yè),在語音、圖像以及NLP領(lǐng)域,已獲得了突破性的進(jìn)展和效果,這進(jìn)一步增強(qiáng)了我們對AI技術(shù)的信心,將其推廣到更多的傳統(tǒng)行業(yè)來助力各行業(yè)的發(fā)展。AI技術(shù)可以讓我們釋放更多的腦力和體力,在更需要人類創(chuàng)造力的地方發(fā)揮作用,其他的一切交給AI,相信我,它們做的比我們更好。

對于大型互聯(lián)網(wǎng)企業(yè),形成AI能力只要投錢投人就行了,但是對于中小企業(yè)單獨(dú)構(gòu)建AI能力將耗費(fèi)巨大的精力:招兵買馬,設(shè)備采購,模型開發(fā),系統(tǒng)維護(hù),于是大量的云計(jì)算及建模平臺如雨后春筍般發(fā)展起來,包括AWS(收費(fèi)),Azure(收費(fèi)),阿里云(還是收費(fèi))等。而百度在確立All in AI后做了很多基礎(chǔ)而扎實(shí)的工作,包括最新推出的百度AI Studio一站式開發(fā)平臺:一個囊括了AI教程、代碼環(huán)境、算法算力、數(shù)據(jù)集,并提供免費(fèi)的在線云計(jì)算的一體化編程環(huán)境,在這里,用戶就不必糾結(jié)于復(fù)雜的環(huán)境配置和繁瑣的擴(kuò)展包搜尋,只要有電腦、網(wǎng)絡(luò)以及一顆走進(jìn)深度學(xué)習(xí)的心,打開瀏覽器輸入aistudio.baidu.com,就可以在AI Studio開展深度學(xué)習(xí)項(xiàng)之旅。下面,本文將從功能簡介,實(shí)戰(zhàn)建模及AI能力應(yīng)用等角度聊聊AI Studio。

俗話說,授人以魚不如授人以漁。百度All in AI的戰(zhàn)略里,魚就是諸如基于語音技術(shù)、圖像技術(shù)、視頻技術(shù)、知識圖譜及NLP技術(shù)等形成的人工智能產(chǎn)品服務(wù);而漁就是AI Studio一類的能夠幫助個人開發(fā)者和中小企業(yè)去開發(fā)屬于自己的產(chǎn)品服務(wù),運(yùn)用AI Studio開發(fā)者可以實(shí)現(xiàn)自定義的AI建模能力而無需考慮硬件成本、運(yùn)維成本、人力成本。相比在谷歌云,AWS等云平臺上花錢買計(jì)算資源和存儲空間跑模型來說,AI Studio提供全套免費(fèi)服務(wù)(計(jì)算資源免費(fèi),空間資源免費(fèi),項(xiàng)目托管免費(fèi),視頻教程也免費(fèi))??梢哉fAI Studio從教學(xué)、應(yīng)用、工程上全面推進(jìn)了AI民主化的進(jìn)程,極大的降低了AI技術(shù)跨入門檻。

1.功能簡介

第一次進(jìn)入主頁,首先的感覺這是個類似Kaggle的數(shù)據(jù)競賽平臺,但是仔細(xì)看來,AI Studio強(qiáng)化了工程項(xiàng)目的概念,一大亮點(diǎn)就是AI學(xué)習(xí)項(xiàng)目這個版塊,里面包括大量真實(shí)場景的工程項(xiàng)目(圖像識別,情感分析,個性化推薦等);另一個重要組成就是比賽了,眾所周知構(gòu)建良性循環(huán)的產(chǎn)、學(xué)、研社區(qū)是行業(yè)發(fā)展的重要組成部分,不過目前AI Studio組織的比賽還剛起步,希望后續(xù)比賽多多,大家在這里都能學(xué)到知識,交到朋友,最重要的是,可以在學(xué)習(xí)的同時給自己賺點(diǎn)零用錢花花(笑~)。 

Figure 1 AI Studio特性

AI Studio主要功能有項(xiàng)目類的項(xiàng)目大廳,創(chuàng)建項(xiàng)目,樣例項(xiàng)目,共享項(xiàng)目等四大部分,有數(shù)據(jù)科學(xué)比賽,有各種經(jīng)典數(shù)據(jù)集和自定義數(shù)據(jù)集,有詳盡的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的教程及視頻公開課等。下面就簡單的來介紹一下: 

Figure 2 AI Studio主要功能

1.1. 菜單欄

1.1.1. 項(xiàng)目大廳

作為AI Studio的主頁,集成百度積累的經(jīng)典AI學(xué)習(xí)項(xiàng)目,自我的項(xiàng)目管理及共享項(xiàng)目列表。整個平臺都是以項(xiàng)目為核心的,也凸顯了AI Studio的定位,就是以技術(shù)及資源輸出幫助個人開發(fā)者,中小企業(yè)快速擁有AI能力以更好的服務(wù)自身業(yè)務(wù)。

1.1.2. 數(shù)據(jù)集

數(shù)據(jù)集包括一些經(jīng)典的公開數(shù)據(jù)集,像MNIST,IMDB,CIFAR10,Penn Treebank,MovieLens等;也包括一些開放的百度數(shù)據(jù)(中文短文本語料,信息抽取數(shù)據(jù))。不過相比Kaggle近萬份數(shù)據(jù)集來說,仍然有很大的發(fā)展空間,但是個人感覺AI Studio的數(shù)據(jù)集還是要比Tianchi的數(shù)據(jù)集規(guī)整很多的。當(dāng)然,用戶也可以上傳自定義數(shù)據(jù)進(jìn)行模型開發(fā)。

1.1.3. 比賽

這個模塊應(yīng)該是所有玩數(shù)據(jù)的人最感興趣的了吧。我之前在Kaggle參加過一些項(xiàng)目,總的來說,Kaggle在比賽這塊做的真的很好,賽制清晰,社區(qū)完善,每次參加比賽都能有很大的提高。相較Kaggle,AI Studio的比賽數(shù)量還不多,不過以上提到的功能都有,另外就是AI Studio提供云端訓(xùn)練平臺,這樣大家的武器庫相對平衡,能夠更公平的進(jìn)行競賽。 

Figure 3 AI Studio 比賽頁面

1.2. 創(chuàng)建項(xiàng)目

AI Studio以項(xiàng)目為單元進(jìn)行開發(fā)。創(chuàng)建項(xiàng)目,添加數(shù)據(jù)集,運(yùn)行開發(fā)環(huán)境(notebook kernel),就可以開始構(gòu)建自己的模型進(jìn)行開發(fā)生產(chǎn)了。目前,環(huán)境僅支持Python2.7(期待更多的環(huán)境,Python3,R等),算法框架包括paddlepaddle和sklearn等。

 

Figure 4 AI Studio創(chuàng)建項(xiàng)目頁面

1.3. 教程&資訊

關(guān)于教程,paddlepaddle關(guān)于機(jī)器學(xué)習(xí)的教程應(yīng)該是中文里最好的,不僅有機(jī)器學(xué)習(xí)、深度學(xué)習(xí)的視頻公開課和教程文檔(獲?。野舜罅康母鱾€方向的深度學(xué)習(xí)實(shí)例,比如圖像分類,詞向量,個性化推薦,情感分析,語義角色標(biāo)注以及機(jī)器翻譯等,不僅從原理層面進(jìn)行深入淺出的講解,更提供模型代碼逐行進(jìn)行實(shí)操,可以說為Everyone can AI提供了強(qiáng)大的后盾。

1.3.1. 樣例工程

樣例工程即是提供的機(jī)器學(xué)習(xí)經(jīng)典應(yīng)用場景及歷屆比賽的notebook,我們可以把各個項(xiàng)目fork到自己的項(xiàng)目下進(jìn)行開發(fā)學(xué)習(xí)。對于急于構(gòu)建AI能力的中小企業(yè),這個模塊是最大福音了,很久之前看過Tensorflow的文檔,只有幾個典型問題的教程及代碼,而這里包括了大量的基于不同場景的AI模型可供拿來即用。

 

 

1.3.2. 共享項(xiàng)目

顧名思義,AI Studio也提供項(xiàng)目共享功能供大家互相學(xué)習(xí)。在開源的時代,能夠培育成熟活躍的社區(qū)是平臺發(fā)展的必要因素,這也是Tensorflow能夠在深度學(xué)習(xí)領(lǐng)域中快速推廣的重要原因。

1.3.3. 我的項(xiàng)目

這里是開發(fā)者自己的項(xiàng)目列表,不再贅述。

2.實(shí)戰(zhàn)建模

AI Studio以項(xiàng)目為核心,創(chuàng)建項(xiàng)目的同時可以自定義上傳數(shù)據(jù),也可以選取平臺已有數(shù)據(jù)集;目前,環(huán)境僅支持Python2.7,算法庫包括sklearn和PaddlePaddle。不需要費(fèi)心在開發(fā)環(huán)境上,能夠安心構(gòu)造模型,將建模工程云服務(wù)化應(yīng)該是未來趨勢(能夠方便中小企業(yè)快速構(gòu)建AI能力)。在AI Studio各項(xiàng)目之間是獨(dú)立分配資源的,可以同時調(diào)試多個項(xiàng)目模型,這點(diǎn)還是非常贊的。

我這里創(chuàng)建了兩個共享項(xiàng)目,查看代碼直接fork項(xiàng)目開箱即用(需百度賬號登錄:Titanic項(xiàng)目,個性化推薦項(xiàng)目),代碼詳見附錄及共享項(xiàng)目。第一個項(xiàng)目是最最基礎(chǔ)的數(shù)據(jù)科學(xué)的入門問題titanic預(yù)測是否生還(自主上傳數(shù)據(jù),調(diào)用sklearn隨機(jī)森林模型);第二,利用已有數(shù)據(jù)(MovieLens)及PaddlePaddle構(gòu)建個性化推薦模型。一個小問題就是創(chuàng)建項(xiàng)目后進(jìn)入項(xiàng)目頁面,進(jìn)入運(yùn)行狀態(tài)還需要點(diǎn)擊運(yùn)行項(xiàng)目,這里感覺有點(diǎn)冗余;運(yùn)行的項(xiàng)目就是一個簡潔的notebook開發(fā)環(huán)境,該有的功能都有,個人感覺速度比Kaggle要好很多(不知是不是我的網(wǎng)速渣)。 

Figure 5 AI Studio項(xiàng)目界面

開發(fā)環(huán)境主體是由notebook形式組成,熟悉jupyter的同學(xué)可以無縫銜接,比notebook好的一點(diǎn)就是項(xiàng)目的數(shù)據(jù)集都會形成列表,簡單一鍵獲取數(shù)據(jù)路徑。菜單欄更簡潔,基本功能都有,可以保存notebook,有個有意思的地方是在創(chuàng)建項(xiàng)目的時候環(huán)境只能選Python2.7,但這里kernel選擇會出現(xiàn)Python3。 

Figure 6 AI Studio開發(fā)頁面

3.群雄逐鹿

作為一站式AI建模開發(fā)平臺AI Studio,如何在強(qiáng)手如云的AI開發(fā)平臺市場殺出一條血路呢?最重要的途徑就是完善比賽社區(qū)的理念,通過PaddlePaddle+AI Studio的方式搶占數(shù)據(jù)科學(xué)競賽這個領(lǐng)域,這里就簡要比較一下幾家數(shù)據(jù)競賽平臺(AI Studio、Kaggle、天池、DataCastle等)。以下將從對開發(fā)者的能力提升,平臺比賽的公平性和比賽收獲等三個方面闡述。

3.1. 能力提升

可以說參加數(shù)據(jù)建模比賽是最好的提升自身能力的方式了,在比賽中,不但能夠了解各行各業(yè)的業(yè)務(wù)形式,數(shù)據(jù)結(jié)構(gòu),也能真實(shí)的驗(yàn)證我們對特征和算法的不同理解,而良好的社區(qū)環(huán)境和代碼共享機(jī)制為自身能力的提升提供了溫床。在這方面,Kaggle因?yàn)槌闪⒆钤缬泻軓?qiáng)的人才和代碼沉淀,投靠Google后,更是愈發(fā)的體現(xiàn)了其中的優(yōu)勢。天池和DataCastle在社區(qū)建設(shè)上也投入了大量的精力,但是與Kaggle還是有較大的差距,不過在中文社區(qū)中應(yīng)該算是佼佼者。AI Studio顯然有后來者的劣勢,不過看過他們的樣例項(xiàng)目,還是很佩服他們在教程和文檔方面的思考,可以說在AI中文教程里AI Studio大踏步的跨入了第一梯隊(duì)。

3.2. 比賽的公平性

這里的公平性體現(xiàn)在兩個方面,第一是賽題的數(shù)據(jù)量要有一定的規(guī)模以防止數(shù)據(jù)量過小導(dǎo)致的模型穩(wěn)定性問題;第二則是計(jì)算資源的公平性,舉個栗子,假如阿里組隊(duì)以P100 GPU集群的算力來參賽的話,恐怕其他人的勝算只能寄托于奇跡了,而對于ImageNet那樣量級的數(shù)據(jù),我們只有PC機(jī)的話恐怕連一次迭代也完成不了,更不要說模型調(diào)優(yōu)了。

在這方面,AI Studio具有極大的優(yōu)勢,平臺不僅免費(fèi)對參賽選手給予計(jì)算資源上的支持,更是提供最新版本的PaddlePaddle供選手調(diào)用。而天池在初賽階段是沒有集群算力支持的,只有進(jìn)入復(fù)賽的選手才會有機(jī)會使用數(shù)加平臺。Kaggle和DataCastle更是沒有平臺的支持。相比來說在比賽資源的公平性上AI Studio的優(yōu)勢巨大。

3.3. 比賽收獲

這里的收獲是只除了能力以外的物質(zhì)方面的獲得,比如現(xiàn)金獎勵和簡歷背書。這兩點(diǎn)對于初入職場的新人還是非常重要的??陀^來講,國際影響力的話Kaggle絕對是No.1,致力于進(jìn)入Google、facebook的同學(xué)最好還是在Kaggle上挑選優(yōu)質(zhì)的比賽;針對國內(nèi)的話,AI Studio、天池和DataCastle在獎金方面相差不大,由于AI Studi推出最晚,所以獎金相對來說高一些。

綜合來看,AI Studio作為數(shù)據(jù)科學(xué)競賽中的新人,背靠百度資源,憑借更加公平的平臺資源輸出,獎勵制度和完善的教程文檔體系將會在未來大規(guī)模的搶占數(shù)據(jù)競賽市場。對開發(fā)者來說,免費(fèi)使用GPU資源,更簡單的開發(fā)流程已經(jīng)是很大的誘惑了。

4.百度AI戰(zhàn)略

身處AI圈,對各家的AI產(chǎn)品戰(zhàn)略比較感興趣,最近有意思的事情就是Baidu Create 2018了,會上,李彥宏的AI夢完成了從All In AI到Everyone Can AI的升華。發(fā)布的AI產(chǎn)品從自動駕駛巴士“阿波龍”到百度自主研發(fā)的云端AI 芯片“昆侖”,再到兩大AI生態(tài)平臺DuerOS3.0、Apollo3.0,可以說百度在AI的布局已經(jīng)從稚嫩走向成熟,以多兵種合成集團(tuán)軍的面貌展示在世界人工智能的舞臺。

百度的AI戰(zhàn)略重在開放,強(qiáng)調(diào)技術(shù)賦能。

根據(jù)百度的說法, 目前已經(jīng)形成了以行業(yè)應(yīng)用為牽引,AI技術(shù)產(chǎn)品服務(wù)為動力,AI基礎(chǔ)平臺服務(wù)為核心的生態(tài)閉環(huán)(AI開放平臺)。從百度公開的資料上看, ,百度已經(jīng)將AI服務(wù)應(yīng)用于智慧零售,金融科技,商業(yè)地產(chǎn),企業(yè)服務(wù),智能硬件,教育培訓(xùn)等各行各業(yè)。比如說智慧零售, 百度提供基礎(chǔ)能力, 合作伙伴進(jìn)行集成和落地, 將人臉識別,人體分析,圖像識別,大數(shù)據(jù)分析研判等服務(wù)賦能給線下門店,商場超市,各大品牌商等零售業(yè)態(tài),有效提升了商業(yè)效率及利潤率。在技術(shù)服務(wù)上,百度提供全面的AI能力,包括語音技術(shù)圖像技術(shù),人臉識別,視頻技術(shù),等等等等, 據(jù)說已經(jīng)超過110項(xiàng)能力 在平臺服務(wù)上,百度不僅有Apollo自動駕駛開放平臺和DuerOS對話式開放平臺,也包括像AI Studio囊括AI教程、開發(fā)環(huán)境、算法算力的一站式AI開發(fā)平臺,EasyDL圖像自定義模型構(gòu)建平臺以及基礎(chǔ)的深度學(xué)習(xí)框架PaddlePaddle。

可見,百度在這場智能化革命中=不但醞釀已久,而且已經(jīng)結(jié)出了不少果實(shí)。

5.總結(jié)

AI Studio是一個基于PaddlePaddle的集成了大量數(shù)據(jù)集、經(jīng)典樣例項(xiàng)目及比賽項(xiàng)目的云計(jì)算建模平臺,也是一個機(jī)器學(xué)習(xí)、深度學(xué)習(xí)的交流社區(qū)。AI Studio最大限度的解放了數(shù)據(jù)科學(xué)家需要環(huán)境配置的煩惱,在云端集成計(jì)算資源,項(xiàng)目管理,代碼管理,比賽等多種功能,形成一站式兼顧學(xué)習(xí)和工作的建模平臺。而且AI Studio提供計(jì)算資源,空間資源,視頻公開課都是免費(fèi)的!免費(fèi)的!免費(fèi)的!(所謂重要的事情說三遍)。最后,期待一下的更多比賽的推出。

參考文獻(xiàn)

  1. http://aistudio.baidu.com
  2. http://ai.baidu.com/
  3. http://www.paddlepaddle.org/
  4. http://ai.baidu.com/paddlepaddle

附錄

 

  1. # 查看當(dāng)前掛載的數(shù)據(jù)集目錄  
  2. !ls /home/aistudio/data/  
  3. # 查看個人持久化工作區(qū)文件  
  4. !ls /home/aistudio/work 
  5. import numpy as np  
  6. import pandas as pd  
  7. import matplotlib.pyplot as plt  
  8. %matplotlib inline  
  9. # titanic problem  
  10. # 數(shù)據(jù)集是經(jīng)典的機(jī)器學(xué)習(xí)問題,titanic的原始數(shù)據(jù),以下是在AI Studio平臺上Python2.7環(huán)境,完整的從數(shù)據(jù)清洗,數(shù)據(jù)處理,特征工程,到運(yùn)用  
  11. # 隨機(jī)森林構(gòu)建模型  
  12. # 最簡單的模型開發(fā)流程如下  
  13. # - 數(shù)據(jù)讀入  
  14. # - 特征工程  
  15. # - 數(shù)據(jù)分割  
  16. # - 模型訓(xùn)練  
  17. # - 模型評估  
  18. # - 交叉檢驗(yàn)  
  19. ## 數(shù)據(jù)讀入  
  20. # 創(chuàng)建項(xiàng)目的時候讀入數(shù)據(jù),通過ls /home/aistudio/data/查看數(shù)據(jù)集目錄,添加數(shù)據(jù)。  
  21. data_train = pd.read_csv('/home/aistudio/data/data188/train.csv' 
  22. data_test = pd.read_csv('/home/aistudio/data/data188/test.csv' 
  23. data_train.sample(3)  
  24. ## 特征工程  
  25. ### 數(shù)據(jù)清洗及特征處理 
  26. # 對特征進(jìn)行如下處理:  
  27. # - 對特征Age進(jìn)行分箱離散化處理(simplify_ages)  
  28. # - 提取特征Cabin進(jìn)行類別化處理(simplify_cabins)  
  29. # - 對特征Fare進(jìn)行分箱離散化處理(simplify_fares)  
  30. # - 對特征名字進(jìn)行處理(format_name)  
  31. # - 刪掉意義不大的特征(drop_features)    
  32.  
  33. def simplify_ages(df):  
  34.     df.Age = df.Age.fillna(-0.5)  
  35.     bins = (-1, 0, 5, 12, 18, 25, 35, 60, 120)  
  36.     group_names = ['Unknown''Baby''Child''Teenager''Student''Young Adult''Adult''Senior' 
  37.     categories = pd.cut(df.Age, bins, labels=group_names)  
  38.     df.Age = categories  
  39.     return df  
  40.  
  41. def simplify_cabins(df):  
  42.     df.Cabin = df.Cabin.fillna('N' 
  43.     df.Cabin = df.Cabin.apply(lambda x: x[0]) 
  44.     return df  
  45. def simplify_fares(df):  
  46.     df.Fare = df.Fare.fillna(-0.5)  
  47.     bins = (-1, 0, 8, 15, 31, 1000)  
  48.     group_names = ['Unknown''1_quartile''2_quartile''3_quartile''4_quartile' 
  49.     categories = pd.cut(df.Fare, bins, labels=group_names)  
  50.     df.Fare = categories  
  51.     return df  
  52. def format_name(df):  
  53.     df['Lname'] = df.Name.apply(lambda x: x.split(' ')[0])  
  54.     df['NamePrefix'] = df.Name.apply(lambda x: x.split(' ')[1])  
  55.     return df    
  56. def drop_features(df):  
  57.     return df.drop(['Ticket''Name''Embarked'], axis=1)  
  58. def transform_features(df):  
  59.     df = simplify_ages(df)  
  60.     df = simplify_cabins(df)  
  61.     df = simplify_fares(df)  
  62.     df = format_name(df)  
  63.     df = drop_features(df)  
  64.     return df  
  65. data_train = transform_features(data_train)  
  66. data_test = transform_features(data_test)  
  67. data_train.head()  
  68.  
  69. ### 特征處理  
  70. # - 篩選可用的特征  
  71. # - 對類別特征做數(shù)值化處理 
  72.  
  73. from sklearn import preprocessing  
  74. def encode_features(df_train, df_test):  
  75.     features = ['Fare''Cabin''Age''Sex''Lname''NamePrefix' 
  76.     df_combined = pd.concat([df_train[features], df_test[features]]) 
  77.     for feature in features:  
  78.         le = preprocessing.LabelEncoder()  
  79.         le = le.fit(df_combined[feature])  
  80.         df_train[feature] = le.transform(df_train[feature])  
  81.         df_test[feature] = le.transform(df_test[feature])  
  82.     return df_train, df_test   
  83. data_train, data_test = encode_features(data_train, data_test)  
  84. data_train.head() 
  85. ## 數(shù)據(jù)分割  
  86. # 對數(shù)據(jù)集進(jìn)行訓(xùn)練集和測試集的分割  
  87. from sklearn.model_selection import train_test_split  
  88. X_all = data_train.drop(['Survived''PassengerId'], axis=1)  
  89. y_all = data_train['Survived'
  90. num_test = 0.20  
  91. X_train, X_test, y_train, y_test = train_test_split(X_all, y_all, test_size=num_test, random_state=23) 
  92.  
  93. ## 模型訓(xùn)練  
  94. # 選取隨機(jī)森林模型,利用網(wǎng)格搜索進(jìn)行參數(shù)調(diào)優(yōu)。  
  95. from sklearn.ensemble import RandomForestClassifier  
  96. from sklearn.metrics import make_scorer, accuracy_score  
  97. from sklearn.model_selection import GridSearchCV 
  98. # Choose the type of classifier.   
  99. clf = RandomForestClassifier()  
  100. # Choose some parameter combinations to try  
  101. parameters = {'n_estimators': [4, 6, 9],   
  102.               'max_features': ['log2''sqrt','auto'],   
  103.               'criterion': ['entropy''gini'],  
  104.               'max_depth': [2, 3, 5, 10],   
  105.               'min_samples_split': [2, 3, 5],  
  106.               'min_samples_leaf': [1,5,8] 
  107.              } 
  108.   
  109. # Type of scoring used to compare parameter combinations  
  110. acc_scorer = make_scorer(accuracy_score)  
  111. # Run the grid search  
  112. grid_obj = GridSearchCV(clf, parameters, scoring=acc_scorer)  
  113. grid_obj = grid_obj.fit(X_train, y_train)  
  114. Set the clf to the best combination of parameters  
  115. clf = grid_obj.best_estimator_  
  116. # Fit the best algorithm to the data.   
  117. clf.fit(X_train, y_train)  
  118.  
  119. ## 模型評估  
  120. # 用準(zhǔn)確率評估模型效果  
  121. predictions = clf.predict(X_test)  
  122. print(accuracy_score(y_test, predictions))  
  123. ## 交叉檢驗(yàn)  
  124. # KFold  
  125. from sklearn.cross_validation import KFold 
  126. def run_kfold(clf):  
  127.     kf = KFold(891, n_folds=10)  
  128.     outcomes = []  
  129.     fold = 0  
  130.     for train_index, test_index in kf:  
  131.         fold += 1  
  132.         X_train, X_test = X_all.values[train_index], X_all.values[test_index]  
  133.         y_train, y_test = y_all.values[train_index], y_all.values[test_index]  
  134.         clf.fit(X_train, y_train) 
  135.         predictions = clf.predict(X_test)  
  136.         accuracy = accuracy_score(y_test, predictions)  
  137.         outcomes.append(accuracy)  
  138.         print("Fold {0} accuracy: {1}".format(fold, accuracy))       
  139.     mean_outcome = np.mean(outcomes)  
  140.     print("Mean Accuracy: {0}".format(mean_outcome))   
  141. run_kfold(clf)  
  142. ids = data_test['PassengerId' 
  143. predictions = clf.predict(data_test.drop('PassengerId', axis=1))  
  144. output = pd.DataFrame({ 'PassengerId' : ids, 'Survived': predictions })  
  145. output.to_csv('titanic-predictions.csv'index = False 
  146. output  
責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2021-09-10 09:37:05

AI 數(shù)據(jù)人工智能

2025-03-11 10:51:35

DifyDeepSeek大模型

2015-01-28 10:55:09

平安免費(fèi)WiFi

2022-11-24 09:19:53

AI數(shù)據(jù)挖掘

2023-06-25 13:31:44

2024-10-08 10:15:00

AI模型

2020-01-13 21:18:30

大咖來了大數(shù)據(jù)云分析平臺

2011-12-16 13:27:16

360文件管理

2012-04-26 11:45:45

2020-07-13 12:27:37

百度大腦

2021-08-03 10:43:17

AI 數(shù)據(jù)人工智能

2020-11-12 09:55:10

百度

2020-04-21 15:18:30

項(xiàng)目開源小程序

2020-08-06 11:27:39

百度AI開發(fā)者
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號