Data Science Machine Learning Python

Introdução a Competições de Ciência de Dados no Kaggle

Fala galera! Tudo bem com vocês? Espero que sim… Hoje vamos falar do Kaggle, vocês conhecem? Já ouviram falar? Utilizam a plataforma? Portanto, se a resposta é não para algumas dessas perguntas, você está no lugar certo! Mas, se já conhece vem com a gente também que vou dar umas dicas bem legais de como aproveitar a plataforma, que é muito boa para os amantes da Ciência de Dados.

Vou deixar aqui o meu perfil (diasctiago) para a gente interagir por lá também. Ando até um pouco afastado do Kaggle, mas em 2021 vou voltar com tudo!

Na imagem acima do perfil já temos algumas informações importantes. É possível ver a sua pontuação por contribuição com a comunidade. Atualmente tem 4 rankings de usuários (Competitions, Datasets, Notebooks, e Discussion).

Ainda falando dos rankings, o Kaggle atribui 5 níveis para os usuários. conforme suas contribuições. Agora vamos entender melhor como atingir esse níveis.

1. O Kaggle

Primeiramente, vamos entender essa comunidade. O Kaggle é uma plataforma do Google, para quem tem interesse em praticar, aprender, ensinar e/ou contribuir para a área de ciência de dados. Então, o próprio Kaggle se define como:

“Kaggle é a maior comunidade de ciência de dados do mundo, com ferramentas e recursos poderosos para ajudá-lo a atingir seus objetivos de ciência de dados.”

Dessa forma o Kaggle possibilita aos seus usuários, acesso a conjuntos de dados, publicar e construir modelo em um ambiente web pronto e de fácil utilização (não é necessário instalar o ambiente de desenvolvimento). Portanto, é possível trabalhar de forma colaborativa com outras pessoas e participar de competições, resolvendo problemas de ciência de dados.

Vou detalhar alguns pontos principais da comunidade, e mostrar como é fácil participar das competições do Kaggle.

1.1. Competições no Kaggle

Existem diversas competições no Kaggle, como podemos ver algumas na imagem abaixo. Algumas bem famosas como a do Titanic, que a partir de um modelo de classificação (Não sabe o que é um modelo de classificação? Confere nosso conteúdo de Classificação com scikit-learn) consegue prever a probabilidade da vida ou morte do passageiro. Ou a House Prices, para prever os preços das casas em Boston, utilizando modelos de regressão linear (Não sabe o que é um modelo de classificação? Confere nosso conteúdo de Regressão com scikit-learn).

Além das famosas competições para quem tá começando, existem competições de grandes empresas como Google, Microsoft, Facebook, Santander, Walmart dentre muitas outras, algumas até com prêmios em dinheiro. 

Para realizar essas competições é preciso de dados, os famosos datasets ou simplesmente conjunto de dados. 

1.2. Datasets no Kaggle

Na imagem abaixo é possível ver a página de datasets do Kaggle, são mais de 50k de conjuntos de dados públicos.

É possível compartilhar com a comunidade o dataset que você criou, toda contribuição com a comunidade é pontuada (a avaliação é feita pelos próprios usuários) e conta para o rankings de usuários. Agora que já sabemos que temos um mundo de informações e conjuntos de dados, podemos criar os notebooks para trabalhar com eles.

1.3. Notebooks no Kaggle

Atualmente a plataforma tem mais de 400k de notebooks públicos, com análises dos diversos datasets disponíveis. Tem muita análise boa para se inspirar e criar a sua.

Na imagem acima é possível ver alguns dos notebooks criados por mim, da mesma forma que os datasets toda a contribuição com novos notebooks com a comunidade é pontuada e conta para o rankings de usuários.

E se eu tiver uma dúvida e quiser compartilhar? Ou falar de algum tema específico? Temos as comunidades do Kaggle para isso.

1.4. Comunidades no Kaggle

É possível descobrir conteúdo com a comunidade, participar de discussões sobre tópicos de seu interesse.

Na imagem acima é possível ver alguns dos temas disponíveis para discussão das comunidades.

Ou abrir um fórum para debater temas mais específicos e diversos como podemos ver na imagem acima. As contribuições em discussões também contam para o rankings de usuários.

E se eu sou novo na área e precisar de uma introdução em python? Sql? Machine Learning? O Kaggle disponibiliza alguns cursos para a comunidade.

1.5. Cursos no Kaggle

É possível realizar alguns cursos introdutórios disponibilizados pela plataforma. São cursos gratuitos e com certificados.

Na imagem acima da página de cursos, podemos ver 2, dos mais de 15 cursos disponibilizados pela plataforma. Agora que já tem todas essas informações sobre o Kaggle, pode participar da sua primeira competição.

2. Participando de Competições no Kaggle

Finalmente vamos para a melhor parte do Kaggle (na minha opinião, claro). Escolha uma das competições disponíveis na plataforma e vamos criar o nosso modelo. Let’s code!!!

Na imagem acima da página de competições, é possível ver as competições ativas. Para começar vamos escolher a clássica competição do Titanic.

No Overview, temos todo o descritivo da competição, no caso do Titanic, podemos resumir a competição de uma forma bem simples como: usar o aprendizado de máquina para criar um modelo que prevê quais passageiros sobreviveram ao naufrágio do Titanic.

Escolhida a competição basta clicar no botão Join Competition e já estamos participando.

Agora é hora de conhecer os dados que vamos trabalhar, na aba Data. Vamos encontrar 3 arquivos: 1 – train.csv, nossos dados de treinamento; 2 – test.csv, nossos dados de teste para aplicar o modelo treinado e 3 – gender_submission.csv, exemplo do modelo de submissão, que vamos gerar com os dados de teste.

Esses são os 3 arquivos básicos que vão encontrar em outras competições também. Agora que já sabemos onde estão os nossos dados vamos criar o notebook com o modelo.

2.1. Criando se Modelo no Kaggle

Em Notebooks vamos criar nosso modelo, o kaggle já disponibiliza a plataforma com o ambiente de desenvolvimento pronto.

O notebook que criei para esta competição e está na imagem abaixo, confere o código dele completo Titanic: Machine Learning TD.

Os notebooks públicos da competição são de acesso a todos, então pode acessar os notebooks disponibilizados pela comunidade. Ainda pode comentar sobre os notebooks, mas se quiser abrir uma discussão específica sobre a competição, tem o local correto para isso.

2.2. Interagindo com a Comunidade no Kaggle

Por exemplo, na aba Discussion, você pode interagir com a comunidade sobre a competição. Assim pode criar ou responder tópicos de dúvidas, sugestões entre outros assuntos.

Para consultar o ranking dos competidores vá até a aba Leaderboard, então, você pode ver a sua classificação e dos demais competidores.

Mas, para seu perfil entrar no ranking, é preciso fazer a submissão do seu modelo.

2.3. Submissões no Kaggle

Para submeter o seu modelo, basta clicar em Submit Predicitions, então, vamos ter 2 opção, por linha de comando:

kaggle competitions submit -c titanic -f submission.csv -m "Message"

Da mesma forma, fazendo o upload do arquivo .csv gerado pelo seu modelo no Step 1, como podemos ver na imagem abaixo da tela de submissão.

Logo depois deixe um breve comentário no Step 2, para identificar as suas submissões.

Assim, para enviar, basta clicar no botão Make Submission.

Para consultar os seus envios, vá em My Submissions, então é possível, ver todas as suas submissões enviadas. Como podemos ver na imagem abaixo.

Enfim, gostou? Definitivamente está pronto para as competições do Kaggle?

3. Conclusões

Então, espero que essa apresentação do Kaggle ajude a quem está chegando na área a começar a utilizar a plataforma. Acima de tudo praticar de uma forma gamificada é bem interessante para quem está começando.

Então, vimos hoje aqui o que é a maior comunidade de ciência de dados do mundo, como ela funciona e como começar a competir nela. Bem vindo ao Kaggle!

Dessa forma, espero que tenham gostado do conteúdo, compartilhem, comentem e lembrem-se o Dados ao Cubo está sempre de braços abertos para a comunidade de Ciência de Dados. Venha compartilhar conteúdo e ser nosso Parceiro de Publicação D³!!!

Referências

Gostou? Compartilhe!

Você pode gostar:

Comentários: