Python evalml 庫:自動化機器學習的新前景

更多資料獲取

📚 個人網站:ipengtao.com


在機器學習領域,evalml 庫嶄露頭角,為開發者提供了一個強大而高效的自動化機器學習框架。本文將深入介紹 evalml 的核心功能、使用方法以及在實際項目中的應用。通過詳實的示例代碼,將更全面地理解 evalml 的強大之處。

evalml 是一款由 Feature Labs 開發的 Python 庫,旨在簡化機器學習流程,從數據預處理到模型選擇,甚至是超參數調優。它集成了一系列功能,使得機器學習模型的開發過程更加直觀、高效。

安裝與基礎用法

首先,來看 evalml 的安裝和基礎用法:

# 安裝 evalml
!pip install evalml# 導入 evalml
import evalml# 加載示例數據集
X, y = evalml.demos.load_breast_cancer()# 劃分數據集
X_train, X_test, y_train, y_test = evalml.preprocessing.split_data(X, y, problem_type='binary')# 初始化二分類分類器
clf = evalml.AutoMLSearch(X_train, y_train, problem_type='binary', objective='log loss', max_batches=1)

自動化特征工程

在 evalml 中,自動化特征工程是其強大功能之一。這一功能使得在機器學習項目中處理數據變得更加高效和便捷,而無需開發者手動干預。以下是關于 evalml 自動化特征工程的詳細說明和示例代碼:

處理缺失值

在 evalml 中,缺失值的處理是自動進行的,無需開發者額外操作。evalml 會根據數據的特性自動選擇填充缺失值的方法,確保模型訓練不受影響。

# 示例:加載數據集并劃分
X, y = evalml.demos.load_diabetes()
X_train, X_test, y_train, y_test = evalml.preprocessing.split_data(X, y, problem_type='regression')# 示例:執行自動化特征工程
X_train_processed = clf.preprocess(X_train, y_train)

編碼分類變量

evalml 會自動檢測數據中的分類變量,并根據需要進行適當的編碼,以確保模型能夠正確理解這些變量。

# 示例:加載數據集并劃分
X, y = evalml.demos.load_iris()
X_train, X_test, y_train, y_test = evalml.preprocessing.split_data(X, y, problem_type='multiclass')# 示例:執行自動化特征工程
X_train_processed = clf.preprocess(X_train, y_train)

處理日期變量

evalml 能夠識別日期變量并執行相應的處理,以便模型能夠更好地理解和利用這些變量。

# 示例:加載包含日期變量的數據集并劃分
X, y = evalml.demos.load_churn()
X_train, X_test, y_train, y_test = evalml.preprocessing.split_data(X, y, problem_type='binary')# 示例:執行自動化特征工程
X_train_processed = clf.preprocess(X_train, y_train)

其他特征工程技術

evalml 還支持其他一系列特征工程技術,如處理文本數據、標準化數值變量等。這些技術將根據數據的特點和問題類型進行智能選擇和應用。

# 示例:加載包含文本數據的數據集并劃分
X, y = evalml.demos.load_spam()
X_train, X_test, y_train, y_test = evalml.preprocessing.split_data(X, y, problem_type='binary')# 示例:執行自動化特征工程
X_train_processed = clf.preprocess(X_train, y_train)

自動化模型選擇

在 evalml 中,自動化模型選擇是其核心功能之一。通過 AutoMLSearch,evalml 能夠在給定的問題類型和目標函數下,自動選擇并訓練多個模型,并返回性能最佳的模型。以下是關于 evalml 自動化模型選擇的詳細說明和示例代碼:

初始化 AutoMLSearch

首先,需要使用 AutoMLSearch 對象來執行自動化模型選擇。在初始化時,需要提供訓練數據、目標列(y)、問題類型和優化目標等信息。

# 示例:加載二分類數據集并劃分
X, y = evalml.demos.load_breast_cancer()
X_train, X_test, y_train, y_test = evalml.preprocessing.split_data(X, y, problem_type='binary')# 示例:初始化 AutoMLSearch
automl = evalml.AutoMLSearch(X_train, y_train, problem_type='binary', objective='auc', max_batches=1)

執行自動化模型選擇

通過調用 AutoMLSearch 對象的 search 方法,evalml 將自動執行多個模型的訓練和評估,最終返回性能最佳的模型。

# 示例:執行自動化模型選擇
best_pipeline = automl.search()

查看結果

search 方法執行完畢后,可以查看每個模型的性能結果以及最佳模型的詳細信息。

# 查看每個模型的性能結果
automl.rankings

使用最佳模型進行預測

一旦得到最佳模型,可以使用該模型進行預測。

# 使用最佳模型進行預測
y_pred = best_pipeline.predict(X_test)

調整超參數

如果需要,evalml 還提供了調整超參數的功能,以優化最佳模型的性能。

# 示例:調整超參數
best_pipeline_tuned = automl.tune_pipeline(best_pipeline, objective='auc')

模型評估與解釋

一旦選擇了最佳模型,可以對其進行評估和解釋:

# 在測試集上評估模型性能
best_pipeline.score(X_test, y_test, objectives=['log loss', 'auc'])# 獲取模型解釋
explain = best_pipeline.explain(X_test, y_test)
explain.plot_feature_importance()

高級功能

evalml 還提供了一系列高級功能,如自定義目標函數、調整超參數、集成多個模型等:

# 自定義目標函數
def custom_objective(y_true, y_predicted):# 自定義目標函數的實現pass# 調整超參數
best_pipeline_tuned = clf.tune_pipeline(best_pipeline, objective='log loss')# 集成多個模型
ensemble_pipeline = evalml.automl.Ensemble(X_train, y_train, problem_type='binary', objective='log loss')
ensemble_pipeline.add_model('RandomForest')
ensemble_pipeline.add_model('Linear Model')
ensemble_pipeline.add_model('XGBoost')
ensemble_pipeline.fit()

在實際項目中的應用

最后,通過一個實際項目示例來展示 evalml 的應用。假設有一個金融欺詐檢測的任務,可以輕松地使用 evalml 構建并優化模型:

# 加載金融欺詐數據集
fraud_X, fraud_y = load_fraud_dataset()# 劃分數據集
fraud_X_train, fraud_X_test, fraud_y_train, fraud_y_test = evalml.preprocessing.split_data(fraud_X, fraud_y, problem_type='binary')# 初始化 AutoMLSearch
fraud_clf = evalml.AutoMLSearch(fraud_X_train, fraud_y_train, problem_type='binary', objective='f1')# 執行自動化模型選擇
best_fraud_pipeline = fraud_clf.search()

總結

在本文中,深入介紹了 evalml 庫中的自動化模型選擇功能,這是 evalml 強大的自動化機器學習框架的核心之一。通過 AutoMLSearch 對象,evalml 能夠在給定的問題類型和目標函數下,智能地選擇并訓練多個模型,并返回性能最佳的模型。這一功能極大地簡化了模型開發的流程,使得開發者能夠更專注于問題本身,而無需花費大量時間嘗試不同的模型和參數組合。

初始化 AutoMLSearch 非常簡便,只需提供訓練數據、目標列、問題類型和優化目標等信息。執行自動化模型選擇后,可以查看每個模型的性能結果,并獲得最佳模型的詳細信息。最佳模型一旦確定,可以輕松地使用它進行預測。如果需要進一步優化,evalml 甚至提供了調整超參數的功能,以進一步提升模型性能。

總體而言,evalml 的自動化模型選擇功能為機器學習開發帶來了巨大的便利。通過在給定時間內智能地搜索和選擇模型,evalml 提高了模型開發的效率,使得機器學習項目更具可行性。這一框架的出現為開發者提供了更高效、更智能的機器學習工具,未來其在自動化機器學習領域將持續發揮重要作用。


Python學習路線

在這里插入圖片描述

更多資料獲取

📚 個人網站:ipengtao.com

如果還想要領取更多更豐富的資料,可以點擊文章下方名片,回復【優質資料】,即可獲取 全方位學習資料包。

在這里插入圖片描述
點擊文章下方鏈接卡片,回復【優質資料】,可直接領取資料大禮包。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/207502.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/207502.shtml
英文地址,請注明出處:http://en.pswp.cn/news/207502.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

前端高頻面試題大全-面試必看

內容較多,建議查看目錄,方便食用 高頻 React和Vue的區別 通常解法:vue是采用指令結合vue-loader實現構件用戶界面的漸進式框架,React是采用JSX構件用戶界面的組件化開發 詳細解法:在渲染界面的時候DOM操作是昂貴的&…

【Linux系統編程】項目自動化構建工具make/Makefile

介紹: make和Makefile是用于編譯和構建C/C程序的工具和文件。Makefile是一個文本文件,其中包含了編譯和構建程序所需的規則和指令。它告訴make工具如何根據源代碼文件生成可執行文件,里面保存的是依賴關系和依賴方法。make是一個命令行工具&a…

智匯恒星科技|控樂屋.全宅智能冠軍代言來啦, 智慧家居千億藍海

隨著5G、大數據、云計算、物聯網等技術的發展,智能化正覆蓋人們生活的方方面面,全屋智能的出現為“一鍵式”智能家居生活享受提供無限可能。近年來智能家居行業總體規模增長迅速,數據顯示,2022年中國智能家居行業市場規模約為6200…

Java內部類

文章目錄 什么是 Java 中的內部類?有哪些類型的內部類?匿名內部類局部內部類(定義在方法中的類)局部內部類靜態內部類 Java 類中不僅可以定義變量和方法,還可以定義類,這樣定義在類內部的類就被稱為內部類。…

Java期末復習題之封裝

點擊返回標題->23年Java期末復習-CSDN博客 第1題. 定義一個類Person,定義name和age私有屬性,定義有參的構造方法對name和age進行初始化。在測試類中創建該類的2個對象,姓名、年齡分別為lili、19和lucy、20,在屏幕打印出2個對象的姓名和年齡…

2024年江蘇省職業院校技能大賽信息安全管理與評估 理論題(樣卷)

2024年江蘇省職業院校技能大賽信息安全管理與評估 理論題(樣卷) 理論技能與職業素養(100分) 2024年江蘇省職業院校技能大賽(高職學生組) 模塊三“信息安全管理與評估”理論技能 【注意事項】 Geek極安云…

Qt對excel操作

Qt庫中自帶對excel操作的模塊QAxObject,QAxObject是Qt提供給程序員從代碼中訪問Office的對象類,其本質上是一個面向微軟操作系統的COM接口。 QAxObject將所有Office的工作簿、表格、文檔等都作為其子對象,程序員通過調用querySubObject()這個…

vue-quill-editor上傳圖片base64轉化為img標簽

vue-quill-editor傳圖片的話默認把圖片轉成了base64&#xff0c;會導致我們的參數特別大&#xff0c;不好渲染 基于vue-quill-editor重寫一個quill-editor組件 <template><div><quilleditorv-model"content"ref"myTextEditor":options&qu…

在線圖片轉Base64圖片的方法

html版(不包含跨域解決,輸入在線圖片地址即可轉換) <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>…

Cisco 思科路由交換網絡設備 安全基線 安全加固操作

目錄 賬號管理、認證授權 本機認證和授權ELK-Cisco-01-01-01 設置特權口令 ELK-Cisco-01-02-01 ELK-Cisco-01-02-02 ???????登錄要求 ELK-Cisco-01-03-01 ???????ELK-Cisco-01-03-02 ELK-Cisco-01-03-03 日志配置 ELK-Cisco-02-01-01 通信協議 ELK-Cisco-…

軟考高級信息系統項目管理師經驗分享

考了三次終于考過了。 第一次&#xff0c;沒準備&#xff0c;打醬油。 第二次&#xff0c;不舍得花錢&#xff0c;自己復習&#xff0c;結果教材改版了都不知道。 第三次&#xff0c;改機考了。 總結一下這三次的經驗&#xff1a; 一、不是學霸型的一定要報班 報班的優點&…

實時動作識別學習筆記

目錄 yowo v2 yowof 判斷是在干什么,不能獲取細節信息 yowo v2 https://github.com/yjh0410/YOWOv2/blob/master/README_CN.md ModelClipmAPFPSweightYOWOv2-Nano1612.640ckptYOWOv2-Tiny

【prometheus】入門+實習需求實戰

prometheus官方教程 說明&#xff1a; 感冒了&#xff0c;寫點總結不浪費時間&#xff0c;聲明不會扯出來任何的私有代碼&#xff0c;畢竟要保密&#xff0c;只會講prometheus的官方有的&#xff0c;以及那些開源的代碼方法&#xff0c;例如prometheus客戶端代方法&#xff0…

QML中Dialog獲取close與open狀態

1.新建MyDialog.qml import QtQuick 2.15import QtQuick.Dialogs 1.2Dialog {id: rootvisible: falsetitle: qsTr("彈出對話框")width: 250height: 200} 2.main.qml中調用MyDialog import QtQuick 2.15 import QtQuick.Window 2.15 import QtQuick.Controls 2.15…

JS原生實現瀏覽器滾動條滾動側邊欄高亮響應

目錄 演示 ?編輯 需求 代碼 css html script 代碼解釋 1、獲取所有link-content 2、定義一個rectContent數組&#xff0c;然后循環allContents調用getClientRects()[0]獲取每個link-content元素與瀏覽器視口的關系 3、為數組追加link-content&#xff0c;用于設置側…

軟件設計師——面向對象技術(一)

&#x1f4d1;前言 本文主要是【面向對象技術】——軟件設計師—面向對象技術的文章&#xff0c;如果有什么需要改進的地方還請大佬指出?? &#x1f3ac;作者簡介&#xff1a;大家好&#xff0c;我是聽風與他&#x1f947; ??博客首頁&#xff1a;CSDN主頁聽風與他 &#…

C++學習筆記(十一)

一、類和對象 C面向對象的三大特性為&#xff1a;封裝、繼承、多態 C認為萬事萬物皆為對象&#xff0c;對象上有其屬性和行為 例如&#xff1a;人可以作為對象&#xff0c;屬性有姓名、年齡、身高......&#xff0c;行為有走、吃、睡覺 車也可以作為對象&#xff0c;屬性有輪…

官網IDM下載和安裝的詳細步驟

目錄 一、IDM是什么 二、下載安裝 三、解決下載超時的問題 四、谷歌瀏覽器打開IDM插件 谷歌瀏覽器下載官網&#x1f447; 五、測試 六、資源包獲取 一、IDM是什么 IDM&#xff08;internet download manager&#xff09;是一個互聯網下載工具插件&#xff0c;常見于用…

要求CHATGPT高質量回答的藝術:提示工程技術的完整指南—第 29 章:ChatGPT 插件

要求CHATGPT高質量回答的藝術&#xff1a;提示工程技術的完整指南—第 29 章&#xff1a;ChatGPT 插件 這是 ChatGPT 的另一個圣杯。它將徹底改變你使用 ChatGPT 的方式。ChatGPT 插件本質上是將 ChatGPT 的功能擴展到文本輸出之外。它允許你上傳圖片、視頻、音頻和 CSV 文件&…

資深IT經理分享如何選擇商用遠控軟件三:評估產品方案匹配度

作為企業必要的IT管理和遠程辦公工具&#xff0c;遠程控制解決方案的挑選和采購是需要IT部門慎重考慮的。 對于具體如何在諸多產品中選擇合適的商用遠程控制解決方案&#xff0c;此前我們就分享了一位資深IT經理的相關經驗&#xff0c;目前已經涵蓋初期的業務需求調研&#xf…