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

Sử dụng KnowledgeFlow trong Weka để xây dựng mô hình Khai phá dữ liệu

Bài cuối 04-09-2018 10:57 AM của chucnv. 7 trả lời.
Trang 1 trong số 1 (8 nội dung)
Sắp xếp bài viết: Trước Tiếp theo
  • 03-11-2011 01:00 PM

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

    Sử dụng KnowledgeFlow trong Weka để xây dựng mô hình Khai phá dữ liệu

    Sử dụng KnowledgeFlow trong Weka để xây dựng mô hình Khai phá dữ liệu

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


    Weka là công cụ rất mạnh trong xây dựng các mô hình khai phá dữ liệu. Weka Tools triển khai hầu hết các kỹ thuật khai phá dữ liệu như Classification, Clustering, Association Rule,.. Trong mỗi kỹ thuật, Weka triển khai rất nhiều thuật toán cho phép lựa chọn thuật toán phù hợp với yêu cầu và dữ liệu trong việc khai phá dữ liệu.

    Trong phần này, tôi sẽ trình bày công cụ KnowledgeFlow (KF) của Weka trong việc xây dựng các mô hình khai phá dữ liệu. KF là công cụ rất quan trong đối với việc xây dựng mô hình khai phá dữ liệu vì KF cho phép người xây dựng mô hình có thể điều chỉnh từng giai đoạn (phase) cũng như điều chỉnh các tham số tương ứng với từng thuật toán qua từng bước để có một mô hình khai phá với kết quả tốt hơn.

    Trong ví dụ sau, tôi sẽ trình bày cách sử dụng KF trng Weka để xây dựng mô hình phân lớp (Classification Model) trên Dataset Iris. (Xem mô tả chi tiết và Download Dataset Iris xem tại đây: http://bis.net.vn/forums/t/369.aspx).

     Về cơ bản, Các bước xây dựng một KF gồm các bước sau:

    1.      Xác định nguồn dữ liệu (Data Sources)

    2.      Xác định các kỹ thuật Train và Test Mô hình (Evaluation)

    3.      Xác định các thuật toán sử dụng trong mô hình (Classification, Clustering, Association Rule,…). Chúng ta có thể sử dụng nhiều thuật toán để so sánh và chọn mô hình có kết quả tốt nhất

    4.      Hiển thị kết quả mô hình (Visualization)

    Trong KF dưới đây, xây dựng mô hình phân lớp trên hoa Iris sử dụng 3 thuật toán phân lớp là J48, Simple CART (Cây hồi qui đơn giản) và Multiplayer Perceptron (Mô hình mạng Neuron nhiều lớp).

    Chọn KnowledgeFlow khi khởi động Weka

    Xác định nguồn và định dạng dữ liệu (DataSources): Chọn Arff Loader để nạp file dữ liệu iris.arff

     

     Chọn tab Evaluation và chọn ClassAssigner để xác định thuộc tính phân lớp (Category Variable) của mô hình. Để nạp dữ liệu từ dataset vào mô hình, bấm phải chuột vào Iris dataset và chọn dataset, kéo và thả kến ClassAssigner

     

    Chọn kỹ thuật Train và Test Mô hình (ở đây sử dụng kỹ thuật CV – CrossValidation). Trong Tab Evaluation chọn CrossValidation FoldMaker. Nạp dữ liệu vào CV giống như nạp dữ liệu từ Iris Dataset vào ClassAssigner

    Chọn Tab Classifiers và chọn các thuật toán để xây dựng mô hình (trước tiên chọn thuật toán J48). Sau đó nạp dữ liệu để train và Test mô hình, bấm phải chuột vào CrossValidation FoldMaker chọn TrainingSet nối với J48, sau đó chọn TestSet (chú ý là phải chọn TraningSet trước)

     

     

     

    Hiệu chỉnh tham số của thuật toán bằng cách double click và thuật toán

    Chọn Tab Evaluation chọn ClassifierPerformanceEvaluator để đánh giá hiệu quả của mô hình phân lớp

     

    Chọn Tab: Visualization và chọn Text Viewer hoặc GraphViewer để xem kết quả của mô hình dưới dạng Text hay dưới dạng trực quan quan bằng hình ảnh.

     

     Sau khi thiết lập đầy đủ các bước và tham số cho các bước của mô hình. Thực hiện mô hình bằng cách bấm phím phải chuột vào Iris Dataset và chọn Start Loading

     

    Xem kết quả mô hình bằng cách bấm phait chuột vào TextViewer và chọn Show Results

     

     

    Kết quả mô hình phân lớp xây dựng trên thuật toán J48

    Tương tự, ta có thể xây dựng mô hình trên nhiều thuật toán để chọn thuật toán tốt nhất cho mô hình. KF dưới đây sử dụng 3 thuật toán phân lớp là J48, SimpleCART (Cây hồi qui đơn giản) và Multiplayer Perceptron (Mô hình mạng Neuron nhiều lớp).

     

    Kết quả của mô hình theo 3 thuật toán, trong đó mô hình phân lớp dựa trên thuật toán Multiplayer Perceptron có độ chính xác cao nhất (97.3333 %), sau đó là thuật toán J48 với độ chính xác là 96% và cuối cùng là thuật toán SimpleCART với độ chính xác là 95.3333%.

    Chú ý, chúng ta có thể thay đổi các tham số trong các bước của KF để thấy sự khác nhau trong kết quả phân lớp của các thuật toán.

    KnowledgeFlow của Weka là công cụ rất thuận lợi cho việc xây dựng các mô hình khai phá dữ liệu. Với KF bạn có thể từng bước hiểu chỉnh các tham số của mô hình, lựa chọn nhiều kỹ thuật, thuật toán khác nhau để xây dựng mô hình. Từ đó có thể chọn ra mô hình tốt nhất cho công việc khai phá trên dữ liệu cụ thể của bạn.

    PS. All comments please send to chucnv@ud.edu.vn. Thank you and Welcome!

    • Điểm chủ đề: 50
  • 03-11-2011 05:20 PM trả lời

    Re: Sử dụng KnowledgeFlow trong Weka để xây dựng mô hình Khai phá dữ liệu

    Cảm ơn tác giả, Thực sự em rất cần tài liệu này. Em đang tìm hiểu và ứng dụng các mô hình khai phá dữ liệu để phát hiện tri thức. Em cũng ứng dụng Weka cho việc thực hiện các mô hình nhưng phần KF này thì chưa tìm được tài liệu hướng dẫn chi tiết. Bài viết ngắn gọn nhưng rất dễ hiểu.
    • Điểm chủ đề: 35
  • 04-19-2011 11:11 AM trả lời

    Re: Sử dụng KnowledgeFlow trong Weka để xây dựng mô hình Khai phá dữ liệu

    Anh có tài liệu hướng dẫn chi tiết về KF trong weka không cho em xin với, kiểu tài liệu Tutorial ấy.
    Đọc bài viết của anh em đã biết làm nhưng em muốn tìm hiểu chi tiết hơn về môi trường này trong Weka.
    nếu có thì anh gởi theo địa chỉ:  giangrabit@yahoo.com.
    Cảm ơn anh trước
     
     
    • Điểm chủ đề: 50
  • 10-15-2012 10:42 AM trả lời

    Re: Sử dụng KnowledgeFlow trong Weka để xây dựng mô hình Khai phá dữ liệu

    Chào diễn đàn và tác giả Chucnv,
    Em thật may mắn được đọc các bài viết trên BIS về Data Mining của tác giả Chucnv. Em thật sự khâm phục tác giả về sự hiểu biết và nhất là mong muốn chia sẻ với cộng đồng về lĩnh vực Data Mining mới mẻ này. Em đã đọc vài cuốn sách về khai phá dữ liệu của những "Cây đa, cây đề" mà thú thực em thấy họ trình này khó hiểu quá. Em rất thích văn phong viết của tác giả, rất đơn giản, logic, dễ hiểu và nhất là khả năng sử dụng ví dụ rất hay. Diễn đàn này rất hữu ích với Sinh viên ngành công nghệ thông tin bọn em.
    Một lần nữa xin cảm ơn tác giả chucnv và diễn đàn.
    Hy vọng em sẽ nghiên cứu và đủ tự tin để tham gia viết bài trên diễn đàn này. Mong nhận được sự chia sẻ và ủng hộ.
     
     
    • Điểm chủ đề: 20
  • 08-01-2013 04:01 PM trả lời

    • hoc_weka
    • Không xếp hạng
    • Tham gia 08-01-2013
    • Điểm 35

    Re: Sử dụng KnowledgeFlow trong Weka để xây dựng mô hình Khai phá dữ liệu

    Cho em hỏi em có thực hiện các bước như hướng dẫn nhưng lai không có mục Start Load nhỉ, không biết sai ỏ chổ nào
    • Điểm chủ đề: 35
  • 08-03-2013 10:17 PM trả lời

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

    Re: Sử dụng KnowledgeFlow trong Weka để xây dựng mô hình Khai phá dữ liệu

    Chào em,
     
    Em xem lại một số điểm sau:
    1. Đã chọn đúng thuộc tính phân lớp  cho mô hình  trong mục ClassAssigner chưa?
    2.Dataset (training data) có phù hợp với thuật toán phân lớp được chọn không?
    3. Chọn các tham số trong phần CrossValidation cho phù hợp
     
    • Điểm chủ đề: 20
  • 04-05-2018 05:15 AM trả lời

    • nhathatm
    • Không xếp hạng
    • Tham gia 04-04-2018
    • Điểm 35

    Re: Sử dụng KnowledgeFlow trong Weka để xây dựng mô hình Khai phá dữ liệu

    Em chào anh, em đang tìm hiểu về KnowledgeFlow. Tuy nhiên ngay bước đầu tiên load dữ liệu của em đã không thực hiện được với dòng thông báo "[KnowledgeFlow] Unable to load flow (invalid stream header)". Em dùng file .csv và vẫn chạy tốt với công cụ Explorer của weka. Vậy lý do của nó là gì và cách giải quyết thế nào?, anh giải đáp giúp em với ạ.
    • Điểm chủ đề: 35
  • 04-09-2018 10:57 AM trả lời

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

    Re: Sử dụng KnowledgeFlow trong Weka để xây dựng mô hình Khai phá dữ liệu

    Chào bạn,
    Nếu được thì bạn có thể gởi file Data qua mình xem thử nhé/ 
    • Điểm chủ đề: 20
Trang 1 trong số 1 (8 nội dung)
Powered by Community Server (Commercial Edition), by Telligent Systems