Mục tiêu đề tài
Ở đề tài này bọn em chọn là nghiên cứu về lĩnh vực dự đoán nhu cầu sử dụng sản phẩm áo thun cá nhân hóa là nhằm hỗ trợ cho các cửa hàng và doanh nghiệp có thể xác định được khách hàng tiềm năng, nhóm đối tượng khách hàng Lâu nay, ở thị trường Việt Nam ta để đánh giá được một loại sản phẩm ưa thích, hay chọn một công nghệ in hình vẫn thủ công
9 bằng cách chạy quảng cáo đơn sơ, target không đúng mục tiêu khách hàng trên facebook, và các sàn thương mại điện tử rồi mới xác định được sản phẩm yêu thích hay là mẫu thiết kế, kiểu dáng … điều đó sẽ dẫn tới việc tiêu tốn ngân sách của doanh nghiệp hay một cửa hàng nhỏ lẻ rất nhiều mới khoanh vùng được đối tượng khách hàng, và xác định được sản phẩm ưa chuộng hiện nay.
Đối tượng và phương pháp nghiên cứu
Đối tượng nghiên cứu: 100 khách hàng đã sử dụng sản phẩm của cửa hàng.
Phương pháp nghiên cứu: sử dụng các thuật toán để phân lớp đưa ra dự đoán.
Ý nghĩa của đề tài
Dựa trên tập dữ liệu của cửa hàng, nhóm ứng dụng các thuật toán phân lớp nhằm đưa ra dự đoán tỉ lệ người sử dụng sản phẩm áo thun cá nhân hóa và tỉ lệ sản phẩm nào được ưa chuộng, tệp khách hàng tiềm năng Từ đó đánh giá đúng được tệp khách hàng để giảm bớt chi phí marketing và tăng thêm lợi nhuận, thu nhập cho doanh nghiệp và cửa hàng.
Bố cục đề tài
Bố cục đề tài gồm có 5 phần:
• Chương 1: Tổng quan về đề tài
• Chương 2: Cơ sở lý thuyết
• Chương 3: Xây dựng mô hình dự báo
• Chương 4: Thực nghiệm và đánh giá
CƠ SỞ LÝ THUYẾT 2.1 Tổng quan về kỹ thuật khai phá dữ liệu
Khái niệm 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 trong các bộ dữ liệu lớn liên quan đến các phương pháp tại giao điểm của máy học, thống kê và các hệ thống cơ sở dữ liệu Đây là một lĩnh vực liên ngành của khoa học máy tính 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ột bộ dữ liệu và chuyển nó thành một cấu trúc dễ hiểu để sử dụng tiếp Ngoài bước phân tích thô, nó còn liên quan tới cơ sở dữ liệu và các khía cạnh quản lý dữ liệu, xử lý dữ liệu trước, suy xét mô hình và suy luận thống kê, các thước đo thú vị, các cân nhắc phức tạp, xuất kết quả về các cấu trúc được phát hiện, hiện hình hóa và cập nhật trực tuyến Khai thác dữ liệu là bước phân tích của quá trình "khám phá kiến thức trong cơ sở dữ liệu" hoặc KDD ((Knowledge Discovery in Databases).
Khai phá dữ liệu là một bước trong quy trình khám phá tri thức, nhằm:
● Rút trích thông tin hữu ích, chưa biết, tiềm ẩn trong khối dữ liệu lớn.
● Phân tích dữ liệu bán tự động.
● Giải thích dữ liệu trên các tập dữ liệu lớn.
Các giai đoạn của quá trình khai phá dữ liệu
Quy trình khai phá dữ liệu là một chuỗi lặp (iterative) (và tương tác (interactive)) gồm các bước (giai đoạn) bắt đầu với dữ liệu thô (raw data) và kết thúc với tri thức (knowledge of interest) đáp ứng được sự quan tâm của người sử dụng.
Các bước chính trong quy trình khai phá dữ liệu:
1 Làm sạch dữ liệu: Trước tiên, cần làm sạch dữ liệu để nó phù hợp với tiêu chuẩn.
Dữ liệu bẩn hoặc không đầy đủ dẫn đến thông tin chi tiết kém và hệ thống bị lỗi gây tốn kém thời gian và tiền bạc.
2 Tích hợp dữ liệu: Đây là một trong những kỹ thuật khai thác hàng đầu để hợp lý hóa toàn bộ quá trình trích xuất, chuyển đổi và tải.
3 Giảm chiều dữ liệu: Quy trình tiêu chuẩn này trích xuất thông tin liên quan để phân tích dữ liệu và đánh giá mẫu.
4 Chuyển đổi dữ liệu: Chuyển đổi dữ liệu sang dạng có thể chấp nhận được để phù hợp với các mục tiêu khai thác Hợp nhất dữ liệu chuẩn bị để tối ưu hóa các quy trình khai thác dữ liệu và giúp dễ dàng phân biệt các mẫu trong tập dữ liệu cuối cùng.
5 Khai phá dữ liệu: Sử dụng các ứng dụng khai thác dữ liệu để trích xuất các xu
XÂY DỰNG MÔ HÌNH DỰ BÁO 3.1 Cơ sở dữ liệu
Thuật toán Navie Bayes
3.2.1 Lý do lựa chọn thuật toán Naive Bayes
Thuật toán Naive Bayes hoạt động rất nhanh và có thể dễ dàng dự đoán lớp của một tập dữ liệu thử nghiệm Chúng ta có thể sử dụng nó để giải quyết các vấn đề dự đoán nhiều lớp vì nó khá hữu ích với chúng Bộ phân loại Naive Bayes hoạt động tốt hơn các mô hình khác với ít dữ liệu huấn luyện hơn nếu giả định về tính độc lập của các tính năng được giữ nguyên Chúng còn hoạt động tốt ngay cả biến đầu vào là dữ liệu liên tục và dữ liệu phân loại Chính vì vậy, nhóm đã sử dụng thuật toán này để dự đoán khả năng rời bỏ
1 sản phẩm hay còn nhu cầu muốn sử dụng sản phẩm.
3.2.2 Tổng quan về thuật toán a) Định nghĩa Naive Bayes
Naive Bayes là một thuật ngữ trong xử lý số liệu thống kê Bayes với một phân lớp xác suất dựa trên các ứng dụng định lý Bayes với giả định độc lập bền vững Một thuật ngữ mô tả chi tiết cho những mô hình xác suất sẽ là “mô hình đặc trưng không phụ thuộc”.
Trong thuật ngữ đơn giản, một thuật toán Naive Bayes giả định rằng sự có mặt (hay không có mặt) của một đặc trưng của một lớp học là không liên quan đến sự hiện diện (hay thiếu vắng) của bất kỳ các đặc trưng
Ví dụ, một trái cây có thể được coi là một quả măng cụt nếu nó có màu đỏ tím đậm xung quanh, vỏ dày và ruột trắng ngà Mặc dù các đặc trưng này phụ thuộc vào sự tồn tại của các đặc trưng khác, thuật toán Naive Bayes xem xét tất cả các đặc tính độc lập góp phần vào khả năng trái cây này là quả măng cụt.
Tùy thuộc vào tính chính xác bản chất của mô hình xác suất, thuật toán Naive Bayes có thể được đào tạo rất hiệu quả trong một thiết lập học có giám sát Trong nhiều ứng dụng thực tế, tham số ước lượng cho các mô hình Naive Bayes sử dụng các phương pháp maximum likelihood; nói cách khác, có thể làm việc với các mô hình Naive Bayes mà không tin ở xác suất Bayesian hoặc bằng cách sử dụng bất cứ phương pháp Bayesian. Mặc dù thiết kế ngây thơ và hình như giả định đơn giản hơn, thuật toán Naive Bayes thường làm việc trong nhiều tình huống thế giới thực phức tạp tốt hơn có thể mong đợi Mới đây, xem xét vấn đề phân lớp Bayesian đã có thể thấy có một số lý thuyết giải thích cho tính hiệu quả của Naive Bayes Một lợi thế của Naive Bayes là nó đòi hỏi một số lượng nhỏ dữ liệu đào tạo để ước lượng các tham số (các nghĩa và sự khác nhau của các biến) cần
Trong phân loại, do các biến độc lập nên chỉ cần xác định sự khác biệt giữa các biến trong từng lớp, chứ không phải toàn bộ ma trận thống kê Định lý Bayes được sử dụng để tìm xác suất của một sự kiện xảy ra với xác suất của một sự kiện khác đã xảy ra Định lý này được biểu diễn theo công thức sau:
Công thức 1: Xác xuất có điều kiện
Trong đó: A và B là sự kiện
● Về cơ bản, chúng ta sẽ tìm xác suất của sự kiện A, với điều kiện sự kiện B là đúng.
Sự kiện B cũng được gọi là bằng chứng.
● P (A) là ưu tiên của A (xác suất trước đó, xác suất của sự kiện trước khi bằng chứng được nhìn thấy) Bằng chứng là một giá trị thuộc tính của một cá thể không xác định (ở đây, nó là sự kiện B).
Xác suất hậu nghiệm P(A | B) biểu thị xác suất của sự kiện A sau khi bằng chứng B đã được quan sát Khi áp dụng định lý Bayes cho một tập dữ liệu, chúng ta tính xác suất hậu nghiệm theo các bước sau:
Công thức 2: Xác suất có điều kiện khi áp dụng trong dataset
Trong đó, y là biến lớp và X là vectơ đặc trưng phụ thuộc (có kích thước n) trong đó:
X = (x , x , x ,…, x1 2 3 n) Đặt giả định ngây thơ cho định lý Bayes, đó là sự độc lập giữa các đặc trưng Vì vậy, khi chia bằng chứng thành các phần độc lập ta có: nếu bất kỳ hai sự kiện A và B độc lập, thì:
Công thức 3: Công thức nhân xác suấtDựa vào công thức trên ta có kết quả như sau:
Công thức 4: Xác suất có điều kiện với nhiều biến đầu vào
Bây giờ, chúng ta cần tạo một mô hình phân loại Đối với điều này, chúng ta tìm xác suất của bộ đầu vào đã cho cho tất cả các giá trị có thể có của biến lớp y và chọn đầu ra với xác suất tối đa Điều này có thể được biểu thị bằng toán học như sau:
Công thức 5: Chọn xác suất tối đa
Lưu ý: P(y) được gọi là xác suất lớp còn P(x |y) được gọi là xác suất có điều kiện.i Để hiểu rõ được cách thức hoạt động của Nạve Bayes, chúng ta sẽ cùng tìm hiểu thơng qua 1 ví dụ.
Ví dụ: Giả sử ta có 1000 quả có thể là "chuối", "cam" hoặc các loại khác Đây là 3 lớp có thể có của biến Y Ta có dữ liệu cho các biến X sau đây, tất cả đều là nhị phân (1 hoặc 0). Một số hàng đầu tiên của tập dữ liệu huấn luyện (training set) sẽ trông như thế này: Để tính toán xác suất, dữ liệu được tổng hợp thành bảng có số liệu như sau:
Hình 3 Tập dữ liệu huấn luyện
Hình 4 Bảng số liệu thuộc tính
Vì vậy, mục tiêu của thuật toán là dự đoán xem một loại trái cây nhất định là ‘Chuối’ hay
‘Cam’ hoặc ‘Khác’ khi chỉ biết 3 đặc điểm là Dài, Ngọt hay Vàng.
Giống như dự đoán loại quả chỉ từ những thuộc tính Dài, Ngọt, Vàng, thuật toán Naive Bayes tính toán xác suất của từng loại quả dựa trên dữ liệu có sẵn Bằng cách xác định xác suất cao nhất giữa chuối, cam hoặc các loại quả khác, thuật toán dự đoán loại quả có khả năng là lời giải chính xác nhất.
Bước 1: Tính xác suất tiên nghiệm cho mỗi loại quả.
Nghĩa là, tỷ lệ của mỗi loại quả trong số tất cả các loại quả của tập hợp Số liệu này có thể được cho trước thông qua số liệu mẫu Nếu không, nó có thể được tính toán từ dữ liệu huấn luyện. Đối với trường hợp này, nhóm em tính toán từ dữ liệu đào tạo Trong số 1000 bản ghi trong dữ liệu đào tạo, ta có 500 quả chuối, 300 quả cam và 200 bản ghi khác Vậy các xác suất tương ứng là 0,5; 0,3 và 0,2.
Bước 2: Tính xác suất của bằng chứng đi theo mẫu số.
23 Đây không là gì ngoài tích các xác suất của Xs cho tất cả X Đây là bước tùy chọn vì mẫu số là như nhau cho tất cả các lớp và do đó sẽ không ảnh hưởng đến xác suất.
Bước 3: Tính xác suất khả năng xảy ra bằng chứng ở tử số.
Thuật toán Random Forest
3.3.1 Lý do lựa chọn thuật toán Random Forest
Thuật toán rừng ngẫu nhiên là một thuật toán học máy có giám sát, lấy dữ liệu được chọn ngẫu nhiên và tạo ra các cây quyết định khác nhau Sau đó, nó thực hiện việc thu thập các phiếu bầu từ các cây để quyết định lớp của đối tượng thử nghiệm Bộ phân loại rừng ngẫu nhiên còn được gọi là thuật toán tập hợp có xu hướng đưa ra kết quả chính xác hơn.
Random Forests và cây quyết định Random Forests là một tập hợp của nhiều cây quyết định Cây quyết định sâu có thể bị ảnh hưởng quá mức, nhưng Random forests ngăn cản việc lấp đầy bằng cách tạo cây trên các tập con ngẫu nhiên Cây quyết định nhanh hơn tính toán Random forests khó giải thích, trong khi cây quyết định có thể diễn giải dễ dàng và có thể chuyển đổi thành quy tắc.
3.3.2 Tổng quan về thuật toán a) Định nghĩa Random Forest
Random Forests là thuật toán học có giám sát (supervised learning) Nó có thể được sử dụng cho cả phân lớp và hồi quy Nó cũng là thuật toán linh hoạt và dễ sử dụng nhất. Một khu rừng bao gồm cây cối Người ta nói rằng càng có nhiều cây thì rừng càng mạnh. Random forests tạo ra cây quyết định dựa trên các mẫu dữ liệu được chọn ngẫu nhiên, được dự đoán từ mỗi cây và chọn giải pháp tốt nhất bằng cách bỏ phiếu Nó cũng cung cấp một chỉ báo khá tốt về tầm quan trọng của tính năng Random forests có nhiều ứng dụng, chẳng hạn như công cụ đề xuất, phân loại hình ảnh và lựa chọn tính năng Nó có thể được sử dụng để phân loại các ứng viên cho vay trung thành, xác định hoạt động gian lận và dự đoán các bệnh Nó nằm ở cơ sở của thuật toán Boruta, chọn các tính năng quan trọng trong tập dữ liệu. b) Cách thức hoạt động
Random Forests hoạt động theo 4 bước:
Bước 1: Chọn các mẫu ngẫu nhiên từ tập dữ liệu đã cho.
Bước 2: Thiết lập cây quyết định cho từng mẫu và nhận kết quả dự đoán từ mỗi quyết định cây.
Bước 3: Bỏ phiếu cho mỗi kết quả dự đoán.
Bước 4: Chọn kết quả được dự đoán nhiều nhất là dự đoán cuối cùng.
Hình 3.7 Cách thức hoạt động của thuật toán Random Forest
Ví dụ: Xét tập dữ liệu mẫu dưới đây có bốn biến dự báo bao gồm:
DiemMuaHan g ThoiGianGanBo ThuongXuyenDenMuaHang ChiTieuTrungBin h KhaNangRoiBo
Hình 3.8 Tập dữ liệu mẫu Các biến số này được sử dụng để dự đoán liệu một khách hàng có quay lại hay không Nhóm em sẽ sử dụng tập dữ liệu này để tạo ra một khu rừng ngẫu nhiên dự đoán xem một khách hàng có rời bỏ mua hàng mua hàng hay không
Bước 1: Tạo tập dữ liệu khởi động
Bootstrapping là một phương pháp ước tính được sử dụng để đưa ra dự đoán trên tập dữ liệu bằng cách lấy mẫu lại Để tạo một tập dữ liệu khởi động, chúng ta phải chọn ngẫu nhiên các mẫu từ tập dữ liệu gốc Một điểm cần lưu ý ở đây là chúng ta có thể chọn cùng một mẫu nhiều lần.
Bước 2: Tạo cây quyết định
Để xây dựng cây quyết định, nhóm sử dụng tập dữ liệu gốc được tạo ở bước trước Tuy nhiên, do đang sử dụng thuật toán rừng ngẫu nhiên nên họ không xét toàn bộ dữ liệu đã tạo Thay vào đó, mỗi bước họ chỉ sử dụng một tập hợp con biến ngẫu nhiên.
Trong ví dụ này, nhóm sẽ chỉ xem xét hai biến ở mỗi bước Vì vậy, bắt đầu ở nút gốc, ở đây chọn ngẫu nhiên hai biến làm ứng cử viên cho nút gốc.
Giả sử chọn 2 biến ThoiGianGanBo và ThuongXuyenDenMuaHang, từ đó trong 2 biến này ta phải chọn biến phân tách các mẫu tốt nhất
Vì lợi ích của ví dụ này, giả sử rằng ThuongXuyenDenMuaHang là một dự đoán quan trọng hơn và do đó chỉ định nó làm nút gốc.
Bước tiếp theo là lặp lại quy trình tương tự cho mỗi nút nhánh sắp tới Ở đây, tiếp tục chọn ngẫu nhiên hai biến làm ứng cử viên cho nút nhánh và sau đó chọn một biến phân tách tốt nhất các mẫu Giống như điều này, xây dựng cây bằng cách chỉ xem xét các tập
31 con ngẫu nhiên của các biến ở mỗi bước Bằng cách làm theo quy trình trên, cây của sẽ trông giống như sau:
Hình 3.9 Cây quyết định sau khi xác định nút gốc
Bước 3: Quay lại Bước 1 và Lặp lại
Random Forest là một tập hợp các cây quyết định Mỗi cây quyết định dự đoán lớp đầu ra dựa trên các biến dự báo tương ứng được sử dụng trong cây đó Cuối cùng, kết quả của tất cả các cây quyết định trong một khu rừng ngẫu nhiên được ghi lại và lớp có đa số phiếu bầu được tính là lớp đầu ra
Do đó, bây giờ chúng ta phải tạo nhiều cây quyết định hơn bằng cách xem xét một tập hợp con của các biến dự báo ngẫu nhiên ở mỗi bước Để thực hiện việc này, quay lại bước 1, tạo một tập dữ liệu khởi động mới, sau đó xây dựng cây quyết định bằng cách chỉ xem xét một tập hợp con của các biến ở mỗi bước Vì vậy, bằng cách làm theo các bước trên, rừng ngẫu nhiên của chúng ta sẽ trông giống như sau:
Hình 3.10 Rừng Ngẫu Nhiên được hình thành từ tập hợp con của biến dự báo Việc lặp lại này được thực hiện 100 lần, do đó tạo ra nhiều cây quyết định với mỗi cây sẽ tính toán kết quả đầu ra, bằng cách sử dụng một tập hợp con các biến được chọn ngẫu nhiên ở mỗi bước.
Có nhiều loại cây quyết định như vậy trong một khu rừng ngẫu nhiên là điều làm cho nó hiệu quả hơn một cây quyết định riêng lẻ được tạo ra bằng cách sử dụng tất cả các tính năng và toàn bộ tập dữ liệu.
Bước 4: Dự đoán Kết quả của một điểm dữ liệu mới
Sau đã tạo ra một khu rừng ngẫu nhiên, ta kiểm tra xem nó có thể được sử dụng như thế nào để dự đoán liệu một khách hàng có rời bỏ mua hàng hay không Sơ đồ dưới đây có dữ liệu về khách hàng cũ Nhóm em sẽ chạy dữ liệu này xuống các cây quyết định mà nhóm đã thực hiện Cây đầu tiên cho thấy Khách hàng Rời bỏ mua hàng tại doanh nghiệp, vì vậy theo dõi nó trong một bảng như thể hiện trong hình:
Hình 3.11 Đầu ra của rừng ngẫu nhiên trong R
Tương tự, chạy dữ liệu này xuống các cây quyết định khác và theo dõi lớp dự đoán của từng cây Sau khi chạy dữ liệu xuống tất cả các cây trong khu rừng ngẫu nhiên, kiểm tra xem lớp nào được đa số phiếu bầu Trong trường hợp của chúng tôi, lớp 'Có' nhận được nhiều phiếu bầu nhất, do đó Khách hàng cũ khả năng sẽ rời bỏ mua hàng tại doanh nghiệp. Để kết luận, Nhóm em khởi động dữ liệu và sử dụng tổng hợp từ tất cả các cây để đưa ra quyết định, quá trình này được gọi là Bagging.
Bước 5: Đánh giá mô hình
Bước cuối cùng của chúng tôi là đánh giá mô hình rừng ngẫu nhiên Trước đó, trong khi tạo tập dữ liệu khởi động, chúng tôi đã bỏ sót một mục nhập / mẫu vì chúng tôi sao chép một mẫu khác Trong một vấn đề trong thế giới thực, khoảng 1/3 tập dữ liệu gốc không được bao gồm trong tập dữ liệu khởi động. c) Các tính năng quan trọng
THỰC NGHIỆM ĐÁNH GIÁ 4.1 Trực quan hóa dữ liệu
Ma trận tương quan
− Sử dụng biểu đồ nhiệt để xây dựng ma trận tương quan.
• Nếu dải màu càng tiến về 1, -1: tương quan tuyến tính càng mạnh, càng chặt chẽ. Tiến về 1 là tương quan dương, tiến về -1 là tương quan âm.
• Nếu vạch màu tiến về 0: tương quan tuyến tính càng yếu.
• Nếu vạch màu tiến về 1 : tương quan tuyến tính tuyệt đối.
Hình 4.1 : Biểu đồ nhiệt thể hiện độ tương quan giũa các thuộc tính Ở đây, chúng ta có thể thấy KhaNangRoiBo có mối tương quan Tiêu cực với
"DiemMuaKhachHang" và "TongSoTienMuaHang" tương quan hơi tiêu cực với
"ThoiGianGanBo" và "ThuõnguyenDenMuaHang", tương quan thuận với "Tuoi ",
"ChiTieuTrungBinh" Độ tương quan thuận giữa KhaNangRoiBo và Tuoi nhất là = 0.2 Độ tương quan nghịch giữa KhaNangRoiBo và DiemMuaHang là cao nhất : -0.5
Các biểu đồ
a) Biều đồ phân phối dữ liệu
Hình 4.2: Biểu đồ phân phối dữ liệu các thuộc tính số
− Tuổi và điểm mua hàng được phân bổ chuẩn
− Biểu đồ Chitieutrungbinh có dấu hiệu đi cao sang bên phải b) Biểu đồ phân phối dữ liệu các thuộc tính phân loại
Hình 4.3: Biều đồ phân phối các thuộc tính phân loại
- 55% người là Nam giới, 45% là nữ giới
- Có thẻ ưu đãi: số người có 68%, số người không có 32%
- Thường xuyên đến mua hàng: người thường xuyên đến mua hàng 53%, ngược lại 47%
- Khả năng rời bỏ: tỉ lệ người không rời bỏ chiếm 73%, ngược lại 27% c) Trực quan hóa các thuộc tính phân loại với nhu cầu sử dụng áo thun cá nhân
So sánh giới tính và khả năng rời bỏ
Hình 4.4 Biểu đồ giới tính với khả năng rời bỏ
Nhận xét: “Nam có nhu cầu sử dụng áo thun nhiều hơn nữ ”
Thời gian gắn bó và thời gian rời bỏ
Hình 4.5 Biểu đồ thời gian gắn bó và thời gian rời bỏ
Nhận xét: Thời gian gắn bó càng cao thì nhu cầu sử dụng sản phẩm sẽ cao.
• Có thẻ ưu đãi và khả năng rời bỏ
Hình 4.6 Biểu đồ có thẻ ưu đãi và khả năng rời bỏ
Nhận xét: Số người có thẻ ưu đãi thì tỉ lệ sử dụng sản phẩm rất cao
Thường xuyên đến mua hàng và khả năng rời bỏ
Hình 4.7 Biểu đồ thường xuyên đến mua hàng và khả năng rời bỏ
Tiền xử lý dữ liệu
4.2.1 Xử lý ngoại lai a) Vẽ biểu đồ Boxplot
- Dùng biều đồ boxplot để trực quan sự phân phối dữ liệu thuộc tính phân loại từ đó tìm ra các biến ngoại lai
• Từ biểu đồ boxplot ta thấy các thuộc tính : 'Tuoi', 'TongSoTienDaMua' có các giá trị ngoại lai. b) Xử lý giá trị ngoại lai
Có 2 hàm dưới đây để xử lý các giá trị ngoại lệ bằng các quy tắc sau:
• Tất cả các giá trị nhỏ hơn Lower Whisker sẽ được gán giá trị của Lower_whisker
• Tất cả các giá trị trên Upper Whisker sẽ được gán giá trị của Upper_Whisker
Hình 4.9 Code hàm xử lý ngoại lai c) Thực hiện loại bỏ
Hình 4.10 Thực hiện loại bỏ các giá trị ngoại lai
Hình 4.11 Biểu đồ Boxplot các giá trị ngoại lai đã được loại bỏ
4.2.2 Lưu file dữ liệu sau khi xử lý
4.1.1 Đọc file dữ liệu mới
4.12 Bộ dữ liệu mới sau khi tiền xử lý
Thực nghiệm
Bước đầu tiên bọn em sẽ chia nhỏ dữ liệu ra
Hình 4.13 Chia nhỏ dữ liệu
Sẽ in ra kết quả như hình:
Sau đó sử dụng method “Sample” để trả về một danh sách với sự lựa chọn ngẫu nhiên của một số mục được chỉ định từ một trình tự.
Dự đoán và in ra kết quả
In ra kết quả xác suất của từng nhãn, độ chính xác và mô hình ma trận nhầm lẫn của mô hình.
Hình 4.14 Độ đo đánh giá mô hình NB Mixed
Accuracy = 0,82: độ chính xác của mô hình sau khi sử dụng 82%
True Positive = 7: có 7 khách hàng được dự đoán đúng
True Negative = 75: dự đoán chính xác 75 khách hàng sẽ không rời đi Fasle Postive = 0: không có khách hàng nào không có khả năng rời đi nhưng lại được dự đoán là có
Fasle Negative = 18: có 18 khách hàng có khả năng rời bỏ nhưng được dự đoán là không chấp nhận.
Xây dựng mô hình Random Forest:
Chúng em xây dựng mô hình với thuật toán Random Forest để so sánh giữa mô hình nhóm tìm hiểu với mô hình đã được thực nghiệm trên lớp đâu mà mô hình tối ưu cho bài toán dự nhu cầu sử dụng sản phẩm áo thun cá nhân hóa
Hình 4.15 Xây dựng mô hình Random Forest
Nhận xét: Accuracy = 0,85: độ chính xác của mô hình sau khi sử dụng 85%
TỔNG KẾT 5.1 Kết luận
Hạn chế của đề tài
Thay vì cố gắng tính toán xác suất của từng giá trị thuộc tính, Naive Bayes và Random Forest giả định là các đặc trưng của dữ liệu độc lập có điều kiện với giá trị của từng lớp Độ chính xác của Naive Bayes nếu so với các thuật toán khác thì không được cao Trong thế giới thực, hầu như bất khả thi khi các đặc trưng của dữ liệu là độc lập với nhau
Trong quá tìm hiểu của nhóm bọn em còn hạn chế dù đã cố gắng hết sức, nên quá trình làm bài phân tích trên có thể còn nhiều sai sót, có thể bị thiếu một số nội dung không sát với quá trình phân tích.