2.8. Mô trường lập trình
2.8.2. Thư viện Scikit-Learn (Sklearn)
Scikit-Learn lả một thư viện mã nguồn mở phê biến trong lĩnh vực Machine Learning và Data Science. Seikit-learn cung cấp một số công cụ và thuật toán phô biến
như:
- Preprocessing: Đây là quá trình tiền xử lý dữ liệu, bao gồm chuẩn hóa, mã hóa, đánh giá, rút trích đặc trưng và chọn mô hình. Scikit-learn cung cap các công cụ dé tiêu
chuẩn hóa dit liệu bằng các phương pháp như chuẩn hóa Z-score, chuẩn hóa min-max, chuân hóa L1, L2. chuan hóa tông độ lệch tuyệt đối và chuẩn hóa số lượng.
- Classification: Scikit-learn hỗ trợ các thuật toán phân loại phô biến như Support
Vector Machines, Decision Trees, Random Forests, Naive Bayes, K-Nearest Neighbors, Logistic Regression, Neural Networks va Gradient Boosting.
- Regression: Scikit-learn hỗ trợ các thuật toán hồi quy phổ biến như Linear
Regression, Lasso Regression. Ridge Regression, Elastic Net, Polynomial Regression.
Decision Tree Regression, v.V,
- Clustering: Scikit-learn hỗ trợ các thuật toán phân cum phô biến như K-Means,
DBSCAN, Mean Shift và Affinity Propagation.
- Dimensionality Reduction: Scikit-learn cung cấp các công cụ dé giảm số chiều dữ liệu, bao gồm Principal Component Analysis (PCA), Linear Discriminant Analysis
(LDA) va t-SNE.
- Evaluation: Scikit-learn cung cấp các công cụ dé đánh giá hiệu suất của mô hình bao gồm các độ đo phô biến như accuracy, precision, recall, Fl-score và ROC-AUC
SCOFC.
- Pipeline: Seikit-learn cho phép xây dựng pipeline dé kết hợp các bước tiền xử lý, mô hình hóa và đánh giá dé tạo ra một hệ thông học máy hoàn chỉnh.
- Feature Selection: Scikit-learn cung cấp các công cụ dé chọn các đặc trưng quan trọng nhất cho mô hình, bao gồm Univariate Selection, Recursive Feature Elimination,
và Feature Importance.
- Model Selection: Scikit-learn hỗ trợ các công cụ dé lựa chọn mô hình tốt nhất cho dit liệu của ban bao gom cross-validation, Grid Search va Randomized Search.
- Ensemble Methods: Scikit-learn hỗ trợ các phương pháp học kết hợp (ensemble learning) như Bagging, Boosting và Stacking đề tăng độ chính xác của mô hình.
Một số tru điểm của thư viện Scikit-learn như:
- Hỗ trợ day đủ các bước tiên xử lý dữ liệu: cung cap các công cụ va tính năng dé xử lý, chuẩn hóa va trích xuất các đặc trưng từ dữ liệu đầu vào.
- Tính linh hoạt: có thé hoạt động với các loại dit liệu khác nhau như ma trận,
mảng, pandas dataframe, hay text documents.
30
- Dễ sử đụng: cung cap cách tiếp cận đơn giản và dé hiểu dé thực hiện các tác vụ
phân tích dữ liệu và học máy.
- Cung cấp nhiều phương pháp học máy: phân lớp, hồi quy, phân cụm và rừng ngau nhiên.
- Hiệu suất cao: Scikit-learn được viết bằng ngôn ngữ lập trình Python, tuy nhiên các thư viện con của nó được viết bằng C, nên hiệu suất của nó cao.
8.3. PyTorch
CÓ PyTorch
Hình 2-10: Logo của thư viện PyTorch
Pytorch, một framework được phát triển bởi Facebook - một công đơn vị công nghệ đầu tư rất nhiều nguồn lực cho việc phát triển Trí tuệ nhân tạo. Với giấy phép ma nguồn mở, Pytorch thu hút một cộng đồng lớn với nguôn tải nguyên đa dang và chất
lượng.
Điểm mạnh của Pytorch năm ở khả năng xử lý đồ họa mạnh mẽ, khả năng kiểm
soát trên cả CPU và GPU. Nó cũng để dang dé dang trong việc gỡ lỗi và trực quan hóa.
Thêm vào đó, PyTorch có cơ chế Dynamic Graphs giúp giảm thời gian huấn luyện mô
hình.
Một sé lợi ích khi sử dụng Pytorch bao gồm:
— Dễ dang xử lý khi gặp lỗi.
— _ TouchScript, một tập hợp con của Python, giúp triên khai các ứng dụng vào quy mô sản xuất và mở rộng quy mô.
— Pytorch được ưa chuộng trong việc xây dựng các nguyên mẫu với tốc độ
nhanh hơn so với Tensorflow, nhờ vào tính nhẹ nhàng của nó.
—_ Các hàm va cú pháp cơ bản trong Pytorch giúp xử lí các bai toán về Trí tuệ
nhân tạo một cách nhanh chóng và hiệu quả.
31
Hình 2-11: Logo của thư viện Keras
Keras là một thư viện mã ngudn mở được sử dung rộng rãi trong lĩnh vực Deep Learning (Học sâu) và Neural Network (Mang than kinh), được phát trién vào năm 2005
bởi Francios Chollet - kỹ sư nghiên cứu Deep Learning. Keras chạy dé dàng trên cả CPU
và GPU.
Một trong những điểm mạnh của Keras là khả nang tích hợp với các framework học sâu khác như TensorFlow. Các nhà phát triển có thé sử đụng Keras dé nhanh chóng xây dựng mạng no-ron mà không cần lo lắng về các khía cạnh toán học của đại số tensor, kỹ thuật số và phương pháp tôi ưu hóa. Ý tưởng quan trọng dang sau sự phát triển của Keras là tạo điều kiện thuận lợi cho các thí nghiệm băng cách tạo mẫu nhanh. Khả năng đi từ một ý tưởng đến kết quả với thời gian trì hoãn ít nhất có thể là phương án đề nghiên cứu tốt, Điều nảy mang lại một lợi thé to lớn cho các nhà khoa học cũng như các nha phát triển mới bat đầu vì họ có thể tham gia ngay vào Deep Learning mà không phải
làm việc với các phép tính cap thấp.
Keras cung cấp một API rat dé sử dụng cũng như đủ trực quan dé hiéu về cơ bản
giúp kiểm tra và xây dựng các ứng dụng học sâu it khó khăn nhất. Điều này là tốt vì nghiên cứu Deep Learning là một chủ đề nóng hiện nay va các nha khoa học cần một công cụ đề thử các ý tưởng của họ ma không mat thời gian vào việc đưa ra một mô hình
Neural Network.
2.8.5. Thư viện Pandas
il pandas I
Hình 2-12: Logo của thư viện Pandas
32
Pandas là một thư viện mã nguồn mở, hỗ trợ đắc lực trong thao tác đữ liệu. Dây cũng la bộ công cụ phân tích và xử lý dữ liệu mạnh mẽ trong Python. Với câu trúc đữ
liệu chính là DataFrame, Pandas mang lại một loạt các tính năng hữu ích:
DataFrame: Đây là một cau trúc dit liệu mạnh mẽ cho phép tổ chức vả thao tác dữ liệu một cách linh hoạt, đồng thời cho phép thực hiện các phép toán và truy van một cách dé dàng.
Đọc/Ghi dữ liệu: Pandas không chỉ hỗ trợ doc dit liệu từ các nguồn như tập tin
CSV, văn ban, Excel, và cơ sở dữ liệu SQL, mà còn cho phép ghi dữ liệu trở lại các định dạng nảy một cách thuận tiện.
Xử lý dữ liệu thiếu: Pandas có khả năng xử lý đữ liệu bị thiểu và tự động chuyên dữ liệu lộn xộn thành dạng có cấu trúc.
Thay đôi bố cục dữ liệu: Từ việc thêm/xóa cột dit liệu đến việc thay đồi cau trúc của đữ liệu, Pandas cho phép bạn điều chỉnh bố cục của dữ liệu một cách linh hoạt và dé dang.
Trộn và kết hợp dir liệu: Pandas cung cấp các phương pháp hiệu quả đề trộn và kết hop dir liệu từ nhiều nguồn khác nhau, giúp bạn tạo ra các tập dit liệu mới
và phong phú.
Lập chỉ mục dit liệu: Bằng cách lập chỉ mục dữ liệu theo các chiều khác nhau,
Pandas giúp bạn dé dang thực hiện các phép toán và truy van trên dit liệu có số
chiều cao.
Tối ưu hiệu suất: Với sự tối ưu về hiệu suất, Pandas cho phép xử lý cả dữ liệu
lớn một cách nhanh chóng và hiệu quả.
Với những tinh năng nay, Pandas đã trở thành một công cụ không thé thiếu trong nhiều lĩnh vực như thông kê, thương mại, phân tích dữ liệu, quảng cáo và nghiên cứu khoa học, đồng thời đem lại lợi ích lớn cho cả cộng đồng học thuật và doanh nghiệp.
33