Phân tích dữ liệu lớn - Công cụ phân tích dữ liệu
Có nhiều công cụ cho phép nhà khoa học dữ liệu phân tích dữ liệu một cách hiệu quả. Thông thường khía cạnh kỹ thuật của phân tích dữ liệu tập trung vào cơ sở dữ liệu, nhà khoa học dữ liệu tập trung vào các công cụ có thể triển khai các sản phẩm dữ liệu. Phần sau đây thảo luận về những ưu điểm của các công cụ khác nhau, tập trung vào các gói thống kê mà nhà khoa học dữ liệu sử dụng trong thực tế thường xuyên nhất.
Ngôn ngữ lập trình R
R là một ngôn ngữ lập trình mã nguồn mở tập trung vào phân tích thống kê. Nó có khả năng cạnh tranh với các công cụ thương mại như SAS, SPSS về khả năng thống kê. Nó được cho là một giao diện cho các ngôn ngữ lập trình khác như C, C ++ hoặc Fortran.
Một ưu điểm khác của R là số lượng lớn các thư viện mã nguồn mở có sẵn. Trong CRAN, có hơn 6000 gói có thể được tải xuống miễn phí vàGithub có rất nhiều gói R có sẵn.
Về mặt hiệu suất, R chậm đối với các hoạt động chuyên sâu, do số lượng lớn các thư viện có sẵn, các phần chậm của mã được viết bằng ngôn ngữ biên dịch. Nhưng nếu bạn đang có ý định thực hiện các hoạt động yêu cầu viết sâu cho các vòng lặp, thì R không phải là sự thay thế tốt nhất cho bạn. Đối với mục đích phân tích dữ liệu, có các thư viện tốt đẹp nhưdata.table, glmnet, ranger, xgboost, ggplot2, caret cho phép sử dụng R làm giao diện cho các ngôn ngữ lập trình nhanh hơn.
Python để phân tích dữ liệu
Python là một ngôn ngữ lập trình có mục đích chung và nó chứa một số lượng đáng kể các thư viện dành cho phân tích dữ liệu như pandas, scikit-learn, theano, numpy và scipy.
Hầu hết những gì có sẵn trong R cũng có thể được thực hiện bằng Python nhưng chúng tôi nhận thấy rằng R dễ sử dụng hơn. Trong trường hợp bạn đang làm việc với bộ dữ liệu lớn, thông thường Python là lựa chọn tốt hơn R. Python có thể được sử dụng khá hiệu quả để làm sạch và xử lý từng dòng dữ liệu. Điều này có thể thực hiện được từ R nhưng nó không hiệu quả bằng Python cho các tác vụ kịch bản.
Đối với học máy, scikit-learnlà một môi trường tốt có sẵn một lượng lớn các thuật toán có thể xử lý các tập dữ liệu có kích thước trung bình mà không gặp vấn đề gì. So với thư viện tương đương của R (dấu mũ),scikit-learn có API sạch hơn và nhất quán hơn.
Julia
Julia là một ngôn ngữ lập trình động hiệu suất cao cấp cao dành cho máy tính kỹ thuật. Cú pháp của nó khá giống với R hoặc Python, vì vậy nếu bạn đang làm việc với R hoặc Python thì việc viết cùng một đoạn mã trong Julia sẽ khá đơn giản. Ngôn ngữ này khá mới và đã phát triển đáng kể trong những năm qua, vì vậy nó chắc chắn là một lựa chọn vào lúc này.
Chúng tôi muốn giới thiệu Julia cho các thuật toán tạo mẫu chuyên sâu về tính toán, chẳng hạn như mạng nơ-ron. Nó là một công cụ tuyệt vời để nghiên cứu. Về mặt triển khai một mô hình trong sản xuất, có lẽ Python có các lựa chọn thay thế tốt hơn. Tuy nhiên, điều này ngày càng trở nên ít vấn đề hơn vì có những dịch vụ web thực hiện kỹ thuật triển khai các mô hình bằng R, Python và Julia.
SAS
SAS là một ngôn ngữ thương mại vẫn đang được sử dụng cho kinh doanh thông minh. Nó có một ngôn ngữ cơ sở cho phép người dùng lập trình nhiều loại ứng dụng. Nó chứa khá nhiều sản phẩm thương mại cung cấp cho người dùng không phải chuyên gia khả năng sử dụng các công cụ phức tạp như thư viện mạng thần kinh mà không cần lập trình.
Ngoài nhược điểm rõ ràng của các công cụ thương mại, SAS không mở rộng quy mô tốt cho các bộ dữ liệu lớn. Ngay cả tập dữ liệu có kích thước trung bình cũng sẽ gặp sự cố với SAS và làm cho máy chủ bị sập. Chỉ khi bạn đang làm việc với các bộ dữ liệu nhỏ và người dùng không phải là nhà khoa học dữ liệu chuyên nghiệp, thì SAS mới được khuyến nghị. Đối với người dùng nâng cao, R và Python cung cấp một môi trường hiệu quả hơn.
SPSS
SPSS, hiện là một sản phẩm của IBM để phân tích thống kê. Nó chủ yếu được sử dụng để phân tích dữ liệu khảo sát và đối với những người dùng không có khả năng lập trình, nó là một lựa chọn thay thế phù hợp. Nó có thể đơn giản để sử dụng như SAS, nhưng về mặt triển khai một mô hình, nó đơn giản hơn vì nó cung cấp một mã SQL để tính điểm cho một mô hình. Mã này thường không hiệu quả, nhưng đó là một bước khởi đầu trong khi SAS bán sản phẩm cho điểm các mô hình cho từng cơ sở dữ liệu riêng biệt. Đối với dữ liệu nhỏ và nhóm chưa có kinh nghiệm, SPSS là một lựa chọn tốt như SAS.
Tuy nhiên, phần mềm này khá hạn chế và những người dùng có kinh nghiệm sẽ sử dụng R hoặc Python có năng suất cao hơn.
Matlab, Octave
Có sẵn các công cụ khác như Matlab hoặc phiên bản mã nguồn mở của nó (Octave). Những công cụ này hầu hết được sử dụng cho nghiên cứu. Về khả năng, R hoặc Python có thể làm được tất cả những gì có trong Matlab hoặc Octave. Việc mua giấy phép của sản phẩm chỉ có ý nghĩa nếu bạn quan tâm đến sự hỗ trợ mà họ cung cấp.