Articles

5 Passos Amigáveis para Principiantes Aprender Aprendizagem de Máquinas e Ciência de Dados com Python

Posted on

Dois anos atrás, comecei a aprender máquinas online por conta própria. Partilhei a minha viagem através do YouTube e do meu blog. Não tinha ideia do que estava a fazer. Nunca tinha codificado antes, mas decidi que queria aprender a aprendizagem de máquinas.

Quando as pessoas encontram o meu trabalho, por vezes estendem a mão e fazem perguntas. Não tenho todas as respostas, mas respondo ao máximo que posso. A pergunta mais comum que recebo é “por onde começo?”. A próxima pergunta mais comum é “quanto é que preciso de saber de matemática?”

Respondi a algumas destas perguntas esta manhã.

Uma pessoa disse-me que tinha começado a aprender Python e que queria entrar na aprendizagem de máquinas mas não sabia o que fazer a seguir.

Eu aprendi Python, o que devo fazer a seguir?

Eu juntei alguns passos na resposta e estou a copiá-los aqui. Pode considerá-los um esboço rudimentar para passar de não saber codificar a ser um profissional de aprendizagem de máquinas.

O meu estilo de aprendizagem é codificar primeiro. Ponha o código a funcionar primeiro e aprenda a teoria, matemática, estatística e o lado da probabilidade das coisas quando precisar, e não antes.

Remmbrar, se está a começar a aprender a aprendizagem de máquinas, pode ser assustador. Há muita coisa. Leve o seu tempo. Marque este artigo para que possa referir-se a ele à medida que vai.

Sinto-me inclinado a usar Python porque foi com isso que comecei e continuo a usar. Poderia usar outra coisa mas estes passos serão para Python.

O email disse que já tinham feito algum Python. Mas este passo é também para alguém que é completamente novo. Passe alguns meses a aprender o código Python ao mesmo tempo que diferentes conceitos de aprendizagem de máquinas. Vai precisar de ambos.

Aprendendo código Python, pratique usando ferramentas de ciência de dados como Jupyter e Anaconda. Passe algumas horas a mexer nelas, para que servem e porque deve utilizá-las.

Recursos para a aprendizagem

  1. Elementos de IA – visão geral dos principais conceitos de inteligência artificial e aprendizagem de máquinas.
  2. Um Guia de Campo de 6 Passos para Projectos de Aprendizagem de Máquinas de Construção – visão geral de muitos passos práticos que pode dar para começar a utilizar a aprendizagem de máquinas numa variedade de diferentes problemas empresariais.
  3. Python for Everybody on Coursera – aprenda Python de raiz.
  4. Aprenda Python por FreeCodeCamp – todos os principais conceitos de Python num só vídeo.
  5. Anaconda Tutorial por Corey Schafer – aprenda Anaconda (o que vai usar para configurar o seu computador para a ciência dos dados e aprendizagem de máquinas) num só vídeo.
  6. Tutorial Jupyter Notebook for Beginners Tutorial by Dataquest – aprenda a utilizar os cadernos Jupyter num só artigo.
  7. Tutorial Jupyter Notebook by Corey Schafer – aprenda a utilizar os cadernos Jupyter num só vídeo.

Aprenda a análise de dados, manipulação & visualização com Pandas, NumPy Matplotlib

Após ter alguns conhecimentos de Python, vai querer aprender a trabalhar e a manipular dados.

Para o fazer, deverá familiarizar-se com pandas, NumPy e Matplotlib.

p>pandas ajudá-lo-ão a trabalhar com dataframes, estas são tabelas de informação como veria num ficheiro Excel. Pense em filas e colunas. Este tipo de dados chama-se dados estruturados.

NumPy irá ajudá-lo a realizar operações numéricas sobre os seus dados. A aprendizagem da máquina transforma tudo aquilo em números e depois encontra os padrões nesses números.

Matplotlib irá ajudá-lo a fazer gráficos e visualizações dos seus dados. Compreender uma pilha de números numa tabela pode ser difícil para os humanos. Preferimos muito ver um gráfico com uma linha a passar por ele. Fazer visualizações é uma grande parte da comunicação das suas descobertas.

Recursos de aprendizagem

  1. Ciência de Dados Aplicada com Python on Coursera – comece a adaptar as suas capacidades Python à ciência de dados.
  2. pandas em 10 minutos – uma rápida visão geral da biblioteca de pandas e de algumas das suas funções mais úteis.
  3. Python Pandas Tutorial por Codebasics – série YouTube passando por todas as principais capacidades dos pandas.
  4. NumPy Tutorial por freeCodeCamp – aprenda NumPy num vídeo YouTube.
  5. Matplotlib Tutorial por Sentdex – série YouTube ensinando todas as características mais úteis do Matplotlib.

Aprenda a aprendizagem de máquinas com scikit-learn

Agora tem capacidades para manipular e visualizar dados, é altura de encontrar padrões nele.

scikit-learn é uma biblioteca Python com muitos algoritmos de aprendizagem de máquinas úteis incorporados prontos a usar.

Também apresenta muitas outras funções úteis para descobrir até que ponto o seu algoritmo de aprendizagem aprendeu bem.

Focaliza a aprendizagem do tipo de problemas de aprendizagem de máquinas, tais como, classificação e regressão, e que tipo de algoritmos são melhores para aqueles. Ainda não se trata de compreender cada algoritmo do zero, aprender a aplicá-los primeiro.

Recursos de aprendizagem

  1. Aprendizagem de máquinas em Python com scikit-learn da Data School – lista de reprodução do YouTube que ensina todas as principais funcionalidades em scikit-learn.
  2. Uma Introdução Suave à Análise Exploratória de Dados por Daniel Bourke – junte o que aprendeu nas duas etapas acima mencionadas num projecto. Vem com código e vídeo para o ajudar a entrar no seu primeiro concurso Kaggle.
  3. caderno de análise exploratória de dados de Daniel Formosso com scikit-learn – versão mais aprofundada do recurso acima, vem com um projecto de ponta a ponta usando o acima referido.

Aprender redes neurais de aprendizagem profunda

Aprender profundamente e as redes neurais funcionam melhor em dados sem muita estrutura.

Dataframes têm estrutura, imagens, vídeos, ficheiros de áudio e texto em linguagem natural têm estrutura mas não tanto.

Tidbit: Para a maioria dos casos, vai querer usar um conjunto de árvores de decisão (Florestas Aleatórias ou um algoritmo como XGBoost) para dados estruturados e vai querer usar aprendizagem profunda ou transferir aprendizagem (tomando uma rede neural pré-formada e usando-a no seu problema) para dados não estruturados.

Poderia começar uma nota com pequenas notas como esta para si próprio e recolhê-las à medida que avança.

Recursos para aprendizagem

  1. aprendizagem profunda.ai por Andrew Ng on Coursera – aprendizagem profunda ensinada por um dos melhores profissionais da indústria.
  2. cursos de aprendizagem profunda quick.ai por Jeremy Howard – uma abordagem prática à aprendizagem profunda ensinada por um dos melhores profissionais da indústria.

Extra curriculum & livros

Durante o caminho, seria ideal se praticasse o que estava a aprender com pequenos projectos próprios. Estes não têm de ser coisas elaboradas que mudam o mundo, mas algo que se pode dizer “Eu fiz isto com X”. E depois partilhe o seu trabalho através do Github ou de um post no blogue. Github é usado para mostrar o seu código, um post de blogue é usado para mostrar como pode comunicar o seu trabalho. Deve procurar divulgar um de cada um para cada projecto.

A melhor maneira de se candidatar a um trabalho é já ter feito as coisas que necessita. Partilhar o seu trabalho é uma excelente forma de mostrar a um potencial futuro empregador aquilo de que é capaz.

Depois de estar familiarizado com a utilização de algumas das diferentes estruturas para a aprendizagem de máquinas e aprendizagem profunda, poderá tentar cimentar os seus conhecimentos construindo-os a partir do zero. Nem sempre terá de fazer isto na produção ou num papel de aprendizagem de máquinas, mas saber como as coisas funcionam a partir do interior ajudá-lo-á a construir sobre o seu próprio trabalho.

Recursos de aprendizagem

  1. Como iniciar os seus próprios projectos de aprendizagem de máquinas por Daniel Bourke – iniciar os seus próprios projectos pode ser difícil, este artigo dá-lhe algumas indicações.
  2. rápido.ai aprendizagem profunda das fundações por Jeremy Howard – uma vez que tenha ido de cima para baixo, este curso irá ajudá-lo a preencher as lacunas de baixo para cima.
  3. Grokking Deep Learning by Andrew Trask – este livro ensinar-te-á como construir redes neurais a partir do zero e por que razão deves saber como.
  4. Estes livros ajudar-te-ão a aprender a aprendizagem de máquinas por Daniel Bourke – YouTube video passando por alguns dos melhores livros sobre aprendizagem de máquinas.

Quanto tempo para cada passo?

Podes passar 6 meses ou mais em cada um deles. Não tenha pressa. A aprendizagem de coisas novas leva tempo. A principal habilidade que está a construir como cientista de dados ou engenheiro de aprendizagem de máquinas é como fazer boas perguntas de dados e depois usar as suas ferramentas para tentar encontrar respostas.

alguns dias vai sentir-se como se não estivesse a aprender nada. Mesmo andando para trás. Ignore-o. Não compare o seu progresso dia após dia. Compare o seu progresso ano após ano.

Onde posso aprender estas competências?

Listei alguns recursos acima, estão todos disponíveis online e a maioria deles são gratuitos, mas há muitos mais.

DataCamp é um óptimo local para fazer a maioria destes. Caso contrário, a minha base de dados de recursos de Aprendizagem de Máquinas e Inteligência Artificial contém um bom arquivo de materiais de aprendizagem gratuitos e pagos.

Remember, parte de ser um cientista de dados ou engenheiro de aprendizagem de máquinas está a resolver problemas. Trate a sua primeira tarefa como se descobrisse mais sobre cada um dos passos aqui e criasse o seu próprio currículo para o ajudar a aprendê-los.

Se quiser saber como é um exemplo de currículo de auto-aprendizagem de máquinas, consulte o meu Mestrado em IA Autocriado. É o que eu costumava fazer desde a codificação zero até ser engenheiro de aprendizagem de máquinas em 9 meses. Não é perfeito mas é meu, é por isso que funcionou.

E as estatísticas? E quanto à matemática? E quanto à probabilidade?

Vai aprender estas coisas ao longo do caminho. Comece primeiro pelo código. Ponha as coisas a funcionar. Tentar aprender todas as estatísticas, toda a matemática, toda a probabilidade antes de executar o seu código é como tentar ferver o oceano. Isto irá atrasá-lo.

Nada das estatísticas, a matemática e a probabilidade importam se o seu código não correr. Ponha algo a funcionar, e depois use as suas capacidades de pesquisa para descobrir se está correcto.

E as certificações?

Certificações são boas, mas você não anda atrás delas. Está atrás de competências.

Não cometa o erro que cometi e pense que mais certificações é igual a mais competências. Eles não.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *