Neste material, quero falar sobre como você pode agir por alguém que deseja adquirir conhecimentos de forma independente nas áreas de DS, IA e ML. A aplicação dos métodos de ensino sugeridos aqui pode levar a um bom progresso no aprendizado de coisas novas. Além disso, compartilharei links de recursos que utilizo e que estou sem sombra de dúvida pronto para recomendar a outros.
Aprenda algumas disciplinas matemáticas
A matemática, mesmo que alguém não goste, é muito importante no campo que nos interessa. Acho que é seguro dizer que quem lê isso já tem algum conhecimento de matemática que adquiriu na escola. Esta é uma boa base, mas não é próxima o suficiente para alguém que deseja desenvolver nas áreas de DS, IA e ML. Ou seja, aqui você precisará se aprofundar na matemática um pouco mais fundo do que na escola, você terá que aprender algumas coisas com estatística, álgebra e outras disciplinas matemáticas. Eu faria uma lista de recursos matemáticos úteis para o DS, mas isso já foi feito para mim neste artigo. E eles fizeram isso muito bem.
Aprenda a programar
Se você está apenas começando no autoaprendizado, não pule direto para aprender como escrever código para fins de aprendizado de máquina. Em vez disso, vale a pena aprender os conceitos básicos de programação que não estão vinculados a nenhum domínio. Aprenda o que é programação, familiarize-se com os diferentes tipos de código existentes e entenda como escrever programas corretamente. Isso é muito importante porque, à medida que você domina a programação, aprenderá muitas ideias básicas que o servirão bem ao longo de sua carreira no DS.
Não se apresse, não se esforce para aprender imediatamente algo difícil. O quanto você entende os princípios básicos afetará toda a sua futura carreira profissional. Aquivocê pode encontrar tutoriais em vídeo muito bons que apresentam a programação e a ciência da computação. Ou seja, eles descobrem as coisas mais importantes que você precisa entender. Dedique algum tempo a esta pergunta e tente chegar a uma compreensão de tudo o que aprendeu.
Escolha uma linguagem de programação e entenda-a corretamente
Existem muitas linguagens de programação usadas por aqueles nos campos DS, AI e ML. Mais comumente usados aqui são Python, R, Java, Julia e SQL. Outros idiomas podem ser usados nessas áreas, mas os que listei são usados com mais frequência do que outros por um motivo:
- Eles são fáceis de aprender. Se você alocar tempo suficiente para estudá-los e mostrar perseverança e constância no treinamento, poderá obter certo sucesso com rapidez suficiente.
- , , .
- , .
- , , , DS, AI ML.
- — .
Não há nada de errado em aprender várias linguagens de programação. E, de fato, é útil saber mais de um idioma. Mas quando você aprender a programar, não se apresse. Você precisa tentar estudar, em um determinado período de tempo, apenas um idioma, caso contrário você pode ficar muito confuso. Portanto, é melhor aprender um idioma de cada vez, prestando atenção especial àqueles de seus mecanismos que serão úteis para você em seu trabalho. Eu sugeriria escolher Python como sua primeira linguagem. Esta é uma linguagem bastante simples que até um iniciante pode entender facilmente. Além disso, eu recomendaria que você primeiro estude programação geral em Python e, em seguida, vá para ferramentas especializadas de Python para análise de dados.
Aprenda a coletar dados
Na maioria das vezes, ninguém fornecerá dados especialmente projetados para você e, às vezes, você pode não ter nenhum dado. Mas, em qualquer caso, você precisa encontrar uma maneira de coletar os dados com os quais trabalhará. A organização para a qual você trabalha pode ter um bom sistema de coleta de dados. Se sim, esta é uma grande vantagem para você. Se sua organização não possui tal sistema, você deve encontrar uma maneira de coletar dados. Mas não estamos falando de nenhum dado, mas de informações de alta qualidade, com as quais você pode trabalhar de forma produtiva, alcançando seus objetivos. A coleta de dados não está diretamente relacionada à "mineração de dados", com sua análise aprofundada. A coleta de dados é uma etapa de trabalho que antecede a análise.
Dados abertos que podem ser usados gratuitamente podem ser encontrados em muitos lugares na Internet. Às vezes, os dados de que você precisa podem ser coletados de sites usando técnicas de web scraping. Web scraping é uma habilidade do cientista de dados muito importante, então eu realmente peço a todos que irão trabalhar nas áreas de DS, IA e ML que dominem essa habilidade. Aqui está um bom guia para web scraping.
Os dados, além disso, podem ser armazenados em bancos de dados, de modo que o conhecimento inicial de administração de banco de dados e o conhecimento de interação com bancos de dados serão muito úteis para você. Em particular, o conhecimento de SQL é muito importante aqui. Aprenda SQL aqui .
Aprenda a processar dados
O que vou falar aqui costuma ser chamado de Organização de Dados. Este processo inclui limpar os dados existentes. Ele usa a análise exploratória de dados e a remoção de todos os desnecessários deles. Esse processo também inclui estruturar os dados, trazendo-os para um formulário com o qual você possa trabalhar. Esta etapa do trabalho com dados é a mais difícil e exaustiva. Os dados que você encontra no processo de aprendizagem já estarão preparados para análise. Mas os dados que você encontra no mundo real podem ser completamente brutos. Se você realmente deseja se tornar um cientista de dados, precisa encontrar os dados reais e encontrar maneiras de torná-los decentes.
Os dados reais podem ser encontrados em quase todos os lugares. Por exemplo - emKaggle . Essa ótima plataforma possui dados de várias empresas ao redor do mundo. O processamento de dados primários é uma atividade muito tediosa, mas se você fizer isso regularmente e persistentemente, vai perceber aos poucos que também é uma atividade muito interessante. Aqui estão algumas boas palestras sobre processamento de dados primários.
Aprenda a visualizar dados
Se você é um especialista em DS, IA ou ML e é bem versado em seu negócio, não deve esquecer que o que parece óbvio para você pode ser completamente incompreensível para os outros. Não espere que eles, por exemplo, sejam capazes de tirar conclusões olhando para colunas de números. Aprender a visualizar dados é necessário para que os resultados do seu trabalho possam ser utilizados por especialistas de outras áreas. A "visualização de dados" é comumente referida como o processo de apresentação de dados em um formato gráfico. Essa apresentação dos dados permitirá extrair seu benefício mesmo para aqueles que não possuem conhecimentos especiais nas áreas de DS, IA e ML.
Existem muitas maneiras de visualizar os dados. Como somos programadores, nosso principal método de visualização de dados deve ser escrever o código apropriado. É rápido e não requer a aquisição de ferramentas especializadas. Ao escrever código para visualização de dados, você pode usar muitas bibliotecas gratuitas e de código aberto criadas para as linguagens de programação que usamos. Por exemplo, existem bibliotecas desse tipo para Python. Estes são Matplotlib, Seaborn e Bokeh. Aqui está um tutorial em vídeo sobre Matplotlib.
Outra maneira de visualizar os dados é usar ferramentas de código fechado. Por exemplo - Tableau... Existem muitas dessas ferramentas por aí e elas podem produzir resultados muito atraentes, mas não são gratuitas. O Tableau é uma das ferramentas mais comuns e eu o uso muito. Eu aconselharia qualquer pessoa envolvida em análise e visualização de dados a aprender o Tableau. Aqui está um bom guia para essa ferramenta.
Inteligência artificial e aprendizado de máquina
AI e ML podem ser considerados subseções do DS, pois são orientados por dados. AI e ML são tecnologias baseadas no ensino de máquinas a se comportarem de maneira semelhante ao comportamento humano. Para isso, são utilizados dados especialmente preparados, transmitidos às máquinas. Os modelos de computador podem ensinar muito sobre o que os humanos são capazes. Para isso, eles são treinados e orientados para o resultado desejado. Nesse caso, "máquinas" podem ser percebidas como crianças pequenas sem nenhum conhecimento. Essas crianças são gradualmente ensinadas a identificar objetos, a falar. Eles aprendem com seus erros e, à medida que aprendem, vão resolvendo melhor as tarefas que lhes são atribuídas. Esse é o caso dos carros.
As tecnologias de IA e ML são o que dá vida às máquinas usando uma variedade de algoritmos matemáticos. A humanidade ainda não conhece os limites das capacidades dessas tecnologias em constante aperfeiçoamento. Hoje em dia, as tecnologias de IA e ML são amplamente utilizadas para resolver problemas cognitivos. São eles: detecção e reconhecimento de objetos, reconhecimento de rosto e voz, processamento de linguagem natural, detecção de spam e detecção de fraude. Esta lista pode ser continuada por muito tempo.
Uma história mais detalhada sobre IA e ML merece uma publicação separada. Nesse ínterim, posso recomendar este vídeo sobre questões gerais da aplicação dessas tecnologias. Mas aqui- Horas de vídeo tutorial sobre aprendizado de máquina. Ao trabalhar com esses vídeos, você pode adquirir conhecimentos de ML que correspondem ao nível de iniciante ou mesmo intermediário. Você aprenderá sobre os vários algoritmos de aprendizado de máquina existentes, como eles funcionam e como usá-los. Depois disso, você deve ter conhecimento suficiente para começar a criar seus próprios modelos de ML simples. Você pode ler sobre como fazer isso aqui .
Explore maneiras de publicar modelos de ML online
Existem ferramentas que permitem publicar modelos de ML na Internet. Isso permite que você dê acesso a todos. Para publicar modelos na Internet, você precisa ter um bom conhecimento dos processos de desenvolvimento da web. O ponto é que por "publicar um modelo" queremos dizer criar uma página da web (ou um grupo de páginas) que torna possível trabalhar com um modelo em um navegador. Além disso, é necessário levar em consideração o fato de que o frontend do projeto, sua interface, deve trocar dados com o backend, com a parte do servidor do projeto, onde o próprio modelo está localizado. Para construir tais projetos, você deve ser capaz de criar APIs do lado do servidor e usar essas APIs no lado do cliente dos aplicativos.
No caso de você planejar publicar modelos na nuvem, se for usar a tecnologia Docker, um bom conhecimento da área de computação em nuvem e DevOps será útil.
Na verdade, existem muitas maneiras de implantar modelos na Internet. Eu sugeriria começar aprendendo como fazer isso usando a estrutura da web Flask baseada em Python. Aqui está um bom tutorial sobre isso.
Encontre um mentor
A autoaprendizagem é ótima, mas nada supera o aprendizado de profissionais. O fato é que com essa abordagem se assimila o que se usa na realidade, e é assim que o aprendizado passa pela prática. Muitas coisas só podem ser aprendidas com a prática. O coaching tem muitos pontos fortes, mas deve-se ter em mente que nem todo mentor pode ter um impacto significativo em sua carreira ou vida. É por isso que é muito importante encontrar um bom mentor.
Por exemplo, você pode tentar resolver esse problema usando a plataforma Notitia AI .... Aqui, os alunos são atribuídos a mentores pessoais que fazem contribuições pessoais e profissionais para o desenvolvimento do aluno. Os mentores levam aqueles que querem aprender do nível iniciante ao especialista nas áreas de DS, IA e ML. Notia AI também é a plataforma mais acessível de seu tipo.
Resultado
Lembre-se de que estudar cursos, ler artigos e assistir a vídeos não fará de você um cientista de dados. Você precisará ser certificado por uma instituição especializada. Além disso, algumas vagas exigem certas qualificações educacionais. Invista tempo no autodidatismo, obtenha uma certificação ou obtenha suas credenciais de educação e você estará pronto para um trabalho real.
O que você acha que é preciso saber e ser capaz de aspirar a se tornar um especialista valioso nas áreas de inteligência artificial ou aprendizado de máquina?