Logo Zephyrnet

Tăng tốc các thử nghiệm học máy của bạn với PyCaret và Gradio

Ngày:

Tăng tốc các thử nghiệm học máy của bạn với PyCaret và Gradio

Hướng dẫn từng bước để phát triển và tương tác nhanh chóng với các đường ống học máy.


By Moez Ali, Người sáng lập & Tác giả của PyCaret

👉 Giới thiệu

 
Hướng dẫn này là giải thích từng bước, thân thiện với người mới bắt đầu về cách bạn có thể tích hợp Kim tự thápTốt nghiệp, hai thư viện mã nguồn mở mạnh mẽ bằng Python và tăng tốc thử nghiệm học máy của bạn trong vòng vài phút.

Hướng dẫn này là một ví dụ về "hello world", tôi đã sử dụng Bộ dữ liệu Iris từ UCI, là một bài toán đa phân loại với mục tiêu là dự đoán loại cây mống mắt. Mã được đưa ra trong ví dụ này có thể được sao chép trên bất kỳ tập dữ liệu nào khác, mà không có bất kỳ sửa đổi lớn nào.

👉 PyCaret

 
PyCaret là một thư viện máy học mã nguồn mở, mã thấp và công cụ quản lý mô hình end-to-end được tích hợp sẵn trong Python để tự động hóa quy trình làm việc của máy học. Nó cực kỳ phổ biến vì dễ sử dụng, đơn giản và khả năng xây dựng và triển khai các nguyên mẫu ML end-to-end một cách nhanh chóng và hiệu quả.

PyCaret là một thư viện mã thấp thay thế có thể được sử dụng để thay thế hàng trăm dòng mã chỉ với vài dòng. Điều này làm cho chu kỳ thử nghiệm nhanh chóng và hiệu quả theo cấp số nhân.

PyCaret là đơn giản và dễ sử dụng. Tất cả các hoạt động được thực hiện trong PyCaret được lưu trữ tuần tự trong một Pipeline điều đó hoàn toàn tự động cho triển khai. Cho dù đó là nhập các giá trị bị thiếu, mã hóa một nóng, chuyển đổi dữ liệu phân loại, kỹ thuật tính năng hoặc thậm chí điều chỉnh siêu tham số, PyCaret đều tự động hóa tất cả.

Để tìm hiểu thêm về PyCaret, hãy xem GitHub.

👉 Cấp độ

 
Gradio là một thư viện Python mã nguồn mở để tạo các thành phần giao diện người dùng có thể tùy chỉnh xung quanh các mô hình học máy của bạn. Gradio giúp bạn dễ dàng "chơi đùa" với mô hình của mình trong trình duyệt bằng cách kéo và thả hình ảnh của chính bạn, dán văn bản của riêng bạn, ghi âm giọng nói của chính bạn, v.v. và xem những gì mô hình xuất ra.

Gradio hữu ích cho:

  • Tạo bản trình diễn nhanh xung quanh các đường ống ML được đào tạo của bạn
  • Nhận phản hồi trực tiếp về hiệu suất của mô hình
  • Gỡ lỗi mô hình của bạn một cách tương tác trong quá trình phát triển

Để tìm hiểu thêm về Gradio, hãy xem GitHub.



Quy trình làm việc cho PyCaret và Gradio

 

👉 Cài đặt PyCaret

 
Cài đặt PyCaret rất dễ dàng và chỉ mất vài phút. Chúng tôi thực sự khuyên bạn nên sử dụng môi trường ảo để tránh xung đột tiềm ẩn với các thư viện khác.

Cài đặt mặc định của PyCaret là phiên bản mỏng của pycaret chỉ cài đặt các phụ thuộc cứng Được liệt kê ở đây.

# install slim version (default)
pip install pycaret# install the full version
pip install pycaret[full]


Khi bạn cài đặt phiên bản đầy đủ của pycaret, tất cả các phụ thuộc tùy chọn như Được liệt kê ở đây cũng được cài đặt.

👉 Cài đặt Gradio

 
Bạn có thể cài đặt gradio từ pip.

pip install gradio


👉 Bắt đầu thôi

# load the iris dataset from pycaret repo
from pycaret.datasets import get_data
data = get_data('iris')




Các hàng mẫu từ tập dữ liệu mống mắt

 

👉 Khởi tạo thiết lập

# initialize setup
from pycaret.classification import *
s = setup(data, target = 'species', session_id = 123)




Bất cứ khi nào bạn khởi tạo setup trong PyCaret, nó cấu hình tập dữ liệu và suy ra các kiểu dữ liệu cho tất cả các tính năng đầu vào. Trong trường hợp này, bạn có thể thấy tất cả bốn tính năng (sepal_length, sepal_width, wing_length, và wing_width) được xác định chính xác là kiểu dữ liệu Numeric. Bạn có thể nhấn enter để tiếp tục.



Đầu ra từ thiết lập - bị cắt bớt để hiển thị

 

Chung cho tất cả các mô-đun trong PyCaret, setup chức năng là bước bắt buộc đầu tiên và duy nhất để bắt đầu bất kỳ thử nghiệm học máy nào trong PyCaret. Bên cạnh việc thực hiện một số tác vụ xử lý cơ bản theo mặc định, PyCaret cũng cung cấp một loạt các tính năng tiền xử lý như mở rộng quy mô và chuyển đổikỹ thuật tính nănglựa chọn tính năngvà một số bước chuẩn bị dữ liệu chính như mã hóa một nóngthiếu giá trị áp đặtlấy mẫu quá mức / lấy mẫu dưới mức, v.v. Để tìm hiểu thêm về tất cả các chức năng tiền xử lý trong PyCaret, bạn có thể xem phần này Link.



https://pycaret.org/preprocessing/

 

👉 So sánh các mô hình

 
Đây là bước đầu tiên chúng tôi đề xuất trong quy trình làm việc của bất kì thử nghiệm có giám sát ở PyCaret. Hàm này huấn luyện tất cả các mô hình có sẵn trong thư viện mô hình bằng cách sử dụng siêu tham số mặc định và đánh giá các chỉ số hiệu suất bằng cách sử dụng xác thực chéo.

Đầu ra của hàm này là một bảng hiển thị điểm số trung bình được xác nhận chéo cho tất cả các mô hình. Số lượng nếp gấp có thể được xác định bằng cách sử dụng foldtham số (mặc định = 10 lần gấp). Bảng được sắp xếp (cao nhất đến thấp nhất) theo số liệu lựa chọn có thể được xác định bằng cách sử dụng sorttham số (mặc định = 'Độ chính xác').

best = compare_models(n_select = 15)
compare_model_results = pull()


n_select tham số trong chức năng cài đặt kiểm soát việc trả về các mô hình được đào tạo. Trong trường hợp này, tôi đang đặt nó thành 15, nghĩa là trả về 15 mẫu hàng đầu dưới dạng danh sách. pull trong dòng thứ hai lưu trữ kết quả đầu ra của compare_models as pd.DataFrame .



Đầu ra từ so sánh_ mô hình

 

len(best)
>>> 15print(best[:5])




Đầu ra từ bản in (tốt nhất [: 5])

 

👉 Cấp độ

 
Bây giờ chúng ta đã hoàn tất quá trình tạo mô hình, hãy tạo một giao diện người dùng đơn giản bằng cách sử dụng Gradio để tương tác với các mô hình của chúng ta. Tôi sẽ làm điều đó thành hai phần, đầu tiên tôi sẽ tạo một hàm sử dụng PyCaret's predict_model chức năng tạo và trả về các dự đoán và phần thứ hai sẽ đưa chức năng đó vào Gradio và thiết kế một biểu mẫu đầu vào đơn giản để tương tác.

Phần I - Tạo một chức năng bên trong

 
Hai dòng đầu tiên của mã lấy các tính năng đầu vào và chuyển đổi chúng thành DataFrame của gấu trúc. Dòng 7 đang tạo một danh sách duy nhất các tên kiểu máy được hiển thị trong compare_models đầu ra (điều này sẽ được sử dụng như một danh sách thả xuống trong giao diện người dùng). Dòng 8 chọn mô hình tốt nhất dựa trên giá trị chỉ mục của danh sách (sẽ được chuyển vào qua giao diện người dùng) và Dòng 9 sử dụng predict_model chức năng của PyCaret để chấm điểm tập dữ liệu.

https://gist.github.com/moezali1/2a383489a08757df93572676d20635e0


 

Phần II - Tạo giao diện người dùng với Gradio

 
Dòng 3 trong đoạn mã bên dưới tạo danh sách thả xuống cho tên kiểu máy, Dòng 4–7 tạo thanh trượt cho từng tính năng đầu vào và tôi đã đặt giá trị mặc định thành giá trị trung bình của từng tính năng. Dòng 9 khởi tạo giao diện người dùng (trong sổ ghi chép cũng như trên máy chủ cục bộ của bạn để bạn có thể xem nó trong trình duyệt).

https://gist.github.com/moezali1/a1d83fb61e0ce14adcf4dffa784b1643


 


Đầu ra từ giao diện Gradio đang chạy

 

Bạn có thể xem video nhanh này tại đây để biết việc tương tác với các đường ống dẫn và truy vấn các mô hình của bạn dễ dàng như thế nào mà không cần viết hàng trăm dòng mã hoặc phát triển giao diện người dùng chính thức.



Tăng tốc các thử nghiệm học máy của bạn với PyCaret và Gradio

 

Tôi hy vọng rằng bạn sẽ đánh giá cao tính dễ sử dụng và đơn giản trong PyCaret và Gradio. Trong chưa đầy 25 dòng mã và vài phút thử nghiệm, tôi đã đào tạo và đánh giá nhiều mô hình bằng cách sử dụng PyCaret và phát triển một giao diện người dùng nhẹ để tương tác với các mô hình trong Notebook.

Đang cập nhật!

 
Tuần tới, tôi sẽ viết một hướng dẫn về phát hiện bất thường không được giám sát trên dữ liệu chuỗi thời gian bằng cách sử dụng Mô-đun phát hiện bất thường của PyCaret. Hãy theo dõi tôi trên Trung bìnhLinkedInvà Twitter để nhận thêm thông tin cập nhật.

Không có giới hạn nào đối với những gì bạn có thể đạt được bằng cách sử dụng thư viện tự động hóa quy trình làm việc nhẹ này bằng Python. Nếu bạn thấy điều này hữu ích, xin đừng quên cho chúng tôi ⭐️ trên kho GitHub của chúng tôi.

Để biết thêm về PyCaret, hãy theo dõi chúng tôi trên LinkedIn và Youtube.

Tham gia với chúng tôi trên kênh slack của chúng tôi. Liên kết mời tại đây.

Bạn cũng có thể quan tâm:

 
Xây dựng AutoML của riêng bạn trong Power BI bằng PyCaret 2.0
Triển khai đường ống học máy trên Azure bằng Docker
Triển khai Đường ống học máy trên Google Kubernetes Engine
Triển khai đường ống học máy trên AWS Fargate
Xây dựng và triển khai ứng dụng web học máy đầu tiên của bạn
Triển khai ứng dụng PyCaret và Streamlit bằng AWS Fargate không máy chủ
Xây dựng và triển khai ứng dụng web học máy bằng PyCaret và Streamlit
Triển khai ứng dụng Máy học được xây dựng bằng Streamlit và PyCaret trên GKE

Các liên kết quan trọng

 
Tài liệu
Blog
GitHub
StackOverflow
Cài đặt PyCaret
Hướng dẫn về Notebook
Đóng góp trong PyCaret

Bạn muốn tìm hiểu về một mô-đun cụ thể?

 
Nhấp vào các liên kết bên dưới để xem tài liệu và các ví dụ làm việc.

phân loại
Hồi quy
Clustering
Phát hiện bất thường
Xử lý ngôn ngữ tự nhiên
Hiệp hội khai thác quy tắc

 
Tiểu sử: Moez Ali là Nhà khoa học dữ liệu và là Người sáng lập & Tác giả của PyCaret.

Nguyên. Đăng lại với sự cho phép.

Liên quan:

Coinsmart. Đặt cạnh Bitcoin-Börse ở Europa
Nguồn: https://www.kdnuggets.com/2021/05/supercharge-machine-learning-experiments-pycaret-gradio.html

tại chỗ_img

Tin tức mới nhất

tại chỗ_img