GIỚI THIỆU KỸ THUẬT PHÂN CỤM DỮ LIỆU VỚI SQL SERVER ANALYSIS SERVICES
chuc1803@gmail.com
Phân cụm dữ liệu là qui trình tìm cách nhóm các đối tượng đã
cho vào các cụm (clusters), sao cho các đối tượng trong cùng 1 cụm càng giống nhau
(similar) càng tốt và các đối tượng khác cụm thì càng khác nhau nhau
(Dissimilar) càng tốt.
Mục đích của phân cụm là tìm ra bản chất bên trong các nhóm
của dữ liệu. Có rất nhiều kỹ thuật phân cụm
như phân cụm phân hoạch, phân cụm phân cấp, phân cụm dựa trên mật độ...
Tuy nhiên, không có tiêu chí nào là được xem là tốt nhất để đánh giá hiệu qủa của
phân tích phân cụm, điều này phụ thuộc vào mục đích của bài toán phân cụm.
Bài viết này giới thiệu
cách triển khai kỹ thuật phân cụm dữ liệu với công cụ SQL Server Analysis
Service
Trước tiên, tạo dữ liệu mẫu cho minh họa như sau:
Dữ liệu dùng để xây dựng mô hình phân cụm dữ liệu được tạo
ra với 40000 dòng như sau:
Hình ảnh trực quan của dữ liệu khi biểu diễn bằng đồ thị (với
100 dòng)
Tạo Data Mining
Project có tên ClusterExample như sau:
Tạo Data Source (trong
Solution Explorer)
Tạo Data Source View
Tạo Data Mining
Structure, chọn kỹ thuật Microsoft Clustering
Chọn Khóa và các input
cho mô hình phân cụm như sau:
Chọn dữ liệu để test mô hình. Dữ liệu để xây dựng (training) và kiểm tra (testing) mô
hình có thể dùng chung 1 data set và thông thường dữ liệu để test model là 30%.
Nếu dữ liệu để test model trong 1 data set khác hoặc muốn dùng 100% dữ liệu để
training model thì để testing data bằng 0.
Click Finsh để kết
thúc thiết lập model
Trước khi thực hiện (Deploy) model, trong tab Data Mining
models, Right click vào model, chọn Set Algorithm Parameters để thiết lập các
tham số cho mô hình phân cụm
Một số tham số quan trọng
CLUSTER_COUNT: Đặt bằng 0 để hệ thống tự động tìm số cụm phù
hợp với dữ liệu (nếu muốn phân thành bao nhiêu cụm thì thay đổi ở đây)
CLUSTERING_METHOD: Kỹ thuật (thuật toán) phân cụm. Trong ví dụ
này dùng thuật toán K_Means
MINIMUM_SUPPORT: Số dòng dữ liệu tối thiểu trong 1 cụm
Các tham số khác sử dụng thiết lập mặc định của hệ thống
Sau khi hoàn thành việc
thiết lập model thì Deploy model bằng cách right click vào Project và chọn
Deploy
Kết quả phân cụm như
sau: Hệ thống phân 40 000 dòng dữ liệu đã tạo ra thành 4 cụm dựa vào giá trị của
thuộc tính x và y trong data set, mỗi cụm gồm 10000 records
Đặc trưng chi tiết của
từng cụm như sau:
Sự khác biệt giữa các
Clusters
Sau khi đã xây dựng mô hình phân cụm, có thể sử dụng mô hình này để phân cụm cho dữ liệu liệu chưa
biết.
Giả sử muốn biết đối tượng
X(AttributeX, AttributeY)= (0.72, 0.35) thuộc cụm nào ta làm như sau:
Trong Tab Mining Model
Prediction chọn Select Case Table chọn bảng dữ liệu input và bấm OK. Chú ý ánh
xạ (Mapping) giữa các cột của Model và các cột của bảng dữ liệu input cho đúng
(xem hình sau)
Right Click vào Input
Table chọn Singleton Query
Thiết kế Query dự đoán
như sau, xem kết quả dự đoán bấm Result ở góc trên trái window Design
Kết quả đối tượng X(AttributeX,
AttributeY)= (0.72, 0.35) thuộc Cluster 4. (Đặc trưng của Cluster 4 là thuộc
tính x lớn, thuộc tính y nhỏ)
Xem Video hướng dẫn tại ĐÂY