Professional Documents
Culture Documents
TranCaoMinh 2000004265 BaoCaoCuoiKi LapTrinhTTNT
TranCaoMinh 2000004265 BaoCaoCuoiKi LapTrinhTTNT
TranCaoMinh 2000004265 BaoCaoCuoiKi LapTrinhTTNT
Tập dữ liệu (Dataset) cung cấp 'nhiên liệu' cho các mô hình AI cũng giống như xăng
hoặc điện cho ô tô. Cho dù nhiệm vụ của chúng là tạo văn bản, nhận dạng đối tượng hay
dự đoán giá cổ phiếu của công ty, hệ thống AI đều 'học' bằng cách chọn lọc qua vô số ví
dụ để phân biệt các mẫu trong dữ liệu. Ví dụ, một hệ thống thị giác máy tính (computer
vision) có thể được đào tạo để nhận ra một số vật thể đã được 'học' trước đó,...
Dữ liệu chính là một kho tàng tài nguyên khổng lồ của doanh nghiệp. Bởi vì có quá
nhiều dữ liệu nếu như không được sắp xếp phân nhóm sẽ dễ bị mất, tốn kém nhiều thời
gian cho việc tìm kiếm hay thực hiện mã hóa Encryption và việc sử dụng sau này.
Bên cạnh đó, việc thực hiện phân loại dữ liệu giúp doanh nghiệp dễ dàng quản lý dữ liệu
tránh việc thất thoát. Từ đó tiết kiệm chi phí cho các giải pháp Data Loss Prevention
trong tương lai.
Sau đây là những lợi ích của việc phân loại dữ liệu đem lại:
- Xác định được các loại data có giá trị trong tổ chức, doanh nghiệp.
- Việc phân loại rõ ràng và cụ thể các dữ liệu sẽ giúp cho việc lựa chọn các giải
pháp bảo vệ dữ liệu nhanh chóng và phù hợp hơn
- Dữ liệu được phân loại rõ ràng sẽ giúp doanh nghiệp, tổ chức dựa vào đó để
thiết lập hệ thống phân quyền truy cập cho các cá nhân, từ đó sẽ tạo ra được hiểu
quả trong việc sử dụng dữ liệu.
- Việc tiến hành phân loại thể hiện được sự chuyên nghiệp của các tổ chức.
Doanh nghiệp trong việc bảo vệ tài nguyên dữ liệu có giá trị của khách hàng và
chính doanh nghiệp.
Ta sẽ áp dụng Định lý Bayes cho phép tính xác suất xảy ra của một sự kiện ngẫu nhiên
A khi biết sự kiện liên quan B đã xảy ra. Xác suất này được ký hiệu là P(A|B), và đọc là
“xác suất của A nếu có B”. Đại lượng này được gọi xác suất có điều kiện hay xác suất
hậu nghiệm vì nó được rút ra từ giá trị được cho của B hoặc phụ thuộc vào giá trị đó.
Tuy nhiên, ta cần lưu ý giả định của thuật toán Naive Bayes là các yếu tố đầu vào được
cho là độc lập với nhau.
PHẦN NHẬN XÉT + CHẤM ĐIỂM CỦA GIẢNG VIÊN
.......................................................................................................
.......................................................................................................
.......................................................................................................
.......................................................................................................
.......................................................................................................
.......................................................................................................
.......................................................................................................
.......................................................................................................
.......................................................................................................
.......................................................................................................
.......................................................................................................
Điểm giáo viên hướng dẫn:.....................................................................
.......................................................................................................
.......................................................................................................
Điểm giảng viên chấm vòng 2:.................................................................
.......................................................................................................
.......................................................................................................
.......................................................................................................
TPHCM, Ngày …… tháng …… năm
Giáo viên chấm vòng 2 Giáo viên hướng dẫn
MỤC LỤC
Lời cảm ơn..................................................................................................................................................i
Lời mở đầu................................................................................................................................................ii
PHẦN NHẬN XÉT + CHẤM ĐIỂM CỦA GIẢNG VIÊN...................................................................................iv
MỤC LỤC....................................................................................................................................................v
DANH MỤC HÌNH.....................................................................................................................................vii
Chương 1. Giới thiệu đề tài.......................................................................................................................1
1.1 Lý do chọn đề tài.............................................................................................................................1
1.2 Mô tả và hướng xây dựng của đề tài...............................................................................................1
1.3 Môi trường cài đặt...........................................................................................................................1
Chương 2. Lý thuyết..................................................................................................................................3
2.1 Định lý Bayes là gì............................................................................................................................3
2.1.1 Giải thích các kí hiệu trong công thức Bayes.............................................................................3
2.2 Phân lớp Naïve Bayes......................................................................................................................4
2.2.1 Cách để xây dựng mô hình phân lớp Naïve Bayes....................................................................4
2.2.2 Tập dữ liệu mẫu........................................................................................................................4
2.2.3 Tính phân lớp của mẫu A..........................................................................................................5
Chương 3. Xây dựng thuật toán phân lớp.................................................................................................7
3.1 Quy trình khai phá tri thức..............................................................................................................7
3.1.1 Phân tích mô hình.....................................................................................................................7
3.1.2 Giải thích mô hình.....................................................................................................................8
Chương 4 Dựa Trên Naïve Bayes Xây Dựng Mô Hình Machine Learning Bằng Ngôn Ngữ Python...........10
4.1 Các thư viện cần thiết....................................................................................................................10
4.1.1 Thư viện Pandas.....................................................................................................................10
4.1.2 Thư viện Scikit-learn...............................................................................................................10
4.2 Tiến hành viết lệnh........................................................................................................................10
4.3 Các bước để chạy mô hình Machine Learning trên Google Colaboratory.....................................13
Kết luận...................................................................................................................................................16
Hướng phát triển trong tương lai............................................................................................................16
Tài liệu kham khảo...................................................................................................................................17
+ Nhận diện phần tử biên (Outliers) và giảm thiểu nhiễu (Noisy data)
Nguyên nhân: (công cụ thu thập dữ liệu, lỗi trên đường truyền,
giới hạn công nghệ,
Giải pháp: Dựa trên phân bố thống kê, Dựa trên mật độ, Hồi quy,
Phân tích cụm,…
# Load file dữ liệu .csv
url='https://raw.githubusercontent.com/CaoMinhh/file-dulieu-tieuduong/main/DataTest.csv'
df = pd.read_csv(url)
- Sau đó ta đặt biến phụ thuộc (x) và biến độc lập (y)
# lấy tất cả các cột để làm biến độc lập trừ cột LuongTren_20Trieu
inputs = df.drop('LuongTren_20Trieu', axis='columns')
# Lấy cột LuongTren_20Trieu để làm biến phụ thuộc
targets = df['LuongTren_20Trieu']
- Do dữ liệu từ file csv là kiểu chuỗi nên ta tiến hành dùng hàm LabelEncoder() từ thư
viện sklearn để chúng thành số nguyên để máy tính có thể hiểu được
# Bước 2: Conver dữ liệu text sang number
# chuyển các giá trị trong data từ dữ liệu text sang number (do máy tính chỉ xử lý được data có giá trị là số)
le_Congty = LabelEncoder()
le_Congviec = LabelEncoder()
le_Bangcap = LabelEncoder()
inputs['Công ty'] = le_Congty.fit_transform(inputs['CongTy'])
inputs['Công việc'] = le_Congviec.fit_transform(inputs['CongViec'])
inputs['Bằng cấp'] = le_Bangcap.fit_transform(inputs['BangCap'])
- Lúc này trong bảng dữ liệu gốc của ta có thêm các cột giá trị vừa chuyển đổi thành số
Hình 3 Trực quan bảng dữ liệu sau khi chuyển thành số nguyên
- Ta tiến hành xoá bỏ cột có các giá trị là kiểu chuỗi bằng drop()
inputs_n = inputs.drop(['CongTy', 'CongViec', 'BangCap',],axis='columns')
print(inputs_n)
- Lúc này ta sẽ tách bảng dữ liệu thành 2 phần là train và test
- Ta sẽ lấy ra 70% của bảng dữ liệu để cho máy học và dùng 30% còn lại để kiểm tra độ
chính xác
# Bước 3: Tạo model từ cây phân loại là đưa nó vào máy học
# Tạo model và đưa nó vào máy học
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(inputs_n,targets,test_size=0.3)
from sklearn.naive_bayes import GaussianNB
# Đại diện cho Gaussian Naive Bayes
model = GaussianNB()
# Đưa dữ liệu vào model máy học dựa trên Naive Bayes
model.fit(X_train,y_train)
- Dùng model.core để đánh giá lại mô hình chính xác bao nhiêu phần trăm
# Bước 4: Đánh giá mô hình máy học
# Đánh giá độ chính xác của mô hình
doChinhXac = model.score(X_test,y_test)
# Đếm số dòng dùng để học và kiểm tra
sizeHocMay = (round(len(X_train) / len(inputs) , 2))
sizeKiemTra = (round(len(X_test) / len(inputs) , 2))
- Sau đó ta tiến hành in kết quả thu được sau khi chạy model
# Bước 5: Xuất kết quả
print(f'Từ tập dữ liệu có {len(inputs)} dòng ta lấy ra {sizeHocMay*100}% cho máy học và dùng {sizeKiemT
ra*100}% để kiểm tra')
print(f'Số dòng máy học: {len(X_train)} \nSố dòng kiểm tra: {len(X_test)} \n')
print(f'Kết quả máy dự đoán ra: \n{y_test[0:5]} \n')
print(f'Kết quả thực tế: \n{model.predict(X_test[0:5])}')
print(f'Độ chính xác của model máy học: {doChinhXac*100}% \n')
- Ví dụ khi ta khởi chạy, model sẽ trả về kết quả mà máy học được dựa trên bảng dữ liệu
giả lập mà ta đã áp vào:
Hình 4 Kết quả mà máy học được dựa trên bảng dữ liệu giả lập mà ta đã áp vào
4.3 Các bước để chạy mô hình Machine Learning trên Google Colaboratory
- Truy cập vào địa chỉ mã nguồn ở 4.1 sau đó tiến hành các bước như sau:
Bước 1: Khởi tạo thư viện và đọc file data CSV
Bước 3: Tạo model từ cây phân loại là đưa nó vào máy học
Bước 6: Xem kết quả và đánh giá độ chính xác của model máy học
Hình 10 Xem kết quả và đánh giá độ chính xác của model máy học
Kết luận
- Kết thúc khóa học hiểu được quy trình khai phá tri thức trong lĩnh vực AI nói chung và
Machine Learning và Deep Learning nói riêng
- Biết cách áp dụng toán học vào AI để khai phá tri thức từ bộ dữ liệu.
- Biết cách tổ chức dữ liệu trong quá trình khai phá tri thức
- Biết áp dụng công cụ toán học để huấn luyện cho máy học
- Có thể áp dụng được các thư viện hỗ trợ mạnh mẽ về toán học trong ngôn ngữ lập trình
Python 3