CDA作為國內(nèi)知名的全棧數(shù)據(jù)科學(xué)教育和認(rèn)證品牌,一直致力于讓優(yōu)質(zhì)的教育人人可得。Scikit-learn作為機(jī)器學(xué)習(xí)的入門工具庫,深受初學(xué)者的喜愛。但是由于官方文檔是英文撰寫,限制了很多機(jī)器學(xué)習(xí)愛好者的學(xué)習(xí)過程。因此,專業(yè)、規(guī)范、實(shí)時(shí)的Scikit-learn中文學(xué)習(xí)社區(qū),一直以來都是國內(nèi)學(xué)習(xí)者所急需。
CDA 全國教研團(tuán)隊(duì)從2016年已經(jīng)開始大規(guī)模使用Scikit-learn作為Python機(jī)器學(xué)習(xí)課程授課的主要工具庫。無論是CDA就業(yè)班系列課程,還是周末集訓(xùn)課程,還是2018年推出的系列Scikit-learn課程,均深受國內(nèi)數(shù)據(jù)科學(xué)愛好者的歡迎。
基于CDA全國教研團(tuán)隊(duì)近5年的Scikit-learn課程研發(fā)經(jīng)驗(yàn),為了響應(yīng)越來越多的數(shù)據(jù)科學(xué)愛好者的學(xué)習(xí)需求,CDA通過一年多的Scikit-learn文檔的翻譯和認(rèn)真校對,并在CDA研發(fā)部門的密切配合下,Scikit-learn中文社區(qū)終于上線了。從用戶指南到API 、再到案例,翻譯字?jǐn)?shù)達(dá)一百余萬字,相較與網(wǎng)絡(luò)上流傳的其他機(jī)器翻譯的Scikit-learn中文資料,CDA Scikit-learn中文社區(qū)的翻譯是最新的官方版本,并且內(nèi)容更加全面,格式更加規(guī)范,翻譯更加專業(yè)精準(zhǔn),努力為機(jī)器學(xué)習(xí)愛好者提供更便捷的學(xué)習(xí)途徑。點(diǎn)擊下方社區(qū)Logo,可進(jìn)入CDA Scikit-learn中文社區(qū)!記得分享保存哦!(注:scikit-learn的官網(wǎng)是www.scikit-learn.org,CDA承接的中文社區(qū)網(wǎng)址是www.scikit-learn.org.cn,這同時(shí)也標(biāo)志著CDA與全球頂級深度學(xué)習(xí)和機(jī)器學(xué)習(xí)框架更進(jìn)一步融合,CDA認(rèn)證更加得到全球頂級技術(shù)框架的認(rèn)可!
Scikit-learn(也稱為sklearn)是針對Python編程語言的免費(fèi)機(jī)器學(xué)習(xí)庫。2007年,Scikit-learn首次被Google Summer of Code項(xiàng)目開發(fā)使用,現(xiàn)在已經(jīng)被廣泛大眾認(rèn)為是最受歡迎的機(jī)器學(xué)習(xí)庫。
Sklearn具有許多的優(yōu)點(diǎn):
• 支持包括分類,回歸,降維和聚類四大類機(jī)器學(xué)習(xí)算法。還包括了特征提取,數(shù)據(jù)處理和模型評估三大模塊,具有著豐富的API接口。
• 代碼樣式清晰一致,這使得機(jī)器學(xué)習(xí)代碼易于理解和再現(xiàn),大大降低了機(jī)器學(xué)習(xí)的入門門檻。
• 得到了大量第三方工具的支持,有非常豐富的功能,適用于各種場景等。
如果你正在學(xué)習(xí)和使用機(jī)器學(xué)習(xí),那么Scikit-learn可能是最好的工具庫。Scikit-learn擁有著完善的文檔,上手容易,具有著豐富的API,在機(jī)器學(xué)習(xí)愛好者中的被廣泛使用。其已經(jīng)封裝了大量的機(jī)器學(xué)習(xí)算法,同時(shí)Scikit-learn內(nèi)置了大量數(shù)據(jù)集,節(jié)省了獲取和整理數(shù)據(jù)集的時(shí)間。
下面介紹Scikit-learn工具庫使用的一些便捷方法
Scikit-learn是一個(gè)開源的機(jī)器學(xué)習(xí)庫,它支持有監(jiān)督和無監(jiān)督的學(xué)習(xí)。它還提供了用于模型擬合,數(shù)據(jù)預(yù)處理,模型選擇和評估以及許多其他實(shí)用程序的各種工具。
擬合和預(yù)測:估算器基礎(chǔ)
Scikit-learn提供了數(shù)十種內(nèi)置的機(jī)器學(xué)習(xí)算法和模型,稱為估算器。每個(gè)估算器可以使用其擬合方法擬合到一些數(shù)據(jù)。
這是一個(gè)簡單的示例,其中我們使用一些非?;镜臄?shù)據(jù)來訓(xùn)練
所述擬合方法通常接受2個(gè)輸入:
• 樣本矩陣(或設(shè)計(jì)矩陣)X。X的大小通常為(n_samples, n_features),這意味著樣本表示為行,特征表示為列。
• 目標(biāo)值y是用于回歸任務(wù)的真實(shí)數(shù)字,或者是用于分類的整數(shù)(或任何其他離散值)。對于無監(jiān)督學(xué)習(xí),y無需指定。
雖然某些估算器可以使用其他格式(例如稀疏矩陣),但是通常,兩者X和y預(yù)計(jì)都是numpy數(shù)組或等效的類似 數(shù)組的數(shù)據(jù)類型。
估算器擬合后,可用于預(yù)測新數(shù)據(jù)的目標(biāo)值。而無需重新訓(xùn)練估算器,非常便捷:
轉(zhuǎn)換器和預(yù)處理器
機(jī)器學(xué)習(xí)工作流程通常由不同的部分組成。典型的管道(Pipeline)包括一個(gè)轉(zhuǎn)換或插入數(shù)據(jù)的預(yù)處理步驟,以及一個(gè)預(yù)測目標(biāo)值的最終預(yù)測器。
在中scikit-learn,預(yù)處理器和轉(zhuǎn)換器遵循與estimator對象相同的API(實(shí)際上它們都繼承自同一 BaseEstimator類)。轉(zhuǎn)換對象沒有預(yù)測方法,但是需要有一個(gè)輸出新轉(zhuǎn)換的樣本矩陣X的轉(zhuǎn)換方法:
有時(shí),如果你想要應(yīng)用不同的轉(zhuǎn)換器去處理不同的特征:ColumnTransformer專為這些用例而設(shè)計(jì)。
管道(Pipeline):連接預(yù)處理器和估算器
可以將轉(zhuǎn)換器和估算器(預(yù)測器)組合在一起成為一個(gè)統(tǒng)一的對象:一個(gè) Pipeline。這條管道提供相同的API作為常規(guī)估算器:它可以用fit和predict來訓(xùn)練和預(yù)測。正如我們將在后面看到的,使用管道還可以防止數(shù)據(jù)泄漏,即在訓(xùn)練數(shù)據(jù)中泄露一些測試數(shù)據(jù)。
在以下示例中,我們加載Iris數(shù)據(jù)集,將其分為訓(xùn)練集和測試集,然后根據(jù)測試數(shù)據(jù)計(jì)算管道的準(zhǔn)確性得分:
模型評估
用一些數(shù)據(jù)來訓(xùn)練模型并不意味著在一些未知的數(shù)據(jù)上也能預(yù)測得很好,這需要直接評估。
將模型擬合到一些數(shù)據(jù)并不意味著它將在看不見的數(shù)據(jù)上很好地預(yù)測。這需要直接評估。我們剛剛看到了train_test_split函數(shù)可以將數(shù)據(jù)集分為訓(xùn)練集和測試集,但是scikit-learn提供了許多其他模型評估工具,尤其是用于交叉驗(yàn)證的工具。
我們在這里簡要展示了如何使用cross_validate幫助程序執(zhí)行5折交叉驗(yàn)證過程。需要注意的是,還可以使用不同的數(shù)據(jù)拆分策略以及使用自定義評分功能來手動實(shí)現(xiàn)遍歷。有關(guān)更多詳細(xì)信息,請參閱我們的用戶指南:
自動參數(shù)搜索
所有估算器都有可以調(diào)整的參數(shù)(在文獻(xiàn)中通常稱為超參數(shù))。估算器的泛化能力通常關(guān)鍵取決于幾個(gè)參數(shù)。例如,在隨機(jī)深林回歸器 RandomForestRegressor中,n_estimators參數(shù) 確定林中樹木數(shù)量,max_depth參數(shù)確定每棵樹的最大深度。通常,這些參數(shù)的確切值是多少我們都不太清楚,因?yàn)樗鼈內(nèi)Q于拿到的數(shù)據(jù)。
Scikit-learn提供了自動查找最佳參數(shù)組合的工具(通過交叉驗(yàn)證)。在以下示例中,我們使用 RandomizedSearchCV對象隨機(jī)搜索隨機(jī)森林的參數(shù)空間。搜索結(jié)束后,RandomizedSearchCV的表現(xiàn)就像是已經(jīng)訓(xùn)練好最佳參數(shù)集的RandomForestRegressor。在用戶指南中可以閱讀更多內(nèi)容:
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )