BÁO cáo bài tập lớn môn lập trình với python giới thiệu về thuật toán kmeans

19 403 1
BÁO cáo bài tập lớn môn lập trình với python giới thiệu về thuật toán kmeans

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN o0o BÁO CÁO BÀI TẬP LỚN Mơn: Lập trình với Python Giảng viên hướng dẫn: Nguyễn Hoàng Anh Sinh viên thực hiện: Nguyễn Tiến Hải - B19DCCN217 Nguyễn Văn Bến - B19DCCN065 Chu Ngọc Quang - B19DCCN519 Nguyễn Quang Thiện - B19DCCN668 Đỗ Như Đức - B19DCCN189 Nhóm lớp: 10 Nhóm tập lớn: 06 Hà Nội – 2021 Mục lục I Danh sách thành viên nhóm nhiệm vụ……………………………………………….3 II Giới thiệu thuật tốn………………………………………………………………… III Tóm tắt thuật tốn…………………………………………………………………… IV Giới thiệu ứng dụng………………………………………………………………… Tổng quan ứng dụng…………………………………………………………… Giao diện ứng dụng…………………………………………………………… Các nút chức chúng……………………………………………………….7 Phân tích thiết kế ứng dụng…………………………………………………… a Sơ đồ khối chức ứng dụng………………………………………….8 b Sơ đồ thuật toán………………………………………………………………… c Sơ đồ thực thể quan hệ (ERD)…………………………………………………… 10 V Kết ứng dụng……………………………………………………………… 11 Sơ đồ tổng quan ứng dụng triển khai ……………………………………… 11 Các kết thực được……………………………………………………… 12 VI Kết luận………………………………………………………………………………15 Hạn chế…………………………………………………………………………….15 a Chúng ta cần biết số lượng cluster cần clustering……………………………….15 b Nghiệm cuối phụ thuộc vào centers khởi tạo ban đầu………… 15 c Các cluster cần có số lượng điểm gần nhau……………………………….16 d Khi cluster nằm phía luster khác…………………………………… 17 Kết luận…………………………………………………………………………….18 VII Tài liệu tham khảo………………………………………………………………… 19 Danh sách bảng biểu Bảng 1: Sơ đồ khối chức ứng dụng……………………………………… Bảng 2: Sơ đồ thuật toán……………………………………………………………… Bảng 3: Sơ đồ thực thể quan hệ (ERD)………………………………………………… Bảng : Sơ đồ tổng quan ứng dụng triển khai……………………………………10 Danh sách hình ảnh Hình 1……………………………………………………………………………………4 Hình 2……………………………………………………………………………………5 Hình 3……………………………………………………………………………………6 Hình 4………………………………………………………………………………… 11 Hình 5………………………………………………………………………………… 12 Hình 6………………………………………………………………………………… 12 Hình 7………………………………………………………………………………… 13 Hình 8………………………………………………………………………………… 14 Hình 9………………………………………………………………………………… 15 Hình 10…………………………………………………………………………………16 Hình 11…………………………………………………………………………………17 Danh sách tài liệu tham khảo Machinelearningcoban Visualizing K-Means Clustering Elbow method - Determining the number of clusters in a data set I Danh sách thành viên nhóm nhiệm vụ Nguyễn Quang Thiện: - Xây dựng ý tưởng - Tìm hiểu, xây dựng, chỉnh sửa code - Làm phần giới thiệu kết ứng dụng Nguyễn Văn Bến: - Xây dựng ý tưởng - Tìm hiểu ứng dụng - Làm biểu đồ tổng quát ứng dụng Nguyễn Tiến Hải: - Xây dựng ý tưởng - Tổng hợp nội dung - Làm báo cáo - Làm slide Chu Ngọc Quang: - Xây dựng ý tưởng - Tìm hiểu ứng dụng - Làm sơ đồ thực thể quan hệ (ERD) Đỗ Như Đức: - Xây dựng ý tưởng - Tìm hiểu ứng dụng - Làm sơ đồ khối chức của ứng dụng - Thuyết trình II Giới thiệu thuật toán Kmeans Trong thuật toán K-means clustering, nhãn (label) điểm liệu Mục đích làm thể để phân liệu thành cụm (cluster) khác cho dữ liệu cụm có tính chất giống Ví dụ: Một cơng ty muốn tạo sách ưu đãi cho nhóm khách hàng khác dựa tương tác khách hàng với công ty (số năm khách hàng; số tiền khách hàng chi trả cho cơng ty; độ tuổi; giới tính; thành phố; nghề nghiệp; …) Giả sử cơng ty có nhiều liệu nhiều khách hàng chưa có cách chia tồn khách hàng thành số nhóm/cụm khác Nếu người biết Machine Learning đặt câu hỏi này, phương pháp anh (chị) ta nghĩ đến K-means Clustering Vì thuật tốn mà anh tìm sách, khóa học Machine Learning Sau phân nhóm, nhân viên cơng ty lựa chọn vài khách hàng nhóm để định xem nhóm tương ứng với nhóm khách hàng Phần việc cuối cần can thiệp người, lượng công việc rút gọn nhiều Ý tưởng đơn giản cluster (cụm) tập hợp điểm ở gần khơng gian đó (khơng gian có nhiều chiều trường hợp thơng tin điểm liệu lớn) Hình bên ví dụ cụm liệu (từ tơi viết gọn là cluster) Hình Giả sử cluster có điểm đại diện (center) màu vàng Và điểm xung quanh center thuộc vào nhóm với center Một cách đơn giản nhất, xét điểm bất kỳ, ta xét xem điểm gần với center thuộc nhóm với center Tới đây, có tốn thú vị: Trên vùng biển hình vng lớn có ba đảo hình vng, tam giác, trịn màu vàng hình Một điểm biển gọi thuộc lãnh hải đảo nằm gần đảo so với hai đảo Hãy xác định ranh giới lãnh hải đảo Hình hình minh họa cho việc phân chia lãnh hải có đảo khác biểu diễn hình trịn màu đen: Hình Chúng ta thấy đường phân định lãnh hải đường thẳng (chính xác chúng đường trung trực cặp điểm gần nhau) Vì vậy, lãnh hải đảo hình đa giác III Tóm tắt thuật tốn Đầu vào: Dữ liệu XX và số lượng cluster cần tìm KK Đầu ra: Các center MM và label vector cho điểm liệu YY Chọn KK điểm làm center ban đầu Phân điểm liệu vào cluster có center gần Nếu việc gán liệu vào cluster bước khơng thay đổi so với vịng lặp trước ta dừng thuật tốn Cập nhật center cho cluster cách lấy trung bình cộng tất các điểm liệu gán vào cluster sau bước Quay lại bước Chúng ta đảm bảo thuật tốn dừng lại sau số hữu hạn vịng lặp Thật vậy, hàm mát số dương sau bước 3, giá trị hàm mát bị giảm Theo kiến thức dãy số chương trình cấp 3: nếu dãy số giảm bị chặn hội tụ! Hơn nữa, số lượng cách phân nhóm cho tồn liệu hữu hạn nên đến lúc đó, hàm mát thay đổi, dừng thuật tốn IV Giới thiệu ứng dụng Tổng quan ứng dụng Ứng dụng áp dụng thuật toán Kmeans để giải vấn đề chia điểm, vật,… Các đối tượng có đặc điểm gần giống nhóm thành nhóm chung Trong ứng dụng đối tượng mô tả điểm chia chúng thành nhóm mà ta cho trước Giao diện ứng dụng Hình 3 Các nút chức chúng K : tương ứng với số nhóm cần thêm(k >0 , k

Ngày đăng: 29/12/2021, 05:05

Hình ảnh liên quan

Hình 1 - BÁO cáo bài tập lớn môn lập trình với python giới thiệu về thuật toán kmeans

Hình 1.

Xem tại trang 6 của tài liệu.
Hình 3 - BÁO cáo bài tập lớn môn lập trình với python giới thiệu về thuật toán kmeans

Hình 3.

Xem tại trang 8 của tài liệu.
Bảng 2 - BÁO cáo bài tập lớn môn lập trình với python giới thiệu về thuật toán kmeans

Bảng 2.

Xem tại trang 9 của tài liệu.
Bảng 3 - BÁO cáo bài tập lớn môn lập trình với python giới thiệu về thuật toán kmeans

Bảng 3.

Xem tại trang 10 của tài liệu.
Tích thêm các điểm trong bảng - BÁO cáo bài tập lớn môn lập trình với python giới thiệu về thuật toán kmeans

ch.

thêm các điểm trong bảng Xem tại trang 12 của tài liệu.
Hình 5 - BÁO cáo bài tập lớn môn lập trình với python giới thiệu về thuật toán kmeans

Hình 5.

Xem tại trang 13 của tài liệu.
Hình 6 - BÁO cáo bài tập lớn môn lập trình với python giới thiệu về thuật toán kmeans

Hình 6.

Xem tại trang 14 của tài liệu.
Hình 9 - BÁO cáo bài tập lớn môn lập trình với python giới thiệu về thuật toán kmeans

Hình 9.

Xem tại trang 16 của tài liệu.
Hình 10 - BÁO cáo bài tập lớn môn lập trình với python giới thiệu về thuật toán kmeans

Hình 10.

Xem tại trang 17 của tài liệu.
Hình 11 - BÁO cáo bài tập lớn môn lập trình với python giới thiệu về thuật toán kmeans

Hình 11.

Xem tại trang 18 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan