Hỗ trợ đồ án, khóa luận Web, App, AI - Uy tín, chất lượng!
Hỗ trợ đồ án, khóa luận Web, App, AI - Uy tín, chất lượng!
Trang Chủ Hướng Dẫn Đồ Án Làm đồ án AI đơn giản bằng scikit-learn
Hướng Dẫn Đồ Án

Làm đồ án AI đơn giản bằng scikit-learn

Chia sẻ
Chia sẻ

Bạn là sinh viên mới tiếp cận trí tuệ nhân tạo và cần một đề tài đơn giản để bắt đầu? Bạn muốn làm một đồ án AI thực tế, không quá khó, có dữ liệu sẵn và không cần viết quá nhiều code?

Vậy thì lựa chọn scikit-learn – một thư viện Python cực kỳ phổ biến và dễ dùng – là hướng đi rất thông minh. Trong bài viết này, bạn sẽ được hướng dẫn từng bước để làm một đồ án AI đơn giản dùng dữ liệu có sẵn, với đầy đủ pipeline: từ xử lý dữ liệu, huấn luyện mô hình, đánh giá và dự đoán.

Dự án mẫu: Dự đoán loại hoa Iris

Iris dataset là một trong những bộ dữ liệu kinh điển và dễ hiểu nhất trong học máy. Bộ dữ liệu gồm các đặc trưng về hoa như chiều dài và chiều rộng cánh, đài hoa, mục tiêu là dự đoán hoa thuộc loại nào.

Cấu trúc dữ liệu gồm:

  • sepal length (cm)

  • sepal width (cm)

  • petal length (cm)

  • petal width (cm)

  • label: loại hoa (Setosa, Versicolor, Virginica)

Bạn không cần tải từ ngoài, vì scikit-learn đã tích hợp sẵn bộ dữ liệu này.

Cài đặt thư viện

Trước khi bắt đầu, bạn hãy cài những thư viện cần thiết:

pip install scikit-learn pandas matplotlib seaborn joblib

Tạo cấu trúc thư mục gọn gàng:

iris_project/
├── train.py
├── evaluate.py
├── predict.py

Tải và xem dữ liệu

File: train.py

Trước tiên, bạn cần tải và quan sát dữ liệu Iris:

from sklearn.datasets import load_iris
import pandas as pd

# Tải dữ liệu
data = load_iris()
X = data.data
y = data.target
feature_names = data.feature_names
target_names = data.target_names

# Chuyển về DataFrame
df = pd.DataFrame(X, columns=feature_names)
df['label'] = y
print(df.head())

Sau bước này, bạn đã có dữ liệu đầy đủ để huấn luyện mô hình học máy.

Huấn luyện mô hình phân loại

Ta sẽ sử dụng mô hình K-Nearest Neighbors (KNN) – cực kỳ đơn giản và hiệu quả với dữ liệu nhỏ.

File: train.py (đưa code dưới vào cuối file này)

from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
import joblib

# Chia dữ liệu train/test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Huấn luyện mô hình
model = KNeighborsClassifier(n_neighbors=3)
model.fit(X_train, y_train)

# Lưu mô hình
joblib.dump(model, 'knn_model.pkl')
print("Đã lưu mô hình thành công!")

Sau khi chạy, file knn_model.pkl sẽ chứa mô hình đã huấn luyện – bạn có thể sử dụng để dự đoán mà không cần train lại.

Đánh giá mô hình

Mục tiêu tiếp theo là kiểm tra xem mô hình hoạt động tốt đến đâu.

File: evaluate.py

import joblib
from sklearn.metrics import classification_report, confusion_matrix
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

# Tải dữ liệu và chia lại tập test
data = load_iris()
X = data.data
y = data.target
target_names = data.target_names
_, X_test, _, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Tải mô hình
model = joblib.load('knn_model.pkl')

# Dự đoán
y_pred = model.predict(X_test)

# In báo cáo đánh giá
print("Báo cáo phân loại:\n")
print(classification_report(y_test, y_pred, target_names=target_names))

Nếu mô hình hoạt động tốt, độ chính xác sẽ trên 95% vì bộ dữ liệu khá dễ.

Dự đoán loại hoa mới

Giờ hãy viết một đoạn mã giúp bạn nhập vào thông số hoa và dự đoán kết quả.

File: predict.py

import joblib
import numpy as np

# Tải mô hình
model = joblib.load('knn_model.pkl')

# Thông số hoa mới: [sepal length, sepal width, petal length, petal width]
sample = np.array([[5.1, 3.5, 1.4, 0.2]])

# Dự đoán
pred = model.predict(sample)
target_names = ['Setosa', 'Versicolor', 'Virginica']
print(f'Loài hoa dự đoán là: {target_names[pred[0]]}')

Bạn có thể chỉnh lại đoạn nhập mẫu từ bàn phím nếu muốn ứng dụng thành giao diện hoặc chatbot.

Trực quan hóa dữ liệu

Nếu bạn muốn vẽ biểu đồ để phân tích hoặc đưa vào báo cáo, có thể dùng seaborn:

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.datasets import load_iris

# Tải dữ liệu
data = load_iris()
df = pd.DataFrame(data.data, columns=data.feature_names)
df['label'] = data.target

# Đổi nhãn số sang chữ
df['species'] = df['label'].apply(lambda x: data.target_names[x])

# Vẽ biểu đồ scatter
sns.pairplot(df, hue='species')
plt.suptitle("Trực quan hóa dữ liệu hoa Iris", y=1.02)
plt.show()

Hình ảnh scatter này giúp minh họa rõ ràng việc phân biệt các loài hoa dựa trên đặc trưng hình thái.

Gợi ý mở rộng đồ án

Để làm đồ án thú vị hơn, bạn có thể:

  • So sánh KNN với SVM, Random Forest

  • Đánh giá bằng biểu đồ confusion matrix

  • Tạo form web nhập dữ liệu và dự đoán (Streamlit, Flask)

  • Viết báo cáo giải thích mô hình, dữ liệu và cách đánh giá

  • Triển khai lên web thật bằng Flask + Render hoặc Streamlit Cloud

Kết luận

Chỉ với một bộ dữ liệu nhỏ như Iris và thư viện scikit-learn, bạn đã có thể xây dựng một đồ án AI hoàn chỉnh, gồm đầy đủ các bước từ dữ liệu đến dự đoán. Đây là đề tài lý tưởng cho sinh viên CNTT mới học AI hoặc cần đồ án cuối kỳ, báo cáo thực tập…

Bạn không cần GPU, không cần mạng nơ-ron phức tạp – chỉ cần nắm chắc tư duy và quy trình cơ bản.

Tham Gia Nhóm – Hỗ Trợ Lập Trình

Hỗ Trợ Đồ Án – ThueDoAn.vn

Liên quan
Hướng Dẫn Đồ Án

Checklist 10 bước kiểm tra cuối cùng trước khi nhấn nút nộp đồ án

Thời điểm chuẩn bị nhấn nút nộp đồ án luôn mang lại...

Hướng Dẫn Đồ Án

Tuyệt chiêu đối phó với những giảng viên hướng dẫn ‘khó tính’ nhất

Giai đoạn làm đồ án tốt nghiệp luôn đi kèm với vô...

Hướng Dẫn Đồ Án

Tại sao việc quản lý Source Code bằng Git lại quan trọng hơn bạn nghĩ?

Trong thế giới lập trình hiện đại, mã nguồn chính là linh...

Hướng Dẫn Đồ Án

Những chức năng ‘thừa’ khiến bạn tốn thời gian mà không được cộng điểm

Làm đồ án tốt nghiệp là một cuộc đua thực thụ với...

Hướng Dẫn Đồ Án

Cách xử lý khi đề tài bị trùng lặp ý tưởng với các khóa trước quá nhiều

Lựa chọn đề tài đồ án luôn là bước khởi đầu đầy...

Hướng Dẫn Đồ Án

Làm sao để giải trình với giảng viên khi code bị nghi ngờ là đi chép?

Trong quá trình thực hiện đồ án, việc tham khảo mã nguồn...

Hướng Dẫn Đồ Án

Cảnh báo: Những nguồn share code ‘rác’ trên mạng cần tuyệt đối tránh

Trong quá trình làm đồ án, việc tìm kiếm sự hỗ trợ...

Hướng Dẫn Đồ Án

Sai lầm khi chọn công nghệ quá khó so với năng lực thực tế của bản thân

Chọn đề tài và công nghệ cho đồ án luôn là bước...

Liên Hệ
Liên hệ để được tư vấn & hỗ trợ đồ án CNTT nhé bạn!