Phần mềm để khám phá dữ liệu dễ dàng nhưng mạnh mẽ


20

Trong nỗ lực chống lại tình trạng lộn xộn của bảng tính, tôi thường truyền giáo trong việc thúc đẩy các công cụ mạnh hơn như phần mềm thống kê thực sự (R, Stata và tương tự). Gần đây, tôi đã bị thách thức về quan điểm này bởi một người tuyên bố thẳng thừng rằng họ chỉ đơn giản là không học lập trình. Tôi muốn cung cấp cho họ các công cụ phân tích dữ liệu không cần lập trình (nhưng lý tưởng nhất sẽ mở rộng sang lập trình nếu họ quyết định nhúng một ngón chân vào nước sau này). Những gói nào hiện có để khám phá dữ liệu mà tôi có thể đề xuất với một khuôn mặt thẳng?


5
@ gsk3 - câu hỏi thú vị. Tôi có thể đoán rằng "chương trình" này không phải đối phó với các bảng tính phức tạp? có lẽ anh ấy / cô ấy muốn sống theo ý thức hệ của họ và tình nguyện làm công việc khó khăn với chính bảng tính? :)
xác suất

@probabilityislogic: "Programaphobe" xử lý chúng một khi chúng gây ra vấn đề, nhưng có cả đống mánh khóe để xử lý kết quả. Tôi đã thử các đối số chống bảng tính cổ điển nhưng không có kết quả (vâng, một số lợi ích, vì họ sẵn sàng xem xét phong cách giải pháp này!).
Ari B. Friedman

@ gsk3 - ah ha, vậy đó không phải là chương trình là vấn đề, nhưng người này sẽ không còn là "chuyên gia" và sẽ phải bắt đầu từ phía dưới?
xác suất

2
@probabilityislog - Tôi nghĩ rằng chi phí chìm là một phần lớn của vấn đề, vâng. Một số trong những chi phí đó không nghi ngờ gì về mặt xã hội, và một số trong số đó là tổn thất về thời gian và hiệu quả trong khi họ học được cách làm mới.
Ari B. Friedman

3
Tôi nghĩ rằng truyện tranh này có thể là đại diện thích hợp của tình huống. Nếu người bạn đang giới thiệu đã chết vì lập trình, điều này có thể là một ưu tiên quá mạnh để chống lại. Một chiến lược tốt hơn có thể là chỉ ra những thiếu sót của phân tích dựa trên bảng tính. Ví dụ: thử trong tệp Excel mới để nhập các giá trị và và tính tổng chúng (điều này hoạt động trên Excel 2007). Sau đó giải thích rằng không có gói thống kê tự tôn trọng sẽ cung cấp sai lầm tương tự mà không có bất kỳ cảnh báo và làm việc từ đó. 116114
mpiktas

Câu trả lời:


7

Tôi lập trình bằng Python cho 95% công việc của tôi và phần còn lại trong R hoặc MATLAB hoặc IDL / PV-WAVE (và sớm là SAS). Nhưng, tôi đang ở trong một môi trường mà thời gian để kết quả thường là một động lực lớn cho phân tích được chọn và vì vậy tôi cũng thường sử dụng các công cụ trỏ và nhấp. Theo kinh nghiệm của tôi, không có công cụ GUI đơn, mạnh mẽ, linh hoạt để thực hiện phân tích, giống như không có một ngôn ngữ nào. Tôi thường lắp ráp một bộ phần mềm thương mại và miễn phí sau đây

Tôi chưa sử dụng JMP, Stata, Statistica, v.v., nhưng tôi muốn.

Sử dụng các công cụ này liên quan đến việc học các GUI khác nhau và nhiều khái niệm trừu tượng về mô hình hóa, điều này gây khó khăn vào thời điểm đó nhưng hãy để tôi nhận được kết quả quảng cáo nhanh hơn sau này. Tôi ở cùng thuyền với OP vì trong khi hầu hết những người tôi làm việc cùng thực sự thông minh, họ không quan tâm đến việc học một ngôn ngữ, cũng không có nhiều GUI và thuật ngữ cụ thể cho ứng dụng. Vì vậy, tôi đã cam chịu chấp nhận rằng Excel thúc đẩy 90% phân tích trong thế giới kinh doanh. Theo đó, tôi đang tìm cách sử dụng những thứ như pyinex để cho phép tôi cung cấp các phân tích tốt hơn cho cùng một lớp trình bày Excel mà đại đa số các đồng nghiệp của tôi mong đợi.

CẬP NHẬT: Tiếp tục xuống chủ đề Lớp mô hình hóa với lập trình-nhưng-tạo-Excel-the-thuyết trình, tôi vừa tình cờ thấy trang web của anh chàng này cung cấp đồ họa kiểu Tufte để nhúng vào các ô Excel. Đơn giản là tuyệt vời và miễn phí!


1
Tôi sẽ nói rằng JMP là khá tốt. Ngay cả khi một người rất thành thạo R, có những lúc JMP là cách nhanh hơn để điều hướng và phân tích dữ liệu.
Lặp lại

8

Đối với phân tích dữ liệu thăm dò (có thể tương tác) có liên quan, tôi sẽ đề nghị xem xét:

  • Weka , ban đầu nhắm vào các ứng dụng khai thác dữ liệu, nhưng có thể được sử dụng để tóm tắt dữ liệu.
  • Mondrian , để trực quan hóa dữ liệu tương tác.
  • KNIME , dựa trên ý tưởng xây dựng luồng dữ liệu và tương thích với Weka và R.

Tất cả ba chấp nhận dữ liệu trong arffhoặc csvđịnh dạng.

Theo quan điểm của tôi, Stata không đòi hỏi quá nhiều chuyên môn lập trình. Trên thực tế, đây thậm chí là một phần của sự hấp dẫn của nó: Hầu hết các phân tích cơ bản có thể được thực hiện bằng các hành động của người dùng theo điểm và nhấp, với các hộp thoại để tùy chỉnh các tham số cụ thể, giả sử, để dự đoán trong mô hình tuyến tính. Áp dụng tương tự, mặc dù ở mức độ thấp hơn, đối với R khi bạn sử dụng GUI bên ngoài như Rcmdr , Deducer, v.v. như đã nói của @ gsk3.


+1 cho Stata. Bạn có thể thực hiện tất cả các điều cơ bản thông qua click-n-click, nhưng nó cũng tạo ra lệnh mà click-n-click được tạo để bạn có thể tìm hiểu / sửa đổi nó. Nó cũng giống như bảng tính trong cách bạn giao tiếp với dữ liệu của nó, mặc dù bạn không đặt công thức vào các ô.
Wayne

8

Một số người nghĩ về lập trình chỉ đơn giản là nhập một câu lệnh. Tại thời điểm đó có lẽ bạn hơi lạc lõng trong việc khuyến khích họ. Tuy nhiên, nếu họ đang sử dụng bảng tính thì họ đã phải nhập công thức. Đây là giống như các câu lệnh dòng. Nếu họ thực sự có nghĩa là họ không muốn thực hiện bất kỳ chương trình nào theo nghĩa phân tích logic và tự động thì bạn có thể nói với họ rằng họ vẫn có thể thực hiện các phân tích trong R hoặc Stata mà không cần lập trình gì cả.

Nếu họ có thể thực hiện thống kê của mình trong bảng tính ... tất cả những gì họ muốn làm ... thì tất cả các phân tích thống kê họ muốn thực hiện có thể được thực hiện mà không cần 'lập trình' trong R hoặc Stata. Họ có thể sắp xếp và sắp xếp dữ liệu trong bảng tính và sau đó chỉ xuất dữ liệu dưới dạng văn bản. Sau đó, phân tích được thực hiện mà không có bất kỳ chương trình nào cả.

Đó là cách tôi thỉnh thoảng giới thiệu với R. Không cần lập trình để thực hiện phân tích dữ liệu bạn có thể làm trong bảng tính.

Nếu bạn khiến chúng bị cuốn hút theo cách đó thì cứ chậm rãi câu cá ... :) Trong một vài năm, hãy khen ngợi chúng về những gì một lập trình viên giỏi mà chúng đã trở thành.

Bạn cũng có thể muốn hiển thị tài liệu này cho đồng nghiệp của mình hoặc ít nhất là tự đọc nó để ghi điểm tốt hơn.


1
Điểm hay, nhưng có một số lưu ý ở đây: Excel có các mẹo công cụ bật lên khi nhập công thức vào một ô và do đó việc "lập trình" các tác vụ đơn giản dễ dàng hơn nhiều. Ngoài ra, rất có thể người bên cạnh bạn có thể giúp đỡ nếu bạn gặp khó khăn vì có rất nhiều người dùng năng lượng Excel. Và, Excel được cài đặt. Thuyết phục ai đó dùng thử R liên quan đến việc giúp họ thiết lập nó và tìm hiểu cách tận dụng phần mềm nguồn mở (và diễn đàn nào để tìm kiếm, nên sử dụng gói bootstrap nào, v.v.). Các chương trình trong một số ý nghĩa là phần dễ dàng. Đó là hệ sinh thái đó là phần khó khăn.
Josh Hemann

Ngoài ra, không có vấn đề định dạng thực sự trong Excel ... Trong R đôi khi một gói sử dụng xts, một dữ liệu khác.frames ... đó là một mớ hỗn độn cho người mới, đó là sự thật
RockScience

fRed, tôi đồng ý rằng có thể có vấn đề trong định dạng dữ liệu nhưng hãy nhớ rằng phản hồi của tôi đã đủ điều kiện là phân tích có thể được thực hiện trong bảng tính. Đó không phải là nhiều phân tích khác nhau và thường sẽ ở dưới một định dạng dữ liệu.
John

Có phần chi phí "lập trình" với R nhiều hơn so với Excel và đây là những điều khiến người dùng phát điên. Nếu R có GUI đỉnh cao gần giống với Bảng Pivot, có thể. Nhưng cho đến lúc đó ...
Ralph Winters

8

Tôi sẽ đặt một sân ở đây cho JMP. Tôi có một vài lý do tại sao đó là công cụ tìm kiếm dữ liệu phi lập trình ưa thích của tôi:

  1. Công cụ trực quan thực sự tốt. Các cốt truyện kiểu EDA cơ bản hơn, nó cũng tốt như R và dễ sử dụng hơn để sản xuất một thứ gì đó tiếp cận với một cốt truyện sẵn sàng xuất bản. Nó cũng có một số công cụ trực quan cực kỳ linh hoạt, vì vậy bạn có thể xoay và uốn cong dữ liệu của mình để có được câu chuyện đầy đủ.
  2. Đáng ngạc nhiên mạnh mẽ. Phải mất đến ... năm học lớp 4, tôi mới tìm thấy thứ gì đó mà JMP không thể làm được ngay lập tức. Không tệ.
  3. Khả năng viết kịch bản. Đây là một điều lớn đối với tôi. Điểm yếu chính của GUI là rất khó để sao chép những gì bạn đã làm. JMP cho phép bạn tạo kịch bản cho GUI - và việc tạo các tập lệnh đó là điểm hay và nhấp chuột.

+1 cho JMP. Đó là số liệu thống kê cơ bản tốt nhất mà tôi từng sử dụng.
Zach

1
Đồng ý (cũng với điểm # 1). Trong một số cách, nó thậm chí còn tốt hơn R đối với công cụ EDA và có thể được chèn độc đáo vào quy trình lặp. Nếu một người đã làm việc mà không có R, thì JMP là một cách hợp lý để làm việc mà không cần thêm R. Vì nó cũng có thể liên kết với R, lập trình viên R có thể tạo các công cụ sau đó cắm vào JMP, cho phép người dùng Eloi, errr, tiếp tục để tin rằng tất cả mọi thứ chỉ là dandy.
Lặp lại

6

Tôi có thể đề xuất Tableau như một công cụ tốt để khám phá và trực quan hóa dữ liệu, đơn giản vì các cách khác nhau mà bạn có thể khám phá và xem dữ liệu, chỉ bằng cách kéo và thả. Các biểu đồ khá sắc nét và bạn có thể dễ dàng xuất ra PDF cho mục đích trình bày. Nếu bạn muốn bạn có thể mở rộng nó với một số "lập trình". Tôi thường xuyên sử dụng công cụ này cùng với "R" và SAS và tất cả chúng đều hoạt động tốt.


3

Như John đã nói, khám phá dữ liệu không yêu cầu lập trình nhiều trong R. Đây là danh sách các lệnh khám phá dữ liệu bạn có thể cung cấp cho mọi người. (Tôi vừa nghĩ ra cái này; bạn chắc chắn có thể mở rộng nó.)

Xuất dữ liệu từ bất kỳ gói nào trong đó. (Xuất dữ liệu số không có dấu ngoặc kép là thuận tiện.) Sau đó đọc dữ liệu trong R.

ChickWeight=read.csv('chickweight.csv')

Làm một cái bàn.

table(ChickWeight$Diet)

Hãy để R đoán loại đồ họa sẽ cung cấp cho bạn. Nó đôi khi hoạt động rất độc đáo.

plot(ChickWeight)
plot(ChickWeight$weight)
plot(ChickWeight$weight~ChickWeight$Diet)

Một loạt các hàm vẽ cụ thể hoạt động khá đơn giản trên các biến đơn.

hist(ChickWeight$weight)

Lấy tập con

plot(subset(ChickWeight,Diet=='2'))

Cú pháp giống như SQL trong trường hợp mọi người đã quen với điều đó (nhiều hơn ở đây )

library(sqldf)
plot(sqldf('select * from ChickWeight where Diet == "2"'))

PCA (Tất nhiên bạn có nhiều hơn hai biến.)

princomp(~ ChickWeight$weight + ChickWeight$Time)

3

Đây là một lời than thở nhiều hơn là một câu trả lời ...

Phần mềm tốt nhất tôi từng thấy cho điều này là Arc , được xây dựng dựa trên Xlisp-Stat. Đây là phần mềm tuyệt vời để khám phá dữ liệu với nhiều đồ họa tương tác tích hợp, cũng như nhiều khả năng suy luận thống kê. Theo tôi, không có gì khác gần với việc dễ dàng sử dụng để khám phá dữ liệu và khả năng mở rộng hơn nữa với lập trình Lisp. Theo tôi, tính tương tác trong R mới chỉ bắt đầu có thể được sử dụng theo những cách như Arc, mười năm sau. Và theo như tôi biết, chưa có ai sử dụng các khả năng này để xây dựng một giao diện tương tác gần như hữu ích như Arc.

Thật không may, nó không bao giờ thực sự gây chú ý vì vậy các nhà phát triển đã chuyển sang làm việc trong R; nó được cập nhật lần cuối vào tháng 7 năm 2004. Phiên bản PC và Linux / Unix vẫn hoạt động và có thể đáng để thử, tùy thuộc vào nhu cầu của bạn; đối với máy Mac, tùy chọn tốt nhất là dùng thử phiên bản Linux / Unix trong X11, tôi đã làm cho nó hoạt động trên một vài hệ thống theo cách đó. Phiên bản Mac được đề cập trên trang web chỉ hoạt động trên máy Mac "Cổ điển".

Tôi cũng sẽ đề cập ngắn gọn về Mondrian , thứ mà tôi chỉ thử một thời gian ngắn, nhưng dường như có khả năng tương tác đồ họa tuyệt vời để khám phá dữ liệu, mặc dù (như tôi nhớ lại) không có cách nào dễ dàng để mở rộng khả năng hoặc suy luận thống kê.


Chưa từng nghe về Arc nhưng sẽ kiểm tra xem. Cảm ơn.
Ari B. Friedman

1
(+1) Thật tốt khi được nghe từ thế giới Lisp một lần nữa. Tôi quá hâm mộ xlispstat (và đánh giá cao Luke Tierney đang rất tích cực trong dự án R).
chl

3

Một hệ thống phần mềm mới có vẻ hứa hẹn cho mục đích này là Deducer , được xây dựng trên đầu R. Thật không may, là mới, tôi nghi ngờ nó chưa bao gồm các câu hỏi mà mọi người có thể hỏi, nhưng nó đáp ứng được tiêu chí nước của người dẫn đầu đối với một gói thực sự nên họ quyết định sau.

Trước đây tôi cũng đã sử dụng JMP, có khả năng tương tác tốt với nó. Tôi lo lắng rằng một số giao diện có thể quá phức tạp cho các mục đích này. Và nó không miễn phí, điều này khiến những người tị nạn bảng tính tiềm năng khó thử thách bất chợt hơn.


Ngoài ra còn có Rattle có vẻ hứa hẹn.


Về JMP - Nếu tôi không nhầm, có những phiên bản dùng thử và giấy phép học tập nằm trong phạm vi hợp lý.
Lặp lại

3

Đối với việc khám phá những dữ liệu chứa và làm sạch dữ liệu Google Refine trước đây, giờ là Open Refine , là một GUI khá tốt. Việc chuẩn bị và dọn dẹp mạnh mẽ hơn nhiều so với Excel. Sau đó chuyển sang một cái gì đó như R-Commander cho các phân tích của bạn.


2

Bất cứ ai trả lời R, hoặc bất kỳ "GUI" nào đều không đọc câu hỏi.

Có một chương trình được thiết kế riêng cho việc này và nó được gọi là JMP. Vâng, nó đắt tiền, mặc dù nó có bản dùng thử miễn phí và cực kỳ rẻ cho sinh viên hoặc nhân viên đại học (như $ 50 giá rẻ).

Ngoài ra còn có RapidMiner, là một GUI dựa trên quy trình công việc để khai thác dữ liệu và phân tích thống kê. Nó là nguồn mở và miễn phí.


1
@Neil Tại sao lại như vậy? OP chỉ định "nhưng lý tưởng nhất sẽ mở rộng để lập trình ...". R đã được cắm vào hầu hết tất cả các phần mềm thống kê thương mại (ví dụ: SPSS, JMP, Statistica) hoặc miễn phí (Knime, Rapidminer) và Ruperve có thể được sử dụng làm phụ trợ để giao tiếp với R (ví dụ: với phần mềm plink cho nghiên cứu di truyền), và nó được sử dụng cho mục đích này. Phiên bản dùng thử miễn phí của JMP không cho phép bạn làm việc với các bộ dữ liệu bên ngoài, tôi có sai không? (Thật thú vị, tất cả chúng tôi, những người đã trả lời R, và một phần mềm thay thế , đều bị hạ cấp.)
chl

Tôi thích R và rất thích nó, nhưng những người muốn tìm hiểu số liệu thống kê / dữ liệu và không biết cách lập trình thực sự không thể sử dụng nó. và tôi đã chơi với tất cả các guis của nó và chúng thật kinh khủng so với jmp. Tôi chỉ chờ đợi ngày R nhận được một gui như jmp, sau đó tất cả sẽ ổn với vũ trụ.
Neil McGuigan

-1 cho đề xuất rằng mọi người không đọc câu hỏi trước khi trả lời và không cung cấp bất kỳ đối số thực tế nào tại sao R lại tệ hơn JMP hoặc RapidMiner. Lưu ý rằng nói chung tôi đồng ý rằng R không phải là một câu trả lời cho tất cả mọi thứ, nhưng chủ đề này hơi trái ngược với khả năng trở nên thực sự khó chịu. Do đó downvote.
mpiktas

R là tuyệt vời, nhưng nó không dễ dàng. Đó là những gì anh ấy yêu cầu trong tiêu đề.
Neil McGuigan

@Neil, vâng, nhưng bạn có thể lập luận rằng không có thứ gọi là khám phá dữ liệu dễ dàng nhưng mạnh mẽ.
mpiktas

1

Chà, công cụ đặc biệt này rất phổ biến trong ngành của tôi (mặc dù nó không phải là ngành cụ thể theo thiết kế): http://www.umetrics.com/simca

Nó cho phép bạn thực hiện phân tích đa biến loại tiềm ẩn (PCA và PLS), và nó bao gồm tất cả các sơ đồ / tính toán diễn giải và các công cụ thẩm vấn như lô đóng góp, lô quan trọng thay đổi, tính toán Q2, v.v.

Nó thường được sử dụng trên các bộ dữ liệu công nghiệp có chiều cao (và thường có tương quan cao / collinear) trong đó phương pháp loại OLS / MLR không phù hợp (ví dụ thông tin từ một khối cảm biến, thông tin nhật ký, v.v.).

Nó hoạt động trong môi trường GUI đầy đủ và người dùng không phải viết một dòng mã. Thật không may, nó không miễn phí và không thể được mở rộng thông qua lập trình.


1

Theo tôi, nếu bạn không tự viết mã cho bài kiểm tra, bạn sẽ dễ bị lỗi và hiểu sai về kết quả.

Tôi nghĩ rằng bạn nên khuyên họ nên thuê một nhà thống kê có kỹ năng máy tính.

Nếu nó luôn luôn làm điều tương tự, thì thực sự bạn có thể sử dụng một công cụ nhỏ (hộp đen) sẽ làm công việc đó. Nhưng tôi không chắc chắn điều này vẫn được gọi là thăm dò dữ liệu.


1
Tôi ít nhiều đồng ý với tình cảm, nhưng tôi không nghĩ rằng quan điểm cao siêu này thực sự có thể có trong nhiều cài đặt.
Ari B. Friedman

1

Tôi muốn giới thiệu gói R của John Fox gọi là chỉ huy R:

http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/

Nó tạo ra một giao diện người dùng tương tự như SPSS (hoặc tương tự), rất phù hợp cho người mới bắt đầu và không yêu cầu người dùng phải nhập bất kỳ mã nào cả. Tất cả được thực hiện thông qua các hộp thả xuống (thậm chí bạn có thể thu nhỏ bàn điều khiển R trong khi làm việc).

Đối với tôi, lợi ích của gói này là bạn có thể tận dụng tất cả khả năng tính toán tuyệt vời của R trong khi có giao diện người dùng hoàn toàn hoạt động cho người mới bắt đầu.


1

Một công cụ hữu ích khác, mặc dù chỉ dành cho Windows, là Spotfire - Tôi thấy nó khá hữu ích để nhanh chóng xem xét các biểu đồ khác nhau và các biểu đồ phân tán cho các biến đơn và cặp. Một công cụ nghiên cứu giúp bạn xếp hạng các biến đơn cũng như các cặp dựa trên số liệu thống kê đơn giản - Explorer Clustering Explorer từ HCIL. Nó là tốt đẹp để tìm hầu hết các biến / cặp biến thú vị.

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.