Professional Documents
Culture Documents
Analyze and Evaluate Data
Analyze and Evaluate Data
ĐỒ ÁN MÔN HỌC
ĐỀ TÀI:
PHÂN TÍCH QUY TRÌNH GIAO HÀNG ĐÚNG HẠN
HAY KHÔNG DỰA TRÊN BỘ DỮ LIỆU
E-COMMERCE SHIPPING DATA BẰNG PHẦN MỀM ORANGE
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ê ................................... 30
3.3.2. Phân tích dựa trên ma trận nhầm lẫn (Confusion Matrix) ....................................... 45
3.3.3. Phân tích dựa trên ROC Analysis ............................................................................ 47
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.
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 định các lớp hoặc nhó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.
● 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,
Hình 5.
Giao diện công cụ
Hình 6.
Giao diện công cụ
Unsupervised
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.
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.
Balance 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.
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.
Gamma: Tham số này xác định việc sử dụng bao nhiêu điểm dữ liệu cho việc xây
dựng siêu phẳng phân cách. Với giá trị gamma nhỏ, các điểm dữ liệu nằm xa
đường phân cách sẽ được sử dụng trong việc tính toán đường phân cách. Ngược lại,
với giá trị gamma lớn, chỉ những điểm nằm gần đường phân cách mới được sử
dụng để tính toán.
Margin: Margin trong SVM là khoảng cách giữa siêu phẳng phân cách và các
điểm dữ liệu gần nó nhất. Khoảng cách này đối với các điểm dữ liệu gần nhất của
cả 2 lớp càng lớn thì mô hình càng phân loại chính xác. Việc có margin tốt hay ko
tốt được xác định bởi khoảng cách giữa siêu phẳng phân cách với các điểm dữ liệu
và cơ cấu của các điểm dữ liệu của 2 lớp.
Ưu điểm: ● Linh hoạt
● Xử lý trên không gian số chiều cao Nhược điểm:
● Tiết kiệm bộ nhớ ● Bài toán số chiều cao
Lưu ý: Mỗi một Neural Network chỉ có duy nhất 1 Input Layer và 1 Output Layer
nhưng lại có thể có rất nhiều Hidden Layers.
Bắt đầu từ lớp Input, thông tin sẽ được truyền qua các lớp ẩn (Hidden layers) cho
đến lớp Output, và mỗi lớp sẽ tập trung vào việc học các đặc trưng khác nhau của
dữ liệu. Trong quá trình học, mạng neural sẽ được đào tạo bằng cách điều chỉnh
các trọng số kết nối giữa các neural để đạt được kết quả tốt nhất cho bài toán đang
được giải quyết.
Ưu điểm
● Khả năng học tập và tự điều chỉnh: Neural network có khả năng tự động học và
điều chỉnh các trọng số của mạng để giải quyết các vấn đề phức tạp.
● Xử lý thông tin phi cấu trúc: Neural network có khả năng xử lý thông tin phi cấu
trúc như hình ảnh, âm thanh và văn bản.
● Tính linh hoạt: Neural network có thể được áp dụng cho nhiều loại bài toán khác
nhau, từ phân loại đến dự đoán và định giá.
● Độ chính xác cao: Neural network có khả năng xử lý và phân tích dữ liệu với độ
chính xác cao.
● Tốc độ xử lý nhanh: Trong một số trường hợp, neural network có thể xử lý dữ liệu
nhanh hơn so với các kỹ thuật truyền thống.
Nhược điểm
● Đòi hỏi số lượng dữ liệu lớn: Neural network cần một lượng dữ liệu huấn luyện
lớn để có hiệu suất tối ưu.
● Đòi hỏi tài nguyên máy tính cao: Neural network yêu cầu tài nguyên máy tính lớn
để huấn luyện và chạy.
● Độ khó hiểu: Neural network thường là một hệ thống phức tạp và khó hiểu, đặc
biệt khi các mô hình có nhiều lớp.
● Dễ bị overfitting: Neural network có thể bị overfitting khi không được điều chỉnh
cẩn thận.
● Không tin cậy với dữ liệu mới: Neural network có thể không đưa ra kết quả chính
xác với dữ liệu mới nếu nó không được huấn luyện đúng cách hoặc dữ liệu mới có
sự khác biệt lớn so với dữ liệu huấn luyện.
định, SVM, …) và kết quả cho ra cuối cùng là mô hình phân lớp
Hình 11. Xây dựng mô hình huấn luyện
Bước 2: Giai đoạn sử dụng mô hình
F1 có giá trị gần với giá trị nào nhỏ hơn giữa 2 giá trị Precision và Recall. F1 sẽ có
giá trị lớn nếu cả 2 giá trị Precision và Recall đều lớn.
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.
3.1. Bộ dữ liệu
3.1.1. Mô tả dữ liệu
Bộ dữ liệu được lấy từ trang Web Kaggle: E-Commerce Shipping Data | KAGGLE
Bộ dữ liệu có 10999 dòng, gồm 12 biến và 1 biến mục tiêu:
6 Cost of the product Giá sản phẩm tính bằng đô la Mỹ ($) Số Nguyên FEATURE
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.
+ EShipping Forecasting.xlsx: 25% còn lại của dữ liệu gốc để làm dữ liệu dự báo
Hình 18. 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
Hình 19. 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
Hình 20. 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ếm
60-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ở.
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ễ.
Hình 22. 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.
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
Hình 24. 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
Hình 25. 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ình 26. Biểu đồ phân bố đơn hàng được áp dụng khuyến mãi
Hình 27. 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.
Từ kết quả phân tích, ta có thể quan sát thấy 2 vấn đề: số lượng các đơn hàng bị trễ xấp xỉ
bằng số lượng các đơn hàng giao đúng hẹn và khối lượng các đơn hàng giao trễ hẹn phân
phối đều hơn khối lượng của các đơn đúng hẹn. Đây có thể đến từ nguyên nhân:
Xét trên chỉ số Recall: ta thấy rằng mô hình Tree là 0.708, mô hình SVM là 0.597 và mô
hình Logistic Regression là 0.519.
3.3.2. Phân tích dựa trên ma trận nhầm lẫn (Confusion Matrix)
⇒ 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 Logistic
Regression 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ình Logistic Regression và mô hình Tree có hiệu quả
như nhau.
● Lựa chọn mô hình phân lớp hiệu quả nhất gặp vấn đề: trước khi đưa ra lựa chọn
mô hình cuối cùng để dự đoán chính xác nhất bộ dữ liệu, chúng em phải phân tích
và đánh giá dựa trên 3 công cụ và cho ra những kết quả không đồng nhất.
○ Test and Score: Mô hình Logistic Regression hiệu quả nhất.
○ Confusion Matrix: Mô hình Decision Tree hiệu quả nhất.
○ ROC analysis: Mô hình Logistic Regression hiệu quả nhất.
⇒ Gây khó khăn trong việc đưa ra quyết định.
● Trong biến Target có 2 class là 0 và 1, dữ liệu chênh lệch lên đến 20%. Khi kiểm
tra các chỉ số trong Test and Score, cần phải cẩn thận hơn bằng cách thêm bước
tách nhãn dữ liệu. Kết quả dự báo trong bài của 2 nhãn gần tương đương nhau và
chúng đều xấp xỉ giá trị trung bình.
● Không thể hoàn toàn đảm bảo chính xác của kết quả: dù sử dụng Orange để phân
tích khả năng trễ hẹn của các đơn hàng là một công cụ tiên tiến, nhưng không thể
đảm bảo chính xác tuyệt đối.