Những bước ban đầu nào tôi nên sử dụng để hiểu được các tập dữ liệu lớn và tôi nên sử dụng công cụ nào?


10

Hãy cẩn thận: Tôi là người mới bắt đầu hoàn toàn khi nói đến học máy, nhưng ham học hỏi.

Tôi có một tập dữ liệu lớn và tôi đang cố gắng tìm mẫu trong đó. Có thể / có thể không có mối tương quan giữa các dữ liệu, với các biến đã biết hoặc các biến được chứa trong dữ liệu nhưng tôi chưa nhận ra thực sự là các biến / có liên quan.

Tôi đoán đây sẽ là một vấn đề quen thuộc trong thế giới phân tích dữ liệu, vì vậy tôi có một vài câu hỏi:

  1. 'Viên đạn bạc' sẽ ném tất cả dữ liệu này vào một chương trình phân tích dữ liệu / thống kê và để nó phá vỡ dữ liệu tìm kiếm các mẫu đã biết / chưa biết đang cố gắng tìm kiếm các mối quan hệ. SPSS có phù hợp không, hoặc có những ứng dụng khác có thể phù hợp hơn.

  2. Tôi có nên học một ngôn ngữ như R không, và tìm ra cách xử lý dữ liệu theo cách thủ công. Điều này sẽ không bắt buộc phải tìm kiếm các mối quan hệ vì tôi sẽ phải chỉ định thủ công những gì và làm thế nào để phân tích dữ liệu?

  3. Làm thế nào một người khai thác dữ liệu chuyên nghiệp sẽ tiếp cận vấn đề này và anh ta sẽ thực hiện những bước nào?

Câu trả lời:


11

Tôi sẽ cố gắng trả lời các câu hỏi của bạn, nhưng trước khi tôi muốn lưu ý rằng việc sử dụng thuật ngữ "tập dữ liệu lớn" là sai lệch, vì "lớn" là một khái niệm tương đối . Bạn phải cung cấp thêm chi tiết. Nếu bạn đang xử lý dữ liệu giá thầu , thì thực tế này rất có thể sẽ ảnh hưởng đến việc lựa chọn các công cụ , phương phápthuật toán ưa thích để phân tích dữ liệu của bạn . Tôi hy vọng rằng những suy nghĩ sau đây của tôi về phân tích dữ liệu giải quyết các câu hỏi phụ của bạn. Xin lưu ý rằng việc đánh số điểm của tôi không khớp với cách đánh số câu hỏi phụ của bạn. Tuy nhiên, tôi tin rằng nó phản ánh tốt hơn quy trình phân tích dữ liệu chung , ít nhất là cách tôi hiểu nó.

1) Đầu tiên, tôi nghĩ rằng bạn cần phải có ít nhất một loại mô hình khái niệm nào đó trong tâm trí (hoặc, tốt hơn, trên giấy). Mô hình này sẽ hướng dẫn bạn trong phân tích dữ liệu khám phá (EDA) . Sự hiện diện của một biến phụ thuộc (DV) trong mô hình có nghĩa là trong giai đoạn học máy (ML) của bạn sau này trong phân tích, bạn sẽ đối phó với cái gọi là ML được giám sát, trái ngược với ML không được giám sát khi không có DV được xác định.

2) Thứ hai, EDA là một phần quan trọng. IMHO, EDA nên bao gồm nhiều lần lặp để tạo số liệu thống kê mô tảtrực quan hóa dữ liệu , khi bạn tinh chỉnh hiểu biết của mình về dữ liệu. Không chỉ giai đoạn này sẽ cung cấp cho bạn những hiểu biết có giá trị về bộ dữ liệu của bạn, mà nó sẽ cung cấp cho giai đoạn quan trọng tiếp theo của bạn - làm sạch và chuyển đổi dữ liệu . Chỉ cần ném dữ liệu thô của bạn vào gói phần mềm thống kê sẽ không mang lại nhiều - đối với mọi phân tích thống kê hợp lệ , dữ liệu phải sạch, chính xác và nhất quán . Đây thường là phần tốn thời gian và công sức nhất, nhưng hoàn toàn cần thiết. Để biết thêm chi tiết về chủ đề này, hãy đọc những bài báo hay này:http://vita.had.co.nz/papers/tidy-data.pdf (bởi Hadley Wickham) và http://cran.r-project.org/doc/contrib/de_Jonge+van_der_Loo-Introduction_to_data_cleaning_with_R.pdf (bởi Edwin de Jrid và Mark van der Loo).

3) Bây giờ, như bạn hy vọng được thực hiện với EDA cũng như làm sạch và chuyển đổi dữ liệu, bạn đã sẵn sàng để bắt đầu một số giai đoạn liên quan đến thống kê hơn. Một trong những giai đoạn như vậy là phân tích nhân tố khám phá (EFA) , sẽ cho phép bạn trích xuất cấu trúc cơ bản của dữ liệu của mình. Đối với các bộ dữ liệu có số lượng biến lớn, tác dụng phụ tích cực của EFA là giảm kích thước . Và, theo nghĩa đó, EFA tương tự như phân tích thành phần chính (PCA)và các phương pháp giảm kích thước khác, tôi nghĩ rằng EFA quan trọng hơn vì nó cho phép tinh chỉnh mô hình khái niệm của bạn về các hiện tượng mà dữ liệu của bạn "mô tả", do đó có ý nghĩa về các bộ dữ liệu của bạn. Tất nhiên, ngoài EFA, bạn có thể / nên thực hiện phân tích hồi quy cũng như áp dụng các kỹ thuật học máy , dựa trên những phát hiện của bạn trong các giai đoạn trước.

Cuối cùng, một lưu ý về công cụ phần mềm . Theo tôi, tình trạng hiện tại của các gói phần mềm thống kê là ở điểm mà trên thực tế, bất kỳ gói phần mềm chính nào cũng có tính năng cung cấp tương đương. Nếu bạn học hoặc làm việc trong một tổ chức có các chính sách và sở thích nhất định về các công cụ phần mềm, thì bạn bị ràng buộc bởi chúng. Tuy nhiên, nếu đó không phải là trường hợp, tôi chân thành khuyên bạn nên sử dụng phần mềm thống kê nguồn mở , dựa trên sự thoải mái của bạn với ngôn ngữ lập trình cụ thể , đường cong học tậpquan điểm nghề nghiệp của bạn . Nền tảng lựa chọn hiện tại của tôi là R Project, cung cấp phần mềm thống kê trưởng thành, mạnh mẽ, linh hoạt, mở rộng và mở rộng, cùng với hệ sinh thái tuyệt vời của các gói, chuyên gia và người đam mê. Các lựa chọn tốt khác bao gồm Python , Julia và phần mềm nguồn mở cụ thể để xử lý dữ liệu lớn , chẳng hạn như sở dữ liệu Hadoop , Spark , NoQuery , WEKA . Để biết thêm ví dụ về phần mềm nguồn mở để khai thác dữ liệu , bao gồm phần mềm ML và thống kê chung và cụ thể, hãy xem phần này của trang Wikipedia: http://en.wikipedia.org/wiki/Data_mining#Free_open-source_data_mining_software_and_appluggest .

CẬP NHẬT: Quên đề cập đến Rattle ( http://rattle.togkn.com ), đây cũng là một phần mềm GUI định hướng R mã nguồn mở rất phổ biến để khai thác dữ liệu.


1
Sau khi trở lại câu hỏi này hơn một năm sau, tôi chắc chắn có thể lặp lại rằng việc biết dữ liệu của bạn là chìa khóa và bạn cần phải nhớ dữ liệu "tốt" so với dữ liệu "xấu" là gì. Tôi đã cố gắng sử dụng các giải pháp ma thuật như mạng thần kinh, v.v., nhưng quá trình dọn dẹp dữ liệu không dễ dàng. (Các mô hình markov ẩn dường như phản ứng tốt nhất với đầu vào bẩn và có thể dự đoán đầu ra tốt nhất). Nó thực sự chỉ đổ dữ liệu trong nhiều tuần sau khi ML thất bại và sau khi thực hiện nhiều biểu đồ (biểu thị trực quan của dữ liệu rất quan trọng) rằng tôi đã có thể phát hiện ra các giải pháp cho các vấn đề của mình!
dùng3791372

@ user3791372 Rất vui khi được nghe từ bạn! Rõ ràng là năm đó có ích cho bạn trong việc hiểu rõ hơn về các khía cạnh khác nhau của khoa học dữ liệu. Tôi ước mình có nhiều cơ hội để học hỏi nhiều hơn, nhưng mặt khác, tôi không thể phàn nàn vì tôi cũng học được khá nhiều (không phải lúc nào cũng liên quan đến khoa học dữ liệu, nhưng, có lẽ, nó thậm chí còn tốt hơn). Giữ nó lên!
Alexanderr Blekh

3
  1. SPSS là một công cụ tuyệt vời, nhưng bạn có thể hoàn thành rất nhiều tài nguyên mà bạn đã có trên máy tính của mình, như Excel, hoặc miễn phí, như dự án R. Mặc dù các công cụ này rất mạnh và có thể giúp bạn xác định các mẫu, bạn sẽ cần nắm chắc dữ liệu của mình trước khi chạy phân tích (Tôi khuyên bạn nên chạy thống kê mô tả về dữ liệu của mình và khám phá dữ liệu bằng biểu đồ để đảm bảo mọi thứ nhìn bình thường). Nói cách khác, công cụ mà bạn sử dụng sẽ không cung cấp "viên đạn bạc", bởi vì đầu ra sẽ chỉ có giá trị như đầu vào (bạn biết câu nói ... "rác vào, rác ra"). Phần lớn những gì tôi đang nói đã được nêu trong bài trả lời của Aleksandr - tại chỗ.

  2. R có thể là thách thức đối với những người trong chúng ta không am hiểu về mã hóa, nhưng tài nguyên miễn phí liên quan đến R và các gói của nó rất phong phú. Nếu bạn thực hành học chương trình, bạn sẽ nhanh chóng có được lực kéo. Một lần nữa, bạn sẽ cần phải làm quen với dữ liệu của mình và các phân tích bạn muốn chạy bằng mọi cách, và thực tế đó vẫn không phụ thuộc vào các công cụ thống kê bạn sử dụng.

  3. Tôi sẽ bắt đầu bằng cách làm quen với dữ liệu của mình (làm theo các bước được nêu trong phần trả lời từ Aleksandr, cho người mới bắt đầu). Bạn có thể cân nhắc chọn cuốn sách của John Foreman có tên là Data Smart. Đó là một cuốn sách thực hành, vì John cung cấp các bộ dữ liệu và bạn làm theo cùng với các ví dụ của anh ấy (sử dụng Excel) để tìm hiểu các cách khác nhau để điều hướng và khám phá dữ liệu. Đối với người mới bắt đầu, đó là một nguồn tài nguyên tuyệt vời.


2

Aleksandr đã đưa ra một lời giải thích rất kỹ lưỡng, nhưng ngắn gọn, đây là những bước được tuân theo:

Trích xuất dữ liệu

Dọn dẹp dữ liệu

Khai thác tính năng

Xây dựng mô hình

Suy ra kết quả

Kết quả công bố

Lặp lại các bước 3,4,5 trong vòng lặp cho đến khi bạn có được độ chính xác phù hợp.


0

R có GUI đối thoại pnc như SPSS. Họ in mã R để bạn có thể học hỏi và kết hợp những nỗ lực của họ. Tôi muốn giới thiệu BlueSky cho các cuộc đối thoại cho mọi thứ và rầm rộ. Mặc dù các phần mềm này rất tốt cho EDA, thống kê và trực quan hóa, nhưng máy học không hoạt động tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.