Ứng dụng của bài toán này được sử dụng rất nhiều và rộng rãi trong thực tế ví dụ như bàitoán nhận dạng khuôn mặt, nhận diện giọng nói, phát hiện email spam, … Dưới đây là các bước chính
TỔNG QUAN VỀ ĐỀ TÀI
Tổng quan về bài toán phân lớp dữ liệu
Bài toán phân lớp là quá trình phân lớp 1 đối tượng dữ liệu vào 1 hay nhiều lớp đã cho trước nhờ 1 mô hình phân lớp (model).
● Mô hình này được xây dựng dựa trên 1 tập dữ liệu được xây dựng trước đó có gán nhãn (hay còn gọi là tập huấn luyện).
● Quá trình phân lớp là quá trình gán nhãn cho đối tượng dữ liệu.
Bài toán phân lớp (classification) và bài toán gom cụm (cluster) là 2 bài toán lớn trong lĩnh vực Machine Learning (ML) nói riêng và Data Science nói chung.
Hình1.Giới thiệu về phân lớp dữ liệu
Có nhiều bài toán phân lớp dữ liệu như phân lớp nhị phân (binary classification), phân lớp đa lớp (multiclass classification), phân lớp đa trị.
● Bài toán phân lớp nhị phân là bài toán gán nhãn dữ liệu cho đối tượng vào 1 trong 2 lớp khác nhau dựa vào việc dữ liệu đó có hay không có các đặc trưng (feature) của bộ phân lớp.
● Bài toán phân lớp đa lớp là quá trình phân lớp dữ liệu với số lượng lớp lớn hơn 2 Như vậy với từng dữ liệu phải xem xét và phân lớp chúng vào những lớp khác nhau chứ không phải là 2 lớp như bài toán phân lớp nhị phân Và thực chất bài toán phân lớp nhị phân là 1 bài toán đặt biệt của phân lớp đa lớp. Ứng dụng của bài toán này được sử dụng rất nhiều và rộng rãi trong thực tế ví dụ như bài toán nhận dạng khuôn mặt, nhận diện giọng nói, phát hiện email spam, …
Dưới đây là các bước chính trong quá trình phân lớp dữ liệu:
● Xácđịnhcáclớphoặcnhóm:Đầu tiên, chúng ta cần xác định các lớp hoặc nhóm mà chúng ta muốn phân loại các quan sát vào Ví dụ, trong bài toán phân loại hình ảnh, các lớp có thể là các loại đối tượng khác nhau như chó, mèo, ô tô, xe đạp, v.v.
● Thuthậpdữliệu:Tiếp theo, chúng ta cần thu thập dữ liệu cho từng lớp Dữ liệu này có thể được thu thập thông qua các phương pháp khác nhau, bao gồm cả thu thập dữ liệu thủ công và tự động.
● Tiềnxửlýdữliệu:Trước khi chúng ta có thể phân lớp dữ liệu, chúng ta cần tiền xử lý dữ liệu để chuẩn bị cho các bước tiếp theo Các bước tiền xử lý có thể bao gồm chuẩn hóa dữ liệu, xử lý giá trị bị khuyết và trích xuất đặc trưng.
● Huấnluyệnmôhìnhphânlớp:Tiếp theo, chúng ta cần huấn luyện một mô hình phân lớp để phân loại các quan sát vào các lớp tương ứng Có nhiều loại mô hình phân lớp khác nhau, bao gồm cây quyết định, học máy, mạng nơ-ron và SVM (Support Vector Machine).
● Đánh giá và điềuchỉnhmôhình:Sau khi huấn luyện mô hình, chúng ta cần đánh giá hiệu suất của nó bằng cách sử dụng các phương pháp đánh giá mô hình như chia tập dữ liệu, ma trận nhầm lẫn và độ chính xác, ROC, AUC Nếu mô hình của chúng ta không hoạt động tốt, chúng ta có thể điều chỉnh nó bằng cách thay đổi các siêu tham số.
Giới thiệu phần mềm Orange
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, được lập trình bằng Python với giao diện trực quan và tương tác dễ dàng Với 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.
Orange cung cấp nhiều tính năng hữu ích cho phân tích dữ liệu và trực quan hóa, bao gồm:
● Xử lý và chuẩn hóa dữ liệu: Orange cung cấp nhiều công cụ để xử lý và chuẩn hóa dữ liệu, bao gồm lọc, tách, chuyển đổi và rút trích đặc trưng dữ liệu.
● Phân tích dữ liệu: Orange cung cấp các công cụ để phân tích dữ liệu bằng cách sử dụng các phương pháp thống kê, học máy và khai thác dữ liệu, bao gồm phân tích cụm, phân tích thành phần chính, hồi quy và phân loại.
● Mô hình hóa dữ liệu: Orange cung cấp nhiều công cụ để xây dựng và đánh giá mô hình dữ liệu bằng cách sử dụng các phương pháp học máy và khai thác dữ liệu, bao gồm cây quyết định, hồi quy tuyến tính, mạng nơ-ron và SVM.
● Trực quan hóa dữ liệu: Orange cung cấp nhiều công cụ để trực quan hóa dữ liệu bằng cách sử dụng các biểu đồ và đồ thị, bao gồm biểu đồ đường, biểu đồ cột và biểu đồ phân tán.
Các công cụ (widgets) 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, …
● 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 máy học (machine learning) phân lớp dữ liệu với Tree, Logistics Regression, SVM,
Hình2 Giao diện công cụ Data Hình3 Giao diện công cụ Visualize Hình4 Giao diện công cụ Model
● Evaluate: Là các phương pháp đánh giá mô hình như : Test&Score, Prediction, Confusion.
● Unsupervised: Gồm các hàm máy học (machine learning) gom nhóm dữ liệu như:
Giao diện công cụ Evaluate
Giao diện công cụ Unsupervised
● Add ons: Giúp mở rộng các chức năng nâng cao như xử lý dữ liệu lớn (Big Data) với Spark, xử lý ảnh với Deep learning, xử lý văn bản, phân tích mạng xã hội, Đây có lẽ là điểm cộng của Orange so với các phần mềm khai phá dữ liệu khác.
Hình7.Giao diện Add-ons
Lý do chọn đề tài
Kể từ sau dịch Covid-19, giao hàng đang là xu thế nổi lên nhanh chóng và xâm chiếm thị trường Các dịch vụ giao hàng nổi lên như một hiện tượng, từ đồ ăn, điện máy, quần áo hay thậm chí là thú cưng đã hoàn toàn thay đổi thói quen mua sắm của người tiêu dùng toàn thế giới.
Nhóm chúng em quyết định chọn đề tài phân tích, dự báo liệu đơn hàng của một công ty bán đồ điện máy có giao đúng hạn hay không vì đây là một vấn đề quan trọng đối với sự thành công của doanh nghiệp này nói riêng và rất nhiều doanh nghiệp trong xã hội hiện tại nói chung. Đơn hàng được giao đúng hạn là một yếu tố quan trọng để giữ vững lòng tin của khách hàng Nếu công ty không đảm bảo được việc giao hàng đúng thời hạn, khách hàng có thể mất niềm tin vào công ty và chuyển sang sử dụng sản phẩm và dịch vụ của các đối thủ cạnh tranh Bên cạnh đó, giao hàng đúng hạn cũng giúp tăng tính cạnh tranh của công ty trong ngành Các công ty cạnh tranh có thể có chất lượng sản phẩm tương đương nhưng khả năng giao hàng đúng hạn lại là yếu tố quan trọng để khách hàng chọn lựa.
Bằng cách phân tích và dự báo, nhóm hy vọng có thể đưa ra các giải pháp để giảm thiểu rủi ro giao hàng chậm trễ và cải thiện hiệu quả hoạt động kinh doanh của công ty Việc phân tích và dự báo giúp công ty nắm bắt được tình hình sản xuất và lưu kho, từ đó đưa ra kế hoạch vận chuyển hợp lý và đảm bảo giao hàng đúng hạn.
Từ việc phân tích và dự báo, công ty có thể tối ưu hoá các quy trình sản xuất và vận chuyển để giảm thiểu thời gian chờ đợi của khách hàng và cải thiện chất lượng dịch vụ.
Tóm lại, việc phân tích, dự báo và cải thiện quy trình giao hàng của công ty bán đồ điện máy sẽ giúp tăng tính cạnh tranh và giữ vững lòng tin của khách hàng, từ đó giúp công ty đạt được sự thành công trong lĩnh vực kinh doanh của mình.
Mục tiêu nghiên cứu
Mục tiêu chung của việc nghiên cứu tập dữ liệu này là nhằm sử dụng các phương pháp thống kê, phân tích dữ liệu để xác định và dự báo những đơn đặt hàng bị giao trễ Từ đó, phân tích lý do, tìm ra nguyên nhân để công ty giao hàng có thể cải tiến quá trình làm việc nhằm nâng cao chất lượng dịch vụ. Đề tài của nhóm cũng đã đặt ra rõ ràng 2 mục tiêu chính cần giải quyết song song với 2 bài toán yêu cầu:
● Mục tiêu thứ nhất - Phát hiện điểm đặc thù của dữ liệu: mục tiêu này đòi hỏi một quá trình phân tích và tìm hiểu các thông tin quan trọng, đáng chú ý của bộ dữ liệu Các công cụ có thể áp dụng để hỗ trợ là: Pivot Table, hàm của Excel, Orange và các dạng lược đồ, biểu đồ…
● Mục tiêu thứ hai - Dự đoán khả năng các đơn hàng bị trễ hẹn thông qua các biến độc lập có trong bài như: hình thức giao hàng, giá thành sản phẩm, khối lượng đơn hàng, Ở mục tiêu này ta áp dụng bài toán phân lớp là kiến thức đã được học trong lớp.
Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của bài là 10.999 đơn hàng của các khách hàng khác nhau với các thông tin lưu trữ về đơn hàng như: kho chứa, khối lượng, hình thức giao hàng, được khách hàng tra cứu thông tin bao nhiêu lần,
Phạm vi nghiên cứu của bài luận sẽ được chứa trong tập dữ liệu lưu trữ của công ty về thông tin các đơn hàng.
CÁC MÔ HÌNH PHÂN LỚP DỮ LIỆU
Các mô hình phân lớp dữ liệu
Hồi quy logistic là một kỹ thuật phân tích dữ liệu sử dụng toán học để tìm ra mối quan hệ giữa hai yếu tố dữ liệu Sau đó, kỹ thuật này sử dụng mối quan hệ đã tìm được để dự đoán giá trị của những yếu tố đó dựa trên yếu tố còn lại Dự đoán thường cho ra một số kết quả hữu hạn, như có hoặc không.
Ví dụ: giả sử bạn muốn đoán xem khách truy cập trang web của bạn sẽ nhấp vào nút thanh toán trong giỏ hàng của họ hay không Phân tích hồi quy logistic xem xét hành vi của khách truy cập trước đây, chẳng hạn như thời gian dành cho trang web và số lượng các mặt hàng trong giỏ hàng Quá trình phân tích này xác định rằng, trước đây, nếu khách truy cập dành hơn năm phút trên trang web và thêm hơn ba mặt hàng vào giỏ hàng, họ sẽ nhấp vào nút thanh toán Nhờ vào thông tin này, sau đó, hàm hồi quy logistic có thể dự đoán hành vi của một khách mới truy cập trang web.
Regularizationlà một kỹ thuật được sử dụng trong các mô hình học máy nhằm giảm thiểu tình trạng overfitting (quá khớp) trong quá trình huấn luyện mô hình.
L1: tạo ra các trọng số thưa thớt (sparse weights) bằng cách đưa một số trọng số về 0.
L2: regularization sẽ giảm thiểu giá trị của các trọng số mà không đưa chúng về 0.
Strength (C): Đây là tham số quyết định mức độ ảnh hưởng của regularization đến quá trình huấn luyện Nếu giá trị C càng nhỏ thì mô hình sẽ càng có xu hướng đưa các trọng số về 0, và ngược lại.
Hình8.Giao diện Logistic RegressionBalance class distribution:Đây là tham số quyết định cách xử lý mất cân bằng dữ liệu giữa các lớp Nếu tính năng này được kích hoạt, mô hình sẽ cố gắng cân bằng số lượng mẫu giữa các lớp bằng cách tăng hoặc giảm trọng số của từng mẫu trong quá trình huấn luyện. Ưu điểm:
● Mô hình Logistic dễ thực hiện, dễ đào tạo Nó rất nhanh trong việc phân loại các bản ghi không xác định.
● Hoạt động tốt khi tập dữ liệu có thể phân tách tuyến tính.
● Có thể giải thích các hệ số của mô hình như là các chỉ số về tầm quan trọng của tính năng.
Nhược điểm:Mô hình Logistic vẫn tồn tại nhược điểm, đó là mô hình phụ thuộc vào mức độ chính xác của nguồn thông tin thu nhập và khả năng dự báo cũng như trình độ phân tích của cán bộ tín dụng Ngoài ra, mô hình Logistic bản chất là mô hình kinh tế lượng, vì vậy khi hệ số xác định ở mức nhỏ thì mô hình có thể dự báo kém chính xác.
Cây ra quyết định là một phương pháp trong Machine Learning và Data Mining được sử dụng để dự đoán giá trị đầu ra cho một tập dữ liệu mới bằng cách xây dựng một cây quyết định từ tập dữ liệu huấn luyện Cây ra quyết định cũng được sử dụng để phân loại và phân tích dữ liệu Nó có thể áp dụng cho cả dữ liệu phân loại (categorical data) và dữ liệu số (numeric data) Một cây quyết định là một cấu trúc cây có nút và nhánh Mỗi nút đại diện cho một thuộc tính (attribute), trong khi mỗi nhánh là một giá trị (value) của thuộc tính đó Các lá (leaf) của cây đại diện cho các lớp (class) hoặc giá trị dự đoán (prediction) của một mẫu dữ liệu Để phân lớp một mẫu dữ liệu, ta sẽ bắt đầu từ nút gốc của cây và tiến hành kiểm tra giá trị của thuộc tính tại nút đó để di chuyển đến nút con phù hợp Tiếp tục thực hiện đến khi đạt được lá của cây, nơi mà sẽ cho ra lớp (class) hoặc giá trị dự đoán của mẫu dữ liệu đó Việc phân lớp dựa trên cây quyết định có thể được áp dụng trong nhiều lĩnh vực như phân loại ảnh, phân tích văn bản, dự đoán giá cổ phiếu và nhiều ứng dụng khác Tuy nhiên, nếu cây quyết định bị quá khớp với dữ liệu huấn luyện, thì kết quả phân loại có thể không chính xác trên dữ liệu mới Do đó, việc đánh giá và kiểm tra độ chính xác của cây quyết định trên dữ liệu kiểm tra là rất quan trọng Phương pháp cây ra quyết định bao gồm các bước sau:
- Chọn thuộc tính tốt nhất để tách dữ liệu: Thuộc tính tốt nhất là thuộc tính có khả năng tách dữ liệu thành các tập con tốt nhất Để chọn thuộc tính tốt nhất, có thể sử dụng các phương pháp như Information Gain, Gini Index và Chi-Squa-red Test.
- Tách dữ liệu theo thuộc tính đã chọn: Sau khi chọn thuộc tính tốt nhất, dữ liệu được tách thành các tập con dựa trên giá trị của thuộc tính này.
- Lặp lại quá trình cho các tập con: Quá trình lựa chọn thuộc tính và tách dữ liệu được lặp lại cho các tập con, cho đến khi các tập con chỉ chứa các trường hợp của một lớp hoặc đạt đến một tiêu chí dừng.
- Tạo cây quyết định: Các tập con được sử dụng để xây dựng cây quyết định Các tập con là các nút trong cây quyết định, trong khi các thuộc tính được sử dụng để tách dữ liệu là các cạnh của cây.
- Kiểm tra và tinh chỉnh cây quyết định: Cây quyết định được kiểm tra để đảm bảo rằng nó có thể dự đoán chính xác giá trị đầu ra cho các tập dữ liệu mới Nếu cây quyết định không hoạt động tốt, các thay đổi được thực hiện để tinh chỉnh cây Phương pháp cây ra quyết định là một phương pháp đơn giản và hiệu quả để dự đoán giá trị đầu ra cho các tập dữ liệu mới Nó được sử dụng rộng rãi trong nhiều lĩnh vực, bao gồm công nghệ thông tin, tài chính, y tế, và nhiều lĩnh vực khác. Ưu điểm:
● Không đòi hỏi việc chuẩn hóa dữ liệu
● Có thể xử lý trên nhiều kiểu dữ liệu khác nhau.
● Xử lý tốt một lượng dữ liệu lớn trong thời gian ngắn Nhược điểm:
● Khó giải quyết trong 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 Giới thiệu
Support Vector Machine (SVM) là một mô hình phân loại hoạt động bằng việc xây dựng một siêu phẳng (hyperplane) có (n - 1) chiều trong không gian n chiều của dữ liệu sao cho siêu phẳng này phân loại các lớp một cách tối ưu nhất Ở không gian 2 chiều thì siêu phẳng này là 1 đường thẳng phân cách chia mặt phẳng không gian thành 2 phần tương ứng 2 lớp với mỗi lớp nằm ở 1 phía của đường thẳng.
Nếu các điểm dữ liệu thuộc 2 lớp có thể phân cách trực tiếp bằng 1 đường thẳng, SVM sẽ tìm kiếm siêu phẳng phân cách tốt nhất giữa các lớp Nếu không thể phân cách bằng 1 đường thẳng, ta có thể sử dụng phương pháp kernels để biến đổi đại số và thêm chiều không gian mới để phân loại được các điểm dữ liệu SVM có các tham số cần điều chỉnh như kernel, regularization, gamma và margin để tối ưu mô hình và đạt được độ chính xác cao trong việc phân loại dữ liệu Việc bạn ưu tiên chọn các tham số này sẽ phụ thuộc vào bài toán của bạn và mức độ quan tâm đến việc phân loại chính xác hoặc tốc độ tính toán.
Các tham số trong SVM
Kernel:Đây là quá trình xây dựng siêu phẳng phân cách trong SVM thông qua các phép biến đổi đại số Có 3 loại kernel được sử dụng là linear, polynomial và exponential Việc chọn kernel phù hợp sẽ giúp tính toán đường phân cách ở những chiều không gian cao hơn.
Regularization:Tham số này được gọi là tham số C trong thư viện sklearn và nó điều chỉnh việc có nên bỏ qua các điểm dữ liệu bất thường trong quá trình tối ưu mô hình SVM Nếu tham số này có giá trị lớn, quá trình tối ưu sẽ chọn một siêu phẳng sao cho siêu phẳng này phân cách tất cả các điểm dữ liệu một cách tốt nhất, từ đó khoảng cách giữa siêu phẳng tới các điểm dữ liệu của 2 lớp sẽ có giá trị nhỏ (small-margin) Ngược lại, khi tham số này có giá trị nhỏ, siêu phẳng sẽ được xây dựng sao cho khoảng cách với các điểm dữ liệu của 2 lớp có giá trị lớn (large-margin), kể cả khi siêu phẳng này sẽ phân loại sai nhiều điểm dữ liệu hơn.
Quy trình phân lớp dữ liệu
Tiền xử lý dữ liệu là quá trình chuyển đổi dữ liệu thô sang định dạng dễ hiểu Đây cũng là một bước quan trọng trong khai thác dữ liệu vì chúng ta không thể làm việc với dữ liệu thô Chất lượng của dữ liệu nên được kiểm tra trước khi áp dụng thuật toán học máy hoặc khai thác dữ liệu.
- Dữ liệu thô/gốc: có thể có cấu trúc hoặc không có cấu trúc; nằm ở nhiều định dạng khác nhau (tập tin hoặc CSDL)
- Chất lượng dữ liệu (data quality): tính chính xác, tính hiện hành, tính toàn vẹn, tính nhất quán.
Hình10.Các kỹ thuật trong tiền xử lý dữ liệu
Phân lớp dữ liệu là bài toán học có giám sát, chứa biến phục thuộc y (target y) và biến độc lập x Tổng quát thì giải bài toán phân lớp nghĩa là quá trình gán nhãn các đối tượng hay phân các đối tượng vào một hay nhiều lớp cho trước thông qua mô hình phân lớp Để xây dựng mô hình này cần một tập dữ liệu đã được gán nhãn trước đó.
Bước 1: Giai đoạn “huấn luyện” mô hình
Dữ liệu ban đầu sau khi đã được làm sạch qua bước tiền xử lý dữ liệu sẽ đi vào quá trình xây dựng mô hình Những thuật toán phổ biến phân lớp gồm hồi quy logistic, cây quyết định, SVM, …) và kết quả cho ra cuối cùng là mô hình phân lớp
Hình11.Xây dựng mô hình huấn luyện Bước 2: Giai đoạn sử dụng mô hình
Bước 2.1: Đánh giá mô hình (kiểm tra tính đúng đắn)
Sử dụng một tập dữ liệu mẫu khác đã được gán nhãn và tiền xử lý đưa vào mô hình phân lớp nhưng ta xem như “lờ” đi thuộc tính đã được gán nhãn Mô hình được đánh giá là tốt khi cho kết quả tương đồng cao khi so sánh thuộc tính gán nhãn của dữ liệu thực mà bị
“lờ” đi ban đầu với kết quả phân lớp của mô hình.
Hình12.Mô hình phân lớp dữ liệu Bước 2.2: Sử dụng mô hình để 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.
2.2.3 Đánh giá tính hiệu quả 2.2.3.1 Tổng quan về đánh giá tính hiệu quả
Là các phương pháp nhằm kiểm tra tính hiệu quả của mô hình phân lớp trên dữ liệu có đặc thù cụ thể, từ đó quyết định có sử dụng mô hình đó hay không.
Một mô hình lý tưởng là một mô hình không quá đơn giản, không quá phức tạp và không quá nhạy cảm với nhiễu (tránh underfitting và overfitting).
Hình13.Minh hoạ 3 trường hợp có thể xảy ra khi đánh giá mô hình
● 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ác mẫu mới khi dự đoán.
○ Do mô hình chưa đủ độ phức tạp cần thiết để bao quát được tập dữ liệu.
○ Tồn tại nhiều điểm dữ liệu mà mô hình không phân loại được đúng dẫn đến độ chính xác mô hình thấp.
● Overfitting (quá khớp):là hiện tượng mô hình tìm được quá khớp với dữ liệu huấn luyện Điều này dẫn đến việc dự đoán cả nhiễu nên mô hình không còn tốt khi phân lớp trên dữ liệu mới Quá khớp xảy ra khi lượng dữ liệu huấn luyện quá nhỏ trong khi độ phức tạp của mô hình quá cao nên mặc dù độ chính xác cao nhưng không thể mô tả được xu hướng tổng quát của dữ liệu mới (còn được gọi là High Variance).
● Good fitting: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, tức mang tính tổng quát Ngoài thực tế mô hình tốt là mô hình cho kết quả hợp lý một cách chấp nhận được trên dữ liệu mẫu lẫn dữ liệu mới.
2.2.3.2 Các phương pháp đánh giá hiệu suất của bài toán phân lớp
★ Ma trận nhầm lẫn - Confusion matrix
Ma trận nhầm lẫn (confusion matrix) sử dụng các giá trị dự đoán và thực tế để tính toán số lượng các điểm dữ liệu được phân loại đúng hoặc sai.
Ma trận nhầm lẫn có cấu trúc 2x2 hoặc nxn (với n là số lớp cần phân loại).
Hình14.Confusion Matrix Ma trận nhầm lẫn bao gồm:
- TP (True Positive):Số lượng điểm dữ liệu được dự đoán đúng trong số các điểm dữ liệu thuộc lớp dương (positive class).
- TN (True Negative):Số lượng điểm dữ liệu được dự đoán đúng trong số các điểm dữ liệu thuộc lớp âm (negative class)
- FP (False Positive):Số lượng điểm dữ liệu được dự đoán sai trong số các điểm dữ liệu thuộc lớp âm (negative class).
- FN (False Negative):Số lượng điểm dữ liệu được dự đoán sai trong số các điểm dữ liệu thuộc lớp dương (positive class).
Ngoài ra ta còn phải quan tâm đến một số khái niệm sau:
Precision(độ chính xác):Được định nghĩa là tỉ lệ số điểm True positive trong số những điểm được phân loại là positive
Recall (độ phủ):Còn gọi là độ phủ hay độ nhạy (sensitivity) hay TPR (True Positive Rate)
F1-score:Giá trị trung bình điều hòa (harmonic mean) của hai độ đo Precision và Recall
F1có giá trị gần với giá trị nào nhỏ hơn giữa 2 giá trị Precision và Recall F1sẽ có giá trị lớn nếu cả 2 giá trị Precision và Recall đều lớn.
ROC (Receiver Operating Characteristic):là một biểu đồ phổ biến cho việc đánh giá hiệu suất của các mô hình phân loại nhị phân Đường cong ROC được tạo ra bằng cách biểu diễn TPR (true positive rate) và FPR (false positive rate) ở nhiều ngưỡng khác nhau, với TPR được đặt trên trục tung và FPR được đặt trên trục hoành Một mô hình phân loại hiệu quả sẽ có giá trị FPR thấp và TPR cao, theo đó đường cong ROC của mô hình sẽ tiến gần đến điểm (0,1) trong đồ thị.
AUC (Area Under the Curve):là diện tích nằm dưới đường cong ROC, được sử dụng để đánh giá hiệu suất của một mô hình phân loại nhị phân Giá trị AUC là một con số dương có giá trị từ 0 đến 1, và giá trị càng gần 1 thì mô hình càng tốt. Để tính toán giá trị AUC, ta tính toán diện tích nằm giữa đường cong ROC và trục hoành, sau đó chuẩn hóa về khoảng [0,1] Giá trị AUC cho biết khả năng của mô hình phân loại trong việc phân biệt giữa nhãn positive và negative, và đồng thời cũng cho biết tỉ lệ giữa TPR và FPR của mô hình.
QUY TRÌNH THỰC HIỆN & CÁC KẾT QUẢ THỰC NGHIỆM
Bộ dữ liệu
STT THUỘC TÍNH Ý NGHĨA KIỂU DỮ LIỆU ROLE
1 ID Mã khách hàng Số Thực SKIP
2 Warehouse block Công ty có một kho lớn được chia thành các khối như A, B, C, D, F Chuỗi FEATURE
Công ty vận chuyển sản phẩm theo nhiều cách khác nhau như tàu, máy bay và đường bộ.
4 Customer care calls Số lần gọi điện thoại từ khách hàng để hỏi thông tin về vận chuyển Số Nguyên FEATURE
5 Customer rating Đánh giá của khách hàng Số Nguyên FEATURE 6 Cost of the product Giá sản phẩm tính bằng đô la Mỹ ($) Số Nguyên FEATURE 7 Prior purchases Số lần mua hàng trước đó Số Nguyên FEATURE 8 Product importance
Công ty đã phân loại sản phẩm theo các mức độ quan trọng khác nhau như thấp, trung bình, cao
9 Gender Giới tính: Nam và Nữ Chuỗi FEATURE
10 Discount offered Chương trình giảm giá Số Nguyên FEATURE 11 Weight in gms Trọng lượng sản phẩm (Gram) Số Nguyên FEATURE
12 Reached on time Đây là biến mục tiêu, trong đó 1 cho biết sản phẩm đến đúng giờ và 0 cho biết sản phẩm KHÔNG đúng giờ.
Bảng1.Mô tả dữ liệu các biến có trong dataset
Một công ty thương mại điện tử quốc tế muốn khám phá những thông tin quan trọng từ cơ sở dữ liệu khách hàng của họ Lĩnh vực chính của công ty này là kinh doanh về các mặt hàng sản phẩm công nghệ điện tử Họ muốn sử dụng một số kỹ thuật về phân tích để nghiên cứu về khách hàng của mình.
3.1.2 Tiền xử lý dữ liệu Bước 1:Xác định biến phụ thuộc và biến độc lập
+ Biến phụ thuộc:Reached.on.Time_Y.N(Đúng giờ hay không?) + Biến độc lập: các thuộc tính còn lại của bộ dữ liệu
Bước 2:Trong quá trình lựa chọn bộ dữ liệu để thực hiện đề tài, nhóm đã chọn lọc và lựa chọn bộ dữ liệu nên không xảy ra tình trạng thiếu sót dữ liệu Bộ dữ liệu có 10999 dòng và 12 thuộc tính Tuy nhiên ở biến mục tiêu“Reached.on.Time_Y.N” ,nhóm chúng em xin phép đổi ngược lại là0làđơnhànggiaotrễhẹnvà1làđơnhànggiaođúnghẹn theođúngquychuẩnchung.
Bước 3:Tuy nhiên để tránh những dữ liệu bị nhiễu nhóm tiến hành sử dụngOutliers Widgetđể giúp phát hiện và loại bỏ các giá trị ngoại lai.
Sau đó,bộ dữ liệu còn 10020dòngvà đã phù hợp để thực hiện phân tích nên nhóm sẽ không rút gọn dữ liệu nữa.
Hình16.Mẫu dữ liệu gốc đã qua xử lý
Bước 3:Nhóm loại ra cột thuộc tính không cần thiết cho đề tài nghiên cứu làID(Mã khách hàng) vì đây là dữ liệu không ảnh hưởng đến việc giao hàng đúng hay trễ hẹn.
Bước 4:Phân tách dữ liệu (để thực hiện dự báo): Từ file dữ liệu gốc, nhóm sử dụng công cụ Data Sampler để tách dữ liệu thành 2 file riêng lẻ như sau File 75% (được lưu với tên là “EShipping Training 75%”) để làm dữ liệu mẫu huấn luyện mô hình phân lớp dữ liệu và 25% (được lưu với tên là “EShipping Forecasting 25%”) còn lại để làm dữ liệu dự báo cho nghiên cứu Sau đó lưu lại thành 2 File mới
+EShipping Training.xlsx: gồm 75% dữ liệu từ dữ liệu gốc +EShipping Forecasting.xlsx: 25% còn lại của dữ liệu gốc để làm dữ liệu dự báo
Hình17.Quy trình tiền xử lý dữ liệu và phân tách thành dữ liệu Train và Forecast
Thực nghiệm và kết quả
3.2.1 Bài toán 1: Phát hiện các đặc điểm đặc thù liên quan đến sự thành công và thất bại của quy trình giao hàng dựa vào lược đồ và các công cụ thống kê
Hình18.Biểu đồ phân bố đơn hàng tại các kho chứa khác nhau
Qua biểu đồ trên ta có thể thấy rằng, tỉ lệ đơn hàng trễ hạn và đơn hàng đúng hạn của các kho là tương đương nhau và không có sự khác biệt Chính vì vậy có thể nhận thấy, việc phân bố đơn hàng tại các kho chứa khác nhau không ảnh hưởng quá nhiều vào thời gian giao hàng đến tay người tiêu dùng.
Tuy nhiên có một điểm đáng chú ý đó chính là lượng hàng được phân bố tại kho chứa F.
Qua biểu đồ trên ta có thể thấy rằng lượng hàng được phân bố tại kho chứa F xấp xỉ gấp 2 lần lượng hàng tại các kho chứa khác, đồng thời số lượng đơn hàng trễ hẹn tại kho chứa này cao vượt trội so với những kho còn lại (2194 đơn) Điều này có thể dẫn đến tình trạng quá tải của kho chứa: kho chứa quá tải, các sản phẩm sẽ được xếp chồng lên nhau hoặc đặt ở những vị trí khó tìm kiếm Điều này có thể dẫn đến việc tìm kiếm sản phẩm chậm và giao hàng muộn.
● MODE OF SHIPMENT (PHƯƠNG THỨC VẬN CHUYỂN)
Hình19.Biểu đồ phân bố các đơn hàng theo phương thức vận chuyển
Qua biểu đồ trên ta có thể nhận thấy rằng, công ty sử dụng hình thức giao bằng đường thủy nhiều nhất Số đơn hàng giao trễ bằng hình thức này cũng nhiều nhất, đường thủy có tổng cộng 4459 đơn hàng giao trễ so với tổng đơn hàng giao trễ ở cả 3 phương tiện giao là 6863 Vì vậy, các đơn hàng giao trễ có xác suất tới 65% sẽ xuất hiện ở hình thức giao đường thủy Thêm vào đó, tất cả các phương thức vận chuyển đều có tỉ lệ đơn hàng trễ hạn cao ở mức 58% - 60% Chính vì vậy, sự phân bố đơn hàng cho các phương thức vận chuyển khác nhau cũng không ảnh hưởng nhiều đến tính đúng hạn và trễ hạn của đơn hàng Tuy nhiên, việc tỉ lệ đơn hàng trễ hạn cao ở tại cả 3 phương thức có thể đến từ các nguyên nhân sau:
+ Công ty có khả năng cao là giao hàng ở những nơi xa so với kho chứa (nên mới giao hàng bằng đường thủy) Vì vậy nên mới có nhiều đơn trễ như vậy.
+ Hình thức giao đường thủy của công ty được sử dụng nhiều nhất Như vậy cũng chịu áp lực nhiều và phát sinh đơn trễ nhiều như vậy Chính vì vậy, công ty nên phát triển ở 2 hình thức giao khác, đặc biệt là hàng không để vận chuyển đơn hàng xa để giải quyết vấn đề trễ đơn.
+ Ngoài ra, có thể có 1 số lý do khách quan khác như: thời tiết xấu, mất hàng, thủ tục hải quan rườm rà,
● CUSTOMER CARE CALL (CHĂM SÓC KHÁCH HÀNG TRỰC TUYẾN)
Hình20.Biểu đồ cuộc gọi chăm sóc khách hàng trực tuyến
Qua biểu đồ trên ta có thể thấy được rằng, những đơn hàng được chăm sóc trực tuyến từ 6 đến 7 cuộc sẽ có tỉ lệ trễ hẹn thấp hơn rất nhiều so với các đơn hàng được hỗ trợ và chăm sóc với tần suất ít hơn (2,3, 4 và 5) Từ 2-5 cuộc gọi, tỉ lệ giao hàng trễ đều chiếm60-65%, trong khi đó nếu khách hàng gọi từ 6-7 cuộc gọi, tỉ lệ này chỉ còn 50% Ngoài ra, có rất ít khách hàng gọi 2 lần và thậm chí không có ai gọi 1 lần hoặc không gọi Từ đây, thấy được rằng dịch vụ giao hàng của công ty thật sự không ổn Khách hàng có xu hướng gọi nhiều Và công ty chỉ giao đúng hạn hơn, nếu khách hàng chủ động gọi rất nhiều và nhắc nhở.
● COST (GIÁ TRỊ ĐƠN HÀNG)
Hình21.Biểu đồ thể hiện giá trị đơn hàng
Các đơn hàng giá rẻ từ 100-130$, tỉ lệ đơn trễ chiếm vượt trội lên tới 100% và giảm dần đến mức giá trung bình từ hơn 130$-275$, tỉ lệ trễ đơn chỉ còn khoảng từ 60%-68% Cuối cùng, đối với các đơn hàng cao cấp, có mức giá cao từ 280$ đến hơn 300$, tỷ lệ này chỉ còn 50% Thậm chí, có thể thấy rằng mức giá từ 300-305$, số đơn hàng giao đúng hạn còn vượt qua số đơn hàng giao trễ Từ đây ta có thể thấy, mặc dù phần lớn đơn hàng khách đặt ở mức giá tầm trung (130-275$) thì tỉ lệ giữa đơn giao trễ và đúng hạn sẽ gần ngang nhau Nhưng, công ty có khuynh hướng tập trung giao những đơn hàng mắc tiền hơn để thu lại doanh thu lớn hơn Và sẽ không để tâm tới giao những đơn hàng chi phí thấp dẫn đến kết quả là luôn giao trễ.
● PRIOR PURCHASES (SỐ LẦN MUA HÀNG TRƯỚC ĐÓ)
Hình22.Biểu đồ phân bố đơn hàng dựa trên số lần mua hàng trước đó của khách hàng
Qua biểu đồ trên ta có thể thấy được rằng, công ty không có lượng khách hàng mối(khách quen) ổn định Số lượng đơn hàng sử dụng dịch vụ từ 6 lần trở lên là rất ít Điều này cũng bắt nguồn một phần từ việc ở những đơn hàng đầu tiên, tỷ lệ lượng đơn trễ hẹn là rất cao, chiếm từ 55%-60% Chính vì vậy công ty cần có sự cải thiện ở cả mặt sản phẩm lẫn khâu giao hàng để có được lượng khách hàng quen thuộc nhất định.
● CUSTOMER RATING (ĐÁNH GIÁ CỦA KHÁCH HÀNG VỀ CÔNG TY)
Hình23.Biểu đồ đánh giá của khách hàng về công ty
Từ biểu đồ trên, ta có thể thấy, tỷ lệ đơn hàng giao đúng hạn và trễ hạn ở các mức đánh giả của khách hàng là gần như ngang nhau Do đó, biến customer_rating sẽ không mang tính dự báo cao.
⇒Không sử dụng biến customer rating để cho bài toán phân lớp
● PRODUCT IMPORTANCE (MỨC ĐỘ QUAN TRỌNG CỦA SẢN PHẨM)
Hình24.Biểu đồ phân bố đơn hàng theo mức độ quan trọng của sản phẩm
Dựa trên thống kê trên, ta có thể tính toán tỷ lệ phần trăm của các trường hợp được giao đúng hạn và không đúng hạn trong tổng số đơn hàng theo mức độ quan trọng của sản phẩm như sau:
- Tỷ lệ đơn hàng đúng hạn cho sản phẩm mức độ quan trọng Thấp: 40.9%
- Tỷ lệ đơn hàng đúng hạn cho sản phẩm mức độ quan trọng Trung bình: 41.0%
- Tỷ lệ đơn hàng đúng hạn cho sản phẩm mức độ quan trọng Cao: 35.0%
Tỷ lệ đơn hàng được giao đúng hạn cho sản phẩm Mức độ quan trọng Thấp và Trung bình là tương đối gần nhau, khoảng 40.9% và 41.0% Trong khi đó, tỷ lệ đơn hàng được giao đúng hạn cho sản phẩm mức độ quan trọng Cao thấp hơn nhiều, chỉ chiếm khoảng 35.0% Và nó có thể đến từ nguyên nhân như: đơn hàng mức độ quan trọng Cao cần phải được chăm sóc đặc biệt khi giao hàng, vì vậy công ty có thể không ưu tiên vận chuyển hoặc nếu vận chuyển thì cũng cần phải giám sát đơn hàng kỹ hơn nên dẫn tới giao trễ. Điều này cho thấy rằng công ty cần có sự cải thiện trong quá trình giao hàng đối với sản phẩm quan trọng hơn để đảm bảo chất lượng dịch vụ và tăng sự hài lòng của khách hàng. Đặc biệt là cải thiện đối với đơn hàng mức độ quan trọng cao, tỉ lệ giao hàng đúng hạn còn thấp hơn so với các mức độ khác.
● GENDER (GIỚI TÍNH KHÁCH HÀNG)
Hình25.Biểu đồ phân bố đơn hàng theo giới tính khách hàng
Dựa trên biểu đồ ta thấy được, không có sự khác biệt đáng kể giữa tỷ lệ đơn hàng được giao đúng hạn giữa nam và nữ Cả hai giới đều có tỷ lệ giao hàng đúng hạn và không đúng hạn tương đối gần nhau.
Tuy nhiên, vẫn còn một phần đáng lo ngại là tỷ lệ đơn hàng không được giao đúng hạn của cả hai giới tính đều khá cao Do đó, công ty nên cân nhắc và đưa ra các giải pháp để cải thiện chất lượng dịch vụ giao hàng sao cho tốt hơn, nâng cao sự hài lòng của khách hàng và tăng doanh số bán hàng.
⇒Không sử dụng biến giới tính để cho bài toán phân lớp
Hình26.Biểu đồ phân bố đơn hàng được áp dụng khuyến mãi
Từ kết quả trên, ta có thể thấy được rằng:
+ Giá trị khuyến mãi áp dụng cho các đơn hàng giao trễ hẹn là nhiều hơn hẳn so với các đơn hàng giao đúng hẹn Toàn bộ các đơn hàng giao đúng hẹn đều có giá trị khuyến mãi áp dụng dao động từ 1-10$ Trong khi đó, nhiều đơn hàng giao trễ hẹn cũng có mức khuyến mãi tập trung phần lớn từ 1-10$, tuy nhiên toàn bộ các đơn hàng khuyến mãi từ 10-60$ đều giao trễ hẹn Đây có thể đến từ nguyên nhân công ty ưu tiên việc giao hàng cho các đơn ít khuyến mãi hơn để có thể nâng cao doanh số và lợi nhuận bởi vì toàn bộ các đơn giao đúng hẹn đều nằm trong khoảng khuyến mãi ít.
● WEIGHT IN GMS (KHỐI LƯỢNG)
Hình27.Biểu đồ phân bố đơn hàng theo khối lượng sản phẩm Nhận thấy rằng
+ Trong nhóm đơn hàng nhẹ (1-2kg), có 67%-70% đơn hàng giao trễ hẹn.
+ Toàn bộ đơn hàng nằm trong nhóm có khối lượng trung bình (2-4kg), 100% giao trễ hẹn.
+ Tuy nhiên, những đơn từ 4-6kg thì đơn hàng giao đúng hạn chiếm khoảng 60%, số lượng đơn giao trễ không nhiều bằng.
+ Những đơn hàng 6-8kg chiếm số lượng rất ít chỉ 11 đơn.
Phân Tích và Đánh Giá
Hình29.Kết quả Test&Score đối với target 0 (giao trễ hẹn)
Hình30.Kết quả Test&Score đối với average over classes
Xét dựa trên chỉ số AUC: ta thấy rằng mô hình Tree là 0.634, mô hình SVM là 0.658 và mô hình Logistic Regression là 0.715.
Xét dựa trên chỉ số CA: ta thấy rằng mô hình Tree là 0.648, mô hình SVM là 0.607 và mô hình Logistic Regression là 0.650.
Xét dựa trên chỉ số F1: ta thấy rằngmô hình Tree là 0.705, mô hình SVM là 0.644 và mô hình Logistic Regression là 0.638.
Xét dựa trên chỉ số Precision: ta thấy rằng mô hình Tree là 0.703, mô hình SVM là 0.699 vàmô hình Logistic Regression là 0.829.
Xét trên chỉ số Recall: ta thấy rằngmô hình Tree là 0.708, mô hình SVM là 0.597 và mô hình Logistic Regression là 0.519.
⇒Từ đó ta có thể thấy mô hình Logistic Regression có chỉ số AUC , CA và Precision cao nhất, tuy nhiên mô hình Tree lại có chỉ số F1 và Recall cao nhất Như vậy ta có thể kết luận được rằng mô hình Logistic Regression là hiệu quả nhất.
● Đối với average over classes:
Xét dựa trên chỉ số AUC: ta thấy rằng mô hình Tree là 0.634, mô hình SVM là 0.657 và mô hình Logistic Regression là 0.715.
Xét dựa trên chỉ số CA: ta thấy rằng mô hình Tree là 0.648, mô hình SVM là 0.607 và mô hình Logistic Regression là 0.650.
Xét dựa trên chỉ số F1: ta thấy rằngmô hình Tree là 0.648, mô hình SVM là 0.611 và mô hình Logistic Regression là 0.647.
Xét dựa trên chỉ số Precision: ta thấy rằng mô hình Tree là 0.648, mô hình SVM là 0.623 vàmô hình Logistic Regression là 0.713.
Xét trên chỉ số Recall: ta thấy rằng mô hình Tree là 0.648, mô hình SVM là 0.507 vàmô hình Logistic Regression là 0.650.
⇒Từ đó ta có thể thấy mô hình Logistic Regression có⅘chỉ số cao nhất.
Vậy ta có thể thấy rằng mô hìnhLogistic Regressionhiệu quả nhất.
3.3.2 Phân tích dựa trên ma trận nhầm lẫn (Confusion Matrix)
Hình31.Ma trận nhầm lẫn với phương pháp Logistic Regression
Mô hình dự đoán Giao đúng hạn nhưng thực tế giao đúng hạn có 84,2% và thực tế trễ hạn là 48,1%
Mô hình dự đoán Giao trễ hạn nhưng thực tế giao đúng hạn có 15,8% và thực tế giao trễ hạn là 51,9%
Hình32.Ma trận nhầm lẫn với phương pháp TreeMô hình dự đoán Giao đúng hạn nhưng thực tế giao đúng hạn có 56% và thực tế trễ hạn là 29,2%
Mô hình dự đoán Giao trễ hạn nhưng thực tế giao đúng hạn có 44% và thực tế giao trễ hạn là 70,8%
Hình33.Ma trận nhầm lẫn với phương pháp SVM
Mô hình dự đoán Giao đúng hạn nhưng thực tế giao đúng hạn có 62,2% và thực tế trễ hạn là 40,3%
Mô hình dự đoán Giao trễ hạn nhưng thực tế giao đúng hạn có 37,8% và thực tế giao trễ hạn là 59,7 %
Dựa vào ma trận nhầm lẫn:
- Sai lầm loại 1 là dự đoán giao trễ hạn nhưng thực tế là giao đúng hạn Điều này khiến công ty cần cẩn trọng trong việc xem xét kỹ hơn các yếu tố như: hình thức giao hàng, khối lượng đơn hàng, số lượng cuộc gọi từ khách hàng, Để công ty có thể tìm ra nguyên nhân chính xác là gì và đưa ra các phương án khắc phục.
- Sai lầm loại 2 là dự đoán giao đúng hạn nhưng thực tế giao trễ hạn Điều này là vô cùng nghiêm trọng vì nó khiến công ty lầm tưởng rằng trong hầu hết các đơn hàng không có sai sót Vì thế họ sẽ ít quan tâm và không giám sát chặt chẽ thời gian giao hàng dẫn đến việc nhiều đơn hàng bị giao trễ ngày càng nhiều Khách hàng sẽ cảm thấy bất mãn không muốn hợp tác và công ty sẽ bị giảm doanh thu.
⇒Như vậy, sai lầm loại 2 gây ra hậu quả nghiêm trọng hơn so với sai lầm loại 1. Đối với sai lầm loại 2, ta thấy mô hình Tree cho kết quả sai lầm nhỏ hơn so với 2 mô hình còn lại Còn xét trên sai lầm loại 1, mô hình Logistic Regression cho kết quả nhỏ nhất trong 3 mô hình Tuy nhiên nếu xét số tổng sai lầm của 2 loại, mô hình LogisticRegression và mô hình Tree cho ra kết quả xấp xỉ bằng nhau.
⇒ Theo kết quả đánh giá thì mô hìnhLogistic Regressionvà mô hìnhTreecó hiệu quả như nhau.
3.3.3 Phân tích dựa trên ROC Analysis
Quan sát kết quả AUC từ widget Test&Score, ta có thể thấyLogistics Regressioncó khả năng dự báo cao nhất khi kết quả AUC là cao nhất.
Hình34.Đồ thị biểu diễn đường cong ROC với giá trị biến Target là 0
Từ kết quả trên, kết hợp với kết quả từ widget ROC Analysis, rõ ràng ở đồ thị ROC theo giá trị biến Target 0, đường cong của Logistics Regression tiếp cận gần điểm 1 trên trục tung nhiều nhất, hay nói cách khác, đường cong ROC của Logistics Regression có giá trị TP Rate cao nhất.
3.3.4 Lựa chọn mô hìnhDựa trên những kết quả thu được và sự phân tích, ta thấy sử dụng mô hìnhLogisticsRegressioncho việc dự đoán bộ dữ liệu “E-commerce Shipping Data” là chính xác nhất.
Hình35.Dự đoán bộ dữ liệu “E-commerce Shipping Data” bằng Logistic Regression