LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG TRONG BÀI TOÁN KINH DOANH

39 0 0
LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG TRONG BÀI TOÁN KINH DOANH

Đ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

Kinh Tế - Quản Lý - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công nghệ thông tin 1 Phần 1. MỞ ĐẦU 1.1. Lý do chọn đề tài Chúng ta nhận thấy rằng, trong vài thập niên gần đây, cùng với sự thay đổi và phát triển không ngừng của ngành công nghệ thông tin, luồng thông tin được sinh ra và chuyển tải mau lẹ đến chóng mặt, ước tính cứ khoảng 20 tháng lượng thông tin trên thế giới lại tăng gấp đôi. Với sự việc đó dẫn đến sự bùng nổ thông tin, làm cho các nhà quản lý rơi vào tình trạng “ngập trong thông tin”. Chính vì vậy, các chuyên gia cho rằng, hiện nay chúng ta đang sống trong một xã hội “rất giàu về thông tin nhưng nghèo về tri thức”. Những người ra quyết định trong các tổ chức tài chính, thương mại, khoa học…không muốn bỏ sót bất cứ thông tin nào, họ thu thập, lưu trữ tất cả mọi thông tin vì cho rằng trong nó ẩn chứa những giá trị nhất định nào đó. Trước tình hình đó, giải pháp hiệu quả giúp phân tích khối lượng lớn dữ liệu đó là khai phá dữ liệu. Với kỹ thuật khai phá dữ liệu, em muốn nghiên cứu ứng dụng trong phân tích số liệu kinh doanh để phát hiện những tri thức về công tác tư vấn kinh doanh. Với mong muốn như vậy nên em đã chọn đề tài “Luật kết hợp trong khai phá dữ liệu và ứng dụng trong bài toán kinh doanh” để làm đề tài khóa luận tốt nghiệp cuối khóa của mình. 1.2. Mục tiêu của đề tài Mục tiêu của đề tài là tìm hiểu: - Tìm hiểu qui trình khám phá tri thức - Tìm hiểu quá trình khai phá dữ liệu - Tìm hiểu các luật kết hợp trong khai phá dữ liệu - Ứng dụng nội dung tìm hiểu được đưa vào trong bài toán kinh doanh 1.3. Đối tượng và phạm vi nghiên cứu - Các luật kết hợp trong khai phá dữ liệu. - Một số chương trình, mã nguồn mở ứng dụng khai phá dữ liệu. - Áp dụng các thuật toán khai phá dữ liệu trên cơ sở dữ liệu lưu trữ. 1.4. Phương pháp nghiên cứu + Phương pháp nghiên cứu lý thuyết: Tìm hiểu và lựa chọn các phương pháp khai phá dữ liệu, + Phương pháp nghiên cứu thực nghiệm: phân tích thiết kế hệ thống, triển khai xây dựng ứng dụng. 2 1.5. Lịch sử nghiên cứu - Nội dung đã dạy và học ở học phần khai phá dữ liệu - Có nhiều cá nhân cũng như nhóm nghiên cứu đã chọn kiến thức này làm nội dung cho đề tai nghiên cứu họ 1.6. Đóng góp của đề tài Đây là một đề tài khá hay và khá hữu ích đối với lĩnh vực giáo dục. Khi mà các trường đại học và cao đẳng hiện nay đang dần chuyển sang đào tạo theo hệ tín chỉ thì việc ứng dụng khai phá dữ liệu để tư vấn học tập sẽ giúp cho sinh viên có thể chọn lựa được một lộ trình học đạt kết quả tối ưu nhất, phù hợp với điều kiện và năng lực của mình. 1.7. Cấu trúc của đề tài - MỞ ĐẦU - NỘI DUNG Chương 1: Phát hiện tri thức và khai phá dữ liệu Chương 2: Thuật toán appriori và các thuật toán xuất phát từ appriori khai phá luật kết hơp Chương 3: Cài đặt thuật toán và ứng dụng 3 Phần 2. NỘI DUNG CHƯƠNG 1. PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 1.1. Phát hiện tri thức 1.1.1. Khái niệm phát hiện tri thức Phát hiện tri thức trong cơ sở dữ liệu là một quy trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: phân tích, tổng hợp, hợp thức, khả ích, và có thể hiểu được. Còn khai thác dữ liệu là một bước trong quy trình phát hiện tri thức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu. Nói một cách khác, mục đích của phát hiện tri thức và khai phá dữ liệu chính là tìm ra các mẫu hoặc các mô hình đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn bị che khuất bởi hàng núi dữ liệu. 1.1.2. Quy trình phát hiện tri thức Việc khám phá tri thức thông thường có thể mô tả bằng sơ đồ sau: Tìm hiểu lĩnh vực ứng dụng Sử dụng các tri thức phát hiện được Thu thập và tiền xử lý dữ liệu Phân tích và kiểm định kết quả Khai phá dữ liệu rút ra các tri thức Hình1.1. Qui trình phát hiện tri thức 4 Trong đó, mỗi bước là một quy trình có vai trò và nhiệm vụ khác nhau, bao gồm: Bước thứ nhất: tìm hiểu lĩnh vực ứng dụng và hình thành bài toán, bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích và cho phép chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của dữ liệu. Bước thứ hai: thu thập và xử lý thô, còn được gọi là tiền xử lý dữ liệu nhằm loại bỏ nhiễu, xử lý việc thiếu dữ liệu, biến đổi dữ liệu và rút gọn dữ liệu nếu cần thiết, bước này thường chiếm nhiều thời gian nhất trong toàn bộ quy trình phát hiện tri thức. Bước thứ ba: khai phá dữ liệu, hay nói cách khác là trích ra các mẫu hoặc các mô hình ẩn dưới các dữ liệu. Bước thứ tư: hiểu tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả và dự đoán. Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện. Bước thứ năm: Sử dụng tri thức đã được khai phá vào thực tế. Các tri thức phát hiện được tích hợp chặt chẽ trong hệ thống. Tuy nhiên để sử dụng được các tri thức đó đôi khi cần đến các chuyên gia trong lĩnh vực liên quan vì tri thức rút ra có thể chỉ mang tính chất hỗ trợ quyết định hoặc cũng có thể được sử dụng cho quá trình khám phá tri thức khác. Mặc dù được tóm tắt thành 5 bước nhưng thực chất quá trình xây dựng và thực hiện việc khám phá tri thức không chỉ tuân theo các bước cố định mà các quá trình này còn có thể được lặp đi lặp lại ở một hoặc một số giai đoạn trước và cứ tiếp tục như thế sẽ làm cho quá trình khai phá và tìm kiếm dữ liệu ngày càng hoàn thiện hơn. 5 1.2. Khai phá dữ liệu 1.2.1. Khái niệm khai phá dữ liệu Khai phá dữ liệu như là một khái niệm ra đời vào những năm cuối của thập kỷ 80. Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu). Về bản chất, khai phá dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu hình có tính chính quy trong tập dữ liệu. Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm phát hiện tri thức trong cơ sở dữ liệu để chỉ toàn bộ quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn. Trong đó, khai phá dữ liệu là một bước đặc biệt trong toàn bộ tiến trình, sử dụng và giải thuật đặc biệt để chiết xuất ra các mẫu (hay các mô hình) từ dữ liệu. Khai phá dữ liệu là một tiến trình sử dụng các công cụ phân tích dữ liệu AI khám phá ra các mẫu dưới nhiều góc độ khác nhau nhằm phát hiện ra các IP khác nhau để nhằm phát hiện ra các mối quan hệ giữa các dữ kiện, đối tượng bên trong cơ sở dữ liệu, kết quả của Gom dữ liệu Trích học dữ liệu Làm sạch và tiền xử lý dữ liẹu Chuyển đổi dữ liệu Khai phá dữ liệu Đánh giá kết quả Dữ liệu Dữ liệu theo mục tiêu Dữ liệu được làm sạch Dữ liệu được chuyển đổi Các mẫu được phát hiện Các trí thực được biểu diễn Internet các kho chứa dữ liệu Hình 1.2. Các bước trong quá trình phát tri thức Ví dụ: Các bước trong quá trình phát hiện tri thức 6 việc khai phá là xác định các mẫu hay các mô hình đang tồn tại bên trong, nhưng chúng nằm ẩn khuất ở các cơ sở dữ liệu. Để từ đó rút ra được các mẫu, các mô hình hay các thông tin và tri thức từ cơ sở dữ liệu. Do sự phát triển mạnh mẽ của khai phá dữ liệu về phạm vi các lĩnh vực ứng dụng trong thực tế và các phương pháp tìm kiếm nên có rất nhiều khái niệm khác nhau về khai phá dữ liệu. Tóm lại khai phá dữ liệu được định nghĩa như sau: “Khai phá dữ liệu là quá trình khám phá các tri thức mới và các tri thức có ích ở dạng tiềm năng trong nguồn dữ liệu đã có.” 1.2.2. Các phương pháp khai phá dữ liệu Với hai mục đích chính của khai phá dữ liệu là dự đoán và mô tả, người ta thường sử dụng các phương pháp sau cho khai phá dữ liệu: - Phân lớp (Classfication) - Hồi quy (Regression) - Trực quan hoá (Visualization) - Phân cụm (Clustering) - Tổng hợp (Summarization) - Mô hình ràng buộc (Dependency modeling) - Biểu diễn mô hình (Model Evaluation) - Phân tích sự phát triển và độ lệch (Evolution and deviation analyst) - Luật kết hợp (Associantion rules) - Phương pháp tìm kiếm (Search Method) 1.2.3. Các lĩnh vực ứng dụng trong thực tiễn Ta có thể đưa ra một số ứng dụng trong các lĩnh vực như: - Ngân hàng: Xây dựng mô hình dự báo rủi ro tín dụng, tìm kiếm tri thức, quy luật của thị trường chứng khoán và đầu tư bất động sản,.. - Thương mại điện tử: Công cụ tìm kiếm, định hướng, thúc đẩy, giao tiếp với khách hàng, phân tích khác hàng duyệt web, phân tích hành vi mua sắm trên mạng và cho biết thông tin tiếp thị phù hợp với loại khách hàng. 7 - Thiên văn học: Hệ thống SKICAT do JPLCaltech phát triển được sử dụng cho các nhà thiên văn để tự động xác định các vì sao và các dải thiên hà trong một bản khảo sát lớn để có thể phân tích và phân loại. - Sinh học phân tử: Hệ thống tìm kiếm các mẫu trong cấu trúc phân tử và trong các dữ liệu gen. - Mô hình hóa những thay đổi thời tiết: Các mẫu không thời gian như lốc, gió xoáy được tự động tìm thấy trong các tập lớn dữ liệu mô phỏng và quan sát được. 1.2.4. Các kỹ thuật áp dụng trong khai phá dữ liệu Các kỹ thuật khai phá dữ liệu thường được chia thành 2 nhóm chính: Kỹ thuật khai phá dữ liệu mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có. Các kỹ thuật này gồm có: phân cụm (Clustering), tổng hợp (Summerization), trực quan hoá (Visualization), phân tích sự phát triển và độ lệch (Evolution and deviation analyst), luật kết hợp (Associantion rules). Kỹ thuật khai phá dữ liệu dự đoán: có nhiệm vụ đưa ra các dự đoán vào các suy diễn trên dữ liệu hiện thời. Các kỹ thuật này gồm có: phân lớp (Classification), hồi quy (Regression)... Trong đó có ba phương pháp thông dụng nhất là: phân cụm dữ liệu, phân lớp dữ liệu và khai phá luật kết hợp. - Phân cụm dữ liệu: Mục tiêu chính của phân cụm dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một lớp là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng. Trong phương pháp này bạn sẽ không thể biết kết quả các cụm thu được sẽ như thế nào khi quá trình bắt đầu. Vì vậy, thông thường cần có một chuyên gia về lĩnh vực đó để đánh giá các cụm thu được. Phân cụm dữ liệu còn là bước tiên xử lý cho các thuật toán khai phá dữ liệu khác. - Phân lớp dữ liệu: Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu. Quá trình phân lớp dữ liệu thường gồm 2 bước: xây dựng mô hình và sử dụng mô hình để phân lớp dữ liệu - Khai phá luật kết hợp: Mục tiêu của phương pháp này là phát hiện đưa ra mối liên hệ giữa các giá trị dữ liệu trong Cơ sở dữ liệu. Mẫu đầu ra của giải thuật khai phá dữ liệu là luật kết hợp tìm được. 8 1.2.5. Quy trình khai phá dữ liệu 1.2. Một số hướng tiếp cận trong khai phá dữ liệu Lĩnh vực khai phá luật kết hợp cho đến nay đã được nghiên cứu và phát triển theo nhiều hướng khác nhau. Có những đề xuất nhằm cải tiến tốc độ thuật toán, có những đề xuất nhằm tìm kiếm luật có ý nghĩa hơn,... cụ thể: - Luật kết hợp nhị phân (binary association rule): là hướng nghiên cứu đầu tiên của luật kết hợp. Hầu hết các nghiên cứu ở thời kỳ đầu về luật kết hợp đều liên quan đến luật kết hợp nhị phân. Trong dạng luật kết hợp này, các mục, thuộc tính chi được quan tâm là có hay không xuất hiện trong giao tác của CSDL chứ không quan tâm về mức độ” xuất hiện. Thuật toán tiêu biểu nhất khai phá dạng luật này là thuật toán Apriori và các biến thể của nó. Đây là dạng luật đơn giản và các luật khác cũng có thể chuyển về dạng luật này nhờ một số phương pháp như rời rạc hóa, mờ hóa,... - Luật kết hợp có thuộc tính số và thuộc tính hạng mục (quantitative and categorial association rule): các thuộc tính của các CSDL thực tế có kiểu rất đa dạng như số nhị phận, giá trị định tính, định lượng,... Để phát hiện luật kết hợp với các thuộc tính này, các nhà nghiên cứu đã đề xuất một số phương pháp rời rạc hóa nhăm chuyên dụng luật này về dạng nhị phân để có thể áp dụng các thuật toán đã có. - Luật kết hợp tiếp cận theo hướng tập thô (mining association rules base on rough set): tìm kiếm luật kết hợp dựa trên lý thuyết tập thô. Xác định dữ liệu liên quan Thu thập và tiền xử lý dữ liệu Xác định nhiệm vụ DL trực tiếp Giải thuật khai phá dữ liệu Mẫu Thông kê tóm tắt Hình 1.3. Quá trình khai phá dữ liệu 9 - Luật kết hợp nhiều mức (multi - level association rules ): cách tiếp cận theo luật này sẽ tìm kiếm thêm những luật có dạng “mua máy tính PC = > mua hệ điều hành AND mua phần mềm tiện ích văn phòng,..” thay vì chỉ những luật quá cụ thể như “mua máy tính IBM PC - Windows AND mua phần mềm tiện ích văn phòng Microsoft mua hệ điều hành Microsol Office,...”. Như vậy dạng luật đầu là dạng luật tổng quát hóa của dạng luật sau và tổng quát theo nhiều mức khác nhau. - Luật kết hợp mờ (fuzzy association rules): với những hạn chế còn gặp phải trong quá trình rời rạc hóa các thuộc tínhsố (quantitave attributes), các nhà nghiên cứu đã đề xuất luật kết hợp mờ nhằm khắc phục các hạn chế trên và chuyển luật kết hợp về một dạng tự nhiên hơn, gần gũi hơn với người sử dụng. - Luật kết hợp với thuộc tính được đánh trọng số (association rule with weighted items): trong thực tế, các thuộc tính trong CSDL không phải lúc nào cũng có vai trò như nhau. Có một số thuộc tính được chú trọng hơn và có mức độ quan trọng cao hơn các thuộc tính khác. Đây là hướng nghiên cứu rất thú vị và đã được một số nhà nghiên cứu đề xuất cách giải quyết bài toán này. Với luật kết hợp có thuộc tính được đánh trọng số, chúng ta sẽ khai thác được những luật “hiếm” (tức là có độ hỗ trợ thấp, nhưng có ý nghĩa đặc biệt hoặc mang rất nhiều ý nghĩa). - Luật kết hợp song song (parallel mining of association rule): bên cạnh khai thác luật kết hợp tuần tự, các nhà làm tin học “Alg tập trung vào nghiên cứu các thuật giải song song cho quá trình phát hiện luật kết hợp. Nhu cầu song song hóa và xử lý phân tán là cần thiết bởi kích thước dữ liệu ngày càng lớn hơn nên đòi hỏi tốc độ xử lý cũng như dung lượng bộ nhớ của hệ thống phải được đảm bảo. Có rất nhiều thuật toán song song khác nhau đã đề xuất để có thể không phụ thuộc vào phần cứng. Bên cạnh những nghiên cứu về các biến thể của luật kết hợp, các nha nghiên cứu còn chú trọng đề xuất những thuật toán nhằm tăng tốc quá trình tìm kiếm tập phổ biến từ CSDL. Ngoài ra, còn có một số hướng nghiên cứu khác về khai phá luật kết hợp như: khai phá luật kết hợp trực tuyến, khai phá luật kết hợp được kết nối trực tuyến đến các kho dữ liệu đa chiều thông qua công nghệ OLAP, MOLAP, ROLAP, ADO. 10 1.4. Một số bài toán có thể khai phá được - Microsoft Decision Tree: Thuật toán Microsoft Decision Tree hỗ trợ cả việc phân loại và hồi quy, và tạo rất tốt các mô hình dự đoán. Sử dụng thuật toán này có thể dự đoán cả các thuộc tính rời rạc và liên tục. Trong việc xây dựng mô hình, thuật toán này sẽ khảo sát sự ảnh hưởng của mỗi thuộc tính trong tập dữ liệu và kết quả của thuộc tính dự đoán.Và tiếp đến nó sử dụng các thuộc tính input (với các quan hệ rõ ràng) để tạo thành một nhóm phân hoá gọi là các node. Khi một node mới được thêm vào mô hình, một cấu trúc cây sẽ được thiết lập. Node đỉnh của cây sẽ miêu tả sự phân tích (bằng thống kê) của các thuộc tính dự đoán thông qua các mẫu. Mỗi node thêm vào sẽ được tạo ra dựa trên sự sắp xếp các trường của thuộc tính dự đoán, để so sánh với dữ liệu input. Nếu một thuộc tính input được coi là nguyên nhân của thuộc tính dự đoán (to favour one state over another), một node mới sẽ thêm vào mô hình. Mô hình tiếp tục phát triển cho đến lúc không còn thuộc tính nào, tạo thành một sự phân tách (split) để cung cấp một dự báo hoàn chỉnh thông qua các node đã tồn tại. Mô hình đòi hỏi tìm kiếm một sự kết hợp giữa các thuộc tính và trường của nó, nhằm thiết lập một sự phân phối không cân xứng giữa các trường trong thuộc tình dự đoán. Vì thế cho phép dự đoán kết quả của thuộc tính dự đoán một cách tốt nhất. - Microsoft Clustering: Thuật toán này sử dụng kỹ thuật lặp để nhóm các bản ghi từ một tập hợp dữ liệu vào một liên cung cùng có đặc điểm giống nhau. Sử dụng liên cung này có thể khám phá dữ liệu, tìm hiểu về các quan hệ đã tồn tại, mà các quan hệ này không dễ dàng tìm được một cách hợp lý thông qua quan sát ngẫu nhiên. Thêm nữa, có thể dự đoán từ các mô hình liên cung đã được tạo bởi thuật toán. Ví dụ : Xem xét một nhóm người sống ở cùng một vùng, có cùng một loại xe, ăn cùng một loại thức ăn và mua cùng một sản phẩm. Đây là một liên cung của dữ liệu, một liên cung khác có thể bao gồm những người cùng đến một nhà hàng, cùng mức lương, và được đi nghỉ ở nước ngoài hai lần trong năm. - Microsoft Naïve Bayes : Thuật toán này xây dựng mô hình khai thác nhanh hơn các thuật toán khác, phục vụ việc phân loại và dự đoán. Nó tính toán khả năng có thể xảy ra trong mỗi trường hợp lệ 11 của thuộc tính input, gán cho mỗi trường một thuộc tính có thể dự đoán. Mỗi trường này có thể sau đó được sử dụng để dự đoán kết quả của thuộc tính dự đoán dựa vào những thuộc tính input đã biết. Các khả năng sử dụng để sinh ra các mô hình được tính toán và lưu trữ trong suốt quá trình xử lý của khối lập phương (cube: các mô hình được dựng lên từ các khối lập phương). Thuật toán này chỉ hỗ trợ các thuộc tính hoặc là rời rạc hoặc liên tục, và nó xem xét tất cả các thuộc tính input độc lập. Thuật toán này cho ta một mô hình khai thác đơn giản (có thể được coi là điểm xuất phát của DataMining), bởi vì hầu như tất cả các tính toán sử dụng trong khi thiết lập mô hình, được sinh ra trong xử lí của cube (mô hình kích thước hợp nhất), kết quả được trả về nhanh chóng. Điều này tạo cho mô hình một lựa chọn tốt để khai phá dữ liệu khám phá các thuộc tính input được phân bố trong các trường khác nhau của thuộc tính dự đoán như thế nào? - Microsoft Time Series : Thuật toán này tạo ra những mô hình được sử dụng để dự đoán các biến tiếp theo từ OLAP và các nguồn dữ liệu quan hệ. Ví dụ : Sử dụng thuật toán này để dự đoán bán hàng và lợi nhuận dựa vào các dữ liệu quá khứ trong một cube. Sử dụng thuật toán này có thể chọn một hoặc nhiều biến để dự đoán (nhưng các biến là phải liên tục). Có thể có nhiều trường hợp cho mỗi mô hình. Tập các trường hợp xác định vị trí của một nhóm, như là ngày tháng khi xem việc bán hàng thông qua vài tháng hoặc vài năm trước. Một trường hợp có thể bao gồm một tập các biến (ví dụ như bán hàng tại các cửa hàng khác nhau). Thuật toán này có thể sử dụng sự tương quan của thay đối biến số (cross-variable) trong dự đoán của nó. Ví dụ: Bán hàng trước kia tại một cửa hàng có thể rất hữu ích trong việc dự báo bán hàng hiện tại tại những cửa hàng. - Microsoft Association : Thuật toán này được thiết kế đặc biệt để sử dụng trong phân tích giỏ thị trường (basket market). Market basket (chỉ số rổ thị trường: tức là ta sẽ dùng tất cả các loại hàng hoá đang có trên thị trường (một siêu thị chẳng hạn) ta nhân giá cả của nó với 12 chỉ số của hàng hoá (ví dụ gạo x 10, thịt x 20…) để tính chỉ số CPI (consumer price index). Nếu chỉ số CPI của ngày hôm nay cao hơn so với ngày hôm qua thì xảy ra lạm phát). Thuật toán này sẽ xem xét mỗi cặp biếngiá trị (như là sản phẩmxe đạp) là một item. Một Itemset là một tổ hợp các item trong một transaction đơn lẻ. Thuật toán sẽ lướt qua tập hợp dữ liệu để cố gắng tìm kiếm các itemset nhằm vào việc xuất hiện trong nhiều transaction. Tham chiếu Support sẽ định nghĩa có bao nhiêu transaction mà itemset sẽ xuất hiện trước khi nó được cho là quan trọng. Ví dụ: một itemset phổ biến có thể gồm{Gender="Male", Marital Status = "Married", Age="30-35"}. Mỗi itemset có một kích thước là tổng số của mỗi item mà nó có (ở ví dụ này là 3). Thường thì những mô hình kết hợp làm việc dựa vào các tập dữ liệu chứa các nếu một bảng ẩn tồn tại trong tập dữ liệu, mỗi khoá ẩn (như một sản phẩm trong bảng mua bán) được xem như một item. Thuật toán này cũng tìm các luật kết hợp với các Itemset. Một luật trong một mô hình kết hợp kiểu như A,B=>C (kết hợp với một khả năng có thể xảy ra ). Khi tất cả A, B, C là những Itemset phổ biến. Dấu “=>”nói rằng C được dự đoán từ A và B. Khả năng giới hạn là một biến mà xác định khả năng nhỏ nhất tức là khi một luật có thể đựơc xét đến. Khả năng này cũng được gọi là 1 “sự tin cậy” trong văn phong DataMining. Mô hình kết hợp rất hữu ích trong cross-sell và collaborative - filtering . Ví dụ : Bạn có thể sử dụng mô hình kết hợp để dự đoán các hạng mục mà khách hàng muốn mua dựa vào các danh mục hàng hoá khác trong basket của họ. - Microsoft Sequence Clustering: Thuật toán này phân tích các đối tượng dữ liệu có trình tự, các dữ liệu này bao các sự kiện của một trật tự rõ ràng. Bằng cách phân tích sự chuyển tiếp giữa các tình trạng của một chuỗi, thuật toán có thể dự đoán tương lai trong các chuỗi có quan hệ với nhau. Thuật toán này là sự pha trộn giữa thuật toán chuỗi và thuật toán liên cung. Thuật toán nhóm tất cả các sự kiện phức tạp với các thuộc tính trình tự vào một ...

Phần 1 MỞ ĐẦU 1.1 Lý do chọn đề tài Chúng ta nhận thấy rằng, trong vài thập niên gần đây, cùng với sự thay đổi và phát triển không ngừng của ngành công nghệ thông tin, luồng thông tin được sinh ra và chuyển tải mau lẹ đến chóng mặt, ước tính cứ khoảng 20 tháng lượng thông tin trên thế giới lại tăng gấp đôi Với sự việc đó dẫn đến sự bùng nổ thông tin, làm cho các nhà quản lý rơi vào tình trạng “ngập trong thông tin” Chính vì vậy, các chuyên gia cho rằng, hiện nay chúng ta đang sống trong một xã hội “rất giàu về thông tin nhưng nghèo về tri thức” Những người ra quyết định trong các tổ chức tài chính, thương mại, khoa học…không muốn bỏ sót bất cứ thông tin nào, họ thu thập, lưu trữ tất cả mọi thông tin vì cho rằng trong nó ẩn chứa những giá trị nhất định nào đó Trước tình hình đó, giải pháp hiệu quả giúp phân tích khối lượng lớn dữ liệu đó là khai phá dữ liệu Với kỹ thuật khai phá dữ liệu, em muốn nghiên cứu ứng dụng trong phân tích số liệu kinh doanh để phát hiện những tri thức về công tác tư vấn kinh doanh Với mong muốn như vậy nên em đã chọn đề tài “Luật kết hợp trong khai phá dữ liệu và ứng dụng trong bài toán kinh doanh” để làm đề tài khóa luận tốt nghiệp cuối khóa của mình 1.2 Mục tiêu của đề tài Mục tiêu của đề tài là tìm hiểu: - Tìm hiểu qui trình khám phá tri thức - Tìm hiểu quá trình khai phá dữ liệu - Tìm hiểu các luật kết hợp trong khai phá dữ liệu - Ứng dụng nội dung tìm hiểu được đưa vào trong bài toán kinh doanh 1.3 Đối tượng và phạm vi nghiên cứu - Các luật kết hợp trong khai phá dữ liệu - Một số chương trình, mã nguồn mở ứng dụng khai phá dữ liệu - Áp dụng các thuật toán khai phá dữ liệu trên cơ sở dữ liệu lưu trữ 1.4 Phương pháp nghiên cứu + Phương pháp nghiên cứu lý thuyết: Tìm hiểu và lựa chọn các phương pháp khai phá dữ liệu, + Phương pháp nghiên cứu thực nghiệm: phân tích thiết kế hệ thống, triển khai xây dựng ứng dụng 1 1.5 Lịch sử nghiên cứu - Nội dung đã dạy và học ở học phần khai phá dữ liệu - Có nhiều cá nhân cũng như nhóm nghiên cứu đã chọn kiến thức này làm nội dung cho đề tai nghiên cứu họ 1.6 Đóng góp của đề tài Đây là một đề tài khá hay và khá hữu ích đối với lĩnh vực giáo dục Khi mà các trường đại học và cao đẳng hiện nay đang dần chuyển sang đào tạo theo hệ tín chỉ thì việc ứng dụng khai phá dữ liệu để tư vấn học tập sẽ giúp cho sinh viên có thể chọn lựa được một lộ trình học đạt kết quả tối ưu nhất, phù hợp với điều kiện và năng lực của mình 1.7 Cấu trúc của đề tài - MỞ ĐẦU - NỘI DUNG Chương 1: Phát hiện tri thức và khai phá dữ liệu Chương 2: Thuật toán appriori và các thuật toán xuất phát từ appriori khai phá luật kết hơp Chương 3: Cài đặt thuật toán và ứng dụng 2 Phần 2 NỘI DUNG CHƯƠNG 1 PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 1.1 Phát hiện tri thức 1.1.1 Khái niệm phát hiện tri thức Phát hiện tri thức trong cơ sở dữ liệu là một quy trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: phân tích, tổng hợp, hợp thức, khả ích, và có thể hiểu được Còn khai thác dữ liệu là một bước trong quy trình phát hiện tri thức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu Nói một cách khác, mục đích của phát hiện tri thức và khai phá dữ liệu chính là tìm ra các mẫu hoặc các mô hình đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn bị che khuất bởi hàng núi dữ liệu 1.1.2 Quy trình phát hiện tri thức Việc khám phá tri thức thông thường có thể mô tả bằng sơ đồ sau: Tìm hiểu lĩnh vực ứng dụng Sử dụng các tri thức Thu thập và tiền xử phát hiện được lý dữ liệu Phân tích và kiểm Khai phá dữ liệu định kết quả rút ra các tri thức Hình1.1 Qui trình phát hiện tri thức 3 Trong đó, mỗi bước là một quy trình có vai trò và nhiệm vụ khác nhau, bao gồm: Bước thứ nhất: tìm hiểu lĩnh vực ứng dụng và hình thành bài toán, bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích và cho phép chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của dữ liệu Bước thứ hai: thu thập và xử lý thô, còn được gọi là tiền xử lý dữ liệu nhằm loại bỏ nhiễu, xử lý việc thiếu dữ liệu, biến đổi dữ liệu và rút gọn dữ liệu nếu cần thiết, bước này thường chiếm nhiều thời gian nhất trong toàn bộ quy trình phát hiện tri thức Bước thứ ba: khai phá dữ liệu, hay nói cách khác là trích ra các mẫu hoặc các mô hình ẩn dưới các dữ liệu Bước thứ tư: hiểu tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả và dự đoán Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể được lấy trung bình trên tất cả các lần thực hiện Bước thứ năm: Sử dụng tri thức đã được khai phá vào thực tế Các tri thức phát hiện được tích hợp chặt chẽ trong hệ thống Tuy nhiên để sử dụng được các tri thức đó đôi khi cần đến các chuyên gia trong lĩnh vực liên quan vì tri thức rút ra có thể chỉ mang tính chất hỗ trợ quyết định hoặc cũng có thể được sử dụng cho quá trình khám phá tri thức khác Mặc dù được tóm tắt thành 5 bước nhưng thực chất quá trình xây dựng và thực hiện việc khám phá tri thức không chỉ tuân theo các bước cố định mà các quá trình này còn có thể được lặp đi lặp lại ở một hoặc một số giai đoạn trước và cứ tiếp tục như thế sẽ làm cho quá trình khai phá và tìm kiếm dữ liệu ngày càng hoàn thiện hơn 4 Ví dụ: Các bước trong quá trình phát hiện tri thức Đánh giá kết quả Khai phá dữ liệu Các trí Các thực mẫu được được biểu phát diễn hiện Chuyển đổi dữ liệu Dữ liệu Làm sạch và tiền xử lý dữ liẹu được chuyển đổi Trích học dữ liệu Dữ liệu được Gom dữ liệu làm sạch Internet các kho chứa dữ Dữ liệu Dữ liệu liệu theo mục tiêu Hình 1.2 Các bước trong quá trình phát tri thức 1.2 Khai phá dữ liệu 1.2.1 Khái niệm khai phá dữ liệu Khai phá dữ liệu như là một khái niệm ra đời vào những năm cuối của thập kỷ 80 Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu) Về bản chất, khai phá dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu hình có tính chính quy trong tập dữ liệu Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm phát hiện tri thức trong cơ sở dữ liệu để chỉ toàn bộ quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn Trong đó, khai phá dữ liệu là một bước đặc biệt trong toàn bộ tiến trình, sử dụng và giải thuật đặc biệt để chiết xuất ra các mẫu (hay các mô hình) từ dữ liệu Khai phá dữ liệu là một tiến trình sử dụng các công cụ phân tích dữ liệu AI khám phá ra các mẫu dưới nhiều góc độ khác nhau nhằm phát hiện ra các IP khác nhau để nhằm phát hiện ra các mối quan hệ giữa các dữ kiện, đối tượng bên trong cơ sở dữ liệu, kết quả của 5 việc khai phá là xác định các mẫu hay các mô hình đang tồn tại bên trong, nhưng chúng nằm ẩn khuất ở các cơ sở dữ liệu Để từ đó rút ra được các mẫu, các mô hình hay các thông tin và tri thức từ cơ sở dữ liệu Do sự phát triển mạnh mẽ của khai phá dữ liệu về phạm vi các lĩnh vực ứng dụng trong thực tế và các phương pháp tìm kiếm nên có rất nhiều khái niệm khác nhau về khai phá dữ liệu Tóm lại khai phá dữ liệu được định nghĩa như sau: “Khai phá dữ liệu là quá trình khám phá các tri thức mới và các tri thức có ích ở dạng tiềm năng trong nguồn dữ liệu đã có.” 1.2.2 Các phương pháp khai phá dữ liệu Với hai mục đích chính của khai phá dữ liệu là dự đoán và mô tả, người ta thường sử dụng các phương pháp sau cho khai phá dữ liệu: - Phân lớp (Classfication) - Hồi quy (Regression) - Trực quan hoá (Visualization) - Phân cụm (Clustering) - Tổng hợp (Summarization) - Mô hình ràng buộc (Dependency modeling) - Biểu diễn mô hình (Model Evaluation) - Phân tích sự phát triển và độ lệch (Evolution and deviation analyst) - Luật kết hợp (Associantion rules) - Phương pháp tìm kiếm (Search Method) 1.2.3 Các lĩnh vực ứng dụng trong thực tiễn | Ta có thể đưa ra một số ứng dụng trong các lĩnh vực như: - Ngân hàng: Xây dựng mô hình dự báo rủi ro tín dụng, tìm kiếm tri thức, quy luật của thị trường chứng khoán và đầu tư bất động sản, - Thương mại điện tử: Công cụ tìm kiếm, định hướng, thúc đẩy, giao tiếp với khách hàng, phân tích khác hàng duyệt web, phân tích hành vi mua sắm trên mạng và cho biết thông tin tiếp thị phù hợp với loại khách hàng 6 - Thiên văn học: Hệ thống SKICAT do JPL/Caltech phát triển được sử dụng cho các nhà thiên văn để tự động xác định các vì sao và các dải thiên hà trong một bản khảo sát lớn để có thể phân tích và phân loại - Sinh học phân tử: Hệ thống tìm kiếm các mẫu trong cấu trúc phân tử và trong các dữ liệu gen - Mô hình hóa những thay đổi thời tiết: Các mẫu không thời gian như lốc, gió xoáy được tự động tìm thấy trong các tập lớn dữ liệu mô phỏng và quan sát được 1.2.4 Các kỹ thuật áp dụng trong khai phá dữ liệu Các kỹ thuật khai phá dữ liệu thường được chia thành 2 nhóm chính: Kỹ thuật khai phá dữ liệu mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có Các kỹ thuật này gồm có: phân cụm (Clustering), tổng hợp (Summerization), trực quan hoá (Visualization), phân tích sự phát triển và độ lệch (Evolution and deviation analyst), luật kết hợp (Associantion rules) Kỹ thuật khai phá dữ liệu dự đoán: có nhiệm vụ đưa ra các dự đoán vào các suy diễn trên dữ liệu hiện thời Các kỹ thuật này gồm có: phân lớp (Classification), hồi quy (Regression) Trong đó có ba phương pháp thông dụng nhất là: phân cụm dữ liệu, phân lớp dữ liệu và khai phá luật kết hợp - Phân cụm dữ liệu: Mục tiêu chính của phân cụm dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một lớp là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng Trong phương pháp này bạn sẽ không thể biết kết quả các cụm thu được sẽ như thế nào khi quá trình bắt đầu Vì vậy, thông thường cần có một chuyên gia về lĩnh vực đó để đánh giá các cụm thu được Phân cụm dữ liệu còn là bước tiên xử lý cho các thuật toán khai phá dữ liệu khác - Phân lớp dữ liệu: Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu Quá trình phân lớp dữ liệu thường gồm 2 bước: xây dựng mô hình và sử dụng mô hình để phân lớp dữ liệu - Khai phá luật kết hợp: Mục tiêu của phương pháp này là phát hiện đưa ra mối liên hệ giữa các giá trị dữ liệu trong Cơ sở dữ liệu Mẫu đầu ra của giải thuật khai phá dữ liệu là luật kết hợp tìm được 7 1.2.5 Quy trình khai phá dữ liệu Thông kê tóm tắt Xác Xác Thu Giải định định dữ thập thuật nhiệm và tiền khai phá vụ liệu xử lý dữ liệu liên dữ quan liệu Mẫu DL trực tiếp Hình 1.3 Quá trình khai phá dữ liệu 1.2 Một số hướng tiếp cận trong khai phá dữ liệu Lĩnh vực khai phá luật kết hợp cho đến nay đã được nghiên cứu và phát triển theo nhiều hướng khác nhau Có những đề xuất nhằm cải tiến tốc độ thuật toán, có những đề xuất nhằm tìm kiếm luật có ý nghĩa hơn, cụ thể: - Luật kết hợp nhị phân (binary association rule): là hướng nghiên cứu đầu tiên của luật kết hợp Hầu hết các nghiên cứu ở thời kỳ đầu về luật kết hợp đều liên quan đến luật kết hợp nhị phân Trong dạng luật kết hợp này, các mục, thuộc tính chi được quan tâm là có hay không xuất hiện trong giao tác của CSDL chứ không quan tâm về mức độ” xuất hiện Thuật toán tiêu biểu nhất khai phá dạng luật này là thuật toán Apriori và các biến thể của nó Đây là dạng luật đơn giản và các luật khác cũng có thể chuyển về dạng luật này nhờ một số phương pháp như rời rạc hóa, mờ hóa, - Luật kết hợp có thuộc tính số và thuộc tính hạng mục (quantitative and categorial association rule): các thuộc tính của các CSDL thực tế có kiểu rất đa dạng như số nhị phận, giá trị định tính, định lượng, Để phát hiện luật kết hợp với các thuộc tính này, các nhà nghiên cứu đã đề xuất một số phương pháp rời rạc hóa nhăm chuyên dụng luật này về dạng nhị phân để có thể áp dụng các thuật toán đã có - Luật kết hợp tiếp cận theo hướng tập thô (mining association rules base on rough set): tìm kiếm luật kết hợp dựa trên lý thuyết tập thô 8 - Luật kết hợp nhiều mức (multi - level association rules ): cách tiếp cận theo luật này sẽ tìm kiếm thêm những luật có dạng “mua máy tính PC = > mua hệ điều hành AND mua phần mềm tiện ích văn phòng, ” thay vì chỉ những luật quá cụ thể như “mua máy tính IBM PC - Windows AND mua phần mềm tiện ích văn phòng Microsoft mua hệ điều hành Microsol Office, ” Như vậy dạng luật đầu là dạng luật tổng quát hóa của dạng luật sau và tổng quát theo nhiều mức khác nhau - Luật kết hợp mờ (fuzzy association rules): với những hạn chế còn gặp phải trong quá trình rời rạc hóa các thuộc tínhsố (quantitave attributes), các nhà nghiên cứu đã đề xuất luật kết hợp mờ nhằm khắc phục các hạn chế trên và chuyển luật kết hợp về một dạng tự nhiên hơn, gần gũi hơn với người sử dụng - Luật kết hợp với thuộc tính được đánh trọng số (association rule with weighted items): trong thực tế, các thuộc tính trong CSDL không phải lúc nào cũng có vai trò như nhau Có một số thuộc tính được chú trọng hơn và có mức độ quan trọng cao hơn các thuộc tính khác Đây là hướng nghiên cứu rất thú vị và đã được một số nhà nghiên cứu đề xuất cách giải quyết bài toán này Với luật kết hợp có thuộc tính được đánh trọng số, chúng ta sẽ khai thác được những luật “hiếm” (tức là có độ hỗ trợ thấp, nhưng có ý nghĩa đặc biệt hoặc mang rất nhiều ý nghĩa) - Luật kết hợp song song (parallel mining of association rule): bên cạnh khai thác luật kết hợp tuần tự, các nhà làm tin học “Alg tập trung vào nghiên cứu các thuật giải song song cho quá trình phát hiện luật kết hợp Nhu cầu song song hóa và xử lý phân tán là cần thiết bởi kích thước dữ liệu ngày càng lớn hơn nên đòi hỏi tốc độ xử lý cũng như dung lượng bộ nhớ của hệ thống phải được đảm bảo Có rất nhiều thuật toán song song khác nhau đã đề xuất để có thể không phụ thuộc vào phần cứng Bên cạnh những nghiên cứu về các biến thể của luật kết hợp, các nha ! nghiên cứu còn chú trọng đề xuất những thuật toán nhằm tăng tốc quá trình tìm kiếm tập phổ biến từ CSDL Ngoài ra, còn có một số hướng nghiên cứu khác về khai phá luật kết hợp như: khai phá luật kết hợp trực tuyến, khai phá luật kết hợp được kết nối trực tuyến đến các kho dữ liệu đa chiều thông qua công nghệ OLAP, MOLAP, ROLAP, ADO 9 1.4 Một số bài toán có thể khai phá được - Microsoft Decision Tree: Thuật toán Microsoft Decision Tree hỗ trợ cả việc phân loại và hồi quy, và tạo rất tốt các mô hình dự đoán Sử dụng thuật toán này có thể dự đoán cả các thuộc tính rời rạc và liên tục Trong việc xây dựng mô hình, thuật toán này sẽ khảo sát sự ảnh hưởng của mỗi thuộc tính trong tập dữ liệu và kết quả của thuộc tính dự đoán.Và tiếp đến nó sử dụng các thuộc tính input (với các quan hệ rõ ràng) để tạo thành một nhóm phân hoá gọi là các node Khi một node mới được thêm vào mô hình, một cấu trúc cây sẽ được thiết lập Node đỉnh của cây sẽ miêu tả sự phân tích (bằng thống kê) của các thuộc tính dự đoán thông qua các mẫu Mỗi node thêm vào sẽ được tạo ra dựa trên sự sắp xếp các trường của thuộc tính dự đoán, để so sánh với dữ liệu input Nếu một thuộc tính input được coi là nguyên nhân của thuộc tính dự đoán (to favour one state over another), một node mới sẽ thêm vào mô hình Mô hình tiếp tục phát triển cho đến lúc không còn thuộc tính nào, tạo thành một sự phân tách (split) để cung cấp một dự báo hoàn chỉnh thông qua các node đã tồn tại Mô hình đòi hỏi tìm kiếm một sự kết hợp giữa các thuộc tính và trường của nó, nhằm thiết lập một sự phân phối không cân xứng giữa các trường trong thuộc tình dự đoán Vì thế cho phép dự đoán kết quả của thuộc tính dự đoán một cách tốt nhất - Microsoft Clustering: Thuật toán này sử dụng kỹ thuật lặp để nhóm các bản ghi từ một tập hợp dữ liệu vào một liên cung cùng có đặc điểm giống nhau Sử dụng liên cung này có thể khám phá dữ liệu, tìm hiểu về các quan hệ đã tồn tại, mà các quan hệ này không dễ dàng tìm được một cách hợp lý thông qua quan sát ngẫu nhiên Thêm nữa, có thể dự đoán từ các mô hình liên cung đã được tạo bởi thuật toán Ví dụ : Xem xét một nhóm người sống ở cùng một vùng, có cùng một loại xe, ăn cùng một loại thức ăn và mua cùng một sản phẩm Đây là một liên cung của dữ liệu, một liên cung khác có thể bao gồm những người cùng đến một nhà hàng, cùng mức lương, và được đi nghỉ ở nước ngoài hai lần trong năm - Microsoft Naïve Bayes : Thuật toán này xây dựng mô hình khai thác nhanh hơn các thuật toán khác, phục vụ việc phân loại và dự đoán Nó tính toán khả năng có thể xảy ra trong mỗi trường hợp lệ 10

Ngày đăng: 09/03/2024, 07:26

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

Tài liệu liên quan