Với một tập các dữ liệu huấn luyện cho trớc và sự huấn luyện của con ng-ời, các giải thuật phân loại sẽ học ra bộ phân loại classifier dùng để phâncác dữ liệu mới vào một trong những lớp
Trang 1MỤC LỤC
LỜI NÓI ĐẦU 3
Ch¬ng I Giíi thiÖu 5
1 Khai ph¸ d÷ liÖu 5
2 C¸c bµi to¸n th«ng dông trong khai ph¸ d÷ liÖu 6
3 øng dông cña khai ph¸ d÷ liÖu 6
4 Nh÷ng th¸ch thøc trong khai ph¸ d÷ liÖu 7
5 C¸c bíc khai ph¸ d÷ liÖu 7
Ch¬ng II C¸c gi¶i thuËt khai ph¸ d÷ liÖu trªn SQL Server 2005 9
1 ThuËt to¸n Microsoft Naive Bayes 9
a Giíi thiÖu 9
b Nguyªn t¾c c¬ b¶n cña gi¶i thuËt 9
c C¸c tham sè cña thuËt to¸n 14
2 ThuËt to¸n Microsoft Decision Tree 15
a Gíi thiÖu 15
b Nguyªn t¾c c¬ b¶n cña gi¶i thuËt 16
c C¸c tham sè cña thuËt to¸n 25
3 ThuËt to¸n Microsoft Time Series 27
a Giíi thiÖu 27
b Nguyªn lý c¬ b¶n cña thuËt to¸n 28
c C¸c tham sè cña thuËt to¸n 32
Ch¬ng III. Thùc hiÖn khai ph¸ d÷ liÖu b»ng wizard trªn m«i trêng Business Intelligence Development Studio (BIDS) 34
1 Giíi thiÖu Business Intelligence Development Studio 34
a Immediate Mode 34
b Offline Mode 35
c ThiÕt lËp Data sources vµ Data Source View 37
2 T¹o vµ huÊn luyÖn m« h×nh khai ph¸ d÷ liÖu 39
a Kh¸i niÖm m« h×nh khai ph¸ d÷ liÖu 39
Trang 2b Tạo mô hình bằng wizard 40
c Tạo mô hình bằng các câu lệnh truy vấn DMX 45
Chơng IV Xây dựng ứng dụng khai phá dữ liệu 53
I ứng dụng dự đoán giá cổ phiểu của tập đoàn Microsoft 53
1 Định nghĩa vấn đề 53
2 Chuẩn bị dữ liệu 53
3 Khám phá dữ liệu 56
4 Xây dựng mô hình 57
5 Khai thác và đánh giá mô hình 58
6 Xây dựng ứng dụng Predict Stock Microsoft 62
II ứng dụng xác định khách hàng cho công ty Adventrure Work 64
1.Định nghĩa vấn đề 64
2 Chuẩn bị dữ liệu 65
3 Khám phá dữ liệu 66
4 Xây dựng mô hình 66
5 Khai thác và đánh giá mô hình 67
6 Xây dựng ứng dụng Adventure Work 67
Chơng V Kết luận 69
TàI LIệU THAM KHảO 69
LỜI NểI ĐẦU Sự phát triển nhanh chóng của các ứng dụng công nghệ thông tin (CNTT) và Internet vào nhiều lĩnh vực đời sống xã hội: quản lý kinh tế, khoa học kỹ thuật đã tạo ra nhiều cơ sở dữ liệu (CSDL) khổng lồ Ví dụ, 2
Trang 3-CSDL của siêu thị Walmart (Mỹ) chứa hơn 20 triệu giao tác; -CSDL nhânkhẩu của TPHCM với hơn 5 triệu nhân khẩu
Sự phong phú của dữ liệu, cùng với việc thiếu vắng một công cụ phântích dữ liệu mạnh đã đợc miêu tả nh là một hoàn cảnh giàu dữ liệu nhngnghèo thông tin Hậu quả là, các quyết định quan trọng thờng đợc đa rakhông dựa trên dữ liệu giàu thông tin đợc lu trữ trong cơ sở dữ liệu mà dựatrên cảm tính cả nhà đa ra quyết định, đơn giản là vì ngời đa ra quyết địnhkhông có công cụ để triết ra tri thức có giá trị đợc nhúng trong lợng lớn dữliệu Theo đánh giá của IBM, các phơng pháp khai phá thông tin truyềnthống chỉ thu đợc khoảng 80% thông tin từ CSDL, phần còn lại bao gồmcác thông tin mang tính khái quát, thông tin có tính qui luật vẫn còn tiềm ẩntrong CSDL Lợng thông tin này tuy nhỏ nhng là những thông tin cốt lõi vàcần thiết cho quá trình ra quyết định
Từ đó, SQL Server 2005 đã ra đời với dịch vụ phân tích dữ liệuAnalysis Service tích hợp sẵn các kỹ thuật khai phá dữ liệu (KPDL) đợc cậpnhật và năng cấp từ phiên bản SQL Server 2000 Giúp cho việc KPDL trởnên dễ dàng và hiệu quả hơn, đó là nền tảng để xây dựng các ứng dụng th-
Và tôi xin chân thành cảm ơn thầy giáo TS đã giúp đỡ tôi hoàn thànhnội dung này
Trang 4Data mining là quá trình tìm kiếm các mẫu mới, những thông tintiềm ẩn mang tính dự đoán trong các khối dữ liệu lớn Những công cụ datamining có thể phát hiện những xu hớng trong tơng lai, các tri thức mà datamining mang lại cho các doanh nghiệp có thể ra các quyết định kịp thời vàtrả lời những câu hỏi trong lĩnh vực kinh doanh mà trớc đây tốn nhiều thờigian để xử lý Với u điểm trên, Data mining đã chứng tỏ đợc tính hữu dụngcủa nó trong môi trờng kinh doanh đầy tính cạnh tranh ngày nay và đợc ứngdụng rộng rãi trong các lĩnh vực thơng mại, tài chính, điều trị y học, giáodục, viễn thông v.v.
4
Trang 5-KPDL là tiến trình khái quát các sự kiện rời rạc trong dữ liệu thành các tri thức mang tính khái quát, tính qui luật hỗ trự tích cực cho các tiến trình ra quyết định.
Nguồn dữ liệu phục vụ cho KPDL có thể là các CSDL lớn hay các khodữ liệu có hay không có cấu trúc Nói nh vậy không có nghĩa là KPDL khôngthể thực hiện ở các CSDL nhỏ, KPDL chỉ thực sự phát huy tác dụng trên cácCSDL lớn, nơi mà khả năng diễn dịch cũng nh các kỹ thuật truyền thốngkhông thể thực hiện nổi hoặc nếu thực hiện đợc thì hiệu quả không cao
Nhìn chung, các tác vụ KPDL có thể đợc phân thành hai loại: miêu tả
và dự báo Các tác vụ khai phá miêu tả thì mô tả các đặc tính chung của dữ
liệu trong CSDL, các tác vụ khai phá dự báo thực hiện việc suy luận trên dữliệu hiện thời để đa ra các dự báo
2 Các bài toán thông dụng trong khai phá dữ liệu
Trong KPDL, các bài toán có thể phân thành bốn loại chính
Bài toán thông dụng nhất trong KPDL là Phân lớp (Classification).
Với một tập các dữ liệu huấn luyện cho trớc và sự huấn luyện của con
ng-ời, các giải thuật phân loại sẽ học ra bộ phân loại (classifier) dùng để phâncác dữ liệu mới vào một trong những lớp (còn gọi là loại) đã đợc xác
định trớc Nhận dạng cũng là một bài toán thuộc kiểu Phân loại
Với mô hình học tơng tự nh bài toán Phân loại, lớp bài toán Dự
đoán (Prediction) sẽ học ra các bộ dự đoán Khi có dữ liệu mới đến, bộ dự
đoán sẽ dựa trên thông tin đang có để đa ra một giá trị số học cho hàm cần
dự đoán Bài toán tiêu biểu trong nhóm này là dự đoán giá sản phẩm đểlập kế hoạch trong kinh doanh
Các giải thuật Tìm luật liên kết (Association Rule) tìm kiếm các
mối liên kết giữa các phần tử dữ liệu, ví dụ nh nhóm các món hàng ờng đợc mua kèm với nhau trong siêu thị
Các kỹ thuật Phân cụm (Clustering) sẽ nhóm các đối tợng dữ
liệu có tính chất giống nhau vào cùng một nhóm Có nhiều cách tiếp cậnvới những mục tiêu khác nhau trong phân loại
3
ứ ng dụng của khai phá dữ liệu
KPDL đợc ứng dụng rộng rãi trong nhiều lĩnh vực nh:
A Ngân hàng
- Xây dựng ứng dụng dự báo rủi ro tín dụng
Trang 6- Tìm kiếm tri thức, qui luật của thị trờng chứng khoán và đầu t bất
4 Những thách thức trong khai phá dữ liệu
KPDL phải làm việc với khối dữ liệu lớn và nhiều nguồn dữ liệu khácnhau (CSDL, Internet, các loại thiết bị thu thập tín hiệu, các loại thiết bịnhận dạng, các loại thiết bị lu trữ ) nên vấn đề tốc độ xử lý là vấn đề cầnquan tâm trớc nhất Có hai hớng để giải quyết vấn đề này là nâng cao nănglực của phần cứng và cải tiến phần mềm, trong đó việc nghiên cứu đề xuấtcác thuật toán hiệu quả có khả năng làm việc trên khối dữ liệu lớn và có độphức tạp tính toán thấp là một hớng nghiên cứu đầy tiềm năng Từ nhu cầuthực tế trên, gần đây đã xuất hiện nhiều ngành khoa học công nghệ hỗ trợKPDL, nh máy tính toán song song, máy tính lợng tử, công nghệ nano, pháttriển thuật toán Và đặc biệt là các kỹ thuật phân tích với các thuật toántiên tiến tích hợp sẵn trên dịch vụ phân tích dữ liệu (Analysis Services)trong SQL Server 2005
Trang 7-H×nh 1.1: C¸c
bíc thùc hiÖn mét t¸c vô KPDL
Trang 8
Chơng II
Các giải thuật khai phá dữ liệu trên SQL Server 2005
Microsoft SQL Server 2005 Analysis Service (MSSAS) hỗ trợ thêm chochức năng khai thác thông tin (Business Intelligent), khả năng mở rộng giatăng, tính sẵn có và bảo mật cho các giải pháp Business Intelligent trong khilàm cho chúng dễ tạo, dễ triển khai và dễ quản lý
Microsoft khi phát triển SQL Server 2005 AS, họ đã hoàn thiện các thuậttoán thờng sử dụng trong KPDL một cách hoàn chỉnh nhất so với SQL Server
2000 AS , bao gồm : MS(Microsoft) Naive Bayes, MS Decision Tree , MSClustering, MS time series, MS Sequence Clustering, MS Neural Network
Trong phạm vi của đề tài tôi xin trình bày 3 thuật toán: MS NaiveBayes, MS Decsion Tree và thuật toán mới MS Time Series
1 Thuật toán Microsoft Naive Bayes
b Nguyên tắc cơ bản của giải thuật
Thuật toán tính xác suất có điều kiện các trạng thái của mỗi cột đầuvào với mỗi trạng thái của cột dự báo
Định nghĩa về xác suất có điều kiện nh sau:
Xác suất của biến cố A với điều kiện biến cố B xảy ra đợc ký hiệu P(A/B) và
P(A/B)=
) (
) (
B P
AB P
8
Trang 9-Ví dụ : Trong chiến lợc quảng cáo về mẫu xe đạp mới của phòng
Marketing thuộc công ty Adventure Works Cycle, họ quyết định dùng cáchphát tờ rơi Để giảm chi phí, họ muốn chỉ gửi đến những khách hàng quantâm đến mặt hàng này
Công ty đã lu thông tin về những đặc điểm của khách hàng mua sảnphẩm của công ty trong một vài năm trớc đây (cơ sở dữ liệu đính kèm bộcài SQL Server 2005) Họ muốn sử dụng dữ liệu này để thấy các đặc điểm
nh tuổi hay vùng có thể giúp họ dự đoán sự hởng ứng của khách hàng vớichiến dịch quảng cáo, bằng cách xem xét những ngời đã từng mua haykhông mua xe đạp tại công ty chủ yếu là thuộc độ tuổi nào, khoảng cách từnhà đến nơi làm việc bao nhiêu xa Đặc biệt, họ muốn thấy đợc sự khácnhau giữa đặc điểm của các khách hàng đã mua và không mua xe đạp củacông ty nh thế nào?
Bằng cách sử dụng thuật toán MS Naive Bayes để xây dựng mô hìnhkhai phá, phòng Marketing có thể nhanh chóng đa ra kế hoạch quảng cáocủa mình
Xây dựng mô hình TM Naive Bayes với cấu trúc nh sau:
Bảng 2.1: Cấu trúc của mô hình TM Naive Bayes
Thuộc tính dự đoán BikeBuyer với hai trạng thái 0 và 1 tơng ứng với
sự không mua và mua xe của khách hàng
Nh đã nói ở trên: Thuật toán tính xác suất có điều kiện các trạng tháicủa mỗi cột đầu vào với mỗi trạng thái của cột dự báo Trong ví dụ này với cột
đầu vào CommuteDistance, từ cở sở dữ liệu về 18484 khách hàng của công ty ta
có bảng thống kế sau:
Trang 10CommuteDistance Số ngời mua Số ngời không mua
Bảng 2.2: Số khách hàng với thuộc tính CommuteDistance
Gọi A là biến cố ngời đó thuộc nhóm khách hàng có khoảng cách từnhà đế chỗ làm việc từ 0-1 Miles B1 là biến cố ngời đó mua xe đạp, thuậttoán MS Naive Bayes sẽ tính xác suất
P1(A/B1) =
) (
) (
1
1
B P
AB P
=
18484 : 9132
18484 : 3538
= 0,387Nếu vẫn gọi A là biến cố nh trên, B2 là biến cố ngời đó không mua xe
đạp, ta có:
P2(A/B2) =
) (
) (
2
2
B P
AB P
=
18484 : 9352
18484 : 2772
=0,296
Nh vậy, trong số những ngời mua xe đạp của công ty, chọn ra một
ng-ời thì xác suất ngng-ời đó đi từ nhà tới chỗ làm việc từ 0-1 Miles là 0,387 Vàvới những khách hàng không mua xe đạp của công ty, chọn ra một kháchhàng thì xác suất ngời đó đi từ nhà đến chỗ làm việc từ 0-1 Miles là 0,296
Tơng tự với các trạng thái khác của thuộc tính đầu vào CommuteDistance ta có bảng sau:
CommuteDistance P1(A/B1) P2(A/B2)
Bảng 2.3: Xác suất có điều kiện các trạng thái của CommuteDistance
Hoàn toàn tơng tự với thuộc tính CommuteDistance, xét với cácthuộc tính còn lại trong mô hình ta đợc kết quả nh các kết quả hiển thị ởMicrosoft Naive Bayes Viewer trong Business Intelligence DevelopmentStudio
10
Trang 11-Hình 2.1: Xác suất có điều kiện trên MS Naive Bayes Viewer.
Dựa vào các xác suất này chúng ta có thể thấy đợc trạng thái của củathuộc tính đầu vào nào giúp cho phân biệt đợc các trạng thái của thộc tính dựbáo Xét với 1000 khách hàng mua xe và 1000 khách hàng không mua xe,chúng ta có 387 khách hàng mua xe đi làm từ 0-1 Miles, cũng với khoảngcách này có 296 khách hàng không mua xe tại công ty Theo đó, với trạngthái 0-1 Miles của thuộc tính CommuteDistance chúng ta có số chênh lệchgiữa số khách hàng mua và số khách hàng không mua xe tại công ty là 387-
ơng tự với các trạng thái của các thuộc tính đầu vào ta có hình sau:
Trang 12Hình 2.2:Hai trạng thái của thuộc tính CommuteDistance
Nh vậy, trong chiến lợc quảng cáo của phòng Marketing của công tyAdventure Works Cycle, họ sẽ chủ yếu phát tờ rơi cho những ngời đi từ 0-1Miles để làm việc và hạn chế phát tờ rơi cho những ngời phải đi trên 10Miles để làm việc
c Các tham số của thuật toán
Thuật toán MS Navie Bayes khá đơn giản, vì vậy không có nhiềutham số Các tham số đảm bảo thuật toán hoàn thành trong một lợng thờigian hợp lí
MAXIMUM_INPUT_ATTRIBUTES : xác số thuộc tính đầu vàolớn nhất Nếu nh số thuộc tính đầu vào lớn hơn giá trị của tham số, thuậttoán sẽ chọn số đầu vào bằng giá trị này Thiết lập tham số này bằng 0 đểthuật toán tính đên tất cả các thuộc tính đầu vào Giá trị mặc định là 255
MAXIMUM_OUTPUT_ATTRIBUTES : xác định số thuộc tính
đầu ra lớn nhất Nếu mô hình có số đầu ra lớn hơn giá trị của tham số, thuậttoán sẽ chọn số đầu ra bằng giá trị này Thiết lập tham số này bằng 0 để thuậttoán tính đến tất cả đầu ra Giá trị mặc định là 255
MAXIMUM_STATES : chỉ ra số trạng thái lớn nhất của mộtthuộc tính đợc tính đến Nếu một thuộc tính có số trạng thái lớn hơn giá trịcủa tham số, thuật toán sẽ chọn số trạng thái bằng giá trị của tham số này.Tham số này đợc sử dụng khi một thuộc tính có nhiều trạng thái , chẳng
12
Trang 13-hạn nh mã bu điện Cũng nh các tham số khác, thiết lập bằng 0 xét đến tấtcả các trạng thái Giá trị mặc định là 100.
MINIUMUM_DEPENDENCY_PROBABILITY: là một số từ 0
đến 1, giá trị của tham số này đợc thiết lập để giới hạn kích thớc của nộidung mô hình đợc tạo ra bởi thuật toán Giá trị này lớn thì sẽ giảm số thuộctính trong nội dung của mô hình Giá trị mặc định là 0.5
2 Thuật toán Microsoft Decision Tree
a Gới thiệu
MS Decision Tree đợc cung cấp bởi MSSAS, là thuật toán phổ biếnnhất trong KPDL Thuật toán này hỗ trợ xử lý cả thuộc tính rời rạc và thuộctính liên tục Thuật toán đợc sử dụng để thực hiện cả tác vụ phân loại và hồiquy, trong đó tác vụ phân loại phổ biến hơn
Cây quyết định có thể xử lý tốt một lợng dữ liệu lớn trong thời gianngắn để cho phép các nhà chiến lợc đa ra quyết định dựa trên phân tích củacây quyết định Và việc chuẩn bị dữ liệu cho một cây quyết định là khôngcần thiết, trong khi các kỹ thuật khác thờng đòi hỏi chuẩn hóa dữ liệu (phântách một bảng có cấu trúc phức tạp thành những bảng có cấu trúc đơn giản
đảm bảo không bị mất thông tin và giảm không gian lu trữ) và loại bỏ cácgiá trị rỗng
Cây quyết định là một flow-chart có cấu trúc cây Trong đó mỗi nodebiểu diễn giá trị của mỗi thuộc tính đầu vào và node lá đại diện cho cácphân loại còn các nhánh đại diện cho luật kết hợp các thuộc tính dẫn tớiphân loại đó
Cây quyết định cũng là một phơng tiện có tính mô tả cho việc tínhcác xác suất có điều kiện
b Nguyên tắc cơ bản của giải thuật
Nguyên tắc cơ bản của giải thuật cây quyết định là chia dữ liệu mộtcách đệ quy từ trên xuống và theo cách thức chia để trị thành các tập hợp con
- Ban đầu toàn bộ dữ liệu ở gốc,
- Chọn thuộc tính phân loại tốt nhất( mục đích làm tối thiểuhóa, chẳng hạn tối thiểu chiều cao của cây)
- Dữ liệu đợc phân chia theo các trạng thái của thuộc tính đợcchọn
Lặp lại quá trình trên với tập dữ liệu ở mỗi nút vừa tạo ra Điều kiện đểdừng phân chia là:
Trang 14- ở một nút tất cả phần tử của dữ liệu tại nút đó thuộc về cùngmột lớp.
- Không còn thuộc tính nào để thực hiện phân chia tiếp
- Số lợng phần tử của dữ liệu tại một nút bằng không, trongthực tế tập dữ liệu đầu vào rất lớn, với điều kiện dừng này cây quyết địnhthu đợc rất phức tạp, với những đờng đi dài Để tránh hiện tợng này trongthuật toán MS Decision tree, đã tích hợp tham số MINIMUM_SUPPORT
để thiết lập giá trị ngỡng, không chia một nút nếu tạo ra nút có số phần tửnhỏ hơn ngỡng này
Để chọn thuộc tính hữu ích nhất, chúng ta cần một đại lợng mà có thể
đánh giá trờng hợp nào cho ra một sự phân chia cân bằng nhất (với chiều sâu
và chiều rộng của cây) Thuật toán MS Decision tree cung cấp 3 phơng pháptính điểm để đo độ lợi thông tin: Entropy, Bayesian with K2 Prior vàBayesian Dirichlet Equivalent with Uniform prior
Phơng pháp tính điểm Entropy:
Phơng pháp tính điểm này dựa trên công thức tính Entropy trong lýthuyết thông tin của nhà vật lý, toán học Shannon Lý thuyết thông tin củaShannon vào năm 1948 cung cấp khái niệm entropy để đo tính hỗn loạn củamột tập hợp Một tập hợp là thuần nhất nếu tất cả các phần tử của tập hợp
đều thuộc cùng một loại, và khi đó độ hỗn loạn của tập hợp này thấp nhất.Khi tập hợp thuần nhất thì ta biết chắc chắn về giá trị của một phân tử cầnphần loại có thuộc về tập này hay không? hay ta có lợng thông tin về tập đó
là cao nhất, và ngợc lại, khi tập hợp có độ hỗn loạn cao nhất, thì ta khôngthể cho biết chính xác phần tử kiểm tra thuộc loại nào? hay lợng thông tin
ta có đợc về tập này là thấp ít nhất
Giả sử một tập dữ liệu S có hai lớp: lớp N và lớpP, với n phần tử thuộclớp N và p phần tử thuộc lớp P Entropy đo độ hỗn loạn của tập S nh sau:
Entropy(S) = - log2( )
p n
n p
p p
n
p
= -p1log2p1 - p2log2p2.với p1=n n p
là xác suất phần tử bất kỳ thuộc lớp N,
p2= n p p
là xác suất phần tử bất kỳ thuộc lớp P
14
Trang 15-Một cách tổng quát hơn, nếu S có c lớp, và pi là xác suất của mộtphần tử trong tập dữ liệu thuộc lớp thứ i, thì ta có công thức tính entropytổng quát:
c i
là độ lợi thông tin Vậy, điều ta mong muốn ở đây là làm sao chọn đợc
thuộc tính mà sau khi phân chia chúng ta đợc các tập con thuần nhất, càngnhanh càng tốt Tức là chọn thuộc tính mang lại độ lợi thông tin lớn nhất
Giả sử khi ta sử dụng thuộc tính A có v trạng thái{ S1, S2, , Sv},entropy của tập dữ liệu sau khi phân chia trên thuộc tính này là:
Entropy(A) =
v k
k S
S
1 | |
|
|Entropy(Sk)
với |Sk| là số phần tử thuộc trạng thái Sk của thuộc tính A và |S| là sốphần tử của tập dữ liệu S
Và độ lợi thông tin có đợc bởi việc phân nhánh trên thuộc tính A là:
Gain(A) = Entropy(S) - Entropy(A)Chúng ta có thể minh họa nguyên tắc của thuật toán qua việc xét ví dụ:Phòng Marketing của công ty Adventure Works Cycle muốn dự đoánmột khách hàng với những đặc điểm đợc xác định có mua xe tại công tyhay không?, dựa vào những đặc điểm của các khách hàng đã mua sản phẩmcủa công ty đợc lu trong cơ sở dữ liệu Bằng cách sử dụng thuật toán MSDecision tree để phân tích những thông tin này, phòng Marketing có thểxây dựng một mô hình khai phá có cấu trúc:
Bảng 2.5: Cấu trúc mô hình TM Decision Tree
Từ dữ liệu của công ty ta có các bảng sau;
0-1 Miles 1-2 Miles 2-5 Miles 5-10 10+ Miles
Trang 16Bảng 2.7: Sự phân loại theo thuộc tính Age
Hình 2.4: Biểu đồ thể hiện sự phân loại theo thuộc tính Age
1-2 Miles
2-5 Miles
5-10 Miles
10+
Miles
Not Buyer Buyer
Trang 17Bảng 2.8: Sự phân loại theo thuộc tính Number Car Owner
Hình 2.5: Biểu đồ thể hiện sự phân loại theo thuộc tính Number Car
Trang 18Hình 2.6: Biểu đồ thể hiện sự phân loại theo thuộc tính Total Children
Trong các bảng trên mỗi cột là một trạng thái của thuộc tính đầu vào,mỗi dòng là một trạng thái của thuộc tính dự đoán, mỗi ô là số khách hàngthỏa mãn mối tơng quan giữa một trạng thái của thuộc tính đầu vào với mộttrạng thái của thuộc tính dự đoán Các biểu đồ biểu diễn tơng quan đó Cộtmàu đỏ biểu diễn số khách hàng mua xe và cột màu xanh biểu diễn sốkhách hàng không mua
Dữ liệu của công ty gồm có 18484 khách hàng trong đó có 9132 ngờimua xe, 9352 ngời không mua, nên entropy của tập dữ liệu này là:
3538
log2(
2772 3538
3538
) -
2772 3538
2772
log2(
2772 3538
1529
log2(
703 1 1529
1529
) -
703 1 1529
1703
log2(
703 1 1529
1703
) = 0,9979
Trang 19Từ các kết quả trên ta thấy thuộc tính Age có độ lợi thông tin lớnnhất, nên thuộc tính này sẽ đợc chọn để rẽ nhánh Dữ liệu đợc chia thành 10tập con tơng ứng với 10 nút, thuật toán sẽ lặp lại quá trình trên cho mỗi nútvừa đợc tạo ra để tiếp tục phát triển cây
Xây dựng mô hình trên trong môi trờng BI và chọn phơng pháp tính
điểm là Entropy, thực hiện khai phá mô hình chúng ta có thể sử dụng tab
Mining Model Viewer để quan sát kết quả.
Hình 2.7: Cây quyết định với phơng pháp tính điểm Entropy
Trang 20Tuy nhiên với phơng pháp tính điểm này còn có một số hạn chế, nó
có xu hớng thiên về chọn những thuộc tính có nhiều trạng thái khác nhau
Ví dụ sự phân chia trên tập thuộc tính Customer_ID sẽ cho một lợng lớncác tập con thuần nhất, mỗi tập con chỉ chứa duy nhất một bộ Entropy củathuộc tính này bằng 0 và độ lợi thông tin có đợc bởi việc phân nhánh trênthuộc tính Customer_ID là lớn nhất Rõ ràng, phép phân chia trên là khônghữu dụng MS Decision tree mặc định sử dụng phơng pháp tính điểmBayesian Dirichlet Equivalent with Uniform prior Và kết quả của mô hìnhvới phơng pháp tính điểm mặc định nh sau
Hình 2.8: Cây quyết định với phơng pháp tính điểm mặc định
Hình trên biểu diễn mô hình cây quyết định cho một khách hàng mua
xe tại công ty Adventure Works Cycle, cây đợc đặt nằm ngang với nút gốcnằm phía bên trái nhất và hộp thoại Mining Legned biểu diễn thông tin củamột nút Ta thấy cây này có độ rộng nhỏ hơn nhng có chiều sâu lớn hơn sovới cây đợc tạo ra bằng phơng pháp tính điểm Entropy Mỗi đờng đi từ nút
gốc đến một nút định dạng một luật, nh luật tại nút Number Cars
20
Trang 21-Owned=4 sẽ là Number Cars Owned = 4 (đợc chỉ ra ở góc dới bên trái của
hộp thoại Mining Legned) Mỗi nút chứa một biểu đồ hình cột đại diện cho
tỉ lệ các trạng thái của thuộc tính dự đoán thỏa mãn luật tại nút đó (nh hìnhtrên màu xanh biểu diễn số ngời không mua, màu đỏ nhạt biểu diễn số ngờimua xe) Khi một nút đợc chọn trên hộp thoại Mining Legned sẽ hiển thịtổng số phần tử, số phần tử của mỗi trạng thái của thuộc tính dự đoán thỏamãn luật tại nút đó và xác suất tơng ứng (nh đã nói ở phần trên, cây quyết
định cũng là một phơng tiện có tính mô tả cho việc tính các xác suất có điều
kiện) Trong hình trên, nút đợc chọn là Number Car Owned=4, ở hộp thoại
Mining Legend cho thấy tổng số khách hàng có Number Car Owned=4 là
1261 trong đó có 466 ngời mua xe, 795 ngời không mua với xác suất tơng ứng
là 62,98 % và 36,95 % Các xác suất này đợc tính nh sau:
Gọi A là biến cố ngời đó mua xe, B là biến cố ngời đó có Number CarOwned = 4 Vậy xác suất ngời đó sẽ mua xe nếu ngời đó có Number CarOwned = 4 là:
P(A/B) =
) (
) (
B P
AB P
=
18484 :
1261
18484 :
) (
B P
CB P
=
18484 : 1261
18484 :
795
63,05 %
Dựa vào cây quyết định trên Mining Model Viewer phòng Marketing
có thể xác định một khách hàng có xác suất sẽ mua xe và không mua xe làbao nhiêu, chẳng hạn với khách hàng có Number Car Owned =4 thì xácsuất ngời này không mua lớn hơn xác suất mua xe (kết quả trên), từ đóphòng Marketing có kế hoạch không nên chú trọng đến những khách hàngnày
Nh vậy, cây quyết định giúp ta nhanh chóng biểu diễn dữ liệu phứctạp thành một cấu trúc đơn giản hơn rất nhiều
c Các tham số của thuật toán
Có một số tham số của giải thuật đó là các tham số giúp kiểm soát sựphát triển của cây, hình dạng cây, các thiết lập cho các thuộc tính đầu vào,
Trang 22trị của tham số này để giảm khả năng phân chia Giá trị mặc định của tham
số này phụ thuộc vào số lợng các thuộc tính đầu vào của một mô hình:
là 100, khi cây sinh ra các nút, nút nào có tổng số khách hàng thỏa mãn luật
ở nút đó nhỏ hơn 100 thì sự phân chia này không đợc chấp nhận Thông ờng tập dữ liệu huấn luyện có nhiều bản ghi thì nên tăng giá trị này lên đểtránh trờng hợp Overtraning Giá trị mặc định bằng 10
th- Score_Method có giá trị dạng số nguyên Đợc dùng để xác
định phơng pháp tính độ lợi thông tin cho các thuôc tính tại mỗi nút trongkhi phát triển cây, đã đợc nhắc đến trong phần trớc
- Thiết lập bằng 1 để chọn phơng pháp Entropy
- Thiết lập bằng 3 để chọn phơng pháp Bayesian with K2 Prio
- Mặc định thiết lập bằng 4 để chọn phơng pháp BayesianDirichlet Equivalent with Uniform prior
Split_Method có giá trị dạng số nguyên Đợc dùng để chỉ rahình dạng của cây cần xây dựng, ví dụ là cây nhị phân hay cây có hìnhdạng phức tạp Chẳng hạn xét sự phân chia bởi thuộc tính Tuổi có ba trạngthái: trẻ, trung tuổi và già
- Thiết lập bằng 1 để chỉ ra cây có dạng nhị phân Tức thuậttoán phải tách ra thành hai nút với lựa trọng trạng thái là: trẻ và không trẻ
- Thiết lập bằng 2 để không hạn chế số phân chia Tức là thuậttoán phân tách thành 3 nút với các trạng thái: trẻ, trung tuổi và già
- Mặc định thiết lập bằng 3, để thuật toán chọn số phân chiatối u nhất
Maximum_Input_Attribute xác định số đầu vào lớnnhất Giả sử thiết lập giá trị của tham số này bằng g và số thuộc tính đầuvào lớn hơn g, thì thuật toán chỉ chọn g đầu vào có độ phụ thuộc với thuộctính đầu ra lớn nhất dựa trên sự đánh giá của số entropy Giá trị mặc địnhbằng 255
Maximum_Output_Attribute xác định số đầu ra lớnnhất Nếu thiết lập giá trị của tham số này bằng g và số thuộc tính đầu ra
22
Trang 23-lớn hơn g, thì thuật toán chỉ chọn g đầu ra mà độ phụ thuộc của các thuộctính đầu vào với nó lớn nhất dựa trên sự đánh giá của số entropy Giá trịmặc định bằng 255 .
Force_Regressor là tham số chỉ sử dụng cho cây hồi quy
Đợc sử dụng để chỉ ra các thuộc tính là nhân tố hồi quy
3 Thuật toán Microsoft Time Series
a Giới thiệu
MS Time series là một thuật toán hồi quy đợc dùng để tạo mô hình
dự đoán các cột có giá trị liên tục, chẳng hạn giá cổ phiếu của một công ty
Thuật toán Time Series của Microsoft đợc xây dựng để giải quyếtnhững vấn đề này Đây là thuật toán mới so với các thuật toán trong phiênbản SQL Sever 2000
Một time series là một chuỗi dữ liệu đợc thống kê theo thời gian
Nh Hình 2.10 biểu diễn time series giá cổ phiếu lúc đóng cửa của tập
đoàn Microsoft đợc thống kê sau một năm
Hình 2.9: Time series giá cổ phiếu của Microsoft
b Nguyên lý cơ bản của thuật toán
Thuật toán Time Series là một sự kết hợp giữa kỹ thuật cây quyết
định và sự tự hồi quy Vì vậy nó còn có tên là ART (AutoRegression Cây tự hồi quy) Mô hình sử dụng thuật toán Time series phải chứa một cộtkhóa thời gian (key time), cột này sẽ đợc mô hình dùng để xác định cáckhoảng thời gian (time slices)
Trang 24Tree-Ví dụ trong time series giá cổ phiếu (lúc mở cửa, lúc cao nhất, lúcthấp nhất, lúc đóng cửa) của tập đoàn Microsoft đợc thống kê từ 19/02/2008
đến ngày 13/02/2009 :
Hình 2.10: Bảng giá cổ phiếu của Microsoft
Thì các time slices đợc xác định nh sau:
Hình 2.10: Các Time Slices đợc thuật toán xác định.
Tự hồi quy (Autoregression)
Tự hồi quy là một kỹ thuật phổ biến để xử lý time series Một môhình tự hồi quy là một hàm thể hiện mối liên hệ giữa giá trị của biến phụthuộc với giá trị quá khứ của nó:
Xt = f(Xt-1, Xt-2, Xt-3,…, Xt-n) + t
24
Trang 25-Trong đó Xt : là giá trị của time series tại thời điểm t cần biết,
n : là bậc của mô hình hồi quy
t : là sai số hay độ nhiễu
Một trong những bớc quan trọng của ART là quá trình chuyển đổi dữliệu Quá trình này đợc mình họa nh hình dới đây, bảng bên trái chứa 4 timeseries: giá cổ phiếu lúc mở cửa, lúc cao nhất, lúc thấp nhất, lúc đóng cửahàng ngày của tập đoàn Microsoft, bảng bên phải là dữ liệu đã đợc chuyển
đổi gồm có 9 cột: cột đầu tiên là Case id, cột thứ hai là giá cổ phiếu lúc mở
cửa vào ngày t-1 (t-1 là một time slot), cột thứ hai là giá cổ phiếu lúc mở cửa
ở time slot t0, tơng tự với các cột còn lại Open(t-1), High(t-1), Low(t-1),Close(t-1) đợc xem là các biến hồi quy Mỗi dòng trong bảng bên phải biểudiễn một case Thuật toán MS Time series mặc định sử dụng 8 time slot choquá trình chuyển đổi dữ liệu
Hình 2.11: Quá trình chuyển đổi dữ liệu
Mục đích của thuật toán time series là tìm ra hàm f.
Nếu f là hàm tuyến tính thì ta có:
Xt = a1 Xt-1 + a2 Xt-2 + a3Xt-3+…+ anXt-n + t
Trong đó ai là các hệ số
* Cây tự hồi quy: tơng tự nh cây quyết định là một flow-chart, trong
đó các nút biểu diễn nhãn của các phần tử thuộc nút đó, đờng đi từ gốc tớimột nút hình thành một luật và mỗi nút lá tơng ứng với một công thức hồi
Trang 26quy.Hình dới đây hiển thị một cây hồi quy đợc xây dựng trên dữ liệu của ví dụtrên:
Hình 2.11: Cây hồi quy trên dữ liệu time series
Sự phân chia của cây dựa trên Close(t-1), nếu tại thời điểm khảo sát t,giá cổ phiếu ở thời điểm t-1 mà lớn hơn hoặc bằng 19.271 thì giá cổ phiếulúc đóng cửa đợc tính theo công thức hồi quy: Close = -1.665 + 1.405 *High(- 1) -0.357 * Close(-1)
Khi thực hiện xây dựng mô hình nếu time slot nào không có ý nghĩathì sẽ bị loại bỏ (mô hình trên chỉ sử dụng time slot t-1), và khi kiểm địnhcông thức hồi quy ở mỗi nút lá biến giải thích nào không có ý nghĩa cũng đ-
ợc bỏ qua (ở đây chỉ có High(-1) và Close(-1)) Công thức hồi quy trên códạng Close = c + a*High(-1) + b*Close(-1)
1
20.52 20.67
1
20.33 20.4
1
19.44 19.68
1
19.34 19.49
Trang 27c Các tham số của thuật toán
Ngoài hai tham số Minimum_Support và COMPLEXITY_PENALTY nh thuật toán cây quyết định, thuật toán MS Time series còn hỗtrợ các tham số:
Historical_Model_Count: đợc sử dụng với kiểu Integer
Nó xác định số mô hình quá khứ( historic models) sẽ đợc xây dựng Mặc
định là 1
Historical_Model_Gap: có kiểu Integer Tham số này cóquan hệ với Historical_Model_Count Nó xác định khoảng thời gian giữa
hai historical model liên tiếp nhau Ví dụ : cho tham số này bằng g, theo đó
khoảng cách các historical model cách nhau lần lợt là: g, 2*g,3*g… Mặc
định là 10
Hình c.1: Hiển thị thiết lập Historical_Model_Count = 4, Historical_Model_Gap= 30
Hình 2.12: Các mô hình quá khứ
Khi mô hình xử lý nó chứa 5 mô hình quá khứ, mô hình đầu tiên kết
thúc tại Time-120, và mô hình cuối cùng kết thúc tại Now (thời điểm hiện
tại) Khi dự đoán giá trị tại thời gian -100 nó sử dụng hoàn toàn mô hình
đầu tiên, khi dự đoán tại thời gian -70, nó sử dụng hoàn toàn mô hình thứhai
Trang 28 Minimum_Series_Value: Xác định cận dới cho giá trị dự
đoán Giá trị dự đoán sẽ không bao giờ nhỏ hơn giá trị này
28
Trang 29-Chơng III
Thực hiện khai phá dữ liệu bằng wizard trên môi
trờng Business Intelligence Development Studio (BIDS)
1.
Giới thiệu Business Intelligence Development Studio
BIDS là một môi trờng đợc tích hợp vào Microsoft Visual Studio(VS) khi cài đặt SQL Server 2005 để ngời dùng dễ dàng sử dụng các công
cụ data mining một cách trực quan và dễ dàng Khi làm việc bên trong VS,một dự án data mining là mộtphần của một tập hợp các dự án đợc gọi làmột “giải pháp” (“solution”)
BIDS là tập hợp những công cụ thiết kế để tạo mô hình, huấn luyệnmô hình và khai phá mô hình Từ BIDS, ta có thể tạo và hiệu chỉnh các đốitợng AS (Analysis Services) (dịch vụ phân tích) trong 1 dự án, và triển khai
dự án đó thích hợp với server AS hoặc các server khác
BIDS làm việc theo 2 mô hình xử lý: Immediate Mode và OfflineMode, mỗi mô hình có những u điểm và nhợc điểm riêng
a Immediate Mode
Khi bạn làm việc trong Immediate Mode, bạn đợc kết nối trực tiếp vàliên tục với Analysis Services server Khi bạn mở một đối tợng, nh một cấutrúc KTDL, có nghĩa là bạn đang mở chúng trực tiếp trên server Khi bạnthay đổi và lu chúng, đối tợng sẽ thay đổi trực tiếp trên server Thậm chímột ngời dùng khác có thể thay đổichúng khi bạn đang mở đối tợng đó
Ưu điểm của Immediate Mode là tính bảo mật Để làm việc trongImmediate- Mode bạn phải có quyền Database Administrator cho phép bạnthay đổi hay tạo mới đối tợng
Để làm việc trong Immediate Mode, bạn theo các bớc sau:
- Mở BIDS
- Từ menu File, chọn Open/Analysis Services Database; dialog
nh hình 3.1 xuất hiện
Trang 30
Hình 3.1: Dialog chọn chê độ làm việc Immediate Mode
- Nhập tên server và tên CSDL bạn muốn kết nối, nếu muốn tạoCSDL mới bạn chọn Create new database
Để mở một dự án KTDL trong BIDS trớc tiên bạn phải chạy các dịch
vụ SQL server, SQL server analysis services, SQL server browser trong
SQL server, sau đó bạn theo các bớc sau:
- Mở BIDS
30