Ở đây ta sẽ tìm hiểu về Data mining - một lĩnh vực khoahọc dữ liệu, sử dụng các thuật toán thống kê phức tạp để khám phá các mẫu và quy luật ẩntrong dữ liệu lớn, nhằm mục đích dự báo và
Trang 1TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
VIỆN CÔNG NGHỆ THÔNG TIN VÀ KINH TẾ SỐ
BÁO CÁO ĐỀ TÀI BÀI TẬP NHÓM
ĐỀ TÀI: TÌM HIỂU VỀ CÁC KỸ THUẬT DATA MINING
TRONG SQL SERVER
Hà Quý Dương - 11211549Đặng Duy Đạt - 11221222
Trang 2MỤC LỤC
No table of contents entries found.
Trang 3BẢNG PHÂN CÔNG CÔNG VIỆC
Trang 4CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
I Giới thiệu chung
Trong thời đại ngày nay, các công nghệ kĩ thuật ngày càng phát triển với trí tưởngtượng không tưởng của nhân loại Ở đây ta sẽ tìm hiểu về Data mining - một lĩnh vực khoahọc dữ liệu, sử dụng các thuật toán thống kê phức tạp để khám phá các mẫu và quy luật ẩntrong dữ liệu lớn, nhằm mục đích dự báo và hỗ trợ ra quyết định Data mining có thể được
áp dụng cho nhiều lĩnh vực khác nhau như kinh doanh, y tế, giáo dục, an ninh, vv Datamining cũng là một trong những công cụ quan trọng của trí tuệ nhân tạo và học máy
Trong thực tế, data mining thường được thực hiện trên các hệ quản trị cơ sở dữ liệu(DBMS), vì chúng có khả năng lưu trữ và xử lý dữ liệu lớn một cách hiệu quả SQL Server
là một DBMS phổ biến, được sử dụng rộng rãi trong các tổ chức và doanh nghiệp SQLServer không chỉ là một công cụ lưu trữ dữ liệu, mà còn cung cấp một nền tảng DataMining, cho phép người dùng thiết kế và triển khai các giải pháp data mining một cách dễdàng và linh hoạt
SQL Server Data Mining bao gồm các thành phần sau:
- Các thuật toán data mining: SQL Server Data Mining có chín thuật toán data miningkhác nhau, được phân loại theo các loại bài toán như phân loại, ước lượng, phân cụm, dựbáo, chuỗi thời gian, liên kết, vv
- Các công cụ data mining: SQL Server Data Mining có các công cụ hỗ trợ người dùngtrong việc tạo ra các cấu trúc data mining và các mô hình data mining, sử dụng dữ liệu từ cácnguồn quan hệ hoặc đa chiều Các công cụ này bao gồm Data Mining Wizard, Data MiningDesigner và Data Mining Add-In for Excel
- Các giải pháp data mining: Một giải pháp data mining là một giải pháp SQL ServerAnalysis Services, chứa một hoặc nhiều dự án data mining Mỗi dự án data mining có thể cónhiều cấu trúc data mining và mô hình data mining, tương ứng với các bài toán data miningkhác nhau
Bài luận này nhằm mục đích tìm hiểu về các kỹ thuật data mining trong SQL Server,cài đặt và chạy thử công cụ SQL Server Data Mining Bài luận sẽ trả lời các câu hỏi sau:
Trang 5- Data mining là gì và có ý nghĩa gì trong thời đại số hóa hiện nay?
- SQL Server Data Mining là gì và có những đặc điểm gì nổi bật?
- Các thuật toán data mining trong SQL Server Data Mining là gì và được sử dụng nhưthế nào?
- Các công cụ data mining trong SQL Server Data Mining là gì và có chức năng gì?
- Làm thế nào để thiết kế và triển khai một giải pháp data mining trong SQL ServerData Mining
- Làm thế nào để kiểm tra và đánh giá hiệu quả của một mô hình data mining trongSQL Server Data Mining?
Để trả lời các câu hỏi trên, chúng em đã thực hiện việc tìm kiếm, tổng hợp và phân tíchcác tài liệu tham khảo liên quan đến chủ đề nghiên cứu, như sách, báo cáo, bài báo khoa học,
vv Sau khi tham khảo, em áp dụng vào thực hành, tức là cài đặt và chạy thử các công cụSQL Server Data Mining trên một máy tính cá nhân, sử dụng dữ liệu mẫu hoặc dữ liệu thựctế
II Data mining là gì?
Data Mining dịch sang tiếng Việt là khai phá dữ liệu, là quá trình phân loại và sắp xếpcác tệp dữ liệu nhằm mục đích xác định xu hướng cũng như thiết lập các mối quan hệ để cóthể giải quyết vấn đề thông qua hoạt động phân tích dữ liệu Khai phá dữ liệu nhằm rút tríchthông tin hữu ích, chưa biết, tiềm ẩn, phân tích dữ liệu bán tự động, giải thích dữ liệu trêncác tập dữ liệu lớn Quá trình khai phá dữ liệu khá phức tạp bao gồm các công nghệ tínhtoán và kho dữ liệu chuyên sâu
Mục tiêu của việc này là cho phép doanh nghiệp dự đoán được xu hướng tương lai,nhằm đưa ra những quyết định được hỗ trợ dữ liệu từ các tập dữ liệu khổng lồ
Data Mining có những tính năng chính như:
- Dự đoán các mẫu dựa vào xu hướng trong hàng loạt dữ liệu
- Tính toán, xử lý kết quả đã được phân tích
- Đưa ra các thông tin phản hồi để phân tích
Trang 6- Tập trung phân tích, xử lý dữ liệu lớn hơn
- Phân chia, sắp xếp các cụm dữ liệu trực quan
Bắt đầu quá trình khai phá dữ liệu, ta cần xác định chính xác vấn đề cần giải quyết,tưởng tượng các bước thực hiện Tiếp đến ta cần xác định các dữ liệu cần để thực hiện, thuthập hoặc tạo ra theo một dạng thức sao cho việc giải thuật khai phá dữ liệu hoạt động.Sau bước thu thập dữ liệu, ta sẽ để giải thuật khai phá dữ liệu tham gia vào một phần
đủ lớn của cơ sở dữ liệu Việc chọn thuật toán thích hợp và thực hiện khai phá dữ liệu mụcđích để tìm được các mẫu (pattern) có ý nghĩa dưới dạng biểu diễn tương ứng với các ýnghĩa đó (thường được biểu diễn dưới dạng các luật xếp loại, cây quyết định, luật sản xuất,biểu thức hồi quy, …)
Data mining có ý nghĩa rất lớn trong thời đại số hóa hiện nay, vì nó giúp các doanhnghiệp, tổ chức và cá nhân có thể khai thác triệt để nguồn dữ liệu khổng lồ từ nhiều nguồnkhác nhau, như internet, mạng xã hội, thiết bị di động, cảm biến, vv
Data mining cho phép tìm ra các xu hướng, hành vi, thói quen và nhu cầu của kháchhàng, đối tác và đối thủ Data mining cũng giúp phát hiện các gian lận, rủi ro và cơ hội kinhdoanh tiềm ẩn Data mining còn được áp dụng trong nhiều lĩnh vực khác nhau, như bán lẻ,tài chính, bảo hiểm, sản xuất, giải trí, chăm sóc sức khỏe, vv
III Data mining trong SQL server
SQL Server chủ yếu được sử dụng làm công cụ lưu trữ trong nhiều tổ chức Tuy nhiên,với nhu cầu ngày càng tăng của nhiều doanh nghiệp, mọi người đang tìm kiếm nhiều tínhnăng khác nhau của SQL Server Mọi người đang xem xét việc thu thập và quản lý dữ liệuvới SQL Server SQL Server đang cung cấp nền tảng Khai thác dữ liệu có thể được sử dụng
để dự đoán dữ liệu
Có một số nhiệm vụ được sử dụng để giải quyết các vấn đề kinh doanh Các nhiệm vụ
đó là Phân loại(Classification), Ước tính(Estimation), Cụm(Clustering), dự báo (Prediction),Trình tự(Sequencing) và Liên kết(Association) Khai phá dữ liệu SQL Server có 9 thuật toánkhai thác dữ liệu có thể được sử dụng để giải quyết các vấn đề kinh doanh nói trên Sau đây
là danh sách 9 thuật toán được phân loại thành các vấn đề khác nhau:
Trang 71 Microsoft Decision Tree
2 Microsoft Clustering
3 Microsoft Nạve Bayes
4 Microsoft time series
5 Microsoft Association
6 Microsoft sequence clustering
7 Microsoft neural network
8 Microsoft linear regression
9 Microsoft logistic regression
Data mining trong SQL cần được sử dụng khi bạn muốn khám phá thông tin tiềm ẩn vàtri thức từ dữ liệu cơ sở dữ liệu của mình Dưới đây là một số tình huống thường cần dùngđến data mining trong SQL:
1 Phân tích dữ liệu lớn: Khi bạn có một lượng lớn dữ liệu và muốn tìm ra các mẫu,mối quan hệ hoặc thông tin hữu ích từ dữ liệu đó
2 Dự đoán và phân loại: Khi bạn muốn xây dựng các mô hình dự đoán hoặc phân loạidựa trên dữ liệu có sẵn trong cơ sở dữ liệu
3 Phân tích quyết định: Khi bạn cần hỗ trợ trong việc đưa ra các quyết định dựa trên
Trang 88 Tích hợp các kỹ thuật data mining vào ứng dụng hoặc hệ thống tự động: Khi bạnmuốn tự động hóa các quy trình data mining để đưa ra các dự đoán hoặc phân tích một cách
IV Ứng dụng của Data Mining
Khi khoa học công nghệ phát triển thì việc xử lý dữ liệu ngày càng được con người chú
ý Và việc tìm kiếm tri thức từ trong dữ liệu đã được sử dụng rất rộng rãi Khai khoáng dữliệu là một quá trình trong tìm kiếm tri thức trong dữ liệu, vì thế nó cũng được ứng dụng rấtnhiều trong nhiều bài toán, lĩnh vực cụ thể:
4.1 Lĩnh vực tài chính
Ứng dụng của Data Mining trong lĩnh vực này được dùng để tăng độ trung thành củakhách hàng bằng cách thu thập và phân tích dữ liệu hành vi của khách hàng Thoạt nghe sẽthấy hơi vô lý vì dữ liệu hành vi người dùng thường sẽ liên quan đến lĩnh vực Marketing.Tuy nhiên, lĩnh vực tài chính ở đây là các ngân hàng, họ sử dụng nó để dự đoán hành
vi của khách hàng để tung ra các dịch vụ và sản phẩm thích hợp
Ngoài ra, ứng dụng của Data Mining trong lĩnh vực tài chính còn giúp khám phá mốitương quan ẩn giữa các chỉ số tài chính khác nhau để phát hiện ra các hoạt động đáng ngờ córủi ro tiềm ẩn cao
Nó còn giúp hỗ trợ xác định các hành động gian lận hoặc không gian lận bằng cách thuthập dữ liệu lịch sử và sau đó biến đổi nó thành thông tin hợp lệ và hữu ích
Trang 9Thêm vào đó, việc tìm ra mối quan hệ giữa các loại bệnh và hiệu quả của phương phápđiều trị sẽ giúp thay đổi các loại thuốc mới hoặc đảm bảo rằng bệnh nhân được chăm sócphù hợp, kịp thời.
Ngoài ra, ứng dụng của Data Mining trong lĩnh vực chăm sóc sức khỏe còn hỗ trợ cáccông ty cung cấp dịch vụ bảo hiểm sức khỏe phát hiện gian lận hay lạm dụng
Trong lĩnh vực này, ứng dụng của data mining giúp ngành viễn thông đạt được lợi thếcạnh tranh và giảm chi phí khách hàng bằng cách hiểu các đặc điểm nhân khẩu học và dựđoán hành vi của khách hàng
Ngoài ra, nó không những giúp tăng lòng trung thành của khách hàng và cải thiện lợinhuận bằng cách cung cấp các dịch vụ tùy chỉnh, mà còn hỗ trợ các chiến lược tiếp cậnkhách hàng bằng cách phát triển các chiến dịch marketing và định giá phù hợp
4.4 Lĩnh vực Marketing và Sales
Về cơ bản, khai phá dữ liệu cho phép các doanh nghiệp hiểu các điều ẩn đằng sau dữliệu giao dịch mua bán của khách hàng Từ đó, doanh nghiệp có thể lên kế hoạch và khởiđộng các chiến dịch marketing mới
Ứng dụng của Data Mining giúp doanh nghiệp phân tích nhu cầu thị trường để hiểu vềsản phẩm thường được mua cùng nhau Thông tin này giúp doanh nghiệp quảng bá sảnphẩm có lợi nhuận cao nhất và tối đa hóa lợi nhuận Ngoài ra, nó còn khuyến khích kháchhàng mua các sản phẩm liên quan
4.5 Lĩnh vực thương mại điện tử
Nhiều công ty thương mại điện tử đang áp dụng ứng dụng của Data Mining để bánhàng qua nhiều nước thông qua các trang web của họ Một trong những công ty nổi tiếngnhất ứng dụng điều này là Amazon Họ sử dụng các kỹ thuật khai phá dữ liệu để lái “nhữngngười đã xem sản phẩm đó cũng thích sản phẩm được giới thiệu này”
Trang 104.6 Lĩnh vực giáo dục
Gần đây có một lĩnh vực mới nổi, nó được gọi là khai phá dữ liệu giáo dục (EDM) Nókhám phá kiến thức từ dữ liệu bắt nguồn từ môi trường giáo dục Mục tiêu của EDM đượcxác định là dự đoán hành vi học tập của học sinh trong tương lai
Chúng tôi sử dụng khai thác dữ liệu để đưa ra quyết định chính xác và cũng như để dựđoán kết quả của học sinh Với kết quả đó, nhà trường có thể tập trung vào những gì cần dạy
và cách dạy từ đó cải tiến các phương pháp dạy học hiệu quả hơn
Tuy nhiên, ứng dụng của Data Mining trong lĩnh vực giáo dục vẫn chưa thực sự đượcphát huy mạnh mẽ trong thời điểm hiện tại Cõ lẽ bởi vì sự mới mẻ của Data Mining ở ViệtNam, cũng như những chi phí nhất định cho việc áp dụng kỹ thuật này vào hệ thống giáodục
Chúng ta thường sử dụng các công cụ Data Mining để khám phá các mẫu (patterns)trong quy trình sản xuất phức tạp Ngoài ra, nó còn được dùng để dự đoán thời gian pháttriển sản phẩm, chi phí
4.8 Các ứng dụng khoa học khác
Các ứng dụng của Data Mining được thảo luận ở trên có xu hướng xử lý các tập dữ liệunhỏ và đồng nhất Đối với các ứng dụng này thường yêu cầu những kỹ thuật thống kê phùhợp, thu thập một lượng lớn dữ liệu từ các lĩnh vực khoa học, tạo ra một số lượng lớn các tập
dữ liệu, v.v
Sau đây là các ứng dụng khai thác dữ liệu trong lĩnh vực khoa học ứng dụng:
- Kho dữ liệu và tiền xử lý dữ liệu (Data Warehouses and data preprocessing)
- Khai thác dựa trên đồ thị (Graph-based mining)
- Hình dung và kiến thức cụ thể miền (Visualization and domain-specific knowledge)
Trang 11CHƯƠNG 2: CÁC KỸ THUẬT DATA MINING TRONG SQL SERVER
1.1 Giới thiệu
Cây quyết định là một trong những thuật toán máy học phổ biến nhất hiện nay Nóđược dùng trong cả bài toán phân lớp và hồi quy Mỗi nút biểu diễn một đặc trưng(tínhchất), mỗi nhánh(branch) biểu diễn một quy luật(rule) và mỗi lá biểu biễn một kết quả (giátrị cụ thể hay một nhánh tiếp tục)
Cây quyết định bắt trước mức độ suy nghĩ của con người nên nó đơn giản để hiểu vàchuẩn bị dữ liệu
Cây quyết định giúp bạn thấy được logic từ dữ liệu:
Ví dụ: nếu chúng ta đang phân lớp ứng dụng vay ngân hàng cho khác hàng, cây quyếtđịnh sẽ nhìn giống như trong ảnh
Chúng ta có thể nhìn thấy được sự logic về việc xây dựng cây quyết định Khá đơngiản và rõ ràng
Trang 121.2 Xây dựng cây quyết định
1.2.1 Cây quyết định cho bài toán phân lớp
ID3 (Iterative Dichotomiser 3) → dùng Entropy function và Information gain để kiểm
tra Giả định chúng ta đang xây dựng một cây quyết định mà tại một node quyết định chúng
ta có 50 quan sát rơi vào chúng Có ba phương án lựa chọn node lá tiếp theo tương ứng với 3
biến, chúng có kết quả thống kê tại node lá lần lượt là:
- Biến 1: 25 nhãn 1, 25 nhãn 0
- Biến 2: 20 nhãn 1, 30 nhãn 0
- Biến 3: 0 nhãn 1, 50 nhãn 0
Theo bạn đâu sẽ là biến phù hợp nhất được lựa chọn tại node lá?
Kịch bản lựa chọn biến 1 dường như là vô nghĩa vì nó tương đương với dự báo ngẫunhiên nhãn 0 và 1
Kịch bản tương ứng với biến 2 có xu hướng dự báo thiên về nhãn 0 nhưng tỷ lệ dự báosai nhãn 1 vẫn còn cao
Lựa chọn biến 3 là tuyệt vời vì chúng ta đã dự báo đúng hoàn toàn nhãn 0
Như vậy mục tiêu của chúng ta khi đối diện với việc phân loại đó là kết quả trả về
tại node lá chỉ thuộc về một lớp Chúng ta sử dụng một thuật ngữ ngắn gọn để gọi tên trường hợp này là tinh khiết (purity) Trái ngược lại với tinh khiết sẽ là khái niệm vấn đục (impurity), tức phân phối của các nhãn tại node lá còn khá mập mờ, không có xu hướng
thiên về một nhãn nào cụ thể Nếu ra quyết định phân loại dựa trên kịch bản dẫn tới node lá
sẽ trả về kết quả không đáng tin cậy
Trang 13Độ đo entropy: là một phép đo được sử dụng trong thuật toán Decision Tree để đo
lường độ không thuần túy (impurity) của một tập dữ liệu Nó đo lường mức độ hỗn loạntrong tập dữ liệu, cụ thể là đo lường mức độ không chắc chắn khi phân loại một mẫu ngẫunhiên từ tập dữ liệu
H(S)=∑
c ∈C
−P(c)log2P(c)Trong đó:
- H(S) là entropy của tập dữ liệu S
- P(c) là tỷ lệ mẫu thuộc vào lớp c trong tập dữ liệu S
Entropy có giá trị từ 0 đến 1 Khi entropy gần 0, tức là tập dữ liệu đã thuần túy và chỉchứa các mẫu thuộc cùng một lớp Ngược lại, khi entropy gần 1, tập dữ liệu hỗn loạn vàchứa các mẫu thuộc nhiều lớp khác nhau
Information Gain
Information Gain (độ thu giảm thông tin) là một khái niệm quan trọng trong thuật toánDecision Tree Nó được sử dụng để đo lường lợi ích thông tin của việc phân chia một tập dữliệu dựa trên một đặc trưng cụ thể
Trang 14Khi xây dựng một cây quyết định, chúng ta cần quyết định xem đặc trưng nào nênđược chọn để phân chia cây Information Gain đo lường sự khác biệt giữa entropy của tập dữliệu ban đầu và entropy của tập dữ liệu sau khi được phân chia theo một đặc trưng.
Công thức tính Information Gain như sau:
IG(A , S)=H(S)−∑
t ∈T p(t )H (t )
Trong đó:
- IG(A, S) là Information Gain (độ thu giảm thông tin) khi phân chia tập S dựa trênthuộc tính A
- H(S) là entropy của tập dữ liệu S trước khi phân chia
- p(t) là tỷ lệ mẫu thuộc vào nhánh con t trong tập dữ liệu S
- H(t) là entropy của nhánh con t
Quy trình: Tính toán entropy cho tập dữ liệu
Với tất cả đặc trưng:
- Tính toán entropy của tất cả giá trị
- Tính entropy trung bình cho thuộc tính đang thực hiện
- Chọn đặc trưng cho IG cao nhất
- Lặp lại cho đến khi thu được cây như mong muốn
Ví dụ tập dữ liệu nổi tiếng trong ngành máy học:
- Dữ liệu thời tiết (weather dataset)
- Đưa ra yes or no dựa vào thời tiết
Trường hợp với biến liên tục
Ta tuning threshold để biến đổi biến liên tục sang các đặc trưng (features) Chẳng hạn
Trang 15{S0={ x i ∨x i j
≤ t , x i ϵ S}
S1={x i ∨x i j
>t , x i ϵ S}
Làm sao để lựa chọn được ngưỡng t tốt nhất?
Kịch bản phân chia trên giúp tạo thành hai node lá Mức độ tinh khiết sau phân chia sẽ
bằng tổng có trọng số của entropy tại mỗi node lá mới Giá trị này được gọi là entropy sau
phân chia:
chia đạt được là nhỏ nhất Điều này cũng đồng nghĩa với mức độ tinh khiết thu được tại node
lá là tinh khiết nhất Đối với biến phân loại thì chúng ta không cần phải tuning ngưỡng mà
có thể trực tiếp tính ngay entropy.
Tính entropy của dữ liệu:
H(yes) = -(9/14) * log2(9/14) = 0.41
H(no) = -(5/14) * log2(5/14) = 0.53
Trang 17Lặp lại đén khi nhận được kết quả cuối cùng Cuối cùng ta có được kết quả:
1.2.2 Cây quyết định cho bài toán hồi quy
Chúng ta có thể áp dụng cây quyết định cho bài toán dự báo cũng tương tự như bàitoán phân loại Điểm khác biệt đó là chúng ta không sử dụng hàm tin thu mà thay vào đó là
độ suy giảm của độ lệch chuẩn (Standard Deviation Reduction).
Ví dụ ta sử dụng bộ dữ liệu bên dưới để dự đoán số giờ chơi
Cây quyết định được xây dựng từ trên xuống từ nút gốc và bao gồm việc phân vùng dữliệu thành các tập hợp con chứa các phiên bản có giá trị tương tự (đồng nhất) Chúng tôi sửdụng độ lệch chuẩn để tính toán tính đồng nhất của mẫu số Nếu mẫu số hoàn toàn đồng nhấtthì độ lệch chuẩn của nó bằng 0
Trang 18Trong đó :
- Độ lệch chuẩn ( S ) dành cho việc xây dựng cây (phân nhánh).
- Hệ số sai lệch ( CV ) được sử dụng để quyết định khi nào nên ngừng phân nhánh Chúng ta cũng có thể sử dụng Count(n).
- Trung bình ( Avg ) là giá trị trong các nút lá.
Độ lệch chuẩn của hai thuộc tính (đích và yếu tố dự đoán):
Trang 19Giảm độ lệch chuẩn
Việc giảm độ lệch chuẩn dựa trên mức giảm độ lệch chuẩn sau khi tập dữ liệu đượcphân chia trên một thuộc tính Việc xây dựng cây quyết định chủ yếu là tìm thuộc tính trả vềmức giảm độ lệch chuẩn cao nhất (tức là các nhánh đồng nhất nhất)
Bước 1 : Tính độ lệch chuẩn của mục tiêu
- Độ lệch chuẩn (Hours Played) = 9,32
Bước 2 : Tập dữ liệu sau đó được chia thành các thuộc tính khác nhau Độ lệch chuẩncho mỗi nhánh được tính toán Độ lệch chuẩn thu được sẽ được trừ khỏi độ lệch chuẩn trướckhi phân chia Kết quả là giảm độ lệch chuẩn
Trang 20Bước 3 : Thuộc tính có mức giảm độ lệch chuẩn lớn nhất được chọn cho nút quyếtđịnh
Bước 4a : Tập dữ liệu được chia dựa trên các giá trị của thuộc tính được chọn Quátrình này được chạy đệ quy trên các nhánh không có lá cho đến khi tất cả dữ liệu được
xử lý
Trong thực tế, chúng ta cần một số tiêu chí chấm dứt Ví dụ: khi hệ số sai lệch (CV)của một nhánh trở nên nhỏ hơn một ngưỡng nhất định (ví dụ: 10%) hoặc khi có quá íttrường hợp ( n ) vẫn còn trong nhánh (ví dụ: 3)
Bước 4b : Tập con "Overcast" không cần phân tách thêm nữa vì CV (8%) của nó nhỏhơn ngưỡng (10%) Nút lá liên quan lấy giá trị trung bình của tập hợp con "Overcast"
Trang 21Bước 4c : Tuy nhiên, nhánh "Sunny" có CV (28%) nhiều hơn ngưỡng (10%) cần đượctách thêm Chọn "Windy" là nút tốt nhất sau "Outlook" vì nó có SDR lớn nhất
Vì số lượng điểm dữ liệu cho cả hai nhánh (FALSE và TRUE) <=3 nên dừng phânnhánh thêm và gán giá trị trung bình của mỗi nhánh cho nút lá liên quan
Trang 22Bước 4d : Nhánh “mưa” có CV (22%) cao hơn ngưỡng (10%) Vì vậy nhánh này cầnđược chia nhỏ hơn nữa Chọn "Temp" là nút tốt nhất vì nó có SDR lớn nhất
Bước 5: Kết quả
Bởi vì số lượng điểm dữ liệu cho cả ba nhánh (Cool, Hot và Mild) bằng hoặc nhỏ hơn
3 nên dừng phân nhánh thêm và gán giá trị trung bình của mỗi nhánh cho nút lá liên
Trang 23Ta thu được cây quyết định
Tiêu chuẩn dừng (Giảm Overfitting)
Nếu chúng ta tiếp tục phân chia cây quyết định liên tục thì số lượng các quan sát ở mỗi node
lá sẽ giảm dần Cho tới một ngưỡng độ sâu nào đó, số quan sát còn lại ở mỗi node lá sẽ rấtnhỏ và thậm chí chỉ một vài quan sát Các kết quả dự báo dựa trên tập mẫu rất nhỏ nàykhông còn mang tính tổng quát và do đó hiện tượng quá khớp thường xảy ra Để tránh hiệntượng quá khớp cũng như tiết kiệm chi phí tính toán, chúng ta sẽ dừng việc phân chia khi đạtmột số điều kiện:
Độ sâu của cây nhị phân chạm một ngưỡng tối thiểu
Số lượng các quan sát của một node lá đạt ngưỡng tối thiểu Chẳng hạn như: 30 quan sátthuộc node lá cho bài toán phân loại nhị phân thì quyết định phân lớp là đủ tin cậy
Node lá hoàn toàn thuộc về một nhóm duy nhất Tức node phân chia là hoàn toàn tinh khiết
Số lượng các node phân chia đạt ngưỡng
Số lượng các node lá đạt ngưỡng Số lượng node lá càng nhiều thì mô hình càng trở nênphức tạp
Trang 24hàm tin thu giảm dưới một ngưỡng rất nhỏ Đồng nghĩa với việc phân chia thêm cũng không
số cắt tỉa (reducing error pruning)
Ngoài ra còn một kỹ thuật khác sẽ tìm cách giảm thiểu mức độ cồng kềnh của cây quyếtđịnh thông qua kiểm soát số lượng node lá Theo đó phương pháp này cộng thêm thành phần
K là số lượng node lá vào hàm mất mát là tổng entropy có trọng số của các node con Giả sửcây quyết định cuối cùng phân loại đúng toàn bộ các quan sát về K tập tại node lá là
- |S i| là kích thước của node lá.
Cũng giống như các phương pháp điều chuẩn khác, chúng ta lựa chọn λ là một giá trị dươngtương đối nhỏ đại diện cho thành phần kiểm soát Gía trị này lớn thể hiện vai trò của số
Trang 25lượng node lá tác động lên hàm chi phí lớn Ở thời điểm ban đầu để phân loại đúng toàn bộcác quan sát thì cần số lượng node lá là K tương đối lớn Sau đó chúng ta sẽ cắt tỉa dần câyquyết định sao cho mỗi một lượt cắt tỉa hàm mất mát giảm một lượng là lớn nhất Quá trìnhcắt tỉa sẽ dừng cho tới khi hàm mất mát không còn tiếp tục giảm được nữa.
1.2.3 Ưu nhược điểm của thuật toán cây quyết định
Dữ liệu đầu vào có thể là là dữ liệu missing, không cần chuẩn hóa hoặc tạo biến giả
Có thể làm việc với cả dữ liệu số và dữ liệu phân loại
Có thể xác thực mô hình bằng cách sử dụng các kiểm tra thống kê
Có khả năng là việc với dữ liệu lớn
Nhược điểm:
Kèm với đó, cây quyết định cũng có những nhược điểm cụ thể:
Mô hình cây quyết định phụ thuộc rất lớn vào dữ liệu của bạn Thạm chí, với một sự thayđổi nhỏ trong bộ dữ liệu, cấu trúc mô hình cây quyết định có thể thay đổi hoàn toàn
Cây quyết định hay gặp vấn đề overfitting
II Microsoft Nave Bayes
Bộ phân lớp Bayes là một giải thuật thuộc lớp giải thuật thống kê, nó có thể dự đoán xácsuất của một phần tử dữ liệu thuộc vào một lớp là bao nhiêu Phân lớp Bayes được dựa trênđịnh lý Bayes (định lý được đặt theo tên tác giả của nó là Thomas Bayes)
Trang 262.1 Định lý Bayes
Gọi A, B là hai biến cố
Công thức Bayes tổng quát
Trong đó ta gọi A là một chứng cứ (evidence) (trong bài toán phân lớp A sẽ là một phần tử
dữ liệu), B là một giả thiết nào để cho A thuộc về một lớp C nào đó Trong bài toán phân lớpchúng ta muốn xác định giá trị P(B/A) là xác suất để giả thiết B là đúng với chứng cứ A
Trang 27thuộc vào lớp C với điều kiện ra đã biết các thông tin mô tả A P(B|A) là một xác suất hậunghiệm (posterior probability hay posteriori probability) của B với điều kiện A.
Giả sử tập dữ liệu liệu khách hàng của chúng ta được mô tả bởi các thuộc tính tuổi và thunhập, và một khách hàng X có tuổi là 25 và thu nhập là 2000$ Giả sử H là giả thiết kháchhàng đõ sẽ mua máy tính, thì P(H|X) phản ánh xác xuất người dùng X sẽ mua máy tính vớiđiều kiện ta biết tuổi và thu nhập của người đó
Ngược lại P(H) là xác suất tiền nghiệm (prior probability hay priori probability) của H.Trong ví dụ trên, nó là xác suất một khách hàng sẽ mua máy tính mà không cần biết cácthông tin về tuổi hay thu nhập của họ Hay nói cách khác, xác suất này không phụ thuộc vàoyếu tố X Tương tự, P(X|H) là xác suất của X với điều kiện H (likelihood), nó là một xácsuất hậu nghiệm VÍ dụ, nó là xác suất người dùng X (có tuổi là 25 và thu nhập là $200) sẽmua máy tính với điều kiện ta đã biết người đó sẽ mua máy tính Cuối cùng P(X) là xác suấttiền nghiệm của X Trong ví dụ trên, nó se là xác xuất một người trong tập dữ liệu sẽ có tuổi
25 và thu nhập $2000
Posterior = Likelihood * Prior / Evidence
2.2 Phân lớp Naive Bayes
Bộ phân lớp Naive bayes hay bộ phân lớp Bayes (simple byes classifier) hoạt động nhưsau:
Gọi D là tập dữ liệu huấn luyện, trong đó mỗi phần tử dữ liệu X được biểu diễn bằng mộtvector chứa n giá trị thuộc tính A1, A2, ,An = {x1,x2, ,xn}
Giả sử có m lớp C1, C2, ,Cm Cho một phần tử dữ liệu X, bộ phân lớp sẽ gán nhãn cho X làlớp có xác suất hậu nghiệm lớn nhất Cụ thể, bộ phân lớp Bayes sẽ dự đoán X thuộc vào lớp
Ci nếu và chỉ nếu:
P(Ci|X) > P(Cj|X) (1<= i, j <=m, i != j)
Giá trị này sẽ tính dựa trên định lý Bayes
Trang 28Để tìm xác suất lớn nhất, ta nhận thấy các giá trị P(X) là giống nhau với mọi lớp nên khôngcần tính Do đó ta chỉ cần tìm giá trị lớn nhất của P(X|Ci) * P(Ci) Chú ý rằng P(Ci) đượcước lượng bằng |Di|/|D|, trong đó Di là tập các phần tử dữ liệu thuộc lớp Ci Nếu xác suấttiền nghiệm P(Ci) cũng không xác định được thì ta coi chúng bằng nhau P(C1) = P(C2) =
= P(Cm), khi đó ta chỉ cần tìm giá trị P(X|Ci) lớn nhất
Khi số lượng các thuộc tính mô tả dữ liệu là lớn thì chi phí tính toàn P(X|Ci) là rất lớn, dó đó
có thể giảm độ phức tạp của thuật toán Naive Bayes giả thiết các thuộc tính độc lập nhau.Khi đó ta có thể tính:
P(X|Ci) = P(x1|Ci) P(xn|Ci)
Ví dụ 1:
Phân các bệnh nhân thành 2 lớp ung thư và không ung thư Giả sử xác suất để một người
bị ung thư là 0.008 tức là P(cancer) = 0.008; và P(nocancer) = 0.992 Xác suất để bệnh nhânung thư có kết quả xét nghiệm dương tính là 0.98 và xác suất để bệnh nhân không ung thư
có kết quả dương tính là 0.03 tức là P(+/cancer) = 0.98, P(+/nocancer) = 0.03 Bây giờ giả sửmột bệnh nhân có kết quả xét nghiệm dương tính Ta có:
P(+/canncer)P(cancer) = 0.98 * 0.008 = 0.0078
P(+/nocancer)P(nocancer) = 0.03 * 0.992 = 0.0298
Như vậy, P(+/nocancer)P(nocancer) >> P(+/cancer)P(cancer)
Do đó ta xét đoán rằng, bệnh nhân là không ung thư
2.3 Khắc phục vấn đề xác suất điều kiện bằng zero
Nếu trong dữ liệu huấn luyện không có đối tượng X nào có thuộc tính lớp Ck có thuộc tính
Fi nhận một giá trị cụ thể vij, xác suất điều kiện P(Fi = xij | Ck) sẽ bằng 0
Khi phân lớp, nếu có một đối tượng nào mang thuộc tính này thì xác suất phân vào lớp Ckluôn bằng 0
Khắc phục bằng cách ước lượng theo công thức sau:
Trang 29Ưu điểm
Giả định độc lập: hoạt động tốt cho nhiều bài toán/miền sữ liệu và ứng dụng
Đơn giản nhưng đủ tốt để giải quyết nhiều bài toán như phân lớp văn bản, lọc spam,
Cho phép kết hợp tri thức tiền nghiệm (prior knowledge) và dữ liệu quan sát được (obserweddata)
Tốt khi có sự chệnh lệch số lượng giữa các lớp phân loại
Huấn luyện mô hình (ước lượng tham số) dễ và nhanh
Nhược điểm
Giả định độc lập (ưu điểm cũng chính là nhược điểm) hầu hết các trường hợp thực tế trong
đó có các thuộc tính trong các đối tượng thường phụ thuộc lẫn nhau
Vấn đề zero (đã nêu cách giải quyết ở phía trên)
Mô hình không được huẩn luyện bằng phượng pháp tối ưu mạnh và chặt chẽ Tham số mủa
mô hình là các ước lượng xác suất điều kiện đơn lẻ Không tính đến sự tương tác giữa cácước lượng này
Trang 30III Microsoft Time Series
3.1 Định nghĩa
Thuật toán Microsoft time series cung cấp nhiều thuật toán được tối ưu hóa để dự báo cácgiá trị liên tục, chẳng hạn như doanh số bán sản phẩm, theo thời gian Trong khi các thuậttoán khác của Microsoft, chẳng hạn như decision trees, yêu cầu các cột thông tin mới bổsung làm đầu vào để dự đoán xu hướng thì mô hình time series lại không như vậy Mô hìnhtime series có thể dự đoán xu hướng chỉ dựa trên tập dữ liệu gốc được sử dụng để tạo môhình
Sơ đồ sau đây thể hiện một mô hình điển hình để dự báo doanh số bán sản phẩm ở bốn khuvực bán hàng khác nhau theo thời gian Mô hình được hiển thị trong sơ đồ cho thấy doanh sốbán hàng cho từng khu vực được biểu thị bằng các đường màu đỏ, vàng, tím và xanh lam.Mỗi khu vực có hai phần:
Thông tin lịch sử xuất hiện ở bên trái của dòng dọc và thể hiện dữ liệu mà thuật toán sử dụng
để tạo mô hình
Thông tin dự đoán xuất hiện ở bên phải đường thẳng đứng và thể hiện dự báo mà mô hìnhđưa ra
- Sự kết hợp giữa dữ liệu nguồn và dữ liệu dự đoán được gọi là series
- Một tính năng quan trọng của thuật toán Microsoft Time Series là nó có thể thực hiện dựđoán chéo(cross prediction) Nếu huấn luyện thuật toán với hai chuỗi riêng biệt nhưng cóliên quan, bạn có thể sử dụng mô hình kết quả để dự đoán kết quả của một chuỗi dựa trênhành vi của chuỗi kia Ví dụ: doanh số bán hàng được quan sát của một sản phẩm có thể ảnhhưởng đến doanh số dự kiến của sản phẩm khác Dự đoán chéo cũng hữu ích trong việc tạo
Trang 31ra một mô hình chung có thể áp dụng cho nhiều chuỗi Ví dụ: dự đoán cho một khu vực cụthể không ổn định do chuỗi thiếu dữ liệu chất lượng tốt Bạn có thể huấn luyện một mô hìnhchung về trung bình của cả bốn vùng, sau đó áp dụng mô hình đó cho từng chuỗi riêng lẻ đểtạo ra các dự đoán ổn định hơn cho từng vùng.
- Ví dụ: Đội ngũ quản lý tại một công ty muốn dự đoán doanh số bán xe đạp hàng thángtrong năm tới Công ty đặc biệt quan tâm đến việc liệu việc bán một mẫu xe đạp có thể được
sử dụng để dự đoán doanh số của một mẫu xe khác hay không Bằng cách sử dụng thuật toánMicrosoft Time Series trên dữ liệu lịch sử trong ba năm qua, công ty có thể tạo ra mô hìnhdatamining để dự báo doanh số bán xe đạp trong tương lai Ngoài ra, công ty có thể thựchiện các dự đoán chéo để xem liệu xu hướng bán hàng của từng mẫu xe đạp có liên quan vớinhau hay không
Mỗi quý, công ty có kế hoạch cập nhật mô hình với dữ liệu bán hàng gần đây và cập nhật dựđoán của họ để mô hình hóa các xu hướng gần đây Để khắc phục những cửa hàng khôngcập nhật dữ liệu bán hàng chính xác hoặc nhất quán, họ sẽ tạo mô hình dự đoán chung và sửdụng mô hình đó để tạo dự đoán cho tất cả các khu vực
3.2 Cách thuật toán hoạt động
- trong SQL Server 2005 (9.x), thuật toán Chuỗi thời gian của Microsoft đã sử dụng mộtphương pháp chuỗi thời gian tự động hồi quy duy nhất, có tên là ARTXP Thuật toánARTXP đã được tối ưu hóa cho các dự đoán ngắn hạn và do đó, rất xuất sắc trong việc dựđoán giá trị có thể xảy ra tiếp theo trong chuỗi Bắt đầu từ SQL Server 2008, thuật toánMicrosoft Time Series đã thêm thuật toán thứ hai, ARIMA, được tối ưu hóa cho dự đoán dàihạn
- Theo mặc định, thuật toán Chuỗi thời gian của Microsoft sử dụng kết hợp các thuật toánkhi phân tích mẫu và đưa ra dự đoán Thuật toán đào tạo hai mô hình riêng biệt trên cùngmột dữ liệu: một mô hình sử dụng thuật toán ARTXP và một mô hình sử dụng thuật toánARIMA Sau đó, thuật toán kết hợp các kết quả của hai mô hình để đưa ra dự đoán tốt nhấttrong một số khoảng thời gian khác nhau Vì ARTXP là lựa chọn tốt nhất cho các dự đoánngắn hạn nên nó có trọng số cao hơn khi bắt đầu một loạt dự đoán Tuy nhiên, khi khoảngthời gian mà bạn dự đoán tiến xa hơn về phía tương lai, ARIMA sẽ có trọng số lớn hơn
Trang 32- Bạn cũng có thể kiểm soát việc kết hợp các thuật toán để ưu tiên dự đoán ngắn hạn hoặcdài hạn theo chuỗi thời gian Bắt đầu từ SQL Server 2008 standard, bạn có thể chỉ định thuậttoán nào sẽ sử dụng:
Chỉ sử dụng ARTXP để dự đoán ngắn hạn
Chỉ sử dụng ARIMA để dự đoán dài hạn
Sử dụng sự kết hợp mặc định của hai thuật toán
Bắt đầu từ SQL Server 2008 Enterprise, bạn cũng có thể tùy chỉnh cách thuật toán timeseries của Microsoft kết hợp các mô hình để dự đoán Khi bạn sử dụng mô hình hỗn hợp,thuật toán time series của Microsoft sẽ kết hợp hai thuật toán theo cách sau:
Chỉ ARTXP luôn được sử dụng để đưa ra một vài dự đoán đầu tiên
Sau vài dự đoán đầu tiên, sự kết hợp giữa ARIMA và ARTXP sẽ được sử dụng
Khi số bước dự đoán tăng lên, các dự đoán sẽ phụ thuộc nhiều hơn vào ARIMA cho đến khiARTXP không còn được sử dụng nữa
Bạn kiểm soát điểm trộn, tốc độ giảm trọng lượng ARTXP và tăng trọng lượng ARIMAbằng cách đặt tham số PREDICTION_SMOOTHING
Cả hai thuật toán đều có thể phát hiện tính thời vụ của dữ liệu ở nhiều cấp độ Ví dụ: dữ liệucủa bạn có thể chứa các chu kỳ hàng tháng được lồng trong các chu kỳ hàng năm Để pháthiện các chu kỳ theo mùa này, bạn có thể cung cấp gợi ý về tính tuần hoàn hoặc chỉ địnhrằng thuật toán sẽ tự động phát hiện tính tuần hoàn
Ngoài tính tuần hoàn, còn có một số tham số khác kiểm soát hoạt động của thuật toánMicrosoft Time Series khi nó phát hiện tính tuần hoàn, đưa ra dự đoán hoặc phân tích cáctrường hợp Để biết thông tin về cách đặt tham số thuật toán, hãy xem Tài liệu tham khảo kỹthuật về thuật toán timeseries của Microsoft
Trang 333.3 Dữ liệu cần cho Time series model
- Các yêu cầu đối với mô hình chuỗi thời gian như sau:
Một cột thời gian khóa duy nhất Mỗi mô hình phải chứa một cột số hoặc cột ngày được sửdụng làm chuỗi trường hợp, xác định các lát thời gian mà mô hình sẽ sử dụng Kiểu dữ liệucho cột thời gian chính có thể là kiểu dữ liệu ngày giờ hoặc kiểu dữ liệu số Tuy nhiên, cộtphải chứa các giá trị liên tục và các giá trị phải là duy nhất cho mỗi chuỗi Chuỗi trường hợpcho mô hình chuỗi thời gian không thể được lưu trữ trong hai cột, chẳng hạn như cột Năm
và cột Tháng
Một cột có thể dự đoán được Mỗi mô hình phải chứa ít nhất một cột có thể dự đoán đượcxung quanh đó thuật toán sẽ xây dựng mô hình chuỗi thời gian Kiểu dữ liệu của cột dự đoánphải có giá trị liên tục Ví dụ: bạn có thể dự đoán các thuộc tính số như thu nhập, doanh sốbán hàng hoặc nhiệt độ thay đổi như thế nào theo thời gian Tuy nhiên, bạn không thể sửdụng cột chứa các giá trị riêng biệt, chẳng hạn như trạng thái mua hàng hoặc trình độ họcvấn, làm cột có thể dự đoán được
Cột khóa chuỗi tùy chọn Mỗi mô hình có thể có một cột khóa bổ sung chứa các giá trị duynhất xác định một chuỗi Cột khóa chuỗi tùy chọn phải chứa các giá trị duy nhất Ví dụ: một
mô hình có thể chứa doanh số bán hàng của nhiều mẫu sản phẩm, miễn là chỉ có một bản ghicho mỗi tên sản phẩm cho mỗi lát cắt thời gian
Bạn có thể xác định dữ liệu đầu vào cho mô hình Chuỗi thời gian của Microsoft theo nhiềucách khác nhau Tuy nhiên, do định dạng của các trường hợp đầu vào ảnh hưởng đến địnhnghĩa của mô hình khai thác nên bạn phải xem xét nhu cầu kinh doanh của mình và chuẩn bị
dữ liệu cho phù hợp Hai ví dụ sau minh họa cách dữ liệu đầu vào ảnh hưởng đến mô hình.Trong cả hai ví dụ, mô hình khai thác hoàn chỉnh chứa các mẫu cho bốn chuỗi riêng biệt:Doanh số bán sản phẩm A
Bán hàng cho sản phẩm B
Khối lượng cho sản phẩm A
Khối lượng cho sản phẩm B
Trang 34Trong cả hai ví dụ, bạn có thể dự đoán doanh số và số lượng mới trong tương lai cho từngsản phẩm Bạn không thể dự đoán giá trị mới cho sản phẩm hoặc thời gian.
3.4 Quan sát time series model
Sau khi mô hình được đào tạo, kết quả sẽ được lưu trữ dưới dạng tập hợp các mẫu mà bạn cóthể khám phá hoặc sử dụng để đưa ra dự đoán
Để khám phá mô hình, bạn có thể sử dụng Trình xem chuỗi thời gian Trình xem bao gồmbiểu đồ hiển thị các dự đoán trong tương lai và chế độ xem dạng cây về các cấu trúc định kỳtrong dữ liệu
Nếu muốn biết thêm về cách tính toán dự đoán, bạn có thể duyệt mô hình trong MicrosoftGeneric Content Tree Viewer Nội dung được lưu trữ cho mô hình bao gồm các chi tiết nhưcấu trúc tuần hoàn được phát hiện bởi thuật toán ARIMA và ARTXP, phương trình được sửdụng để kết hợp các thuật toán và các số liệu thống kê khác
3.5 tạo time series predictions
- Theo mặc định, khi bạn xem mô hình chuỗi thời gian, SQL Server Analysis Services sẽhiển thị năm dự đoán cho chuỗi Tuy nhiên, bạn có thể tạo truy vấn để trả về số lượng dựđoán khác nhau và bạn có thể thêm cột vào dự đoán để trả về số liệu thống kê mô tả
- Khi sử dụng thuật toán Chuỗi thời gian của Microsoft để đưa ra dự đoán, bạn nên xem xétcác hạn chế và yêu cầu bổ sung sau:
Dự đoán chéo chỉ khả dụng khi bạn sử dụng mô hình hỗn hợp hoặc khi bạn sử dụng mô hìnhchỉ dựa trên thuật toán ARTXP Nếu bạn sử dụng mô hình chỉ dựa trên thuật toán ARIMAthì không thể dự đoán chéo
Mô hình chuỗi thời gian có thể đưa ra các dự đoán khác nhau, đôi khi đáng kể, tùy thuộc vào
hệ điều hành 64 bit mà máy chủ sử dụng Những khác biệt này xảy ra do cách hệ thống dựatrên Itanium biểu thị và xử lý các số cho số học dấu phẩy động, khác với cách hệ thống dựatrên x64 thực hiện các phép tính này Vì kết quả dự đoán có thể dành riêng cho hệ điều hànhnên chúng tôi khuyên bạn nên đánh giá các mô hình trên cùng hệ điều hành mà bạn sẽ sửdụng trong sản xuất
Trang 35IV Microsoft Association
4.1 Định nghĩa
- Thuật toán Microsoft Association thường được sử dụng cho các công cụ đề xuất Công cụ
đề xuất sẽ đề xuất các mặt hàng cho khách hàng dựa trên các mặt hàng họ đã mua hoặc họ
đã bày tỏ sự quan tâm Thuật toán Microsoft Association cũng hữu ích cho việc phân tíchgiỏ hàng thị trường
- Các mô hình liên kết (association) được xây dựng trên các tập dữ liệu chứa mã định danhcho cả trường hợp riêng lẻ và các mục mà trường hợp đó chứa Một nhóm các mục trongmột thùng được gọi là một tập mục(itemset) Một mô hình kết hợp bao gồm một loạt các tậpmục và các quy tắc mô tả cách các mục đó được nhóm lại với nhau trong các trường hợp.Các quy tắc mà thuật toán xác định có thể được sử dụng để dự đoán khả năng mua hàngtrong tương lai của khách hàng, dựa trên các mặt hàng đã có trong giỏ hàng của khách hàng
Sơ đồ sau đây cho thấy một loạt các quy tắc trong một tập mục
- Như sơ đồ minh họa, thuật toán Microsoft Association có thể tìm thấy nhiều quy tắc trongmột tập dữ liệu Thuật toán sử dụng hai tham số, độ hỗ trợ (support) và xác suất(probability), để mô tả các tập mục và quy tắc mà nó tạo ra Ví dụ: nếu X và Y đại diện chohai mặt hàng có thể có trong giỏ hàng thì tham số hỗ trợ là số trường hợp trong tập dữ liệuchứa kết hợp các mặt hàng X và Y Bằng cách sử dụng tham số hỗ trợ kết hợp với tham sốxác định người dùng, MINIMUM_SUPPORT và MAXIMUM_SUPPORT, thuật toán kiểmsoát số lượng tập mục được tạo Tham số xác suất, còn được gọi là độ tin cậy, biểu thị tỷ lệcác trường hợp trong tập dữ liệu chứa X và cũng chứa Y Bằng cách sử dụng tham số xácsuất kết hợp với tham số MINIMUM_PROBABILITY, thuật toán sẽ kiểm soát số lượng quytắc được tạo
- Ví dụ: Công ty A đang thiết kế lại chức năng của trang Web của mình Mục tiêu của việcthiết kế lại là tăng lượng bán sản phẩm Vì công ty ghi lại từng lần bán hàng trong cơ sở dữ
Trang 36liệu giao dịch nên họ có thể sử dụng Microsoft Association algorithm để xác định các nhómsản phẩm có xu hướng được mua cùng nhau Sau đó, họ có thể dự đoán các mặt hàng bổsung mà khách hàng có thể quan tâm, dựa trên các mặt hàng đã có trong giỏ hàng của kháchhàng.
3.2.2.5.2 Cách thuật toán hoạt động
- Thuật toán của Hiệp hội Microsoft duyệt qua tập dữ liệu để tìm các mục xuất hiện cùngnhau trong một trường hợp Sau đó, thuật toán sẽ nhóm thành các tập mục bất kỳ mục liênquan nào xuất hiện ở mức tối thiểu trong số trường hợp được chỉ định bởi tham sốMINIMUM_SUPPORT Ví dụ: một tập mục có thể là "Mountain 200=Existing, Sport100=Existing" và có thể có mức hỗ trợ là 710 Sau đó, thuật toán sẽ tạo ra các quy tắc từ cáctập mục đó Các quy tắc này được sử dụng để dự đoán sự hiện diện của một mục trong cơ sở
dữ liệu, dựa trên sự hiện diện của các mục cụ thể khác mà thuật toán xác định là quan trọng
Ví dụ: một quy tắc có thể là "nếu Touring 1000=existing và Road bottle cage=existing thìWater bottle=existing" và có thể có xác suất là 0,812 Trong ví dụ này, thuật toán xác địnhrằng sự hiện diện trong giỏ của lốp Touring 1000 và khung đựng chai nước dự đoán rằngmột chai nước cũng có khả năng nằm trong giỏ
4.2 Dữ liệu cần cho Association models
Các yêu cầu đối với mô hình luật kết hợp (association rules model) như sau:
Một cột khóa duy nhất Mỗi mô hình phải chứa một cột số hoặc văn bản xác định duy nhấtmỗi bản ghi phím ghép không được phép
Một cột có thể dự đoán được Một mô hình liên kết chỉ có thể có một cột có thể dự đoánđược Thông thường, đây là cột chính của bảng lồng nhau, chẳng hạn như bảng liệt kê cácsản phẩm đã được mua Các giá trị phải rời rạc hoặc rời rạc
Các cột đầu vào phải rời rạc Dữ liệu đầu vào cho mô hình liên kết thường được chứa tronghai bảng Ví dụ: một bảng có thể chứa thông tin khách hàng trong khi bảng khác chứa thôngtin mua hàng của khách hàng Bạn có thể nhập dữ liệu này vào mô hình bằng cách sử dụngbảng lồng nhau Để biết thêm thông tin về các bảng lồng nhau, hãy xem Bảng lồng nhau(Dịch vụ phân tích - Khai thác dữ liệu)
Trang 373.2.2.5.4 Quan sát Association models
- Để khám phá mô hình, bạn có thể sử dụng Microsoft Association Viewer Khi bạn xemmột mô hình liên kết, SQL Server Analysis Services trình bày các mối tương quan từ cácgóc độ khác nhau để bạn có thể hiểu rõ hơn về các mối quan hệ và quy tắc được tìm thấytrong dữ liệu Ngăn Bộ mục trong trình xem cung cấp bảng phân tích chi tiết về các kết hợphoặc bộ mục phổ biến nhất Khung Quy tắc trình bày danh sách các quy tắc đã được tổnghợp từ dữ liệu, thêm các phép tính xác suất và xếp hạng các quy tắc theo tầm quan trọngtương đối trình xem mạng phụ thuộc cho phép bạn khám phá trực quan cách kết nối từngmục khác nhau
3.2.2.5.5 Dự đoán
- Sau khi mô hình được xử lý, bạn có thể sử dụng các quy tắc và tập mục để đưa ra dự đoán.Trong mô hình liên kết, dự đoán cho bạn biết mục nào có khả năng xảy ra khi có mục đượcchỉ định và dự đoán có thể bao gồm các thông tin như xác suất, mức hỗ trợ hoặc tầm quantrọng
V, Microsoft Sequence Clustering
Phân cụm chuỗi là gì?
Clustering em hiểu đây kỹ thuật phổ biến trong học tập không giám sát, nơi dữ liệu đượcnhóm dựa trên sự giống nhau của các điểm dữ liệu sequence clustering là một thuật toántrong lĩnh vực khai phá dữ liệu và phân tích chuỗi dữ liệu Đầu tiên, em bắt đầu xem xét ýnghĩa của sequence clustering Khi nhắc đến ‘chuỗi’, em hiểu là ta nhắc đến một sự kiện, đốitượng hoặc hành động có thể sắp xếp theo một trình tự cụ thể Sequence clustering là quátrình tìm và chia các dữ liệu thành các nhóm chuỗi dựa trên đặc điểm chung tương tự nhaucủa chúng.Nó có thể được áp dụng trong nhiều lĩnh vực như xử lý ngôn ngữ tự nhiên, côngnghệ sinh học, phân tích chuỗi thời gian,kinh doanh và nhiều hơn nữa
Ví dụ:
Mô tả hoạt động mua sắm của các khách hàng: Giả sử bạn có dữ liệu về các giao dịch muahàng của khách hàng trong một chuỗi thời gian Thuật toán sequence clustering có thể giúpbạn phân nhóm các khách hàng có hành vi mua sắm tương tự với nhau Ví dụ, bạn có thể
Trang 38nhận ra rằng có một nhóm khách hàng là nam thường mua sắm các sản phẩm điện tử, trongkhi nhóm khác thường mua sắm quần áo Điều này giúp bạn hiểu khách hàng và tạo ra cácchiến lược marketing phù hợp Hay ta xét Tập hợp các chuỗi dữ liệu mua sắm của kháchhàng = {hàng A, hàng B, hàng C, hàng D}
Xử lý ngôn ngữ tự nhiên: Trong xử lý ngôn ngữ tự nhiên, thuật toán sequence clustering cóthể được áp dụng để phân nhóm và phân tích các chuỗi văn bản tương tự nhau Ví dụ, bạn cóthể sử dụng nó để phân nhóm các văn bản dựa trên một số tiêu chí, chẳng hạn như cấu trúcngữ pháp, ngữ cảnh, chủ đề hoặc ngôn ngữ
Phân tích chuỗi thời gian: Trong phân tích dữ liệu chuỗi thời gian, thuật toán sequenceclustering có thể giúp bạn phân nhóm và tìm ra các mẫu trong dữ liệu thời gian Ví dụ, bạn
Trang 39có thể sử dụng nó để phát hiện chuỗi sự cố trong hệ thống, dự đoán xu hướng tăng trưởnghoặc tìm hiểu các yếu tố ảnh hưởng đến sự biến đổi trong dữ liệu thời gian
Model
Mô hình Microsoft Sequence Clustering sử dụng các mô hình Markov để xác định trình tự
và xác định xác suất của các chuỗi Mô hình Markov là một biểu đồ có hướng lưu trữ cácchuyển tiếp giữa các trạng thái khác nhau Thuật toán Microsoft Sequence Clustering sửdụng chuỗi Markov bậc n, không phải mô hình Hidden Markov
Trong mô hình Markov, số lượng trạng thái được sử dụng để xác định xác suất của các trạngthái hiện tại phụ thuộc vào bậc của chuỗi Markov Trong mô hình Markov bậc nhất, xác suấtcủa một trạng thái chỉ phụ thuộc vào trạng thái trước đó Trong mô hình Markov bậc hai, xácsuất của một trạng thái phụ thuộc vào hai trạng thái trước đó, và tương tự Để lưu trữ cácchuyển tiếp của các trạng thái trong chuỗi Markov, một ma trận chuyển tiếp được sử dụng.Khi chiều dài của chuỗi Markov tăng lên, kích thước của ma trận chuyển tiếp cũng tăng theocấp số nhân, và do đó ma trận trở nên cực kỳ thưa thớt Điều này có nghĩa là chỉ có một số
lượng nhỏ các ô trong ma trận chứa giá trị khác 0, trong khi phần lớn các ô còn lại đều là 0
Vì thế, khi xử lý chuỗi Markov dài, thời gian xử lý cũng tăng theo tỷ lệ thuận với kích thướccủa ma trận chuyển tiếp Sự thưa thớt của ma trận cũng tạo ra thách thức trong việc lưu trữ
và tính toán
Để minh họa chuỗi, ta sẽ thể sử dụng ví dụ về phân tích clickstream, phân tích các lượt truycập vào các trang web trên một trang web Mỗi người dùng tạo ra một chuỗi dài các lượtnhấp cho mỗi phiên Khi bạn tạo một mô hình để phân tích hành vi người dùng trên mộttrang web, tập dữ liệu được sử dụng để đào tạo là một chuỗi các URL, được chuyển đổithành một đồ thị bao gồm số lượng tất cả các trường hợp của cùng một đường dẫn nhấp Ví
dụ, đồ thị chứa xác suất mà người dùng di chuyển từ trang 1 đến trang 2 (10%), xác suất màngười dùng di chuyển từ trang 1 đến trang 3 (20%), v.v Khi bạn đặt tất cả các đường dẫn cóthể và các phần của các đường dẫn lại với nhau, bạn nhận được một đồ thị có thể dài hơn vàphức tạp hơn nhiều so với bất kỳ đường dẫn quan sát được nào
hàm mất mát