BÁO CÁO BÀI TẬP MÔN HỌC Họ tên : Trần Hoàng Giang Lớp : HTTT6 DataSet : El Nino Link : http://archive.ics.uci.edu/ml/datasets/El+Nino Bài toán thực hiện : Khai phá dữ liệu trên Weka với bài toán phân cụm Thuật toán: Simple K-Mean I.Giới thiệu El-Nino ban đầu là tên của dòng hải lưu chảy theo hướng nam ngoài khơi bờ biển Pêru và Êcuađo dẫn đến sự nóng lên của bề mặt nước phía đông Thái Bình Dương xích đạo dọc ngoài khơi bờ biển Pêru và Êcuađo vốn thường là lạnh. Hàng năm, vào mùa Giáng sinh, dòng hải lưu ấm chảy về phía nam dọc bờ biển Êcuađo thay thế cho nước lạnh ở đây và ngư dân địa phương gọi hiện tượng này là El-Nino (Chúa Hài đồng). Ngày nay, El-Nino được dùng để chỉ hiện tượng nóng lên khác thường của nước biển và vành đai xích đạo rộng lớn dài gần 10.000km, từ bờ biển Nam Mỹ đến quần đảo Macsan, Marudơ ở khu vực giữa Thái Bình Dương. El-Nino thường gắn với một quá trình lớn của khí quyển - đại dương là dao động Nam bán cầu và được gọi chung là ENSO. Hiện tượng El-Nino thường lặp lại với chu kỳ từ 8 đến 11 năm, chu kỳ ngắn hơn là 2 đến 3 năm. Giữa các thời kỳ nóng lên bất thường của nước biển ở khu vực trên, đôi khi còn xảy ra hiện tượng ngược lại, nước biển lạnh đi - Anti- El-Nino, hay còn gọi là La-Nina. Khi xuất hiện, El-Nino gây ra những thiên tai nặng nề như mưa lớn, bão, lũ ở vùng này, hạn hán, cháy rừng ở vùng khác, làm thiệt hại lớn về người, thảm hoạ về kinh tế - xã hội và đặc biệt là những thiệt hại không thể khắc phục về môi trường. Trong khoảng 100 năm trở lại đây, những lần El-Nino xuất hiện gây thiệt hại lớn là các năm 1877-1878, 1888; đối El-Nino (La-Nina) 1973-1975 và đặc biệt là "El-Nino thế kỷ 1982-1983" gây tổng thiệt hại cho toàn thế giới là 13 tỷ đô la.
Trang 1BỘ QUỐC PHÒNG HỌC VIỆN KỸ THUẬN QUÂN SỰ
*************
BÀI TẬP LỚN
KHAI PHÁ DỮ LIỆU
Đề tài: Khai phá dữ liệu dataset El Nino
Giáo viên hướng dẫn: Hồ Nhật Quang
Sinh viên thực hiện: Nguyễn Hoàng Giang
Lớp: Hệ thống thông tin 6
Trang 2BÁO CÁO BÀI TẬP MÔN HỌC
Họ tên : Trần Hoàng Giang
Lớp : HTTT6
DataSet : El Nino
Link : http://archive.ics.uci.edu/ml/datasets/El+Nino
Bài toán thực hiện : Khai phá dữ liệu trên Weka với bài toán phân cụm
Thuật toán: Simple K-Mean
I.Giới thiệu
El-Nino ban đầu là tên của dòng hải lưu chảy theo hướng nam ngoài khơi bờ biển Pêru và Êcuađo dẫn đến sự nóng lên của bề mặt nước phía đông Thái Bình Dương xích đạo dọc ngoài khơi bờ biển Pêru và Êcuađo vốn thường là lạnh Hàng năm, vào mùa Giáng sinh, dòng hải lưu
ấm chảy về phía nam dọc bờ biển Êcuađo thay thế cho nước lạnh ở đây và ngư dân địa phương gọi hiện tượng này là El-Nino (Chúa Hài đồng)
Ngày nay, El-Nino được dùng để chỉ hiện tượng nóng lên khác thường của nước biển và vành đai xích đạo rộng lớn dài gần 10.000km, từ bờ biển Nam Mỹ đến quần đảo Macsan, Marudơ ở khu vực giữa Thái Bình Dương El-Nino thường gắn với một quá trình lớn của khí quyển - đại dương là dao động Nam bán cầu và được gọi chung là ENSO Hiện tượng El-Nino thường lặp lại với chu kỳ từ 8 đến 11 năm, chu kỳ ngắn hơn là 2 đến 3 năm Giữa các thời kỳ nóng lên bất thường của nước biển ở khu vực trên, đôi khi còn xảy ra hiện tượng ngược lại, nước biển lạnh đi
- Anti- El-Nino, hay còn gọi là La-Nina
Khi xuất hiện, El-Nino gây ra những thiên tai nặng nề như mưa lớn, bão, lũ ở vùng này, hạn hán, cháy rừng ở vùng khác, làm thiệt hại lớn về người, thảm hoạ về kinh tế - xã hội và đặc biệt là những thiệt hại không thể khắc phục về môi trường
Trong khoảng 100 năm trở lại đây, những lần El-Nino xuất hiện gây thiệt hại lớn là các năm 1877-1878, 1888; đối El-Nino (La-Nina) 1973-1975 và đặc biệt là "El-Nino thế kỷ 1982-1983" gây tổng thiệt hại cho toàn thế giới là 13 tỷ đô la
Trang 3II Mô tả Dataset El Nino
Thuộc tính : gồm có 9 thuộc tính bao gồm:
sea surface temperature Nhiệt độ bề mặt nước biển
Training set : gồm 783 mẫu dữ liệu
Testing set : gồm 178080 mẫu dự liệu và 12 thuộc tính chính
III Thuật toán phân cụm K Mean
Phân cụm là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp các phương
pháp Unsupervised Learning trong Machine Learning Có rất nhiều định nghĩa khác nhau về kỹ
thuật này, nhưng về bản chất ta có thể hiểu phân cụm là các 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 tương tự (similar) nhau và các đối tượng khác cụm thì không tương tự (Dissimilar) nhau.
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ác thuật toán phân cụm (Clustering Algorithms) đều sinh ra các cụm (clusters) Tuy nhiên, không có tiêu chí nào là được xem là tốt nhất để đánh hiệu củ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 phân cụm như: data reduction, “natural clusters”, “useful” clusters, outlier detection
Kỹ thuật phân cụm có thể áp dụng trong rất nhiều lĩnh vực như:
Marketing: Xác định các nhóm khách hàng (khách hàng tiềm năng, khách hàng giá trị, phân loại và dự đoán hành vi khách hàng,…) sử dụng sản phẩm hay dịch vụ của công ty
để giúp công ty có chiến lược kinh doanh hiệu quả hơn;
Trang 4 Biology: Phận nhóm động vật và thực vật dựa vào các thuộc tính của chúng;
Libraries: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả…;
Insurance, Finance: Phân nhóm các đối tượng sử dụng bảo hiểm và các dịch vụ tài chính,
dự đoán xu hướng (trend) của khách hàng, phát hiện gian lận tài chính (identifying frauds);
WWW: Phân loại tài liệu (document classification); phân loại người dùng web (clustering weblog);…
Các kỹ thuật phân cụm được phân loại như sau (xem hình)
2 Thuật Toán K-Means
K-Means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ thuật phân cụm Tư tưởng chính của thuật toán K-Means là tìm cách phân nhóm các đối tượng (objects) đã cho vào
K cụm (K là số các cụm được xác đinh trước, K nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm nhóm (centroid ) là nhỏ nhất
Trang 5Thuật toán K-Means được mô tả như sau
Thuật toán K-Means thực hiện qua các bước chính sau:
1 Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster) Mỗi cụm được đại diện bằng các tâm của cụm
2 Tính khoảng cách giữa các đối tượng (objects) đến K tâm (thường dùng khoảng cách Euclidean)
3 Nhóm các đối tượng vào nhóm gần nhất
4 Xác định lại tâm mới cho các nhóm
5 Thực hiện lại bước 2 cho đến khi không có sự thay đổi nhóm nào của các đối tượng
Ví dụ minh họa thuật toán K-Mean:
Trang 6Giả sử ta có 4 loại thuốc A,B,C,D, mỗi loại thuộc được biểu diễn bởi 2 đặc trưng X và Y như sau Mục đích của ta là nhóm các thuốc đã cho vào 2 nhóm (K=2) dựa vào các đặc trưng của chúng
Bước 1 Khởi tạo tâm (centroid) cho 2 nhóm Giả sử ta chọn A là tâm của nhóm thứ nhất (tọa độ
tâm nhóm thứ nhất c1(1,1)) và B là tâm của nhóm thứ 2 (tạo độ tâm nhóm thứ hai c2 (2,1))
Bước 2 Tính khoảng cách từ các đối tượng đến tâm của các nhóm (Khoảng cách Euclidean)
Mỗi cột trong ma trận khoảng cách (D) là một đối tượng (cột thứ nhất tương ứng với đối tượng
A, cột thứ 2 tương ứng với đối tượng B,…) Hàng thứ nhất trong ma trận khoảng cách biểu diễn khoảng cách giữa các đối tượng đến tâm của nhóm thứ nhất (c1) và hàng thứ 2 trong ma trận khoảng cách biểu diễn khoảng cách của các đối tượng đến tâm của nhóm thứ 2 (c2)
Ví dụ, khoảng cách từ loại thuốc C=(4,3) đến tâm c1(1,1) là 3.61 và đến tâm c2(2,1) là 2.83 được tính như sau:
Trang 7Bước 3 Nhóm các đối tượng vào nhóm gần nhất
Ta thấy rằng nhóm 1 sau vòng lặp thứ nhất gồm có 1 đối tượng A và nhóm 2 gồm các đối tượng còn lại B,C,D
Bước 5 Tính lại tọa độ các tâm cho các nhóm mới dựa vào tọa độ của các đối tượng trong nhóm.
Nhóm 1 chỉ có 1 đối tượng A nên tâm nhóm 1 vẫn không đổi, c1(1,1) Tâm nhóm 2 được tính như sau:
Bước 6 Tính lại khoảng cách từ các đối tượng đến tâm mới
Trang 8Bước 7 Nhóm các đối tượng vào nhóm
Bước 8 Tính lại tâm cho nhóm mới
Trang 9Bước 8 Tính lại khoảng cách từ các đối tượng đến tâm mới
Bước 9 Nhóm các đối tượng vào nhóm
Ta thấy G2 = G1 (Không có sự thay đổi nhóm nào của các đối tượng) nên thuật toán dừng và kết quả phân nhóm như sau:
Thuật toán K-Means có ưu điểm là đơn giản, dễ hiểu và cài đặt Tuy nhiên, một số hạn chế của K-Means là hiệu quả của thuật toán phụ thuộc vào việc chọn số nhóm K (phải xác định trước) và chi phí cho thực hiện vòng lặp tính toán khoảng cách lớn khi số cụm K và dữ liệu phân cụm lớn
Điểm mạnh của phương pháp gom cụm k- means
- Hiệu suất tương đối: O(nkt) với n là số đối tượng, k là số cụm, t là số lần lặp Thông thường k, t << n
- Thuật toán này có ưu điểm là rõ ràng, dễ dàng cài đặt
Điểm yếu của phương pháp k- means
- Có thể áp dụng chỉ khi xác định được trị trung bình
- Cần chỉ định trước số các cụm- k
- Không thể xử lý nhiễu và outliers
Trang 10IV THỰC HIỆN
Đầu tiên ta mở weka
4.1Tiền xử lý
Mở dataset El Nino
Trang 11Bước 1 ta mở tab Preprocess <tiền xử lý>
Trang 122/ Cluster
Trang 133/ Config
Trang 144/ Clustering
5/ Kết luận
Với 100 mẫu có sẵn của Dataset thì thuật toán KMeans đã thu được kết quả gần đúng
Trang 15V Kết luận và đánh giá
1 So sánh với các thuật toán khác
a FarthestFist:
Tùy chọn
Trang 16 Kết quả
Trang 17b FilteredClusterer
Tùy chọn
Trang 18 Kết quả
2.Kết luận
Suy ra thuật toán KMeans vẫn chính xác nhất