Czy program Excel jest wystarczający do analizy danych?

10

Jestem w trakcie przygotowywania się do wprowadzenia kursu wprowadzającego na temat danych z wykorzystaniem języka programowania R. Moją publicznością są studenci studiów licencjackich specjalizujących się w tematyce biznesowej. Typowy student biznesu nie ma żadnego doświadczenia w programowaniu komputerowym, ale wziął kilka klas, które korzystają z Excela.

Osobiście bardzo dobrze czuję się w języku R (lub innych językach programowania), ponieważ specjalizowałem się w informatyce. Mam jednak wrażenie, że wielu moich uczniów będzie uważało na naukę języka programowania, ponieważ może to im wydawać się trudne.

Znam trochę Excela i wierzę, że chociaż Excel może być przydatny do prostych analiz danych, konieczne jest, aby uczniowie nauczyli się poważnego języka programowania dla analiz danych (np. R lub Python). Jak przekonać siebie i studentów, że Excel nie jest wystarczający dla poważnego studenta biznesu studiującego naukę danych i że konieczne jest, aby nauczyli się programowania?

Edytowane w odpowiedzi na komentarz

Oto niektóre z tematów, które omówię:

  • Przetwarzanie i czyszczenie danych
  • Jak manipulować tabelą danych, np. Wybrać podzbiór wierszy (filtr), dodać nowe zmienne (mutować), posortować wiersze według kolumn
  • SQL łączy się przy użyciu pakietu dplyr
  • Jak narysować wykresy (wykresy punktowe , wykresy słupkowe, histogramy itp.) Za pomocą pakietu ggplot2
  • Jak oszacować i zinterpretować modele statystyczne, takie jak regresja liniowa, regresja logistyczna, drzewa klasyfikacyjne i k-najbliżsi sąsiedzi

Ponieważ nie znam zbyt dobrze programu Excel, nie wiem, czy wszystkie te zadania można łatwo wykonać w programie Excel.

Lubię kodować
źródło
Bez wiedzy na temat programu nauczania nie można odpowiedzieć na to pytanie. Powiedziawszy to, powinieneś spojrzeć na Power Pivot / Model danych w Excelu. W dzisiejszych czasach możesz łatwo obsługiwać zestawy danych z wieloma gigabajtami i milionami wierszy w Excelu, i to szybko.
Gajusz
@ Gajusz Dodałem kilka szczegółów na temat tego, czego chcę uczyć na kursie
Lubię
Twoje punkty 1-4 są dobrze obsługiwane przez model danych support.office.com/en-us/article/... - dla punktu 5 sugerowałbym darmową warstwę AzureML studio.azureml.net
Gaius
AzureML działa również z R btw
Gaius
4
O swoim ostatnim punkcie - spójrz na książkę „Data Smart” Johna Foremana - amazon.com/Data-Smart-Science-Transform-Information/dp/…
Gregory Demin

Odpowiedzi:

8

Przede wszystkim sprawdź ten post . Ma wiele powodów, dla których Excel jest gorszy od innych rozwiązań, jeśli chodzi o zadania związane z analizą danych. Excel nie obsługuje również dużych zestawów danych (setek tysięcy rekordów - nie wspominając o niczym w pobliżu Big Data ), danych obrazu i dźwięku.

Excel jest dobry do prostych zadań dotyczących arkuszy kalkulacyjnych; kładzie większy nacisk na prezentację i łatwość użycia , przy minimalnym wsparciu dla faktycznej analizy danych. Jeśli wszystko, co chcesz zrobić, to obliczyć proste miary statystyczne (średnia, średnia itp.) Lub zbudować bardzo prosty model (np. Regresja liniowa), Excel jest nieefektywny. Biorąc to pod uwagę, 99% pracy, jaką firma musi wykonać w odniesieniu do danych, jest na tyle proste, że można nimi zarządzać za pomocą Excela.

Jednak Data Science zajmuje się głównie regresją, klasyfikacją i złożonymi modelami, które nie są przystosowane do obsługi! Jeśli twoi uczniowie chcą przyjrzeć się analizie danych, musisz nauczyć ich narzędzia, które będzie im przydatne (R, python itp.). Te języki mają również biblioteki z mnóstwem wbudowanych modeli do „zabawy”.

Innym naprawdę wielkim powodem, dla którego wybrałbym te ostatnie opcje, jest to, że są oprogramowaniem typu open source . Osobiście uważam, że oprogramowanie o otwartym kodzie źródłowym powinno być preferowane z edukacyjnego punktu widzenia do zastrzeżonych rozwiązań (dlatego też sugeruję Python i R ponad Matlab)!

Djib2011
źródło
Zgadzam się ze wszystkimi powyższymi, ale powiedział, że są to główne firmy. Dlaczego nie uczyć R, ale także zademonstrować wtyczkę R / Excel?
CalZ
1
„Excel nie może również obsługiwać dużych zestawów danych (setek tysięcy rekordów” <- tak, może z łatwością. Może działać jako klient poważnych back-endów, takich jak AzureML i PowerBI. Nie jestem fanem Excela ” „tak bardzo, ale denerwuje mnie widok rzekomo„ napędzanych danymi ”ludzi, którzy nawet nie znają podstawowych narzędzi.
Gaius
1
Co jeśli jest to zestaw danych zawierający milion wierszy plus tysiące kolumn na tej samej „podstawowej” maszynie (16 GB RAM, i7 ecc), które rozwiązanie otworzy je szybciej? Nie próbuję oczerniać programu Excel, tylko szczera ciekawość. Zbyt dobrze wiem, że nie mogę nawet otworzyć takiego zestawu danych w programie Excel. RStudio czyta go bez problemu na tym samym komputerze.
RLave
7

Właśnie skończyłem z Masters in Business Analytics i napotkałem ten sam problem, który opisujesz. Na szczęście jestem osobą techniczną i mogłem nauczyć się R i Pythona, ale utknąłem, ucząc resztę klasy, jak używać R i Pythona. Zajęcia, w których korzystałem z R / Pythona, były utrudnione z powodu braku technicznego zrozumienia przez studentów i zbyt wiele czasu poświęcono na to, jak otworzyć R / Pythona. Zajęcia, które odbyły się inną drogą, były rozczarowujące i niezbyt praktyczne. Chciałem zrobić dla projektu klasowego coś, co ostatecznie nie było możliwe w Excelu z powodu jego ograniczeń, ale nauczyciel nie zaakceptowałby żadnych innych narzędzi.

Może nie być to coś, co możesz zrobić od razu, ale zdecydowanie zalecam, abyś spróbował nakłonić wydział do wymagania kursu programowania przed rozpoczęciem kursu. Nauki o danych i analityka biznesowa IMHO powinny być ścieżkami dyplomowymi obejmującymi wiele dyscyplin, które wymagają sporej wiedzy informatycznej, ale dopóki programy nie dojrzeją i system uniwersytecki stanie się lepszy, może się to nie zdarzyć.

Matt Camp
źródło
Wspomniałeś, że „chciałeś zrobić dla projektu klasowego coś, co ostatecznie nie było możliwe w Excelu z powodu jego ograniczeń”. Co próbujesz zrobić, czego nie można zrobić w programie Excel?
Lubię
3

Myślę, że musisz uczyć ich popularnego języka Data Science, takiego jak Python lub R. Excel nie pomoże im w prawdziwej pracy i nie jest praktyczny do celów analizy danych. Prawdopodobnie powiedziałbym, że Python byłby dla nich najbardziej cenny na dłuższą metę, a dzięki pakietom takim jak scikit-learn twoje regresje i klasyfikacje można wykazać w bardzo niewielu liniach kodu, które mogą łatwiej odczytać i zrozumieć. Nie zawsze łatwo jest zrozumieć, co robi R, po prostu go czytając.

Kolejna rada: nie trać czasu na zmuszanie uczniów do skonfigurowania IDE i pobrania niezbędnych pakietów, jeśli używasz Pythona, utwórz dla nich wirtualne środowisko ze wszystkimi niezbędnymi pakietami i skonfiguruj IDE jak pycharm (mogą uzyskać ten i większość innych IDE na licencji studenckiej / akademickiej), gdzie następnie mogą opracowywać i uruchamiać swój kod za pomocą interfejsu użytkownika zamiast konsoli, co może być zniechęcające i mylące. Jeśli pójdziesz ścieżką R, upewnij się, że masz skonfigurowane IDE, takie jak RStudio, i upewnij się, że wszystkie instalacje dołączeń i pakietów są zawarte w twoim przykładowym kodzie lub w pełni opisane.

Dan Carter
źródło
„Excel nie pomoże im w prawdziwej pracy”, z pewnością jest tak, jeśli tego właśnie używają wszyscy ich koledzy. Jakie prawdziwe miejsca pracy według Ciebie nie używają Excela?
Gajusz
3
Każda rola Data Science pracująca z dużą ilością danych, w tym moja. Jak myślisz, które zadania DS użyłyby Excela jako głównego narzędzia, które nie byłyby interesujące?
Dan Carter
Widzę z twojego profilu, że jesteś studentem? O. Są to studenci biznesu biorący udział w jednym kursie w DS. W swoich zadaniach biznesowych absolutnie będą używać Excela jako podstawowego narzędzia.
Gajusz
1
Jasne, masz rację, prawdopodobnie będą używać Excela w roli typu biznesowego, jednak, jak ujęła to PO: już wzięli udział w kursach obejmujących Excel. Połącz to z faktem, że Excel nie jest odpowiedni dla branżowych lub akademickich nauk o danych i jasne jest, że nauczenie ich „Excela dla nauk o danych” nie pomoże im w prawdziwej pracy, jak powiedziałem. Nie możesz nauczyć mężczyzny (lub kobiety) łowienia ryb, ucząc ich mówić po francusku.
Dan Carter
A co, jeśli już wzięli kursy w programie Excel? Nie traktuj jak głupków niezdolnych do nauki R. Nie mówimy tu o Haskell ani LISP!
Emre
2

Jak przekonać siebie i studentów, że Excel nie jest wystarczający dla poważnego studenta biznesu studiującego naukę danych

Utwórz w R ogromną ramkę danych (kilka milionów wierszy i setki kolumn), zapisz jako .xlsx.

Pokaż im różnicę czasu w ładowaniu go za pomocą R i w programie Excel na tym samym komputerze. Porównaj podstawowe operacje statystyczne między nimi w tym samym zestawie danych, nawet wykresy.

Punkt nr 2-4 na liście yout można również zrobić w programie Excel, po prostu dużo bardziej boleśnie, pokaż im kilka przykładów tego, jak proste (i szybsze) jest filtrowanie dplyr, w porównaniu do podstawowego Excela, ponownie w ogromnym zestawie danych, co by to podkreśliło różnica.

Punkt bonusowy, jeśli możesz wymyślić zestaw danych, który powoduje awarię komputera z działającym programem Excel.

Poza tym bym popierał „darmową” część R (lub Pythona). Na przykład, w porównaniu do SAS, jeśli po prostu chcesz wypróbować jedno rozwiązanie (np. Jakiś klaster), ładujesz bibliotekę i wypróbowujesz, nie musisz płacić więcej, tylko za próbę.

Dla mnie to jest jego piękno, możesz wypróbować za darmo wszystko, czego potrzebujesz, a często jest to kluczowe w DS, wyobraź sobie, że będziesz musiał zapłacić za każdą zainstalowaną bibliotekę.

RLave
źródło
1

Excel i Data Science - brzmi dla mnie naprawdę dziwnie. Może Excel i „Analiza danych”.

W każdym razie uważam, że dobrym kompromisem między Excel a R jest: KNIME ( http://www.knime.org/knime-analytics-platform ). Jest bezpłatny na pulpicie i znacznie łatwiej rozpocząć. Możesz importować / eksportować do Excela, ale także używać R, Python lub Java, jeśli ~ 1.000 węzłów nie ma potrzebnych funkcji. Ponieważ przepływy pracy są tworzone wizualnie, o wiele łatwiej jest też pokazać je komuś, kto nie zna żadnego języka programowania - co w niektórych firmach jest sporą zaletą.

Tobi
źródło
0

Myślę, że problem polega na tym, że próbujesz przekonać swoich uczniów, że biorąc udział w zajęciach, mogą robić analizy danych podobne do poziomu współczesnej analizy danych, tj. Wymyślne rzeczy, takie jak przetwarzanie obrazu, rozpoznawanie twarzy. Przez większość czasu słyszysz to powiedzenie: „biorąc udział w tych zajęciach, będziesz…” Musisz nauczyć ich miłości do danych i odwagi, aby przejrzeć mnóstwo danych, mieszając się z nimi, aby, miejmy nadzieję, zrobić niektóre z nich wyczuwają. Gdy tylko mogą to zrobić, możesz nazwać ich badaczami danych i powinieneś czuć się dumny z tego, że masz teraz nową generację badaczy danych. Następnie, jeśli poważnie podchodzą do informatyki, mogą kontynuować intensywne kursy matematyki, statystyki i informatyki (doświadczenie w programowaniu, jak powiedziałeś). Byłem w sytuacji podobnej do twoich uczniów. Nie miałem doświadczenia w CS, ale chciałem włamać się do analizy danych i sztucznej inteligencji, biorąc udział w zajęciach z fantazyjnymi obietnicami. W końcu zmarnowałem mnóstwo pieniędzy, ale znalazłem się w ogromnej frustracji (och, muszę wziąć tę klasę, aby poznać ten algorytm, och, teraz mówią o sieciach neuronowych, więc muszę zapisać się na inną klasę itp.) TL ;DR. Narzędzia stanowią zaledwie 1% twojego problemu. Z twoim doświadczeniem nie powinieneś mieć problemu ze zrozumieniem powyższych zadań w Excelu za tydzień. och, teraz rozmawiają o sieciach neuronowych, więc muszę zapisać się na inną klasę itp.) TL; DR. Narzędzia stanowią zaledwie 1% twojego problemu. Z twoim doświadczeniem nie powinieneś mieć problemu ze zrozumieniem powyższych zadań w Excelu za tydzień. och, teraz rozmawiają o sieciach neuronowych, więc muszę zapisać się na inną klasę itp.) TL; DR. Narzędzia stanowią zaledwie 1% twojego problemu. Z twoim doświadczeniem nie powinieneś mieć problemu ze zrozumieniem powyższych zadań w Excelu za tydzień.

Huy Truong
źródło