(TIỂU LUẬN) 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

20 149 0
(TIỂU LUẬN) 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 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ừ viết gọn 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 số lượng cluster cần tìm KK Đầu ra: Các center MM 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 toá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: 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 khơng thể thay đổi, dừng thuật toá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: 01/12/2022, 09:36

Hình ảnh liên quan

về một điểm dữ liệu là rất lớn). Hình bên dưới là một ví dụ về 3 cụm dữ liệu (từ giờ tôi sẽ viết gọn là cluster). - (TIỂU LUẬN) 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

v.

ề một điểm dữ liệu là rất lớn). Hình bên dưới là một ví dụ về 3 cụm dữ liệu (từ giờ tôi sẽ viết gọn là cluster) Xem tại trang 6 của tài liệu.
Hình 1 - (TIỂU LUẬN) 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 7 của tài liệu.
Hình 3 - (TIỂU LUẬN) 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 9 của tài liệu.
Bảng 2 - (TIỂU LUẬN) 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 10 của tài liệu.
Bảng 3 - (TIỂU LUẬN) 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 11 của tài liệu.
Tích thêm các điểm trong bảng - (TIỂU LUẬN) 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 13 của tài liệu.
Hình 5 - (TIỂU LUẬN) 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 14 của tài liệu.
Hình 6 - (TIỂU LUẬN) 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 15 của tài liệu.
Hình 9 - (TIỂU LUẬN) 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 17 của tài liệu.
Hình 10 - (TIỂU LUẬN) 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 18 của tài liệu.
Hình 11 - (TIỂU LUẬN) 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 19 của tài liệu.

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

Tài liệu liên quan