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

Khai phá luật kết hợp với Weka

Bài cuối 03-30-2013 03:41 PM của tuananhk43. 15 trả lời.
Trang 1 trong số 1 (16 nội dung)
Sắp xếp bài viết: Trước Tiếp theo
  • 12-26-2010 07:45 PM

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

    Khai phá luật kết hợp với Weka

    Khai phá luật kết hợp với Weka

    (Association Rule Mining with WEKA )

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

    Trong lĩnh vực Data Mining, mục đích của luật kết hợp (Association Rule - AR) là tìm ra các mối kết hợp (Association) hay tương quan (Correlation)  giữa các đối tượng trong khối lượng lớn dữ liệu. Ứng dụng của luật kết hợp rất phổ biến trong nhiều lĩnh vực, nhất là trong kinh doanh như Market Basket Analysis (Cross selling, Product placement, Affinity promotion, Customer behavior Analysis). Xem bài  ứng dụng luật kết hợp trong Market Basket Analysis tại http://bis.net.vn/forums/t/382.aspx  

    Bài viết này minh họa việc sử dụng thuật toán Apriori để phát hiện các luật kết hợp trên phần mềm Weka. (Xem chi tiết về thuật toán Apriori tại đây)

    Dữ liệu được dùng trong ví dụ này là dữ liệu về khách hàng ngân hàng (bank.arff) gồm 11 thuộc tính và 600 khách hàng (samples, instances, patterns). Cấu trúc file bank.arff như sau: (Download file dữ liệu bank.arff tại đây)


    Dữ liệu về một số khách hàng trong file bank.arff như sau

     

    Nạp dữ liệu (nạp file bank.arff)

     

    Chọn tab Association và chọn thuật toán Apriori

     

    Thiết lập các tham số (numRules, Support, Confidence,…)

     

    Giải thích một số tham số chính của thuật toán Apriori sinh luật kết hợp

    lowerBoundMinSupport: Cận dưới của minimum support.

    metricType: Có 4 loại metricType là Confidence, Lift , Leverage và Conviction. 

    Minimum metric score: Chỉ quan quan đến các luật có metric score cao hơn giá trị này.

    numRules: Số luật muốn tìm (các luật sẽ được sắp xếp theo thứ tự giảm dần của metric score.

    significanceLevel: Mức ý nghĩa (chỉ dùng khi metricType là confidence).

    upperBoundMinSupport: Cận trên của minimum support (bắt đầu lặp lại việc giảm minimum support từ upperBoundMinSupport đến lowerBoundMinSupport).

    Các luật kết hợp thu được

     

    10 luật tốt nhất được sinh ra bởi thuật toán Apriori trên dữ liệu bank.arff như sau (sắp xếp giảm dần theo confidence):

     

    1. income=43759_max 80 ==> save_act=YES 80    conf:(1)

    2. age=52_max income=43759_max 76 ==> save_act=YES 76    conf:(1)

    3. income=43759_max current_act=YES 63 ==> save_act=YES 63    conf:(1)

    4. age=52_max income=43759_max current_act=YES 61 ==> save_act=YES 61    conf:(1)

    5. children=0 save_act=YES mortgage=NO pep=NO 74 ==> married=YES 73    conf:(0.99)

    6. sex=FEMALE children=0 mortgage=NO pep=NO 64 ==> married=YES 63    conf:(0.98)

    7. children=0 current_act=YES mortgage=NO pep=NO 82 ==> married=YES 80    conf:(0.98)

    8. children=0 mortgage=NO pep=NO 107 ==> married=YES 104    conf:(0.97)

    9. income=43759_max current_act=YES 63 ==> age=52_max 61    conf:(0.97)

    10. income=43759_max save_act=YES current_act=YES 63 ==> age=52_max 61    conf:(0.97)

     

    Luât kết hợp số 1 cho biết rằng nếu thu nhập (income) lớn hơn hoặc bằng 43759 thì khách hàng có tài khoản tiết kiệm (save_act =YES) với độ tin cậy là 1.

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

     

    • Điểm chủ đề: 65
  • 01-05-2011 06:48 AM trả lời

    • hoangnh3
    • 100 thành viên năng nổ nhất
    • Tham gia 01-01-2011
    • Điểm 55

    Re: Khai phá luật kết hợp với Weka

    Anh Chức ah,

    Weka nó không hỗ trợ sinh luật kết hợp âm anh nhỉ. Em tìm mãi mà ko có :(

    • Điểm chủ đề: 35
  • 01-05-2011 10:58 AM trả lời

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

    Re: Khai phá luật kết hợp với Weka

    Các Data Mining Software hiện nay chỉ triển luật kết hợp Dương (Positive Association Rule Dạng X=>Y chứ chưa triển khai các luật kết hợp âm (Negative Association Rule) dạng như X => Not(Y) (Khách hàng mua sản phẩm A thường KHÔNG mua sản phẩm B). Theo anh biết thì Weka cũng không triển khai luật kết hợp âm.
    Chúc em thành công,
     
    • Điểm chủ đề: 35
  • 04-23-2011 09:42 PM trả lời

    • dingo1
    • 150 thành viên năng nổ nhất
    • Tham gia 04-23-2011
    • Điểm 55

    Re: Khai phá luật kết hợp với Weka

    Anh có thể nói rõ hơn về giá trị Metric được không ạ,em chỉ biết appiori  chỉ quan tâm giá trị Minsupp.Mong anh hồi đáp sớm!
    • Điểm chủ đề: 35
  • 04-24-2011 12:30 PM trả lời

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

    Re: Khai phá luật kết hợp với Weka

    Tham số metricType: là các thang đo dùng để đánh giá các mô hình (thuật toán) phát hiện luật kết hợp. Có 4 thang đo thường được sử dụng là Confidence, Lift , Leverage và Conviction. Trong đó thang đo Leverage ít được sử dụng và có thể dùng lift để phản ánh ý nghĩa của thang đo Leverage.

    Để tiện cho việc giải thích, giả sử ta có Transaction Database gồm 5 giao dịch và 4 items như sau :

    Example data base with 4 items and 5 transactions

    ID

    milk

    bread

    butter

    beer

    1

    1

    1

    0

    0

    2

    0

    0

    1

    0

    3

    0

    0

    0

    1

    4

    1

    1

    1

    0

    5

    0

    1

    0

    0

    confidence  của luật kết hợp X=>Y được định nghĩa như sau: 

     

    Với cơ sở dữ liệu giao dịch trên ta có confidence của luật kết hợp {milk, bread} => {butter}  là 0.2/0.4=0.5 . Điều này có nghĩa là 50% giao dịch mua milk và bread thì mua butter.

    lift của luật kết hợp X=>Y là tỷ số giữa giao dịch hỗ trợ X và Y với tích của các giao dịch hỗ trợ X và các giao dịch hỗ trợ Y.


    Với cơ sở dữ liệu về giao dịch đã cho, ta có lift của luật kết hợp {milk, bread} => {butter}  là  0.2/(0.4 x 0.4) =1.25

    conviction của luật kết hợp X=>Y được định nghĩa như sau:

    .

     

    Với cơ sở dữ liệu giao dịch trên ta có conviction của luật kết hợp {milk, bread} => {butter} là (1-0.4)/(1-0.5)= 1.2

    Conviction của luật kết hợp X=>Y cho biết tần suất mong muốn X xảy ra mà không cần Y (cũng có thể xem Conviction cho biết tần suất của luật sinh ra các dự đoán không chính xác). Chẳn hạn, Conviction của luật kết hợp {milk, bread} => {butter} là 1.2 có nghĩa rằng luật này có thể sinh ra các dự đoán không chính xác khoảng 20%.

     

     

    Từ khóa đại diện: , ,
    • Điểm chủ đề: 20
  • 04-24-2011 05:10 PM trả lời

    • dingo1
    • 150 thành viên năng nổ nhất
    • Tham gia 04-23-2011
    • Điểm 55

    Re: Khai phá luật kết hợp với Weka

    Vâng,cảm ơn anh rất nhiều ạ.
    • Điểm chủ đề: 20
  • 02-14-2012 03:34 PM trả lời

    Re: Khai phá luật kết hợp với Weka

    Em chào thầy!
     Em muốn hỏi thầy trong bài toán thực cần giải quyết là dự đoán rủi ro tín dụng(dự đoán nhóm nợ của khoản vay thuộc nợ khó đòi, nợ xấu, nợ tốt, nợ không thể trả.....) từ các thông tin của khách hàng (tuổi, tổ chức, tài sản thế chấp, mục đích vay, có xe hay không....-->khoảng 15 thuộc tính chẳng hạn ) với dữ liệu là 100.000 khoản vay ( tương ứng thông tin của 100.000 khách hàng ) .
      Đây là một bài toán sử dụng data mining nên dữ liệu thực khá lớn, với bài toán này mà sử dụng thuật toán apriori để phát hiện các luật kết hợp  trên phần mềm weka thì có được không ạ. Theo em biết thì thuật toán apriori và phần ứng dụng explorer của phần mềm weka chỉ sử dụng cho những bộ dữ liệu vừa và nhỏ?
      Dữ liệu của bài toán thực này rất lớn, em không biết là có thể sử dụng thuật toán apriori trên phần mềm weka để giải quyết bài toán này không ạ?

      Em mong nhận được ý kiến của thầy!
     
     
    • Điểm chủ đề: 35
  • 02-14-2012 07:37 PM trả lời

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

    Re: Khai phá luật kết hợp với Weka

    Chào em,
    Weka là phần mềm nguồn mở dùng để mô phỏng các Data mining Models phục vụ cho nghiên cứu và giảng dạy nên không hỗ trợ xử lý các Dataset lớn (trên 5000 samples).
    Em có thể sử dụng các công cụ thương mại để xây dựng Data Mining Model của MS (công cụ BIDS) hay Data Miner của Oracle thì sẽ sử dụng được các Dataset lớn. Tuy nhiên, việc sử dụng Training Dataset 100000 Instances như dữ liệu của em là không cần thiết. Em có thể dùng các thuật toán tiền xử lý để chọn Training Dataset nhỏ hơn từ dữ liệu gốc nhưng vẫn đảm bảo tính chính xác của mô hình.
    Chúc em thành công,
     
    • Điểm chủ đề: 35
  • 03-28-2012 08:49 AM trả lời

    • secret
    • 50 thành viên năng nổ nhất
    • Tham gia 03-28-2012
    • Điểm 140

    Re: Khai phá luật kết hợp với Weka

    Em chào a Chức!
     
    Hiện tại em đang là học viên cao học; và muốn tìm hiểu kỹ về công cụ BI opensource; em đang có ý định tìm hiểu về pentaho.
     
    Anh có thể chỉ cho e cách cài đặt; sử dụng; và vận dụng công cụ này trong khai phá không?
     
    Hiện tại e dùng win7; đã cài máy ảo; và ubuntu để định chạy pentaho; vì pentaho bản dành cho window  phải mất phí; nên em chuyển sang bản opensource;
     
    Nếu anh có tài liệu gì nói về công cụ này; hoặc các kiến thức liên quan thì share cho em với nhé
    • Điểm chủ đề: 35
  • 03-28-2012 10:26 AM trả lời

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

    Re: Khai phá luật kết hợp với Weka

    Chào bạn,
    Tiếc là mình không dùng Pentaho nên không thể giúp bạn được. Mình dùng BI Tools chủ yếu là BIDS của MS và Weka (Opensourse). Theo mình nghĩ thì vấn đề cơ bản khi triển khai các data Mining Model là xác định rõ vấn đề nghiên cứu (cần khai phá tri thức nào) và dữ liệu cần khai phá là gì (nguồn, cấu trúc, kích thước,...) để từ đó chọn model (algorithms) cho phù hợp. Còn BI Tools hiện nay có khá nhiều cả thương mại lẫn miễn phí.
    Chúc bạn thành công
     
    • Điểm chủ đề: 50
  • 10-06-2012 12:05 PM trả lời

    Re: Khai phá luật kết hợp với Weka

    Anh có thể cho em biết sau khi dùng Apriori để có được luật rồi. Mình sẽ làm sao để phân loại một dữ liệu đưa vào.
    • Điểm chủ đề: 20
  • 01-21-2013 04:52 PM trả lời

    • secret
    • 50 thành viên năng nổ nhất
    • Tham gia 03-28-2012
    • Điểm 140

    Re: Khai phá luật kết hợp với Weka

    Chào a Chức.
     
    Anh cho em hỏi kĩ hơn về vấn đề dùng luật kết hợp cho 1 CSDl
    1. Theo em đọc lý thuyết và nhiều ví dụ về luật kết hợp thì dữ liệu cho luật kết hợp là dữ liệu giao dịch (xét theo từng giao dịch) chứ không theo cấu trúc 1 bản ghi trong 1 CSDL bình thường. Tại sao dữ liệu bank của anh ở dạng bảng (csdl quan hệ gồm nhiều trường;nhiều bản ghi) mà weka vẫn đọc được ạ?
     
    2. Thông thường, theo lý thuyết, để tạo ra một luật, thì người ta dựa vào 2 thông số min_sup; và conf_sup; và theo các ví dụ nhỏ thì 2 thông số này do đề bài ra; vậy; với dữ liệu thực tế thì ai đưa ra 2 giới hạn này để mình đưa ra tập phổ biến ạ?
    EM RẤT MONG PHẢN HỒI CỦA ANH; 
     
    CẢM ƠN ANH NHIỀU!
    • Điểm chủ đề: 35
  • 03-14-2013 11:12 PM trả lời

    Re: Khai phá luật kết hợp với Weka

    Anh Chức ơi!
     
    Em đang môn liên quan đến luật này nhưng phải tự nghiên cứu mà không được dạy trên lớp. Chúng em chuẩn bị làm báo cáo và phải xây dựng được chương trình chạy liên quan đến luật này. Anh hướng dẫn em với. Thú thật code em ko biết gì đâu. Bây giờ phải làm thế nào Anh? Anh giúp em với. Em cảm ơn!
    Từ khóa đại diện:
    • Điểm chủ đề: 35
  • 03-15-2013 11:09 AM trả lời

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

    Re: Khai phá luật kết hợp với Weka

    Chào em,
     
    Tài liệu về AR rất nhiều trên Net, em có thể hỏi Mr Google. Còn về Code thì em có thể sử dụng Weka (nguồn mở) hoặc công cụ BIDS của MS. Em có thể tham khảo thêm các bài viết về AR Tools trên Forum này hoặc trên NET
    Chúc em học giỏi
    • Điểm chủ đề: 35
  • 03-15-2013 02:03 PM trả lời

    Re: Khai phá luật kết hợp với Weka

    Vâng. Em cảm ơn Anh nhiều nhé. Em sẽ nghiên cứu và chắc là em sẽ nghiên cứu sâu về AR và sẽ làm đề tài liên quan đến nó. A giúp em với nhé. Em cảm ơn!
    • Điểm chủ đề: 35
  • 03-30-2013 03:41 PM trả lời

    Re: Khai phá luật kết hợp với Weka

    Chào các bạn, mình đã vào forum này nhiều lần. Mình thấy chủ đề về luật kết hợp này rất hữu ích và đọc rất dễ hiểu.
    Trong blog của mình có thêm một số thông tin về luật kết hợp. Các bạn có thể tham khảo thêm. Có phần http://nguyentuananhtn.blogspot.com/2012/10/code-association-rule.html
    Có giới thiệu code tham khảo.
    Chúc các bạn thành công
    • Điểm chủ đề: 20
Trang 1 trong số 1 (16 nội dung)
Powered by Community Server (Commercial Edition), by Telligent Systems