Jakie są dobre zestawy danych do nauki podstawowych algorytmów uczenia maszynowego i dlaczego?

19

Jestem nowy w uczeniu maszynowym i szukam niektórych zestawów danych, za pomocą których mogę porównywać i kontrastować różnice między różnymi algorytmami uczenia maszynowego (drzewa decyzyjne, przyspieszenie, SVM i sieci neuronowe)

Gdzie mogę znaleźć takie zbiory danych? Czego powinienem szukać podczas rozważania zestawu danych?

Byłoby wspaniale, gdybyś mógł wskazać kilka dobrych zestawów danych, a także powiedzieć mi, co czyni je dobrym zestawem danych?

Królik
źródło
6
Zastanawiam się, czy to pytanie nie pasuje lepiej do opendata.stackexchange.com ... Jeśli chodzi o zestawy danych, większość podręczników wspomina o takich zestawach danych i udostępnia je, wiele z nich jest już dostępnych w oprogramowaniu statystycznym lub w bibliotekach dla takiego oprogramowania. Możesz także zobaczyć archive.ics.uci.edu/ml/datasets.html . Oczywiście innym pytaniem jest to, co sprawia, że ​​niektóre zestawy danych są „dobre” do nauki, a niektóre „złe” - jest to interesujące pytanie.
Tim
Niektóre zestawy danych znajdziesz w pakietach CRAN, takie jak: ElemStatLearn i inne.
kjetil b halvorsen
2
@Tim Ponieważ w tym pytaniu jest aspekt pedagogiczny (na przykład jednym z przykładów „dobrego” zestawu danych do celów uczenia się jest taki, który pokazuje, gdzie różne algorytmy dają bardzo różne wyniki) Myślę, że lepiej pasuje do CV niż do OpenData.
Silverfish
2
Myślę, że pytania dotyczące zbiorów danych z pedagogicznego punktu widzenia są zdecydowanie na ten temat: np. Jakie aspekty zestawu danych „Iris” sprawiają, że jest tak skuteczny jak zestaw danych przykładowych / dydaktycznych / testowych ; Zestawy danych zbudowane w celu podobnym do kwartetu Anscombe
Silverfish
@Silverfish: Zostało to omówione na Meta - „Pytania dotyczące zestawów danych”: Możliwe wyjątki? - i wydaje się, że panowała ogólna zgoda z twoim punktem widzenia. Ale nadal myślę, że to q. jest raczej szeroki - co wyraźnie odróżnia go od lokalizowania swobodnie dostępnych próbek danych ?
Scortchi - Przywróć Monikę

Odpowiedzi:

16

Zestawy danych w poniższych witrynach są dostępne za darmo. Te zestawy danych zostały wykorzystane do nauczania algorytmów ML dla studentów, ponieważ dla większości istnieją opisy z zestawami danych. Wspomniano również, jakie algorytmy mają zastosowanie.

  1. UCI - repozytorium uczenia maszynowego
  2. ML Comp
  3. Obraz Mammo
  4. Mulan
Uczeń
źródło
11

Kaggle ma cały zestaw danych, z których można ćwiczyć.

(Dziwię się, że do tej pory o tym nie wspomniano!)

Ma dwie rzeczy (między innymi), które sprawiają, że jest to bardzo nieoceniony zasób:

  • Wiele czystych zestawów danych. Bezszumowe zestawy danych nie są tak naprawdę reprezentatywne dla zestawów danych w świecie rzeczywistym, ale szczególnie nadają się do Twoich celów - wdrażania algorytmów ML.
  • Możesz również przeglądać modele ML innych osób dla tego samego zestawu danych, co może być świetnym sposobem na podniesienie niektórych hacków po drodze. Jest rzeczą oczywistą, że ekspozycja, którą uzyskujesz dzięki uczeniu się od najlepszych praktyków, jest, jak w innych przypadkach, bardzo pomocna.
rewizje nz_21
źródło
1
To naprawdę powinna być najlepsza odpowiedź, ponieważ oprócz ogromnej różnorodności zestawów danych fora dla każdego wyzwania są nieocenionym źródłem do zbierania technik i sztuczek, wraz z przykładami kodu.
Alex R.
2

Po pierwsze, polecam zacząć od przykładowych danych dostarczonych z oprogramowaniem. Większość dystrybucji oprogramowania zawiera przykładowe dane, których można użyć do zapoznania się z algorytmem bez zajmowania się typami danych i zapasem danych w odpowiednim formacie dla algorytmu. Nawet jeśli budujesz algorytm od zera, możesz zacząć od próbki z podobnej implementacji i porównać wydajność.

Po drugie, zaleciłbym eksperymentowanie z syntetycznymi zestawami danych, aby dowiedzieć się, jak działa algorytm, gdy wiesz, jak dane zostały wygenerowane i stosunek sygnału do szumu.

W R możesz wyświetlić listę wszystkich zestawów danych w aktualnie zainstalowanych pakietach za pomocą tego polecenia:

data(package = installed.packages()[, 1])

Pakiet R mlbench zawiera prawdziwe zestawy danych i może generować syntetyczne zestawy danych, które są przydatne do badania wydajności algorytmu.

Scikit-learn Pythona ma przykładowe dane i generuje również zestaw danych syntetycznych / zabawkowych.

SAS ma dostępny zestaw danych szkoleniowych do pobrania, a przykładowe dane SPSS są instalowane wraz z oprogramowaniem pod adresem C: \ Program Files \ IBM \ SPSS \ Statistics \ 22 \ Samples

Na koniec popatrzę na dane na wolności. Porównałbym wydajność różnych algorytmów i parametrów dostrajania w rzeczywistych zestawach danych. Zazwyczaj wymaga to dużo więcej pracy, ponieważ rzadko można znaleźć zestaw danych z typami danych i strukturami, które można upuścić bezpośrednio w swoich algorytmach.

W przypadku danych w środowisku naturalnym polecam:

Archiwum zestawu danych reddit

Lista KDnugget

brandco
źródło
1
Dla tych, którzy nie mają R i nie chcą go pobrać, aby uzyskać dostęp do tych zestawów danych, zestawy danych i opisy są dostępne online tutaj .
Gung - Przywróć Monikę
0

Zestaw danych Iris nie ma sobie równych. Jest również w bazie R.

jabłka-pomarańcze
źródło
1
Odpowiedz na merytoryczną część pytania: „... powiedz mi również, co czyni je dobrym zestawem danych?”
whuber
0

Moim zdaniem możesz zacząć od małych zestawów danych, które nie mają zbyt wielu funkcji.

Jednym z przykładów może być zestaw danych Iris (do klasyfikacji). Ma 3 klasy, 50 próbek dla każdej klasy, w sumie 150 punktów danych. Jednym z doskonałych zasobów, które mogą pomóc w eksploracji tego zestawu danych, jest ta seria wideo autorstwa Data School.

Kolejnym zestawem danych do kasy jest zestaw danych jakości wina z repozytorium UCI -ML. Ma 4898 punktów danych z 12 atrybutami.

Darszan Chaudhary
źródło