Chào mừng đến với BIS Đăng nhập | Đăng ký | Trợ giúp
trong Tìm kiếm

Giới thiệu kỹ thuật phân cụm dữ liệu với SQL SERVER Analysis Services

Bài cuối 05-03-2016 02:20 PM của ledung. 1 trả lời.
Trang 1 trong số 1 (2 nội dung)
Sắp xếp bài viết: Trước Tiếp theo
  • 05-02-2016 09:14 PM

    • chucnv
    • 10 thành viên năng nổ nhất
    • Tham gia 12-05-2008
    • Điểm 9,225

    Giới thiệu kỹ thuật phân cụm dữ liệu với SQL SERVER Analysis Services

    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

    • Điểm chủ đề: 35
  • 05-03-2016 02:20 PM trả lời

    • ledung
    • Không xếp hạng
    • Tham gia 05-03-2016
    • Điểm 20

    Re: Giới thiệu kỹ thuật phân cụm dữ liệu với SQL SERVER Analysis Services

    Bài viết rất sát vấn đề và dễ hiểu. Cảm ơn tác giả đã chia sẻ.
     
    • Điểm chủ đề: 20
Trang 1 trong số 1 (2 nội dung)
Powered by Community Server (Commercial Edition), by Telligent Systems