Logo Zephyrnet

5 điều bạn chưa biết về PyCaret

Ngày:

5 điều bạn chưa biết về PyCaret

So với các thư viện máy học nguồn mở khác, 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ỉ bằng một vài từ.


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

Hình

Từ tác giả của PyCaret

Kim tự tháp

 
PyCaret là thư viện máy học mã nguồn mở bằng Python để đào tạo và triển khai các mô hình máy học có giám sát và không giám sát trong môi trường mã thấp môi trường. Nó được biết đến vì tính dễ sử dụng và hiệu quả.

So với các thư viện máy học nguồn mở khác, 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ỉ bằng một vài từ.

Nếu bạn chưa từng sử dụng PyCaret trước đây hoặc muốn tìm hiểu thêm, thì một nơi tốt để bắt đầu là tại đây.

“Sau khi nói chuyện với nhiều nhà khoa học dữ liệu sử dụng PyCaret hàng ngày, tôi đã liệt kê ra 5 tính năng của PyCaret ít được biết đến hơn nhưng chúng cực kỳ mạnh mẽ.”
— Moez Ali

👉Bạn có thể điều chỉnh “n tham số” trong các thử nghiệm không giám sát

 
Trong học máy không giám sát, “tham số n” tức là số cụm cho thử nghiệm phân cụm, tỷ lệ ngoại lệ trong phát hiện bất thường và số lượng chủ đề trong mô hình hóa chủ đề, có tầm quan trọng cơ bản.

Khi mục tiêu cuối cùng của thử nghiệm là dự đoán kết quả (phân loại hoặc hồi quy) bằng cách sử dụng kết quả từ các thử nghiệm không được giám sát, thì hàm tune_model() trong pycaret.clustering mô-đun , các pycaret.anomaly mô-đun,pycaret.nlp mô-đun đến rất tiện dụng

Để hiểu điều này, hãy xem một ví dụ sử dụng “Kiva” bộ dữ liệu.

Hình ảnh cho bài viết

Đây là tập dữ liệu về khoản vay của ngân hàng vi mô, trong đó mỗi hàng thể hiện người đi vay với thông tin liên quan của họ. Cột 'en' ghi lại văn bản đơn xin vay vốn của từng người đi vay và cột 'trạng thái' thể hiện việc người đi vay có vỡ nợ hay không (mặc định = 1 hoặc không vỡ nợ = 0).

Bạn có thể sử dụng giai điệu_model chức năng trong pycaret.nlp để tối ưu hóa num_topics tham số dựa trên biến mục tiêu của thử nghiệm được giám sát (tức là dự đoán số lượng chủ đề tối ưu cần thiết để cải thiện khả năng dự đoán biến mục tiêu cuối cùng). Bạn có thể xác định mô hình đào tạo bằng cách sử dụng người ước tính tham số ('xgboost' trong trường hợp này). Hàm này trả về một mô hình chủ đề đã được huấn luyện và một hình ảnh hiển thị các số liệu được giám sát ở mỗi lần lặp.

tune_lda = tune_model(model='lda',supervised_target='status', estimator='xgboost')

Hình ảnh cho bài viết

👉Bạn có thể cải thiện kết quả từ việc điều chỉnh siêu tham số bằng cách tăng “n_iter”

 
Sản phẩm giai điệu_model chức năng trong pycaret.phân loại mô-đun và pycaret.regression mô-đun sử dụng tìm kiếm lưới ngẫu nhiên trên tìm kiếm lưới được xác định trước để điều chỉnh siêu tham số. Ở đây số lần lặp mặc định được đặt là 10.

Kết quả từ giai điệu_model có thể không nhất thiết là sự cải thiện kết quả từ các mô hình cơ sở được tạo bằng cách sử dụng create_model. Vì việc tìm kiếm lưới là ngẫu nhiên nên bạn có thể tăng n_iter tham số để cải thiện hiệu suất. Xem ví dụ dưới đây:

#tune với n_iter mặc định tức là 10 tune_dt1 = tune_model('dt') #tune với n_iter = 50 tune_dt2 = tune_model('dt', n_iter = 50)

Hình ảnh cho bài viết

👉Bạn có thể xác định kiểu dữ liệu theo chương trình trong chức năng thiết lập

 
Khi bạn khởi tạo thiết lập chức năngbạn sẽ được yêu cầu xác nhận loại dữ liệu thông qua đầu vào của người dùng. Thông thường hơn khi bạn chạy các tập lệnh như một phần của quy trình làm việc hoặc thực thi nó dưới dạng hạt nhân từ xa (ví dụ: Kaggle Notebooks), thì trong trường hợp đó, bạn phải cung cấp các kiểu dữ liệu theo chương trình thay vì thông qua hộp nhập liệu của người dùng.

Xem ví dụ bên dưới bằng cách sử dụng “bảo hiểm” bộ dữ liệu.

Hình ảnh cho bài viết

# nhập mô-đun hồi quy từ pycaret.regression nhập * # init setup reg1 = setup(data, target = 'charges', Silent=True, categorical_features=['sex', 'smoker', 'khu vực', 'children'], số_features =['tuổi', 'bmi'])

Sản phẩm im lặng tham số được đặt thành True để tránh đầu vào, categorical_features tham số lấy tên của các cột phân loại dưới dạng chuỗi và tính năng số tham số lấy tên của các cột số dưới dạng chuỗi.

👉Bạn có thể bỏ qua một số cột nhất định để xây dựng mô hình

 
Trong nhiều trường hợp, bạn có các tính năng trong tập dữ liệu mà bạn không nhất thiết muốn xóa nhưng muốn bỏ qua để đào tạo mô hình học máy. Một ví dụ điển hình là vấn đề phân cụm trong đó bạn muốn bỏ qua một số tính năng nhất định trong quá trình tạo cụm nhưng sau này bạn cần các cột đó để phân tích nhãn cụm. Trong những trường hợp như vậy, bạn có thể sử dụng bỏ qua_features tham số trong thiết lập để bỏ qua các tính năng như vậy.

Trong ví dụ bên dưới, chúng tôi sẽ thực hiện thử nghiệm phân cụm và chúng tôi muốn bỏ qua 'Tên quốc gia' và 'Tên chỉ báo'.

Hình ảnh cho bài viết

từ nhập pycaret.clustering * clu1 = setup(data, ign_features = ['Tên quốc gia', 'Tên chỉ báo'])

👉Bạn có thể tối ưu hóa ngưỡng xác suất % trong phân loại nhị phân

 
Trong các vấn đề phân loại, chi phí của dương tính giả hầu như không bao giờ giống như chi phí của phủ định sai. Như vậy, nếu bạn đang tối ưu hóa một giải pháp cho một vấn đề kinh doanh trong đó Loại 1 và Loại 2 lỗi có tác động khác, bạn có thể tối ưu hóa trình phân loại của mình cho giá trị ngưỡng xác suất để tối ưu hóa hàm mất tùy chỉnh chỉ bằng cách xác định riêng chi phí của kết quả dương tính thực, âm tính thực, dương tính giả và âm tính giả. Theo mặc định, tất cả các trình phân loại đều có ngưỡng 0.5.

Xem ví dụ bên dưới bằng cách sử dụng “tín dụng” bộ dữ liệu.

# Nhập tập dữ liệu từ pycaret.datasets import get_data credit = get_data('credit') # Nhập mô-đun và khởi tạo thiết lập từ pycaret.classification import * clf1 = setup(data = credit, target = 'default') # tạo mô hình xgboost = create_model ('xgboost') # ngưỡng tối ưu hóa cho mô hình được đào tạo Optimize_threshold(xgboost, true_ Negative = 1500, false_ Negative = -5000)

Hình ảnh cho bài viết

Sau đó bạn có thể vượt qua 0.2 as xác suất_ngưỡng tham số trong dự đoán_model hàm sử dụng 0.2 làm ngưỡng để phân loại lớp dương. Xem ví dụ dưới đây:

dự đoán_model(xgboost, xác suất_threshold=0.2)

PyCaret 2.0.0 sắp ra mắt!

 
Chúng tôi đã nhận được sự hỗ trợ và phản hồi rất lớn từ cộng đồng khoa học dữ liệu. Chúng tôi đang tích cực làm việc để cải thiện PyCaret và chuẩn bị cho phiên bản tiếp theo. PyCaret 2.0.0 sẽ lớn hơn và tốt hơn. Nếu bạn muốn chia sẻ phản hồi của mình và giúp chúng tôi cải thiện hơn nữa, bạn có thể điền vào mẫu này trên trang web hoặc để lại nhận xét trên trang web của chúng tôi GitHub or LinkedIn .

Thực hiện theo chúng tôi LinkedIn và đăng ký của chúng tôi YouTube kênh để tìm hiểu thêm về PyCaret.

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

 
Kể từ phiên bản 1.0.0 đầu tiên, PyCaret có sẵn các mô-đun sau để sử dụng. Nhấp vào các liên kết bên dưới để xem tài liệu và ví dụ hoạt động bằng Python.

Xem thêm:

 
Hướng dẫn bắt đầu sử dụng PyCaret trong Notebook:

Bạn có muốn đóng góp không?

 
PyCaret là một dự án nguồn mở. Mọi người đều được chào đón đóng góp. Nếu bạn muốn đóng góp, xin vui lòng làm việc trên vấn đề mở. Yêu cầu kéo được chấp nhận với các bài kiểm tra đơn vị trên nhánh dev-1.0.1.

Hãy cho chúng tôi ⭐️ trên Repo GitHub nếu bạn thích PyCaret.

Trung bình: https://medium.com/@moez_62905/
LinkedIn: https://www.linkedin.com/in/profile-moez/
Twitter: https://twitter.com/moezpycaretorg1

 
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:

Nguồn: https://www.kdnuggets.com/2020/07/5-things-pycaret.html

tại chỗ_img

Tin tức mới nhất

tại chỗ_img