Quais são alguns bons conjuntos de dados para aprender algoritmos básicos de aprendizado de máquina e por quê?

19

Eu sou novo no aprendizado de máquina e estou procurando alguns conjuntos de dados através dos quais posso comparar e contrastar as diferenças entre os diferentes algoritmos de aprendizado de máquina (Árvores de Decisão, Boosting, SVM e Redes Neurais)

Onde posso encontrar esses conjuntos de dados? O que devo procurar ao considerar um conjunto de dados?

Seria ótimo se você pudesse apontar para alguns bons conjuntos de dados e também me dizer o que os torna um bom conjunto de dados?

Coelhinho
fonte
6
Gostaria de saber se esta pergunta não se encaixa melhor no opendata.stackexchange.com ... Como nos conjuntos de dados, a maioria dos livros menciona esses conjuntos e os disponibiliza, muitos já estão disponíveis em software estatístico ou em bibliotecas para esse software. Você também pode ver archive.ics.uci.edu/ml/datasets.html . Obviamente, outra pergunta é o que torna alguns conjuntos de dados "bons" para aprender e outros "ruins" - é uma pergunta interessante.
Tim
Você encontrará alguns conjuntos de dados como pacotes no CRAN, como: ElemStatLearn e outros.
Kjetil b halvorsen
2
@ Tim Como há um aspecto pedagógico nesta pergunta (por exemplo, um exemplo de um conjunto de dados "bom" para fins de aprendizado é aquele que mostra onde diferentes algoritmos fornecem resultados muito diferentes). Acho que é mais adequado ao CV do que ao OpenData.
Silverfish
2
Eu acho que perguntas sobre conjuntos de dados do ponto de vista pedagógico estão definitivamente no tópico aqui: por exemplo, que aspectos do conjunto de dados "Iris" o tornam tão bem-sucedido como um exemplo / conjunto de dados de ensino / teste ; Conjuntos de dados construída para um propósito semelhante ao do quarteto de Anscombe
Silverfish
@ Silverfish: Isso foi discutido no Meta - “Perguntas sobre conjuntos de dados”: possíveis exceções? - & parece ter havido um acordo geral com o seu ponto de vista. Mas ainda acho que isso q. é bastante amplo - o que o distingue claramente da localização de amostras de dados disponíveis gratuitamente ?
Scortchi - Restabelece Monica

Respostas:

16

Os conjuntos de dados nos sites a seguir estão disponíveis gratuitamente. Esses conjuntos de dados foram usados ​​para ensinar algoritmos de ML aos alunos, porque para a maioria existem descrições com os conjuntos de dados. Além disso, foi mencionado que tipo de algoritmo é aplicável.

  1. Repositório UCI- Machine Learning
  2. ML Comp
  3. Mammo Image
  4. Mulan
aprendiz
fonte
11

O Kaggle tem uma série de conjuntos de dados com os quais você pode praticar.

(Estou surpreso que não tenha sido mencionado até agora!)

Tem duas coisas (entre muitas outras) que a tornam um recurso altamente valioso:

  • Muitos conjuntos de dados limpos. Embora os conjuntos de dados sem ruído não sejam realmente representativos dos conjuntos de dados do mundo real, eles são especialmente adequados para seu objetivo - implantar algoritmos ML.
  • Você também pode visualizar os modelos ML de outras pessoas para o mesmo conjunto de dados, o que pode ser uma maneira divertida de capturar alguns hacks ao longo do caminho. Escusado será dizer que o tipo de exposição que você obtém ao aprender com os melhores profissionais é, como para qualquer outra coisa, super útil.
nz_21
fonte
1
Essa realmente deve ser a resposta principal, pois, além de uma enorme variedade de conjuntos de dados, os fóruns de cada desafio são um recurso inestimável para a captação de técnicas e truques, além de exemplos de código.
Alex R.
2

Primeiro, recomendo começar com os dados de amostra fornecidos com o software. A maioria das distribuições de software inclui dados de exemplo que você pode usar para se familiarizar com o algoritmo sem lidar com tipos de dados e digitar os dados no formato correto para o algoritmo. Mesmo se você estiver criando um algoritmo do zero, poderá começar com a amostra de uma implementação semelhante e comparar o desempenho.

Segundo, eu recomendo experimentar conjuntos de dados sintéticos para ter uma ideia de como o algoritmo funciona quando você sabe como os dados foram gerados e a relação sinal / ruído.

No R, você pode listar todos os conjuntos de dados nos pacotes atualmente instalados com este comando:

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

O pacote R mlbench possui conjuntos de dados reais e pode gerar conjuntos de dados sintéticos úteis para estudar o desempenho do algoritmo.

O scikit-learn do Python possui dados de amostra e gera um conjunto de dados sintético / de brinquedo também.

O SAS possui um conjunto de dados de treinamento disponível para download e os dados de amostra do SPSS são instalados com o software em C: \ Arquivos de Programas \ IBM \ SPSS \ Statistics \ 22 \ Samples

Por fim, eu olhava dados em estado selvagem. Eu compararia o desempenho de diferentes algoritmos e parâmetros de ajuste em conjuntos de dados reais. Isso geralmente requer muito mais trabalho, porque você raramente encontrará conjuntos de dados com tipos e estruturas de dados que podem ser inseridos diretamente em seus algoritmos.

Para dados em estado selvagem, recomendo:

Arquivo de conjuntos de dados do reddit

Lista do KDnugget

brandco
fonte
1
Para quem não possui R e não deseja fazer o download apenas para ter acesso a esses conjuntos de dados, os conjuntos de dados e as descrições estão disponíveis online aqui .
gung - Restabelece Monica
0

Os dados da íris são definidos com as mãos. Também está na base R.

maçãs-laranjas
fonte
1
Por favor, responda à parte substantiva da pergunta: "... também me diga o que os torna um bom conjunto de dados?"
whuber
0

Na minha opinião, você pode começar com pequenos conjuntos de dados que não possuem muitos recursos.

Um exemplo seria o conjunto de dados Iris (para classificação). Possui 3 classes, 50 amostras para cada classe, totalizando 150 pontos de dados. Um excelente recurso para ajudá-lo a explorar esse conjunto de dados é a série de vídeos da Data School.

Outro conjunto de dados para fazer o checkout é o conjunto de dados do Wine Quality do repositório UCI -ML. Possui 4898 pontos de dados com 12 atributos.

Darshan Chaudhary
fonte