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

Bài Tập Lớn Các Công Nghệ Hiện Đại Trong Công Nghệ Thông Tin.pdf

82 3 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 đề Phân Lớp Dữ Liệu
Tác giả Phùng Lê Minh, Nguyễn Khánh Minh, Phạm Vũ Ngọc Mùi, Đặng Phương Nam, Hoàng Khánh Nam
Người hướng dẫn TS. Nguyễn Trung Tuấn
Trường học Trường Đại Học Kinh Tế Quốc Dân
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài Tập Lớn
Định dạng
Số trang 82
Dung lượng 12,02 MB

Cấu trúc

  • CHƯƠNG I (8)
    • 1. Dữ liệu, thông tin, tri thức (8)
    • 2. Khám phá tri thức (9)
    • 3. Khai phá dữ liệu (11)
  • CHƯƠNG II (13)
    • 1. Khái niệm phân lớp dữ liệu (13)
    • 2. Vai trò phân lớp dữ liệu (0)
    • 3. Ứng d ng phân l p d ụ ớ ữ liệu (14)
    • 4. Quy trình phân lớp dữ liệu (15)
      • 4.1. Xây dựng mô hình (15)
      • 4.2. Sử dụng mô hình (16)
    • 5. Đánh giá phân lớp (16)
      • 5.1. Độ chính xác d đoán (Prediction Accuracy): ...................................... 15 ự 5.2. Tốc độ tính toán (Computational Efficiency) (16)
      • 5.3. Độ mạ nh (Robustness) (17)
      • 5.4. Khả năng m ở rộ ng (Scalability) (17)
      • 5.5. Hiểu được (Interpretability) (17)
    • 6. So sánh v ới phân cụm dữ liệ u (Data Clustering) (18)
    • 7. Các công cụ phân l p d ớ ữ liệu (19)
  • CHƯƠNG III (22)
    • 1. Cây quy ết đị nh (Decision Tree) (22)
      • 1.1. Khái niệm (22)
      • 1.2. Xây dựng cây quyết đị nh (23)
        • 1.2.1. Chọn thuộc tính gốc (23)
        • 1.2.2. Phân tách dữ liệ ........................................................................... 23 u: 1.2.3. Điều ki n dệ ừ ng (24)
      • 1.3. Một số dạ ng sơ đ cây:.......................................................................... 24 ồ 1.4. Một s ố vấ n đ ề liên quan (25)
        • 1.4.1. Ma trận lỗi (Confusion Matrix) (26)
        • 1.4.2. Độ lợ i thông tin (Information Gain) (27)
        • 1.4.3. Tình trạng quá kh p (Overfitting): ớ (0)
      • 1.5. Ưu điểm cây quyết định (0)
      • 1.6. Hạn chế cây quyết đị nh (30)
      • 1.7. Ứng d ng cây quy ụ ết đị nh (31)
    • 2. Mạng Nơ-ron (Neural Network) (32)
      • 2.1. Khái niệm mạng nơ-ron (32)
      • 2.2. Một s ố thuậ t ng ữ (33)
      • 2.3. Một số kiến trúc m ng nơ ạ -ron (0)
      • 2.4. Xây dựng m ng nơ ạ -ron (35)
        • 2.4.1. Thiế t kế Ki n trúc Mạ ế ng (0)
        • 2.4.2. Lựa ch n Hàm Kích Ho ọ ạt (35)
        • 2.4.3. Chọn hàm mất (loss function) (35)
        • 2.4.4. Huấn luy n M ệ ạ ng (35)
        • 2.4.5. Đánh giá và Điều chỉnh (36)
      • 2.5. Khắc phục tình trạng quá kh p (overfitting): ớ (36)
      • 2.6. Ưu điểm mạng nơ-ron (37)
      • 2.7. Hạn ch ế mạ ng nơ -ron (37)
      • 2.8. Ứng d ng m ng nơ ụ ạ -ron (38)
    • 3. Một số phương pháp khác (39)
      • 3.1. Phân lớp v ới k phầ ử gầ n t n nh ất (K-Nearest Neighbor) (39)
      • 3.2. Tiếp c n theo th ng kê (Naive Bayes): ậ ố (40)
      • 3.3. Hồi quy Logistic (Logistic Regression) (42)
      • 3.4. Máy vector hỗ ợ tr (Support Vector Machine - SVM) (44)
  • CHƯƠNG IV (46)
    • 1. Đặt vấn đề (46)
    • 2. Giới thiệu bài toán (47)
    • 3. Phân lớp d ữ liệ u v ớ i Python (49)
      • 3.1. Hướng d n cài đ ẫ ặt (49)
    • 4. Phân lớp d ữ liệ u v ớ i RapidMiner (0)
      • 4.1. Hướng d n cài đ ẫ ặt (66)
      • 4.2. Xây dựng cây quy ết đị nh b ng RapidMiner: ằ (0)
    • 5. Một số lưu ý (79)
    • 6. So sánh Python và RapidMiner (80)
  • TÀI LIỆU THAM KHẢO (0)

Nội dung

Trong cuộc hành trình này, "Phân lớp dữ liệu" đóng một vai trò then chốt, cho phép chúng ta xác định và dự đoán xu hướng, nhận biết những mô hình ẩn sau dữ liệu, và đưa ra quyết định thô

Dữ liệu, thông tin, tri thức

Hình 1: Mô hình DIK (Data Information Knowledge) - -

Dữ liệu là những thông tin thô chưa được xử lý, là nền tảng căn bản cho quá trình phân tích và phát hiện tri thức Thông tin là dữ liệu đã được xử lý và tổ chức thành dạng có ý nghĩa, cung cấp kiến thức hữu ích cho người dùng Tri thức là mức cao nhất của thông tin, đại diện cho sự hiểu biết sâu sắc, mô hình và mối quan hệ phức tạp được rút ra từ thông tin.

• Dữ liệu (Data): là mức cơ bản nhất và đơn giản nhất của thông tin Data là dạng các số liệu, kí tự, hoặc sự thực tả thực mà bản thân con người đều nhìn th y và thu th p h ng ngàyấ ậ ằ Dữ liệu không có ý nghĩa trong bản thân nó và c n phầ ải x lí và chuyử ển đổi thành thông tin hữu ích.

• Thông tin (Information): thường đư c định nghĩa là dữ liệu đã được xử ợ lý, lo i bạ ỏ những ph n dư thầ ừa, chuyển đổi thành những d ng, nhạ ững cấu trúc phù h p cho viợ ệc sử dụng của con người Thông tin mang l i ạ giá tr và sị ự hiểu biết, có thể gồm các ý nghĩa, liên kết, ngữ cảnh hoặc thông tin thêm vào mà dữ liệu ban đ u không có.ầ

• Tri thức (Knowledge): là s tích hự ợp của kinh nghiệm và thông tin bao gồm các quan hệ, sự đúng đ n đã được kiắ ểm nghi m, nhệ ững khám phá, những hi u biể ết,…Nói cách khác trí thức có thể xem là dữ liệ ở mức u cao c a quá trình trủ ừu tư ng và khái quát hoá Có thợ ể dẫn đ n sế ự hiểu biết sâu rộng và kh năng đưa ra quyả ế ịnh thông minh t đ

Khám phá tri thức

Quá trình Khám phá tri thức, thường đư c gọợ i là Khám phá tri thức trong

Cơ sở dữ liệu (Knowledge Discovery of Databases, viết t t là KDD)ắ , là quá trình tìm ra các mẫu n, xu hư ng và hi u biẩ ớ ể ết quý giá từ các lượng l n dớ ữ liệu Đây là một lĩnh vực đa ngành kết hợp các kỹ thuật từ khai phá dữ liệu, học máy, thống kê và qu n lý cơ sả ở dữ liệu để trích xu t tri thấ ức hữu ích từ dữ liệu nguyên bản Quy trình KDD thường bao gồ 5 hom ặc 7 giai đoạn:

Hình 2: Quy trình khám phá tri thức a Thu thập và Làm sạch Dữ ệu li (Data Acquiring & Cleaning): Quá trình b t đắ ầu b ng viằ ệc thu thập dữ liệu từ cơ sở dữ liệu và sau đó thực hiện các hoạt động làm sạch (xử lý nhiễu và không nhất quán) trên dữ liệu thu th p Sau khi các hoậ ạt động này thành công, dữ ệu đã được li chỉnh sửa sẽ được chuyển đ n Kho Dế ữ liệu (Data Warehouse). b Tích hợp Dữ ệu li (Data Intergration): Nếu cần thiết, d liữ ệu có thể được tích hợp từ một hoặc nhiều nguồn Dữ liệu khi tích h p có thợ ể cần phải làm sạch ở ớc đbư ầu, sau đó mới có thể chuyển vào Kho Dữ liệ u. Ngoài ra cần phả ậi l p kế hoạch tích hợp n u có nhi u ki u dế ề ể ữ liệu khác nhau (hình nh, âm thanh, )ả c Lựa chọn Dữ liệu (Data Selection): Chỉ các đ c điặ ểm d liệu c n thiữ ầ ết cho phân tích và mô hình hóa vấn đề đượ ực l a chọn Các đặc điểm dữ liệu khác gây nhi u đ n kễ ế ết quả cuối cùng sẽ được loại b Khi xác đỏ ịnh các đ c điặ ểm dữ liệu quan tr ng, chúng sọ ẽ được phân phối cho nhiều thành viên trong nhóm để phân tích chúng d Biến đổi Dữ liệu (Data Transformation): Dữ ệu sẽ li đuọc biến đổi để đảm bảo đ nh d ng phù h p cho viị ạ ợ ệc khai phá tri th Ví d , máy tính ức ụ không hi u dể ữ liệ ở dạu ng chữ cái ho c chặ ữ số thập phân Để hiểu được dữ liệu đó thì việc chuyển đổi sang dạng số là cần thi t ế e Khai phá Dữ liệu (Data Mining): Các thuật toán khai phá dữ liệu được áp dụng cho dữ liệu đã chu n bẩ ị để tìm ra các mẫu, liên hệ, cụm hoặc mô hình d đoán Các kự ỹ thuật khai phá dữ liệu phổ biến bao gồm phân loại, hồi quy, gom cụm và khai thác luậ ết k t hợp f Đánh giá Mẫu (Pattern Evaluation): Các mẫu dữ li u sau khi đư c ệ ợ khai phá sẽ được đánh giá và tùy thuộc vào vấn đề cụ thể sẽ tạo ra các tiêu chí đánh giá và chọn lọc mẫu dữ liệu trên g Trình bày Tri thức (Knowledge Presentation): Những hi u biể ết, mẫu hoặc mô hình cuối cùng được trình bày dưới dạng dễ ểu đối v i con hi ớ người, như báo cáo, biểu đồ ặho c bảng đi u khiểề n.

Khám phá tri thức đóng một vai trò quan trọng trong nhi u lĩnh về ực, bao gồm doanh nghi p, chăm sóc sệ ức kh e, tài chính và nghiên cỏ ứu khoa học Nó giúp tổ chức ra quyết định thông minh, phát hi n các bi u hi n bệ ể ệ ất thường và hi u sâu hơn ể về dữ liệu của họ.

Khai phá dữ liệu

Khai phá dữ liệu (Data Mining) là quá trình tính toán đ tìm ra các mể ẫu và thông tin trong các bộ dữ liệu l n Mớ ục tiêu tổng thể của quá trình khai thác dữ liệu là trích xu t thông tin tấ ừ mộ ộ dữ ệt b li u và chuy n nó thành một c u trúc dễ ể ấ hiểu để sử dụng ti p Khai phá dế ữ liệu là một trong các bước quan trọng nhất trong toàn bộ quá trình khám phá tri thức (KDD), triển khai các thuật toán chuyên dụng để chiết xu t ra các mấ ẫu cũng như các mô hình có ích từ dữ liệu.

Trong bối cảnh c nh tranh khạ ốc liệt hiện nay, các tổ chức/doanh nghiệp luôn tự ý thức đư c rợ ằng c n phầ ải đ t đưạ ợc một l i thợ ế cạnh tranh tốt nh t có th , trong ấ ể đó việc tìm ra và sử dụng các tri thức thông tin hữu ích n chẩ ứa trong dữ liệu có th trể ở thành m t công cộ ụ cạnh tranh c p chi n lưấ ế ợc.

Một số các kỹ thuật khai phá dữ liệu phổ biến hi n nayệ là:

• Phân lớp (Classification) là việc xác định một hàm mà nóánh x các ạ mục dữ liệu vào một trong nhiều l p đã đướ ợc xác đ nh trưị ớc Ví dụ: Ứng dụng tin nh n s phân loắ ẽ ại tin nhắn người gửi có phải là tin nhắn rác (spam) hay không trước khi người nhận nh n đưậ ợc

Hồi quy là quá trình xác định một hàm ánh xạ dữ liệu cho trước thành giá trị thực nhằm đưa ra dự đoán Trong bất động sản, hồi quy được sử dụng để ước tính giá của một ngôi nhà dựa trên các yếu tố như diện tích, số phòng ngủ, phòng tắm, vị trí và tuổi của ngôi nhà.

Phân cụm là một kỹ thuật thường dùng để mô tả, xác định các nhóm (category) hoặc các cụm mô tả dữ liệu Ví dụ, áp dụng phân cụm để phân tách khách hàng thành các nhóm dựa trên hành vi mua sắm của họ nhằm tối ưu hóa chiến dịch tiếp thị và cung cấp trải nghiệm cá nhân hóa.

Tóm tắt là quá trình tìm kiếm mô tả ngắn gọn và toàn diện cho một tập hợp dữ liệu cụ thể Người dùng có thể áp dụng các phương pháp tóm tắt khác nhau để đáp ứng các mục đích khác nhau Ví dụ, để cung cấp cho người đọc cách tiếp cận dễ dàng đến thông tin quan trọng, người ta quyết định sử dụng tóm tắt tự động để tạo bản tóm tắt ngắn cho mỗi bài viết.

• Mô hình hoá sự ụ ph thuộc (Dependency Modeling) bao gồm việc tìm một mô hình mà nó mô tả những s ph thuộc cơ bự ụ ản giữa các biến Ví dụ: Công ty bán lẻ muốn hi u rõ hơn vể ề cách các yế ố u t khác nhau nh ả hưởng đ n doanh s bán hàng cế ố ủa họ thì s thựẽ c hiện mô hình hóa

• Phát hiện thay đổi và chênh lệch (Change and Deviation Detection) tập trung vào việc phát hiện nh ng thay đữ ổi đáng chú ý trên dữ liệu từ những giá trị được đo trước đó Ví dụ: Website thương m i điạ ện t quan tr ng ử ọ sử dụng phát hi n thay đệ ổi đ theo dõi lưu lượng truy c p hàng ngày.ể ậ

Mỗi kỹ thuật khai phá dữ liệu có ứng d ng và mụ ục tiêu khác nhau Tùy thuộc vào loại dữ ệli u đang làm việc và m c tiêu ụ doanh nghi p mu n hư ng tệ ố ớ ới mã sẽ lựa chọn kỹ thu t khai phá phù hợp ậ

Khái niệm phân lớp dữ liệu

Hình 3: Phân lớp dữ liệu

Phân lớp (Classification) là m t trong kộ ỹ thuật khai phá dữ liệu Nó là quá trình khám phá các luật phân lo i hay đạ ặc trưng cho các t p dữ liệu đã đưậ ợc xếp lớp T p dậ ữ liệu học bao gồm tập đối tượng đã được xác định l p sớ ẽ được dùng để tạo mô hình phân l p dớ ựa trên đ c trưng c a đặ ủ ối tượng trong t p dậ ữ liệu học Các luật phân lớp được sử dụng đ xây d ng các b phân l p dể ự ộ ớ ữ ệu Mục tiêu chính li của phân lớp dữ li u là họệ c mô hình từ dữ liệu đào t o, sau đó sạ ử dụng mô hình này để dự đoán l p hoớ ặc nhãn c a các mủ ẫu dữ liệu chưa biết

2 Vai trò phân l p dớ ữ ệu: li

Phân lớp dữ liệu có vai trò quan tr ng trong nhi u lĩnh vọ ề ực và ứng d ng, và ụ nó đóng một số vai trò quan tr ng như sau:ọ a Phân loại dữ liệu: Phân lớp dữ liệu giúp xác đ nh l p hoị ớ ặc nhóm tương ứng cho các m u dẫ ữ liệu dựa trên các đ c trưng ho c thu c tính c a ặ ặ ộ ủ chúng Ví dụ, phân lớp dữ liệu có thể được sử dụng đ xác đ nh xem ể ị một email là spam hay không, hoặc để phân biệt giữa các loài động vật dựa trên hình dáng và kích thư c c a chúng.ớ ủ b Dự đoán: Phân lớp dữ liệu có thể được sử dụng để dự đoán các sự kiện tương lai hoặc kết quả tương lai dựa trên dữ liệu hi n tệ ại Ví d , dụ ự đoán thời ti t dế ựa trên dữ ệu lịli ch s khí tư ng hoử ợ ặc d đoán giá c phiếu ự ổ dựa trên dữ liệu tài chính. c Phát hiện thông tin quan trọng: Khi dữ liệu đã được phân loại, ngư i ờ sử dụng có thể tập trung vào việc phân tích và trích xuất thông tin quan trọng từ mỗi lớp riêng biệt Điều này giúp người sử dụng hi u sâu hơn ể về mỗi lớp và đưa ra quyế ịnh dựa trên thông tin này t đ d Phân lớp dữ liệu giúp tổ chức d liệu: Phân lớp cho phép s p x p và ữ ắ ế tổ chức d liệu thành các nhóm hoữ ặc lớp dựa trên các đ c trưng chung ặ Điều này giúp dễ dàng qu n lý và tìm kiả ếm dữ liệu trong t p dậ ữ liệ ớn u l

3 Ứng d ng phân l p dụ ớ ữ liệu:

Phân lớp dữ liệu có rất nhiều ng d ng quan tr ng và đa d ng trong nhi u ứ ụ ọ ạ ề lĩnh vực đờ ống khác nhau, cụ thể i s như: a Phát hiện Spam: Một trong những ứng d ng phân l p phụ ớ ổ biến nhất là phát hi n thư rác (spam) trong h p thư đ n Hệ ộ ế ệ thống phân l p đướ ợc sử dụng đ xác đ nh xem mể ị ột email có ph i là spam hay không.ả b Phân loại Văn bản: Phân lớp dữ liệu được sử dụng trong phân loại văn bản, bao gồm việc phân loại tin tức, tự động gán thẻ cho email, phát hiện ngôn ngữ trong văn bản, và nhi u ng d ng liên quan khác.ề ứ ụ c Chẩn đoán Y tế: Trong lĩnh vực y tế, phân lớp dữ liệu được sử dụng để chẩn đoán b nh dệ ựa trên thông tin về bệnh nhân, kết quả xét nghiệm, hồ sơ y tế và hình nh y khoa.ả d Tự động Gợi ý: Các dịch vụ trực tuyến thư ng sờ ử dụng phân l p dớ ữ liệu để tạo các gợi ý dựa trên hành vi trư c đó c a ngướ ủ ời dùng Ví d , ụ gợi ý sản phẩm mua hàng trực tuyến hoặc gợi ý video xem trên các nền tảng giải trí e Phân loại Tài liệu và Văn b n Pháp lý: ả Trong lĩnh vực pháp lý và luật pháp, phân l p dớ ữ liệu được sử dụng để phân loại và tổ chức các tài liệu và văn b n pháp lý, giúp trong viả ệc quản lý hồ sơ và tìm kiếm thông tin cụ ể th f Dự đoán Tài chính và Kinh doanh: Trong tài chính, phân lớp d liệu ữ có thể được sử dụng để dự đoán xu hư ng thớ ị trường, đánh giá rủi ro đầu tư, và phân loại khách hàng dựa trên hành vi tài chính g Phân loại Đ i tưố ợng trong Xử lý Ảnh: Phân lớp dữ liệu có thể ợc đư sử dụng đ xác đ nh các để ị ối tượng cụ thể trong x lý ử ảnh, như phát hi n ệ xe tự lái, phân bi t giệ ữa loạ ộng vậi đ t trong thảm cỏ, và nhiều ứng d ng ụ khác trong lĩnh vực thị giác máy tính. h Phát hiện Xâm nh p và Bậ ảo mật Mạng: Trong lĩnh vực bảo mật mạng, phân l p dớ ữ liệu có thể được sử dụng đ phát hi n các hoể ệ ạt động xâm nhập và gian l n trên mậ ạng. i Quản lý Hệ thống và Tài sản: Phân lớp dữ ệu có thli ể được sử dụng để quản lý h thống và tài s n, như d đoán khi nào c n b o trì hoệ ả ự ầ ả ặc thay thế một thành phần

Như vậy, phân lớp dữ liệu có nhi u ng d ng quan tr ng trong các lĩnh về ứ ụ ọ ực khác nhau, giúp t o ra giá trạ ị từ dữ liệu và tri thức t thông tin đã được phân loại.ừ

4 Quy trình phân lớp dữ liệu:

Quá trình phân lớp dữ liệu được tiến hành theo 2 bước: xây dựng mô hình và sử dụng mô hình

Xây dựng mô hình là mô tả một tập nh ng l p đưữ ớ ợc định nghĩa trước trong đó: mỗi bộ hoặc mẫu được gán thu c vộ ề một lớp được định nghĩa trước như là được xát định b i thuộc tính nhãn lở ớp, t p hậ ợp của những bộ ợc sử dụng trong đư việc sử dụng mô hình được gọi là tập hu n luy n Mô hình đưấ ệ ợc biểu di n là nh ng ễ ữ luật phân lớp, cây quyế ịnh và nh ng công tht đ ữ ức toán học

Bước đầu tiên là xác định các l p hoớ ặc nhãn (Class Definition) mà cần phân lớp dữ liệu thành Đi u này có th bao gề ể ồm việc định nghĩa các danh mục ho c ặ kết quả muốn d đoán Sau đó, tạo t p dự ậ ữ liệu hu n luy n (Training Dataset)ấ ệ , chứa các mẫu dữ liệu được gán nhãn với lớp tương ứng Đây là t p dậ ữ liệu mà mô hình sẽ họ ừ c t Cuối cùng, sử dụng t p dậ ữ liệu hu n luy n đấ ệ ể xây dựng mô hình phân l p (Model Construction)ớ Mô hình có thể bao gồm các luật phân lớp, cây quyết định, công thức toán h c, ho c mọ ặ ột mạng nơ-ron, tùy thuộc vào thuật toán được sử dụng.

Để sử dụng mô hình phục vụ cho mục đích phân loại dữ liệu trong tương lai hoặc phân lớp cho những đối tượng chưa biết, trước hết, ta cần đánh giá tính chính xác của mô hình Quá trình này gồm việc so sánh nhãn được biết của mẫu kiểm tra với kết quả phân lớp của mô hình, độ chính xác chính là tỷ lệ phần trăm so sánh đó.

Sau khi mô hình đã được đánh giá và chứng minh là có hi u suệ ất chấp nh n, ậ người dùng có thể sử dụng mô hình đ phân l p dể ớ ữ liệu trong tương lai hoặc đối tượng m i chưa bi t đớ ế ến Mô hình s gán các m u dẽ ẫ ữ ệu cho các l p tương ng li ớ ứ dựa trên kiến thức đã học

5 Đánh giá phân lớp: Đánh giá phân lớp dữ liệu là một bước quan trọng trong quá trình xây d ng ự mô hình học máy ệc đánh giá giúpVi đo lư ng hi u suờ ệ ất của mô hình hiện t và ại xác đ nh xem nó có hoị ạt động tốt trong việc dự đoán dữ liệu mới hay không Để đánh giá một mô hình phân lớp dữ liệ có thu ể dựa trên 5 tiêu chí sau:

5.1 Độ chính xác d đoán (Prediction Accuracy): ự Độ chính xác là một độ đo cơ b n đả ể biết mô hình hiện tại dự đoán đúng bao nhiêu ph n trămầ Độ chính xác cao th hiệể n mô hình tốt hơn trong việc dự đoán Để tính đ chính xác có thộ , ể sử dụng công thức: Độ#chính#xác =Số#dự#đoán đúng#

Tổ #số#dự#ng đoán#(%)

5.2 Tốc độ tính toán (Computational Efficiency):

Tốc độ tính toán là yếu t quan tr ng khi mô hình phân l p đưố ọ ớ ợ ứng d ng c ụ trong các ứng dụng xử lý dữ liệu thời gian thực ho c trên các tài nguyên hặ ạn chế Để đánh giá tốc đ tính toán có th đo thời gian đ huấn luy n mô hình và ộ , ể ể ệ thời gian để ực hiện dự đoán th

5.3 Độ mạnh (Robustness): Độ mạnh của mô hình đo lường khả năng của nó để hoạt động tốt trên dữ liệu ngoại vi ho c dặ ữ li u nhiệ ễu Một mô hình mạnh sẽ gi đưữ ợc hiệu su t t t ngay cấ ố ả khi dữ liệu bị nhiễu hoặc có các giá trị ngoại lệ Để đánh giá độ mạnh của mô hình, có th th nghiệm mô hình trên các tập ể ử dữ liệu ngoại vi ho c thêm nhiặ ễu

5.4 Khả năng mở rộng (Scalability):

Khả năng mở rộng đánh giá kh năng cả ủa mô hình hoạt động vớ ữ li u l n i d ệ ớ và có thể mở rộng đ đáp ng nhu c u cể ứ ầ ủa môi trường thực tế Để đánh giá kh năng mả ở rộng, có th đánh giá mô hình trên các t p dể ậ ữ liệu lớn đ xem li u nó có thể ệ ể xử lý chúng m t cách hiộ ệu qu hay không.ả

5.5 Hiểu được (Interpretability): Độ hiểu được đo lường kh năng cả ủa mô hình đư c giợ ải thích hoặc giám sát Một mô hình hiểu được là mô hình mà có thể ảgii thích t i sao nó đưa ra các dạ ự đoán cụ ể th và cách nó sử dụng các đặc trưng trong quá trình phân lo i ạ Để đánh giá kh năng hi u đưả ể ợc c a mô hình, cóủ thể sử dụng các công cụ hoặc kỹ thu t để ải thích quy t đậ gi ế ịnh của mô hình

Khi đánh giá mô hình phân l p ớ có thể sử dụng nhi u phương pháp đánh giá, ề chẳng h n như chia dạ ữ liệu thành t p hu n luy n và t p kiậ ấ ệ ậ ểm tra, sử dụng ma tr n ậ lỗi (confusion matrix), tính toán độ chính xác, và theo dõi các tiêu chí khác nhau để đảm bảo mô hình đáp ng các yêu c u cứ ầ ụ thể của ứng d ng cụ ủa người sử dụ ng

6 So sánh với phân cụm dữ liệu (Data Clustering):

Ứng d ng phân l p d ụ ớ ữ liệu

Phân lớp dữ liệu có rất nhiều ng d ng quan tr ng và đa d ng trong nhi u ứ ụ ọ ạ ề lĩnh vực đờ ống khác nhau, cụ thể i s như: a Phát hiện Spam: Một trong những ứng d ng phân l p phụ ớ ổ biến nhất là phát hi n thư rác (spam) trong h p thư đ n Hệ ộ ế ệ thống phân l p đướ ợc sử dụng đ xác đ nh xem mể ị ột email có ph i là spam hay không.ả b Phân loại Văn bản: Phân lớp dữ liệu được sử dụng trong phân loại văn bản, bao gồm việc phân loại tin tức, tự động gán thẻ cho email, phát hiện ngôn ngữ trong văn bản, và nhi u ng d ng liên quan khác.ề ứ ụ c Chẩn đoán Y tế: Trong lĩnh vực y tế, phân lớp dữ liệu được sử dụng để chẩn đoán b nh dệ ựa trên thông tin về bệnh nhân, kết quả xét nghiệm, hồ sơ y tế và hình nh y khoa.ả d Tự động Gợi ý: Các dịch vụ trực tuyến thư ng sờ ử dụng phân l p dớ ữ liệu để tạo các gợi ý dựa trên hành vi trư c đó c a ngướ ủ ời dùng Ví d , ụ gợi ý sản phẩm mua hàng trực tuyến hoặc gợi ý video xem trên các nền tảng giải trí e Phân loại Tài liệu và Văn b n Pháp lý: ả Trong lĩnh vực pháp lý và luật pháp, phân l p dớ ữ liệu được sử dụng để phân loại và tổ chức các tài liệu và văn b n pháp lý, giúp trong viả ệc quản lý hồ sơ và tìm kiếm thông tin cụ ể th f Dự đoán Tài chính và Kinh doanh: Trong tài chính, phân lớp d liệu ữ có thể được sử dụng để dự đoán xu hư ng thớ ị trường, đánh giá rủi ro đầu tư, và phân loại khách hàng dựa trên hành vi tài chính g Phân loại Đ i tưố ợng trong Xử lý Ảnh: Phân lớp dữ liệu có thể ợc đư sử dụng đ xác đ nh các để ị ối tượng cụ thể trong x lý ử ảnh, như phát hi n ệ xe tự lái, phân bi t giệ ữa loạ ộng vậi đ t trong thảm cỏ, và nhiều ứng d ng ụ khác trong lĩnh vực thị giác máy tính. h Phát hiện Xâm nh p và Bậ ảo mật Mạng: Trong lĩnh vực bảo mật mạng, phân l p dớ ữ liệu có thể được sử dụng đ phát hi n các hoể ệ ạt động xâm nhập và gian l n trên mậ ạng. i Quản lý Hệ thống và Tài sản: Phân lớp dữ ệu có thli ể được sử dụng để quản lý h thống và tài s n, như d đoán khi nào c n b o trì hoệ ả ự ầ ả ặc thay thế một thành phần

Như vậy, phân lớp dữ liệu có nhi u ng d ng quan tr ng trong các lĩnh về ứ ụ ọ ực khác nhau, giúp t o ra giá trạ ị từ dữ liệu và tri thức t thông tin đã được phân loại.ừ

Quy trình phân lớp dữ liệu

Quá trình phân lớp dữ liệu được tiến hành theo 2 bước: xây dựng mô hình và sử dụng mô hình

Xây dựng mô hình là mô tả một tập nh ng l p đưữ ớ ợc định nghĩa trước trong đó: mỗi bộ hoặc mẫu được gán thu c vộ ề một lớp được định nghĩa trước như là được xát định b i thuộc tính nhãn lở ớp, t p hậ ợp của những bộ ợc sử dụng trong đư việc sử dụng mô hình được gọi là tập hu n luy n Mô hình đưấ ệ ợc biểu di n là nh ng ễ ữ luật phân lớp, cây quyế ịnh và nh ng công tht đ ữ ức toán học

Đầu tiên, xác định các lớp cần phân loại dữ liệu thành, bao gồm định nghĩa danh mục hoặc kết quả dự đoán Tiếp theo, tạo tập dữ liệu huấn luyện có các mẫu dữ liệu đã gán nhãn lớp tương ứng Cuối cùng, sử dụng tập dữ liệu huấn luyện để xây dựng mô hình phân loại, có thể là luật phân loại, cây quyết định, công thức toán học hoặc mạng nơ-ron tùy thuộc vào thuật toán sử dụng.

Việc sử dụng mô hình phục v cho m c đích phân lụ ụ ớp dữ liệu trong tương lai hoặc phân lớp cho nh ng đữ ối tượng chưa biết đến Trước khi sử dụng mô hình người ta thường phải đánh giá tính chính xác của mô hình trong đó: nhãn đư c ợ biết của m u kiẫ ểm tra được so sánh với k t quế ả phân l p cớ ủa mô hình, đ chính ộ xác là ph n trămầ

Sau khi mô hình đã được đánh giá và chứng minh là có hi u suệ ất chấp nh n, ậ người dùng có thể sử dụng mô hình đ phân l p dể ớ ữ liệu trong tương lai hoặc đối tượng m i chưa bi t đớ ế ến Mô hình s gán các m u dẽ ẫ ữ ệu cho các l p tương ng li ớ ứ dựa trên kiến thức đã học.

Đánh giá phân lớp

Đánh giá phân lớp dữ liệu là một bước quan trọng trong quá trình xây d ng ự mô hình học máy ệc đánh giá giúpVi đo lư ng hi u suờ ệ ất của mô hình hiện t và ại xác đ nh xem nó có hoị ạt động tốt trong việc dự đoán dữ liệu mới hay không Để đánh giá một mô hình phân lớp dữ liệ có thu ể dựa trên 5 tiêu chí sau:

5.1 Độ chính xác d đoán (Prediction Accuracy): ự Độ chính xác là một độ đo cơ b n đả ể biết mô hình hiện tại dự đoán đúng bao nhiêu ph n trămầ Độ chính xác cao th hiệể n mô hình tốt hơn trong việc dự đoán Để tính đ chính xác có thộ , ể sử dụng công thức: Độ#chính#xác =Số#dự#đoán đúng#

Tổ #số#dự#ng đoán#(%)

5.2 Tốc độ tính toán (Computational Efficiency):

Tốc độ tính toán là yếu t quan tr ng khi mô hình phân l p đưố ọ ớ ợ ứng d ng c ụ trong các ứng dụng xử lý dữ liệu thời gian thực ho c trên các tài nguyên hặ ạn chế Để đánh giá tốc đ tính toán có th đo thời gian đ huấn luy n mô hình và ộ , ể ể ệ thời gian để ực hiện dự đoán th

5.3 Độ mạnh (Robustness): Độ mạnh của mô hình đo lường khả năng của nó để hoạt động tốt trên dữ liệu ngoại vi ho c dặ ữ li u nhiệ ễu Một mô hình mạnh sẽ gi đưữ ợc hiệu su t t t ngay cấ ố ả khi dữ liệu bị nhiễu hoặc có các giá trị ngoại lệ Để đánh giá độ mạnh của mô hình, có th th nghiệm mô hình trên các tập ể ử dữ liệu ngoại vi ho c thêm nhiặ ễu

5.4 Khả năng mở rộng (Scalability):

Khả năng mở rộng đánh giá kh năng cả ủa mô hình hoạt động vớ ữ li u l n i d ệ ớ và có thể mở rộng đ đáp ng nhu c u cể ứ ầ ủa môi trường thực tế Để đánh giá kh năng mả ở rộng, có th đánh giá mô hình trên các t p dể ậ ữ liệu lớn đ xem li u nó có thể ệ ể xử lý chúng m t cách hiộ ệu qu hay không.ả

5.5 Hiểu được (Interpretability): Độ hiểu được đo lường kh năng cả ủa mô hình đư c giợ ải thích hoặc giám sát Một mô hình hiểu được là mô hình mà có thể ảgii thích t i sao nó đưa ra các dạ ự đoán cụ ể th và cách nó sử dụng các đặc trưng trong quá trình phân lo i ạ Để đánh giá kh năng hi u đưả ể ợc c a mô hình, cóủ thể sử dụng các công cụ hoặc kỹ thu t để ải thích quy t đậ gi ế ịnh của mô hình

Khi đánh giá mô hình phân l p ớ có thể sử dụng nhi u phương pháp đánh giá, ề chẳng h n như chia dạ ữ liệu thành t p hu n luy n và t p kiậ ấ ệ ậ ểm tra, sử dụng ma tr n ậ lỗi (confusion matrix), tính toán độ chính xác, và theo dõi các tiêu chí khác nhau để đảm bảo mô hình đáp ng các yêu c u cứ ầ ụ thể của ứng d ng cụ ủa người sử dụ ng

So sánh v ới phân cụm dữ liệ u (Data Clustering)

Phân cụm dữ liệu (Data Clustering) là m t kộ ỹ thuật trong lĩnh vực khai phá dữ liệu (data mining) và học máy (machine learning), đư c sợ ử dụng để tự động phân loại các mẫu dữ liệu thành các nhóm hoặc cụm dựa trên đặc trưng chung hoặc sự tương tự giữa chúng M c tiêu c a phân cụ ủ ụm là tìm cấu trúc n trong dữ ẩ liệu mà không c n thông tin vầ ề lớp hoặc nhãn c a các mủ ẫu

Phân lớp và phân cụm đều là hai kỹ thuật quan trọng trong khai phá dữ liệu, song, chúng có nhiều điểm khác biệt, tùy thuộc vào m c đích sụ ử dụng mà có thể lựa chọn kỹ thu t hợp lí hoặậ c kết hợp c hai kả ỹ thu t ậ

Tiêu chí so sánh Phân lớp dữ ệu li

Phân cụm dữ ệu li

Mục tiêu là d đoán nhãn ự của một mẫu dữ liệu mới dựa trên các thông tin về nhãn có sẵn của mẫu

Mục tiêu là tìm cấu trúc n ẩ trong dữ liệu mà không c n ầ thông tin về lớp hoặc nhãn của các mẫu

Cách hoạt động Gán các mẫu dữ liệu vào các lớp hoặc nhãn đư c ợ định trước

Tìm những cụm hoặc nhóm t nhiên trong dự ữ liệu mà không c n biết ầ trước thông tin

Dữ liệu đ u vàoầ Mẫu dữ liệu được huấn luyện đã được biết trư c ớ nhãn hoặc lớp

Mẫu dữ liệu được huấn luyện không được biết trước nhãn ho c lặ ớp

Học có giám sát (Supervised learning) vì mô hình học từ tập dữ liệu hu n ấ luyện có nhãn

Học không giám sát (Unsupervised learning) vì không c n thông tin nhãn ầ trước.

Các công cụ phân l p d ớ ữ liệu

Python được tạo ra vào nh ng năm 1980 bữ ởi Guido van Rossum t i Hà Lan.ạ Python là một ngôn ngữ lập trình thông dịch, mạnh mẽ và ph biến, nổ ổi tiếng với cú pháp dễ đọc và hiểu Python cũng là một ngôn ngữ mạnh m trong viẽ ệc phân lớp dữ liệu với nhiều thư vi n phệ ổ biến, có thể kể đến như:

• scikit-learn (vi t t t là sklearn)ế ắ : là m t thư viộ ện Python mã ngu n mồ ở ph biổ ến và m nh mạ ẽ cho h c máy (machine learning) và phân lọ ớp dữ liệu (data classification) Thư vi n này cung c p các công c và thuệ ấ ụ ật toán cho nhiều nhiệm vụ học máy, bao gồm phân lớp, h i quy, phân ồ cụm, rút gọn chi u dề ữ liệu, và nhi u nhiề ệm vụ khác

TensorFlow là thư viện mã nguồn mở và framework học máy do Google phát triển Thường được ứng dụng trong khoa học dữ liệu và trí tuệ nhân tạo, TensorFlow giúp xây dựng các mô hình dự đoán và phân loại từ dữ liệu có cấu trúc và không cấu trúc Đây là thư viện học máy phổ biến và mạnh mẽ, được sử dụng rộng rãi trong ngành công nghiệp và nghiên cứu khoa học dữ liệu.

• Numerical Python (viết t t là NumPy):ắ là m t thư viộ ện cho xử lý mảng số học và d liệu đa chi u Nó cung c p hữ ề ấ ỗ ợ tr cho các loại d liệu đặc ữ biệt, bao gồm mảng (arrays) và ma tr n, và nhi u phép toán số họậ ề c để thực hiện các tính toán số học nhanh chóng và hiệu quả

• Pandas: là m t thư viộ ện xử lý dữ liệu và phân tích dữ liệu Nó cung c p ấ cấu trúc dữ liệu d ng b ng, gạ ả ọi là DataFrame, giúp người dùng làm việc với dữ liệu có c u trúc như các b ng dấ ả ữ liệu b R:

R là một ngôn ngữ lập trình mà nhi u nhà phân tích dề ữ liệu, nhà khoa học dữ liệu, nhà th ng kê số ử dụng cho mục đích phân tích dữ ệli u và thực hi n phân tích ệ thống kê b ng bi u đ và các công cằ ể ồ ụ ựtr c quan khác R bắ ầt đ u vào nh ng năm ữ

1990 tại Đ i học Auckland, New Zealand Ngôn ngữ ạ này phát tri n tể ừ ngôn ngữ

S, một ngôn ngữ th ng kê trước đó ố

R nhanh chóng trở thành một công cụ phổ biến trong ngành thống kê và khoa học dữ liệu Nó là một công cụ mạnh mẽ cho phân tích thống kê và số, thực hiện các kiểm định thống kê, hồi quy và phân tích biến thể R còn được sử dụng trong thống kê dự đoán và mô hình tự học tại các viện nghiên cứu và trong lĩnh vực tài chính.

MATLAB (Matrix Laboratory) là một môi trư ng tính toán và ngôn ngờ ữ lập trình phát triển bởi MathWorks Nó được thiế ế đặc biệt k t cho việc th c hiự ện tính toán số học, phân tích d liệu, và mô ph ng trong lĩnh vữ ỏ ực khoa h c và kọ ỹ thu t.ậ MATLAB được phát triển l n đ u vào nh ng năm 1980 và đã trầ ầ ữ ở thành m t trong ộ những môi trư ng tính toán phân tán phờ ổ biến nhất trong khoa học và kỹ thu t.ậ

MATLAB cung cấp các công cụ cho th c hiự ện các tính toán th ng kê, hố ồi quy, và phân tích bi n thế ể Nó cũng được sử dụng trong việc mô phỏng và mô hình hoá các hệ thống phức tạp d SQL Server:

Microsoft SQL Server, thường được gọi là SQL Server, là m t hộ ệ thống qu n ả lý cơ sở dữ liệu (Database Management System - DBMS) được phát triển bởi Microsoft SQL Server bắt đ u vào nh ng năm 1980 và đã trầ ữ ải qua nhiều phiên bản và cả ếi ti n kể từ đó

SQL Server là một trong những hệ thống qu n lý cơ sả ở dữ liệu phổ biến nhất trên thế giới và được sử dụng r ng rãi trong các ộ ứng d ng doanh nghi p và các dụ ệ ự án phát triển ph n m m SQL Server cũng có hỗ ợ ầ ề tr các k thuật khai phá d liệu ỹ ữ như cây quyết định, hồi quy,… e PowerBI:

Power BI là một nền t ng Business Intelligence (BI) m nh mả ạ ẽ được phát triển bởi Microsoft Nó cho phép ngư i dùng k t n i, phân tích, và trờ ế ố ực quan hóa dữ liệu từ nhi u ngu n khác nhau đề ồ ể tạo ra báo cáo và bi u để ồ ống kê đáng tin c y th ậ và trực quan Power BI ban đầu được phát hành b i Microsoft vào năm 2013 và ở đã trở thành m t trong nhộ ững công cụ BI ph biếổ n nhất trên thế giới

Trong phân lớp dữ liệu, Power BI cho phép người dùng tạo các bi u thể ức DAX (Data Analysis Expressions) để thiết lập quy t c phân lớp d liệu dựa trên ắ ữ các điều ki n Ví d doanh nghiệ ụ, ệp có thể sử dụng DAX để tạo cột tính, phân lo i ạ dữ liệu thành các nhóm dựa trên giá trị của các cột khác Power BI còn hỗ ợ tr tích hợp trí tuệ nhân t o đạ ể thực hiện d đoán và phân tích d liệu một cách tự ữ ự động. f RapidMiner:

RapidMiner là nền tảng phân tích dữ liệu và khai phá tri thức mạnh mẽ, dễ sử dụng RapidMiner được phát triển để giúp các nhà phân tích dữ liệu, nhà khoa học dữ liệu và những người làm việc trong lĩnh vực trí tuệ nhân tạo nhanh chóng trích xuất thông tin quan trọng từ dữ liệu và xây dựng các mô hình dự đoán và phân tích RapidMiner, ban đầu được gọi là YALE (Yet Another Learning Environment), bắt đầu vào những năm 2001 tại Đại học Dortmund ở Đức Sau đó, nó đã phát triển và trở thành một bộ sản phẩm phần mềm phân tích dữ liệu phổ biến.

RapidMiner cung cấp một giao di n đồ họa tr c quan, cho phép ngưệ ự ời dùng kéo và thả các phần xử lý d liệữ u và mô hình để tạo lu ng công viồ ệc phân tích dữ liệu RapidMiner hỗ ợ tr khai phá tri thức và h c máy thông qua các công cọ ụ và thuật toán mạnh mẽ Nó có nhiều thuật toán cho phân tích và dự đoán dữ liệu Nó hỗ trợ tích hợp trí tu nhân t o, cho phép ngưệ ạ ời dùng sử dụng mô hình học máy để dự đoán và phân tích d liệu tữ ự động.

Cây quy ết đị nh (Decision Tree)

Hình 4: Sơ đồ cây quyết định

Cây quyết định (Decision Tree) là một thu t toán máy hậ ọc có cấu trúc dữ liệu giống như cây, được sử dụng r ng rãi trong viộ ệc phân loại và dự đoán Cây quyết định t o ra mạ ột mô hình dự đoán b ng cách hằ ọc từ dữ liệu hu n luy n và xây d ng ấ ệ ự một lo t các quy tạ ắc quyế ịnh dựa trên các thu c tính c a dt đ ộ ủ ữ liệu đ u vào.ầ

Quá trình xây dựng cây quyết định bắt đầu b ng viằ ệc chọn thuộc tính tốt nh t ấ để phân tách d liệu Thuữ ộc tính t t nh t đưố ấ ợc xác định dựa trên các tiêu chí như độ tách bi t giệ ữa các lớp, độ tương đồng bên trong l p và đớ ộ đồng nhấ ủa các t c mẫu Sau khi phân tách, cây ti p tế ục xây dựng các nhánh con và ti p tế ục quá trình phân loại cho đến khi đạt được điều ki n d ng, ch ng h n như đệ ừ ẳ ạ ạt đến một lớp duy nhất ho c không còn thuộc tính để ặ phân tách.

Một cây quy t đế ịnh cơ bản có cấu trúc gồm:

• Nút Gốc (Root Node) là nút đầu tiên của cây và đại di n cho toàn bệ ộ tập dữ liệu hu n luy n Tấ ệ ại nút gốc, quy t địế nh về việc phân chia d liệu ữ được th c hiệự n b ng cách ch n thuằ ọ ộc tính tốt nh t dấ ự trên các tiêu chí a như độ thuần khiết ho c entropy ặ

• Nút Trong (Internal Node) là nút trong cây ngoại trừ nút lá Chúng đại diện cho quyết định phân chia dữ liệu dựa trên giá trị của một thuộc tính cụ thể M i nút n i có nhiỗ ộ ều nhánh con, mỗi nhánh con tương ứng với một giá trị của thu c tính.ộ

• Nút Lá (Leaf Node) là nút cu i cùng cố ủa cây và đại diện cho các l p cớ ụ thể hoặc giá trị dự đoán Khi mộ ốt đ i tượng đi từ nút gốc đến nút lá, nó được phân loại là thuộc về lớp tương ng vứ ới nút lá.

• Nhãn (Label) của một nút là tên của các giá trị thuộc tính, đượ ử dụng c s để phân chia d liệu tại các nút nội M t nhánh n i nút này đữ ộ ố ến các cây con tương ứng với m i k t quỗ ế ả có th có phép thể ử Nhãn của nhánh là các giá trị của thu c tính đó.ộ

1.2 Xây dựng cây quyết định:

Thuật toán xây dựng cây quyết định là một quá trình cơ bản Nó b t đắ ầu b ng ằ việc chọn t ng biừ ến đ u vào chưa đưầ ợc chọn và đo lư ng mờ ức độ tăng đ tinh ộ khiết trong k t qu tương ế ả ứng vớ ừng bi n Sau đó, mi t ế ột phép tách t t nh t số ấ ẽ được áp dụng để tạo ra hai hoặc nhiều nút con Trư ng h p không có phép tách ờ ợ nào khả thi (do s lượố ng b n ghi quá ít) hoả ặc không có phép tách nào làm tăng độ tinh khi t, thu t toán sế ậ ẽ kết thúc và nút đó sẽ trở thành m t nút lá.ộ

Để xây dựng cây quyết định, dữ liệu huấn luyện gồm một tập hợp các bản ghi đã được phân loại, tức là giá trị mục tiêu cho mỗi trường hợp đều được xác định Cây quyết định được xây dựng bằng cách chia các bản ghi tại mỗi nút dựa trên một thuộc tính đầu vào Nhiệm vụ ban đầu là lựa chọn thuộc tính cung cấp khả năng phân chia tốt nhất tại nút đó Độ tinh khiết được sử dụng để đánh giá độ hiệu quả của việc phân chia.

Mặc dù có nhiều phương pháp tính toán độ tinh khiết khác nhau, nhưng chúng đều cố gắng đạt được m c tiêu giụ ống nhau Một s phân tách tốt nh t là sự ấ ự phân tách làm tăng đ tinh khi t cộ ế ủa tập dữ liệu với mức đ cao nhộ ất có th Để ồng thời, sự phân tách tốt cũng cần t o ra các nút con có kích thưạ ớc tương tự nhau hoặc ít nhất là không tạo ra các nút con có quá ít b n ghi đả ể đảm bảo tính cân b ng cằ ủa cây

1.2.2.Phân tách dữ ệu: li

Dữ liệu hu n luy n đưấ ệ ợc phân chia thành các phân nhóm con dựa trên giá trị của thu c tính g c Mộ ố ỗi giá trị của thu c tính tộ ạo ra một nhánh con tương ứng Điều này t o ra các nút nạ ội m i và m i nút n i đ i diớ ỗ ộ ạ ện cho một giá trị thuộc tính. Phân tách dữ liệu trên bi n đ u vào có thế ầ ể thực hiện thông qua nhi u phương pháp ề khác nhau, tùy thuộc vào loại biến và mục tiêu c a mô hình ủ Đối v i biớ ến kiểu số, chúng ta có thể thực hiện phân tách nh phân dị ựa trên một ngưỡng (threshold) cụ thể, ví d : X < N, trong đó X là giá trụ ị của biến và N là một ngưỡng đã được chọn Đi u này có thề ể biến mỗi giá trị của biến thành một giá trị dự tuyển Để tối ưu hóa hiệu suất, m t sộ ố thuật toán chỉ kiểm tra trên mộ ập t t con c a các giá trủ ị bi n thay vì toàn bế ộ tập giá trị Đối v i biớ ến đ nh tính,ị một phương pháp đơn giản là t o ra một nhánh cho ạ mỗi giá trị của biến, tương ng vứ ới m t lộ ớp được phân loại Tuy nhiên, cách làm này thư ng không hi u quờ ệ ả Một phương pháp phổ biến hơn là nhóm các l p có ớ dự đoán tương tự lại v i nhau Nớ ếu hai l p cớ ủa bi n đ u vào ch khác nhau trong ế ầ ỉ một khoảng cho phép, thì có thể hợp nhất chúng l i v i nhau.ạ ớ

Cây quyết định có kh năng xả ử lý các giá trị bị thiếu b ng cách coi giá trằ ị rỗng (NULL) như một nhánh của nó Thay vì loạ ỏ các bải b n ghi có giá trị thiếu hoặc cố gắng gán giá tr nào đó cho chúng, chúng ta có thị ể xử lý giá trị bị thiếu như một nhánh riêng r trong cây M i nút có thẽ ỗ ể chứa nhiều luật phân tách, và mỗi phép phân tách có thể dựa trên các biến đ u vào khác nhau.ầ

1.2.3.Điều ki n dệ ừng: Điều ki n d ng trong quá trình xây d ng cây quyệ ừ ự ết định là quan tr ng đọ ể đảm bảo mô hình không bị quá kh p (overfitting) và có kh năng t ng quát hóa tớ ả ổ ốt trên dữ liệu mới Quá trình phân chia tiếp tục cho đến khi một trong các điều ki n dệ ừng sau được th a mãnỏ :

• Tất cả các mẫu rơi vào cùng mộ ớp: Khi tất l t cả các m u trong một nút ẫ thuộc về cùng một lớp, cây có thể dừng tại nút đó và không tiếp tục phân chia Điều này đảm bảo r ng cây đã hằ ọc đư c quy t c đợ ắ ể phân loại hoặc dự đoán l p đó mà không c n thêm phân chia.ớ ầ

• Không còn thuộc tính nào có thể dùng để phân chia m u n a: ẫ ữ Khi không còn thu c tính nào có thộ ể tạo ra một phân chia hữu ích trong dữ liệu tại một nút, quá trình xây dựng cây d ng lạ ạừ i t i nút đó Điều này thể hi n ệ sự hết hạn v thông tin đ tiếp tục phân chia ề ể

• Không còn lại mẫu nào tại nút: Khi một nút không chứa bất kỳ mẫu nào

Khi quá trình phân chia dữ liệu tại một nút đã hoàn tất (tức là dữ liệu tại nút đã được phân chia hết vào các nút con), quá trình sẽ dừng lại Điều này có nghĩa rằng tại nút này, không còn dữ liệu nào để phân loại hoặc dự đoán.

1.3 Một số dạng sơ đ cây:ồ

Mạng Nơ-ron (Neural Network)

Hình 6: Mô hình mạng nơ-ron

2.1 Khái niệm mạng nơ-ron:

Mạng nơ-ron (Neural Network) là một phương pháp học máy đư c lợ ấy c m ả hứng từ cấu trúc và hoạt động của hệ thống th n kinh sinh hầ ọc Nó sử dụng một mạng lưới các "nơ-ron nhân t o" đạ ể xử lý thông tin và học từ dữ liệu đ u vào đầ ể phân loại các đi m dữ liệể u vào các l p khác nhau.ớ

Mạng nơ-ron là một mô hình toán học đư c xây dợ ựng từ nhiề ớu l p nơ-ron nhân t o (artificial neurons) hoạ ạt động song song Mỗi nơ-ron nhân t o nh n đ u ạ ậ ầ vào từ các nơ-ron ở lớp trước và tính toán đầu ra dựa trên một hàm kích ho t Các ạ đầu vào của m i nơ-ron có thể được trọng s hóa và t ng h p đỗ ố ổ ợ ể tạo ra một giá trị đầu vào t ng quát cho hàm kích hoổ ạt Mô hình Mạng nơ-ron thường có ít nhất m t ộ lớp đ u vào, mầ ột hoặc nhiề ớ ẩu l p n và một lớp đ u ra.ầ

Cấu trúc của mạng nơ-ron được xác định bởi số lượng l p và sớ ố lượng nơ- ron trong mỗi lớp Các kế ốt n i giữa các nơ-ron được biểu thị bởi các trọng số, và quá trình học c a mạủ ng nơ-ron là quá trình tối ưu hóa các trọng s này dố ựa trên dữ liệu hu n luyấ ện.

Trong quá trình huấn luy n, m ng nơệ ạ -ron dự đoán đ u ra dầ ựa trên các đ c ặ trưng đầu vào và so sánh vớ ếi k t quả mong đợi Sự khác biệt giữa đầu ra d đoán ự và đ u ra mong đầ ợi đư c sử dụợ ng để tính toán độ lỗi (loss) Sau đó, thu t toán lan ậ truyền ngược (backpropagation) đư c áp dợ ụng để điều ch nh các tr ng sỉ ọ ố của mạng nơ-ron để giảm thiểu độ lỗi này Quá trình lan truyền ngược là quá trình tính toán đạo hàm của hàm lỗi theo các trọng s và số ử dụng gradient descent để điều chỉnh các tr ng sọ ố

Nơ-ron là đơn vị cơ bản thực hiện tính toán trong mạng nơ-ron, tiếp nhận đầu vào từ các nơ-ron khác hoặc từ dữ liệu đầu vào Sau đó, nơ-ron sẽ thực hiện phép tính toán trên những đầu vào này Kết quả của quá trình tính toán được truyền qua các kết nối tới các nơ-ron khác.

• Kiến trúc m ng nơạ -ron (Neuron architechture):

Kiến trúc mạng nơ-ron bao gồm các lớp nơ-ron được xếp chồng lên nhau Các lớp nơ-ron được chia thành ba loại chính Lớp đầu vào tiếp nhận dữ liệu đầu vào Lớp ẩn xử lý dữ liệu và lớp đầu ra đưa ra dự đoán cuối cùng.

• Trọng số (Weights) và Độ lệch (Biases):

Mỗi k t n i giế ố ữa các nơ-ron trong mạng nơ-ron có một trọng số tương ứng Trọng số quyết định mức độ ảnh hư ng cở ủa đầu vào lên nơ-ron Ngoài ra, mỗi nơ- ron cũng có một độ lệch (bias) để điều ch nh đ u ra Các tr ng s và đỉ ầ ọ ố ộ lệch đư c ợ cập nhật trong quá trình huấn luy n m ng nơệ ạ -ron

• Hàm kích hoạt (Activation function):

Hàm kích hoạt xác định đầu ra của nơ-ron dựa trên tổng trọng số đầu vào và độ lệch, giới hạn đầu ra trong một khoảng cụ thể Nhờ đó, mạng nơ-ron có thể học được các đặc trưng phi tuyến tính Các hàm kích hoạt phổ biến bao gồm: hàm sigmoid, hàm ReLU (Rectified Linear Unit) và hàm tanh.

• Hàm mất mát (Loss function):

Hàm mất mát đo lường sai khác giữa dự đoán của mạng nơ ron và nhãn th- ực tế Mục tiêu của quá trình huấn luy n là tìm các tr ng s và đệ ọ ố ộ lệch sao cho hàm mất mát là nhỏ nhất Các hàm m t mát phấ ổ biến trong m ng nơ ron bao gạ - ồm hàm cross-entropy, hàm tổn thất bình phương (mean squared error), và hàm tổn thất đa lớp (multiclass loss)

2.3 Một số kiến trúc mạng nơ-ron:

• Mạng Nơ-ron Tiến (Feedforward Neural Network - FNN):

FNN là m t lo i mộ ạ ạng nơ-ron cổ điển với các lớp nơ-ron liên kết theo m t ộ hướng từ đầu vào đ n đ u ra FNN thư ng đưế ầ ờ ợc sử dụng trong các v n đ phân ấ ề loại và dự đoán Ki n ế trúc FNN bao gồm các lớp đ u vào, các lầ ớp n và lẩ ớp đ u ầ ra Mỗi nơ-ron trong một lớp kế ố ớ ấ ả các nơ-t n i v i t t c ron trong lớp trước đó

• Mạng Nơ-ron Hồi Quy (Recurrent Neural Network - RNN):

RNN được sử dụng để xử lý dữ liệu có sự phụ thuộc thời gian, chẳng h n như ạ chuỗi th i gian hoờ ặc ngôn ngữ tự nhiên Trong RNN, các nơ ron có kh năng lưu - ả trữ trạng thái trước đó và truyền nó đ n tr ng thái hi n tế ạ ệ ại Điều này làm cho RNN thích hợp cho việc dự đoán chuỗ ữ liệu và xử i d lý dữ liệu dựa trên th i gian.ờ

• Mạng Nơ-ron Gợi Ý (Convolutional Neural Network - CNN):

Mạng nơ-ron tích chập (CNN) là mô hình học sâu thường được ứng dụng trong xử lý hình ảnh CNN sử dụng các lõi tích chập để trích xuất các đặc trưng cục bộ từ hình ảnh Quá trình tích chập giúp CNN nhận dạng các đối tượng trong hình ảnh và phát hiện các đặc điểm của hình ảnh Nhờ khả năng này, CNN được ứng dụng rộng rãi trong các tác vụ như phân loại hình ảnh, phát hiện vật thể và phân đoạn hình ảnh.

• Mạng Nơ-ron Học Sâu (Deep Neural Network - DNN):

DNN là mạng với nhiều l p ớ ẩn, được gọi là “học sâu.” DNN được sử dụng để trích xu t đấ ặc trưng ph c tứ ạp từ dữ liệu đ u vào, thư ng trong các ầ ờ ứng d ng vụ ề thị giác máy tính, ngôn ngữ tự nhiên và x lý ngôn ngử ữ tự nhiên.

• Mạng Nơ-ron Tạo Sinh (Generative Adversarial Network – GAN):

GAN bao gồm hai mạng: m ng sinh (generator) và m ng phân bi t ạ ạ ệ (discriminator) Mạng sinh t o ra dạ ữ liệu giả mạo, trong khi m ng phân biạ ệt cố gắng phân biệt giữa dữ liệu thực tế và giả mạo GAN được sử dụng để tạo ra dữ liệu mới, ví dụ như hình nh và âm thanh.ả

2.4 Xây dựng m ng nơạ -ron:

Xây dựng một mạng nơ-ron trong học máy và trí tuệ nhân t o thư ng đi qua ạ ờ một lo t các bưạ ớc cơ bản Để xây d ng nóự cần đòi hỏi các bước sau:

2.4.1.Thiết kế Kiến trúc Mạng:

Một số phương pháp khác

3.1 Phân lớp với k phầ ử gần t n nhất (K-Nearest Neighbor):

Hình 7: Ví dụ phân lớp k-NN

Phân lớp với k phần tử gần nhất (K-Nearest Neighbor) là m t thu t toán phân ộ ậ loại trong lĩnh vực máy h c KNN d a trên nguyên t c rọ ự ắ ằng các m u có thuẫ ộc tính tương tự thường thuộc cùng một lớp, thư ng đườ ợc sử dụng trong các bài toán phân loại và h i quy.ồ

Thuật toán này dựa trên giả định rằng những dữ liệu tương tự sẽ tồn tại gần nhau trong một không gian Do đó, nhiệm vụ của chúng ta là xác định điểm gần với dữ liệu cần kiểm tra nhất Việc xác định khoảng cách giữa hai điểm cũng có nhiều công thức khác nhau, tùy thuộc vào từng trường hợp mà chúng ta sẽ lựa chọn công thức phù hợp.

Một số công th c cơ bứ ản để tính khoảng cách giữa 2 điểm x, y có k thuộc tính là:

• Ưu điểm của k-NN: o Đơn giản, dễ hiểu, không yêu c u quá nhi u giầ ề ả định về dữ liệu o Khả năng x lý d liệu phi c u trúc hoử ữ ấ ặc d liệu có c u trúc ữ ấ không đ ng nhồ ất o Khả năng mở rộng để xử lý các bài toán phân lo i đa lạ ớp và đa nhãn o Có thể được áp dụng cho các loại d liệu khác nhau, bao gồm cả ữ dữ liệu d ng sạ ố và d liệu rời rạc.ữ

• Hạn chế của k-NN: o Yêu cầu tính toán kho ng cách giả ữa điểm dữ liệu mới và t t cấ ả các điểm dữ li u hu n luy n, làm tăng đệ ấ ệ ộ phức tạ tính toán khi p số lượng điểm d liệu tăng lên.ữ o Có thể bị ảnh hư ng bở ởi d liệu nhi u hoữ ễ ặc các đi m d liệu cách ể ữ xa nhau không đ ng nhồ ất o Việc l a chự ọn giá tr k phù h p có thị ợ ể ảnh hư ng đ n hi u suở ế ệ ất của thuật toán KNN M t k quá nhộ ỏ có thể dẫn đ n overfitting, ế trong khi m t k quá lộ ớn có thể dẫn đ n underfitting.ế

3.2 Tiếp c n theo th ng kê (Naive Bayes)ậ ố :

Hình 8: Phân loại Naive Bayes

Thuật toán Naive Bayes sử dụng đ nh lý Bayes đị ể tính toán xác su t cấ ủa một lớp dựa trên các đ c trưng c a mặ ủ ẫu dữ liệu Tuy nhiên, giả định trong Naive Bayes giả định r ng các đằ ặc trưng là đ c lộ ập nhau khi đã biết lớp, đi u này giúp đơn gi n ề ả hóa tính toán xác suất trong thu t toán.ậ Định lý Bayes là một định lý trong xác suất và thống kê, cho phép tính toán xác suất đồng đi u ki n cề ệ ủa một sự kiện dựa trên thông tin liên quan t các sừ ự kiện khác Đ nh lý Bayes có d ng như sau:ị ạ

- P(A|B) là xác suất của sự kiện A x y ra khi đã biả ết sự kiện B x y ra.ả

- P(B|A) là xác suất của sự kiện B x y ra khi đã biả ết sự kiện A x y ra.ả

- P(A) và P(B) là xác suất của sự ki n A và B x y ra đệ ả ộc lập

Các ưu điểm chính của Naive Bayes bao gồm: yêu cầu tính toán tương đối thấp và thời gian dự đoán nhanh chóng Thuật toán này có khả năng xử lý đồng thời nhiều lớp phân loại, trở thành lựa chọn phù hợp cho các bài toán phân loại đa lớp Một lợi thế đáng chú ý khác là khả năng hoạt động hiệu quả với ít dữ liệu huấn luyện hơn so với các mô hình phân loại khác, do giả định về tính độc lập của các đặc trưng đầu vào.

• Nhược điểm của Naive Bayes: o Một vấn đề phổ bi n trong Naive Bayes là khi mộế t biến phân loại trong tập dữ liệu thử nghiệm không xuất hiện trong t p dậ ữ liệu hu n ấ luyện, mô hình sẽ gán xác suất 0 cho lớp đó và không thể thực hiện dự đoán Để giải quy t vế ấn đề này, chúng ta có thể sử dụng kỹ thuật làm mịn như ước lượng Laplace. o Naive Bayes có thể bị coi là một công cụ ước lượng kém, vì kết quả xác suất từ dự đoán không quá được coi trọng Đi u này có thề ể ảnh hư ng đ n đở ế ộ chính xác c a mô hình, đ c biủ ặ ệt khi có các yếu tố phức tạp trong d liệu.ữ o Naive Bayes giả định r ng các đằ ặc trưng là đ c lộ ập nhau, đi u này ề không ph n ánh thả ực tế trong nhiều trư ng h p Trong thờ ợ ực tế, các đặc trưng thường có sự tương quan và tương tác, điều này có thể làm giảm hiệu suất của Naive Bayes trong một số bài toán.

3.3 Hồi quy Logistic (Logistic Regression):

Hình 9: Ví dụ hồi quy Logistic

Hồi quy Logistic là m t thu t toán hộ ậ ọc máy nhị phân (có th đượể c mở rộng cho các bài toán đa lớp) được sử dụng đ phân loể ại dữ liệu Ý tư ng chính cở ủa hồi quy Logistic là sử dụng một hàm logistic (sigmoid) để ước lượng xác suất của một điểm dữ li u thuệ ộc vào một lớp cụ thể Hàm logistic chuyển đổi giá trị đầu vào thành m t giá trộ ị nằm trong khoảng (0, 1), tương ứng với xác su t thuấ ộc lớp dương hoặc lớp âm Hàm logistic được biểu di n b ng phương trình sau:ễ ằ

Nếu v phương trình hẽ ồi quy logistic này thì sẽ có một đường cong hình chữ

• Cách hoạt động c a Hủ ồi quy Logistic:

Biểu đ hàm Logistic:ồ Hồi quy Logistic sử dụng một hàm số gọi là hàm Logistic (hoặc hàm Sigmoid) đ ánh xể ạ đầu vào sang một khoảng giữa 0 và 1 Hàm này có dạng cong và làm cho d đoán rơi vào kho ng xác suự ả ất giữa 0 và 1

Trong quá trình huấn luyện, mô hình Hồi quy Logistic tìm các trọng số và độ lệch tối ưu giúp mô hình phù hợp nhất với dữ liệu huấn luyện Quá trình này thường được thực hiện thông qua các phương pháp tối ưu hóa như gradient descent.

Phân loại: Sau khi huấn luy n, mô hình có thệ ể sử dụng đ phân loể ại dữ li u ệ mới Mô hình tính toán m t giá trộ ị xác suất và dựa vào ngưỡng quyết định (thư ng ờ là 0.5), nó quy t đế ịnh xem m u dẫ ữ liệu thuộc vào lớp nào.

• Ưu điểm hồi quy Logistic: o Hồi quy Logistic là một phương pháp đơn giản và dễ hi u, không ể yêu c u nhi u tham s và đi u ki n tiên quyầ ề ố ề ệ ết phức t p ạ o Mô hình Hồi quy Logistic cho phép hiểu rõ được đóng góp của từng đặc trưng đối v i viớ ệc phân loại, giúp gi i thích quá trình ra ả quyết định. o Hồi quy Logistic có khả năng xử lý các đặc trưng phi tuyến, không yêu c u giầ ả định v phân phề ối dữ liệu

• Nhược điểm hồi quy Logistic: o Hồi quy Logistic giả định mối quan hệ tuyến tính giữa đ c trưng ặ và xác suất phân lo i, điạ ều này có thể là hạn chế trong các trường hợp dữ liệu không tuy n tính.ế o Nếu mô hình Hồi quy Logistic được quá tinh chỉnh với dữ liệu huấn luy n, nó có thệ ể dẫn đ n hi n tư ng quá kh p, khi mô hình ế ệ ợ ớ hoạt động không tốt trên dữ liệu mới

3.4 Máy vector hỗ ợ tr (Support Vector Machine - SVM):

Hình 10: Ví dụ mô hình SVM

Máy học vectơ hỗ trợ (SVM) là một thuật toán học máy nhị phân (có thể mở rộng cho các bài toán đa lớp) được sử dụng để phân lớp dữ liệu Mục tiêu chính của SVM là tìm kiếm một siêu phẳng trong không gian đặc trưng để tối đa hóa khoảng cách (margin) giữa các điểm dữ liệu thuộc các lớp khác nhau và các điểm gần nhất với siêu phẳng Các điểm dữ liệu gần nhất với siêu phẳng được gọi là các vectơ hỗ trợ (support vectors), chúng đóng vai trò quan trọng trong việc xác định siêu phẳng và phân loại chính xác.

Xác định biên phân chia: SVM cố gắng xác đ nh mị ột biên phân chia t i ưu ố giữa các lớp dữ liệu Biên này được xác định sao cho kho ng cách tả ừ các điểm dữ liệu g n biên đ n biên là l n nhầ ế ớ ất Các đi m gể ần biên được g i là "vector hỗ ợ" ọ tr (support vectors), và chúng đ nh nghĩa vị ị trí của biên phân chia.

Đặt vấn đề

Với sự phát tri n cể ủa công ngh và s gia tăng đáng kệ ự ể về dữ liệu trong thời đại số hóa, việc dự đoán lòng trung thành của khách hàng (churn prediction) không chỉ ở tr thành m t nhiộ ệm vụ quan tr ng, mà còn là mọ ột lĩnh vực quyế ịnh đố với t đ i sự thành công của nhiều doanh nghi p Trong thệ ời kỳ này, sự cạnh tranh gay gắt, sự lựa chọn đa d ng và kh năng chuy n đạ ả ể ổi d dàng đã t o ra môi trư ng kinh ễ ạ ờ doanh không nh ng thách thữ ức mà còn đầy cơ hội

Khi khách hàng ngừng sử dụng dịch vụ, doanh nghiệp sẽ mất doanh thu và ảnh hưởng đến danh tiếng thương hiệu Do đó, các công ty tập trung thu thập và phân tích dữ liệu về hành vi khách hàng, thời gian sử dụng dịch vụ và tương tác với sản phẩm để dự đoán khả năng khách hàng ngừng sử dụng dịch vụ Họ sử dụng kỹ thuật học máy và phân tích dữ liệu để xây dựng mô hình dự đoán bằng phương pháp cây quyết định với Python và RapidMiner.

Với sự phát triển của công nghệ và s gia tăng cự ủa dữ liệu có s n, viẵ ệc dự đoán lòng trung thành của khách hàng sẽ giúp doanh nghi p không ch duy trì ệ ỉ khách hàng hi n có mà còn mệ ở rộng m ng lưạ ới và thu hút thêm khách hàng m i ớ

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

Giả sử, có m t ộ ngân hàng ABC muốn dự đoán khả năng churning (tức là ngừng sử dụng dịch vụ) của các khách hàng c a hủ ọ Việc theo dõi và dự đoán khách hàng churning là một vấn đ quan tr ng đề ọ ể giảm mất mát do m t khách hàng và t i ưu ấ ố hóa chi n dế ịch duy trì khách hàng

Công ty sẽ sử dụng d liệu lịch sữ ử về hành vi của khách hàng Người dùng sẽ được cung cấp hai b ng dả ữ liệ dữ liệu: u thô (Raw Data) để huấn luyện và dữ liệu hoàn toàn mới (Unseen Data) để dự đoán Bảng dữ ệu mẫu li có các thu c tính sau:ộ

Thuộc tính RowNumber dùng để xác định thứ tự của mỗi bản ghi trong tập dữ liệu và thường không có ảnh hưởng trực tiếp đến dự đoán tỷ lệ khách hàng bỏ đi.

• CustomerId: CustomerId là một định danh duy nhất cho m i khách ỗ hàng Nó không nên có nh hư ng đ n churn prediction, nhưng có thả ở ế ể được sử dụng đ xác đ nh mể ị ỗi khách hàng riêng biệt.

• Surname: Surname là họ của khách hàng Thường không ảnh hư ng trở ực tiếp đ n churn, nhưng có thế ể được sử dụng cho mục đích xác định cá nhân và phân loại khách hàng theo tên

• CreditScore: Điểm tín dụng của khách hàng có thể ảnh hư ng đ n quyở ế ết định churn Khách hàng có điểm tín dụng cao có thể có xu hướng n ổ định hơn trong mối quan hệ với ngân hàng.

• Geography: Địa lý ho c qu c gia nơi khách hàng đang sặ ố ống có thể ảnh hưởng đ n churn Khách hàng ế ở các qu c gia khác nhau có thố ể có thái độ và yêu c u khác nhau đầ ối v i ngân hàng.ớ

• Gender: Giới tính của khách hàng có th có tác để ộng đ n churn Ví dế ụ, có thể có sự khác biệt trong m i quan tâm và yêu cố ầu dịch vụ giữa khách hàng nam và nữ

• Age: Tuổi tác của khách hàng là một yếu t quan tr ng trong churn ố ọ prediction Nh ng ngưữ ời trẻ tuổi có thể có xu hướng chuy n để ổi nhiều hơn so với những người trung niên hoặc ngư i cao tuổi ờ

• Tenure: Số lần khách hàng đã làm việc với ngân hàng (tenure) có thể ảnh hư ng đ n quyở ế ết định churn Khách hàng có tenure lâu có thể có độ trung thành cao hơn

• Balance: Số dư trong tài kho n cả ủa khách hàng có thể ảnh hư ng đ n ở ế churn Khách hàng có số dư l n có thớ ể có xu hướng n đ nh hơn.ổ ị

• NumOfProducts: Số lượng sản ph m ho c d ch vẩ ặ ị ụ mà khách hàng đang sử dụng cũng có tác đ ng đ n churn Khách hàng sộ ế ử dụng nhi u s n ề ả phẩm có thể có đ trung thành cao hơn.ộ

• HasCrCard: Việc sở hữu th tín dụng có thẻ ể ảnh hư ng đ n churn ở ế Khách hàng sở hữu thẻ tín dụng có thể có thái độ khác nhau đối v i viớ ệc chuyển đổi

• IsActiveMember: Tình trạng ho t động của khách hàng (active ho c ạ ặ không active) có thể có tác động l n đ n churn Khách hàng hoớ ế ạt động có th có để ộ trung thành cao hơn.

• EstimatedSalary: Lương ước tính của khách hàng không nên ảnh hư ng ở lớn đ n churn prediction, nhưng có thế ể được sử dụng để phân loại khách hàng theo mức thu nhập

• Exited: Đây là thuộc tính m c tiêu, cho biụ ết li u khách hàng đã churn ệ (1) hay không (0)

Mục tiêu c a công ty là xây dủ ựng một mô hình dự đoán churning của khách hàng Mô hình sẽ phân loại m i khách hàng thành m t trong hai nhóm: churn hoỗ ộ ặc không churn Dựa trên d liệ ịch sử ữ u l và các đặc trưng c a khách hàng, mô hình ủ phân loại sẽ dự đoán xác suất mà m t khách hàng cộ ụ thể sẽ churning Nếu xác suất này vượt quá m t ngưộ ỡng ngư ng quy đ nh, thì khách hàng đưỡ ị ợc phân loại là có nguy cơ churning.

Phân lớp d ữ liệ u v ớ i Python

Trong bài báo cáo này, chúng ta sẽ sử dụng Jupyter Notebook và thư viện scikit-learn (sklearn) để lập trình nhằm phục vụ cho việc phân loại khách hàng dựa trên cây quyết định bằng Python.

Jupyter Notebook là một môi trường tích h p cho việợ c viết và chia sẻ mã nguồn Python (cũng hỗ ợ tr nhiều ngôn ngữ lập trình khác) thông qua trình duyệt web Nó đã trở thành m t công cộ ụ ổ ph biến trong c ng đ ng khoa hộ ồ ọc d liệu và ữ lập trình Python vì tích h p giợ ữa mã nguồn, văn b n giả ải thích, hình ảnh, và đồ thị, tạo nên môi trư ng làm viờ ệc tr c quan và hiự ệu quả Một ưu điểm của Jupyter Notebook là cho phép người xây dựng mô hình l p trình và ch y tậ ạ ừng đo n mã, ạ đồng thời cho ra k t quế ả cho đoạn mã đó.

Trong bài toán này, ngoài sử dụng thư vi n ệ Pandas, NumPy (để thu thập và xử lý bảng dữ liệu), sklearn (xây dựng cây và r ng câyừ quyết định) chúng ta sẽ sử , dụng thêm các thư vi n ệ trực quan hóa như Matplotlib, Seaborn, Graphviz

Matplotlib, Seaborn và Graphviz là ba công cụ mạnh mẽ để trực quan hóa dữ liệu trong Python Matplotlib cho phép t o ra các bi u đạ ể ồ và đồ thị chất lượng cao, bao gồm nhiều loại biểu đ khác nhau như bi u đồ ể ồ đường, bi u để ồ cột, biểu đồ phân phối, biểu đồ hộp, bi u để ồ nhiệt đ , và nhiộ ều bi u để ồ khác Seaborn, dựa trên Matplotlib, giúp tạo ra các bi u để ồ đẹp và dễ sử dụng, đơn gi n hóa quá trình trả ực quan hóa dữ liệu Graphviz là một thư viện cho bi u di n dể ễ ữ liệu và mối quan hệ dưới dạng bi u để ồ định d ng đạ ồ thị ấ ữ, r t h u ích trong nhi u lĩnh về ực Khi kế ợp t h với scikit learn (sklearn), Graphviz giúp tr- ực quan hóa sơ đ cây quyồ ết định và các thông số cụ thể, giúp ngư i đờ ọc dễ dàng hi u và thể ụ động dữ liệu.

3.1 Hướng d n cài đẫ ặt: a Jupyter Notebook:

Có hai cách để cài đặt Jupyter Notebook, qua ứng d ng dòng lụ ệnh(command line) (Command Prompt trên Windows hoặc Terminal trên Mac ho c ặLinux) hoặc qua phần mềm Anaconda

Cách 1: Dùng ứng d ng dòng l nh (Command line)ụ ệ

Trước khi cài đặt Jupyter Notebook bằng câu lệnh, trước h chúng taết cần phải cài đ t Python Truy cập vào trang web: https://www.python.org/downloads/ ặ và nh n vào ấ Download Python để tải phiên bản mới nh t cấ ủa Python, sau đó th c ự hiện theo hư ng d n cài đớ ẫ ặt của phần mềm

Hình 11: Trang download của Python

Sau khi cài đặt thành công Python, mở cửa s command line trên hổ ệ điều hành đang sử dụng để cài đặt Jupyter Notebook, cũng như là cài đ t ặ các thư viện đã đề cậ ở phầp n đầu

Hình 12: Cửa sổ Command Line Trái: Command Prompt Phải: Terminal) ( Để cài đặt Jupiter Notebook gõ câu lệnh:, pip install notebook Để mở cử ổ a s Jupyter Notebook, gõ câu lệnh: jupyter notebook

Cách 2: Dùng ph n mầ ềm Anaconda:

Anaconda là m t nộ ền t ng phát tri n và qu n lý môi trư ng làm viả ể ả ờ ệc trong ngôn ngữ lập trình Python Nó giúp người dùng dễ dàng qu n lý và cài đả ặt các thư viện, công cụ, và phiên bản Python khác nhau cho t ng dừ ự án Để cài đặt Anaconda, truy cập vào trang web:https://www.anaconda.com/download và nh n ấ vào Download để tải phiên bản mới nh t cấ ủa Python, sau đó th c hiự ện theo hư ng ớ dẫn cài đặt của phần mềm

Hình 13: Trang download của Anaconda

Sau khi cài đặt Anaconda, mở cửa sổ ứng d ng ụ Anaconda Navigator, nhấn vào ô Install ở dưới Notebook để cài đặt Jupyter Notebook, sau khi cài đ t, nút ặ Install sẽ chuyển thành nút Launch và chúng ta có thể mở Jupyter Notebook từ cửa sổ Anaconda Navigator

Hình 14: Giao diện Anaconda Navigator b Cài đặt thư việ n:

Cài đặt thư viện trên Python là vô cùng đơn giản Để cài đặt, mở cửa sổ command line trên hệ điều hành đang sử dụng và gõ câu l nh theo cú pháp:ệ pip install “tên_thư_vi n”ệ pip là m t công cộ ụ quản lý gói và thư viện cho ngôn ngữ lập trình Python

Nó được sử dụng để cài đặt, c p nh t, và qu n lý các gói và thư vi n Python từ ậ ậ ả ệ Python Package Index (PyPI) hoặc các nguồn khác

Ví dụ: trong bài toán này, để cài đặt scikit-learn (sklearn), gõ câu lệnh: pip install scikit-learn

Ngoài ra, có những thư vi n sệ ẽ cần phải có thư viện phụ thuộc (dependancy) để chạy một số tính năng cần thiết (ví d : Seaborn và Matplotlib) Đụ ể đảm bảo thư viện cần thiết hoạt động n đ nh nhổ ị ất, chúng ta cũng cần phải cài đ t các thư viặ ện phụ thuộc.

Có một s thư viố ện để hoạt động tốt trên môi trường conda của Anaconda, chúng ta có thể sử dụng thêm câu lệnh: conda install “tên_thư_vi n”ệ

Ví dụ: Để cài đặt Graphviz cho môi trường conda hi n tệ ại, gõ câu lệnh: conda install python-graphviz

3.2 Lập trình Python trên Jupyter Notebook:

Hình 15: Giao diện trình duy Jupyter Notebook ệt Để tạo một notebook m i, ớ có th chể ọn một thư mục bất kì, sau đó bấm New à Python 3 (ipykernel)

Hình 16: Giao diện chính Jupyter Notebook

Sau khi giao diện chính hi n ra, chúng ta có thệ ể nhập các đo n mã vào trong ạ notebook này Để chạ ầy l n lượt các đoạn mã nháy chuột vào nút , để dừng chương trình nháy chuột vào nút , để khở ộng lại lõi (kernel) nháy chu t vào i đ ộ nút Để đảm bảo chương trình hoạt động n đ nh, trưổ ị ớc hết chúng ta cần phải cài đặt m t s thư viộ ố ện Python cần thi t ế

Sau khi cài đặt xong các thư viện, bước đ u tiên chúng ta sẽ nh p các thư ầ ậ viện vào chương trình c a mìnhủ với câu lệnh import

Bước thứ hai, chúng ta sẽ nhập b ng dả ữ ệu li thô mà đã được chuẩn bị sẵn vào trong chương trình của mình Để kiểm tra d liệu đ u vào cữ ầ ủa mình có chuẩn xác hay không, ta có thể xử dụng hai câu lệnh: print(raw_data.shape)để kiểm tra kích thước c a bủ ảng dữ liệu thô, và raw_data.head()để in ra 5 dòng đ u cầ ủa bảng

Sau khi nhập dữ liệu thành công, bước tiền xử lý dữ liệu là rất quan trọng, bao gồm loại bỏ dữ liệu trùng lặp và không phù hợp, lọc ra các thuộc tính không cần thiết, chuyển đổi các thuộc tính phân loại sang dạng nhị phân (0 hoặc 1), v.v.

Trước hết, ta sẽ đi u tra các giá trị độề c nhất ở các thu c tính trong bộ ảng dữ liệu thô đó:

Và dưới đây là k t quế ả điều tra:

Phân lớp d ữ liệ u v ớ i RapidMiner

4 Ph lớân p d liệu với RapidMiner:ữ

RapidMiner là công cụ khai phá và phân tích dữ liệu mạnh mẽ giúp người dùng dễ dàng tiến hành các công việc phân tích, tiền xử lý dữ liệu, xây dựng mô hình và đánh giá hiệu suất mô hình Bằng cách đơn giản hóa quy trình phân lớp dữ liệu, RapidMiner cung cấp một môi trường thân thiện với người dùng, lý tưởng cho các nhà phân tích dữ liệu và nhà khoa học dữ liệu.

4.1 Hướng d n cài đẫ ặt: Để cài đặt, trước hết chúng ta cần phả ạo ti t ài khoản RapidMiner Truy cập vào trang web: https://my.rapidminer.com/nexus/account/index.html#signup để tạo tài khoản

Hình 20: Trang đăng k í củ a RapidMiner

Khi đăng kí, RapidMiner có cho phép người dùng ch n mọ ục đích sử dụng: Commercial Purpose (mục đích thương mại, cho các doanh nghiệp) và Educational Purpose (mụ đc ích học tập, cho các gi ngả viên, sinh viên) Khi lựa chọn Educational Purpose, RapidMiner csẽ hỗ ợ tr 1 năm bả RapidMiner Studio n miễn phí, hỗ trợ đầy đủ các tính năng cần thiết và không giới hạn số lượng dữ liệ u.

Chúng ta sẽ điền đầy đủ thông tin cá nhân, email và mật kh u ẩ

Sau khi điền thông tin và nhấp nút "Đăng ký", RapidMiner sẽ gửi một mã xác nhận để kích hoạt tài khoản Sau khi xác nhận, người dùng sẽ được chuyển đến trang tải xuống phần mềm, nơi họ có thể lựa chọn phiên bản phù hợp với hệ điều hành đang sử dụng Sau đó, người dùng cần thực hiện theo hướng dẫn cài đặt được cung cấp bởi phần mềm.

Sau khi hoàn tất c đặt, RapidMiner sẽ hiện cửa sổ để thực hiài ện đăng kí bản quyền ph n mầ ềm, để có thể sử dụng tài khoản của mình, bấm vào Use the RapidMiner License System, sau đó bấm Next để hiển th giao di n chị ệ ính

Sau khi hoàn tất c đặt, RapidMiner sẽ hiện cửa sổ để thực hiài ện đăng kí bản quyền ph n mầ ềm, để có thể sử dụng tài khoản của mình, bấm vào Use the RapidMiner License System, sau đó bấm Next

Khi hiển thị màn hình giao diện chính, RapidMiner sẽ hiện cửa sổ đăng nhập, lúc này chúng ta sẽ điền thông tin tài khoản vừa tạo để kích ho t 1ạ năm RapidMiner Studio miễn phí

Ngoài ra, RapidMiner ban đầu là một phần m m mề ã nguồn mở (Open- source) Chúng ta có thể tự thành lập và sử dụ lng õi của RapidMiner Studio cho dự án c a ủ riêng mình Để tải v , ề truy cập vào: https://github.com/rapidminer/rapidminer-studio-modular, và làm theo hướng d n ẫ ở phần Readme Hiện tại, RapidMiner dừng h tr open-sourceỗ ợ ở bản 9.10 và chuyển sang mã nguồ đn óng (closed source- ) từ bản 10.x

4.2 Xây d ng cây quự yết định b ng Rapidằ Miner:

Hình 21: Giao diện ch ính củ a RapidMiner Đây là giao diện chính của RapidMiner, có 5 cử ổ cha s ính tùy thuộc vào mục đích sử dụng Cửa sổ Design là cửa sổ mặc định khi mở ứng dụng, đây là nơi thiết kế mô hình à kết qu v ả sẽ được xuất ra ở cửa sổ Result Cửa sổ Turbo Prep là một tính năng c a Rapidủ Miner, cho phép người xây dựng thực hiện chu n b và làm ẩ ị sạch dữ liệu một cách nhanh chóng và hiệu quả trước khi tiến hành khai phá dữ liệu hoặc xây dựng các mô hình phân loại hoặc hồi quy Cửa sổ Auto Model là m t ộ công cụ tự động hoá quy trình xây d ng và đánh giá mô hình dành cho viự ệc phân loại và h i quy dồ ữ liệu đồng thời sẽ , giúp chọn mô hình tốt nh t dấ ựa trên hiệu suất và yêu c u cầ ủa người xây dựng Cửa s Interative Analysis cho phép ngư i dùng ổ ờ tương tác v i dớ ữ liệu một cách trực quan và nhanh chóng để thực hiện các phân tích và khám phá dữ liệu, hiện tại cửa sổ này chỉ hỗ trợ với ng i dườ ùng có b n ả quyền Altair Units Ở cửa sổ mặ định Design có 5 khu vực chính: Repository là khu vực lưu trữ c các tài liệu h ng d n, cướ ẫ ác mô hình mẫu mà RapidMiner cung cấp, và cũng là khu vực lưu tr chính các cơ sữ ở dữ ệu, cli ác mô hình à kết qu v ả của người dùng Operators là khu vực lưu trữ các khối lệnh thực hiện, nó có thể được hình dung như là một kh i xố ếp hình, có hai đầ đầu, u vào và đầu ra, v đầu ra củà a khối lệnh này có thể làm đầu vào c a khủ ối lệnh kia Tập h p ợ các khối l nhệ được kết n i g i ố ọ là một quy trình, và người dùng sẽ thiết kế quy trình đ ở Process Parameters cho ó phép người dùng tùy ch nh thông sỉ ố của khối lệnh đó nếu có Help là khu vực cung cấp h ng d n ướ ẫ cho các khối lệnh Để x dựây ng cây quyết định, bước đầu tiên chúng ta c n phầ ải thực hiện là nhập dữ liệ Nháy chuu ột trái vào Import Data, và tùy thuộc vào vị trí lưu trữ của dữ liệu ó thc ể chọn My Computer hoặc Database Do dữ liệu được lưu tr trên ữ máy, ta s chẽ ọn My Computer

Tiếp theo ta sẽ chọ địa chỉ dữ ệu để n li nhập dữ liệu, ph n ầ mềm có hỗ ợ tr hai định dạng chính là Excel (.xlsx, xls) và Comma-Separated Value (.csv, tsv) Nháy chuột vào dữ liệu c n ầ xử lý:

Sau khi nhập dữ li u, ệ bước tiếp theo sẽ là tiền xử l ữ í d liệu trước khi nhập vào chương trình Trước hết, ph n m m sẽ format l i b ng dầ ề ạ ả ữ liệ để viu ệc nhập vào phần mềm dễ dàng hơn, bước này phần mềm cũng sẽ báo cho người dùng n u ế có dữ li u không h p lệ ợ ệ

Tiếp theo, ph n mầ ềm sẽ yêu cầu người dùng format lại định d ng cạ ột, kiểu biến và gán ãn (nếnh u có) Có 7 kiểu bi n chế ính: polynomial (đa thức), binomial (nhị thức), real (s thực), integer (s nguyên), ố ố date_time(ngày, giờ), date (ngày), time (gi ; vờ) à có 3 nhãn chính: id (định danh), weight (trọng l ng), label (ượ mục tiêu) Ngoài ra phần m m cũề ng cho phép loại bỏ hoặc thay tên cột nếu n thicầ ế t.

Cuối cùng, ngườ ùng si d ẽ chọn nơi lưu trữ dữ liệu để sử dụng

Sau khi nhập xong dữ liệu, ph n mầ ềm sẽ ả tr luôn kết quả dữ liệu vừa xử l ở ý cửa sổ Result Ở đây chúng ta có thể xem th ng kố ê, trực quan hóa và chú thích vào dữ liệu này Chúng ta thực hiện quy trình tương tự vớ ữ liệi d u hoàn toàn mới Để thuận ti n cho việ ệc so sánh, chúng ta s àm tương t nh Python, bước ẽ l ự ư tiếp theo sau khi nh p xong dữ ệu, ta sẽ ến hậ li ti ành xây dựng quy trình, cụ ể là th xây dựng mô hình cây quyết định Trước hết, quy trình sẽ phải lấy dữ liệu thô, ta có thể kéo dữ li u thô vệ ừa nhập vào khu Process, n sẽ hiệó n ra block như dưới:

Tiếp theo, ta sẽ lựa chọn thuộc tính Ở khu vực Operator, tìm kiếm: Select Attributes và ta sẽ kéo vào trong khu v c Process, sau khi éo ta sự k ẽ vào khu Parameter, nhấn vào all attribute ở cạnh attribute filter type, và chọn a subset, lúc này ở dướ ẽ i s thêm select subset, ta bấm vào Select Attributes… Trước khi chọn, ta sẽ nố đầu out của Retrive Raw Data vào đầu exa c a i ủ Select Attributes

- Để thuận tiện so sánh với Python, chọn các thuộc tính của thuộc tính như ở Python.- Chọn thuộc tính ExitedLabel cho thuộc tính Exited, hiển thị kết quả là Yes/No thay vì 0/1 như ở Python.- Nhấn vào ô "also apply to special attributes (id, label , )" trong bảng Parameters để ghi nhãn thuộc tính.

Một số lưu ý

Khi thiết kế cây quyế ịnh, có mộ ố t đ t s lưu ý quan trọng úng ta nên xem ch xét để đảm bảo mô hình phù h p và hi u quợ ệ ả:

• Thu thập và chu n bẩ ị dữ liệu: Bước đầu tiên quan tr ng là thu thọ ập dữ liệu phù h p và chu n bợ ẩ ị dữ ệu sao cho nó phù h p vli ợ ới mô hình cây quyết định Đi u này bao gề ồm loạ ỏ i b giá tr thiếu, mã hóa dữ liệu đ nh ị ị tính, và thực hiện chu n hóa nẩ ếu c n ầ

Xác định mục tiêu rõ ràng là bước đầu tiên thiết yếu trong việc thiết kế cây quyết định Mục tiêu này bao gồm xác định loại dự đoán cần thực hiện (hồi quy hoặc phân loại) và mục đích cụ thể của dự đoán (dự đoán giá trị của một biến hoặc phân loại một nhóm).

• Xác định cách đo lư ng chờ ất lượng chia: Lựa chọn một hàm đo lường chất lượng chia (splitting criterion) phù h p vợ ới bài toán của bạn Các hàm phổ biến bao gồm gini impurity, entropy, và mean squared error

• Kiểm soát độ sâu của cây: Tăng số lớp của cây quyết định có thể giúp mô hình học đư c các quy t c ph c tợ ắ ứ ạp hơn Tuy nhiên, c n c n tr ng ầ ẩ ọ để tránh quá khớp (overfitting) trên t p dậ ữ liệu hu n luyấ ện

• Sử dụng c t tỉa (Pruning): Cắắ t tỉa là một kỹ thuật đ loại b các nhánh ể ỏ không quan tr ng cọ ủa cây sau khi nó đã đư c h c Điợ ọ ều này giúp làm giảm kích thước c a cây và ngăn chủ ặn quá khớp

• Sử dụng Random Forest hoặc Gradient Boosting: Mô hình ensemble như Random Forest và Gradient Boosting thư ng cung c p đờ ấ ộ chính xác cao hơn so với m t cây quy t độ ế ịnh đơn lẻ Bằng cách kết hợp nhi u cây ề quyết định, úng tach có thể cải thiện độ chính xác và ổn đ nh hơn.ị

• Đánh giá mô hình: Ngoài các tiêu chí đánh giá như đã giới thiệu, có thể sử dụng các phương pháp đánh giá khác như cross validation đ- ể đảm bảo mô hình hoạt động hi u qu và không b quá khệ ả ị ớp.

So sánh Python và RapidMiner

Sau khi giới thiệu hai công cụ mạnh mẽ là Python và RapidMiner, ta có thể rút ra được một số điểm mạnh và yếu của hai công cụ này.

• Python: o Dễ Học và Sử Dụng: Python là một ngôn ngữ lập trình dễ học và đọc, điều này làm cho việ ử dục s ng nó đ phân l p dể ớ ữ liệu tr nên ở dễ dàng đối v i cớ ả người m i hớ ọc lẫn người có kinh nghiệm. o Thư Viện M nh Mạ ẽ: Python có nhiều thư vi n mệ ạnh mẽ cho phân lớp dữ liệu như scikit-learn, TensorFlow, PyTorch, và Keras, giúp thực hiện các mô hình máy học một cách dễ dàng. o Tốc Độ Chậm Hơn: Python thường không nhanh b ng các ngôn ằ ngữ lập trình được biên dịch như C++ hoặc Java Điều này có thể ảnh hư ng đ n hi u suở ế ệ ất của vi c xử ệ lý d liệu lớn ữ o Khó xử lý D Liệu Lớn: Python có thể gặữ p khó khăn khi x lý và ử phân l p dớ ữ liệ ớu l n, đặc bi t khi bệ ạn làm việc với dữ liệu có kích thước hàng terabytes

RapidMiner cung cấp giao diện đồ họa trực quan, cho phép người dùng không chuyên về lập trình cũng có thể xây dựng và kiểm thử các mô hình phân lớp dữ liệu Công cụ này tích hợp mạnh mẽ với nhiều nguồn dữ liệu khác nhau, bao gồm cơ sở dữ liệu, tập văn bản và kho dữ liệu trực tuyến Bộ công cụ đa dạng của RapidMiner hỗ trợ các nhiệm vụ phân tích dữ liệu như tiền xử lý dữ liệu, lựa chọn đặc trưng và xây dựng mô hình RapidMiner có mô hình giấy phép linh hoạt, bao gồm cả phiên bản miễn phí và trả phí phù hợp với các yêu cầu và ngân sách khác nhau của người dùng.

Trong kết thúc của chủ đề tìm hiểu về "Phân lớp d liệu," chúng ta có thữ ể tổng kết rằng phân l p dớ ữ liệu là một phần quan tr ng cọ ủa lĩnh v c khoa h c dự ọ ữ liệu và học máy Chúng ta đã khám phá qua các khái niệm, phương pháp, và quy trình liên quan đến vi c phân lớp dữ liệu, từ ệ thu thập dữ liệu, ti n xề ử lý, chọn mô hình, đánh giá, đ n ng d ng thế ứ ụ ực tế Việc này là quá trình tuyệt v i đờ ể hiểu rõ cách chúng ta có thể dự đoán và phân loại dữ liệu trong nhi u lĩnh về ực khác nhau

Hy vọng r ng thông qua ằ chủ đề tìm hiểu này, úng ta đã có cái nhìn t ng ch ổ quan và ki n thế ức căn bản v phân l p dề ớ ữ liệu Đây chỉ là m t bưộ ớc đầu trong hành trình dài hơi của vi c tìm hiệ ểu và ng d ng khoa hứ ụ ọc dữ liệu Bất kỳ vấn đề hoặc d án cự ụ ể th nào mà cần áp dụng phân l p dớ ữ liệu s đòi hẽ ỏi kiến thức và kỹ năng cụ ể th hơn

Chúng ta luôn khuyến khích tìm hiểu sâu hơn, tham gia vào các dự án th c ự tế, và c i thiả ện kh năng phân l p dả ớ ữ liệu của mình Khoa h c dữ liệu là mộọ t lĩnh vực đang phát triển nhanh chóng, và việc hiểu v phân l p dề ớ ữ li u là một ph n ệ ầ quan tr ng cọ ủa sự thành công trong lĩnh vực này Chúc bạn thành công và ti p tế ục khám phá thế giới của khoa h c dọ ữ liệu!

Nhóm chúng tôi xin gửi lời cảm ơn chân thành đến thầy Nguyễn Trung Tuấn đã tận tình hướng dẫn, giúp đỡ chúng tôi trong suốt quá trình tìm hiểu và hoàn thành đề tài này.

Ngày đăng: 14/08/2024, 10:01

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

TÀI LIỆU LIÊN QUAN

w