Hình ảnh của Editor
Có rất nhiều thuật toán học máy có khả năng mô hình hóa các hiện tượng cụ thể. Trong khi một số mô hình sử dụng một tập hợp các thuộc tính để vượt trội hơn những mô hình khác, những mô hình khác bao gồm những người học yếu để sử dụng phần còn lại của các thuộc tính để cung cấp thông tin bổ sung cho mô hình, được gọi là mô hình tập hợp.
Tiền đề của các mô hình tập hợp là cải thiện hiệu suất của mô hình bằng cách kết hợp các dự đoán từ các mô hình khác nhau bằng cách giảm lỗi của chúng. Có hai kỹ thuật tập hợp phổ biến: đóng gói và tăng cường.
Tính năng đóng gói, hay còn gọi là Bootstrapped Aggregation, huấn luyện nhiều mô hình riêng lẻ trên các tập hợp con ngẫu nhiên khác nhau của dữ liệu huấn luyện, sau đó tính trung bình các dự đoán của chúng để đưa ra dự đoán cuối cùng. Mặt khác, việc tăng cường liên quan đến việc đào tạo các mô hình riêng lẻ theo trình tự, trong đó mỗi mô hình cố gắng sửa các lỗi do các mô hình trước đó gây ra.
Bây giờ chúng ta đã có ngữ cảnh về các mô hình tập hợp, chúng ta hãy nhấp đúp vào mô hình tập hợp tăng cường, cụ thể là thuật toán Light GBM (LGBM) do Microsoft phát triển.
LGBMClassifier là viết tắt của Light Gradient Boosting Machine Classifier. Nó sử dụng thuật toán cây quyết định để xếp hạng, phân loại và các nhiệm vụ học máy khác. LGBMClassifier sử dụng một kỹ thuật mới về Lấy mẫu một bên dựa trên Gradient (GOSS) và Gói tính năng độc quyền (EFB) để xử lý dữ liệu quy mô lớn với độ chính xác, giúp dữ liệu nhanh hơn và giảm mức sử dụng bộ nhớ một cách hiệu quả.
Lấy mẫu một phía dựa trên Gradient (GOSS) là gì?
Các thuật toán tăng cường độ dốc truyền thống sử dụng tất cả dữ liệu để đào tạo, điều này có thể tốn thời gian khi xử lý các tập dữ liệu lớn. Mặt khác, GOSS của LightGBM giữ tất cả các phiên bản có độ dốc lớn và thực hiện lấy mẫu ngẫu nhiên trên các phiên bản có độ dốc nhỏ. Trực giác đằng sau điều này là các trường hợp có độ dốc lớn sẽ khó khớp hơn và do đó mang nhiều thông tin hơn. GOSS giới thiệu một hệ số nhân không đổi cho các trường hợp dữ liệu có độ dốc nhỏ để bù cho việc mất thông tin trong quá trình lấy mẫu.
Gói tính năng độc quyền (EFB) là gì?
Trong một tập dữ liệu thưa thớt, hầu hết các tính năng là số không. EFB là một thuật toán gần như không mất dữ liệu, gói/kết hợp các tính năng loại trừ lẫn nhau (các tính năng không đồng thời khác không) để giảm số lượng thứ nguyên, do đó đẩy nhanh quá trình đào tạo. Vì các tính năng này là "độc quyền", không gian tính năng ban đầu được giữ lại mà không làm mất thông tin đáng kể.
Gói LightGBM có thể được cài đặt trực tiếp bằng pip – trình quản lý gói của python. Nhập lệnh được chia sẻ bên dưới trên thiết bị đầu cuối hoặc dấu nhắc lệnh để tải xuống và cài đặt thư viện LightGBM vào máy của bạn:
pip install lightgbm
Người dùng Anaconda có thể cài đặt nó bằng lệnh “cài đặt conda” như được liệt kê bên dưới.
conda install -c conda-forge lightgbm
Dựa trên hệ điều hành của bạn, bạn có thể chọn phương pháp cài đặt bằng cách sử dụng hướng dẫn này.
Bây giờ, hãy nhập LightGBM và các thư viện cần thiết khác:
import numpy as np
import pandas as pd
import seaborn as sns
import lightgbm as lgb
from sklearn.metrics import classification_report
from sklearn.model_selection import train_test_split
Chuẩn bị tập dữ liệu
Chúng tôi đang sử dụng bộ dữ liệu Titanic phổ biến, chứa thông tin về các hành khách trên tàu Titanic, với biến mục tiêu biểu thị liệu họ có sống sót hay không. Bạn có thể tải xuống tập dữ liệu từ Kaggle hoặc sử dụng đoạn mã sau để tải trực tiếp từ Seaborn, như hình bên dưới:
titanic = sns.load_dataset('titanic')
Bỏ các cột không cần thiết như “deck”, “embark_town” và “alive” vì chúng dư thừa hoặc không đóng góp vào sự sống còn của bất kỳ người nào trên tàu. Tiếp theo, chúng tôi quan sát thấy rằng các tính năng “tuổi”, “giá vé” và “đã bắt đầu” bị thiếu giá trị - lưu ý rằng các thuộc tính khác nhau được quy định bằng các biện pháp thống kê thích hợp.
# Drop unnecessary columns
titanic = titanic.drop(['deck', 'embark_town', 'alive'], axis=1) # Replace missing values with the median or mode
titanic['age'] = titanic['age'].fillna(titanic['age'].median())
titanic['fare'] = titanic['fare'].fillna(titanic['fare'].mode()[0])
titanic['embarked'] = titanic['embarked'].fillna(titanic['embarked'].mode()[0])
Cuối cùng, chúng tôi chuyển đổi các biến phân loại thành các biến số bằng cách sử dụng mã phân loại của gấu trúc. Bây giờ, dữ liệu đã được chuẩn bị để bắt đầu quá trình đào tạo mô hình.
# Convert categorical variables to numerical variables
titanic['sex'] = pd.Categorical(titanic['sex']).codes
titanic['embarked'] = pd.Categorical(titanic['embarked']).codes # Split the dataset into input features and the target variable
X = titanic.drop('survived', axis=1)
y = titanic['survived']
Đào tạo LGBMClassifier Model
Để bắt đầu đào tạo mô hình LGBMClassifier, chúng ta cần chia tập dữ liệu thành các tính năng đầu vào và biến mục tiêu, cũng như các bộ kiểm tra và đào tạo bằng cách sử dụng hàm train_test_split từ scikit-learning.
# Split the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
Hãy gắn nhãn mã hóa dữ liệu phân loại (“ai”) và dữ liệu thứ tự (“lớp”) để đảm bảo rằng mô hình được cung cấp dữ liệu số, vì LGBM không sử dụng dữ liệu phi số.
class_dict = { "Third": 3, "First": 1, "Second": 2
}
who_dict = { "child": 0, "woman": 1, "man": 2
}
X_train['class'] = X_train['class'].apply(lambda x: class_dict[x])
X_train['who'] = X_train['who'].apply(lambda x: who_dict[x])
X_test['class'] = X_test['class'].apply(lambda x: class_dict[x])
X_test['who'] = X_test['who'].apply(lambda x: who_dict[x])
Tiếp theo, chúng tôi chỉ định các siêu đường kính mô hình làm đối số cho hàm tạo hoặc chúng tôi có thể chuyển chúng dưới dạng từ điển cho phương thức set_params.
Bước cuối cùng để bắt đầu đào tạo mô hình là tải tập dữ liệu bằng cách tạo một phiên bản của lớp LGBMClassifier và khớp nó với dữ liệu đào tạo.
params = { 'objective': 'binary', 'boosting_type': 'gbdt', 'num_leaves': 31, 'learning_rate': 0.05, 'feature_fraction': 0.9
}
clf = lgb.LGBMClassifier(**params)
clf.fit(X_train, y_train)
Tiếp theo, hãy để chúng tôi đánh giá hiệu suất của trình phân loại được đào tạo trên tập dữ liệu thử nghiệm hoặc không nhìn thấy được.
predictions = clf.predict(X_test)
print(classification_report(y_test, predictions))
precision recall f1-score support 0 0.84 0.89 0.86 105 1 0.82 0.76 0.79 74 accuracy 0.83 179 macro avg 0.83 0.82 0.82 179
weighted avg 0.83 0.83 0.83 179
Điều chỉnh siêu tham số
LGBMClassifier cho phép linh hoạt hơn nhiều thông qua siêu tham số mà bạn có thể điều chỉnh để có hiệu suất tối ưu. Ở đây, chúng ta sẽ thảo luận ngắn gọn về một số siêu đường kính chính:
- num_lá: Đây là thông số chính để kiểm soát độ phức tạp của mô hình cây. Lý tưởng nhất là giá trị của num_leaves phải nhỏ hơn hoặc bằng 2^(max_depth).
- min_data_in_leaf: Đây là một tham số quan trọng để ngăn chặn trang bị quá mức trong cây thông minh lá. Giá trị tối ưu của nó phụ thuộc vào số lượng mẫu đào tạo và num_leaves.
- max_deep: Bạn có thể sử dụng điều này để giới hạn độ sâu của cây một cách rõ ràng. Tốt nhất là điều chỉnh thông số này trong trường hợp overfitting.
Hãy điều chỉnh các siêu tham số này và đào tạo một mô hình mới:
model = lgb.LGBMClassifier(num_leaves=31, min_data_in_leaf=20, max_depth=5)
model.fit(X_train, y_train)
predictions = model.predict(X_test)
print(classification_report(y_test, predictions))
precision recall f1-score support 0 0.85 0.89 0.87 105 1 0.83 0.77 0.80 74 accuracy 0.84 179 macro avg 0.84 0.83 0.83 179
weighted avg 0.84 0.84 0.84 179
Lưu ý rằng việc điều chỉnh siêu tham số thực tế là một quá trình bao gồm thử và sai, đồng thời cũng có thể được hướng dẫn bởi kinh nghiệm và hiểu biết sâu hơn về thuật toán tăng cường cũng như kiến thức chuyên môn về chủ đề (kiến thức miền) về vấn đề kinh doanh mà bạn đang giải quyết.
Trong bài đăng này, bạn đã tìm hiểu về thuật toán LightGBM và cách triển khai Python của nó. Đây là một kỹ thuật linh hoạt, hữu ích cho nhiều loại vấn đề phân loại khác nhau và nên là một phần trong bộ công cụ máy học của bạn.
Vidhi Chung là một nhà chiến lược AI và một nhà lãnh đạo chuyển đổi kỹ thuật số làm việc tại điểm giao nhau giữa sản phẩm, khoa học và kỹ thuật để xây dựng các hệ thống máy học có thể mở rộng. Cô ấy là một nhà lãnh đạo đổi mới từng đoạt giải thưởng, một tác giả và một diễn giả quốc tế. Cô ấy đang thực hiện sứ mệnh dân chủ hóa công nghệ máy học và phá vỡ các thuật ngữ để mọi người trở thành một phần của quá trình chuyển đổi này.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- PlatoData.Network Vertical Generative Ai. Trao quyền cho chính mình. Truy cập Tại đây.
- PlatoAiStream. Thông minh Web3. Kiến thức khuếch đại. Truy cập Tại đây.
- Trung tâmESG. Ô tô / Xe điện, Than đá, công nghệ sạch, Năng lượng, Môi trường Hệ mặt trời, Quản lý chất thải. Truy cập Tại đây.
- BlockOffsets. Hiện đại hóa quyền sở hữu bù đắp môi trường. Truy cập Tại đây.
- nguồn: https://www.kdnuggets.com/2023/07/lgbmclassifier-gettingstarted-guide.html?utm_source=rss&utm_medium=rss&utm_campaign=lgbmclassifier-a-getting-started-guide
- :là
- :không phải
- :Ở đâu
- 1
- 10
- 11
- 13
- 14
- 31
- 7
- 77
- 8
- 80
- 84
- 87
- 9
- a
- Giới thiệu
- tăng tốc
- chính xác
- thực tế
- thêm vào
- thông tin bổ sung
- tuổi
- tập hợp
- AI
- thuật toán
- thuật toán
- Tất cả
- cho phép
- Ngoài ra
- an
- và
- bất kì
- thích hợp
- APT
- LÀ
- đối số
- AS
- At
- Nỗ lực
- thuộc tính
- tác giả
- AVG
- từng đoạt giải thưởng
- BE
- bởi vì
- bắt đầu
- sau
- phía dưới
- BEST
- thúc đẩy
- Nghỉ giải lao
- một thời gian ngắn
- xây dựng
- kinh doanh
- by
- CAN
- mang
- trường hợp
- trẻ em
- Chọn
- tốt nghiệp lớp XNUMX
- phân loại
- CFL
- mã
- mã số
- Cột
- kết hợp
- phức tạp
- không thay đổi
- ăn
- chứa
- bối cảnh
- Góp phần
- điều khiển
- chuyển đổi
- sửa chữa
- Tạo
- dữ liệu
- bộ dữ liệu
- xử lý
- quyết định
- cây quyết định
- sâu sắc hơn
- dân chủ hóa
- phụ thuộc
- chiều sâu
- phát triển
- khác nhau
- kỹ thuật số
- chuyển đổi kỹ thuật số
- kích thước
- trực tiếp
- thảo luận
- do
- Không
- miền
- tải về
- Rơi
- suốt trong
- mỗi
- hiệu quả
- hay
- Kỹ Sư
- đảm bảo
- như nhau
- lôi
- lỗi
- đánh giá
- mọi người
- Dành riêng
- kinh nghiệm
- chuyên môn
- nhanh hơn
- Đặc tính
- Tính năng
- cuối cùng
- Tên
- phù hợp với
- vừa vặn
- Linh hoạt
- linh hoạt
- tiếp theo
- Trong
- từ
- chức năng
- nhận được
- gradients
- hướng dẫn
- tay
- xử lý
- khó hơn
- Có
- tại đây
- HTML
- HTTPS
- lý tưởng
- thực hiện
- nhập khẩu
- quan trọng
- nâng cao
- in
- bao gồm
- hệ thống riêng biệt,
- thông tin
- bắt đầu
- sự đổi mới
- đầu vào
- cài đặt, dựng lên
- cài đặt
- ví dụ
- Quốc Tế
- ngã tư
- trong
- Giới thiệu
- trực giác
- IT
- ITS
- biệt ngữ
- Xe đẩy
- Key
- kiến thức
- nổi tiếng
- nhãn
- lớn
- quy mô lớn
- Họ
- lãnh đạo
- học
- học tập
- ít
- thư viện
- Thư viện
- ánh sáng
- LIMIT
- Liệt kê
- tải
- sự mất
- máy
- học máy
- Macro
- thực hiện
- Chủ yếu
- Làm
- người đàn ông
- giám đốc
- chất
- Có thể..
- các biện pháp
- trung bình
- Bộ nhớ
- phương pháp
- Metrics
- microsoft
- mất tích
- Sứ mệnh
- Chế độ
- kiểu mẫu
- mô hình
- chi tiết
- hầu hết
- nhiều
- nhiều
- hỗ trợ
- cần thiết
- Cần
- Mới
- tiếp theo
- tiểu thuyết
- tại
- con số
- cục mịch
- Mục tiêu
- quan sát
- of
- on
- tối ưu
- or
- nguyên
- OS
- Nền tảng khác
- Khác
- Vượt trội hơn
- gói
- gấu trúc
- tham số
- một phần
- vượt qua
- hiệu suất
- thực hiện
- người
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- Phổ biến
- Bài đăng
- Độ chính xác
- dự đoán
- Dự đoán
- chuẩn bị
- ngăn chặn
- trước
- Vấn đề
- vấn đề
- quá trình
- sản xuất
- Sản phẩm
- cung cấp
- Python
- ngẫu nhiên
- Xếp hạng
- RE
- giảm
- giảm
- thay thế
- s
- khả năng mở rộng
- KHOA HỌC
- học hỏi
- sơ sinh
- Thứ hai
- định
- bộ
- tình dục
- chia sẻ
- chị ấy
- nên
- thể hiện
- có ý nghĩa
- đồng thời
- kể từ khi
- nhỏ
- một số
- Không gian
- Loa
- riêng
- đặc biệt
- chia
- đứng
- Bắt đầu
- bắt đầu
- thống kê
- Bước
- Chiến lược
- Tiêu đề
- như vậy
- cung cấp
- hỗ trợ
- sống còn
- Sống sót
- hệ thống
- Mục tiêu
- nhiệm vụ
- kỹ thuật
- Thiết bị đầu cuối
- thử nghiệm
- Kiểm tra
- hơn
- việc này
- Sản phẩm
- thông tin
- cung cấp their dịch
- Them
- sau đó
- Đó
- bằng cách ấy
- Kia là
- họ
- Thứ ba
- điều này
- Như vậy
- mất thời gian
- đến
- bộ công cụ
- Train
- đào tạo
- Hội thảo
- tàu hỏa
- Chuyển đổi
- cây
- thử nghiệm
- phep thử va lôi sai
- hai
- kiểu
- loại
- sự hiểu biết
- us
- Sử dụng
- sử dụng
- Người sử dụng
- sử dụng
- sử dụng
- sử dụng
- giá trị
- Các giá trị
- khác nhau
- Lớn
- thông qua
- we
- TỐT
- khi nào
- liệu
- cái nào
- trong khi
- CHÚNG TÔI LÀ
- sẽ
- với
- không có
- người phụ nữ
- đang làm việc
- X
- bạn
- trên màn hình
- zephyrnet