Por Onde Começo?
Essa é a principal pergunta que todos me fazem, Neste caso mostrarei o ferramental básico para se usar o Aprendizado de Máquina (Machine Learning) com Python. Consideremos o Python 3.6 que é o mais utilizado então já vai de pré-requisito, porém existem outras bibliotecas para se intalar. Considere que o software principal é o Anaconda, que além de empacotar tudo de uma maneira muito funcional, ainda tem um painel de controle para instalações de outras bibliotecas: https://www.anaconda.com/download/.Se desejar uma IDE (além do Jupyter que já vem com o Anaconda), atualmente usa-se muito o Visual Studio Code, recomendo: https://code.visualstudio.com/. Não sabe Python? Siga o tutorial básico desse site: https://www.tutorialspoint.com/python/index.htm.
Algumas bibliotecas podem ser adicionadas de acordo com a necessidade. Lembrando que é sempre preferível verificar se a biblioteca já não está disponível no Anaconda, para evitar maiores dores de cabeça. As básicas e já instaladas são:
- Numpy, biblioteca pra arrays e funções matemáticas: https://pypi.python.org/pypi/numpy
- Matplotlib, para plotagem de gráficos e visualização de dados: https://matplotlib.org/downloads.html
- Scikit-learn, com tudo quanto é tipo de algoritmo: http://scikit-learn.org/stable/install.html
- Pandas, para manipulação e análise de dados: https://pandas.pydata.org/
- OpenCV, para visualização e edição de imagens via Python: https://opencv.org/releases.html
- Weka, aplicação com interface gráfica para leitura de dados, pré-processamento e algoritmos de aprendizado de máquina: https://www.cs.waikato.ac.nz/ml/weka/downloading.html
- Open Refine, esqueça Excel para lidar com arquivos CSV, este software é muito mais profissional quando se trata de limpar grandes dados: http://openrefine.org/
Para quem pretende lidar com Redes Neurais e Deep Learning, existem quatro grandes frameworks: TensorFlow, Keras, PyTorch e Theano. Mas antes é bom ler um material introdutório sobre Redes Neurais. Na disciplina de Psicologia Conexionista e Psicobiologia do professor Antônio Carlos Roque: http://sisne.org/Disciplinas/PosGrad/PsicoConex/. Deseja entender como essas redes funcionam através uma explicação visual? Enão visite o "parquinho" do TensorFlow em: http://playground.tensorflow.org.
Depois de ler agora é hora de instalar o TensorFlow. A instalação é um pouco enjoada, então todo cuidado é pouco. Siga os seguintes passos:
- Instalar o CUDA Toolkit, e cheque se as variáveis do sistema estão corretas (cheque mesmo, existe chances de não terem sido colocadas corretamente pela instalação)
- Instalar os drivers do CUDA Toolkit
- Instalar o cuDNN
- Instalar o TensorFlow, versão CPU ou GPU (de preferência tenha só uma instalação)
É sempre recomendável seguir o passo-a-passo do próprio TensorFlow. Até o link do Stack Overflow dos erros mais comuns tem lá: https://www.tensorflow.org/install/. Ou use o Docker que é bem mais tranquilo. Veja mais em https://www.tensorflow.org/install/docker.
Instalou? Testou? Rodou? Agora não sabe pode onde começar? O próprio TensorFlow tem bons tutoriais para começar a lidar com ele. Recomendo dois tutoriais:
- Para base MNIST, uma base histórica de dígitos escritos a mão: https://www.tensorflow.org/tutorials/layers
- Para o CIFAR-10, uma base histórica de 60.000 imagens de 10 tipos diferentes: https://www.tensorflow.org/tutorials/deep_cnn
Quer mais tutoriais? Tem também: https://www.tensorflow.org/tutorials/. Nos tutoriais isso fica claro: aprenda a usar o TensorBoard, gerenciador e visualizador das redes neurais do TensorFlow. Até salvar o estado atual da rede para recarregar depois é possível: https://www.tensorflow.org/learn ou quer sentir alguns exemplos na prática? Visite o GitHub do Imanol Schlag em
http://ischlag.github.io e clone alguns projetos. Outras opções?
- Site com databases históricos e clássicos? Acesse o UCI Machine Learning Repository: https://archive.ics.uci.edu/ml/
- Quer um site com databases atuais e complexos? Crie uma conta no Kaggle: http://www.kaggle.com/
- Lista de datasets com o estado atual da arte e de outras aplicações para essas bases (incluindo o MNIST e o CIFAR-10)? Tem aqui: http://rodrigob.github.io/are_we_there_yet/build/
Achou uma base que deseja trabalhar? Quer sabe como o pessoal anda resolvendo um determinado problema? Então prepare-se para ler artigos, prepare-se para ler MUITOS ARTIGOS e que provavelmente estarão postados aqui: https://arxiv.org/.
Não gosta de ler é prefere vídeos? Vamos a eles, ficou com alguma dúvida em relação a como alguma rede funciona? Provável que o Siraj Raval já tenha explicado: https://www.youtube.com/channel/UCWN3xxRkmTPmbKwht9FuE5A. Quer alguma inspiração de que problema atacar? Deseja saber o que está sendo feito academicamente e comercialmente na atualidade da área? O canal do Deep Learning Brasil, produziu uma playlist com aulas do curso de Deep Learning, com listas de exercícios e até arquiteturas avançadas já implementadas: https://www.youtube.com/channel/UCWg0CObS-JnEtjW69eGh89A. Por fim, na UFG temos a matéria Redes Neurais Profundas, incluídas semestralmente na pós-graduação do Instituto de Informática, onde você pode acompanhar tanto presencialmente quanto remotamente, pois todas as aulas são gravadas. Acompanhe o cronograma da próxima turma pelo site: http://www.inf.ufg.br/mestrado/
Deseja mais alguns sites confiáveis para explicações sobre qualquer problema, O'Reilly Media (https://www.oreilly.com/) e o Medium (https://medium.com/). Não gostou dessa lista e quer um curso próprio para a área? Tem lista disso também:
- Em português, é atualizado de tempos em tempos: https://www.datascienceacademy.com.br/
- Curso da Google que saiu essa semana: http://ai.google/education
- Clássico CS229, marco na área, mas bem extenso: https://see.stanford.edu/course/cs229
- Existem vários cursos na Udacity, além dos nanodegrees, alguns pagos, outros gratuitos, é até difícil de escolher qual estudar: https://br.udacity.com/courses/machine-learning
Esse é apenas uma recomendação básica para ferramentas iniciais na área (existem muitas dessas listas por aí). Usando isso você poderá dar o pontapé inicial e começar a experimentar o que Ciência de Dados pode trazer de novidade.
Obrigado e até a próxima
Fernando Anselmo
Excellent sharing. Testing is a wonderful field for IT peoples. Want to learn Selenium Training reach GangBoard. thanks for ur page
ResponderExcluirAi & Artificial Intelligence Course in Chennai
PHP Training in Chennai
Ethical Hacking Course in Chennai Blue Prism Training in Chennai
UiPath Training in Chennai