Data Science, Machine Learning, R

Conheça o Kaggle, o portal para Ciência de Dados

Fundado em 2010, o Kaggle começou como uma plataforma para competições de análise de dados e de modelos preditivos. Nestas competições, empresas e pesquisadores publicavam o problema que haviam juntamente com os dados a serem analisados, e assim, estatísticos de todo o mundo competiam entre si para produzir os melhores modelos.

À medida que a empresa foi crescendo, ela foi expandindo a sua plataforma ao incluir novas funcionalides. Assim, se tornou não somente um ambiente de competição, mas principalmente de informação e colaboração entre Cientistas de Dados.

Em março de 2017 o Kaggle foi adquirido pelo Google e em junho de 2017, o portal atingiu a marca de 1 milhão de usuários.

Com o slogan de “Your home for Data Science“, o portal é referência entre a comunidade de cientistas de dados e fornece uma gama de informações e oportunidades, seja você um iniciante ou especialista no assunto.

As linguagens de programação mais utilizadas pelos usuários do Kaggle são R e Python, mas também é possível encontrar muita informação em outras linguagens, como Julia e SQLite.


As competições do Kaggle

 

O destaque do Kaggle são as suas competições, que podem variar de acordo com o tipo e finalidade.

Dentro de cada competição, são fornecidas todas as informações que os usuários precisam: as especificidades, objetivos e as bases de dados (datasets).

Além disso, há um fórum de discussão para que os usuários possam debater sobre a competição e compartilhar ideias e códigos. Essa colaboração mútua entre os usuários é uma das coisas que eu mais admiro no site.

Apesar de estarem em uma competição, os usuários do Kaggle são altamente colaborativos entre si.

Para as competições, você é livre para usar qualquer ferramenta ou método para realizar as suas predições. Ao terminar o seu trabalho, você o submete na plataforma e pode acompanhar o seu resultado e posição no ranking em tempo real.

As competições do Kaggle são tão valorizadas, que uma boa posição no ranking é um grande diferencial que você pode ter em seu currículo. 

As competições mais acirradas, como é de se esperar, são aquelas que possuem prêmios em dinheiro para os primeiros colocados.

No momento em que escrevo este artigo, as competições mais em alta no Kaggle são:

Desafio do Algoritmo para Triagem de Passageiro, oferecido pelo Departamento de Segurança Interna dos EUA. Os prêmios vão de 100mil a 500mil dólares.

Estimativas imobiliárias, oferecido pela Zillow. Os prêmios vão de 50mil a 1 milhão de dólares.

Análise sobre a floresta Amazônica utilizando dados coletados por satélite, oferecido pela Planet. Os prêmios vão de 30 a 60 mil dólares.

Predições sobre as compras em um supermercado, oferecido pela Instacart. Os prêmios vão de 5 a 12 mil dólares.

Otimização do sistema de teste de automóveis, oferecido pela Mercedez-Benz. Os prêmios vão de 5 a 12 mil dólares.

Note que as competições são interessantes para as empresas, pois ao invés de contratarem somente um profissional ou uma equipe para realizar um determinado projeto, elas lançam uma competição no Kaggle e terão analistas de todo o mundo disputando o melhor resultado.

As competições também são interessantes para os competidores, pois eles ganham experiência ao analisar e criar predições sobre dados reais, bem como interagem com outros especialistas da área e, se tiverem boas colocações nos rankings, ganham reconhecimento de outros usuários e empresas.


Dicas para participar das competições do Kaggle

 

Neste artigo do KDNuggets, são listados 10 passos para se ter sucesso nas competições, que em resumo são:

  1. Leia o manual: Conheça bem as regras, os prazos e os formatos antes de começar a programar e criar modelos;
  2. Use as medidas adequadas ao contexto do problema; 
  3. Conheça os seus dados: saiba sobre aquilo que você está trabalhando, se familiarize com o dataset;
  4. Pense sobre o resultado que deseja alcançar antes de se preocupar em como irá alcançá-lo;
  5. Realize depurações do seu trabalho;
  6. Acompanhe o fórum: você pode encontrar informações muito valiosas ali;
  7. Faça pesquisas: não limite sua fonte de pesquisa somente com o Kaggle;
  8. Não subestime técnicas básicas: antes um algoritmo simples e bem implementado do que algoritmos complexos e suscetíveis à erros;
  9. Não se limite à um único modelo: combinar diferentes modelos pode potencializar o seu trabalho;
  10. Persista e aprenda: continue tentando e aprendendo com as suas experiências.

Se você utiliza linguagem Python, este artigo do iMasters fornece dicas bem legais para participar das competições.

O site Dataquest oferece um curso com dicas para participar de competições do Kaggle, mais informações clique aqui.


Aprendendo Machine Learning com o Naufrágio do Titanic

 

No Kaggle, há competições que não valem nenhum prêmio em dinheiro e são dedicadas para pesquisadores ou para iniciantes em Data Science.

A mais famosa destas, é aquela que trata sobre o Naufrágio do Titanic.

 

Esta “competição” (que tem o nome de competição pois familiariza o usuário com as competições do Kaggle) tem como objetivo analisar os dados do famoso naufrágio, além de introduzir ideias básicas de Machine Learning para criação de modelos que fazem previsão sobre quais tipos de passageiros são mais prováveis de sobreviver.

O banco de dados fornecido é bastante rico e fornece muitas informações sobre os passageiros, as relações entre eles (cônjuges, filhos, etc.) e informações sobre o navio e o naufrágio (como a quantidade de botes salva-vidas).

Particularmente, eu acho esta compteição muito interessante e divertida de ser realizada. No fórum da competição, é possível encontrar uma infinidade de artigos interessantes.

Por exemplo, neste artigo, o usuário utilizou a linguagem Python para gerar esta série de histogramas que compara as distribuições entre sobreviventes e não-sobreviventes do Titanic:

Se você utiliza o R, recomendo ler este artigo aqui.


Repositório de Datasets

 

O Kaggle é um dos melhores locais para se encontrar dados sobre praticamente qualquer tema.

Vou destacar a seguir alguns dos datasets que encontrei:

Alguns datasets relacionados ao Brasil:

Estes foram somente alguns exemplos de datasets que se pode encontrar no Kaggle.

Os usuários do site podem publicar e baixar datasets. Além disso, podem criar tópicos compartilhando as suas análises e os códigos de programação que utilizaram.

Por exemplo, este usuário compartilhou a análise de dados que fez sobre o dataset de Pokemons. Veja o gráfico de boxplot que ele gerou sobre a potência do ataque do pokemon de acordo com o seu tipo:

 

Kernels

 

O espaço para Kernels dentro do Kaggle é feito para exploração e compartilhamento de projetos de Data Science.

Neste espaço é possível encontrar uma infinidade de artigos, nas mais diversas linguagens e sobre os mais variados temas. Também é possível publicar a sua própria análise e assim receber feedbacks e dicas de outros usuários.


Oportunidades de emprego

 

Dentro da plataforma do Kaggle é possível encontrar vagas de emprego para Cientistas de Dados.

Há oportunidades para profissionais com ou sem experiência e para os mais diferentes lugares e ramos de atividades. Se você está buscando emprego como cientista de dados, vale a pena conferir as vagas disponíveis dentro do Kaggle.


 

Sem dúvidas, o Kaggle faz jus ao slogan “Your home for Data Science”.

A plataforma oferece um ambiente completo para Cientistas de Dados, desde tutoriais básicos sobre como analisar um banco de dados de Pokemons até competições feitas pelo governo norte-americano e que valem um prêmio milionário.

É um ambiente altamente colaborativo e repleto de informações e oportunidades. Sou um grande fã do Kaggle e aconselho que se você deseja se tornar ou evoluir como Cientista de Dados, adicione já o Kaggle aos seus favoritos.

Boas análises, bons estudos e boa sorte nas competições!