1. Trang chủ
  2. » Công Nghệ Thông Tin

Kỹ thuật gôm cụm trong ngôn ngữ R

10 109 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 1,03 MB
File đính kèm BT_Khai pha luat Gom cum dung R.rar (1 MB)

Nội dung

Gôm 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 học tập không giám sát (Unsupervised Learning) trong học máy (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 gôm cụm là các quy trình tìm cách nhóm các đối tượng đã cho vào các cụm, sao cho các đối tượng trong cùng 1 cụm tương tự nhau và các đối tượng khác cụm thì không tương tự nhau.Mục đích của gôm 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 gôm 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 giá hiệu quả trong phân tích gôm cụm, điều này phụ thuộc vào mục đích của gôm cụm như: dữ liệu ít, cụm tự nhiên, cụm hữu ích và các cụm ngoại lệ khác.

Kỹ thuật Gôm cụm Khai phá liệu (Clustering Techniques in Data Mining) I Giới thiệu Gôm cụm kỹ thuật quan trọng khai phá liệu, thuộc lớp phương pháp học tập khơng giám sát (Unsupervised Learning) học máy (Machine Learning) Có nhiều định nghĩa khác kỹ thuật này, chất ta hiểu gơm cụm quy trình tìm cách nhóm đối tượng cho vào cụm, cho đối tượng cụm tương tự đối tượng khác cụm khơng tương tự Mục đích gơm cụm tìm chất bên nhóm liệu Các thuật tốn gơm cụm (Clustering Algorithms) sinh cụm (clusters) Tuy nhiên, tiêu chí xem tốt để đánh giá hiệu phân tích gơm cụm, điều phụ thuộc vào mục đích gơm cụm như: liệu ít, cụm tự nhiên, cụm hữu ích cụm ngoại lệ khác Kỹ thuật gôm cụm áp dụng nhiều lĩnh vực như: - Marketing: Xác định nhóm khách hàng (khách hàng tiềm năng, khách hàng giá trị, phân loại dự đoán hành vi khách hàng,…) sử dụng sản phẩm hay dịch vụ cơng ty để giúp cơng ty có chiến lược kinh doanh hiệu hơn; - Biology: Phân nhóm động vật thực vật dựa vào thuộc tính chúng; - Libraries: Theo dõi độc giả, sách, dự đoán nhu cầu độc giả…; - Insurance, Finance: Phân nhóm đối tượng sử dụng bảo hiểm dịch vụ tài chính, dự đốn xu hướng (trend) khách hàng, phát gian lận tài (identifying frauds); - WWW: Phân loại tài liệu (document classification); phân loại người dùng web (clustering weblog);… Trong tập này, chúng em sử dụng phần mềm R thuật toán K-Mean để khai phá liệu II Tải cài đặt phần mềm R - Tải phần mềm R programming language theo địa chỉ: https://www.r-project.org/ https://rstudio.com/ - Cài đặt R, giao diện sau cài đặt chạy III Nguồn liệu, mô tả liệu - Tải tập liệu VN Airline “2008.csv” (673MB) từ địa chỉ: http://www.rdatasciencecases.org/Data/Airline/ - Trong tập liệu có nội dung: Từ ngày 01/12 đến ngày 31/12 tháng (DayofMonth December 1st to December 31th) Các ngày tuần từ thứ đến thứ chủ nhật (DayOfWeek refers to Monday and in a similar way, refers to Sunday) Thời gian khởi hành thực tế (DepTime Actual departure time) Thời gian đến thực tế (ArrTime Actual arrival time) Thời gian khởi hành theo lịch trình (CRSDepTime Scheduled departure time) Thời gian đến theo lịch trình (CRSArrTime Actual arrival time) Nhà cung cấp dịch vụ (Unique carrier code) Số chuyến bay (Flight number) Thời gian trôi qua thực tế chuyến bay tính phút (ActualElapsedTime In minutes) 10 Thời gian trơi qua theo lịch trình chuyến bay tính phút (CRSElapsedTime In minutes) 11 Thời gian không chuyến bay tính phút (AirTime In minutes) 12 Đến trễ vài phút (Arrival delay, in minutes) 13 Khởi hành chậm vài phút (DepDelay Departure delay, in minutes) 14 Sân bay xuất phát (Origin IATA airport code) 15 Sân bay đến (Dest Destination IATA airport code) 16 Khoảng cách bay (Distance In miles) - Từ tập liệu VN Airline sử dụng phần mềm R thuật toán K-means để phân tích liệu, để tìm thời gian máy bay trễ chuyến IV Sử dụng R Thuật toán k-means Xử lý liệu //Cài đặt gói liệu cần thiết: install.packages("dplyr") install.packages("factoextra") install.packages("animation") install.packages("proxy") install.packages("pamr") install.packages("clValid") * Cài đặt gói cịn thiếu library(cluster) library(proxy) library(fpc) library(pamr) library(clValid) library(ggplot2) library(dplyr) library(animation) library(factoextra) //Đọc file liệu tải df=read.csv("D:/Ths_CNTT/Cac_mon/Khai_pha_data/BT_28_10_2020/2008.csv ") glimpse(df) #quan sát liệu ta thấy: 7,009,728 dịng; có 29 cột //Do liệu lớn nên ta trích xuất liệu tháng 12, đủ để phân tích máy có cấu hình thấp df=subset(df, Month == "12") glimpse(df) # Lúc còn: 544,958 dòng; 29 cột summary(df) # Thông tin thống kê biến số //Loại bỏ giá trị trống df = na.omit(df) glimpse(df) #Lúc còn: 168,647 dòng; 29 cột //Loại bỏ số cột khơng có ý nghĩa phân tích df = df[, -20:-29] //Loại bỏ tháng, năm rõ xét liệu tháng 12, lại 17 cột df = df[, -1] df = df[, -1] str(df) #Kết quả: Dataset chứa 168,647 ghi với 17 biến quan sát Mô tả biến DayofMonth December 1st to December 31th summary(df$DayofMonth) DayOfWeek refers to Monday and in a similar way, refers to Sunday summary(df$DayOfWeek) DepTime Actual departure time summary(df$DepTime) ArrTime Actual arrival time summary(df$ArrTime) CRSDepTime Scheduled departure time summary(df$CRSDepTime) CRSArrTime Actual arrival time summary(df$CRSArrTime) UniqueCarrier Unique carrier code carrier = data.frame(df$UniqueCarrier) qplot(x = df$UniqueCarrier, data = carrier, fill = df$UniqueCarrier) Hãng hàng không Southwest chiếm phần lớn thị phần cao FlightNum Flight number summary(df$FlightNum) ActualElapsedTime In minutes summary(df$ActualElapsedTime) 10 CRSElapsedTime In minutes summary(df$CRSElapsedTime) 11 AirTime In minutes summary(df$AirTime) 12 ArrDelay Arrival delay, in minutes summary(df$ArrDelay) 13 DepDelay Departure delay, in minutes summary(df$DepDelay) 14 Origin Origin IATA airport code summary(df$Origin) 15 Dest Destination IATA airport code summary(df$Dest) 16 Distance In miles summary(df$Distance) Thực thuật toán K-means Do tập liệu gốc lớn khó tính tốn ma trận khoảng cách Vì vậy, chọn ngẫu nhiên 1000 ghi thực phân tích mẫu cd = df[sample(nrow(df), 1000), ] %>%select(-c(UniqueCarrier, FlightNum, TailNum, Origin, Dest)) m = as.matrix(cd) str(m) mDist = dist(m) Tìm tham số k: có cách thăm dò Cách 1: Thăm dò k hvalid

Ngày đăng: 12/11/2020, 15:03

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w