Chào mừng đến với BIS Đăng nhập | Đăng ký | Trợ giúp
trong Tìm kiếm

Giới thiệu một qui trình hoàn chỉnh về xây dựng mô hình khai phá dữ liệu

Bài cuối 04-05-2013 12:37 PM của tutruong. 8 trả lời.
Trang 1 trong số 1 (9 nội dung)
Sắp xếp bài viết: Trước Tiếp theo
  • 04-03-2012 11:08 AM

    • chucnv
    • 10 thành viên năng nổ nhất
    • Tham gia 12-05-2008
    • Điểm 10,255

    Giới thiệu một qui trình hoàn chỉnh về xây dựng mô hình khai phá dữ liệu

     Giới thiệu một qui trình hoàn chỉnh về xây dựng mô hình khai phá dữ liệu

    Nguyễn Văn Chức - chuc1803@gmail.com

    Trong các bài viết trước, tôi đã giới thiệu các kỹ thuật, qui trình cũng như cách thức xây dựng các mô hình khai phá dữ liệu (Data mining Model -DMM). Tuy nhiên, qua nhiều phản hồi của các bạn đọc thì rất nhiều ý kiến hỏi về cách sử dụng DMM trong việc dự đoán dữ liệu chưa biết (unseen data) như thế nào cũng như quá trình xây dựng và sử dụng một DMM đầy đủ các bước như thế nào?

    Bài viết này giới thiệu  thực hiện một DMM với đầy đủ 4 công việc chính của quá trình khai phá dữ liệu đó là:  1. Chuẩn bị dữ liệu (Data preparation); 2. Xây dựng mô hình (Data Modeling); 3. Đánh giá mô hình (Validation); 4. Sử dụng mô hình để dự đoán dự liệu trong tương lai  (Model Usage)

    Mô tả dữ liệu sử dụng trong bài viết

    Dữ liệu được dùng là Data source gồm 10.000 khách hàng của hãng sản xuất xe đạp Adventureworks, gồm 13 thuộc tính như sau. (Đây là dữ liệu điều tra khách hàng của công ty Adventureworks. (download dataset tại đây)


    Mục đích là mô tả quá trình đầy đủ về xây dựng một DMM phân lớp khách hàng vào 2 lớp là có mua xe đạp hay không (thuộc tính Bikebuyer = Yes hay No) để dự đoán khả năng mua xe đẹp của khách hàng. Công việc này được thực hiện thông qua 4 giai đoạn: Data preparation; Data Modeling; Validation; Model Usage.

    Công cụ sử dụng là SQL Server Business Intelligence Development Studio (Add –ins trong MS Excel 2007)

    1. Chuẩn bị dữ liệu cho mô hình (Data Preparation)

    Trong bước này chúng ta thực hiện các công việc tiền xử lý dữ liệu theo yêu cầu của mô hình như trích chọn thuộc tính, rời rạc hóa dữ liệu (các vấn đề này đã đề cập ở các bài viết trước) và cuối cùng là chia dữ liệu nguồn (Data Source) thành 2 tập dữ liệu dùng để huấn luyện mô hình (Training Data) và kiểm tra mô hình (Testing data).

    Bây giờ từ Data source ban đầu (10.000 Records) ta tạo ra Training Data (70%) và Testing Data (30%) như sau:


    Chọn Partition Data →Next→Chọn Data Source →Split Data into train and Test sets→ Chọn 70% cho Training Set


    Đặt tên cho Training and Testing Data → Finish


    Sau bước chuẩn bị dữ liệu ta có 2 sheet chứa dữ liệu để huấn luyện DMM là Training Data với 7000 khách hàng (70%) và dữ liệu để kiểm tra DMM là 3000 khách hàng (30%)

     2. Xây dựng mô hình (Data Modeling)

    Trong bước này ta sử dụng Training Data vừa tạo ra để xây dựng mô hình, trong ví dụ này sử dụng mô hình cây quyết định phân lớp.

    Trong Menu Advanced→Create Mining Model→Next


    Chọn nguồn dl là Training Data→Next→Chọn Microsoft Decision Tree→Next



    Xác định thuộc tính khóa là ID và thuộc tính phân lớp là BikeBuyer


    Bấm Next →Đặt tên cho Structure name và Model name →Finish


    Kết quả mô hình như sau:


     3. Kiểm định mô hình (Validation model)

    Sau khi sử dụng Training Data để xây dựng mô hình, bây giờ ta sử dụng Testing Data để kiểm tra xem mô hình có đủ tốt để sử dụng hay không? (Nếu chưa đủ tốt thì phải sử dụng Training Data khác để huấn luyện lại)

    Có 3 kỹ thuật chính để kiểm tra mô hình đó là sử dụng Accuracy Chart (Lift Chart), Classification Matrix và Profit Chart.

     

    Chọn Accủacy Chart→Next→Chọn Mô hình cần kiểm tra →Next


    Chọn Next và chọn thuộc tính phân lớp BikeBuyer và giá trị dự đoán Yes (mua xe)


    Bấm Next → Chọn dữ liệu để Test Mô hình


    Bấm Next→Thiết lập quan hệ giữa các thuộc tính trong Model với các thuộc tính trong Testing Data.


    Bấm Finish để kết thúc. Kết quả Lift Chart như sau:


     Tương tự các bước như đã làm với Accuracy Chart nhưng nếu chọn Classification Matrix thì kết quả như sau


    Profit Chart của Model


    Trong mô hình cây quyết định đã xây dựng, độ chính xác đạt 89.13% và profit chart cho biết lợi nhuận thu được lớn nhất khi $7250 khi sử dụng 11% Testing data.

    (Để biết cách sử dụng Lift Chart và Classification Matrix và profit chart để đánh giá Data Mining Model xem chi tiết tại bài viết này tại http://bis.net.vn/forums/t/476.aspx)

    4. Sử dụng mô hình (Model Usage)

    Sau khi mô hình được kiểm tra (Testing) nếu độ chính xác đáp ứng yêu cầu thì có thể sử dụng model đã xây dựng vào dự đoán các dữ liệu chưa biết. Bây giờ ta sẽ sử dụng mô hình phân lớp cây quyết định đã xây dựng để dự đoán các khách hàng có mua xe đạp của công ty không? Dữ liệu cần dự đoán trong sheet “New Customers” có 77 khách hàng (chú ý rằng dữ liệu khách hàng này không có thuộc tính BikeBuyer vì đây là dữ liệu tương lai cần dự đoán và các khách hàng này không xuất hiện trong Training và Testing Data)


    Bây giờ ta sẽ dùng Mô hình khai phá dữ liệu cây quyết định đã xây dựng để dự đoán khách hàng nào có khả năng mua hay không mua xe đạp tại công ty (Thuộc tính BikeBuyer = Yes hay No)

    Chọn Query trên Menu


    Chọn Next→Chọn Data Mining Model đã xây dựng


    Chọn Next và chọn dữ liệu cần dự đoán (phân lớp), ở đây là bảng dữ liệu New Customers


    Chọn Next →Thiết lập quan hệ giữa các thuộc tính trong Model với các thuộc tính trong dữ liệu cần dự đoán


     Bấm Next →Chọn Add Output để xác định các thuộc tính sinh ra ở bảng kết quả. Ở đây chọn 2 thuộc tính là ID và thuộc tính dự đoán phân lớp là BikeBuyer


    Chọn New worksheet để kết quả dự đoán tạo ra một sheet mới và bấm Finish để hoàn thành. Kết quả dự đoán (phân lớp) khách hàng như sau:


    Trong kết quả dự đoán này, khách hàng có ID là 11000 có khả năng mua xe đạp của công ty (khách hàng tiềm năng) và khách hàng có ID 11001 được dự đoán là không mua hàng của công ty. Chúng ta có thể đưa ra nhiều thông tin về khách hàng hơn bằng việc chọn Add Output và thêm các thuộc tính về khách hàng.

    Ngoài việc phân lớp các khách hàng, mô hình còn có thể dự đoán xác suất tương ứng với từng giá trị của thuộc tính phân lớp. Ví dụ như ta muốn dự doán xác suất các khách có khả năng mua hàng (Giá trị thuộc tính BikeBuyer = Yes), thiết lập như sau:


    Kết quả như sau:


    Với kết quả trên, khách hàng có ID là 11058 có xác suất mua hàng là 0.68728668 (>0.5) nên được xếp vào lớp mua hàng (BikeBuyer = Yes) và khách hàng có ID là 11038 có xác suất mua hàng là 0.080635255(<0.5) nên được xếp vào lớp không mua hàng (BikeBuyer = No).

     

    All comments please send to chuc1803@gmail.com Thank you and welcome!

    • Điểm chủ đề: 80
  • 04-25-2012 01:25 AM trả lời

    Re: Giới thiệu một qui trình hoàn chỉnh về xây dựng mô hình khai phá dữ liệu

    Bài viết thật tuyệt vời. Cám ơn tác giả. Nhưng em không download được dataset, anh có thể up lại giúp em để em thực hành luôn được không ạ? Thanks again!
    • Điểm chủ đề: 35
  • 04-25-2012 12:22 PM trả lời

    • chucnv
    • 10 thành viên năng nổ nhất
    • Tham gia 12-05-2008
    • Điểm 10,255

    Re: Giới thiệu một qui trình hoàn chỉnh về xây dựng mô hình khai phá dữ liệu

    Cảm ơn em, Anh đã upload lại rồi. Giờ download được rồi.
    Chúc em thành công
    • Điểm chủ đề: 20
  • 06-27-2012 04:35 PM trả lời

    Re: Giới thiệu một qui trình hoàn chỉnh về xây dựng mô hình khai phá dữ liệu

    Trước tiên xin được cảm ơn tác giả về bài viết quá tuyệt vời này. Data Mining là lĩnh vực mới và liên quan đến nhiều ngành nên rất khó tiếp cận. Tác giả đã chia sẻ khá đầy đủ kiến thức về lĩnh vực này với những bài viết thật dễ hiểu và súc tích.
    Mong mọi người cùng đóng góp bài viết cho lĩnh vực này.
     
    • Điểm chủ đề: 20
  • 08-01-2012 02:51 PM trả lời

    Re: Giới thiệu một qui trình hoàn chỉnh về xây dựng mô hình khai phá dữ liệu

    bài viết rất sát vấn đề like mạnh
    • Điểm chủ đề: 20
  • 08-12-2012 03:53 PM trả lời

    • LyLuan
    • 100 thành viên năng nổ nhất
    • Tham gia 08-12-2012
    • Điểm 105

    Re: Giới thiệu một qui trình hoàn chỉnh về xây dựng mô hình khai phá dữ liệu

    Trước tiên xin cám ơn tác giả bài viết đã cố gắng rất nhiều trong việc tìm hiểu về Datamining để truyền bá về lĩnh vực mới trong CNTT. Tôi cũng đang tìm hiểu về Datamining nhưng khó quá vậy xin được hỏi tác giả mấy ý kiến:
    + Không biết có bao nhiêu thuộc tính có ảnh hưởng và bao nhiêu thuộc tính không ảnh hưởng đến hành vi mua hàng? Kết quả đọc từ phần mềm như thế nào?
    + Có thể lượng hoá được vai trò và mức độ ảnh hưởng của mỗi thuộc tính đến khả năng mua của khách hàng ? Kết quả đọc từ phần mềm như thế nào?
    + Nếu được tác giả có thể giới thiệu tài liệu nói về cơ sở khoa học của thuật toán đang dùng?
    + Với dữ liệu đã cho thì có thể dùng hồi qui Binary logistics, phân tích phân biệt trong của thống kê hay không?
    + Có thể dùng SPSS, STATA, STATISTICA để xử lý hay không?
    Rất mong nhận được hồi âm.
    Từ khóa đại diện: , , ,
    • Điểm chủ đề: 35
  • 08-13-2012 08:20 PM trả lời

    • chucnv
    • 10 thành viên năng nổ nhất
    • Tham gia 12-05-2008
    • Điểm 10,255

    Re: Giới thiệu một qui trình hoàn chỉnh về xây dựng mô hình khai phá dữ liệu

    Chào bạn,
    Bạn không nói là khách hàng của bạn là ai (loại khách hàng), mua sản phẩm gì và dùng phần mềm nào thì làm sao xác định được thuộc tính nào ảnh hưởng và không ảnh hưởng đến hành vi mua hàng cũng như đọc kết quả ntn từ phần mềm.
    Có thể lượng hóa (weighted) mức độ ảnh hưởng của mỗi thuộc tính đến kết quả dự đoán (khả năng mua hàng của khách hàng) bằng một số phương pháp như trích chọn thuộc tính (Feature Selection, xem bài viết http://bis.net.vn/forums/t/505.aspx) hay phương pháp phân tích thành phần chính (PCA - Principal Component Analysis) để chọn ra các thuộc tính có ảnh hưởng lớn đến kết quả dự đoán. Các phương pháp này bạn có thể sử dụng SPSS hoặc XLSTAT để thực hiện.
    Chúc bạn thành công
     

     
    • Điểm chủ đề: 35
  • 08-25-2012 08:36 PM trả lời

    • LyLuan
    • 100 thành viên năng nổ nhất
    • Tham gia 08-12-2012
    • Điểm 105

    Re: Giới thiệu một qui trình hoàn chỉnh về xây dựng mô hình khai phá dữ liệu

    Chào
    Tôi chỉ hỏi với kết quả phân tích trong bài viết của bạn (từ kết quả phân tích và trình bày của bạn) thì tôi không biết có bao nhiêu thuộc tính có ảnh hưởng đến biến phụ thuộc.
    Cái quan trọng trong phân tích dữ liệu chính là lượng hóa vai trò và mức độ ảnh hưởng của từng nhân tố. Tuy nhiên trong bài viết không tháy trình bày.
    Cám ơn.
    • Điểm chủ đề: 35
  • 04-05-2013 12:37 PM trả lời

    • tutruong
    • 25 thành viên năng nổ nhất
    • Tham gia 03-31-2013
    • Điểm 255

    Re: Giới thiệu một qui trình hoàn chỉnh về xây dựng mô hình khai phá dữ liệu

    Cho hỏi trong Weka có thể xây dựng được mô hình và cho ra kết quả dự đoán dữ liệu chưa biết (Unseen data) không ?
    • Điểm chủ đề: 20
Trang 1 trong số 1 (9 nội dung)
Powered by Community Server (Commercial Edition), by Telligent Systems