Trong kỷ nguyên công nghệ 4.0, Machine Learning không chỉ là một từ khóa "hot" mà đã trở thành nền tảng của nhiều ứng dụng từ nhận diện khuôn mặt, xử lý ngôn ngữ tự nhiên đến dự đoán xu hướng tài chính. Nhưng với rất nhiều thuật toán và kỹ thuật khác nhau, làm thế nào để chúng ta bắt đầu từ con số không?
Bài viết này sẽ giúp bạn hiểu rõ hơn về các thuật toán Machine Learning phổ biến và hướng dẫn bạn từng bước triển khai một bài toán cơ bản, từ khâu thu thập dữ liệu, xây dựng mô hình đến việc đánh giá kết quả. Hãy cùng khám phá thế giới đầy tiềm năng của Machine Learning và mở ra cánh cửa đến những ứng dụng thực tiễn mạnh mẽ.
1. Machine Learning là gì ?
Machine Learning (ML) hay Học máy thống kê là một nhánh của khoa học máy tính tập trung vào việc sử dụng dữ liệu và thuật toán để cho phép AI bắt chước cách học của con người, dần dần cải thiện độ chính xác của nó.
Theo Tom Mitchell trong cuốn sách "Machine Learning" xuất bản năm 1997, Machine Learning như 1 chương trình, nhiệm vụ của nó là thực hiện 1 nhiệm vụ T nào đó, khi thực hiện xong, ta thu được trải nghiệm E. Nhờ vào việc học hỏi trải nghiệm E, ta có thể thay đổi (hoặc không) để tiến tới thực hiện task T+1, và nhằm cải thiện hiệu suất P.
Ví dụ: AlphaGo – 1 chương trình máy tính chuyên để chơi cờ vây.
- T chính là việc AlphaGo chơi cờ với các người chơi khác nhau
- E chính là kinh nghiệm AlphaGo thu được sau khi chơi các ván cờ.
- P chính là xác suất AlphaGo thắng ván tiếp theo.
AlphaGo sẽ liên tục chơi (thực hiện nhiệm vụ T) để cập nhật kinh nghiệm E và nâng cao xác suất thắng P.
1.1 Quy trình triển khai thuật toán Machine Learning
Quy trình triển khai thuật toán Machine Learning thường bao gồm 6 bước như sau:
Bước 1: Thu thập dữ liệu (Gathering data/Data collection)
Bước 2: Tiền xử lý dữ liệu (Data preprocessing)
- Trích xuất dữ liệu – Data extraction
- Làm sạch dữ liệu – Data cleaning
- Chuyển đổi dữ liệu – Data transformation
- Chuẩn hóa dữ liệu – Data normalization
- Trích xuất đặc trưng – Feature extraction
Bước 3: Phân tích dữ liệu (Data analysis)
Bước 4: Xây dựng mô hình máy học (Model building)
Bước 5: Huấn luyện mô hình (Model training)
Bước 6: Đánh giá mô hình (Model evaluation)
Trong số các bước này, thu thập dữ liệu, tiền xử lý và xây dựng bộ dữ liệu thường chiếm nhiều thời gian và công sức nhất. Đây là những bước cực kỳ quan trọng, quyết định đến hiệu quả của thuật toán máy học. Độ chính xác của kết quả phụ thuộc rất lớn vào lượng dữ liệu đầu vào.
1.2 Phân loại các phương pháp Machine Learning
1.2.1 Học có giám sát (Supervised Learning)
Supervised learning là thuật toán dự đoán đầu ra (outcome) của một dữ liệu mới (new input) dựa trên các cặp (input, outcome) đã biết từ trước. Cặp dữ liệu này còn được gọi là (data, label), tức (dữ liệu, nhãn). Supervised learning là nhóm phổ biến nhất trong các thuật toán Machine Learning.
Ví dụ: Trong nhận dạng chữ viết tay, ta có ảnh của hàng nghìn chữ số được viết bởi nhiều người khác nhau. Chúng ta đưa các bức ảnh này vào trong một thuật toán cụ thể và chỉ cho nó biết mỗi bức ảnh tương ứng với chữ số nào. Sau khi thuật toán tạo ra một mô hình, tức một hàm số mà đầu vào là một bức ảnh và đầu ra là một chữ số, sau đó khi nhận được một bức ảnh mới mà mô hình chưa nhìn thấy bao giờ, nó sẽ dự đoán bức ảnh đó chứa chữ số nào.
Ví dụ này khá giống với cách học của con người khi còn nhỏ. Ta đưa bảng chữ cái cho một đứa trẻ và chỉ cho chúng đây là chữ A, đây là chữ B. Sau một vài lần được dạy thì trẻ có thể nhận biết được đâu là chữ A, đâu là chữ B trong một cuốn sách mà chúng chưa nhìn thấy bao giờ.
1.2.2 Học không giám sát (Unsupervised Learning)
Trong thuật toán này, chúng ta không biết được outcome hay nhãn mà chỉ có dữ liệu đầu vào. Thuật toán unsupervised learning sẽ dựa vào cấu trúc của dữ liệu để thực hiện một công việc nào đó, ví dụ như phân nhóm (clustering) hoặc giảm số chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và tính toán.
Những thuật toán loại này được gọi là Unsupervised learning vì không giống như Supervised learning, chúng ta không biết câu trả lời chính xác cho mỗi dữ liệu đầu vào. Giống như khi ta học, không có thầy cô giáo nào chỉ cho ta biết đó là chữ A hay chữ B. Cụm không giám sát được đặt tên theo nghĩa này.
Ví dụ: Trong phân cụm khách hàng, chúng ta có dữ liệu đầu vào là thông tin về hành vi mua sắm của khách hàng như tần suất mua hàng, số tiền chi tiêu, loại sản phẩm đã mua. Mô hình phân chia khách hàng thanh các nhóm khác nhau dựa trên các đặc điểm tương tự, chẳng hạn nhóm khách hàng thường xuyên mua sắm, nhóm khách hàng mua hàng giá trị cao.
1.2.3 Học bán giám sát (Semi-supervised Learning)
Các bài toán khi chúng ta có một lượng lớn dữ liệu nhưng chỉ một phần trong chúng được gán nhãn được gọi là Semi-Supervised Learning. Những bài toán thuộc nhóm này nằm giữa hai nhóm được nêu bên trên.
Một ví dụ điển hình của nhóm này là chỉ có một phần ảnh hoặc văn bản được gán nhãn (ví dụ bức ảnh về người, động vật hoặc các văn bản khoa học, chính trị) và phần lớn các bức ảnh/văn bản khác chưa được gán nhãn được thu thập từ internet.
Thực tế cho thấy rất nhiều các bài toán Machine Learning thuộc vào nhóm này vì việc thu thập dữ liệu có nhãn tốn rất nhiều thời gian và có chi phí cao. Rất nhiều loại dữ liệu thậm chí cần phải có chuyên gia mới gán nhãn được (ảnh y học chẳng hạn). Ngược lại, dữ liệu chưa có nhãn có thể được thu thập với chi phí thấp từ internet.
1.2.4 Học tăng cường (Reinforcement Learning)
Reinforcement learning là các bài toán giúp cho một hệ thống tự động xác định hành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất (maximizing the performance). Hiện tại, Reinforcement learning chủ yếu được áp dụng vào Lý Thuyết Trò Chơi (Game Theory), các thuật toán cần xác định nước đi tiếp theo để đạt được điểm số cao nhất.
Ví dụ: AlphaGo nổi tiếng với việc chơi cờ vây thắng cả con người. Cờ vây được xem là có độ phức tạp cực kỳ cao với tổng số nước đi là xấp xỉ 10761, so với cờ vua là 10120 và tổng số nguyên tử trong toàn vũ trụ là khoảng 1080!! Vì vậy, thuật toán phải chọn ra 1 nước đi tối ưu trong số hàng nhiều tỉ tỉ lựa chọn, và tất nhiên, không thể áp dụng thuật toán tương tự như IBM Deep Blue (IBM Deep Blue đã thắng con người trong môn cờ vua 20 năm trước).
Về cơ bản, AlphaGo bao gồm các thuật toán thuộc cả Supervised learning và Reinforcement learning. Trong phần Supervised learning, dữ liệu từ các ván cờ do con người chơi với nhau được đưa vào để huấn luyện. Tuy nhiên, mục đích cuối cùng của AlphaGo không phải là chơi như con người mà phải thậm chí thắng cả con người.
Vì vậy, sau khi học xong các ván cờ của con người, AlphaGo tự chơi với chính nó với hàng triệu ván chơi để tìm ra các nước đi mới tối ưu hơn. Thuật toán trong phần tự chơi này được xếp vào loại Reinforcement learning.
2. Ứng dụng nổi bật của Machine Learning
- Nhận diện hình ảnh
- Nhận diện giọng nói
- Dịch tự động
- Đề xuất sản phẩm
- Xe ô tô tự lái
- Lọc Email spam và phần mềm độc hại
- Trợ lý cá nhân ảo
- Phát hiện gian lận trực tuyến
- Giao dịch trên thị trường chứng khoán
- Chẩn đoán y tế
- Phân tích tình cảm
3. Phân nhóm các thuật toán Machine Learning
Có hai cách phổ biến phân nhóm các thuật toán Machine Learning. Một là dựa trên phương thức học (Learning style), hai là dựa trên chức năng (Function) của mỗi thuật toán.
3.1 Phân nhóm dựa trên phương thức học
3.1.1 Các thuật toán Học có giám sát
Thuật toán học có giám sát còn được chia nhỏ ra thành 2 loại chính:
- Classification (Phân loại): Một bài toán được gọi là classification nếu các label (nhãn) của input data được chia thành một số hữu hạn nhóm. Ví dụ: Gmail xác định xem một email có phải là spam hay không; các hãng tín dụng xác định xem một khách hàng có khả năng thanh toán nợ hay không.
- Regression (Hồi quy): Nếu label không được chia thành các nhóm mà là một giá trị thực cụ thể. Ví dụ: một căn nhà rộng x m2, có y phòng ngủ và cách trung tâm thành phố z km sẽ có giá bao nhiêu
Microsoft có một ứng dụng dự đoán giới tính và tuổi dựa trên khuôn mặt. Phần dự đoán giới tính có thể coi là thuật toán Classification, phần dự đoán tuổi có thể coi là thuật toán Regression. Chú ý rằng phần dự đoán tuổi cũng có thể coi là Classification nếu ta coi tuổi là một số nguyên dương không lớn hơn 150, chúng ta sẽ có 150 class (lớp) khác nhau.
Các thuật toán Học có giám sát phổ biến như:
- Linear Regression: Thuộc bài toán hồi quy, dùng để dự đoán giá trị đầu ra liên tục dựa trên mối quan hệ tuyến tính giữa biến đầu vào (độc lập) và biến đầu ra (phụ thuộc).
- Logistic Regression: Thuộc bài toán phân loại, dùng để phân loại dữ liệu nhị phân hoặc nhiều lớp bằng cách tính xác suất của một đối tượng thuộc một trong các lớp.
- Decision Trees: Thuộc bài toán phân loại hoặc hồi quy, dùng cây phân nhánh để mô hình hóa các quyết định và hậu quả có thể xảy ra. Cây quyết định hoạt động tốt với cả dữ liệu phân loại và dữ liệu liên tục.
- Random Forest: Thuộc bài toán phân loại hoặc hồi quy, là tập hợp của nhiều cây quyết định, tạo ra mô hình mạnh mẽ hơn bằng cách kết hợp nhiều cây để tăng độ chính xác và tránh quá khớp (overfitting - hiểu đơn giản là mô hình hoạt động rất tốt trên dữ liệu huấn luyện nhưng lại hoạt động kém trên dữ liệu mới).
- Support Vector Machine - SVM: Thuộc bài toán phân loại hoặc hồi quy, Tìm một siêu phẳng (hyperplane) tốt nhất để phân chia dữ liệu thành các lớp khác nhau, tối đa hóa khoảng cách giữa các lớp.
- K-Nearest Neighbors - KNN: Thuộc bài toán phân loại hoặc hồi quy, dự đoán giá trị đầu ra dựa trên dữ liệu của những "người hàng xóm gần nhất" trong không gian tính toán. Mô hình so sánh đầu vào mới với các điểm gần nhất để phân loại hoặc hồi quy.
- Naive Bayes: Thuộc bài toán phân loại, mô hình xác suất dựa trên Định lý Bayes, giả định rằng các đặc trưng của dữ liệu đều độc lập với nhau. Thường được sử dụng cho các bài toán phân loại văn bản.
3.1.2 Các thuật toán Học không giám sát
Thuật toán học không giám sát còn được chia nhỏ thành 2 loại sau:
- Clustering (phân nhóm): Một bài toán phân nhóm toàn bộ dữ liệu X thành các nhóm nhỏ dựa trên sự liên quan giữa các dữ liệu trong mỗi nhóm.
Ví dụ: phân nhóm khách hàng dựa trên hành vi mua hàng. Điều này cũng giống như việc ta đưa cho một đứa trẻ rất nhiều mảnh ghép với các hình thù và màu sắc khác nhau, ví dụ tam giác, vuông, tròn với màu xanh và đỏ, sau đó yêu cầu trẻ phân chúng thành từng nhóm.
Mặc dù không cho trẻ biết mảnh nào tương ứng với hình nào hoặc màu nào, nhiều khả năng chúng vẫn có thể phân loại các mảnh ghép theo màu hoặc hình dạng. - Association: Là bài toán khi chúng ta muốn khám phá ra một quy luật dựa trên nhiều dữ liệu cho trước.
Ví dụ: những khách hàng nam mua quần áo thường có xu hướng mua thêm đồng hồ hoặc thắt lưng; những khán giả xem phim Spider Man thường có xu hướng xem thêm phim Batman, dựa vào đó tạo ra một hệ thống gợi ý khách hàng (Recommendation System), thúc đẩy nhu cầu mua sắm.
Các thuật toán Học không giám sát phổ biến như:
- Phân cụm K-Means (K-Means Clustering): Thuật toán phân cụm các điểm dữ liệu thành 𝐾 cụm dựa trên khoảng cách giữa các điểm và tâm cụm (centroid). Mỗi cụm đại diện cho một nhóm có các đặc điểm tương tự nhau.
- Phân cụm theo mật độ (DBSCAN - Density-Based Spatial Clustering of Applications with Noise): Phân cụm dựa trên mật độ của các điểm trong không gian. DBSCAN có khả năng tìm ra các cụm có hình dạng bất kỳ và xác định được các điểm nhiễu (noise).
- Phân cụm hệ thống phân cấp (Hierarchical Clustering): Tạo ra một cây phân cấp các cụm, với các cụm con được gộp lại thành cụm lớn hơn hoặc chia nhỏ thành các cụm con. Có hai loại chính: kết hợp (Agglomerative) và phân chia (Divisive).
- Giảm số chiều bằng Phân tích thành phần chính (Principal Component Analysis - PCA): Giảm số chiều của dữ liệu bằng cách tìm các thành phần chính, giúp giữ lại nhiều thông tin nhất có thể trong khi giảm số lượng biến.
- Phân tích giá trị kỳ vọng tiệm cận (Independent Component Analysis - ICA): Giống như PCA nhưng tập trung vào việc tìm ra các thành phần độc lập thay vì các thành phần chính, được sử dụng để tách các tín hiệu trộn lẫn.
3.1.3 Các thuật toán Học bán giám sát
Các thuật toán Học bán giám sát phổ biến như:
- Self-Training: Mô hình đầu tiên được huấn luyện trên một tập dữ liệu có nhãn nhỏ, sau đó sử dụng mô hình này để dự đoán nhãn cho dữ liệu không nhãn. Các dữ liệu không nhãn với xác suất dự đoán cao nhất sẽ được thêm vào tập dữ liệu có nhãn để huấn luyện lại mô hình. Quá trình này được lặp lại nhiều lần.
- Co-Training: Sử dụng hai mô hình khác nhau để học cùng một nhiệm vụ nhưng từ hai góc nhìn khác nhau của dữ liệu. Mỗi mô hình sẽ được huấn luyện trên một tập hợp con của các đặc trưng và dự đoán nhãn cho dữ liệu không nhãn để bổ sung vào tập dữ liệu huấn luyện của mô hình kia.
- Graph-Based Methods: Sử dụng lý thuyết đồ thị để biểu diễn các điểm dữ liệu dưới dạng các đỉnh, với các cạnh biểu diễn mối quan hệ tương đồng giữa các điểm. Nhãn từ dữ liệu có nhãn được lan truyền qua các cạnh đến các đỉnh chưa có nhãn.
- Label Propagation: Dựa trên lý thuyết đồ thị, phương pháp này lan truyền nhãn từ các điểm dữ liệu có nhãn đến các điểm dữ liệu không nhãn theo mức độ tương đồng.
- Transductive Support Vector Machines (TSVM): TSVM là biến thể của SVM, tìm cách tối ưu hóa biên phân cách sao cho các điểm dữ liệu không nhãn rơi vào hai bên của biên một cách phù hợp nhất, giúp cải thiện khả năng phân loại.
- Entropy Minimization: Khuyến khích các dự đoán của mô hình có độ chắc chắn cao bằng cách tối thiểu hóa độ hỗn loạn (entropy) của các nhãn dự đoán trên dữ liệu không nhãn.
- Pseudo-Labeling: Sử dụng mô hình huấn luyện ban đầu để gán nhãn giả (pseudo-labels) cho dữ liệu không nhãn, sau đó huấn luyện lại mô hình trên cả dữ liệu có nhãn và dữ liệu với nhãn giả.
3.1.4 Các thuật toán Học tăng cường
Các thuật toán Học tăng cường phổ biến như:
- Q-Learning: Q-Learning là một thuật toán học tăng cường không theo mô hình (model-free), giúp tác nhân học được chính sách hành động tối ưu bằng cách tối ưu hóa hàm giá trị Q. Hàm này ước tính giá trị của một hành động tại một trạng thái cụ thể.
- Deep Q-Network (DQN): Là mở rộng của Q-Learning sử dụng mạng nơ-ron sâu để xấp xỉ hàm giá trị Q, giúp giải quyết các vấn đề có không gian trạng thái lớn và liên tục.
- SARSA (State-Action-Reward-State-Action): SARSA là một thuật toán học tăng cường dựa trên cập nhật trực tiếp giá trị Q thông qua cặp trạng thái-hành động mới quan sát được từ chính sách hiện tại.
- Policy Gradient Methods: Tối ưu hóa trực tiếp chính sách bằng cách điều chỉnh tham số của mô hình theo gradient của hàm mục tiêu. Phương pháp này tìm kiếm chính sách tối ưu bằng cách cập nhật chính sách theo hướng tăng cường khả năng nhận được phần thưởng cao hơn.
- Actor-Critic Methods: Kết hợp giữa phương pháp Policy Gradient (Actor) và phương pháp Value-Based (Critic). Actor cập nhật chính sách, trong khi Critic ước tính giá trị của các trạng thái để hướng dẫn Actor.
- Proximal Policy Optimization (PPO): Là một thuật toán Policy Gradient ổn định, PPO sử dụng một hàm mất mát điều chỉnh để đảm bảo các cập nhật không quá lớn.
- Trust Region Policy Optimization (TRPO): Là một thuật toán Policy Gradient giúp giới hạn khoảng cách giữa các chính sách trước và sau khi cập nhật để tránh những thay đổi đột ngột.
- Deep Deterministic Policy Gradient (DDPG): Kết hợp giữa DQN và Policy Gradient để giải quyết các bài toán có không gian hành động liên tục. DDPG sử dụng mạng nơ-ron sâu để xấp xỉ hàm giá trị và chính sách.
- Soft Actor-Critic (SAC): Một phương pháp Actor-Critic kết hợp giữa việc học chính sách và học giá trị, đồng thời tối ưu hóa entropy của chính sách để khuyến khích sự thăm dò.
3.2 Phân nhóm dựa trên chức năng
3.2.1 Regression Algorithms
- Linear Regression
- Logistic Regression
- Stepwise Regression
3.2.2 Classification Algorithms
- Linear Classifier
- Support Vector Machine (SVM)
- Kernel SVM
- Sparse Representation-based classification (SRC)
3.2.3 Instance-based Algorithms
- k-Nearest Neighbor (kNN)
- Learning Vector Quantization (LVQ)
3.2.4 Regularization Algorithms
- Ridge Regression
- Least Absolute Shrinkage and Selection Operator (LASSO)
- Least-Angle Regression (LARS)
3.2.5 Bayesian Algorithms
- Naive Bayes
- Gaussian Naive Bayes
3.2.6 Clustering Algorithms
- k-Means clustering
- k-Medians
- Expectation Maximization (EM)
3.2.7 Artificial Neural Network Algorithms
- Perceptron
- Softmax Regression
- Multi-layer Perceptron
- Back-Propagation
3.2.8 Dimensionality Reduction Algorithms
- Principal Component Analysis (PCA)
- Linear Discriminant Analysis (LDA)
3.2.9 Ensemble Algorithms
- Boosting
- AdaBoost
- Random Forest
4. Hướng dẫn Triển khai bài toán Machine Learning cơ bản
Bộ dữ liệu Iris là một trong những bộ dữ liệu phổ biến nhất trong lĩnh vực Machine Learning và thống kê. Nó được sử dụng để giải quyết các bài toán phân loại và minh họa các thuật toán học máy. Bộ dữ liệu này bao gồm thông tin về ba loại hoa Iris: Iris-setosa, Iris-versicolor, và Iris-virginica. Mỗi loại có 50 mẫu, tổng cộng là 150 mẫu.
Mỗi mẫu bao gồm bốn đặc trưng (feature) đo lường về hình thái của hoa:
- Chiều dài đài hoa (Sepal length): tính bằng cm.
- Chiều rộng đài hoa (Sepal width): tính bằng cm.
- Chiều dài cánh hoa (Petal length): tính bằng cm.
- Chiều rộng cánh hoa (Petal width): tính bằng cm.
Cột target biểu thị nhãn mục tiêu, đại diện cho loại hoa Iris tương ứng. Các giá trị nhãn mục tiêu là số nguyên từ 0 đến 2, tương ứng với ba loại hoa: 0: Iris-setosa, 1: Iris-versicolor, 2: Iris-virginica
.
Bộ dữ liệu này giúp minh họa khả năng phân loại dựa trên các đặc trưng của hoa, và thường được sử dụng để thử nghiệm các thuật toán phân loại như K-Nearest Neighbors, Support Vector Machine, và Decision Tree. Dữ liệu này đã được xử lý sẵn, không có giá trị thiếu, giúp người dùng dễ dàng tập trung vào việc xây dựng và đánh giá mô hình.
Để triển khai một bài toán Machine Learning cơ bản, có thể thực hiện theo 6 bước sau:
Bước 1: Thu thập dữ liệu
import pandas as pd from sklearn.datasets
import load_iris
# Sử dụng bộ dữ liệu Iris có sẵn
iris = load_iris()
data = pd.DataFrame(data=iris.data, columns=iris.feature_names)
data['target'] = iris.target
print("Dữ liệu Iris ban đầu:")
print(data.head())
Bước 2: Tiền xử lý dữ liệu
- Trích xuất dữ liệu
# Không cần trích xuất thêm vì đã có sẵn
features = data.iloc[:, :-1]
# Các cột đặc trưng
labels = data['target'] # Nhãn mục tiêu
- Làm sạch dữ liệu
# Kiểm tra và xử lý giá trị thiếu
print("\nKiểm tra giá trị thiếu:")
print(data.isnull().sum())
# Bộ dữ liệu Iris không có giá trị thiếu
# Ví dụ: chuẩn hóa tên cột (tùy chọn)
data.columns = [col.replace(' ', '_') for col in data.columns]
- Chuẩn hóa dữ liệu
from sklearn.preprocessing import StandardScaler
# Chuẩn hóa đặc trưng scaler = StandardScaler()
features_normalized = scaler.fit_transform(features)
Bước 3: Phân tích dữ liệu
import matplotlib.pyplot as plt
import seaborn as sns
# Phân tích dữ liệu với biểu đồ sns.pairplot(pd.DataFrame(features_normalized, columns=iris.feature_names), diag_kind='kde')
plt.suptitle('Phân tích đặc trưng Iris', y=1.02)
plt.show()
Bước 4: Xây dựng mô hình Machine Learning
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
# Chia tập dữ liệu thành tập huấn luyện và tập kiểm tra
X_train, X_test, y_train, y_test = train_test_split(features_normalized, labels, test_size=0.2, random_state=42)
# Xây dựng mô hình máy học (Support Vector Machine)
model = SVC(kernel='linear')
Bước 5: Huấn luyện mô hình
# Huấn luyện mô hình với tập huấn luyện
model.fit(X_train, y_train)
Bước 6: Đánh giá mô hình
from sklearn.metrics import classification_report, accuracy_score
# Dự đoán trên tập kiểm tra
y_pred = model.predict(X_test)
# Đánh giá độ chính xác
accuracy = accuracy_score(y_test, y_pred)
print(f"\nĐộ chính xác của mô hình: {accuracy * 100:.2f}%")
# Báo cáo phân loại chi tiết
print("\nBáo cáo phân loại:")
print(classification_report(y_test, y_pred, target_names=iris.target_names))
5. Kết luận
Machine Learning không còn là một lĩnh vực xa vời mà đã dần trở thành công cụ mạnh mẽ trong việc giải quyết nhiều vấn đề thực tiễn. Qua bài viết này, chúng ta đã cùng nhau tìm hiểu những thuật toán quan trọng và cách triển khai một bài toán Machine Learning cơ bản.
Dù bạn mới bắt đầu hay đã có kinh nghiệm, việc hiểu rõ các bước từ thu thập dữ liệu, xử lý, lựa chọn mô hình cho đến đánh giá hiệu quả đều là nền tảng quan trọng để xây dựng những ứng dụng thành công. Hãy bắt đầu với những bài toán nhỏ, nâng cao kỹ năng của mình, và không ngừng khám phá những tiềm năng to lớn mà Machine Learning mang lại trong tương lai.
Bài viết liên quan:
- Google Colab là gì? Hướng dẫn sử dụng Google Colab cho người mới
- Jupyter Notebook là gì? Hướng dẫn cài đặt và sử dụng Jupyter Notebook
- Computer Vision là gì? Những Ứng dụng của Thị giác máy tính
- Trí tuệ nhân tạo (AI) là gì? Ứng dụng của AI trong cuộc sống
- Thuật toán là gì ? Những thuật toán phổ biến Developer nên biết
Bài viết liên quan
Retrieval-Augmented Generation (RAG) là gì? Cách hoạt động và Ứng dụng
Oct 28, 2024 • 17 min read
Whisper AI là gì? Công cụ chuyển giọng nói thành văn bản của Open AI
Oct 17, 2024 • 8 min read
Thuật toán là gì ? Những thuật toán phổ biến Developer nên biết
Oct 12, 2024 • 14 min read
Computer Vision là gì? Những Ứng dụng của Thị giác máy tính
Sep 06, 2024 • 11 min read