1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng

42 12 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Đồ Án Quá Trình Phân Tích Dữ Liệu Với R/Python Chủ Đề: Thuật Toán Phân Cụm K-Means Và Bài Toán Phân Khúc Khách Hàng
Tác giả Lê Thành Lâm, Phạm Lộc Ân, Nguyễn Thành Danh, Hoàng Lê Thùy Dương, Lộc Thị Ngọc Huyền
Người hướng dẫn Nguyễn Phát Đạt
Trường học Trường Đại Học Kinh Tế - Luật
Thể loại báo cáo đồ án
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 42
Dung lượng 1,3 MB

Cấu trúc

  • Chương 1: Thuật toán phân cụm K-Means (K-Means Clustering) (7)
    • 1.1. Tổng quan (7)
      • 1.1.1. Định nghĩa thuật ngữ học không giám sát (Unsupervised Learning) (7)
      • 1.1.2. Định nghĩa phân cụm K-Means (7)
      • 1.1.3. Các trường hợp sử dụng thuật toán (8)
    • 1.2. Nội dung của thuật toán (8)
      • 1.2.1. Một số khái niệm dùng trong thuật toán (8)
      • 1.2.2. Các phương pháp xác định K (số lượng cụm) (9)
    • 1.3. Đặc điểm của thuật toán (15)
      • 1.3.1. Ví dụ (15)
      • 1.3.2. Ưu điểm (18)
      • 1.3.3. Nhược điểm (19)
    • 1.4. Các biến thể của thuật toán (19)
      • 1.4.1. Thuật toán K-Medoids (19)
      • 1.4.2. Thuật toán Fuzzy C-Means (20)
    • 1.5. Một số yếu tố ảnh hưởng đến thuật toán (21)
      • 1.5.1. Ảnh hưởng của outlier (21)
      • 1.5.2. Ảnh hưởng của việc khởi tạo trung tâm (22)
  • Chương 2: Bài toán phân khúc khách hàng (Customer Segment) (24)
    • 2.1. Giới thiệu bài toán (24)
    • 2.2. Dữ liệu bài toán (24)
    • 2.3. Giải bài toán bằng ngôn ngữ R (25)
    • 2.4. Kết luận bài toán (39)
  • Kết luận (35)
  • Tài liệu tham khảo (41)

Nội dung

Sau đó, các cụm được định vị dưới dạng điểm và tất cả các điểm quan sát hoặc điểm dữ liệu được liên kết với cụm gần nhất, được tính toán, điều chỉnh và sau đó quá trình bắt đầu lại bằng

Thuật toán phân cụm K-Means (K-Means Clustering)

Tổng quan

1.1.1 Định nghĩa thuật ngữ học không giám sát (Unsupervised Learning)

Học không giám sát là một nhóm thuật toán hay phương pháp kỹ thuật cho phép máy tự học hỏi và tìm ra một mô hình hay cấu trúc nào đó ẩn trong một bộ dữ liệu không được gắn nhãn trước Điều này đồng nghĩa với việc chúng ta chỉ có bộ dữ liệu đầu vào và hoàn toàn không biết kết quả đầu ra là gì

Hình 1.1: Sự khác nhau giữa máy học có giám sát và máy học không giám sát

1.1.2 Định nghĩa phân cụm K-Means

Phân cụm K-Means là một thuật toán học không giám sát đơn giản được sử dụng để giải quyết các vấn đề phân cụm Nó tuân theo một thủ tục đơn giản là phân loại một tập dữ liệu nhất định thành một số cụm, được xác định bằng ký tự "k", được cố định trước Sau đó, các cụm được định vị dưới dạng điểm và tất cả các điểm quan sát hoặc điểm dữ liệu được liên kết với cụm gần nhất, được tính toán, điều chỉnh và sau đó quá trình bắt đầu lại bằng cách sử dụng các điều chỉnh mới cho đến khi đạt được kết quả mong muốn

1.1.3 Các trường hợp sử dụng thuật toán

Thuật toán phân cụm được ứng dụng rộng rãi trong việc phân loại khách hàng Các khách hàng có đặc điểm chung về thông tin, lịch sử mua hàng và hành vi mua hàng sẽ được nhóm vào cùng một cụm Mỗi cụm khách hàng sẽ có những đặc điểm riêng biệt, được xác định thông qua thuật toán phân cụm.

Ngoài ra có một ví dụ khác mà chúng ta cũng hay bắt gặp, đó là các mạng xã hội luôn tìm cách phân cụm những người có cùng sở thích, thói quen để đưa ra những gợi ý kết bạn hay tham gia một nhóm nào đó.

Nội dung của thuật toán

1.2.1 Một số khái niệm dùng trong thuật toán

Hình 1.2: Mô tả khái niệm dùng trong thuật toán

- Cluster (cụm): là một nhóm các điểm dữ liệu tương tự nhau

- k: là số lượng của các cụm

- Centroid: là trung tâm của 1 cụm dữ liệu

- Khoảng cách Euclidean: là độ dài của đoạn thẳng nối hai điểm trong không gian Euclide

Với hai điểm bất kỳ có tọa độ Descartes cho trước trong không gian Euclide n chiều, khoảng cách giữa chúng là:

1.2.2 Các phương pháp xác định K (số lượng cụm)

Phương pháp Elbow là phương pháp dùng để xác định số lượng cụm tối ưu nhất cho tập dữ liệu

Mô hình Elbow thực hiện để xác định giá trị k trong K-Means như sau:

1 Khởi tạo giá trị ban đầu cho k

3 Tính tổng bình phương khoảng cách giữa mỗi điểm và tâm trong một cụm (WCSS - Within-Cluster Sum of Square) từ mỗi giá trị của k i k 2 i i 1 x C

• mi: là centroid của cụm Ci

4 Vẽ biểu đồ từ WCSS và giá trị k, phân tích tổng các kết quả WCSS từ giá trị k đã giảm mạnh

5 Xác định vị trí mà WCSS giảm mạnh sau đó đồ thị bắt đầu di chuyển gần như song song với trục x và đặt điểm k

Hệ số Silhouette là thước đo mức độ tương đồng của dữ liệu trong cụm so với các cụm khác Nó được tính bằng cách căn bậc trung bình bình phương của khoảng cách từ điểm dữ liệu đến các điểm dữ liệu khác trong cụm của nó, trừ đi khoảng cách trung bình từ điểm dữ liệu đến các điểm dữ liệu trong cụm gần nhất Để trực quan hóa hệ số Silhouette, có thể tạo biểu đồ thanh với điểm dữ liệu trên trục x và hệ số Silhouette của chúng trên trục y.

- Chọn một đoạn giá trị của k (giả sử từ 1 đến 10)

Để xác định số cụm tối ưu, cần vẽ đồ thị hệ số Silhouette ứng với mỗi giá trị k Quá trình này liên quan đến việc tính toán hệ số Silhouette tại một điểm dữ liệu và trung bình Silhouette cho mỗi k.

Phương trình trình tính toán hệ số Silhouette tại một điểm dữ liệu cụ thể như sau:

• S(i) là hệ số hình bóng của điểm dữ liệu i

• a(i) là khoảng cách trung bình giữa i và tất cả các điểm dữ liệu khác trong cụm mà i thuộc về

• b(i) là khoảng cách trung bình từ i đến tất cả các điểm dữ liệu khác trong những cụm mà i không thuộc về

Sau đó, ta sẽ tính toán trung bình silhouette cho mỗi k

Cuối cùng, ta biểu đồ giữa trung bình silhouette và k Chọn k cụm tại giá trị của k sao cho trung bình silhouette lớn nhất

Phương pháp này có thể được áp dụng cho bất kỳ phương pháp phân cụm nào (K-means clustering, hierarchical clustering) Gap Statisstic so sánh tổng biến thể trong cụm đối với các giá trị khác nhau của k với giá trị dự kiến của chúng trong phân phối tham chiếu rỗng của dữ liệu (tức là phân phối không có phân nhóm rõ ràng) Tập dữ liệu tham chiếu được tạo bằng cách sử dụng mô phỏng Monte Carlo của quá trình lấy mẫu Đó là, cho mỗi biến (xi) trong tập dữ liệu, chúng tôi tính toán phạm vi của nó [min(xi), max(xi)] và tạo ra các giá trị cho n điểm một cách đồng nhất trong khoảng thời gian từ min đến max Đối với dữ liệu quan sát và dữ liệu tham chiếu, tổng biến thể nội bộ được tính bằng cách sử dụng các giá trị khác nhau của k Thống kê khoảng cách cho k cho trước được định nghĩa như sau:

𝐺𝑎𝑝 𝑛 (𝑘) = 𝐸 𝑛 ∗ log(𝑊 𝑘 ) − log⁡(𝑊 𝑘 ) Trong đó, 𝐸 𝑛 ∗ biểu thị kỳ vọng dưới cỡ mẫu n từ phân phối tham chiếu 𝐸 𝑛 ∗ được xác định thông qua bootstrapping (B) bằng cách tạo B bản sao của bộ dữ liệu tham chiếu và bằng cách tính toán giá trị trung bình log(𝑊 𝑛 ∗ ) Gap statistic đo lường độ lệch của quan sát được giá trị Wk từ giá trị kỳ vọng của nó theo giả thuyết Ước tính của các cụm tối ưu (k) sẽ là giá trị tối đa hóa Gapn(k) Điều này có nghĩa là cấu trúc phân cụm nằm xa sự phân bố đồng đều của các điểm.)

Thuật toán bao gồm các bước sau:

1 Cụm dữ liệu quan sát, thay đổi số lượng cụm từ k=1, …, k=max và tính toán tương ứng Wk

2 Tạo tập dữ liệu tham chiếu B và phân cụm từng nhóm với số lượng cụm khác nhau k=1, …, k=max Tính toán Gapn(k) ước tính:

4 Chọn số cụm là k nhỏ nhất sao cho

Hình 1.8: Biểu đồ Gap Statistic

1.2.3 Tóm tắt các bước của thuật toán

Hình 1.9: Sơ đồ thuật toán K-Means Đầu vào: N điểm dữ liệu X = [x1, x2, x3, xN] chưa có nhãn vector và số lượng cụm cần tìm k

8 Đầu ra: Các trung tâm K = [m1, m2, m3, mK] và nhãn vector cho từng điểm dữ liệu

Chú thích: x, m i là các ký hiệu vector của các điểm dữ liệu và điểm trung tâm C i là cụm thứ i, mi là trung tâm của cụm C i

Các bước thực hiện thuật toán:

1 Chọn số k cụm và chọn ngẫu nhiên k điểm làm trung tâm Sử dụng các phương pháp để tìm được số k tối ưu nhất

2 Gán mỗi điểm dữ liệu về cụm có trung tâm cụm gần nhất Ta xác định nhãn cho từng điểm dữ liệu bằng cách tính toán khoảng cách của từng điểm dữ liệu tới tâm cụm của nó, thực hiện bằng phương pháp tính khoảng cách Euclidean Một điểm dữ liệu x được phân vào một cụm Ci có trung tâm là mi (trung tâm được chọn ở bước 1)

• x là một điểm dữ liệu được phân vào một cụm Ci

• mi là trung tâm của Ci

• agrmini là tìm giá trị nhỏ nhất của biến số để hàm số đó đạt giá trị nhỏ nhất

Giải thích: Tính khoảng cách của mỗi điểm x đến mỗi điểm trung tâm m, ví dụ d(x1,m1), d(x1,m2), d(x1,m3) sau đó chọn khoảng cách ngắn nhất và gán x1 cho trung tâm mi tương ứng Tương tự ta tính khoảng cách và gán các điểm x2, x3, …, xn cho các trung tâm tương ứng

3 Tính toán lại vị trí trung tâm cho từng cụm Sau khi các cụm được hình thành có tâm và các điểm dữ liệu được gán cho nó Ta xác định lại vị trí trung tâm mới cho các cụm đó bằng cách tính trung bình cộng của các điểm dữ liệu trong cụm, trung bình cộng đó sẽ là trung tâm mới của cụm

• x là một điểm dữ liệu được phân vào một cụm Ci

• |Ci| là kích thước của cụm Ci

• mi là trung tâm của cụm Ci

4 Lặp lại bước 2 và 3 tới khi vị trí các trung tâm cụm không đổi.

Đặc điểm của thuật toán

K-Means là một thuật toán dựa trên centroid, hoặc một thuật toán dựa trên khoảng cách, tính toán khoảng cách để gán một điểm cho một cụm Trong K-Means, mỗi cụm được liên kết với một trung tâm

Chất lượng của thuật toán K-Means phụ thuộc nhiều vào các tham số đầu vào như: số cụm k, và k vector trọng tâm khởi tạo ban đầu Trong trường hợp các vector trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm cụm tự nhiên thì kết quả phân cụm của K-Means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rất lệch so với các cụm trong thực tế Trên thực tế, chưa có một giải pháp nào để chọn tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm với các giá trị đầu vào k khác nhau rồi sau đó chọn giải pháp tốt nhất

Ví dụ 1: Ngân hàng muốn phân khúc khách hàng dựa trên thu nhập và số nợ của họ:

Hình 1.10: Biểu đồ thể hiện khách hàng dựa trên thu nhập và số nợ

Chúng ta có thể phân tách thành 2 cụm: Khách hàng có thu nhập thấp thuộc 1 cụm và khách hàng có thu nhập cao thuộc cụm thứ 2

Hình 1.11: Phân tách khách hàng thành 2 cụm

Chúng ta cũng có thể phân tách thành 4 cụm:

- Thu nhập thấp, nợ ít

- Thu nhập thấp, nợ nhiều

- Thu nhập cao, nợ ít

- Thu nhập cao, nợ nhiều

Hình 1.12: Phân tách khách hàng thành 4 cụm

Ví dụ 2: Biểu đồ, trong đó trục x là số lượng các cụm (Clusters), trục y là số liệu đánh giá (Inertia: là một độ đo về mức độ gắn kết nội bộ trong một cụm)

Hình 1.13: Biểu đồ với trục x là Clusters, trục y là Inertia

Giả sử ban đầu, Clusters là 2 và Inertia là 1000

Hình 1.14:Biểu đồ với Cluster là 2 và Inertia là 1000

Sau đó, tăng Clusters lên

Hình 1.15: Biểu đồ sau khi tăng Cluster lên

Có thể thấy, khi thay đổi giá trị Clusters từ 2 thành 4 hoặc 6 thì giá trị Inertia giảm rất mạnh Và khi tăng số lượng Clusters đến một mức độ nào đó, ta thấy giá trị Inertia còn giảm đều, không đáng kể hoặc gần như là không đổi Lúc đó, có thể chọn Clusters đó làm giá trị cụm phù hợp cho dữ liệu (Từ 6-10) Tuy nhiên, cũng cần tính toán tài nguyên khi quyết định số lượng cụm (Số lượng cụm càng lớn thì tài nguyên tính toán càng cao)

- Tương đối nhanh, độ phức tạp của thuật toán là O (tkn) trong đó:

• n là số điểm trong không gian dữ liệu

• t là số lần lặp (Thường thì t rất nhỏ so với n)

• k là số cụm cần phân hoạch

- K-Means phù hợp với các cụm có dạng hình cầu

- Có khả năng mở rộng và dễ dàng sửa đổi với những dữ liệu mới

- Bảo đảm hội tụ sau một số bước lặp hữu hạn

- Luôn có ít nhất một điểm trong cụm

- Các cụm được tách biệt rõ ràng không có hiện tượng một đối tượng xuất hiện trong nhiều cụm dữ liệu

- Hiệu quả trong thực tế

- Cần xác định trước số cụm

- Không đảm bảo đạt được tối ưu toàn cục và kết quả đầu ra phụ thuộc nhiều vào việc chọn k điểm khởi đầu

- Khó xác định được thực sự số cụm có trong không gian dữ liệu Do đó có thể phải thử với các số k khác nhau

- Khó phát hiện các loại cụm có hình dạng phức tạp và nhất là các dạng cụm không lồi

- Không thể xử lý nhiều mẫu cá biệt (nhiễu)

- Thuật toán rất nhạy cảm với outliers: Khi xuất hiện outliers thì thường khiến cho tâm cụm bị chệch và do đó dự báo cụm không còn chuẩn xác Chính vì thế chúng ta cần phải loại bỏ outliers trước khi huấn luyện thuật toán

- Chỉ có thể áp dụng khi tính được trọng tâm.

Các biến thể của thuật toán

Thuật toán K-Medoids tương tự thuật toán K-Means, nó yêu cầu người dùng chỉ định k, số lượng cụm được tạo, mỗi cụm được đại diện bởi một trong số các đối tượng của cụm Thay vì sử dụng điểm trung bình làm trung tâm của một cụm, K-Medoids sử dụng một điểm thực trong cụm để đại diện cho nó Thông thường thì điểm gần vector trọng tâm sẽ được chọn làm điểm đại diện của cụm

Hình 1.16: Sự khác nhau giữa K-Means và K-Medoids

- Loại được nhiễu trong thuật toán K-Means

- Nó rất đơn giản dễ hiểu và dễ thực hiện

- Thuật toán K-Medoids nhanh và hội tụ trong một số bước cố định

- PAM (Thuật toán phân vùng xung quanh Medoid) ít nhạy cảm hơn với các ngoại lệ so với các thuật toán phân vùng khác

- Nhược điểm chính của thuật toán K-Medoids là nó không thích hợp để phân cụm các nhóm đối tượng không hình cầu (có hình dạng tùy ý) Điều này là do nó dựa vào việc giảm thiểu khoảng cách giữa các đối tượng không phải medoid và medoid (trung tâm cụm) - một cách ngắn gọn, nó sử dụng tính nhỏ gọn làm tiêu chí phân cụm thay vì kết nối

- Nó có thể thu được các kết quả khác nhau cho các lần chạy khác nhau trên cùng một tập dữ liệu vì K-Medoids đầu tiên được chọn ngẫu nhiên

- Độ phức tạp của thuật toán rất lớn

Thuật toán Fuzzy C-Means có chiến lược phân cụm giống như K-Means Nhưng có một điểm khác biệt là K-Means phân cụm dữ liệu cứng (một đối tượng chỉ thuộc vào một cụm) còn Fuzzy C-Means là phân cụm dữ liệu mềm (một đối tượng có thể thuộc nhiều cụm khác nhau)

Hình 1.17: Sự khác nhau giữa phân cụm dữ liệu cứng và phân cụm dữ liệu mềm

Fuzzy C-Means có khả năng phân cụm trong không gian đa chiều và có khả năng phân cụm tối ưu toàn cục Ưu điểm:

- Mang lại kết quả tốt nhất cho tập dữ liệu chồng chéo và tương đối tốt hơn so với thuật toán K-Means

Trái ngược với thuật toán K-Means yêu cầu mỗi điểm dữ liệu chỉ được gán cho một cụm duy nhất, trong thuật toán Fuzzy C-Means, một điểm dữ liệu có thể được chỉ định mức độ thành viên cho nhiều cụm cùng lúc Điều này phản ánh đặc tính mơ hồ của dữ liệu thực, cho phép các điểm dữ liệu có đặc điểm chồng chéo trong không gian dữ liệu.

- Thuật toán này khá phức tạp và tốc độ hội tụ phụ thuộc vào trạng thái ban đầu của ma trận thành viên

- Thông số kỹ thuật Apriori về số lượng cụm

- Với giá trị β thấp hơn, chúng ta nhận được kết quả tốt hơn nhưng với chi phí là số lần lặp lại nhiều hơn

- Các phép đo khoảng cách Euclide có thể cân bằng các yếu tố cơ bản một cách bất bình đẳng

Ngoài ra còn có các biến thể khác như: Gaussian mixture models, Spherical K-Means, Minkowski metric weighted K-Means, …

Một số yếu tố ảnh hưởng đến thuật toán

K-Means nhạy cảm với các điểm outlier, ví dụ: Các điểm dữ liệu outlier ảnh hưởng lớn đến kết quả của việc phân cụm:

- Các điểm dữ liệu outlier có khoảng cách đến các điểm dữ liệu chuẩn rất lớn

- Phân bố của các điểm outlier rất khác so với các điểm dữ liệu chuẩn

- Nhiễu hoặc lỗi của dữ liệu được thể hiện trong các điểm outlier

- Outlier removal: Có thể loại bỏ các điểm dữ liệu xa đáng kể so với điểm trung tâm

(centroid) của các cluster so với các điểm dữ liệu khác Việc loại bỏ có thể được thực hiện trước hoặc trong khi phân cụm

- Random sampling: Thay vì phân cụm toàn bộ tập dữ liệu, chúng ta sẽ lấy ngẫu nhiên tập con S từ tập dữ liệu huấn luyện S được sử dụng để phân cụm, tập S lúc này sẽ có ít các điểm outlier hơn tập dữ liệu gốc Sau khi phân cụm xong, tập dữ liệu còn lại sẽ được gán vào các cụm đã học được

1.5.2 Ảnh hưởng của việc khởi tạo trung tâm

Chất lượng của K-Means phụ thuộc vào việc khởi tạo các điểm centroid

Hình 1.18: Ảnh hưởng của outlier

Giải pháp 1: Lặp lại nhiều lần thuật toán K-Means

- Mỗi lần chạy lại thuật toán K-Means sẽ khởi tạo các điểm centroid khác nhau

- Sau quá trình học, tiến hành gộp các kết quả từ các lần chạy thành kết quả cuối cùng

Giải pháp 2: Thuật toán K-Means++: Để tìm ra cụm tốt nhất, chúng ta có thể lần lượt khởi tại các điểm trung tâm từ tập D tuần tự như sau:

- Lấy ngẫu nhiên điểm centroid đầu tiên m1

- Lấy điểm centroid tiếp theo là điểm xa nhất so với m1

- Lấy điểm centroid thứ i (mi) là điểm xa nhất so với {m1, , mi-1}

- Bằng cách này K-Means sẽ hội tụ về gần kết quả tối ưu

Bài toán phân khúc khách hàng (Customer Segment)

Giới thiệu bài toán

Phân khúc khách hàng là quá trình phân tách khách hàng thành các nhóm dựa trên các đặc điểm hoặc khuôn mẫu chung để các công ty có thể tiếp thị sản phẩm của mình cho từng nhóm một cách hiệu quả và đáng kể

Trong tiếp thị từ doanh nghiệp đến người tiêu dùng, hầu hết các công ty thường phân khúc khách hàng của họ thành Độ tuổi, Giới tính, Tình trạng hôn nhân, vị trí (thành thị, ngoại thành, nông thôn), Giai đoạn cuộc sống (độc thân, đã kết hôn, đã ly hôn, chưa có gia đình, đã nghỉ hưu, …

Phân khúc cho phép các nhà tiếp thị có được những ý tưởng tốt hơn về sản phẩm và xác định các cách để cải thiện các sản phẩm hiện có hoặc các cơ hội sản phẩm hoặc dịch vụ mới, thiết lập mối quan hệ khách hàng tốt hơn, tập trung vào những khách hàng có lợi nhất, v.v

Trong bài toán, chúng ta sẽ sử dụng thuật toán K-Means để phân tích và giải quyết bài toán “Phân khúc khách hàng đi vay” bằng ngôn ngữ R.

Dữ liệu bài toán

Dữ liệu bài toán được cung cấp bởi Nafe Muhtasim

(Nguồn: https://www.kaggle.com/datasets/nafemuhtasim/customer-segmentation)

Dữ liệu được xây dựng, cung cấp bởi Muhtasim với những biến cần thiết để thực hiện phân khúc khách hàng, là một trong những bài toán của học không giám sát

Dưới đây là bảng mô tả dữ liệu bài toán:

Bảng 1: Bảng mô tả dữ liệu

Cột Mô tả Kiểu dữ liệu

Customer Id Mã khách hàng (duy nhất) int

Edu Trình độ học vấn int

Years Employed Số năm làm việc int

Card Debt Nợ trên thẻ numeric

Other Debt Nợ khác Numeric

Defaulted Khả năng trả lãi, nợ int

DebtIncomeRatio Tỷ lệ nợ trên thu nhập numeric

Giải bài toán bằng ngôn ngữ R

- Đầu tiên, chúng ta import các thư viện cần thiết để sử dụng library(cluster) library(ggplot2) library(factoextra) library(dplyr) library(ggstatsplot)

- Tiếp theo, chúng ta load file data csv data

Ngày đăng: 06/05/2024, 12:19

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Sự khác nhau giữa máy học có giám sát và máy học không giám sát - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.1 Sự khác nhau giữa máy học có giám sát và máy học không giám sát (Trang 7)
Hình 1.2: Mô tả khái niệm dùng trong thuật toán - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.2 Mô tả khái niệm dùng trong thuật toán (Trang 8)
Hình 1.3: Khoảng cách Euclidean - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.3 Khoảng cách Euclidean (Trang 9)
Hình 1.4: Biểu đồ Elbow - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.4 Biểu đồ Elbow (Trang 10)
Hình 1.6: Minh họa b(i) - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.6 Minh họa b(i) (Trang 11)
Hình 1.5: Minh họa a(i) - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.5 Minh họa a(i) (Trang 11)
Hình 1.8: Biểu đồ Gap Statistic - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.8 Biểu đồ Gap Statistic (Trang 13)
Hình 1.9: Sơ đồ thuật toán K-Means - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.9 Sơ đồ thuật toán K-Means (Trang 13)
Hình 1.10: Biểu đồ thể hiện khách hàng dựa trên thu nhập và số nợ - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.10 Biểu đồ thể hiện khách hàng dựa trên thu nhập và số nợ (Trang 15)
Hình 1.11: Phân tách khách hàng thành 2 cụm - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.11 Phân tách khách hàng thành 2 cụm (Trang 16)
Hình 1.12: Phân tách khách hàng thành 4 cụm - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.12 Phân tách khách hàng thành 4 cụm (Trang 16)
Hình 1.14:Biểu đồ với Cluster là 2 và Inertia là 1000 - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.14 Biểu đồ với Cluster là 2 và Inertia là 1000 (Trang 17)
Hình 1.13: Biểu đồ với trục x là Clusters, trục y là Inertia - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.13 Biểu đồ với trục x là Clusters, trục y là Inertia (Trang 17)
Hình 1.15: Biểu đồ sau khi tăng Cluster lên - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.15 Biểu đồ sau khi tăng Cluster lên (Trang 18)
Hình 1.16: Sự khác nhau giữa K-Means và K-Medoids - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.16 Sự khác nhau giữa K-Means và K-Medoids (Trang 19)
Hình 1.17: Sự khác nhau giữa phân cụm dữ liệu cứng và phân cụm dữ liệu mềm - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.17 Sự khác nhau giữa phân cụm dữ liệu cứng và phân cụm dữ liệu mềm (Trang 20)
Hình 1.18: Ảnh hưởng của outlier - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 1.18 Ảnh hưởng của outlier (Trang 22)
Bảng 1: Bảng mô tả dữ liệu - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Bảng 1 Bảng mô tả dữ liệu (Trang 24)
Hình 2.1: Kiểm tra giá trị null trong cột dữ liệu - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 2.1 Kiểm tra giá trị null trong cột dữ liệu (Trang 26)
Hình 2.2: Sử dụng phương pháp Elbow để tìm k tối ưu - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 2.2 Sử dụng phương pháp Elbow để tìm k tối ưu (Trang 30)
Hình 2.3: Sử dụng phương pháp Silhouette để tìm k tối ưu - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 2.3 Sử dụng phương pháp Silhouette để tìm k tối ưu (Trang 31)
Hình 2.4: Sử dụng phương pháp Gap Statistic để tìm k tối ưu - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 2.4 Sử dụng phương pháp Gap Statistic để tìm k tối ưu (Trang 32)
Bảng 2: Bảng so sánh thời gian thực thi của các phương pháp - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Bảng 2 Bảng so sánh thời gian thực thi của các phương pháp (Trang 33)
Hình 2.5: Đánh giá kết quả phân cụm với k=2 - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 2.5 Đánh giá kết quả phân cụm với k=2 (Trang 34)
Hình 2.6: Đánh giá kết quả phân cụm với k=3 - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 2.6 Đánh giá kết quả phân cụm với k=3 (Trang 35)
Hình 2.7: Kết quả phân cụm với k=3 - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 2.7 Kết quả phân cụm với k=3 (Trang 37)
Hình 2.8: Biểu đồ thể hiện tỉ lệ phân cụm - đồ án quá trình phân tích dữ liệu với rpython chủ đề thuật toán phân cụm k means và bài toán phân khúc khách hàng
Hình 2.8 Biểu đồ thể hiện tỉ lệ phân cụm (Trang 38)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w