Đồ á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

58 1,364 2
  • Loading ...
    Loading ...
    Loading ...

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

Tài liệu liên quan

Thông tin tài liệu

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

MC LC LI 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) 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ụ, CSDL của siêu thị Walmart (Mỹ) chứa hơn 20 triệu giao tác; CSDL nhân khẩ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ân tích dữ liệu mạnh đã đợc miêu tả nh là một hoàn cảnh giàu dữ liệu nhng nghèo thông tin. Hậu quả là, các quyết định quan trọng thờng đợc đa ra không dựa trên dữ liệu giàu thông tin đợc lu trữ trong cơ sở dữ liệu mà dựa trên cảm tính cả nhà đa ra quyết định, đơn giản là vì ngời đa ra quyết định khô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ền thống chỉ thu đợc khoảng 80% thông tin từ CSDL, phần còn lại bao gồm cá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 ẩn trong CSDL. Lợng thông tin này tuy nhỏ nhng là những thông tin cốt lõi 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ệu Analysis Service tích hợp sẵn các kỹ thuật khai phá dữ liệu (KPDL) đợc cập nhật năng cấp từ phiên bản SQL Server 2000. Giúp cho việc KPDL trở - 1 - nên dễ dàng hiệu quả hơn, đó là nền tảng để xây dựng các ứng dụng th- ơng mại thông minh. Để chúng ta hiểu rõ hơn về vấn đề này, tôi sẽ trình bày chi tiết trong nội dung đề tài của mình: Tìm hiểu các giải thuật khai phá dữ liệu trên SQL Server 2005 ứng dụng. Do đây là lĩnh vực mới nên còn nhiều hạn chế về tài liệu, kiến thức nên không tránh khỏi những thiếu sót. Rất mong đợc sự đóng góp ý kiến của các thầy cô giáo các bạn. tôi xin chân thành cảm ơn thầy giáo TS. đã giúp đỡ tôi hoàn thành nội dung này. - 2 - Chơng I Giới thiệu 1. Khai phá dữ liệu Khai phá dữ liệu (Data Mining) là tiến trình khám phá các tri thức tiềm ẩn trong các cơ sở dữ liệu. Cụ thể hơn đó là tiến trình trích lọc, sản sinh những tri thức hoặc những mẫu tiềm ẩn, cha biết nhng hữu ích từ các cơ sở dữ liệu lớn. Data mining là quá trình tìm kiếm các mẫu mới, những thông tin tiềm ẩn mang tính dự đoán trong các khối dữ liệu lớn. Những công cụ data mining có thể phát hiện những xu hớng trong tơng lai, các tri thức mà data mining mang lại cho các doanh nghiệp có thể ra các quyết định kịp thời 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ời gian để xử lý. Với u điểm trên, Data mining đã chứng tỏ đợc tính hữu dụng của nó trong môi trờng kinh doanh đầy tính cạnh tranh ngày nay đợc ứng dụ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áo dục, viễn thông v.v. 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 kho dữ liệu có hay không có cấu trúc. Nói nh vậy không có nghĩa là KPDL không thể thực hiện ở các CSDL nhỏ, KPDL chỉ thực sự phát huy tác dụng trên các CSDL lớn, nơi mà khả năng diễn dịch cũng nh các kỹ thuật truyền thống khô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ả 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 sự huấn luyện của con ng- - 3 - ời, các giải thuật phân loại sẽ học ra bộ phân loại (classifier) dùng để phân cá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 th- ờ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ận vớ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. - Tìm kiếm tri thức, qui luật của thị trờng chứng khoán đầu t bất động sản. - Phát hiện dùng thẻ tín dụng giả trên mạng là công cụ hữu ích cho dịch vụ quản lý rủi ro cho thơng mại điện tử. B. Thơng mại điện tử: - Xây dựng công cụ tìm hiểu, định hớng thúc đẩy, giao tiếp với khách hàng. - Phân tích việc mua sắm trên mạng cho biết thông tin tiếp thị phù hợp với loại khách hàng trong một phân khu thị trờng nhất định. C. Nhân sự - Giúp nhà tuyển dụng chọn ứng viên thích hợp nhất cho nhu cầu của công ty. 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 nhiều nguồn dữ liệu khác nhau (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ần quan tâm trớc nhất. Có hai hớng để giải quyết vấn đề này là nâng cao năng - 4 - lực của phần cứng cải tiến phần mềm, trong đó việc nghiên cứu đề xuất cá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 độ 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ầu thự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át triển thuật toán đặc biệt là các kỹ thuật phân tích với các thuật toán tiê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. 5. Các b ớc khai phá dữ liệu Một tập dữ liệu, bằng cách nào đó mà ta có , nhằm khai thác dữ liệu một cách hiệu quả phục vụ cho công việc. Ta tiến hành theo 6 bớc sau: 1. Định nghĩa vấn đề 2. Chuẩn bị dữ liệu 3. Khám phá dữ liệu 4. Xây dựng mô hình 5. Khai thác đánh giá mô hình 6. Triển khai mô hình nâng cấp mô hình Hình 1.1: Các bớc thực hiện một tác vụ KPDL - 5 - 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 cho chức năng khai thác thông tin (Business Intelligent), khả năng mở rộng gia tăng, tính sẵn có bảo mật cho các giải pháp Business Intelligent trong khi làm cho chúng dễ tạo, dễ triển khai dễ quản lý. Microsoft khi phát triển SQL Server 2005 AS, họ đã hoàn thiện các thuật toá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 , MS Clustering, 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 Naive Bayes, MS Decsion Tree thuật toán mới MS Time Series. 1. Thuật toán Microsoft Naive Bayes a. Giới thiệu Thuật toán MS Naive Bayes là một thuật toán phân loại đợc Microsoft SQL Server 2005 cung cấp để sử dụng trong mô hình KPDL. Khi mô hình KPDL sử dụng thuật toán này, chúng ta có thể xác định một số thuộc tính đầu vào giúp việc phân loại các trạng thái của thuộc tính dự đoán tốt nhất, giả sử rằng các thuộc tính độc lập với nhau. Do giả thiết này nên thuật toán có tên là Naive Bayes. Thuật toán MS Naive Bayes xây dựng mô hình khai phá nhanh hơn các thuật toán khác. Thuật toán này chỉ hỗ trợ các thuộc tính rời rạc (discrete, ví dụ: Gới tính), nếu tạo một mô hình Naive Bayes với thuộc tính liên tục (continuous) sẽ sinh ra lỗi. 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 đầu và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) P(A/B)= )( )( BP ABP - 6 - 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ách phát tờ rơi. Để giảm chi phí, họ muốn chỉ gửi đến những khách hàng quan tâ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ản phẩ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ới chiến dịch quảng cáo, bằng cách xem xét những ngời đã từng mua hay khô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ác nhau giữa đặc điểm của các khách hàng đã mua không mua xe đạp của cô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ình khai phá, phòng Marketing có thể nhanh chóng đa ra kế hoạch quảng cáo của mình. Xây dựng mô hình TM Naive Bayes với cấu trúc nh sau: Structure TM Naive Bayes CommuteDistance Input BikeBuyer Predict Age Input CustomerKey Key Education Input Gender Input House Owner Flag Input Marital Status Input Number Car Owner Input Number Children At Home Input Occupation (Nghề nghiệp) Input Region Input Total Children Input 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 1 tơng ứng với sự không mua 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ái củ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: - 7 - CommuteDistance Số ngời mua Số ngời không mua 0-1 Miles (6310) 3538 2772 1-2 Miles (3232) 1529 1703 2-5 Miles (3234) 1839 1395 5-10 Miles (3214) 1318 1896 10+ Miles (2494) 908 1586 Tổng =18484 9132 9352 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. B 1 là biến cố ngời đó mua xe đạp, thuật toán MS Naive Bayes sẽ tính xác suất P 1 (A/B 1 ) = )( )( 1 1 BP ABP = 18484:9132 18484:3538 = 0,387 Nếu vẫn gọi A là biến cố nh trên, B 2 là biến cố ngời đó không mua xe đạp, ta có: P 2 (A/B 2 ) = )( )( 2 2 BP ABP = 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 ngời đó đi từ nhà tới chỗ làm việc từ 0-1 Miles là 0,387. với những khách hàng không mua xe đạp của công ty, chọn ra một khách hà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 P 1 (A/B 1 ) P 2 (A/B 2 ) 0-1 Miles 0,387 0,296 1-2 Miles 0,167 0,182 2-5 Miles 0,201 0,149 5-10 Miles 0,144 0,203 10+ Miles 0,099 0,170 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ác thuộ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 Development Studio. - 8 - 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ủa thuộ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 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ảng cách này có 296 khách hàng không mua xe tại công ty. Theo đó, với trạng thái 0-1 Miles của thuộc tính CommuteDistance chúng ta có số chênh lệch giữa số khách hàng mua số khách hàng không mua xe tại công ty là 387- 296 = 91 khách hàng, tơng tự với các trạng thái khác ta có bảng: CommuteDistance Số ngời mua Số ngời không mua Chênh lệch 0-1 Miles 387 296 91 1-2 Miles 201 149 52 2-5 Miles 167 182 -15 5-10 Miles 144 203 -59 10+ Miles 99 170 -71 Bảng 2.4: Xét với 1000 khách hàng Vậy với trạng thái 0-1 Miles phân biệt giữa các khách hàng mua không mua xe rõ nhất, trạng thái 10+ Miles phân biệt giữa khách hàng không mua khách hàng mua xe tại công ty rõ ràng nhất, điều này đợc thể hiện ở Tab Attribute Discrimination trong Microsoft Naive Bayes Viewer . T- ơ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: - 9 - 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 ty Adventure Works Cycle, họ sẽ chủ yếu phát tờ rơi cho những ngời đi từ 0-1 Miles để làm việc hạn chế phát tờ rơi cho những ngời phải đi trên 10 Miles để 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ều tham số. Các tham số đảm bảo thuật toán hoàn thành trong một lợng thời gian hợp lí. MAXIMUM_INPUT_ATTRIBUTES : xác số thuộc tính đầu vào lớ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ật toá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ật toá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ật toá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ột thuộ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. - 10 - [...]... Tạo huấn luyện mô hình khai phá dữ liệu a Khái niệm mô hình khai phá dữ liệu Một mô hình KPDL có thể xem nh một bảng quan hệ Nó bao gồm các cột khóa (key columns), các cột dữ liệu nhập (input columns), các cột dự báo (predictable columns) Mỗi mô hình KPDL tơng ứng với một thuật toán KPDL mà mô hình KPDL sẽ đợc huấn luyện trên thuật toán đó Huấn luyện mô hình KPDL nghĩa là tìm các mẫu trong tập dữ. .. đến khi bạn triển khai chúng (deploy) tới server đích mà bạn lựa chọn Điều này cho phép bạn thiết kế thử các mô hình trên một server dùng để test trớc khi triển khai mô hình trên server ứng dụng Để 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 - 28 - - Chọn New/Project... đổi cách xem xét data source, hay thậm chí định nghĩa lợc đồ chuyển sang nguồn dữ liệu thực sự tại thời điểm sau đó * Data Source Data source đơn giản là một đối tợng chứa chuỗi kết nối với CSDL các thông tin phụ để chỉ ra cách kết nối với CSDL đó File dữ liệu khi kết nối với dự án phải nằm trong SQL Server Nếu không, phải dùng SQL Server Intergation Services để chuyển dữ liệu vào trong SQL Server. .. thuộc tính đầu vào node lá đại diện cho các phâ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ới phâ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ính cá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ột cách đệ quy từ trên xuống theo cách thức chia để trị thành các tập hợp con... đó Huấn luyện mô hình KPDL nghĩa là tìm các mẫu trong tập dữ liệu huấn luyện bằng cách sử dụng các thuật toán KPDL đợc chỉ định với các tham số thuật toán thích hợp Sau khi huấn luyện, mô hình KPDL lu các mẫu mà thuật toán KPDL khám phá đợc trên tập dữ liệu huấnluyện Trong khi một bảng dữ liệu quan hệ chứa các bảng ghi, mô hình KPDL chứa các mẫu Tạo mô hình: Tạo mô hình KPDL rỗng, tơng tự nh tạo bảng... 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ết những vấn đề này Đây là thuật toán mới so với các thuật toán trong phiên bản SQL Sever 2000... 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 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ện mô hình khai phá mô hình Từ BIDS, ta có thể tạo hiệu chỉnh các đối tợng AS (Analysis... nối với dữ liệu nguồn, một số tùy chọn của model Thêm vào đó, một mining structure chứa một danh sách các mining model sử dụng các cột từ mining structure đó Một mining model chứa một thuật toán với các tham số liên quan cộng với một danh sách các cột từ mining structure Mỗi model trong một structure có thể sử dụng một thuật toán khác nhau hay cùng một thuật toán với các tham số khác nhau, các tập... for DM có các khái niệm cơ bản cú pháp dựa trên SQL b Tạo mô hình bằng wizard SQL Serrver Analysis Services có 2 đối tợng chính trong KPDL: mining structures mining models Mining structure định nghĩa lĩnh vực của vấn đề KPDL còn mining model là một ứng dụng của một thuật toán của một cấu trúc trong một mining structure Mining structure chứa danh sách của các cột cấu trúc có dữ liệu các kiểu... quan hệ Huấn luyện mô hình: Còn gọi là bớc xử lý mô hình Nó đợc sử dụng để thuật toán KPDL phát hiện các tri thức trong tập dữ liệu huấn luyện Sau khi huấn luyện, các mẫu phát hiện đợc lu trong mô hình KPDL Dùng mô hình để dự báo: áp dụng các mẫu để dự báo các giá trị tiềm tàng của các cột dự báo cho mỗi trờng hợp mới trong tập dữ liệu mới DMX: Sự đóng góp quan trọng nhất của đạc tả OLEDB for Data . nano, phát triể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án tiê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. 5. Các b ớc khai. tài của mình: Tìm hiểu các giải thuật khai phá dữ liệu trên SQL Server 2005 và ứng dụng. Do đây là lĩnh vực mới nên còn nhiều hạn chế về tài liệu, kiến thức nên không tránh khỏi những thiếu sót 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
- Xem thêm -

Xem thêm: Đồ á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, Đồ á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, Đồ á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

Từ khóa liên quan