Để minh họa giải thuật SOM, tôi đã lập một vài tham số để máy tìm kiếm Vinahoo thực hiện crawler 150 trang Web tại nguồn Website http://www.vnexpress.net , trong đó 3 chủ để đƣợc lựa chọn để crawler là:
Van_hoa: http://vnexpress.net/Vietnam/Van-hoa/ Suc_khoe: http://vnexpress.net/Vietnam/Suc-khoe Phap_luat: http://vnexpress.net/Vietnam/Phap-luat/
Sau đó, các véctơ biểu diễn các trang Web trên đƣợc lƣu trữ trong file webLog.datạ Chúng ta sẽ sử dụng công cụ SOM Toolbox, gồm các hàm đƣợc viết bằng Matlab để phân cụm tập dữ liệu này theo các bƣớc sau:
1. Đọc dữ liệu
2. Xử lý dữ liệu trƣớc khi đƣa vào huấn luyện 3. Khởi tạo mẫu và huấn luyện theo thuật toán SOM 4. Mô phỏng kết quả
Chi tiết quá trình thử nghiệm diễn ra nhƣ sau: % BUOC 1: DOC DU LIEU TU FILE DATA sD = som_read_datắwebLog.datá);
data read ok
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
% NHAN PHIM BAT KY DE TIEP TUC pause();
% BUOC 2 CHUAN HOA DU LIEU TRUOC KHI HUAN LUYEN sD = som_normalize(sD,'var');
% NHAN PHIM BAT KY DE TIEP TUC pause();
% BUOC 3 TIEN HANH HUAN LUYEN DU LIEU sM = som_make(sD);
Determining map sizẹ.. map size [11, 6] Initialization...
Training using batch algorithm... Rough training phasẹ..
Training: 0/ 0 s Training: 0/ 0 s Finetuning phasẹ.. Training: 0/ 0 s Training: 0/ 0 s Training: 0/ 0 s Training: 0/ 1 s Training: 0/ 0 s Training: 0/ 1 s Training: 0/ 1 s Training: 1/ 1 s
Final quantization error: 0.0 Final topographic error: 0.0
Formatted: Dutch (Netherlands)
% NHAN PHIM BAT KY DE TIEP TUC pause();
% BUOC 4.1 MO PHONG TRUC QUAN DU LIEU DA DUOC PHAN CUM % ---
som_show(sM,'umat','all','emptý,'Web Mining'); pause();
% BUOC 4.2 MO PHONG TRUC QUAN DU LIEU DA DUOC PHAN CUM % ---
Hình 3.1: Ma trận U thể hiện sự phân cụm các trang Web
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
som_show_ađ('label',sM,'Textsizé,8,'TextColor','r','subplot',2);