SlideShare a Scribd company logo
1 of 42
LỜI CAM ĐOAN
Em xin cam đoan: Khóa luận văn đồ án tốt nghiệp với đề tài “Nghiên cứu
thuật toán K-nearest neighbor và sử dụng iris flowers dataset đánh giá hiệu
quả thuật toán” là kết quả nghiên cứu, tìm hiểu của bản thân em từ những kiến
thức đã được thầy, cô trong Viện Kỹ thuật và Công nghệ truyền dạy trong những
năm qua và một số nguồn tài liệu khác liên quan.
Em xin chịu mọi trách nhiệm về khóa luận văn của mình!
Nghệ An, ngày 01 tháng 05 năm 2019
Sinh viên thực hiện
Phan Thị Phượng
2
MỤC LỤC
DANH MỤC TỪ VIẾT TẮT.......................................................................4
DANH MỤC BẢNG BIỂU..........................................................................5
DANH MỤC HÌNH ẢNH, ĐỒ THỊ.............................................................6
MỞ ĐẦU....................................................................................................8
1. Đặt vấn đề..........................................................................................8
2. Mục đích nghiên cứu...........................................................................9
3. Phạm vi và đối tượng nghiên cứu.........................................................9
4. Nội dung thực hiện............................................................................10
5. Cấu trúc đồ án...................................................................................10
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT............................................................11
1.1. Machine Learning..........................................................................11
1.1.1. Định nghĩa...............................................................................11
1.1.2. Một số phương thức của Machine Learning ..............................11
1.2. Bài toán phân lớp dữ liệu ...............................................................13
1.2.1. Quá trình phân lớp dữ liệu .......................................................13
CHƯƠNG 2: THUẬT TOÁN K-NEAREST NEIGHBOR ..........................15
2.1. Thuật toán k-nearest neighbor...........................................................15
2.1.1. Định nghĩa.................................................................................15
2.1.2. Quy trình làm việc của thuật toán KNN.......................................15
2.1.3. Ví dụ minh họa...........................................................................15
2.1.4. Ví dụ về Knn nhiễu ....................................................................17
2.1.5. Ưu điểm, nhược điểm của thuật toán...........................................17
2.2. Khoảng cách trong không gian vector ..............................................18
2.2.1. Định nghĩa.................................................................................18
2.2.2. Một số norm thường dùng...........................................................18
3
CHƯƠNG 3: THỬ NGHIỆM ....................................................................21
3.1. Bộ dữ liệu Iris flower dataset ............................................................21
3.1.1. Giới thiệu...................................................................................21
3.1.2. Sử dụng tập dữ liệu.....................................................................22
3.1.3. Tập dữ liệu.................................................................................23
3.2. Cài đặt.............................................................................................31
3.2.1. Cài đặt python 3.6......................................................................31
3.2.2. Thử nghiệm................................................................................36
CHƯƠNG 4: KẾT LUẬN..........................................................................41
TÀI LIỆU THAM KHẢO..........................................................................42
4
DANH MỤC TỪ VIẾT TẮT
STT Từ viết tắt Ý nghĩa
1 AI Artificial Intelligence
2 ML Machine learning
3 SVM Support Vector Machine
4 KNN K- nearest neighbor
5
DANH MỤC BẢNG BIỂU
STT Tên bảng Nội dung
1 Bảng 1 Thông tin loài hoa Setosa
2 Bảng 2 Thông tin loài hoa Versicolor
3 Bảng 3 Thông tin loài hoa virginica
6
DANH MỤC HÌNH ẢNH, ĐỒ THỊ
STT Tên hình ảnh, đồ
thị
Nội dung
1 Hình 1 Mối quan hệ giữa AI, Machine Learning
và Deep Learning
2 Hình 1.1.2 Ví dụ về mô hình phân lớp
3 Hình 2.1.3 Ví dụ minh họa thuật toán KNN
4 Hình 2.1.4 Bản đồ minh họa knn nhiễu với k=1
5 Hình 2.2.2 Norm 1 và norm 2 trong không gian hai
chiều
6 Hình 3.1.1 Hình ảnh minh họa về Iris flower dataset
7 Hình 3.1.2 Sơ đồ minh họa phân cụm của Iris flower
datasets
8 Hình 3.2.2 Mô hình bài toán
7
LỜI CẢM ƠN
Lời đầu tiên cho phép em gửi lời cảm ơn sâu sắc tới toàn thể các thầy cô
giáo trong Viện Kỹ thuật và Công nghệ – Trường Đại học Vinh, những người đã
hết mình truyền đạt và chỉ dẫn cho chúng em những kiến thức, những bài học quý
báu và bổ ích trong suốt 5 năm học vừa qua.
Để hoàn thành được đồ án này, đặc biệt em xin được bày tỏ sự tri ân và xin
chân thành cảm ơn giảng viên ThS. Nguyễn Bùi Hậu người trực tiếp hướng dẫn, chỉ
bảo em trong suốt quá trình học tập và nghiên cứu để hoàn thành đồ án này.
Sau nữa, em xin gửi tình cảm sâu sắc tới gia đình và bạn bè vì đã luôn bên
cạnh khuyến khích, động viên, giúp đỡ cả về vật chất lẫn tinh thần em trong suốt
quá trình học tập để em hoàn thành tốt công việc của mình.
Trong quá trình nghiên cứu và làm báo cáo do năng lực, kiến thức, trình độ bản
thân còn hạn hẹp nên không tránh khỏi những thiếu sót. Em kính mong nhận được
sự thông cảm và những ý kiến đóng góp của quý thầy cô và các bạn.
Em xin chân thành cảm ơn!
Nghệ An, ngày 01 tháng 05 năm 2019
Sinh viên thực hiện
Phan Thị Phượng
8
MỞ ĐẦU
1. Đặt vấn đề
Những năm gần đây, AI nổi lên như một bằng chứng của cuộc cách mạng
công nghiệp lần thứ tư. Trí tuệ nhân tạo có thể được định nghĩa như một nghành của
khoa học máy tính liên quan đến việc tự động hóa các hành vi thông minh. Trí tuệ
nhân tạo là một bộ phận của khoa học máy tính và do đó nó phải được đặt trên
những nguyên lý lý thuyết vững chắc, có khả năng ứng dụng được của lĩnh vực này.
Ở thời điểm hiện tại, thuật ngữ này thường dùng để nói đến các máy tính có mục
đích không nhất định và ngành khoa học nghiên cứu về các lý thuyết và các ứng
dụng của trí tuệ nhân tạo.
Theo đà phát triển của công nghệ, ứng dụng trí tuệ nhân tạo luôn là xu hướng
công nghệ tương lai mà các hãng công nghệ trên toàn thế giới đua nhau sáng tạo, nó
là nền tảng cốt lõi của cuốc cách mạng công nghệ 4.0.
ML (Machine Learning) là một lĩnh vực của trí tuệ nhân tạo, được sinh ra từ
khả năng nhận diện mẫu và từ lý thuyết các máy tính có thể học mà không cần phải
lập trình để xử lý các nhiệm vụ cụ thể nào đó.
Hầu hết mọi nghành công nghiệp đang làm việc với hàm lượng lớn dữ liệu
đều nhận ra tầm quan trọng của công nghệ ML. Những cái nhìn sáng suốt từ nguồn
dữ liệu này – chủ yếu dạng thời gian thực – sẽ giúp các tổ chức vận hành hiệu quả
hơn hoặc tạo lợi thế cạnh tranh so với các đối thủ.
Các ứng dụng của ML đã quá quen thuộc với con người: xe tự hành của
Google và Tesla, hệ thống tự tag khuôn mặt trên Facebook, hệ thống gợi ý sản phẩm
của Amazon, hệ thống gợi ý phim của Netflix…, chỉ là một vài trong vô vàn những
ứng dụng của trí tuệ nhân tạo và cụ thể là ML.
9
Hình 1. Mối quan hệ giữa AI, Machine Learning và Deep Learning
Xu hướng phát triển công nghệ thông tin ngày càng tăng, song song với nó
lượng dữ liệu được sinh ra cũng ngày một lớn. Vì vậy nhu cầu để xử lý dữ liệu cũng
lớn hơn, ML đang góp phần giải quyết vấn đề này. Một trong những thuật toán
thường dùng trong ML đó là thuật toán K- nearest neighbor.
Ứng dụng của thuật toán này được sử dụng rất nhiều và rộng rãi trong các bài
toán phân lớp.
2. Mục đích nghiên cứu
 Nghiên cứu, tìm hiểu thuật toán KNN.
 Đánh giá hiệu quả của thuật toán.
3. Phạm vi và đối tượng nghiên cứu
 Phạm vi nghiên cứu: Thử nghiệm trên Iris flower dataset.
 Đối tượng nghiên cứu: Thuật toán KNN và bộ Iris flower dataset.
10
4. Nội dung thực hiện
 Tìm hiểu thuật toán KNN.
 Làm quen với bộ dữ liệu Iris.
 Sử dụng bộ dữ liệu vào thử nghiệm và đánh giá.
5. Cấu trúc đồ án
 Mở đầu
 Chương 1: Cơ sở lý thuyết
 Chương 2: Thuật toán K-nearest neighbor
 Chương 3: Thử nghiệm
 Chương 4: Kết luận
11
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
1.1.Machine Learning
1.1.1. Định nghĩa
 Là một lĩnh vực của trí tuệ nhân tạo liên qua đến việc nghiên cứu và xây
dựng các kĩ thuật cho phép các hệ thống học tự động từ dữ liệu để giải quyết các vấn
đề cụ thể. Ví dụ các máy có thể học cách phân loại thư điện tử có phải thư rác hay
không và tự động sắp xếp vào các thư mục tương ứng.
 Machine Learning có liên quan đến thống kê vì cả hai lĩnh vực đều nghiên cứu
việc phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức
tạp của các giải thuật trong việc thực thi tính toán.
 Machine Learning có hiện nay được áp dụng rộng rãi bao gồm máy truy tìm dữ
liệu, máy phân tích thị trường chứng khoán, nhận dạng tiếng nói và chữ viết…
1.1.2. Một số phương thức của Machine Learning
 Học có giám sát: Thuật toán dự đoán đầu ra 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.
Học có giám sát được chia thành hai loại chính:
-Classification (phân lớp): Là quá trình phân lớp một đối tượng dữ liệu vào một hay
nhiều lớp đã cho trước nhờ một mô hình phân lớp (model). Mô hình này được xây
dựng dựa trên một tập dữ liệu được xây dựng trước đó có gán nhãn (hay còn gọi là
tập huấn luyện). Quá trình phân lớp là quá trình gán nhãn cho đối tượng dữ liệu.
12
Hình 1.1.2: Ví dụ về mô hình phân lớp
Có nhiều bài toán phân lớp như phân lớp nhị phân, phân lớp đa lớp, phân lớp đa trị.
Trong đó phân lớp nhị phân là một loại phân lớp đặc biệt của phân lớp đa lớp.
Ứng dụng của bài toán phân lớp được sử dụng rất nhiều và rộng rãi như nhận dạng
khuôn mặt, nhận dạng chữ viết, nhận dạng giọng nói, phát hiện thư rác…
-Regression (hồi quy): Nếu không được chia thành các nhóm mà là một giá trị thực
cụ thể. Đầu ra của một điểm dữ liệu sẽ bằng chính đầu ra của điểm dữ liệu đã biết.
 Học không giám sát: là một kĩ thuật của máy học nhằm tìm ra một mô hình
hay cấu trúc bị ẩn bơi tập dữ liệu không được gán nhãn cho trước. UL khác với SL
là không thể xác định trước output từ tập dữ liệu huấn luyện được. Tùy thuộc vào
tập huấn luyện kết quả output sẽ khác nhau. Trái ngược với SL, tập dữ liệu huấn
luyện của UL không do con người gán nhãn, máy tính sẽ phải tự học hoàn toàn.
Có thể nói, học không giám sát thì giá trị đầu ra sẽ phụ thuộc vào thuật toán UL.
Ứng dụng lớn phổ biến của học không giám sát là bài toán phân cụm.
13
 Học bán giám sát: Các bài toán khi có một số lượng lớn dữ liệu nhưng chỉ một
phần trong chúng được dán nhãn. Những bài toán này nằm giữa phương thưc học
giám sát và học không giám sát.
1.2. Bài toán phân lớp dữ liệu
1.2.1. Quá trình phân lớp dữ liệu
Để xây dựng được mô hình phân lớp và đánh giá hiệu quả của mô hình cần phải
thực hiện quá trình sau đây:
 Bước 1: Chuẩn bị tập dữ liệu huấn luyện và rút trích đặc trưng.
Công đoạn này được xem là công đoạn quan trọng trong các bài toán về ML. vì
đây là input cho việc học đẻ tìm ra mô hình của bài toán. Chúng ta phải biết cần
chọn ra những đặc trưng tốt của dữ liệu, lược bỏ những đặc trưng không tốt của dữ
liệu, gây nhiễu. Ước lượng số chiều của dữ liệu bao nhiêu là tốt hay nói cách khác là
chọn bao nhiêu feature. Nếu số nhiều quá lớn gây khó khăn cho việc tính toán thì
phải giảm số chiều của dữ liệu nhưng vẫn giữ được độ chính xác của dữ liệu.
Ở bước này chúng ta cũng chuẩn bị bộ dữ liệu để test trên mô hình.
Thông thường sẽ sử dụng cross-validation (kiểm tra chéo) để chia tập dataset thành
hai phàn, một phần phục vụ cho training và phần còn lại phục vụ cho mục đích
testing trên mô hình. Có hai cách thường sử dụng trong cross-validation là splitting
và k-fold.
 Bước 2: Xây dựng mô hình phân lớp
Mục đích của mô hình huấn luyện là tìm ra hàm F(x) và thông qua hàm f tìm
được để chúng ta gán nhãn cho dữ liệu. Bước này thường được gọi là học hay
training.
F(x)= y
Trong đó: x là các feature hay input đầu vào của dữ liệu
Y là nhãn dán lớp hay output đầu ra
Thông thường để xây dựng mô hình phân lớp cho bài toán này chúng ta sử
dungjcacs thuật toán học giám sát như KNN, NN, SVM, Decision tree, Navie
Bayers.
 Bước 3: Kiểm tra dữ liệu với mô hình
14
Sau khi tìm được mô hình phân lớp ở bước hai, thì bước này chúng ta sẽ đưa
vào các dữ liệu mới đẻ kiểm tra trên mô hình phân lớp.
 Bước 4: Đánh giá mô hình phân lớp và chọn ra mô hình tốt nhất
Bước cuối cùng chúng ta sẽ đánh giá mô hình bằng cách đánh giá mức độ lỗi
của dữ liệu testing và dữ liệu training thông qua mô hình tìm được. Nếu không đạt
được kết quả mong muốn của chúng ta thì phải thay đổi các tham số của thuật toán
học để tìm ra các mô hình tốt hơn và kiểm tra, đánh giá lại mô hình phân lớp. và
cuối cùng chọn ra mô hình phân lớp tốt nhất cho bài toán của chúng ta.
15
CHƯƠNG 2: THUẬT TOÁN K-NEAREST NEIGHBOR
2.1. Thuật toán k-nearest neighbor
2.1.1. Định nghĩa
K-nearest neighbor (KNN) là một trong những thuật toán học có giám sát đơn
giản nhất trong Machine Learning. Ý tưởng của KNN là tìm ra output của dữ kiệu
dựa trên thông tin của những dữ liệu training gần nó nhất.
2.1.2. Quy trình làm việc của thuật toán KNN
 Bước 1: xác định tham số K= số láng giềng gần nhất.
 Bước 2: tính khoảng cách đối tượng cần phân lớp với tất cả các đối tượng trong
training data.
 Bước 3: sắp xếp khoảng cách theo thứ tự tăng dần và xác định K láng giềng gần
nhất với đối tượng cần phân lớp
 Bước 4: lấy tất cả các lớp của K láng giềng gần nhất.
 Bước 5: dựa vào phần lớn lớp của K để xác định lớp cho đối tượng cần phân lớp.
2.1.3. Ví dụ minh họa
Hình 2.1.3. ví dụ minh họa thuật toán KNN
16
Giả sử bài toán được đặt ra: mình mới quen một người bạn, tuy nhiên mình là
fan của Us-Uk vậy nên mình cần biết người bạn này có phải là fan của K-Pop hay
không. Qua thời gian tìm hiểu mình đã thu thập được một số dữ liệu và đã biểu hiện
dưới dạng hình vẽ trên.
Ta dễ dàng nhìn thấy có hai loại: hình vuông màu xanh biểu diễn cho những
người là fan của K-pop, tam giác màu đỏ biểu diễn cho những người không là fan
của K-pop, hình tròn màu xanh là người bạn mình muốn biết có phải là fan K-pop
hay không, khoảng cách giữa chấm tròn và các điểm còn lại biểu diễn độ thân thiết
của bạn đó với những người bạn.
Phương pháp đơn giản nhất để kiểm tra xem bạn đó chơi thân với người bạn
nào nhất, tức là tìm xem điểm gần chấm xanh thuộc class nào (hình vuông hay tam
giác). Từ hình trên ta dễ dàng nhận thấy điểm gần chấm xanh nhất là hình tam giác
màu đỏ, do đó nó sẽ được phân vào lớp tam giác màu đỏ.
Có một vấn đề trong phương pháp trên, xung quanh cấm xanh xuất hiện rất
nhiều hình vuông màu xanh nên việc xét điểm gần nhất là chưa khả thi. Vì vậy, ta sẽ
xét k điểm gần nhất. Giả sử, ta lấy K=3, dựa theo hình trên ta dễ dàng nhận ra có hai
hình tam giác đỏ và một hình vuông xanh có khoảng cách gần chấm xanh nhất, do
đó chấm xanh được phân vào lớp tam giác đỏ. Lấy K=7, ta có năm hình vuông xanh
và hai hình tam giác đỏ, lúc này chấm xanh được xếp vào lớp hình vuông xanh.
Trường hợp lấy K=4, ta nhận thấy sẽ có hai hình vuông xanh và hai hình tam giác
đỏ, đây là trường hợp có điểm bằng nhau, với trường hợp này KNN sẽ xử lý bằng
cách so sánh tổng khoảng cách của các hình gần nhất với điểm ta đang xét.
Do xuất hiện trường hợp có điểm bằng nhau, vì vậy người ta thường chọn k là số lẻ.
Đó cũng là ý tưởng của KNN.
17
2.1.4. Ví dụ về Knn nhiễu
Hình 2.1.4. Bản đồ minh họa knn nhiễu với k=1
Hình trên là bài toán phân lớp với ba lớp: đỏ, lam, lục. Mỗi điểm dữ liệu mới
sẽ được gán nhãn theo màu của điểm đó mà nó thuộc về. Trong hình này, chú ý
vùng khoanh tròn màu vàng, ta nhận thấy rằng điểm màu lục nằm giữa hai vùng lớn
với nhiều dữ liệu đỏ và lam, điểm này rất có thể là nhiễu dẫn đến việc dữ liệu test
nếu rơi vào vùng này sẽ có nhiều khả năng cho kết quả sai lệch.
2.1.5. Ưu điểm, nhược điểm của thuật toán
 Ưu điểm:
- Dễ sử dụng và cài đặt.
- Việc dự đoán kết quả của dữ liệu mới dễ dàng.
- Độ phức tạp tính toán nhỏ.
 Nhược điểm:
- KNN nhiễu dễ đưa ra kết quả không chính xác khi k nhỏ.
- Cần thời gian lưu training set, khi dữ liệu training và test tăng lên nhiều sẽ
mất nhiều thời gian tính toán.
18
2.2. Khoảng cách trong không gian vector
Trong không gian một chiều, việc đo khoảng cách giữa hai điểm đã rất quen
thuộc: lấy trị tuyệt đối của hiệu giữa hai giá trị đó. Trong không gian hai chiều, tức
mặt phẳng, chúng ta thường dùng khoảng cách Euclid để đo khoảng cách giữa hai
điểm.
Việc đo khoảng cách giữa hai điểm dữ liệu nhiều chiều, tức hai vector, là rất
cần thiết trong Machine Learning. Chúng ta cần đánh giá xem điểm nào là điểm gần
nhất của một điểm khác; chúng ta cũng cần đánh giá xem độ chính xác của việc ước
lượng; và trong rất nhiều ví dụ khác nữa.
Và đó chính là lý do mà khái niệm norm ra đời. Có nhiều loại norm khác
nhau mà các bạn sẽ thấy ở dưới đây:
Để xác định khoảng cách giữa hai vector y và z, người ta thường áp dụng một
hàm số lên vector hiệu x = y−z. Một hàm số được dùng để đo các vector cần có một
vài tính chất đặc biệt.
2.2.1. Định nghĩa
Một hàm số f () ánh xạ một điểm x từ không gian nn chiều sang tập số thực một
chiều được gọi là norm nếu nó thỏa mãn ba điều kiện sau đây:
- F(x) >= 0. Dấu bằng xảy ra  x = 0.
- F(αx) = |α|f(x), ∀α € R.
- F(x1) +f(x2) >= f (x1 + x2), ∀x1, x2 € R
2.2.2. Một số norm thường dùng
Giả sử các vector x = [x1; x2…xn], y = [y1; y2…yn].
Nhận thấy khoảng cách Euclid chính là một norm, norm mày thường được gọi là
norm 2:
(1)
19
Với p là một số không nhỏ hơn 1 bất kỳ, hàm số sau đây:
(2)
Được chứng minh thỏa mãn ba ddieuf kiện trên, và được gọi là norm p.
Nhận thấy rằng khi p→0 thì biểu thức bên trên trở thành số các phần tử khác 0
của x. Hàm số (2) khi p=0 được gọi là giả chuẩn (pseudo-norm) 0. Nó không phải là
norm vì nó không thỏa mãn điều kiện 2 và 3 của norm. Giả-chuẩn này, thường được
ký hiệu là ||x||0, khá quan trọng trong ML vì trong nhiều bài toán, chúng ta cần có
ràng buộc “sparse”, tức số lượng thành phần “active” của x là nhỏ.
Có một vài giá trị của p thường được dùng:
- Khi p = 2 chúng ta có norm2 như ở trên.
- Khi p = 1 chúng ta có:
||x||1 = |x1| + |x2| + |x3| +…|xn| (3)
Là tổng các giá trị tuyệt đối của từng phần tử của x. Norm 1 thường được dùng như
sấp xỉ của norm 0 trong các bài toán có ràng buộc. Dưới đây là một ví dụ so sánh
norm 1 và norm 2 trong không gian hai chiều:
Hình 2.2.2. Norm 1 và norm 2 trong không gian hai chiều
20
Norm 2 (màu xanh) chính là đường chim bay nối giữa vector x và vector y. Khoảng
cách norm 1 giữa hai điểm này (màu đỏ) có thể diễn giải như là đường đi từ x đến y
trong một thành phố mà thành phố được tạo hình bàn cờ, chúng ta chỉ có thể đi theo
dọc bàn cờ chứ không thể đi theo đường thẳng.
Khi p -> ∞, ta có norm p chính là trị tuyệt đối của phần tử lớn nhất của
vector đó:
(4)
21
CHƯƠNG 3: THỬ NGHIỆM
3.1. Bộ dữ liệuIris flower dataset
3.1.1. Giới thiệu
Tập dữ liệu hoa Iris hoặc tập dữ liệu Iris của Fisher là tập dữ liệu đa biến được
giới thiệu bởi nhà thống kê và nhà sinh vật học người Anh Ronald Fisher trong bài
báo năm 1936 Việc sử dụng nhiều phép đo trong các vấn đề phân loại như một ví dụ
về phân tích phân biệt tuyến tính. Đôi khi nó được gọi là tập dữ liệu Iris của
Anderson vì Edgar Anderson đã thu thập dữ liệu để định lượng sự biến đổi hình thái
của hoa Iris của ba loài liên quan. Hai trong số ba loài được thu thập ở Bán đảo
Gaspé "tất cả từ cùng một đồng cỏ, và được chọn vào cùng một ngày và được đo
cùng lúc bởi cùng một người với cùng một bộ máy".
Bộ dữ liệu bao gồm 50 mẫu từ mỗi ba loài Iris (Iris setosa, Iris virginica và Iris
Verscolor). Bốn đặc điểm được đo từ mỗi mẫu: chiều dài và chiều rộng của đài hoa,
chiều dài và chiều rộng cánh hoa, tính bằng centimet. Dựa trên sự kết hợp của bốn
tính năng này, Fisher đã phát triển một mô hình phân biệt tuyến tính để phân biệt
các loài với nhau.
Hình 3.1.1. Hình ảnh minh họa về Iris flower dataset
22
3.1.2. Sử dụng tập dữ liệu
Dựa trên mô hình phân biệt tuyến tính của Fisher, bộ dữ liệu này đã trở thành
trường hợp thử nghiệm điển hình cho nhiều kỹ thuật phân loại thống kê trong học
máy như máy vector hỗ trợ.
Tuy nhiên, việc sử dụng tập dữ liệu này trong phân tích cụm không phổ biến, vì
tập dữ liệu chỉ chứa hai cụm có sự phân tách khá rõ ràng. Một trong những cụm
chứa Iris setosa, trong khi cụm còn lại chứa cả Iris virginica và Iris Versolor và
không thể tách rời nếu không có thông tin về loài mà Fisher sử dụng. Điều này làm
cho dữ liệu trở thành một ví dụ tốt để giải thích sự khác biệt giữa các kỹ thuật được
giám sát và không giám sát trong khai thác dữ liệu: Mô hình phân biệt tuyến tính
của Fisher chỉ có thể thu được khi biết các loài đối tượng: nhãn lớp và cụm không
nhất thiết giống nhau.
Tuy nhiên, cả ba loài Iris đều có thể tách rời trong hình chiếu trên thành phần
chính phân nhánh phi tuyến. Tập dữ liệu được xấp xỉ bởi cây gần nhất với một số
hình phạt cho số lượng nút, uốn cong và kéo dài quá mức. Các điểm dữ liệu được
chiếu vào nút gần nhất. Đối với mỗi nút, sơ đồ hình tròn của các điểm được chiếu
được chuẩn bị. Diện tích của chiếc bánh tỷ lệ thuận với số lượng điểm được chiếu.
Rõ ràng từ sơ đồ (bên dưới) rằng phần lớn tuyệt đối các mẫu của các loài Iris khác
nhau thuộc về các nút khác nhau. Chỉ một phần nhỏ Iris-virginica được trộn với Iris-
Versolor (các nút màu xanh lam hỗn hợp trong sơ đồ). Do đó, ba loài Iris (Iris
setosa, Iris virginica và Iris Verscolor) có thể được phân tách bằng các thủ tục không
giám sát trong phân tích thành phần chính phi tuyến. Để phân biệt chúng, chỉ cần
chọn các nút tương ứng trên cây chính.
23
Hình 3.1.2. Sơ đồ minh họa phân cụm của Iris flower datasets
3.1.3. Tập dữ liệu
Bộ dữ liệu chứa một bộ 150 bản ghi bao gồm các thuộc tính – chiều dài và chiều
rộng của đài hoa, chiều dài và chiều rộng của cánh hoa.
Bảng 1: Thông tin loài Setosa
Thứ tự Chiều dài đài
hoa
Chiều rộng đài
hoa
Chiều dài
cánh hoa
Chiều rộng
cánh hoa
1 5.1 3.5 1.4 0.2
2 4.9 3.0 1.4 0.2
3 4.7 3.2 1.3 0.2
4 4.6 3.1 1.5 0.2
5 5.0 3.6 1.4 0.3
6 5.4 3.9 1.7 0.4
24
7 4.6 3.4 1.4 0.3
8 5.0 3.4 1.5 0.2
9 4.4 2.9 1.4 0.2
10 4.9 3.1 1.5 0.1
11 5.4 3.7 1.5 0.2
12 4.8 3.4 1.6 0.2
13 4.8 3.0 1.4 0.1
14 4.3 3.0 1.1 0.1
15 5.8 4.0 1.2 0.2
16 5.7 4.4 1.5 0.4
17 5.4 3.9 1.3 0.4
18 5.1 3.5 1.4 0.3
19 5.7 3.8 1.7 0.3
20 5.1 3.8 1.5 0.3
21 5.4 3.4 1.7 0.2
22 5.1 3.7 1.5 0.4
23 4.6 3.6 1.0 0.2
24 5.1 3.3 1.7 0.5
25 4.8 3.4 1.9 0.2
26 5.0 3.0 1.6 0.2
27 5.0 3.4 1.6 0.4
28 5.2 3.5 1.5 0.2
25
29 5.2 3.4 1.4 0.2
30 4.7 3.2 1.6 0.2
31 4.8 3.1 1.6 0.2
32 5.4 3.4 1.5 0.4
33 5.2 4.1 1.5 0.1
34 5.5 4.2 1.4 0.2
35 4.9 3.1 1.5 0.2
36 5.0 3.2 1.2 0.2
37 5.5 3.5 1.3 0.2
38 4.9 3.6 1.4 0.1
39 4.4 3.0 1.3 0.2
40 5.1 3.4 1.5 0.2
41 5.0 3.5 1.3 0.3
42 4.5 2.3 1.3 0.3
43 4.4 3.2 1.3 0.2
44 5.0 3.5 1.6 0.6
45 5.1 3.8 1.9 0.4
46 4.8 3.0 1.4 0.3
47 5.1 3.8 1.6 0.2
48 4.6 3.2 1.4 0.2
49 5.3 3.7 1.5 0.2
50 5.0 3.3 1.4 0.2
26
Bảng 2: Thông tin loài Versicolor
Thứ tự Chiều dài đài
hoa
Chiều rộng đài
hoa
Chiều dài
cánh hoa
Chiều rộng
cánh hoa
1 7.0 3.2 4.7 1.4
2 6.4 3.2 4.5 1.5
3 6.9 3.1 4.9 1.5
4 5.5 2.3 4.0 1.3
5 6.5 2.8 4.6 1.5
6 5.7 2.8 4.5 1.3
7 6.3 3.3 4.7 1.6
8 4.9 2.4 3.3 1.0
9 6.6 2.9 4.6 1.3
10 5.2 2.7 3.9 1.4
11 5.0 2.0 3.5 1.0
12 5.9 3.0 4.2 1.5
13 6.0 2.2 4.0 1.0
14 6.1 2.9 4.7 1.4
15 5.6 2.9 3.6 1.3
16 6.7 3.1 4.4 1.4
17 5.6 3.0 4.5 1.5
18 5.8 2.7 4.1 1.0
27
19 6.2 2.2 4.5 1.5
20 5.6 2.5 3.9 1.1
21 5.9 3.2 4.8 1.8
22 6.1 2.8 4.0 1.3
23 6.3 2.5 4.9 1.5
24 6.1 2.8 4.7 1.2
25 6.4 2.9 4.3 1.3
26 6.6 3.0 4.4 1.4
27 6.8 2.8 4.8 1.4
28 6.7 3.0 5.0 1.7
29 6.0 2.9 4.5 1.5
30 5.7 2.6 3.5 1.0
31 5.5 2.4 3.8 1.1
32 5.5 2.4 3.7 1.0
33 5.8 2.7 3.9 1.2
34 6.0 2.7 5.1 1.6
35 5.4 3.0 4.5 1.5
36 6.0 3.4 4.5 1.6
37 6.7 3.1 4.7 1.5
38 6.3 2.3 4.4 1.3
39 5.6 3.0 4.1 1.3
40 5.5 2.5 4.0 1.3
28
41 5.5 2.6 4.4 1.2
42 6.1 3.0 4.6 1.4
43 5.8 2.6 4.0 1.2
44 5.0 2.3 3.3 1.0
45 5.6 2.7 4.2 1.3
46 5.7 3.0 4.2 1.2
47 5.7 2.9 4.2 1.3
48 6.2 2.9 4.3 1.3
49 5.1 2.5 3.0 1.1
50 5.7 2.8 4.1 1.3
Bảng 3: Thông tin loài Virginica
Thứ tự Chiều dài đài
hoa
Chiều rộng
đài hoa
Chiều dài cánh
hoa
Chiều rộng
cánh hoa
1 6.3 3.3 6.0 2.5
2 5.8 2.7 5.1 1.9
3 7.1 3.0 5.9 2.1
4 6.3 2.9 5.6 1.8
5 6.5 3.0 5.8 2.2
6 7.6 3.0 6.6 2.1
29
7 4.9 2.5 4.5 1.7
8 7.3 2.9 6.3 1.8
9 6.7 2.5 5.8 1.8
10 7.2 3.6 6.1 2.5
11 6.5 3.2 5.1 2.0
12 6.4 2.7 5.3 1.9
13 6.8 3.0 5.5 2.1
14 5.7 2.5 5.0 2.0
15 5.8 2.8 5.1 2.4
16 6.4 3.2 5.3 2.3
17 6.5 3.0 5.5 1.8
18 7.7 3.8 6.7 2.2
19 7.7 2.6 6.9 2.3
20 6.0 2.2 5.0 1.5
21 6.9 3.2 5.7 2.3
22 5.6 2.8 4.9 2.0
23 7.7 2.8 6.7 2.0
24 6.3 2.7 4.9 1.8
25 6.7 3.3 5.7 2.1
26 7.2 3.2 6.0 1.8
27 6.2 2.8 4.8 1.8
28 6.1 3.0 4.9 1.8
30
29 6.4 2.8 5.6 2.1
30 7.2 3.0 5.8 1.6
31 7.4 2.8 6.1 1.9
32 7.9 3.8 6.4 2.0
33 6.4 2.8 5.6 2.2
34 6.3 2.8 5.1 1.5
35 6.1 2.6 5.6 1.4
36 7.7 3.0 6.1 2.3
37 6.3 3.4 5.6 2.4
38 6.4 3.1 5.5 1.8
39 6.0 3.0 4.8 1.8
40 6.9 3.1 5.4 2.1
41 6.7 3.1 5.6 2.4
42 6.9 3.1 5.1 2.3
43 5.8 2.7 5.1 1.9
44 6.8 3.2 5.9 2.3
45 6.7 3.3 5.7 2.5
46 6.7 3.0 5.2 2.3
47 6.3 2.5 5.0 1.9
48 6.5 3.0 5.2 2.0
49 6.2 3.4 5.4 2.3
50 5.9 3.0 5.1 1.8
31
3.2. Cài đặt
3.2.1. Cài đặt python 3.6
Tải python tại đây: https://www.python.org/downloads/
Xuất hiện trang như hình dưới: Nhấp chuột vào dowload và chọn window.
Lúc đó xuất hiện trang có chứa các phiên bản của Python, vì cài đặt Python 3.6 nên
ta tìm phiên bản 3.6 rồi tải về. Ví dụ hình dưới tôi chọn phiên bản 3.6.2.
32
Khi tải về hoàn tất ta bắt đầu tiến hành cài đặt:
Nhấp đúp vào tệp vừa tải về đẻ cài đặt. Tại đây có hai lựa chọn:
- Install now: Mặc định cài python vào ổ C, cài sẵn IDLE, pip và tài liệu…
- Customize installation: cho phép chọn cài đặt và tính năng cần thiết.
Khi đã cài đặt xong, mở IDLE để chạy thử một đoạn code như sau:
33
Ok. Như vậy đã hoàn thành xong việc cài đặt python, việc còn lại của chúng ta là cài
đặt những thư viện cần thiết để hỗ trợ cho bài toán.
Ở đây, bài toán chúng ta cần các thư viện sau: numpy, matplotlib, sklearn.
Sử dụng cmd để cài đặt:
- Nếu pip của bạn chưa có sẵn gói thì ta phải cài đặt cho nó, ta thực hiện như sau:
- Sau khi cài đặt thành công gói pip ta tiếp tục cài đặt thư viện numpy:
34
- Cài đặt thư viện matplotlib:
- Cuối cùng ta cài đặt thư viện sklearn:
35
Như vậy là đã hoàn thành cài đặt các thư viện hỗ trợ cho python cũng như bài toán.
Một điều lưu ý ở đây, trong thư viện sklearn nó có chứa bộ dữ liệu Iris flower
dataset nên khi cần sử dụng bộ dữ liệu này ta không cần phải dowload về nữa.
Tìm hiểu một chút về thư viện Sklearn:
Sklearn là thư viện phổ biến nhất của python. Nó viết sẵn các thuật toán phức tạp,
bạn chỉ cần nhét dữ liệu vào và chờ nó tính toán rồi lấy kết quả.
Ví dụ muốn tìm hiểu xem python đang dùng thuộc phiên bản nào vào thư viện
sklearn thuộc phiên bản nào thì ta chỉ cần kiểm tra như sau:
36
Kết quả nhận được:
Ngoài ra thư viện sklearn có sẵn các bộ dữ liệu thường được dùng trong nghiên cứu:
iris, files, digits, boston, same_images…
3.2.2. Thử nghiệm
Hình 3.2.2. Mô hình bài toán
Trong phần này, chúng ta sẽ tách 150 dữ liệu trong Iris flower dataset ra
thành hai phần, gọi là training set và test set. Thuật toán sẽ dựa vào thông tin ở
training set để dự đoán xem mỗi dữ liệu trong test set tương ứng với loại hoa nào.
Dữ liệu được chuẩn đoán này sẽ được đối chiếu với loại hoa thật của mỗi dữ liệu
trong test set để đánh giá hiệu quả của KNN.
Dữ liệu
Training set
Test set
K-nearest
neighbor
Tập dự
đoán
37
- Bước 1: Khai báo các thư viện cần thiết
- Bước 2: Load dữ liệu và hiện thị vài dữ liệu mẫu
Kết quả nhận được:
38
- Bước 3: Tách training set và test set:
Giả sử chúng ta muốn dùng 50 điểm dữ liệu cho test set và 100 điểm còn lại cho
training set. Thư viện sklearn có một hàm số cho phép chúng ta ngẫu nhiên lựa
chọn:
Kết quả nhận được:
39
- Bước 4: KNN dự đoán
Xét trường hớp K=1, tức là với mỗi điểm dữ liệu test ta chỉ xét 1 điểm dữ liệu
training gần nhất và lấy nhãn cả điểm đó để dự đoán cho điểm dữ liệu test.
Kết quả nhận được:
Kết quả cho thấy nhãn dự đoán gần giống với label thật của dữ liệu test, chỉ có 2
trong số 20 điểm được hiển thị có kết quả sai lệch.
- Bước 5: Đánh giá
Để đánh giá độ chính xác của thuật toán KNN, chúng ta xem có bao nhiêu điểm
trong dữ liệu test được dự đoán đúng. Lấy số lượng đó chia cho tổng số lượng trong
tập dữ liệu test sẽ ra độ chính xác. Thư viện sklearn cung cấp cho ta hàm số
accuracy_score để thực hiện công việc này.
Kết quả nhận được:
40
Với K=1 đã cho ra kết quả 96%. Nhận thấy rằng nếu chỉ xét 1 điểm gần nhất có thể
dẫn đến kết quả sai nếu điểm đó là nhiễu. Vậy nên ta thử xét với K=9 thì kết quả sẽ
như thế nào?
Kết quả nhận được:
Kết quả đã tăng lên 98%.
Như vậy chúng ta đã giải quyết được bài toán đặt ra với kết quả thu được gần
như hoàn hảo.
Trong kỹ thuật majoring voting trên, mỗi trong 9 điểm gần nhất được xem có
vai trò và giá trị phiếu như nhau. Xét trên thực tế điều này là không đúng, vì rõ ràng
những điểm gần hơn sẽ phải có trọng số cao hơn. Vậy nên ta sẽ đánh trọng số khác
nhau cho 9 điểm đang xét nhưng phải thỏa mãn điều kiện điểm gần test data thì phải
có trọng số càng cao.
Với giá trị mặc định weights=” uniform” tương ứng với các điểm lân cận có
giá trị như nhau, ta gán giá trị của weights=” distance” lúc đó các điểm gần với test
data sẽ có trọng số cao hơn:
Kết quả sau khi đánh trọng số:
Kết quả nhận được không thay đổi!
41
CHƯƠNG 4: KẾT LUẬN
Trong quá trình thực hiện đồ án tốt nghiệp, em đã cố gắng hết sức để tìm hiểu
và học hỏi nhưng vì khả năng còn giới hạn không tránh khỏi những sai sót, nên có
theerchuwa giải quyết được tất cả những vấn đề, đặt ra. Em rất mong nhận được sự
thông cảm của quý thầy cô và các bạn. Em xin chân thành cảm ơn.
Những kết quả đạt được:
- Sự hiểu biết về thuật toán KNN cơ bản tương đối tốt.
- Làm quen với Iris flower dataset.
- Từ những gì đã làm được, từ đó hiểu biết thêm về AI, ứng dụng của của ML
vào đời sống công nghệ hiện đại.
- Làm quen ngôn ngữ lập trình Python
Những hạn chế:
- Thuật toán phụ thuộc nhiều vào hệ số K.
- Kết quả đưa ra có sự thay đổi (vì các điểm xét lấy ngẫu nhiên).
- Chưa thự sự hiểu hết về bài toán.
42
TÀI LIỆU THAM KHẢO
[1] https://machinelearningcoban.com/2017/01/08/knn/
[2] https://en.wikipedia.org/wiki/Iris_flower_data_set
[3] https://machinelearningcoban.com/
[4] https://vi.wikipedia.org/wiki/Hoc_máy
[5] Vũ Hữu Tiệp, Machine Learning cơ bản, NXB Khoa Học Và Kỹ Thuật, 2018.

More Related Content

What's hot

Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuThiênĐàng CôngDân
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngNguyễn Danh Thanh
 
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựXây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựAskSock Ngô Quang Đạo
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...The Boss
 
Thuật toán mã hóa rsa
Thuật toán mã hóa rsaThuật toán mã hóa rsa
Thuật toán mã hóa rsaBảo Điệp
 
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGPHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGThùy Linh
 
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...Dịch vụ Làm Luận Văn 0936885877
 
Giáo trình xử lý ảnh
Giáo trình xử lý ảnhGiáo trình xử lý ảnh
Giáo trình xử lý ảnhTùng Trần
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinVõ Phúc
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Nguyễn Công Hoàng
 
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNHBÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNHHoà Đoàn
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên nataliej4
 
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTSlide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTHiệu Nguyễn
 
Slide đồ án tốt nghiệp
Slide đồ án tốt nghiệpSlide đồ án tốt nghiệp
Slide đồ án tốt nghiệpToan Pham
 

What's hot (20)

Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tu
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
 
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựXây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
 
Đề tài: Xây dựng hệ thống Chatbots tự động, HAY, 9đ
Đề tài: Xây dựng hệ thống Chatbots tự động, HAY, 9đĐề tài: Xây dựng hệ thống Chatbots tự động, HAY, 9đ
Đề tài: Xây dựng hệ thống Chatbots tự động, HAY, 9đ
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
 
Thuật toán mã hóa rsa
Thuật toán mã hóa rsaThuật toán mã hóa rsa
Thuật toán mã hóa rsa
 
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGPHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
 
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
 
Thuật toán K mean
Thuật toán K meanThuật toán K mean
Thuật toán K mean
 
Giáo trình xử lý ảnh
Giáo trình xử lý ảnhGiáo trình xử lý ảnh
Giáo trình xử lý ảnh
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
 
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNHBÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
 
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAYLuận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
 
Luận văn: Nghiên cứu hệ thống trợ lý thông minh ảo, HAY
Luận văn: Nghiên cứu hệ thống trợ lý thông minh ảo, HAYLuận văn: Nghiên cứu hệ thống trợ lý thông minh ảo, HAY
Luận văn: Nghiên cứu hệ thống trợ lý thông minh ảo, HAY
 
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTSlide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
 
Luận văn: Nhận dạng cảm xúc khuôn mặt người, HAY, 9đ
Luận văn: Nhận dạng cảm xúc khuôn mặt người, HAY, 9đLuận văn: Nhận dạng cảm xúc khuôn mặt người, HAY, 9đ
Luận văn: Nhận dạng cảm xúc khuôn mặt người, HAY, 9đ
 
Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN
Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SENĐề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN
Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN
 
Slide đồ án tốt nghiệp
Slide đồ án tốt nghiệpSlide đồ án tốt nghiệp
Slide đồ án tốt nghiệp
 

Similar to Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ

Phân tích mã độc cơ bản - báo cáo thực tập
Phân tích mã độc cơ bản - báo cáo thực tậpPhân tích mã độc cơ bản - báo cáo thực tập
Phân tích mã độc cơ bản - báo cáo thực tậpPhạm Trung Đức
 
Đồ Án Lý Thuyết Ứng Dụng Công Nghệ Thông Tin Nhóm 4
Đồ Án Lý Thuyết Ứng Dụng Công Nghệ Thông Tin Nhóm 4Đồ Án Lý Thuyết Ứng Dụng Công Nghệ Thông Tin Nhóm 4
Đồ Án Lý Thuyết Ứng Dụng Công Nghệ Thông Tin Nhóm 4Ngọc Nga
 
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...jackjohn45
 
Udcnttk2 nhóm 2 đồ án lý thuyết
Udcnttk2 nhóm 2 đồ án lý thuyếtUdcnttk2 nhóm 2 đồ án lý thuyết
Udcnttk2 nhóm 2 đồ án lý thuyếtmrnxthanh
 
thuật toán c45
thuật toán c45thuật toán c45
thuật toán c45duy10882002
 
dạy học hệ thức lượng trong tam giác theo các bước khảo sát toán học.pdf
dạy học hệ thức lượng trong tam giác theo các bước khảo sát toán học.pdfdạy học hệ thức lượng trong tam giác theo các bước khảo sát toán học.pdf
dạy học hệ thức lượng trong tam giác theo các bước khảo sát toán học.pdfSngNguyn718617
 
Demo_chưa sửa hết.pdf
Demo_chưa sửa hết.pdfDemo_chưa sửa hết.pdf
Demo_chưa sửa hết.pdfOanhVThKiu1
 
Nvsp k2-357 nhom2-tu-nghien-cuu
Nvsp k2-357 nhom2-tu-nghien-cuuNvsp k2-357 nhom2-tu-nghien-cuu
Nvsp k2-357 nhom2-tu-nghien-cuuHa Pc
 
Do an ly thuyet nhóm 06
Do an ly thuyet nhóm 06Do an ly thuyet nhóm 06
Do an ly thuyet nhóm 06an902000
 
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng pythonBáo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng pythonjackjohn45
 
Mô hình arima
Mô hình arimaMô hình arima
Mô hình arimaBinh Minh
 
Do an lythuyet
Do an lythuyetDo an lythuyet
Do an lythuyetPhan_Oanh
 
Udcnttk2 nhom05 doanlythuyet
Udcnttk2 nhom05 doanlythuyetUdcnttk2 nhom05 doanlythuyet
Udcnttk2 nhom05 doanlythuyetPhan_Oanh
 

Similar to Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ (20)

CS4S Số 1(8) 2016
CS4S Số 1(8) 2016CS4S Số 1(8) 2016
CS4S Số 1(8) 2016
 
Phân tích mã độc cơ bản - báo cáo thực tập
Phân tích mã độc cơ bản - báo cáo thực tậpPhân tích mã độc cơ bản - báo cáo thực tập
Phân tích mã độc cơ bản - báo cáo thực tập
 
Đồ Án Lý Thuyết Ứng Dụng Công Nghệ Thông Tin Nhóm 4
Đồ Án Lý Thuyết Ứng Dụng Công Nghệ Thông Tin Nhóm 4Đồ Án Lý Thuyết Ứng Dụng Công Nghệ Thông Tin Nhóm 4
Đồ Án Lý Thuyết Ứng Dụng Công Nghệ Thông Tin Nhóm 4
 
Luận văn: Theo dõi đối tượng dựa trên giải thuật di truyền, HAY
Luận văn: Theo dõi đối tượng dựa trên giải thuật di truyền, HAYLuận văn: Theo dõi đối tượng dựa trên giải thuật di truyền, HAY
Luận văn: Theo dõi đối tượng dựa trên giải thuật di truyền, HAY
 
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...
đạI học đà nẵngkhoa công nghệ thông tin và truyền thông báo cáo đồ án cơ sở 5...
 
Udcnttk2 nhóm 2 đồ án lý thuyết
Udcnttk2 nhóm 2 đồ án lý thuyếtUdcnttk2 nhóm 2 đồ án lý thuyết
Udcnttk2 nhóm 2 đồ án lý thuyết
 
thuật toán c45
thuật toán c45thuật toán c45
thuật toán c45
 
dạy học hệ thức lượng trong tam giác theo các bước khảo sát toán học.pdf
dạy học hệ thức lượng trong tam giác theo các bước khảo sát toán học.pdfdạy học hệ thức lượng trong tam giác theo các bước khảo sát toán học.pdf
dạy học hệ thức lượng trong tam giác theo các bước khảo sát toán học.pdf
 
Phân Tích Dữ Liệu Phân Hạng Tín Dụng Dựa Trên Bộ Dữ Liệu Xyz Bằng Phần Mềm Or...
Phân Tích Dữ Liệu Phân Hạng Tín Dụng Dựa Trên Bộ Dữ Liệu Xyz Bằng Phần Mềm Or...Phân Tích Dữ Liệu Phân Hạng Tín Dụng Dựa Trên Bộ Dữ Liệu Xyz Bằng Phần Mềm Or...
Phân Tích Dữ Liệu Phân Hạng Tín Dụng Dựa Trên Bộ Dữ Liệu Xyz Bằng Phần Mềm Or...
 
Demo_chưa sửa hết.pdf
Demo_chưa sửa hết.pdfDemo_chưa sửa hết.pdf
Demo_chưa sửa hết.pdf
 
UDCNTT_NHOM7
UDCNTT_NHOM7UDCNTT_NHOM7
UDCNTT_NHOM7
 
Hệ thống tự động phân luồng câu hỏi và giải đáp yêu cầu, 9đ
Hệ thống tự động phân luồng câu hỏi và giải đáp yêu cầu, 9đHệ thống tự động phân luồng câu hỏi và giải đáp yêu cầu, 9đ
Hệ thống tự động phân luồng câu hỏi và giải đáp yêu cầu, 9đ
 
Luận văn: Nghiên cứu mô hình phân lớp câu hỏi và ứng dụng, 9đ
Luận văn: Nghiên cứu mô hình phân lớp câu hỏi và ứng dụng, 9đLuận văn: Nghiên cứu mô hình phân lớp câu hỏi và ứng dụng, 9đ
Luận văn: Nghiên cứu mô hình phân lớp câu hỏi và ứng dụng, 9đ
 
Nvsp k2-357 nhom2-tu-nghien-cuu
Nvsp k2-357 nhom2-tu-nghien-cuuNvsp k2-357 nhom2-tu-nghien-cuu
Nvsp k2-357 nhom2-tu-nghien-cuu
 
Luận văn: Học máy cho bài toán trích xuất thông tin quan điểm, 9đ
Luận văn: Học máy cho bài toán trích xuất thông tin quan điểm, 9đLuận văn: Học máy cho bài toán trích xuất thông tin quan điểm, 9đ
Luận văn: Học máy cho bài toán trích xuất thông tin quan điểm, 9đ
 
Do an ly thuyet nhóm 06
Do an ly thuyet nhóm 06Do an ly thuyet nhóm 06
Do an ly thuyet nhóm 06
 
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng pythonBáo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
 
Mô hình arima
Mô hình arimaMô hình arima
Mô hình arima
 
Do an lythuyet
Do an lythuyetDo an lythuyet
Do an lythuyet
 
Udcnttk2 nhom05 doanlythuyet
Udcnttk2 nhom05 doanlythuyetUdcnttk2 nhom05 doanlythuyet
Udcnttk2 nhom05 doanlythuyet
 

More from Dịch vụ viết bài trọn gói ZALO 0917193864

Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏiDanh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏiDịch vụ viết bài trọn gói ZALO 0917193864
 

More from Dịch vụ viết bài trọn gói ZALO 0917193864 (20)

200 de tai khoa luạn tot nghiep nganh tam ly hoc
200 de tai khoa luạn tot nghiep nganh tam ly hoc200 de tai khoa luạn tot nghiep nganh tam ly hoc
200 de tai khoa luạn tot nghiep nganh tam ly hoc
 
Danh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểm
Danh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểmDanh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểm
Danh sách 200 đề tài luận văn tốt nghiệp ngành khách sạn,10 điểm
 
Danh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhấtDanh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngân hàng, hay nhất
 
Danh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhấtDanh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ ngữ văn, hay nhất
 
Danh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểmDanh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ ô tô, 10 điểm
 
Danh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhất
Danh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhấtDanh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhất
Danh sách 200 đề tài luận văn thạc sĩ quản lý giáo dục mầm non, mới nhất
 
Danh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhấtDanh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhất
Danh sách 200 đề tài luận văn thạc sĩ quản trị rủi ro, hay nhất
 
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏiDanh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
Danh sách 200 đề tài luận văn thạc sĩ tài chính ngân hàng, từ sinh viên giỏi
 
Danh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểmDanh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểm
Danh sách 200 đề tài luận văn thạc sĩ tiêm chủng mở rộng, 10 điểm
 
danh sach 200 de tai luan van thac si ve rac nhua
danh sach 200 de tai luan van thac si ve rac nhuadanh sach 200 de tai luan van thac si ve rac nhua
danh sach 200 de tai luan van thac si ve rac nhua
 
Kinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay Nhất
Kinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay NhấtKinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay Nhất
Kinh Nghiệm Chọn 200 Đề Tài Tiểu Luận Chuyên Viên Chính Trị Hay Nhất
 
Kho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểm
Kho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểmKho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểm
Kho 200 Đề Tài Bài Luận Văn Tốt Nghiệp Ngành Kế Toán, 9 điểm
 
Kho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại học
Kho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại họcKho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại học
Kho 200 Đề Tài Luận Văn Ngành Thủy Sản, từ các trường đại học
 
Kho 200 đề tài luận văn ngành thương mại điện tử
Kho 200 đề tài luận văn ngành thương mại điện tửKho 200 đề tài luận văn ngành thương mại điện tử
Kho 200 đề tài luận văn ngành thương mại điện tử
 
Kho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểmKho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành điện tử viễn thông, 9 điểm
 
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu HọcKho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Giáo Dục Tiểu Học
 
Kho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhất
Kho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhấtKho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhất
Kho 200 đề tài luận văn tốt nghiệp ngành luật, hay nhất
 
Kho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểmKho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểm
Kho 200 đề tài luận văn tốt nghiệp ngành quản trị văn phòng, 9 điểm
 
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin HọcKho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin Học
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Sư Phạm Tin Học
 
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập Khẩu
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập KhẩuKho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập Khẩu
Kho 200 Đề Tài Luận Văn Tốt Nghiệp Ngành Xuất Nhập Khẩu
 

Recently uploaded

Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...hoangtuansinh1
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxnhungdt08102004
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếngTonH1
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxendkay31
 
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocBai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocVnPhan58
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...Nguyen Thanh Tu Collection
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...Nguyen Thanh Tu Collection
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa2353020138
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHThaoPhuong154017
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdftohoanggiabao81
 
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Học viện Kstudy
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...Nguyen Thanh Tu Collection
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...Nguyen Thanh Tu Collection
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
 
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocBai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdf
 
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 

Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ

  • 1. LỜI CAM ĐOAN Em xin cam đoan: Khóa luận văn đồ án tốt nghiệp với đề tài “Nghiên cứu thuật toán K-nearest neighbor và sử dụng iris flowers dataset đánh giá hiệu quả thuật toán” là kết quả nghiên cứu, tìm hiểu của bản thân em từ những kiến thức đã được thầy, cô trong Viện Kỹ thuật và Công nghệ truyền dạy trong những năm qua và một số nguồn tài liệu khác liên quan. Em xin chịu mọi trách nhiệm về khóa luận văn của mình! Nghệ An, ngày 01 tháng 05 năm 2019 Sinh viên thực hiện Phan Thị Phượng
  • 2. 2 MỤC LỤC DANH MỤC TỪ VIẾT TẮT.......................................................................4 DANH MỤC BẢNG BIỂU..........................................................................5 DANH MỤC HÌNH ẢNH, ĐỒ THỊ.............................................................6 MỞ ĐẦU....................................................................................................8 1. Đặt vấn đề..........................................................................................8 2. Mục đích nghiên cứu...........................................................................9 3. Phạm vi và đối tượng nghiên cứu.........................................................9 4. Nội dung thực hiện............................................................................10 5. Cấu trúc đồ án...................................................................................10 CHƯƠNG 1. CƠ SỞ LÝ THUYẾT............................................................11 1.1. Machine Learning..........................................................................11 1.1.1. Định nghĩa...............................................................................11 1.1.2. Một số phương thức của Machine Learning ..............................11 1.2. Bài toán phân lớp dữ liệu ...............................................................13 1.2.1. Quá trình phân lớp dữ liệu .......................................................13 CHƯƠNG 2: THUẬT TOÁN K-NEAREST NEIGHBOR ..........................15 2.1. Thuật toán k-nearest neighbor...........................................................15 2.1.1. Định nghĩa.................................................................................15 2.1.2. Quy trình làm việc của thuật toán KNN.......................................15 2.1.3. Ví dụ minh họa...........................................................................15 2.1.4. Ví dụ về Knn nhiễu ....................................................................17 2.1.5. Ưu điểm, nhược điểm của thuật toán...........................................17 2.2. Khoảng cách trong không gian vector ..............................................18 2.2.1. Định nghĩa.................................................................................18 2.2.2. Một số norm thường dùng...........................................................18
  • 3. 3 CHƯƠNG 3: THỬ NGHIỆM ....................................................................21 3.1. Bộ dữ liệu Iris flower dataset ............................................................21 3.1.1. Giới thiệu...................................................................................21 3.1.2. Sử dụng tập dữ liệu.....................................................................22 3.1.3. Tập dữ liệu.................................................................................23 3.2. Cài đặt.............................................................................................31 3.2.1. Cài đặt python 3.6......................................................................31 3.2.2. Thử nghiệm................................................................................36 CHƯƠNG 4: KẾT LUẬN..........................................................................41 TÀI LIỆU THAM KHẢO..........................................................................42
  • 4. 4 DANH MỤC TỪ VIẾT TẮT STT Từ viết tắt Ý nghĩa 1 AI Artificial Intelligence 2 ML Machine learning 3 SVM Support Vector Machine 4 KNN K- nearest neighbor
  • 5. 5 DANH MỤC BẢNG BIỂU STT Tên bảng Nội dung 1 Bảng 1 Thông tin loài hoa Setosa 2 Bảng 2 Thông tin loài hoa Versicolor 3 Bảng 3 Thông tin loài hoa virginica
  • 6. 6 DANH MỤC HÌNH ẢNH, ĐỒ THỊ STT Tên hình ảnh, đồ thị Nội dung 1 Hình 1 Mối quan hệ giữa AI, Machine Learning và Deep Learning 2 Hình 1.1.2 Ví dụ về mô hình phân lớp 3 Hình 2.1.3 Ví dụ minh họa thuật toán KNN 4 Hình 2.1.4 Bản đồ minh họa knn nhiễu với k=1 5 Hình 2.2.2 Norm 1 và norm 2 trong không gian hai chiều 6 Hình 3.1.1 Hình ảnh minh họa về Iris flower dataset 7 Hình 3.1.2 Sơ đồ minh họa phân cụm của Iris flower datasets 8 Hình 3.2.2 Mô hình bài toán
  • 7. 7 LỜI CẢM ƠN Lời đầu tiên cho phép em gửi lời cảm ơn sâu sắc tới toàn thể các thầy cô giáo trong Viện Kỹ thuật và Công nghệ – Trường Đại học Vinh, những người đã hết mình truyền đạt và chỉ dẫn cho chúng em những kiến thức, những bài học quý báu và bổ ích trong suốt 5 năm học vừa qua. Để hoàn thành được đồ án này, đặc biệt em xin được bày tỏ sự tri ân và xin chân thành cảm ơn giảng viên ThS. Nguyễn Bùi Hậu người trực tiếp hướng dẫn, chỉ bảo em trong suốt quá trình học tập và nghiên cứu để hoàn thành đồ án này. Sau nữa, em xin gửi tình cảm sâu sắc tới gia đình và bạn bè vì đã luôn bên cạnh khuyến khích, động viên, giúp đỡ cả về vật chất lẫn tinh thần em trong suốt quá trình học tập để em hoàn thành tốt công việc của mình. Trong quá trình nghiên cứu và làm báo cáo do năng lực, kiến thức, trình độ bản thân còn hạn hẹp nên không tránh khỏi những thiếu sót. Em kính mong nhận được sự thông cảm và những ý kiến đóng góp của quý thầy cô và các bạn. Em xin chân thành cảm ơn! Nghệ An, ngày 01 tháng 05 năm 2019 Sinh viên thực hiện Phan Thị Phượng
  • 8. 8 MỞ ĐẦU 1. Đặt vấn đề Những năm gần đây, AI nổi lên như một bằng chứng của cuộc cách mạng công nghiệp lần thứ tư. Trí tuệ nhân tạo có thể được định nghĩa như một nghành của khoa học máy tính liên quan đến việc tự động hóa các hành vi thông minh. Trí tuệ nhân tạo là một bộ phận của khoa học máy tính và do đó nó phải được đặt trên những nguyên lý lý thuyết vững chắc, có khả năng ứng dụng được của lĩnh vực này. Ở thời điểm hiện tại, thuật ngữ này thường dùng để nói đến các máy tính có mục đích không nhất định và ngành khoa học nghiên cứu về các lý thuyết và các ứng dụng của trí tuệ nhân tạo. Theo đà phát triển của công nghệ, ứng dụng trí tuệ nhân tạo luôn là xu hướng công nghệ tương lai mà các hãng công nghệ trên toàn thế giới đua nhau sáng tạo, nó là nền tảng cốt lõi của cuốc cách mạng công nghệ 4.0. ML (Machine Learning) là một lĩnh vực của trí tuệ nhân tạo, được sinh ra từ khả năng nhận diện mẫu và từ lý thuyết các máy tính có thể học mà không cần phải lập trình để xử lý các nhiệm vụ cụ thể nào đó. Hầu hết mọi nghành công nghiệp đang làm việc với hàm lượng lớn dữ liệu đều nhận ra tầm quan trọng của công nghệ ML. Những cái nhìn sáng suốt từ nguồn dữ liệu này – chủ yếu dạng thời gian thực – sẽ giúp các tổ chức vận hành hiệu quả hơn hoặc tạo lợi thế cạnh tranh so với các đối thủ. Các ứng dụng của ML đã quá quen thuộc với con người: xe tự hành của Google và Tesla, hệ thống tự tag khuôn mặt trên Facebook, hệ thống gợi ý sản phẩm của Amazon, hệ thống gợi ý phim của Netflix…, chỉ là một vài trong vô vàn những ứng dụng của trí tuệ nhân tạo và cụ thể là ML.
  • 9. 9 Hình 1. Mối quan hệ giữa AI, Machine Learning và Deep Learning Xu hướng phát triển công nghệ thông tin ngày càng tăng, song song với nó lượng dữ liệu được sinh ra cũng ngày một lớn. Vì vậy nhu cầu để xử lý dữ liệu cũng lớn hơn, ML đang góp phần giải quyết vấn đề này. Một trong những thuật toán thường dùng trong ML đó là thuật toán K- nearest neighbor. Ứng dụng của thuật toán này được sử dụng rất nhiều và rộng rãi trong các bài toán phân lớp. 2. Mục đích nghiên cứu  Nghiên cứu, tìm hiểu thuật toán KNN.  Đánh giá hiệu quả của thuật toán. 3. Phạm vi và đối tượng nghiên cứu  Phạm vi nghiên cứu: Thử nghiệm trên Iris flower dataset.  Đối tượng nghiên cứu: Thuật toán KNN và bộ Iris flower dataset.
  • 10. 10 4. Nội dung thực hiện  Tìm hiểu thuật toán KNN.  Làm quen với bộ dữ liệu Iris.  Sử dụng bộ dữ liệu vào thử nghiệm và đánh giá. 5. Cấu trúc đồ án  Mở đầu  Chương 1: Cơ sở lý thuyết  Chương 2: Thuật toán K-nearest neighbor  Chương 3: Thử nghiệm  Chương 4: Kết luận
  • 11. 11 CHƯƠNG 1. CƠ SỞ LÝ THUYẾT 1.1.Machine Learning 1.1.1. Định nghĩa  Là một lĩnh vực của trí tuệ nhân tạo liên qua đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống học tự động từ dữ liệu để giải quyết các vấn đề cụ thể. Ví dụ các máy có thể học cách phân loại thư điện tử có phải thư rác hay không và tự động sắp xếp vào các thư mục tương ứng.  Machine Learning có liên quan đến thống kê vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán.  Machine Learning có hiện nay được áp dụng rộng rãi bao gồm máy truy tìm dữ liệu, máy phân tích thị trường chứng khoán, nhận dạng tiếng nói và chữ viết… 1.1.2. Một số phương thức của Machine Learning  Học có giám sát: Thuật toán dự đoán đầu ra 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. Học có giám sát được chia thành hai loại chính: -Classification (phân lớp): Là quá trình phân lớp một đối tượng dữ liệu vào một hay nhiều lớp đã cho trước nhờ một mô hình phân lớp (model). Mô hình này được xây dựng dựa trên một tập dữ liệu được xây dựng trước đó có gán nhãn (hay còn gọi là tập huấn luyện). Quá trình phân lớp là quá trình gán nhãn cho đối tượng dữ liệu.
  • 12. 12 Hình 1.1.2: Ví dụ về mô hình phân lớp Có nhiều bài toán phân lớp như phân lớp nhị phân, phân lớp đa lớp, phân lớp đa trị. Trong đó phân lớp nhị phân là một loại phân lớp đặc biệt của phân lớp đa lớp. Ứng dụng của bài toán phân lớp được sử dụng rất nhiều và rộng rãi như nhận dạng khuôn mặt, nhận dạng chữ viết, nhận dạng giọng nói, phát hiện thư rác… -Regression (hồi quy): Nếu không được chia thành các nhóm mà là một giá trị thực cụ thể. Đầu ra của một điểm dữ liệu sẽ bằng chính đầu ra của điểm dữ liệu đã biết.  Học không giám sát: là một kĩ thuật của máy học nhằm tìm ra một mô hình hay cấu trúc bị ẩn bơi tập dữ liệu không được gán nhãn cho trước. UL khác với SL là không thể xác định trước output từ tập dữ liệu huấn luyện được. Tùy thuộc vào tập huấn luyện kết quả output sẽ khác nhau. Trái ngược với SL, tập dữ liệu huấn luyện của UL không do con người gán nhãn, máy tính sẽ phải tự học hoàn toàn. Có thể nói, học không giám sát thì giá trị đầu ra sẽ phụ thuộc vào thuật toán UL. Ứng dụng lớn phổ biến của học không giám sát là bài toán phân cụm.
  • 13. 13  Học bán giám sát: Các bài toán khi có một số lượng lớn dữ liệu nhưng chỉ một phần trong chúng được dán nhãn. Những bài toán này nằm giữa phương thưc học giám sát và học không giám sát. 1.2. Bài toán phân lớp dữ liệu 1.2.1. Quá trình phân lớp dữ liệu Để xây dựng được mô hình phân lớp và đánh giá hiệu quả của mô hình cần phải thực hiện quá trình sau đây:  Bước 1: Chuẩn bị tập dữ liệu huấn luyện và rút trích đặc trưng. Công đoạn này được xem là công đoạn quan trọng trong các bài toán về ML. vì đây là input cho việc học đẻ tìm ra mô hình của bài toán. Chúng ta phải biết cần chọn ra những đặc trưng tốt của dữ liệu, lược bỏ những đặc trưng không tốt của dữ liệu, gây nhiễu. Ước lượng số chiều của dữ liệu bao nhiêu là tốt hay nói cách khác là chọn bao nhiêu feature. Nếu số nhiều quá lớn gây khó khăn cho việc tính toán thì phải giảm số chiều của dữ liệu nhưng vẫn giữ được độ chính xác của dữ liệu. Ở bước này chúng ta cũng chuẩn bị bộ dữ liệu để test trên mô hình. Thông thường sẽ sử dụng cross-validation (kiểm tra chéo) để chia tập dataset thành hai phàn, một phần phục vụ cho training và phần còn lại phục vụ cho mục đích testing trên mô hình. Có hai cách thường sử dụng trong cross-validation là splitting và k-fold.  Bước 2: Xây dựng mô hình phân lớp Mục đích của mô hình huấn luyện là tìm ra hàm F(x) và thông qua hàm f tìm được để chúng ta gán nhãn cho dữ liệu. Bước này thường được gọi là học hay training. F(x)= y Trong đó: x là các feature hay input đầu vào của dữ liệu Y là nhãn dán lớp hay output đầu ra Thông thường để xây dựng mô hình phân lớp cho bài toán này chúng ta sử dungjcacs thuật toán học giám sát như KNN, NN, SVM, Decision tree, Navie Bayers.  Bước 3: Kiểm tra dữ liệu với mô hình
  • 14. 14 Sau khi tìm được mô hình phân lớp ở bước hai, thì bước này chúng ta sẽ đưa vào các dữ liệu mới đẻ kiểm tra trên mô hình phân lớp.  Bước 4: Đánh giá mô hình phân lớp và chọn ra mô hình tốt nhất Bước cuối cùng chúng ta sẽ đánh giá mô hình bằng cách đánh giá mức độ lỗi của dữ liệu testing và dữ liệu training thông qua mô hình tìm được. Nếu không đạt được kết quả mong muốn của chúng ta thì phải thay đổi các tham số của thuật toán học để tìm ra các mô hình tốt hơn và kiểm tra, đánh giá lại mô hình phân lớp. và cuối cùng chọn ra mô hình phân lớp tốt nhất cho bài toán của chúng ta.
  • 15. 15 CHƯƠNG 2: THUẬT TOÁN K-NEAREST NEIGHBOR 2.1. Thuật toán k-nearest neighbor 2.1.1. Định nghĩa K-nearest neighbor (KNN) là một trong những thuật toán học có giám sát đơn giản nhất trong Machine Learning. Ý tưởng của KNN là tìm ra output của dữ kiệu dựa trên thông tin của những dữ liệu training gần nó nhất. 2.1.2. Quy trình làm việc của thuật toán KNN  Bước 1: xác định tham số K= số láng giềng gần nhất.  Bước 2: tính khoảng cách đối tượng cần phân lớp với tất cả các đối tượng trong training data.  Bước 3: sắp xếp khoảng cách theo thứ tự tăng dần và xác định K láng giềng gần nhất với đối tượng cần phân lớp  Bước 4: lấy tất cả các lớp của K láng giềng gần nhất.  Bước 5: dựa vào phần lớn lớp của K để xác định lớp cho đối tượng cần phân lớp. 2.1.3. Ví dụ minh họa Hình 2.1.3. ví dụ minh họa thuật toán KNN
  • 16. 16 Giả sử bài toán được đặt ra: mình mới quen một người bạn, tuy nhiên mình là fan của Us-Uk vậy nên mình cần biết người bạn này có phải là fan của K-Pop hay không. Qua thời gian tìm hiểu mình đã thu thập được một số dữ liệu và đã biểu hiện dưới dạng hình vẽ trên. Ta dễ dàng nhìn thấy có hai loại: hình vuông màu xanh biểu diễn cho những người là fan của K-pop, tam giác màu đỏ biểu diễn cho những người không là fan của K-pop, hình tròn màu xanh là người bạn mình muốn biết có phải là fan K-pop hay không, khoảng cách giữa chấm tròn và các điểm còn lại biểu diễn độ thân thiết của bạn đó với những người bạn. Phương pháp đơn giản nhất để kiểm tra xem bạn đó chơi thân với người bạn nào nhất, tức là tìm xem điểm gần chấm xanh thuộc class nào (hình vuông hay tam giác). Từ hình trên ta dễ dàng nhận thấy điểm gần chấm xanh nhất là hình tam giác màu đỏ, do đó nó sẽ được phân vào lớp tam giác màu đỏ. Có một vấn đề trong phương pháp trên, xung quanh cấm xanh xuất hiện rất nhiều hình vuông màu xanh nên việc xét điểm gần nhất là chưa khả thi. Vì vậy, ta sẽ xét k điểm gần nhất. Giả sử, ta lấy K=3, dựa theo hình trên ta dễ dàng nhận ra có hai hình tam giác đỏ và một hình vuông xanh có khoảng cách gần chấm xanh nhất, do đó chấm xanh được phân vào lớp tam giác đỏ. Lấy K=7, ta có năm hình vuông xanh và hai hình tam giác đỏ, lúc này chấm xanh được xếp vào lớp hình vuông xanh. Trường hợp lấy K=4, ta nhận thấy sẽ có hai hình vuông xanh và hai hình tam giác đỏ, đây là trường hợp có điểm bằng nhau, với trường hợp này KNN sẽ xử lý bằng cách so sánh tổng khoảng cách của các hình gần nhất với điểm ta đang xét. Do xuất hiện trường hợp có điểm bằng nhau, vì vậy người ta thường chọn k là số lẻ. Đó cũng là ý tưởng của KNN.
  • 17. 17 2.1.4. Ví dụ về Knn nhiễu Hình 2.1.4. Bản đồ minh họa knn nhiễu với k=1 Hình trên là bài toán phân lớp với ba lớp: đỏ, lam, lục. Mỗi điểm dữ liệu mới sẽ được gán nhãn theo màu của điểm đó mà nó thuộc về. Trong hình này, chú ý vùng khoanh tròn màu vàng, ta nhận thấy rằng điểm màu lục nằm giữa hai vùng lớn với nhiều dữ liệu đỏ và lam, điểm này rất có thể là nhiễu dẫn đến việc dữ liệu test nếu rơi vào vùng này sẽ có nhiều khả năng cho kết quả sai lệch. 2.1.5. Ưu điểm, nhược điểm của thuật toán  Ưu điểm: - Dễ sử dụng và cài đặt. - Việc dự đoán kết quả của dữ liệu mới dễ dàng. - Độ phức tạp tính toán nhỏ.  Nhược điểm: - KNN nhiễu dễ đưa ra kết quả không chính xác khi k nhỏ. - Cần thời gian lưu training set, khi dữ liệu training và test tăng lên nhiều sẽ mất nhiều thời gian tính toán.
  • 18. 18 2.2. Khoảng cách trong không gian vector Trong không gian một chiều, việc đo khoảng cách giữa hai điểm đã rất quen thuộc: lấy trị tuyệt đối của hiệu giữa hai giá trị đó. Trong không gian hai chiều, tức mặt phẳng, chúng ta thường dùng khoảng cách Euclid để đo khoảng cách giữa hai điểm. Việc đo khoảng cách giữa hai điểm dữ liệu nhiều chiều, tức hai vector, là rất cần thiết trong Machine Learning. Chúng ta cần đánh giá xem điểm nào là điểm gần nhất của một điểm khác; chúng ta cũng cần đánh giá xem độ chính xác của việc ước lượng; và trong rất nhiều ví dụ khác nữa. Và đó chính là lý do mà khái niệm norm ra đời. Có nhiều loại norm khác nhau mà các bạn sẽ thấy ở dưới đây: Để xác định khoảng cách giữa hai vector y và z, người ta thường áp dụng một hàm số lên vector hiệu x = y−z. Một hàm số được dùng để đo các vector cần có một vài tính chất đặc biệt. 2.2.1. Định nghĩa Một hàm số f () ánh xạ một điểm x từ không gian nn chiều sang tập số thực một chiều được gọi là norm nếu nó thỏa mãn ba điều kiện sau đây: - F(x) >= 0. Dấu bằng xảy ra  x = 0. - F(αx) = |α|f(x), ∀α € R. - F(x1) +f(x2) >= f (x1 + x2), ∀x1, x2 € R 2.2.2. Một số norm thường dùng Giả sử các vector x = [x1; x2…xn], y = [y1; y2…yn]. Nhận thấy khoảng cách Euclid chính là một norm, norm mày thường được gọi là norm 2: (1)
  • 19. 19 Với p là một số không nhỏ hơn 1 bất kỳ, hàm số sau đây: (2) Được chứng minh thỏa mãn ba ddieuf kiện trên, và được gọi là norm p. Nhận thấy rằng khi p→0 thì biểu thức bên trên trở thành số các phần tử khác 0 của x. Hàm số (2) khi p=0 được gọi là giả chuẩn (pseudo-norm) 0. Nó không phải là norm vì nó không thỏa mãn điều kiện 2 và 3 của norm. Giả-chuẩn này, thường được ký hiệu là ||x||0, khá quan trọng trong ML vì trong nhiều bài toán, chúng ta cần có ràng buộc “sparse”, tức số lượng thành phần “active” của x là nhỏ. Có một vài giá trị của p thường được dùng: - Khi p = 2 chúng ta có norm2 như ở trên. - Khi p = 1 chúng ta có: ||x||1 = |x1| + |x2| + |x3| +…|xn| (3) Là tổng các giá trị tuyệt đối của từng phần tử của x. Norm 1 thường được dùng như sấp xỉ của norm 0 trong các bài toán có ràng buộc. Dưới đây là một ví dụ so sánh norm 1 và norm 2 trong không gian hai chiều: Hình 2.2.2. Norm 1 và norm 2 trong không gian hai chiều
  • 20. 20 Norm 2 (màu xanh) chính là đường chim bay nối giữa vector x và vector y. Khoảng cách norm 1 giữa hai điểm này (màu đỏ) có thể diễn giải như là đường đi từ x đến y trong một thành phố mà thành phố được tạo hình bàn cờ, chúng ta chỉ có thể đi theo dọc bàn cờ chứ không thể đi theo đường thẳng. Khi p -> ∞, ta có norm p chính là trị tuyệt đối của phần tử lớn nhất của vector đó: (4)
  • 21. 21 CHƯƠNG 3: THỬ NGHIỆM 3.1. Bộ dữ liệuIris flower dataset 3.1.1. Giới thiệu Tập dữ liệu hoa Iris hoặc tập dữ liệu Iris của Fisher là tập dữ liệu đa biến được giới thiệu bởi nhà thống kê và nhà sinh vật học người Anh Ronald Fisher trong bài báo năm 1936 Việc sử dụng nhiều phép đo trong các vấn đề phân loại như một ví dụ về phân tích phân biệt tuyến tính. Đôi khi nó được gọi là tập dữ liệu Iris của Anderson vì Edgar Anderson đã thu thập dữ liệu để định lượng sự biến đổi hình thái của hoa Iris của ba loài liên quan. Hai trong số ba loài được thu thập ở Bán đảo Gaspé "tất cả từ cùng một đồng cỏ, và được chọn vào cùng một ngày và được đo cùng lúc bởi cùng một người với cùng một bộ máy". Bộ dữ liệu bao gồm 50 mẫu từ mỗi ba loài Iris (Iris setosa, Iris virginica và Iris Verscolor). Bốn đặc điểm được đo từ mỗi mẫu: chiều dài và chiều rộng của đài hoa, chiều dài và chiều rộng cánh hoa, tính bằng centimet. Dựa trên sự kết hợp của bốn tính năng này, Fisher đã phát triển một mô hình phân biệt tuyến tính để phân biệt các loài với nhau. Hình 3.1.1. Hình ảnh minh họa về Iris flower dataset
  • 22. 22 3.1.2. Sử dụng tập dữ liệu Dựa trên mô hình phân biệt tuyến tính của Fisher, bộ dữ liệu này đã trở thành trường hợp thử nghiệm điển hình cho nhiều kỹ thuật phân loại thống kê trong học máy như máy vector hỗ trợ. Tuy nhiên, việc sử dụng tập dữ liệu này trong phân tích cụm không phổ biến, vì tập dữ liệu chỉ chứa hai cụm có sự phân tách khá rõ ràng. Một trong những cụm chứa Iris setosa, trong khi cụm còn lại chứa cả Iris virginica và Iris Versolor và không thể tách rời nếu không có thông tin về loài mà Fisher sử dụng. Điều này làm cho dữ liệu trở thành một ví dụ tốt để giải thích sự khác biệt giữa các kỹ thuật được giám sát và không giám sát trong khai thác dữ liệu: Mô hình phân biệt tuyến tính của Fisher chỉ có thể thu được khi biết các loài đối tượng: nhãn lớp và cụm không nhất thiết giống nhau. Tuy nhiên, cả ba loài Iris đều có thể tách rời trong hình chiếu trên thành phần chính phân nhánh phi tuyến. Tập dữ liệu được xấp xỉ bởi cây gần nhất với một số hình phạt cho số lượng nút, uốn cong và kéo dài quá mức. Các điểm dữ liệu được chiếu vào nút gần nhất. Đối với mỗi nút, sơ đồ hình tròn của các điểm được chiếu được chuẩn bị. Diện tích của chiếc bánh tỷ lệ thuận với số lượng điểm được chiếu. Rõ ràng từ sơ đồ (bên dưới) rằng phần lớn tuyệt đối các mẫu của các loài Iris khác nhau thuộc về các nút khác nhau. Chỉ một phần nhỏ Iris-virginica được trộn với Iris- Versolor (các nút màu xanh lam hỗn hợp trong sơ đồ). Do đó, ba loài Iris (Iris setosa, Iris virginica và Iris Verscolor) có thể được phân tách bằng các thủ tục không giám sát trong phân tích thành phần chính phi tuyến. Để phân biệt chúng, chỉ cần chọn các nút tương ứng trên cây chính.
  • 23. 23 Hình 3.1.2. Sơ đồ minh họa phân cụm của Iris flower datasets 3.1.3. Tập dữ liệu Bộ dữ liệu chứa một bộ 150 bản ghi bao gồm các thuộc tính – chiều dài và chiều rộng của đài hoa, chiều dài và chiều rộng của cánh hoa. Bảng 1: Thông tin loài Setosa Thứ tự Chiều dài đài hoa Chiều rộng đài hoa Chiều dài cánh hoa Chiều rộng cánh hoa 1 5.1 3.5 1.4 0.2 2 4.9 3.0 1.4 0.2 3 4.7 3.2 1.3 0.2 4 4.6 3.1 1.5 0.2 5 5.0 3.6 1.4 0.3 6 5.4 3.9 1.7 0.4
  • 24. 24 7 4.6 3.4 1.4 0.3 8 5.0 3.4 1.5 0.2 9 4.4 2.9 1.4 0.2 10 4.9 3.1 1.5 0.1 11 5.4 3.7 1.5 0.2 12 4.8 3.4 1.6 0.2 13 4.8 3.0 1.4 0.1 14 4.3 3.0 1.1 0.1 15 5.8 4.0 1.2 0.2 16 5.7 4.4 1.5 0.4 17 5.4 3.9 1.3 0.4 18 5.1 3.5 1.4 0.3 19 5.7 3.8 1.7 0.3 20 5.1 3.8 1.5 0.3 21 5.4 3.4 1.7 0.2 22 5.1 3.7 1.5 0.4 23 4.6 3.6 1.0 0.2 24 5.1 3.3 1.7 0.5 25 4.8 3.4 1.9 0.2 26 5.0 3.0 1.6 0.2 27 5.0 3.4 1.6 0.4 28 5.2 3.5 1.5 0.2
  • 25. 25 29 5.2 3.4 1.4 0.2 30 4.7 3.2 1.6 0.2 31 4.8 3.1 1.6 0.2 32 5.4 3.4 1.5 0.4 33 5.2 4.1 1.5 0.1 34 5.5 4.2 1.4 0.2 35 4.9 3.1 1.5 0.2 36 5.0 3.2 1.2 0.2 37 5.5 3.5 1.3 0.2 38 4.9 3.6 1.4 0.1 39 4.4 3.0 1.3 0.2 40 5.1 3.4 1.5 0.2 41 5.0 3.5 1.3 0.3 42 4.5 2.3 1.3 0.3 43 4.4 3.2 1.3 0.2 44 5.0 3.5 1.6 0.6 45 5.1 3.8 1.9 0.4 46 4.8 3.0 1.4 0.3 47 5.1 3.8 1.6 0.2 48 4.6 3.2 1.4 0.2 49 5.3 3.7 1.5 0.2 50 5.0 3.3 1.4 0.2
  • 26. 26 Bảng 2: Thông tin loài Versicolor Thứ tự Chiều dài đài hoa Chiều rộng đài hoa Chiều dài cánh hoa Chiều rộng cánh hoa 1 7.0 3.2 4.7 1.4 2 6.4 3.2 4.5 1.5 3 6.9 3.1 4.9 1.5 4 5.5 2.3 4.0 1.3 5 6.5 2.8 4.6 1.5 6 5.7 2.8 4.5 1.3 7 6.3 3.3 4.7 1.6 8 4.9 2.4 3.3 1.0 9 6.6 2.9 4.6 1.3 10 5.2 2.7 3.9 1.4 11 5.0 2.0 3.5 1.0 12 5.9 3.0 4.2 1.5 13 6.0 2.2 4.0 1.0 14 6.1 2.9 4.7 1.4 15 5.6 2.9 3.6 1.3 16 6.7 3.1 4.4 1.4 17 5.6 3.0 4.5 1.5 18 5.8 2.7 4.1 1.0
  • 27. 27 19 6.2 2.2 4.5 1.5 20 5.6 2.5 3.9 1.1 21 5.9 3.2 4.8 1.8 22 6.1 2.8 4.0 1.3 23 6.3 2.5 4.9 1.5 24 6.1 2.8 4.7 1.2 25 6.4 2.9 4.3 1.3 26 6.6 3.0 4.4 1.4 27 6.8 2.8 4.8 1.4 28 6.7 3.0 5.0 1.7 29 6.0 2.9 4.5 1.5 30 5.7 2.6 3.5 1.0 31 5.5 2.4 3.8 1.1 32 5.5 2.4 3.7 1.0 33 5.8 2.7 3.9 1.2 34 6.0 2.7 5.1 1.6 35 5.4 3.0 4.5 1.5 36 6.0 3.4 4.5 1.6 37 6.7 3.1 4.7 1.5 38 6.3 2.3 4.4 1.3 39 5.6 3.0 4.1 1.3 40 5.5 2.5 4.0 1.3
  • 28. 28 41 5.5 2.6 4.4 1.2 42 6.1 3.0 4.6 1.4 43 5.8 2.6 4.0 1.2 44 5.0 2.3 3.3 1.0 45 5.6 2.7 4.2 1.3 46 5.7 3.0 4.2 1.2 47 5.7 2.9 4.2 1.3 48 6.2 2.9 4.3 1.3 49 5.1 2.5 3.0 1.1 50 5.7 2.8 4.1 1.3 Bảng 3: Thông tin loài Virginica Thứ tự Chiều dài đài hoa Chiều rộng đài hoa Chiều dài cánh hoa Chiều rộng cánh hoa 1 6.3 3.3 6.0 2.5 2 5.8 2.7 5.1 1.9 3 7.1 3.0 5.9 2.1 4 6.3 2.9 5.6 1.8 5 6.5 3.0 5.8 2.2 6 7.6 3.0 6.6 2.1
  • 29. 29 7 4.9 2.5 4.5 1.7 8 7.3 2.9 6.3 1.8 9 6.7 2.5 5.8 1.8 10 7.2 3.6 6.1 2.5 11 6.5 3.2 5.1 2.0 12 6.4 2.7 5.3 1.9 13 6.8 3.0 5.5 2.1 14 5.7 2.5 5.0 2.0 15 5.8 2.8 5.1 2.4 16 6.4 3.2 5.3 2.3 17 6.5 3.0 5.5 1.8 18 7.7 3.8 6.7 2.2 19 7.7 2.6 6.9 2.3 20 6.0 2.2 5.0 1.5 21 6.9 3.2 5.7 2.3 22 5.6 2.8 4.9 2.0 23 7.7 2.8 6.7 2.0 24 6.3 2.7 4.9 1.8 25 6.7 3.3 5.7 2.1 26 7.2 3.2 6.0 1.8 27 6.2 2.8 4.8 1.8 28 6.1 3.0 4.9 1.8
  • 30. 30 29 6.4 2.8 5.6 2.1 30 7.2 3.0 5.8 1.6 31 7.4 2.8 6.1 1.9 32 7.9 3.8 6.4 2.0 33 6.4 2.8 5.6 2.2 34 6.3 2.8 5.1 1.5 35 6.1 2.6 5.6 1.4 36 7.7 3.0 6.1 2.3 37 6.3 3.4 5.6 2.4 38 6.4 3.1 5.5 1.8 39 6.0 3.0 4.8 1.8 40 6.9 3.1 5.4 2.1 41 6.7 3.1 5.6 2.4 42 6.9 3.1 5.1 2.3 43 5.8 2.7 5.1 1.9 44 6.8 3.2 5.9 2.3 45 6.7 3.3 5.7 2.5 46 6.7 3.0 5.2 2.3 47 6.3 2.5 5.0 1.9 48 6.5 3.0 5.2 2.0 49 6.2 3.4 5.4 2.3 50 5.9 3.0 5.1 1.8
  • 31. 31 3.2. Cài đặt 3.2.1. Cài đặt python 3.6 Tải python tại đây: https://www.python.org/downloads/ Xuất hiện trang như hình dưới: Nhấp chuột vào dowload và chọn window. Lúc đó xuất hiện trang có chứa các phiên bản của Python, vì cài đặt Python 3.6 nên ta tìm phiên bản 3.6 rồi tải về. Ví dụ hình dưới tôi chọn phiên bản 3.6.2.
  • 32. 32 Khi tải về hoàn tất ta bắt đầu tiến hành cài đặt: Nhấp đúp vào tệp vừa tải về đẻ cài đặt. Tại đây có hai lựa chọn: - Install now: Mặc định cài python vào ổ C, cài sẵn IDLE, pip và tài liệu… - Customize installation: cho phép chọn cài đặt và tính năng cần thiết. Khi đã cài đặt xong, mở IDLE để chạy thử một đoạn code như sau:
  • 33. 33 Ok. Như vậy đã hoàn thành xong việc cài đặt python, việc còn lại của chúng ta là cài đặt những thư viện cần thiết để hỗ trợ cho bài toán. Ở đây, bài toán chúng ta cần các thư viện sau: numpy, matplotlib, sklearn. Sử dụng cmd để cài đặt: - Nếu pip của bạn chưa có sẵn gói thì ta phải cài đặt cho nó, ta thực hiện như sau: - Sau khi cài đặt thành công gói pip ta tiếp tục cài đặt thư viện numpy:
  • 34. 34 - Cài đặt thư viện matplotlib: - Cuối cùng ta cài đặt thư viện sklearn:
  • 35. 35 Như vậy là đã hoàn thành cài đặt các thư viện hỗ trợ cho python cũng như bài toán. Một điều lưu ý ở đây, trong thư viện sklearn nó có chứa bộ dữ liệu Iris flower dataset nên khi cần sử dụng bộ dữ liệu này ta không cần phải dowload về nữa. Tìm hiểu một chút về thư viện Sklearn: Sklearn là thư viện phổ biến nhất của python. Nó viết sẵn các thuật toán phức tạp, bạn chỉ cần nhét dữ liệu vào và chờ nó tính toán rồi lấy kết quả. Ví dụ muốn tìm hiểu xem python đang dùng thuộc phiên bản nào vào thư viện sklearn thuộc phiên bản nào thì ta chỉ cần kiểm tra như sau:
  • 36. 36 Kết quả nhận được: Ngoài ra thư viện sklearn có sẵn các bộ dữ liệu thường được dùng trong nghiên cứu: iris, files, digits, boston, same_images… 3.2.2. Thử nghiệm Hình 3.2.2. Mô hình bài toán Trong phần này, chúng ta sẽ tách 150 dữ liệu trong Iris flower dataset ra thành hai phần, gọi là training set và test set. Thuật toán sẽ dựa vào thông tin ở training set để dự đoán xem mỗi dữ liệu trong test set tương ứng với loại hoa nào. Dữ liệu được chuẩn đoán này sẽ được đối chiếu với loại hoa thật của mỗi dữ liệu trong test set để đánh giá hiệu quả của KNN. Dữ liệu Training set Test set K-nearest neighbor Tập dự đoán
  • 37. 37 - Bước 1: Khai báo các thư viện cần thiết - Bước 2: Load dữ liệu và hiện thị vài dữ liệu mẫu Kết quả nhận được:
  • 38. 38 - Bước 3: Tách training set và test set: Giả sử chúng ta muốn dùng 50 điểm dữ liệu cho test set và 100 điểm còn lại cho training set. Thư viện sklearn có một hàm số cho phép chúng ta ngẫu nhiên lựa chọn: Kết quả nhận được:
  • 39. 39 - Bước 4: KNN dự đoán Xét trường hớp K=1, tức là với mỗi điểm dữ liệu test ta chỉ xét 1 điểm dữ liệu training gần nhất và lấy nhãn cả điểm đó để dự đoán cho điểm dữ liệu test. Kết quả nhận được: Kết quả cho thấy nhãn dự đoán gần giống với label thật của dữ liệu test, chỉ có 2 trong số 20 điểm được hiển thị có kết quả sai lệch. - Bước 5: Đánh giá Để đánh giá độ chính xác của thuật toán KNN, chúng ta xem có bao nhiêu điểm trong dữ liệu test được dự đoán đúng. Lấy số lượng đó chia cho tổng số lượng trong tập dữ liệu test sẽ ra độ chính xác. Thư viện sklearn cung cấp cho ta hàm số accuracy_score để thực hiện công việc này. Kết quả nhận được:
  • 40. 40 Với K=1 đã cho ra kết quả 96%. Nhận thấy rằng nếu chỉ xét 1 điểm gần nhất có thể dẫn đến kết quả sai nếu điểm đó là nhiễu. Vậy nên ta thử xét với K=9 thì kết quả sẽ như thế nào? Kết quả nhận được: Kết quả đã tăng lên 98%. Như vậy chúng ta đã giải quyết được bài toán đặt ra với kết quả thu được gần như hoàn hảo. Trong kỹ thuật majoring voting trên, mỗi trong 9 điểm gần nhất được xem có vai trò và giá trị phiếu như nhau. Xét trên thực tế điều này là không đúng, vì rõ ràng những điểm gần hơn sẽ phải có trọng số cao hơn. Vậy nên ta sẽ đánh trọng số khác nhau cho 9 điểm đang xét nhưng phải thỏa mãn điều kiện điểm gần test data thì phải có trọng số càng cao. Với giá trị mặc định weights=” uniform” tương ứng với các điểm lân cận có giá trị như nhau, ta gán giá trị của weights=” distance” lúc đó các điểm gần với test data sẽ có trọng số cao hơn: Kết quả sau khi đánh trọng số: Kết quả nhận được không thay đổi!
  • 41. 41 CHƯƠNG 4: KẾT LUẬN Trong quá trình thực hiện đồ án tốt nghiệp, em đã cố gắng hết sức để tìm hiểu và học hỏi nhưng vì khả năng còn giới hạn không tránh khỏi những sai sót, nên có theerchuwa giải quyết được tất cả những vấn đề, đặt ra. Em rất mong nhận được sự thông cảm của quý thầy cô và các bạn. Em xin chân thành cảm ơn. Những kết quả đạt được: - Sự hiểu biết về thuật toán KNN cơ bản tương đối tốt. - Làm quen với Iris flower dataset. - Từ những gì đã làm được, từ đó hiểu biết thêm về AI, ứng dụng của của ML vào đời sống công nghệ hiện đại. - Làm quen ngôn ngữ lập trình Python Những hạn chế: - Thuật toán phụ thuộc nhiều vào hệ số K. - Kết quả đưa ra có sự thay đổi (vì các điểm xét lấy ngẫu nhiên). - Chưa thự sự hiểu hết về bài toán.
  • 42. 42 TÀI LIỆU THAM KHẢO [1] https://machinelearningcoban.com/2017/01/08/knn/ [2] https://en.wikipedia.org/wiki/Iris_flower_data_set [3] https://machinelearningcoban.com/ [4] https://vi.wikipedia.org/wiki/Hoc_máy [5] Vũ Hữu Tiệp, Machine Learning cơ bản, NXB Khoa Học Và Kỹ Thuật, 2018.