1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL server 2005 và ứng dụng

60 1,5K 4

Đ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

Thông tin cơ bản

Tiêu đề Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL Server 2005 và ứng dụng
Trường học Trường Đại Học Công Nghệ Thông Tin - ĐHQG TP.HCM
Chuyên ngành Khai phá dữ liệu và hệ quản trị cơ sở dữ liệu
Thể loại Đề án tốt nghiệp
Thành phố TP.HCM
Định dạng
Số trang 60
Dung lượng 1,42 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

MỤ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 2

b 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 4

Data 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 10

CommuteDistance 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 12

Hì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 16

Bả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 17

Bả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 18

Hì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 19

Từ 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 20

Tuy 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 22

trị 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 24

Tree-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 26

quy.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 27

c 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

Ngày đăng: 19/06/2014, 20:55

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Các - Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL server 2005 và ứng dụng
Hình 1.1 Các (Trang 5)
Hình 2.1: Xác suất có điều kiện trên MS Naive Bayes Viewer. - Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL server 2005 và ứng dụng
Hình 2.1 Xác suất có điều kiện trên MS Naive Bayes Viewer (Trang 9)
Hình 2.2:Hai trạng thái của thuộc tính CommuteDistance - Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL server 2005 và ứng dụng
Hình 2.2 Hai trạng thái của thuộc tính CommuteDistance (Trang 10)
Bảng 2.7: Sự phân loại theo thuộc tính Age - Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL server 2005 và ứng dụng
Bảng 2.7 Sự phân loại theo thuộc tính Age (Trang 14)
Bảng 2.8: Sự phân loại theo thuộc tính Number Car Owner - Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL server 2005 và ứng dụng
Bảng 2.8 Sự phân loại theo thuộc tính Number Car Owner (Trang 15)
Bảng 2.9: Sự phân loại theo thuộc tính Total Children - Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL server 2005 và ứng dụng
Bảng 2.9 Sự phân loại theo thuộc tính Total Children (Trang 15)
Hình 2.7: Cây quyết định với phơng pháp tính điểm Entropy - Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL server 2005 và ứng dụng
Hình 2.7 Cây quyết định với phơng pháp tính điểm Entropy (Trang 17)
Hình 2.8: Cây quyết định với phơng pháp tính điểm mặc định - Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL server 2005 và ứng dụng
Hình 2.8 Cây quyết định với phơng pháp tính điểm mặc định (Trang 18)
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 - Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL server 2005 và ứng dụng
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 (Trang 21)
Hình 2.11: Cây hồi quy trên dữ liệu time series - Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL server 2005 và ứng dụng
Hình 2.11 Cây hồi quy trên dữ liệu time series (Trang 24)
Hình c.1: Hiển thị thiết lập Historical_Model_Count = 4,  Historical_Model_Gap= 30. - Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL server 2005 và ứng dụng
Hình c.1 Hiển thị thiết lập Historical_Model_Count = 4, Historical_Model_Gap= 30 (Trang 25)
Hình 3.1: Dialog chọn chê độ làm việc Immediate Mode - Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL server 2005 và ứng dụng
Hình 3.1 Dialog chọn chê độ làm việc Immediate Mode (Trang 28)
Hình 3.2 Tạo mới project ở chế độ Offline Mode - Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL server 2005 và ứng dụng
Hình 3.2 Tạo mới project ở chế độ Offline Mode (Trang 29)
Hình 3.3: Thay đổi  Server đích. - Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL server 2005 và ứng dụng
Hình 3.3 Thay đổi Server đích (Trang 30)
Hình 3.4: Data View với bảng giá cổ phiếu của Microsoft - Đồ án tốt nghiệp đại học các giải thuật khai phá dữ liệu trên SQL server 2005 và ứng dụng
Hình 3.4 Data View với bảng giá cổ phiếu của Microsoft (Trang 32)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w