那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python機器學習庫談Scikit-learn技術

深度學習自然語言處理 ? 來源:NewBeeNLP公眾號 ? 作者:Rebecca Vickery ? 2020-08-27 17:34 ? 次閱讀

Scikit-learn是使用最廣泛的Python機器學習庫之一。它有標準化和簡單的接口,用于數據預處理和模型訓練、優化以及評估。

這個項目最初是由David Cournapeau 開發的Google Summer of Code 項目,并于2010年首次公開發布。自創建以來,該庫已經發展成為一個豐富的生態系統,用于開發機器學習模型。隨著時間的推移,該項目開發了許多方便的功能,以增強其易用性。在本文中,我將介紹你可能不知道的10個關于Scikit-learn最有用的特性。

1. 內置數據集

Scikit-learn API內置了各種toy和real-world數據集[1]。這些可以便捷地通過一行代碼訪問,如果你正在學習或只是想快速嘗試新功能,這會非常有用。

你還可以使用make_regression()、make_blobs()和make_classification()生成合成數據集。所有加載實用程序都提供了返回已拆分為X(特征)和y(目標)的數據選項,以便它們可以直接用于訓練模型。

2. 獲取公開數據集

如果你想直接通過Scikit-learn訪問更多的公共可用數據集,請了解,有一個方便的函數datasets.fetch_openml,可以讓您直接從openml.org網站[2]獲取數據。這個網站包含超過21000個不同的數據集,可以用于機器學習項目。

3. 內置分類器來訓練baseline

在為項目開發機器學習模型時,首先創建一個baseline模型是非常有必要的。這個模型在本質上應該是一個“dummy”模型,比如一個總是預測最頻繁出現的類的模型。這就提供了一個基準,用來對你的“智能”模型進行基準測試,這樣你就可以確保它的性能比隨機結果更好。

Scikit learn包括用于分類任務的DummyClassifier() 和用于基于回歸問題的 DummyRegressor()。

4. 內置繪圖api

Scikit learn有一個內置的繪圖API,允許你在不導入任何其他庫的情況下可視化模型性能。包括以下繪圖:部分相關圖、混淆矩陣、精確召回曲線和ROC曲線。

5. 內置特征選擇方法

提高模型性能的一種技術是只使用最好的特征集或通過刪除冗余特征來訓練模型。這個過程稱為特征選擇。

Scikit learn有許多函數來執行特征選擇。一個示例為 SelectPercentile(),該方法根據所選的統計方法選擇性能最好的X百分位特征進行評分。

6. 機器學習pipeline

除了為機器學習提供廣泛的算法外,Scikit learn還具有一系列用于「預處理」「轉換數據」的功能。為了促進機器學習工作流程的再現性和簡單性,Scikit learn創建了管道(pipeline),允許將大量預處理步驟與模型訓練階段鏈接在一起。

管道將工作流中的所有步驟存儲為單個實體,可以通過「fit」「predict」方法調用該實體。在管道對象上調用fit方法時,預處理步驟和模型訓練將自動執行。

7. ColumnTransformer

在許多數據集中,你將擁有不同類型的特征,需要應用不同的預處理步驟。例如,可能有分類數據和連續數據的混合,你可能希望通過one-hot編碼將分類數據轉換為數字,并縮放數字變量。

Scikit-learn管道有一個名為ColumnTransformer的函數,它允許你通過索引或指定列名來輕松指定要對哪些列應用最適當的預處理。

8. 管道的HTML形式

管道通常會變得非常復雜,尤其是在處理真實世界的數據時。因此,scikit-learn提供了一種方法來輸出管道中步驟的HTML圖表[3],非常方便。

9. 可視化 樹模型

plot_tree() 函數允許你創建決策樹模型中的步驟圖。

10. 豐富的第三方擴展

許多第三方庫可以更好地擴展scikit-learn的特性。舉個栗子,category-encoders庫,它為分類特性提供了更大范圍的預處理方法,以及ELI5包以實現更大的模型可解釋性。這兩個包也可以直接在Scikit-learn管道中使用。

本文參考資料

[1]toy和real-world數據集: https://scikit-learn.org/stable/datasets/index.html

[2]openml.org網站: https://www.openml.org/home

[3]HTML圖表: https://scikit-learn.org/stable/modules/compose.html#visualizing-composite-estimators

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器學習
    +關注

    關注

    66

    文章

    8438

    瀏覽量

    133087
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85039

原文標題:關于Scikit-Learn你(也許)不知道的10件事

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何使用Python構建LSTM神經網絡模型

    : NumPy:用于數學運算。 TensorFlow:一個開源機器學習,Keras是其高級API。 Keras:用于構建和訓練深度學習模型。 你可以使用pip來安裝這些
    的頭像 發表于 11-13 10:10 ?564次閱讀

    RISC-V如何支持不同的AI和機器學習框架和

    RISC-V如何支持不同的AI和機器學習框架和?還請壇友們多多指教一下。
    發表于 10-10 22:24

    如何幫助孩子高效學習Python:開源硬件實踐是最優選擇

    家長們常常擔心孩子在學習Python時所面臨的挑戰,如復雜性、興趣保持、學習進度和可用資源。對于希望有效教授孩子Python的家長而言,了解硬件的作用至關重要,因為結合硬件項目的
    的頭像 發表于 09-06 09:49 ?371次閱讀

    【「時間序列與機器學習」閱讀體驗】時間序列的信息提取

    個重要環節,目標是從給定的時間序列數據中提取出有用的信息和特征,以支持后續的分析和預測任務。 特征工程(Feature Engineering)是將數據轉換為更好地表示潛在問題的特征,從而提高機器學習
    發表于 08-17 21:12

    【《時間序列與機器學習》閱讀體驗】+ 時間序列的信息提取

    之前對《時間序列與機器學習》一書進行了整體瀏覽,并且非常輕松愉快的完成了第一章的學習,今天開始學習第二章“時間序列的信息提取”。 先粗略的翻閱第二章,內容復雜,充斥了大量的定義、推導計
    發表于 08-14 18:00

    pytorch和python的關系是什么

    在當今的人工智能領域,Python已經成為了最受歡迎的編程語言之一。Python的易學易用、豐富的和框架以及強大的社區支持,使其成為了數據科學、機器
    的頭像 發表于 08-01 15:27 ?2348次閱讀

    Python在AI中的應用實例

    Python在人工智能(AI)領域的應用極為廣泛且深入,從基礎的數據處理、模型訓練到高級的應用部署,Python都扮演著至關重要的角色。以下將詳細探討Python在AI中的幾個關鍵應用實例,包括
    的頭像 發表于 07-19 17:16 ?1360次閱讀

    Python自動訓練人工神經網絡

    人工神經網絡(ANN)是機器學習中一種重要的模型,它模仿了人腦神經元的工作方式,通過多層節點(神經元)之間的連接和權重調整來學習和解決問題。Python由于其強大的
    的頭像 發表于 07-19 11:54 ?414次閱讀

    AI訓練的基本步驟

    AI(人工智能)訓練是一個復雜且系統的過程,它涵蓋了從數據收集到模型部署的多個關鍵步驟。以下是對AI訓練過程的詳細闡述,包括每個步驟的具體內容,并附有相關代碼示例(以Pythonscikit-learn為例)。
    的頭像 發表于 07-17 16:57 ?2946次閱讀

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學習軟件,它提供了大量的圖像和視頻處理功能。OpenCV-Pytho
    的頭像 發表于 07-16 10:38 ?1404次閱讀

    基于Python的深度學習人臉識別方法

    基于Python的深度學習人臉識別方法是一個涉及多個技術領域的復雜話題,包括計算機視覺、深度學習、以及圖像處理等。在這里,我將概述一個基本的流程,包括數據準備、模型選擇、訓練過程、以及
    的頭像 發表于 07-14 11:52 ?1324次閱讀

    DongshanPI-AICT全志V853開發板搭建YOLOV5-V6.0環境

    # onnx-simplifier>=0.3.6# ONNX simplifier # scikit-learn==0.19.2# CoreML quantization
    發表于 07-12 09:59

    深度學習常用的Python

    深度學習作為人工智能的一個重要分支,通過模擬人類大腦中的神經網絡來解決復雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的支持,成為了深度學習研究和應用的首選工具。
    的頭像 發表于 07-03 16:04 ?725次閱讀

    如何使用Python進行神經網絡編程

    神經網絡簡介 神經網絡是一種受人腦啟發的機器學習模型,由大量的節點(或稱為“神經元”)組成,這些節點在網絡中相互連接。每個節點可以接收輸入,對輸入進行加權求和,然后通過一個激活函數產生輸出
    的頭像 發表于 07-02 09:58 ?452次閱讀

    ESP32下如何加自定義Python

    我看官方有提供Micropython的bin文件,但我想根據自己外設擴充一下Python,這個應該從哪里入手? 之前做過RTT系統的python擴充,RTT有提供Micropyth
    發表于 06-18 06:27
    网上玩百家乐有钱| 百家乐单机版的| 风水24山子怎么读| 百家乐官网筹码真伪| 百家乐官网去澳门| 澳门百家乐官网打缆| 奥斯卡娱乐城| 申博娱乐城官网| 德州扑克牌型| 大发888二十一点| 碧桂园太阳城二手房| 明珠百家乐的玩法技巧和规则| 百家乐游戏开发软件| 太阳城百家乐赌博害人| 百家乐体育nba| 24个招财方法| 百家乐官网规则以及玩法| 大都会百家乐官网的玩法技巧和规则| 网上赌百家乐官网的玩法技巧和规则 | E乐博百家乐| 皇冠网现金网| 南投市| 灵宝市| 阜新市| 开封县| 金龙国际娱乐城| 厦门市| 百家乐官网实战案例| 百家乐官网怎么注册| 百家乐官网新台第二局| 宝格丽百家乐官网娱乐城| 太阳城百家乐官网客户端| 赌博百家乐官网经验网| 现场百家乐官网牌路分析| 网上百家乐官网打牌| 职业百家乐官网的玩法技巧和规则 | 金字塔百家乐官网的玩法技巧和规则 | 澳门百家乐官网奥秘| 揭秘百家乐官网百分之50| 澳门百家乐官网娱乐平台| 百家乐官网真人荷官网|