Phân tích dữ liệu lớn - Khám phá dữ liệu
Exploratory data analysislà một khái niệm được phát triển bởi John Tuckey (1977) bao gồm một quan điểm mới về thống kê. Ý tưởng của Tuckey là trong thống kê truyền thống, dữ liệu không được khám phá bằng đồ thị, chỉ được sử dụng để kiểm tra các giả thuyết. Nỗ lực đầu tiên để phát triển một công cụ được thực hiện ở Stanford, dự án được gọi là prim9 . Công cụ có thể trực quan hóa dữ liệu theo chín chiều, do đó nó có thể cung cấp góc nhìn đa biến của dữ liệu.
Trong những ngày gần đây, phân tích dữ liệu khám phá là điều bắt buộc và đã được đưa vào vòng đời của phân tích dữ liệu lớn. Khả năng tìm ra cái nhìn sâu sắc và có thể truyền đạt thông tin đó một cách hiệu quả trong một tổ chức được thúc đẩy bằng khả năng EDA mạnh mẽ.
Dựa trên ý tưởng của Tuckey, Bell Labs đã phát triển S programming languageđể cung cấp một giao diện tương tác để thực hiện thống kê. Ý tưởng của S là cung cấp các khả năng đồ họa rộng rãi với một ngôn ngữ dễ sử dụng. Trong thế giới ngày nay, trong bối cảnh Dữ liệu lớn,R điều đó dựa trên S ngôn ngữ lập trình là phần mềm phổ biến nhất để phân tích.
Chương trình sau đây trình bày việc sử dụng phân tích dữ liệu khám phá.
Sau đây là một ví dụ về phân tích dữ liệu khám phá. Mã này cũng có sẵn trongpart1/eda/exploratory_data_analysis.R tập tin.
library(nycflights13)
library(ggplot2)
library(data.table)
library(reshape2)
# Using the code from the previous section
# This computes the mean arrival and departure delays by carrier.
DT <- as.data.table(flights)
mean2 = DT[, list(mean_departure_delay = mean(dep_delay, na.rm = TRUE),
mean_arrival_delay = mean(arr_delay, na.rm = TRUE)),
by = carrier]
# In order to plot data in R usign ggplot, it is normally needed to reshape the data
# We want to have the data in long format for plotting with ggplot
dt = melt(mean2, id.vars = ’carrier’)
# Take a look at the first rows
print(head(dt))
# Take a look at the help for ?geom_point and geom_line to find similar examples
# Here we take the carrier code as the x axis
# the value from the dt data.table goes in the y axis
# The variable column represents the color
p = ggplot(dt, aes(x = carrier, y = value, color = variable, group = variable)) +
geom_point() + # Plots points
geom_line() + # Plots lines
theme_bw() + # Uses a white background
labs(list(title = 'Mean arrival and departure delay by carrier',
x = 'Carrier', y = 'Mean delay'))
print(p)
# Save the plot to disk
ggsave('mean_delay_by_carrier.png', p,
width = 10.4, height = 5.07)
Đoạn mã sẽ tạo ra một hình ảnh như sau: