Tiểu luận khai phá dữ liệu: Sử dụng weka để phân lớp trên Dataset SpamBase

17 1.8K 13
Tiểu luận khai phá dữ liệu: Sử dụng weka để phân lớp trên Dataset SpamBase

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Sử dụng weka để phân lớp trên Dataset SpamBase11.Giới thiệu về Dataset SpamBase11.1. Khái niệm về email và spam mail11.2.Giới thiệu về dataset SpamBase.12. Thực hành phân lớp trên weka32.1. Tiền xử lý dữ liệu42.1.1. Nạp dữ liệu42.1.2. Lọc thuộc tính52.2. Phân lớp bằng thuật toán Naive Bayer82.2.1. Thuật toán Naive Bayer82.2.2. Phân lớp trên weka122.2.3. Nhận xét16

Họ và tên: Nguyễn Thị Phượng Lớp hệ thống thông tin 6 Sử dụng weka để phân lớp trên Dataset SpamBase Contents Họ và tên: Nguyễn Thị Phượng .1 Sử dụng weka để phân lớp trên Dataset SpamBase .1 Contents 1 1.Giới thiệu về Dataset SpamBase 2 1.1. Khái niệm về email và spam mail .2 1.2.Giới thiệu về dataset SpamBase .2 2. Thực hành phân lớp trên weka .4 2.1. Tiền xử lý dữ liệu 5 2.1.1. Nạp dữ liệu 5 2.1.2. Lọc thuộc tính 6 2.2. Phân lớp bằng thuật toán Naive Bayer 9 2.2.1. Thuật toán Naive Bayer .9 2.2.2. Phân lớp trên weka .13 2.2.3. Nhận xét 17 1.Giới thiệu về Dataset SpamBase 1.1. Khái niệm về email và spam mail Thư điện tử, hay email (từ chữ electronic mail), đôi khi được dịch không chính xác là điện thư, là một hệ thống chuyển nhận thư từ qua các mạng máy tính. Email là một phương tiện thông tin rất nhanh. Một mẫu thông tin (thư từ) có thể được gửi đi ở dạng mã hoá hay dạng thông thường và được chuyển qua các mạng máy tính đặc biệt là mạng Internet. Nó có thể chuyển mẫu thông tin từ một máy nguồn tới một hay rất nhiều máy nhận trong cùng lúc. Spam mail, còn gọi là thư rác, chính là những email được phát tán một cách rộng rãi không theo bất cứ một yêu cầu nào của người nhận với số lượng lớn. Hiện nay cùng với sự bùng nổ số người sử dụng internet và tất nhiên cùng với nó là những cơ hội quảng cáo .Và từ đây Spam mail đã phát triển nhanh chóng. Các thư rác có thể vô hại nhưng mỗi ngày một người dùng có thể vì các thư rác này mà bị đầy cả một hộp thư, thường gây khó chịu cho người dùng, thậm chí có thể dẫn dụ những người nhẹ dạ, tìm đọc số thẻ tín dụng và các tin tức cá nhân của họ. Do sự gia tăng hàng năm của thư rác, việc phân biệt xem email nào là thư rác, và email nào không phải trở nên cần thiết để tránh những phiền toái trên. 1.2.Giới thiệu về dataset SpamBase. Dataset SpamBase chứa kết quả của cuộc tổng hợp về các thư rác từ bưu điện và các cá nhân nhận được thư rác. Dataset có 58 thuộc tính, trong đó thuộc tính class cuối cùng nhận giá trị 0,1 để xác định xem đó có phải thư rác không. 48 thuộc tính đầu “word_freq_” nói về tỉ lệ % của các từ trong thư phù hợp với nội dung của thuộc tính nhắc đến. Ví dụ: word_freq_address: tỉ lệ % các từ trong thư phù hợp với địa chỉ gửi. 6 thuộc tính tiếp “char_freq_” tỉ lệ phần trăm các kí tự trong thư phù hợp với ký tự nhắc đến trong thuộc tính. 3 thuộc tính tiếp • capital_run_length_average: chiều dài trung bình không bị gián đoạn của chuỗi chữ viết hoa. • capital_run_length_longest: chiều dài lớn nhất không bị gián đoạn của chuỗi chữ viết hoa. • capital_run_length_total: tổng số lượng chữ in hoa trong email Thuộc tính class cuối cùng nhận giá trị 0,1 để xác định xem đó có phải thư rác không. Danh sách 58 thuộc tính: 1.word_freq_make 2.word_freq_address 3.word_freq_all 4.word_freq_3d 5.word_freq_our 6.word_freq_over 7.word_freq_remove 8.word_freq_internet 9.word_freq_order 10.word_freq_mail 11.word_freq_receive 12.word_freq_will 13.word_freq_people 14.word_freq_report 15.word_freq_addresses 16.word_freq_free 17.word_freq_business 18.word_freq_email 19.word_freq_you 20.word_freq_credit 21.word_freq_your 22.word_freq_font 23.word_freq_000 24.word_freq_money 25.word_freq_hp 26.word_freq_hpl 27.word_freq_george 28.word_freq_650 29.word_freq_lab 30.word_freq_labs 31.word_freq_telnet 32.word_freq_857 33.word_freq_data 34.word_freq_415 35.word_freq_85 36.word_freq_technology 37.word_freq_1999 38.word_freq_parts 39.word_freq_pm 40.word_freq_direct 41.word_freq_cs 42.word_freq_meeting 43.word_freq_original 44.word_freq_project 45.word_freq_re 46.word_freq_edu 47.word_freq_table 48.word_freq_conference 49.char_freq_; 50.char_freq_( 51.char_freq_[ 52.char_freq_! 53.char_freq_$ 54.char_freq_# 55.capital_run_length_average 56.capital_run_length_longest 57.capital_run_length_total 58.class 2. Thực hành phân lớp trên weka Sau khi cài đặt xong, mở weka, chọn explorer 2.1. Tiền xử lý dữ liệu 2.1.1. Nạp dữ liệu Thông thường, định dạng chuẩn file dữ liệu của Weka la file ARFF (Attribute Relation File Format), tuy nhiên rất nhiều DBMS và Spreadsheet cho phép tổ chức file dữ liệu dưới dạng file .csv (comma-separated values) và một điều thuận lợi là Weka cho phép đọc dữ liệu từ file .csv. Trong bài này, ta chọn Spambase.arff Sau khi dữ liệu được nạp lên, panel bên trái thể hiện các thuộc tính của file dữ liệu, panel bên phải thể hiện các thống kê tương ứng với thuộc tính bên trái 2.1.2. Lọc thuộc tính Ở bước tiền xử lý này ta sẽ tiến hành loại bỏ những dữ liệu lỗi hoặc những thuộc tính có quá nhiều giá trị rời rạc như trường ID, hoặc những giá trị bất thường. Weka cung cấp cho ta chức năng filter những giá trị lỗi đó. Trên giao diện Weka, chọn choose/Filter/unsupervise/Dicretize/Apply Để xem kết quả lọc tất cả các thuộc tính: Chọn Visualize All Sau quá trình tiền xử lý, ta bước sang phân lớp (classification) 2.2. Phân lớp bằng thuật toán Naive Bayer 2.2.1. Thuật toán Naive Bayer YÊU CẦU BÀI TOÁN Yêu cầu đặt ra là ngăn chặn spam bằng cách phân loại một email gửi đến là spam hay non- spam. Cần đạt được hiệu quả phân loại email thật khả quan. Tuy nhiên cần tuyệt đối tránh lỗi sai cho rằng email non-spam là spam vì có thể gây hậu quả nghiêm trọng hơn là khả năng lọc spam thấp. Do đó yêu cầu đối với hệ thống là phải nhận ra được email spam càng nhiều càng tốt và giảm thiểu lỗi nhận sai email non-spam là email spam. HƯỚNG THỰC HIỆN Ý tưởng của phương pháp là tìm cách xây dựng một bộ phân loại nhằm phân loại cho một mẫu mới bằng cách huấn luyện từ những mẫu có sẵn. Ở đây mỗi mẫu mà ta xét đến chính là mỗi một email, tập các lớp mà mỗi email có thể thuộc về là y={spam, non-spam} Khi ta nhận được 1 email mới gửi đến, khi đó ta dựa vào một số đặc điểm hay thuộc tính nào đó của email để tăng khả năng phân loại chính xác email đó. Các đặc điểm của 1 email như: tiêu đề, nội dung, có tập tin đính kèm hay không… Càng nhiều những thông tin như vậy xác suất phân loại đúng càng lớn, tất nhiên còn phụ thuộc vào kích thước của tập mẫu huấn luyện. Việc tính toán xác suất sẽ dựa vào công thức Naïve Bayes, từ xác suất thu được ta đem so sánh với một giá trị ngưỡng t nào đó mà ta xem là ngưỡng để phân loại email spam hay non-spam. Nếu lớn hơn t thì email đó là spam, ngược lại là non-spam. Như ta đã biết khi phân loại email có hai lỗi : lỗi nhận 1 email non-spam thành spam và lỗi cho qua một email spam. Loại lỗi thứ nhất nghiêm trọng hơn, vì vậy ta xem mỗi một email non-spam như là λ email non-spam. Như vậy khi lỗi nhận 1 email non-spam thành spam xảy ra ta xem như là λ lỗi, và khi phân loại đúng xem như λ lần thành công. Ngưỡng để phân loại t sẽ phụ thuộc và chỉ số λ này. CƠ SỞ LÝ THUYẾT Công thức xác suất có điều kiện Xác suất điều kiện của biến cố A với điều kiện biến cố B đã xảy ra là một số không âm, ký hiệu là P( A/B ) nó biểu thị khả năng xảy ra biến cố A trong tình huống biến cố B đã xảy ra. P( A/B ) = (P( AB ))/(P( B )) Suy ra P( A/B ) . P( B ) = P( B/A ) . P( A ) = P( AB ) Công thức xác suất đầy đủ Giả sử B1, B2, … Bn là 1 nhóm đầy đủ các biến cố. Xét biến cố A sao cho A xảy ra chỉ khi một trong các biến cố B1, B2, … Bn xảy ra. Khi đó : P(A) = ∑ P(Bi) . P(A/Bi) Công thức xác suất Bayes Từ các công thức ở trên ta có công thức xác suất Bayes : P(Bk/A) = (P(ABk) )/(P(A) ) = (P(Bk) .P(A/Bk) )/(ΣP(Bi) .P(A/Bi)) . Họ và tên: Nguyễn Thị Phượng Lớp hệ thống thông tin 6 Sử dụng weka để phân lớp trên Dataset SpamBase Contents Họ và tên: Nguyễn Thị Phượng. 1. điều kiện biến cố B đã xảy ra là một số không âm, ký hiệu là P( A/B ) nó biểu thị khả năng xảy ra biến cố A trong tình huống biến cố B đã xảy ra. P( A/B )

Ngày đăng: 03/12/2013, 20:56

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan