Cách tốt nhất để tổng hợp và phân tích dữ liệu


13

Vừa mới bắt đầu tự học Máy học và phân tích dữ liệu Tôi thấy mình đang gặp phải một bức tường gạch về nhu cầu tạo và truy vấn các bộ dữ liệu lớn. Tôi muốn lấy dữ liệu tôi đã tổng hợp trong cuộc sống chuyên nghiệp và cá nhân của mình và phân tích nó nhưng tôi không chắc chắn về cách tốt nhất để làm như sau:

  1. Tôi nên lưu trữ dữ liệu này như thế nào? Excel? SQL? ??

  2. Một cách tốt để người mới bắt đầu cố gắng phân tích dữ liệu này là gì? Tôi là một lập trình viên máy tính chuyên nghiệp nên sự phức tạp không nằm ở việc viết chương trình mà ít nhiều cụ thể đối với lĩnh vực phân tích dữ liệu.

EDIT: Xin lỗi vì sự mơ hồ của tôi, khi bạn mới bắt đầu tìm hiểu về điều gì đó thật khó để biết những gì bạn không biết, bạn biết không? ;)

Phải nói rằng, mục tiêu của tôi là áp dụng điều này vào hai chủ đề chính:

  1. Số liệu của nhóm phần mềm (nghĩ vận tốc Agile, định lượng rủi ro, khả năng lặp lại hoàn thành thành công với x số điểm câu chuyện)

  2. Học máy (ví dụ ngoại lệ hệ thống đã xảy ra trong một tập hợp các mô-đun nhất định, khả năng mô-đun sẽ đưa ra một ngoại lệ trong trường, chi phí đó là bao nhiêu, dữ liệu có thể cho tôi biết về các mô-đun chính để cải thiện điều gì sẽ cải thiện cho tôi tiếng nổ tốt nhất, dự đoán phần nào của hệ thống mà người dùng sẽ muốn sử dụng tiếp theo để bắt đầu tải dữ liệu, v.v.).


Điều này có vẻ rất mơ hồ với tôi. Những loại dữ liệu, và loại phân tích? Ngoài ra, đây phải là wiki cộng đồng nếu nó chủ quan.
Shane

Câu trả lời:


19

Nếu bạn có bộ dữ liệu lớn - những bộ khiến Excel hoặc Notepad tải chậm, thì cơ sở dữ liệu là một cách tốt để sử dụng. Postgres là mã nguồn mở và được sản xuất rất tốt và dễ dàng kết nối với JMP, SPSS và các chương trình khác. Bạn có thể muốn lấy mẫu trong trường hợp này. Bạn không phải chuẩn hóa dữ liệu trong cơ sở dữ liệu. Mặt khác, CSV rất thân thiện.

Hãy xem xét Apache Hive nếu bạn có 100M + hàng.

Về mặt phân tích, đây là một số điểm bắt đầu:

Mô tả một biến:

  • Biểu đồ
  • Thống kê tóm tắt (trung bình, phạm vi, độ lệch chuẩn, tối thiểu, tối đa, v.v.)
  • Có ngoại lệ không? (lớn hơn 1,5 lần phạm vi liên phân vị)
  • Những loại phân phối nào nó làm theo? (bình thường, v.v.)

Mô tả mối quan hệ giữa các biến:

  • Âm mưu phân tán
  • Tương quan
  • Ngoại lệ? kiểm tra khoảng cách Mahalanobis

  • Âm mưu khảm cho phân loại

  • Bảng dự phòng cho phân loại

Dự đoán một số thực (như giá): hồi quy

  • Hồi quy OLS hoặc kỹ thuật hồi quy máy học

  • khi kỹ thuật được sử dụng để dự đoán là có thể hiểu được bởi con người, điều này được gọi là mô hình hóa. Ví dụ, một mạng lưới thần kinh có thể đưa ra dự đoán, nhưng nói chung là không thể hiểu được. Bạn cũng có thể sử dụng hồi quy để tìm các Chỉ số hiệu suất chính.

Dự đoán thành viên lớp hoặc xác suất thành viên lớp (như đã thông qua / không thành công): phân loại

  • hồi quy logistic hoặc kỹ thuật học máy, chẳng hạn như SVM

Đặt các quan sát vào các nhóm "tự nhiên": phân cụm

  • Nói chung, người ta tìm thấy các quan sát "tương tự" bằng cách tính khoảng cách giữa chúng.

Đặt thuộc tính vào các nhóm "tự nhiên": bao thanh toán

  • Và các hoạt động ma trận khác như PCA, NMF

Định lượng rủi ro = Độ lệch chuẩn hoặc tỷ lệ số lần "điều xấu" xảy ra x mức độ tệ của chúng

Khả năng lặp lại hoàn thành thành công với x số điểm câu chuyện = Hồi quy logistic

Chúc may mắn!


Nó thật là tuyệt vời. Cảm ơn bạn rất nhiều vì phản ứng này. Bạn đã cho tôi một điểm nhảy tuyệt vời. Bất kỳ cuốn sách nào bạn giới thiệu vì bạn dường như "đến" nơi tôi đang ở.
Justin Bozonier

bạn được chào đón. sách: Thống kê bằng tiếng Anh để bắt đầu. Phân tích dữ liệu đa biến bằng tóc sau đó. Đây là những tài nguyên web tốt: itl.nist.gov/div898/handbook , statsoft.com/textbook
Neil McGuigan

4

Nếu bạn đang xem xét các lỗi hệ thống, bạn có thể quan tâm đến bài báo sau sử dụng các kỹ thuật học máy để chẩn đoán lỗi tại eBay. Nó có thể cho bạn biết loại dữ liệu nào cần thu thập hoặc cách một nhóm tiếp cận một vấn đề cụ thể trong một miền tương tự.

Nếu bạn mới bắt đầu, một cái gì đó như RapidMiner hoặc Orange có thể là một hệ thống phần mềm tốt để bắt đầu chơi với dữ liệu của bạn khá nhanh. Cả hai đều có thể truy cập dữ liệu theo nhiều định dạng (tệp csv, cơ sở dữ liệu, trong số các định dạng khác).


3

Câu hỏi của bạn rất rộng đến nỗi câu trả lời là: nó phụ thuộc. Tuy nhiên, để đưa ra một số câu trả lời hữu ích hơn, tôi sẽ chỉ ra những gì tôi nghĩ là phổ biến trong Nghiên cứu.

Lưu trữ dữ liệu rất thường được thực hiện trong các tệp văn bản. Khi thực hiện phân tích thống kê, bạn chủ yếu làm việc với một tập hợp một loại vectơ. Điều này có thể được xem như một bảng và được viết ở định dạng csv. Lý do thường được lưu trữ trong văn bản thuần túy, bởi vì đơn giản là mọi công cụ đều có thể đọc chúng và thật dễ dàng để chuyển đổi chúng.

Về phân tích, điều này khó hơn một chút để được cụ thể. Nếu nó là 2 chiều, tạo một biểu đồ phân tán. Nếu đó là chiều cao, hãy thực hiện PCA và xem nơi các thành phần chính đầu tiên tồn tại để khám phá các biến quan trọng. Nếu bạn có dữ liệu thời gian, hãy vẽ nó. Đây là tất cả chung chung đến mức hữu ích, bạn phải thực sự chỉ ra tốt hơn những gì dữ liệu của bạn.


Peter, bạn đánh tôi đến cú đấm! Tôi hoàn toàn đồng ý với việc lưu trữ dữ liệu dưới dạng văn bản, mặc dù tùy thuộc vào kích thước (hàng trăm triệu quan sát), có thể cần phải chuyển vào cơ sở dữ liệu có thể thu nhỏ bản đồ (ví dụ: Pig, Cassandra hoặc một trong các tùy chọn NoQuery).
DrewConway

Oh ok thú vị! Vì vậy, chỉ cần lấy dữ liệu cho từng biến và đặt nó ở định dạng cột hàng và nhận được số giòn? Có công cụ nào tôi nên xem xét hay tôi chỉ nên lập trình một cái gì đó?
Justin Bozonier

R là một bộ công cụ / ngôn ngữ lập trình / thư viện rất rộng rãi (và miễn phí) để thống kê. Tuy nhiên, yêu thích của tôi đối với hầu hết mọi thứ là Python với SciPy / NumPy
Peter Smit

0

Một điều ROOT thực sự tốt là lưu trữ lượng dữ liệu khổng lồ. ROOT là một thư viện C ++ được sử dụng trong vật lý hạt; nó cũng đi kèm với các ràng buộc của Ruby và Python, vì vậy bạn có thể sử dụng các gói trong các ngôn ngữ này (ví dụ NumPy hoặc Scipy) để phân tích dữ liệu khi bạn thấy rằng ROOT cung cấp cho một số khả năng ngoài luồng.

Định dạng tệp ROOT có thể lưu trữ cây hoặc bộ dữ liệu và các mục có thể được đọc tuần tự, do đó bạn không cần phải giữ tất cả dữ liệu trong bộ nhớ cùng một lúc. Điều này cho phép phân tích petabyte dữ liệu, thứ mà bạn không muốn thử với Excel hoặc R.

Tài liệu I / O ROOT có thể đạt được từ đây .

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.