1. Trang chủ
  2. » Giáo Dục - Đào Tạo

PHÂN TÍCH VÀ DỰ ĐOÁN TỶ LỆ RỜI BỎ CỦA KHÁCH HÀNG THƯƠNG MẠI ĐIỆN TỬ DỰA TRÊN BỘ DỮ LIỆU ECOMMERCE CUSTOMER CHURN

38 0 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

Định dạng
Số trang 38
Dung lượng 10,16 MB

Nội dung

Bước 2.1: Đánh giá mô hình kiểm tra tính đúng đắn của mô hình - Dữ liệu đầu vào: là một tập dữ liệu mẫu khác đã được gán nhãn và tiền xử lý.. - Tính đúng đắn của mô hình sẽ được xác địn

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC KINH TẾ TP.HCM TRƯỜNG KINH DOANH KHOA KẾ TOÁN -**** -

ĐỒ ÁN MÔN HỌC

1 Nguyễn Thị Thảo Trang

2 Nguyễn Ngọc Nguyên Phương

3 Lê Hồng Trinh

4 Nguyễn Thị Thanh Huệ

5 Nguyễn Thị Thu

Mã lớp học phần: 23C1INF50905936 Khóa: K48

Giảng viên: TS Đặng Ngọc Hoàng Thành

Trang 3

CHƯƠNG 1: TỔNG QUAN 1.1 Tổng Quan Về Bài Toán Phân Lớp Dữ Liệu

1.1.1 Định Nghĩa

Phân lớp dữ liệu là quá trình phân một đối tượng dữ liệu vào một hay nhiều lớp

(loại) đã cho trước nhờ một mô hình phân lớp Mô hình này được xây dựng dựa trên một tập

dữ liệu đã được gán nhãn trước đó (thuộc về lớp nào) Quá trình gán nhãn (thuộc về lớp nào) cho đối tượng dữ liệu chính là quá trình phân lớp dữ liệu

Đầu tiên, quá trình phân lớp dữ liệu bắt đầu bằng việc thu thập dữ liệu, có thể là các mẫu đã được gán nhãn hoặc chưa Sau đó, dữ liệu được tiền xử lý để chuẩn hóa, loại bỏ nhiễu và rúttrích đặc trưng Điều này bao gồm việc xử lý dữ liệu thiếu, chuẩn hóa các đặc trưng để đảm bảo chúng có cùng phạm vi và đơn vị đo lường, và rút trích các đặc trưng quan trọng từ dữ liệu ban đầu

Tiếp đến, chúng ta xây dựng một mô hình phân lớp, có thể là một thuật toán học

máy như cây quyết định, máy vector hỗ trợ, mạng neural, hay các phương pháp khác Mô hình này được huấn luyện bằng cách sử dụng dữ liệu huấn luyện đã được gán nhãn Quá trình huấn luyện mô hình nhằm điều chỉnh các tham số của mô hình để tối ưu hoá khả năng phân lớp

Sau khi mô hình này đã được huấn luyện, ta tiến hành kiểm tra mô hình bằng

cách sử dụng dữ liệu kiểm tra Quá trình này giúp đánh giá hiệu suất của mô hình, bao

gồm độ chính xác, độ phủ và độ nhạy, để đảm bảo mô hình có khả năng phân loại tốt trên

dữ liệu mới

Trong thời đại hiện nay, phân lớp dữ liệu đã và đang thu hút sự quan tâm của các nhà

nghiên cứu ở nhiều lĩnh vực khác nhau như học máy (machine learning), hệ chuyên gia (expert system), thống kê (statistics) Công nghệ này cũng được ứng dụng trong những lĩnhvực khác nhau như: thương mại, ngân hàng, marketing, nghiên cứu thị trường, bảo hiểm, y

tế, giáo dục…

1.1.2 Quá Trình Phân Lớp Dữ Liệu

Trang 4

Bước 1: Xây dựng mô hình (hay còn gọi là giai đoạn “học” hoặc “huấn luyện”)

- Dữ liệu đầu vào: là dữ liệu mẫu đã được gán nhãn và tiền xử lý

- Các thuật toán phân lớp: cây quyết định, hàm số toán học, tập luật,

- Kết quả của bước này là mô hình phân lớp đã được huấn luyện (trình phân lớp)

Bước 2: Sử dụng mô hình chia thành 2 bước nhỏ.

Bước 2.1: Đánh giá mô hình (kiểm tra tính đúng đắn của mô hình)

- Dữ liệu đầu vào: là một tập dữ liệu mẫu khác đã được gán nhãn và tiền xử lý Tuy nhiên lúc đưa vào mô hình phân lớp, ta “lờ” đi thuộc tính đã được gán nhãn

- Tính đúng đắn của mô hình sẽ được xác định bằng cách so sánh thuộc tính gán nhãn của dữ liệu đầu vào và kết quả phân lớp của mô hình

Bước 2.2: Phân lớp dữ liệu mới

- Dữ liệu đầu vào: là dữ liệu “khuyết” thuộc tính cần dự đoán lớp (nhãn)

- Mô hình sẽ tự động phân lớp (gán nhãn) cho các đối tượng dữ liệu này dựa vào những gì được huấn luyện ở bước 1

1.2 Giới Thiệu Về Python và Phần Mềm Orange

1.2.1 Giới Thiệu Về Python

Python là ngôn ngữ lập trình cấp cao, có mục đích chung được sử dụng rộng rãi Nó được tạo ra bởi Guido van Rossum vào năm 1991 và được phát triển thêm bởi Python Software Foundation Python có thể chạy trên nhiều hệ điều hành khác nhau như Mac, Windows, Linux, Unix, … Điều này làm cho nó trở thành ngôn ngữ đa nền tảng và di động Nó có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình và là ngôn ngữ lập trình dễ học; được dùng rộng rãi trong phát triển trí tuệ nhân tạo Vì vậy Python được thiết kế chú trọng vào khả năng đọc mã và cú pháp của nó cho phép các lập trình viên thể hiện các khái niệm của họ với ít dòng mã hơn, không có phần khai báo kiểu biến, tham

số, hàm hoặc phương thức nào trong mã nguồn

Python là ngôn ngữ lập trình cho phép bạn làm việc nhanh chóng và tích hợp hệ thống hiệu quả hơn Nó được tải xuống miễn phí, tích hợp tốt với tất cả các loại hệ thống và tăng tốc độphát triển Python có thể giúp bạn phát triển web, phân tích dữ liệu, viết kịch bản, phát triển trò chơi, học máy

1.2.2 Phần Mềm Orange

Orange là một thư viện quy trình và đối tượng cốt lõi của C ++ kết hợp rất nhiều thuật toán Data mining và học máy tiêu chuẩn và không tiêu chuẩn Nó là một công cụ trực quan hóa

dữ liệu, Data mining và máy học nguồn mở Orange là một môi trường có thể viết kịch bản

để tạo mẫu nhanh các thuật toán và mẫu thử nghiệm mới nhất Nó là một nhóm các mô-đun dựa trên Python tồn tại trong thư viện lõi Phần mềm Orange biết đến bởi việc tích hợp các công cụ khai phá dữ liệu mã nguồn mở và học máy thông minh, đơn giản, với giao diện trựcquan và tương tác dễ dàng Có nhiều chức năng, phần mềm này có thể phân tích được những dữ liệu từ đơn giản đến phức tạp, tạo ra những đồ họa đẹp mắt và thú vị và còn giúp việc khai thác dữ liệu và học máy trở nên dễ dàng hơn cho cả người dùng mới và chuyên gia

Trang 5

Quy trình công việc Orange bao gồm các thành phần đọc, xử lý và trực quan hóa dữ liệu, gọi là các công cụ (widgets) Các công cụ cung cấp các chức năng cơ bản như đọc dữ liệu, hiển thị dữ liệu dạng bảng , lựa chọn thuộc tính đặc điểm của dữ liệu, huấn luyện dữ liệu để

dự đoán, so sánh các thuật toán máy học , trực quan hóa các phần tử dữ liệu, …

1.3 Lý do chọn lựa đề tài

Chúng ta đã trải qua năm đầy biến động với đại dịch COVID 19 Đại dịch đã làm giảm thóiquen mua sắm tại cửa hàng truyền thống và chuyển hướng sang mua sắm trực tuyến Sự giatăng về lượng khách hàng này mang lại khả năng tăng trưởng rất lớn cho ngành Thương mạiđiện tử Nắm bắt được tình hình đó đã có rất nhiều sàn thương mại điện tử tìm được tậpkhách hàng của mình, trong những năm gần đây, có rất nhiều sàn thương mại điện tử xuấthiện (Shopee, Lazada, Tiki, Sendo, TikTokshop, Taobao, Amazon, )

Khách hàng (Customer) là những đối tượng người tiêu dùng hoặc tổ chức mà các doanhnghiệp Thương mại điện tử đang hướng đến để phục vụ cho mục đích tiếp thị sản phẩm,

dịch vụ của công ty Theo Tom Peters, "Khách hàng chính là tài sản quan trọng nhất của một doanh nghiệp mặc dù không được ghi chép lại trong sổ sách của công ty"

Vì vậy, việc tạo ra một mối quan hệ tốt với khách hàng và đáp ứng nhu cầu của họ là rấtquan trọng để đảm bảo sự thành công của doanh nghiệp Để tồn tại và phát triển bền vững,các doanh nghiệp thương mại điện tử cần có một chiến lược kinh doanh rõ ràng Trong đềtài này, nhóm sẽ giúp công ty Thương mại điện tử phân tích và dự đoán tỷ lệ rời bỏ củakhách hàng với công ty Thương mại điện tử Từ đó, công ty có thể đề ra những chiến lượckinh doanh để giữ chân khách hàng và cải thiện dịch vụ của công ty Từ những lí do trên,nhóm sử dụng bộ dữ liệu Ecommerce Customer Churn Analysis and Prediction để giải

quyết

Trang 6

CHƯƠNG 2: CÁC MÔ HÌNH PHÂN LỚP DỮ LIỆU 2.1 Các mô hình phân lớp dữ liệu

2.1.1 Mô hình Logistic Regression

Định nghĩa: Hồi quy logistic là một mô hình xác suất dự đoán giá trị đầu ra rời rạc từ một tập các giá trị đầu vào (biểu diễn dưới dạng vector)

Ưu điểm:

- Đơn giản và dễ hiểu: Logistic Regression là một trong những mô hình học máy đơn giản

và dễ hiểu nhất Nó không yêu cầu nhiều giả định phức tạp và thuật toán tính toán đơn giản

- Tính rõ ràng: Mô hình Logistic Regression cho phép chúng ta kiểm tra tác động của từng biến độc lập lên biến phụ thuộc Chúng ta có thể tính toán hệ số của từng biến và đánh giá

Trang 7

- Hiệu suất tốt với dữ liệu lớn: Logistic Regression có khả năng xử lý hiệu quả các tập dữ liệu lớn Thuật toán của nó được tính toán tương đối nhanh chóng

Nhược điểm:

- Không xử lý được các quan hệ phi tuyến: Logistic Regression là một mô hình tuyến tính, nên nó không thể mô hình hóa các quan hệ phi tuyến trực tiếp Điều này có nghĩa là nếu dữ liệu có mối quan hệ không tuyến tính phức tạp, sẽ khó để Logistic Regression tìm ra mô hình phù hợp

- Dễ bị ảnh hưởng bởi dữ liệu nhiễu: Mô hình Logistic Regression có thể nhạy cảm với dữ liệu nhiễu, tức là dữ liệu không chính xác hoặc ngoại lai Dữ liệu nhiễu có thể làm sai lệch kết quả và dẫn đến việc sai lầm trong dự đoán

- Yêu cầu biến độc lập và không có tương quan: Logistic Regression giả định rằng các biến giải thích không có mối tương quan lớn Nếu có sự tương quan mạnh giữa các biến độc lập, điều này có thể dẫn đến hiện tượng tắc nghẽn quy trình và làm giảm hiệu suất của mô hình

- Yêu cầu dữ liệu đủ lớn: Để đạt được kết quả tốt, Logistic Regression cần có một lượng dữ liệu đủ lớn Việc sử dụng ít dữ liệu có thể dẫn đến hiện tượng overfitting, khi mô hình chỉ học thuộc lòng dữ liệu huấn luyện mà không thể áp dụng cho dữ liệu mới

- Có 3 dạng hồi quy Logistic:

Hồi quy Logistic nhị phân: biến phụ thuộc chỉ có thể có 2 kết quả/lớp có thể xảy ra Hồi quyLogistic đa thức: biến phụ thuộc chỉ có 2 hoặc 3 kết quả/lớp có thể xảy ra Hồi quy Logistic thông thường: biến phụ thuộc chỉ có 2 hoặc nhiều hơn 3 kết quả/ lớp có thể được xếp theo đúng thứ tự

2.1.2 Mô hình Decision Tree

Khái niệm: Trong lý thuyết quản trị, cây quyết định là đồ thị các quyết định cùng các kết quả khả dĩ đi kèm nhằm hỗ trợ quá trình ra quyết định.Trong lĩnh vực khai thác dữ liệu, cây quyết định là phương pháp nhằm mô tả, phân loại và tổng quát hóa tập dữ liệu cho trước

Trang 8

Ví dụ: Xây dựng mô hình Decision Tree

Ví dụ: Phân lớp bằng mô hình Decision Tree

Ưu điểm:

- Dễ hiểu, dễ hình dung, cây quyết định cung cấp một sự trình bày rõ ràng về quá trình ra

quyết định

- Có thể xử lý trên nhiều kiểu dữ liệu

- Không đòi hỏi việc chuẩn hóa dữ liệu

- Xử lý một lượng dữ liệu lớn trong thời gian ngắn tốt

Trang 9

Nhược điểm:

- Sự thay đổi nhỏ trong dữ liệu có thể dẫn đến cấu trúc cây khác nhau

- Khó khăn trong việc giải quyết tình huống dữ liệu phụ thuộc thời gian

- Chi phí xây dựng mô hình cao

2.1.3 Mô hình Support Vector Machine (SVM)

2.1.3.1Mô hình Support Vector Machine (SVM)

- Margin là khoảng cách giữa siêu phẳng đến 2 điểm dữ liệu gần nhất tương ứng với các phân lớp

- Ví dụ quả táo quả lê đặt trên mặt bán, margin chính là khoảng cách giữa cây que và hai quả táo và lê gần nó nhất Điều quan trọng ở đây đó là phương pháp SVM luôn cố gắng cực đại hóa margin này, từ đó thu được một siêu phẳng tạo khoảng cách xa nhất so với 2 quả táo

và lê Nhờ vậy, SVM có thể giảm thiểu việc phân lớp sai (misclassification) đối với điểm dữliệu mới đưa vào

Trang 10

Hình ảnh : Mô hình Support Vector Machine

- Support Vector Machine hay còn gọi là SVM là một thuật toán có giám sát , nó có thể sử dụng cho việc phân loại hoặc đệ quy Tuy nhiên nó được sử dụng chủ yếu cho việc phân loại SVM nhận dữ liệu vào, xem chúng như các vector trong không gian và phân loại chúng vào các lớp khác nhau Trong thuật toán này chúng ta vẽ đồ thị dữ liệu là các điểm trong n chiều (n là số lượng các tính năng bạn có) với giá trị của mỗi tính năng sẽ là một phần liên kết Support Vector Machine (SVM) là một kỹ thuật máy học phân tách không gian thuộc tính với một siêu phẳng, do đó tối đa hoá các điểm dữ liệu của tất cả các lớp Kỹ thuật này thường mang lại kết quả dự đoán tối cao

- Đối với hồi quy, SVM thực hiện hồi quy tuyến tính trong không gian tính năng với kíchthước cao bằng cách sử dụng ε-insensitive Độ chính xác ước tính của nó phụ thuộc tốt vàocác tham số C, ε và kernel

→ Đây là một thuật toán khá hiệu quả trong lớp các bài toán phân loại nhị phân và dự báo của học có giám sát Thuật toán này có ưu điểm là hoạt động tốt đối với những mẫu dữ liệu

có kích thước lớn và thường mang lại kết quả vượt trội so với lớp các thuật toán khác trong học có giám sát

2.1.3.2 Các hoạt động cho cả nhiệm vụ phân loại và hồi quy.

tính ( almost linearly separable)

Trang 11

Dữ liệu là phi tuyến

Ưu điểm : SVM là một mô hình phân lớp khá phổ biến, SVM thể hiện được nhiều ưu điểm

trong số đó có việc tính toán hiệu quả trên các tập dữ liệu lớn, xử lý trên không

gian số chiều cao : SVM là một công cụ tính toán hiệu quả trong không gian chiều cao, trong đó đặc biệt áp dụng cho các bài toán phân loại văn bản và phân tích quan điểm nơi chiều có thể cực kỳ lớn

Có thể kể thêm một số ưu điểm của phương pháp này như:

Tiết kiệm bộ nhớ: Do chỉ có một tập hợp con của các điểm được sử dụng trong quá

trình huấn luyện và ra quyết định thực tế cho các điểm dữ liệu mới nên chỉ có những điểm cần thiết mới được lưu trữ trong bộ nhớ khi ra quyết.( do quá trình test chỉ cần

so điểm dữ liệu mới với mặt siêu phẳng tìm được mà không cần tính toán lại)

Tính linh hoạt : vừa có thể phân lớp tuyến tính và phi tuyến ( sử dụng các kernel

khác nhau)

● xử lí được không gian nhiều chiều

Nhược điểm :

● Bài toán số chiều cao: Trong trường hợp số lượng thuộc tính (p) của tập dữ liệu lớn

hơn rất nhiều so với số lượng dữ liệu (n) thì SVM cho kết quả không tốt

● Chưa thể hiện rõ tính xác suất: Việc phân lớp của SVM chỉ là việc cố gắng tách các

đối tượng vào hai lớp được phân tách bởi siêu phẳng SVM Điều này chưa giải thích được xác suất xuất hiện của một thành viên trong một nhóm là như thế nào Tuy nhiên hiệu quả của việc phân lớp có thể được xác định dựa vào khái niệm margin từ điểm dữ liệu mới đến siêu phẳng phân lớp mà chúng ta đã bàn luận ở trên

2.1.4 Mô hình Neural Network

2.1.4.1 Khái niệm mô hình Neural Network

- Là mạng lưới Nơ-ron nhân tạo Đây là chuỗi thuật toán nhằm tìm kiếm quan hệ trong tập hợp dữ liệu hệ thống dựa theo cách thức hoạt động não bộ con người

- Được xem là hệ thống liên kết các tế bào thần kinh nhân tạo về bản chất hoặc hữu cơ

2.1.4.2 Mô hình Neural Network

Trang 12

- Mạng Neural Network là sự kết hợp của những tầng perceptron hay còn gọi là perceptron

đa tầng Và mỗi một mạng Neural Network thường bao gồm 3 kiểu tầng là:

● Tầng input layer (tầng vào): Tầng này nằm bên trái cùng của mạng, thể hiện cho các đầu vào của mạng

● Tầng output layer (tầng ra): Là tầng bên phải cùng và nó thể hiện cho những đầu ra của mạng

● Tầng hidden layer (tầng ẩn): Tầng này nằm giữa tầng vào và tầng ra nó thể hiện cho quá trình suy luận logic của mạng

Lưu ý: Mỗi một Neural Network chỉ có duy nhất một tầng vào và 1 tầng ra nhưng lại

có rất nhiều tầng ẩn

- Với mạng Neural Network thì mỗi nút mạng là một sigmoid nơron nhưng chúng lại cóhàm kích hoạt khác nhau Thực tế, người ta thường sử dụng có cùng loại với nhau để việctính toán thuận lợi hơn Tại mỗi tầng, số lượng nút mạng có thể khác nhau còn tùy vào bàitoán hoặc cách giải quyết

- Tuy nhiên, khi làm việc người ta sẽ để các tầng ẩn số với số lượng nowrowrron khác nhau.Ngoài ra, những nơron nằm ở tầng thường sẽ liên kết đôi với nhau để tạo thành mạng kết nối đầy đủ nhất Khi đó, người dùng có thể tính toán được kích cỡ của mạng dựa vào tầng

và số lượng nơ ron

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

2.2.1 Tiền xử lý dữ liệu

2.2.1.1 Giới thiệu về tiền xử lý dữ liệu

- Tiền xử lý dữ liệu là một bước rất quan trọng trong việc giải quyết bất kỳ vấn đề nào tronglĩnh vực Học Máy Hầu hết các bộ dữ liệu được sử dụng cần được xử lý, làm sạch và biến đổi trước khi một thuật toán Học Máy có thể được huấn luyện trên những bộ dữ liệu này

- Các kỹ thuật tiền xử lý dữ liệu phổ biến hiện nay bao gồm: xử lý dữ liệu bị khuyết

(missing data), mã hóa các biến nhóm (encoding categorical variables), chuẩn hóa dữ liệu

Trang 13

(standardizing data), co giãn dữ liệu (scaling data), … Những kỹ thuật này tương đối dễ hiểu nhưng sẽ có nhiều vấn đề phát sinh khi chúng ta áp dụng vào các dữ liệu thực tế Bởi lẽcác bộ dữ liệu ứng với các bài toán trong thực tế rất khác nhau và mỗi bài toàn thì đối mặt với những thách thức khác nhau về mặt dữ liệu.

- Orange cung cấp cho người dùng tập các toolbox vào phân tích dữ liệu gồm:

● Data: dùng để rút trích, biến đổi, và nạp dữ liệu (ETL process)

● Visualize: dùng để biểu diễn biểu đồ (chart) giúp quan sát dữ liệu được

tốt hơn

● Model: gồm các hàm machine learning phân lớp dữ liệu, có cả Neural

Network gồm các hyper-parameter cơ bản để bạn xây dựng nhanh Deep

learning thần thánh mà các fan Deep-learning based đang theo đuổi

● Evaluate: các phương pháp đánh giá mô hình máy học

● Unsupervised: gồm các hàm machine learing gom nhóm dữ liệu

● Others: các công cụ giúp ghi chú workflow ta đang làm việc

- File widget: dùng để nạp dữ liệu từ các nguồn như xlsx (Excel), txt, csv

Khi double-click vào biểu tượng File, ta sẽ mở Dialog để xem và chỉnh định nghĩa của bảng

dữ liệu: nạp file dữ liệu ở đâu, thống kê sợ bộ số dòng, số cột dữ liệu, danh sách tên các thuộc tính (tên, kiểu dữ liệu, chức năng: feature, target, meta, skip) và mẫu dữ liệu quan sát

- Data table widget: Dùng để quan sát dữ liệu bảng biểu bằng cách nối File widget vào Data table widget Khi double-click vào ta sẽ quan sát được dữ liệu

Trang 14

- Distribution widget: Dùng biểu diễn phân bố của một thuộc tính xác định Ta nối File widget đến Distribution widget và double-click vào widget này để quan sát dữ liệu

Widget này tự động dùng bar-chart cho kiểu dữ liệu category và histogram cho kiểu dữ liệu

- Preprocessing widget: Do đó, ta sẽ tiến hành tiền xử lý dữ liệu thông qua Preprocessing

widget

● Normalize Features: chuẩn hoá dữ liệu về đoạn 0-1

● Impute Missing Values: điền giá trị trung bình cho kiểu dữ

liệu dạng số và giá trị phổ biến cho kiểu dữ liệu dạng

category

● Discretize Continuous Variables: chia giỏ dữ liệu 10 bins và

Trang 15

mỗi bin có sai biệt đều nhau.

- Save data widget: Dùng để lưu dữ liệu sau khi đã được xử lý Lưu ý: ta

cần chọn những dòng dữ liệu để lưu và bấm nút Save as để xác định địa chỉ

lưu file

2.2.2 Phân chia dữ liệu

2.2.2.1Phương pháp phân Hold-out

- Phương pháp Hold-out khá đơn giản Phương pháp này chia tập dữ liệu đầu vào thành hai tập phân biệt với tỷ lệ cho trước Tỷ lệ giữa Training set và Validation set thường được chọntương ứng là ⅔ và ⅓ hay 70% và 30%

- Có thể cải tiến bằng cách dùng phương pháp lấy mẫu sao cho mỗi lớp được phân bố đều trong cả 2 tập dữ liệu huấn luyện và đánh giá Hoặc lấy mẫu ngẫu nhiên: thực hiện hold out

k lần và độ chính xác acc(M) = trung bình cộng k giá trị chính xác

- Phương pháp Hold-out thường cho hiệu quả tốt trên các tập dữ liệu lớn Tuy nhiên, ở các tập dữ liệu nhỏ hoặc vừa phải, hiệu quả của mô hình sử dụng phương pháp này phụ thuộc nhiều vào cách chia cũng như tỷ lệ chia dữ liệu

2.2.2.2 Phương pháp K-fold Cross Validation

Phương pháp này phân chia dữ liệu thành k tập con có cùng kích thước (gọi là fold) Một trong các fold được sử dụng làm tập dữ liệu đánh giá và phần còn lại được sử dụng làm tập huấn luyện Quá trình lặp lại cho đến khi tất cả các fold đều đã được dùng làm tập dữ liệu

Trang 16

● Phần dữ liệu Test data sẽ đc để riêng và dành cho bước đánh giá cuối cùng nhằm kiểm tra “phản ứng” của model khi gặp các dữ liệu unseen hoàn toàn.

● Phần dữ liệu Training thì sẽ được chia ngẫu nhiên thành K phần (K là một số

nguyên, hay chọn là 5 hoặc 10) Sau đó train model K lần, mỗi lần train sẽ chọn 1 phần làm dữ liệu validation và K-1 phần còn lại làm dữ liệu training Kết quả đánh giá model cuối cùng sẽ là trung bình cộng kết quả đánh giá của K lần train Đó

chính là lý do vì sao ta đánh giá khách quan và chính xác hơn

2.2.3 Phân lớp dữ liệu

2.2.3.1 Giới thiệu phân lớp dữ liệu

Phân lớp dữ liệu là quá trình phân một đối tượng dữ liệu vào một hay nhiều lớp (loại) đã cho trước nhờ một mô hình phân lớp Mô hình này được xây dựng dựa trên một tập dữ liệu

đã được gán nhãn trước đó (thuộc về lớp nào) Quá trình gán nhãn (thuộc lớp nào) cho đối tượng dữ liệu chính là quá trình phân lớp dữ liệu Mục đích của phân lớp dữ liệu là để xây dựng một mô hình mà có thể dự đoán được tên lớp của những phần tử mới dựa vào những đặc điểm của nó

Trang 17

2.2.3.2Quá trình phân lớp dữ liệu

- Bước 1: Xây dựng mô hình (hay còn gọi là giai đoạn “học” hoặc “huấn luyện”-

learning)

● Quá trình học nhằm xây dựng một mô hình mô tả một tập các lớp dữ liệu hay các

khái niệm định trước

● Dữ liệu đầu vào của quá trình này là: dữ liệu mẫu đã được gán nhãn và tiền xử lý để

dữ liệu không bị nhiễu hay có bất cứ sai sót nào

● Các thuật toán phân lớp: cây quyết định, hàm số toán học, tập luật…

● Kết quả của bước này là mô hình phân lớp đã được huấn luyện (trình phân lớp)

- Bước 2: Sử dụng mô hình chia thành 2 bước nhỏ

Bước 2.1: Đánh giá mô hình (kiểm tra tính đúng đắn của mô hình)

- Dữ liệu đầu vào: là một tập dữ liệu mẫu khác đã được gán nhãn và tiền xử lý Tuy

nhiên, lúc đưa vào mô hình phân lớp, ta “lờ” đi thuộc tính đã được gán nhãn

- Tính đúng đắn của mô hình sẽ được xác định bằng cách tính gán nhãn của dữ liệu

đầu vào và kết quả phân lớp của mô hình

Trang 18

- Mô hình sẽ tự động phân lớp (gán nhãn) cho các đối tượng dữ liệu này dựa vào những gì được huấn luyện ở bước 1.

2.2.4 Đánh giá tính hiệu quả

Đánh giá tính hiệu quả là phương pháp kiểm tra tính đúng đắn của mô hình phân lớp dữ liệu

có tính đặc thù cụ thể, để từ đó ta có ra quyết định nên sử dụng mô hình đó hay không Khi xây dựng các mô hình của học máy, ta nên xem xét hai vấn đề: Underfitting (chưa khớp) và Overfitting (quá khớp)

- Underfitting (chưa khớp): Là hiện tượng mô hình chưa phù hợp với tập dữ liệu huấn

luyện và các mẫu mới khi dự đoán Có thể là do mô hình quá đơn giản để bao quát được tập

dữ liệu dẫn đến tồn tại nhiều điểm dữ liệu mô hình không phân loại được đúng

- Overfitting (quá khớp): Là hiện tượng mô hình quá khớp với tập dữ liệu huấn luyện

Lượng dữ liệu nhỏ trong khi mô hình quá phức tạp nên cho dù độ chính xác cao nhưng không thể mô tả được các xu hướng tổng quát của dữ liệu mới

- Good fitting (phù hợp): Là trường hợp mô hình cho ra kết quả hợp lý với cả tập dữ liệu

huấn luyện và các giá trị mới

Các phương pháp đánh giá mô hình phân lớp

Trang 19

Trong đó: TP (dương tính đúng, True Positive), TN (âm tính đúng True Negative), FP

(dương tính giả, False Positive) và FN (âm tính giả, False Negative) được xác định dựa trên các kết quả dương tính hoặc âm tính của kết quả được dự đoán so với chân trị

2.2.4.2 Test and Score

Được dùng để đánh giá các mô hình máy học thông qua các phương pháp

● Độ chính xác (accuracy): xác định mức độ chính xác của kết quả phân lớp cho cả phân

lớp âm và dương tính Độ chính xác được tính theo công thức

● Độ nhạy (sensitivity) - độ phủ (recall) hay TPR (True Positive Rate): xác định mức

độ chính xác của kết quả phân lớp cho cả phân lớp âm và dương tính Độ chính xác được tính theo công thức

● Độ chính xác phép đo (precision): xác định tỷ số dương tính được xác định đúng trên

tổng số dương tính

Ngày đăng: 15/05/2024, 13:12

HÌNH ẢNH LIÊN QUAN

Hình ảnh : Mô hình Support Vector Machine - PHÂN TÍCH VÀ DỰ ĐOÁN TỶ LỆ RỜI BỎ CỦA KHÁCH HÀNG THƯƠNG MẠI ĐIỆN TỬ DỰA TRÊN BỘ DỮ LIỆU ECOMMERCE CUSTOMER CHURN
nh ảnh : Mô hình Support Vector Machine (Trang 10)

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

TÀI LIỆU LIÊN QUAN

w