Phân loại là một chức năng của khai phá dữ liệu , dùng để chỉ định các đối tượng trong một tập vào các lớp hoặc loại đối tượng khác nhau.. Xây dựng mô hìnhMỗi bộ/mẫu dữ liệu được phân và
Trang 1CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
BÀI THU HOẠCH MÔN HỌC KHAI PHÁ DỮ LIỆU
Giảng viên hướng dẫn: PGS.TS.Đỗ Phúc
Sinh viên thực hiện: Nguyễn Thị Phúc Triêm
Mã số: CH1101051
TP HCM, năm 2012
Trang 2Lời nói đầu
Từ sự xuất hiện cách mạng thông tin, cách mạng tri thức và sự bùng nổ công nghệ cao, con người cần luôn đổi mới, phát huy mạnh mẽ năng lực sáng tạo để luôn đổi mới quốc gia, hội nhập vào nền kinh tế, tri thức toàn cầu Bên cạnh đó việc khai thác dữ liệu là một công nghệ mới mạnh mẽ với tiềm năng lớn để giúp các công ty tập trung vào các thông tin quan trọng nhất trong các dữ liệu mà họ đã thu thập được về hành vi của khách hàng và các khách hàng tiềm năng Giúp phát hiện ra các thông tin ẩn trong dữ liệu mà các truy vấn và các báo cáo không thể tiết lộ được, từ cơ sở đó đưa ra những quyết định quan trọng.
Một trong những kỹ thuật phổ biến trong khai phá dữ liệu để tìm các mẫu dữ liệu ẩn là phân tích phân lớp, được sử dụng để dự đoán thành viên nhóm cho các trường hợp dữ liệu Trong xu thế phát triển chung đó em xin trình bày phần tìm hiểu nhỏ của mình trong kỹ thuật phân lớp khai phá dữ liệu.
Chúng em xin được gửi lời cám ơn chân thành đến phó Giáo sư-Tiến sỹ Đỗ Phúc, người
đã tận tâm truyền đạt những kiến thức nền tảng cơ bản cho chúng em về môn học “Khai phá dữ liệu” Xin cảm ơn ban cố vấn học tập và ban quản trị Chương trình đào tạo thạc sỹ Công nghệ thông tin qua mạng của Đại Học Quốc Gia Thành phố Hồ Chí Minh đã tạo điều kiện cho chúng
em hoàn thành tốt môn học.
Trang 3I Tổng quan về phân lớp
1 Phân lớp là gì?
Phân loại là một chức năng của khai phá dữ liệu , dùng để chỉ định các đối tượng trong một tập vào các lớp hoặc loại đối tượng khác nhau Mục tiêu của việc phân lớp là dự đoán lớp chính xác cho từngtrường hợp trong dữ liệu Ví dụ, một mô hình phân loại có thể được sử dụng để xác định khoản vay tín dụng của người dùng có độ rủi ro là trung bình, thấp, hoặc cao
Một tác vụ phân lớp bắt đầu với một tập dữ liệu, trong đó bao gồm nhãn phân lớp cho mỗi mẫu dữ liệu và một tập các mẫu dữ liệu huấn luyện Ví dụ, một mô hình phân loại dự báo rủi ro tín dụng có thể được phát triển dựa trên các dữ liệu quan sát các thông tin vay tín dung qua một khoảng thời gian.Ngoài việc xếp hạng tín dụng lịch sử, các dữ liệu có thể theo dõi quá trình làm việc, quyền sở hữu hoặc thuê nhà, số năm cư trú và số lượng, loại hình đầu tư, v.v Xếp hạng tín dụng sẽ là mục tiêu chính, các thuộc tính khác sẽ là dự đoán kèm theo, và các dữ liệu cho mỗi khách hàng sẽ là một trường hợp
Phân lớp được ứng dụng nhiều trong phân khúc khách hàng, mô hình kinh doanh, tiếp thị, phân tích tín dụng, mô hình y sinh học, chuẩn đoán y khoa, phân tích hiệu quả điều trị và phản ứng thuốc…
3 Tiến trình phân lớp
Tiến trình phân lớp gồm 2 bước
Trang 4a Xây dựng mô hình
Mỗi bộ/mẫu dữ liệu được phân vào một lớp được xác định trước
Lớp của một bộ/mẫu dữ liệu được xác định bởi thuộc tính gán nhãn lớp
Tập các bộ/mẫu dữ liệu huấn luyện - tập huấn luyện - được dùng để xây dựng mô hình
Mô hình được biểu diễn bởi các luật phân lớp, các cây quyết định hoặc các công thức toán học
b Sử dụng mô hình
Phân lớp cho những đối tượng mới hoặc chưa được phân lớp
Đánh giá độ chính xác của mô hình
lớp biết trước của một mẫu/bộ dữ liệu đem kiểm tra được so sánh với kết quả thu được từ mô hình
Tỉ lệ chính xác = phần trăm các mẫu/bộ dữ liệu được phân lớp đúng bởi mô hình trong số các lần kiểm tra
4 Ví dụ về qui trình phân lớp
a Xây dựng mô hình
Trang 5Dữ liệu mới được phân loại dựa trên tập huấn luyện
b Học không có giám sát (phân cụm)
Không biết các nhãn phân lớp của dữ liệu huấn luyệnCho một tập các phép đo, quan sát,… với mục đích thiết lập sự tồn tại của các lớp hoặc cụm dữ liệu
Trang 66 Các vấn đề liên quan đến phân lớp
a Chuẩn bị dữ liệu
Làm sạch dữ liệu: xử lý dữ liệu để giảm nhiễu và xử lý các giá trị bị thiếuPhân tích sự liên quan (tính năng lựa chọn): Hủy bỏ các thuộc tính không liên quan hoặc dư thừaChuyển đổi dữ liệu: Khái quát và (hoặc) bình thường hóa dữ liệu
b Đánh giá các phương pháp phân lớp
Tiên đoán chính xácTốc độ và khả năng mở rộng:
Thời gian để xây dựng mô hình
Thời gian sử dụng mô hình
Bền vững: xử lý nhiễu và giá trị thiếuKhả năng mở rộng (co giãn): hiệu quả trong cơ sở dữ liệu đĩa thường trú
Có thể biễu diễn được: hiểu biết và nhìn sâu sắc bằng mô hìnhLuật dễ làm:
Quyết định kích thước cây
Luật phân lớp chắc và gọn
II Phân lớp theo cây quyết định
1 Cây quyết định
Cây quyết định là một cây trong đó
nút trong = một phép kiểm tra trên một thuộc tính
nhánh của cây = đầu ra của một phép kiểm tra
nút lá = nhãn phân lớp hoặc sự phân chia vào lớp
2 Tạo cây quyết định
Hai giai đoạn tạo cây quyết định:
xây dựng cây
Trang 7o bắt đầu, tất cả các mẫu huấn luyện đều ở gốc
o phân chia các mẫu dựa trên các thuộc tính được chọn
o kiểm tra các thuộc tính được chọn dựa trên một độ đo thống kê hoặc heuristic
Trang 8Cây quyết định thu được cho “người mua máy tính”
4 Rút luật phân lớp từ cây quyết định
Mỗi một đường dẫn từ gốc đến lá trong cây tạo thành một luật
Mỗi cặp giá trị thuộc tính trên một đường dẫn tạo nên một sự liên
Nút lá giữ quyết định phân lớp dự đoán
Các luật tạo được dễ hiểu hơn các cây
Trong ví dụ trên :
IF age < 30 AND student = yes
THEN buys_computer
Trang 95 Các thuật toán trên cây quyết định
a Thuật toán cơ bản (thuật toán tham lam)
Xây dựng một cây đệ quy phân chia và xác định đặc tính từ trên xuống Bắt đầu, tất cả các dữ liệu huấn luyện đều ở gốc
Thuộc tính được phân loại (nếu là giá trị liên tục, giá trị này phải được phân chia trước)Các dữ liệu được phân chia đệ quy dựa trên các thuộc tính được lựa chọn
Thuộc tính thử nghiệm được lựa chọn trên cơ sở của một biện pháp phỏng đoán hay thống kê (thông tin đạt được)
Điều kiện dừng phân vùng:
Tất cả các mẫu cho một nút cho trước đều thuộc về cùng một lớp
Không còn thuộc tính còn lại nào cho việc phân thêm vùng
Không có mẫu còn lại
6 Các độ đo lựa chọn thuộc tính
Độ lợi thông tin (information gain) (ID3/C4.5)
Giả định tất cả các thuộc tính đều được phân loại
Có thể sửa đổi các thuộc tính có giá trị liên tục
Chỉ số Gini (IBM IntelligentMiner)
Tất cả các thuộc tính được cho là có giá trị liên tục
Giả sử mỗi thuộc tính tồn tại các giá trị phân chia có thể
Có thể cần các công cụ khác, như phân cụm, để có được các giá trị có thể phân chia
Có thể được sửa đổi phân loại của các thuộc tính
a Độ lợi thông tin
Chọn thuộc tính có chỉ số có độ lợi thông tin lớn nhất
Cho P và N là hai lớp và S là một tập dữ liệu có p phần tử lớp P và n phần tử lớp N Khối lượng thông tin cần thiết để quyết định một mẫu tùy ý có thuộc về lớp P hay N hay không là
Trang 10• Cho mỗi Si chứa pi mẫu lớp P and ni mẫu lớp N
• entropy, hay thông tin mong muốn cần thiết để phân lớp các đối tượng trong tất cả các cây con Si
Gain( A )=I( p,n)−E( A )
14 I(3,2)=0.69
Gain(age)=I ( p,n)−E (age)
Gain(income )=0 029 Gain(student )=0 151
Trang 11b Chỉ số Gini (IBM Intelligent Miner)
Nếu một tập hợp dữ liệu T có chứa các mẫu từ n lớp, chỉ số Gini ( gini (T)) được định nghĩa là
Với pj là tần số tương đối của lớp j trong T
Nếu một tập hợp dữ liệu T được chia thành hai tập con T1 và T2 tương ứng với kích thước N1 và N2,chỉ số Gini của dữ liệu chia chứa các mẫu từ n lớp, chỉ số Gini (T) được định nghĩa là
Thuộc tính có ginisplit(T) nhỏ nhất được chọn để phân chia các nút (cần phải kê khai tất cả các điểm
chia tách có thể cho mỗi thuộc tính)
7 Trích xuất các luật phân lớp từ cây
Dùng luật IF-THEN để thể hiện
Một luật được tạo ra cho mỗi con đường từ nút gốc đến nút lá
Mỗi cặp thuộc tính-giá trị dọc theo một đường đi hình thành một liên từ
Nút lá nắm giữ dự đoán lớp
Các luật giúp con người dễ hiểu hơn
Ví dụ
IF age = “<=30” AND student = “no” THEN buys_computer = “no”
IF age = “<=30” AND student = “yes” THEN buys_computer = “yes”
IF age = “31…40” THEN buys_computer = “yes”
IF age = “>40” AND credit_rating = “excellent” THEN buys_computer = “yes”
IF age = “>40” AND credit_rating = “fair” THEN buys_computer = “no”
Trang 12 Độ chính xác kém cho những mẫu chưa biết
Lý do overfit
Dữ liệu nhiễu và tách rời khỏi nhóm
Dữ liệu huấn luyện quá ít
Các giá trị tối đa cục bộ trong tìm kiếm tham lam (greedy search)
Hai hướng tránh overfitting
rút gọn trước: ngừng sớm
rút gọn sau: loại bỏ bớt các nhánh sau khi xây xong toàn bộ cây
III Phân lớp theo Bayes
1 Thuật toán Bayes
Thuật toán Naive Bayes dựa trên xác suất có điều kiện Nó sử dụng Định lý Bayes, một công thức tính toán xác suất bằng cách đếm tần số của các giá trị và sự kết hợp của các giá trị trong dữ liệu lịch sử
Định lý Bayes tìm thấy xác suất của một sự kiện đang xảy ra được xác định xác suất của một sự kiện
đã xảy ra Nếu B đại diện cho các sự kiện phụ thuộc và A đại diện cho các sự kiện đã xảy ra trước, định lý Bayes 'có thể được quy định như sau
Prob (B cho A) = Prob (A và B) / Prob (A)
Để tính toán xác suất của B cho A, thuật toán đếm số lượng các trường hợp A và B xuất hiện cùng nhau và chia nó bởi số lượng các trường hợp A xảy ra một mình
Giả sử bạn muốn xác định khả năng rằng một khách hàng dưới 21 tuổi sẽ tăng chi tiêu Trong trường hợp này, điều kiện trước (A) sẽ là dưới 21 tuổi, và tình trạng phụ thuộc (B) sẽ là tăng chi tiêu
Nếu có 100 khách hàng trong dữ liệu huấn luyện và 25 người trong số họ là những khách hàng dưới
21 tuổi đã tăng chi tiêu, ta có:
Trang 13Nếu 75 trong 100 khách hàng dưới 21 tuổi, ta có:
Prob (A) = 75%
Định lý Bayes sẽ dự đoán 33% khách hàng dưới 21 tuổi có khả năng tăng chi tiêu (25/75)
Các trường hợp cả hai điều kiện xuất hiện cùng nhau được gọi là cặp Trong ví dụ này, 25% của tất cảcác trường hợp được gọi cặp
Các trường hợp chỉ có các sự kiện trước đó xảy ra được gọi là singleton Trong ví dụ này, 75% của tất
cả các trường hợp là singleton
Trang 142 Tại sao phân lớp theo Bayes
Học theo xác suất:
Tính các xác suất rõ ràng cho các giả thiết
Một trong những hướng thiết thực cho một số vấn đề thuộc loại học
Có tăng trưởng:
Mỗi mẫu huấn luyện có thể tăng/giảm dần khả năng đúng của một giả thiết
Tri thức ưu tiên có thể kết hợp với dữ liệu quan sát
Dự đoán theo xác suất:
Dự đoán nhiều giả thiết, trọng số cho bởi khả năng xảy ra của chúng
Trang 15Nếu thuộc tính thứ i là rời rạc:
P(x i |C) được ước lượng bởi tần số liên quan của các mẫu có giá trị x i cho thuộc tính thứ i trong lớp C
Nếu thuộc tính thứ i là liên tục:
P(x i |C) được ước lượng thông qua một hàm mật độ Gaussian
Tính toán dễ dàng trong cả hai trường hợp
Ví dụ:
Outlook Temperature Humidity Windy Class
Trang 16P(p) = 9/14
P(n) = 5/14
outlook
P(sunny|p) = 2/9 P(sunny|n) = 3/5 P(overcast|p) = 4/9 P(overcast|n) = 0 P(rain|p) = 3/9 P(rain|n) = 2/5 temperature
P(hot|p) = 2/9 P(hot|n) = 2/5 P(mild|p) = 4/9 P(mild|n) = 2/5 P(cool|p) = 3/9 P(cool|n) = 1/5 humidity
P(high|p) = 3/9 P(high|n) = 4/5 P(normal|p) = 6/9 P(normal|n) = 2/5 windy
P(true|p) = 3/9 P(true|n) = 3/5 P(false|p) = 6/9 P(false|n) = 2/5
Trang 17Xét mẫu khơng nhìn thấy X = <rain, hot, high, false>
P(X|p)·P(p) = P(rain|p)·P(hot|p)·P(high|p)·P(false|p)·P(p) = 3/9·2/9·3/9·6/9·9/14 = 0.010582
P(X|n)·P(n) = P(rain|n)·P(hot|n)·P(high|n)·P(false|n)·P(n) = 2/5·2/5·4/5·2/5·5/14 = 0.018286
Mẫu X được phân vào lớp n (don’t play)
4 Phân lớp Nạve Bayesian –giả thuyết độc lập
… làm cho cĩ thể tính tốn
… cho ra bộ phân lớp tối ưu khi thỏa yêu cầu
… nhưng yêu cầu ít khi được thỏa trong thực tế vì các thuộc tính (các biến) thường cĩ liên quan với nhau
Trang 18Bảng xác suất có điều kiện cho biến Ung thư phổi
Mạng niềm tin Bayesian cho phép có tập hợp con của các biến điều kiện là độc lập
Một mô hình đồ họa thể hiện mối quan hệ nhân quả
Một số trường hợp học được từ mạng niềm tin Bayesian:
Bệnh khí thủng Ung thư phổi
Khó thở PositiveXRay
(~FH, ~S) (~FH, S)
(FH, ~S) (FH, S)
0.9
0.1 0.3
0.7 0.5
0.5 0.2
0.8
~LC LC
Trang 19 Dễ dàng với cấu trúc mạng và tất cả các biến
Cấu trúc mạng nhưng chỉ có một số biến
Khi không biết trước cấu trúc mạng
IV Các hướng phân lớp khác
Mạng Neural Phân lớp k láng giềng gần nhất Suy luận dựa vào trường hợp Thuật toán di truyền
Hướng tập thô Các hướng tập mờ
V Chương trình phân lớp Bayes
1 Chọn file dữ liệu huấn luyện
Trang 20Dòng đầu tiên là tên thuộc tính, cột ngoài cùng bên phải là tên lớp
Các cột (trừ cột cuối cùng) đều là dữ liệu thuộc tính Cột cuối cùng thể hiện dữ liệu lớp
Trang 21Sau khi load file dữ liệu, chương trình sẽ kiếm các mẫu chưa có, đồng thời tính toán các giá trị xác suất cơ bản tương ứng với từng lớp và từng thuộc tính
Trang 22Để tính toán kết quả cho các mẫu chưa thấy ta chọn mẫu và click vào nút “Đánh giá” Kết quả và quá trình tính toán của mẫu thử được thể hiện bên phải như hình dưới
Trang 23VI Tài liệu tham khảo
http://docs.oracle.com/cd/B28359_01/datamine.111/b28129/classify.htmhttp://docs.oracle.com/cd/B28359_01/datamine.111/b28129/algo_nb.htmwww.cs.nyu.edu/courses/spring08/G22.3033-003/6class.ppt
http://en.wikipedia.org/wiki/Naive_Bayes_classifier
http://paul.luminos.nl/document/198