<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Aprendizagem de máquina - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Aprenda a codificar - de graça. Tutoriais de programação em Python, JavaScript, Linux e muito mais. ]]>
        </description>
        <link>https://www.freecodecamp.org/portuguese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Aprendizagem de máquina - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/portuguese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 23 May 2026 19:22:16 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/portuguese/news/tag/aprendizagem-de-maquina/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Como implantar um modelo de Machine Learning gratuitamente – 7 plataformas de implantação de modelos de ML na nuvem ]]>
                </title>
                <description>
                    <![CDATA[ Eu me lembro da primeira vez que criei um modelo simples de Machine Learning (em português, aprendizagem de máquina). Era um modelo que podia prever seu salário de acordo com seus anos de experiência e, depois de fazê-lo, eu estava curioso sobre como eu poderia implantá-lo em produção. Se você ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/como-implantar-um-modelo-de-machine-learning-gratuitamente-7-plataformas-de-modelos-de-ml-na-nuvem/</link>
                <guid isPermaLink="false">66cdd9a2fc5d380414effd3f</guid>
                
                    <category>
                        <![CDATA[ Aprendizagem de máquina ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Daniel Rosa ]]>
                </dc:creator>
                <pubDate>Tue, 27 Aug 2024 14:24:20 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2024/08/pexels-christina-morillo-1181341.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/deploy-your-machine-learning-models-for-free/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Deploy a Machine Learning Model for Free – 7 ML Model Deployment Cloud Platforms</a>
      </p><p>Eu me lembro da primeira vez que criei um modelo simples de <em>Machine Learning </em>(em português, aprendizagem de máquina). Era um modelo que podia prever seu salário de acordo com seus anos de experiência e, depois de fazê-lo, eu estava curioso sobre como eu poderia implantá-lo em produção.</p><p>Se você tem aprendido Machine Learning, pode ter visto esse desafio em tutoriais <em>on-line</em> ou livros. Você pode encontrar <a href="https://github.com/Davisy/Model-Deployment-by-using-Flask">o código-fonte aqui</a>, se estiver interessado.</p><p>Foi realmente difícil para mim descobrir onde eu poderia implantar meu modelo. Tentei implantá-lo em uma plataforma de hospedagem da web, mas foi difícil configurar e executar a aplicação em Flask que servia meu modelo.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/02/man-5723449_1920.jpg" class="kg-image" alt="man-5723449_1920" width="600" height="400" loading="lazy"></figure><p>Então, decidi explorar diferentes plataformas que foram especificamente criadas para implantação de modelos de <em>Machine Learning</em> (ou que tinham um bom ambiente para suportar minha <em>stack</em> de modelagem).</p><blockquote>Somente quando um modelo está totalmente integrado aos sistemas de negócio, podemos extrair valor real de suas previsões. – Christopher Samiullah</blockquote><p>Neste artigo, você aprenderá sobre diferentes plataformas que podem ajudar você a implantar seus modelos de Machine Learning em produção (gratuitamente) e torná-los úteis.</p><p>Eu também incluí alguns ótimos recursos para ajudar você a começar a implantar seu modelo em uma plataforma específica.</p><p><strong>Observação:</strong> as plataformas mencionadas neste artigo oferecem planos de <strong>nível gratuito</strong> que permitem usar seus produtos ou serviços até o limite de <strong>uso gratuito</strong> especificado. Se você quiser obter serviços ilimitados, será cobrado de acordo com o preço do serviço.</p><h2 id="para-quem-este-artigo">Para quem é este artigo?</h2><p>Este artigo é para aqueles que criaram um modelo de <em>Machine Learning</em> em uma máquina local e querem explorar plataformas potenciais para implantar esse modelo.</p><p>Também é para aqueles que estão procurando uma plataforma alternativa para implantar seus modelos de Machine Learning.</p><p>Vamos começar! 🚀</p><h2 id="op-o-de-implanta-o-de-modelo-de-machine-learning-n-1-algorithmia">Opção de implantação de modelo de Machine Learning nº 1: Algorithmia</h2><p><a href="https://algorithmia.com/">Algorithmia</a> é uma ferramenta de MLOps (operações de <em>Machine Learning</em>), fundada por <a href="https://www.linkedin.com/in/doppenheimer/">Diego Oppenheimer</a> e <a href="https://www.linkedin.com/in/kennydaniel">Kenny Daniel</a>, que fornece uma maneira simples e rápida de implantar seu modelo de <em>Machine Learning</em> em produção.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/02/Algorithmia.png" class="kg-image" alt="Algorithmia" width="600" height="400" loading="lazy"><figcaption>Algorithmia</figcaption></figure><p>A Algorithmia se especializa em <strong>"algoritmos como serviço"</strong>. Ela permite aos usuários criar trechos de código que executam o modelo de ML e, em seguida, hospedá-los na Algorithmia. Depois, você pode chamar seu código como uma API.</p><p>Seu modelo pode ser usado para diferentes aplicações de sua escolha, como aplicações para a web, aplicações móveis ou <em>e-commerce</em>, por uma simples chamada de API, a partir da Algorithmia.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/02/supported-programming-languages.PNG" class="kg-image" alt="supported-programming-languages" width="600" height="400" loading="lazy"><figcaption>Linguagens de programação suportadas</figcaption></figure><p>A boa notícia sobre a Algorithmia é o fato de separar as responsabilidades de <em>Machine Learning</em> do resto da aplicação. Neste caso, você precisa chamar seu modelo e fazer previsões como uma chamada de API. Sua aplicação ficará livre das responsabilidades de um ambiente de <em>Machine Learning</em>.</p><p>Aqui está um bom recurso para você aprender mais sobre o Algorithmia:</p><ul><li><a href="https://www.freecodecamp.org/news/deploy-ml-model-to-production-as-api/">How to Deploy your NLP Model to Production as an API with Algorithmia</a> (em inglês)</li></ul><h2 id="op-o-de-implanta-o-de-modelo-de-machine-learning-n-2-pythonanywhere">Opção de implantação de modelo de Machine Learning nº 2: PythonAnywhere</h2><p>PythonAnywhere é outra plataforma como serviço bem conhecida e em crescimento baseada na linguagem de programação Python. Ela facilita a execução de programas em Python na nuvem e fornece uma maneira simples de hospedar suas aplicações com base em Python na web.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/02/pythonAnywhere.PNG" class="kg-image" alt="pythonAnywhere" width="600" height="400" loading="lazy"><figcaption>PythonAnywhere</figcaption></figure><p>Você pode usar qualquer <em>framework</em> da web em Python, como o Flask, para implantar seu modelo de <em>Machine Learning</em> e executá-lo na plataforma PythonAnywhere em apenas alguns minutos.</p><p>Tenha em mente que o PythonAnywhere não suporta GPUs (placas gráficas). Se você tem um modelo de <em>Deep Learning</em> (em português, aprendizagem profunda) que depende de CUDA e de GPUs, você precisa encontrar um bom servidor para acomodar os requisitos do seu modelo (verifique as plataformas a seguir).</p><p>Aqui estão recursos para você aprender a executar seu modelo de <em>Machine Learning</em> no PythonAnywhere (em inglês):</p><ul><li><a href="https://medium.com/analytics-vidhya/how-to-deploy-simple-machine-learning-models-for-free-56cdccc62b8d">Deploy Machine Learning Models for Free</a></li><li><a href="https://medium.com/@kaustuv.kunal/how-to-deploy-and-host-machine-learning-model-de8cfe4de9c5">How to deploy and host a Machine Learning model</a></li></ul><h2 id="op-o-de-implanta-o-de-modelo-de-machine-learning-n-3-heroku">Opção de implantação de modelo de Machine Learning nº 3: Heroku</h2><p>O Heroku é uma plataforma da nuvem como serviço que ajuda desenvolvedores a implantar, gerenciar e escalar aplicações modernas rapidamente, sem dores de cabeça com infraestrutura.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/02/1_H_nSB0PYTzIxnG9GhNU5vg.jpeg" class="kg-image" alt="1_H_nSB0PYTzIxnG9GhNU5vg" width="600" height="400" loading="lazy"><figcaption>Heroku</figcaption></figure><p>Se você quer implantar seu modelo pela primeira vez, recomendo que experimente o Heroku, porque ele é flexível e fácil de usar.</p><p>Ele oferece uma ampla gama de serviços e ferramentas para acelerar seu desenvolvimento e ajuda você a evitar começar tudo do zero. Ele também suporta várias linguagens de programação amplamente usadas, como Python, Java, PHP, Node, Go, Ruby, Scala e Clojure.</p><p>Na parte de implantação, você pode fazer o <em>upload</em> do seu modelo de <em>Machine Learning</em> treinado e do código-fonte no Heroku vinculando seu repositório do Github à sua conta do Heroku.</p><p>Aqui estão alguns recursos para você aprender a implantar seu modelo na plataforma Heroku (em inglês):</p><ul><li><a href="https://www.freecodecamp.org/news/end-to-end-machine-learning-project-turorial/">How to Develop an End-to-End Machine Learning Project and Deploy it to Heroku with Flask</a></li><li><a href="https://www.kdnuggets.com/2020/09/flask-app-using-python-heroku.html">Create and Deploy your First Flask App using Python and Heroku</a></li></ul><blockquote>"Como é relatado no <a href="https://venturebeat.com/2019/07/19/why-do-87-of-data-science-projects-never-make-it-into-production/">VentureBeat</a>, cerca de 90% dos modelos de Machine Learning nunca entram em produção. Em outras palavras, apenas um em cada dez dias de trabalho de um cientista de dados realmente acaba produzindo algo útil para a empresa." – Rhea Moutafis</blockquote><blockquote>Nota da tradução: no momento em que este artigo foi traduzido, o Heroku encerrou seu <em>tier</em> gratuito.</blockquote><h2 id="op-o-de-implanta-o-de-modelo-de-machine-learning-n-4-google-cloud-platform">Opção de implantação de modelo de Machine Learning nº 4: Google Cloud Platform</h2><p>A Google Cloud Platform (GCP) é uma plataforma oferecida pelo Google que fornece uma série de serviços de computação em nuvem, como computação, armazenamento e bancos de dados, Inteligência Artificial (IA)/Machine Learning (ML), rede, big data, identidade e segurança.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/02/gcp.png" class="kg-image" alt="gcp" width="600" height="400" loading="lazy"><figcaption>Google Cloud</figcaption></figure><p>A Google Cloud Platform fornece infraestrutura como serviço, plataforma como serviço e ambientes de computação sem servidor.</p><p>A Google Cloud oferece um crédito de $300 gratuitamente por 12 meses, mas você terá que adicionar os detalhes do seu cartão de crédito para garantir que você não é um robô. A plataforma não cobrará até que você decida fazer o <em>upgrade </em>para uma conta paga.</p><p>A Google Cloud Platform oferece três maneiras de implantar seu modelo de <em>Machine Learning</em>.</p><h3 id="google-ai-platform">Google AI Platform</h3><p>A Google AI Platform fornece serviços abrangentes de <em>Machine Learning</em>. Cientistas de dados e engenheiros de <em>Machine Learning</em> podem usar essa plataforma para trabalhar em projetos de <em>Machine Learning</em>, desde a criação até a implantação, de maneira mais eficaz.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/02/google-AI-platform.png" class="kg-image" alt="google-AI-platform" width="600" height="400" loading="lazy"><figcaption>Serviços da Google Cloud AI Platform</figcaption></figure><p>Com a Google AI Platform, você terá acesso a todos os seus recursos sob um mesmo teto. Isso inclui preparação de dados, treinamento de modelo, ajuste de parâmetros, implantação de modelo e compartilhamento de modelos de <em>Machine Learning</em> com outros desenvolvedores.</p><p>Para saber mais sobre a Google AI Platform, você pode consultar o site da plataforma <a href="https://cloud.google.com/ai-platform">aqui</a>.</p><h3 id="google-app-engine">Google App Engine</h3><p>A Google App Engine é uma plataforma como serviço (PaaS) fornecida pelo Google, que suporta o desenvolvimento e hospedagem de diferentes aplicações para a web escaláveis.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/02/appengine.png" class="kg-image" alt="appengine" width="600" height="400" loading="lazy"><figcaption>Google App Engine</figcaption></figure><p>A Google App Engine oferece uma função de auto-escalonamento, que aloca recursos automaticamente para que sua aplicação para a web possa lidar com mais solicitações.</p><p>Ela suporta linguagens de programação populares, incluindo Python, PHP, Node.js, Java, Ruby, C# e Go.</p><p>Portanto, você pode implantar seu modelo na Google App Engine usando o <em>framework </em>Flask ou qualquer outro <em>framework </em>que você conheça.</p><p>Para saber mais sobre isso, você pode visitar a plataforma <a href="https://cloud.google.com/appengine">aqui</a>.</p><h3 id="google-cloud-functions">Google Cloud Functions</h3><p>A Google Cloud Functions é uma plataforma de computação sem servidor que oferece funções como serviço (FaaS) para executar seu código sem precisar gerir os servidores.</p><p>Tudo o que você precisa fazer é escrever um pequeno bloco de código (função) em qualquer linguagem de programação suportada e depois hospedá-la na Google Cloud Functions. Nesse caso, você não precisa enfrentar as dificuldades de manter seu próprio servidor.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/02/1_MeXs5Ot8X49Fn1vE_13ukA.png" class="kg-image" alt="1_MeXs5Ot8X49Fn1vE_13ukA" width="600" height="400" loading="lazy"><figcaption>Google Cloud Functions</figcaption></figure><p>Todas as funções criadas e hospedadas na Google Cloud Functions serão executadas na nuvem quando necessário. Você pode chamar funções de nuvem para sua aplicação usando diferentes <a href="https://cloud.google.com/functions/docs/calling">triggers</a> (em português, acionadores ou gatilhos). A maneira mais comum é usando chamadas HTTP.</p><p>Portanto, você pode implantar seu modelo de Machine Learning com um bloco de código suportado para execução na Google Cloud Functions e chamar a requisição de HTTP para predição a partir de sua aplicação da web ou de qualquer outro sistema.</p><p>Aqui estão alguns recursos para você aprender a implantar seu modelo na plataforma Google Cloud (em inglês):</p><ul><li><a href="https://www.freecodecamp.org/news/google-cloud-platform-from-zero-to-hero/">How to Go from Zero to Hero with Google Cloud Platform</a></li><li><a href="https://jianjye.medium.com/how-to-deploy-fast-ai-models-to-google-cloud-functions-for-predictions-e3d73d71546b">How to Deploy Fast.ai models to Google Cloud Functions for Predictions</a></li></ul><h2 id="op-o-de-implanta-o-de-modelo-de-machine-learning-n-6-microsoft-azure-functions">Opção de implantação de modelo de Machine Learning nº 6: Microsoft Azure Functions</h2><p>A Azure Functions é um serviço de nuvem sem servidor fornecido pela Microsoft Azure como uma Função como Serviço (FaaS). A Azure Functions ajuda desenvolvedores a descarregar tarefas de gerenciamento de infraestrutura e focar na execução de seus aplicativos.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/02/1_I39WMuYsU_2BgGAgAePCuw.png" class="kg-image" alt="1_I39WMuYsU_2BgGAgAePCuw" width="600" height="400" loading="lazy"><figcaption>Microsoft Azure Functions</figcaption></figure><blockquote>"Você foca nas partes do código que mais importam para você. As Azure Functions cuidam do resto." – <a href="https://docs.microsoft.com/en-us/azure/azure-functions/?WT.mc_id=ignite-event-toanglin">página da documentação das Azure Functions</a> (em inglês).</blockquote><p>Com a computação sem servidor, você pode escrever um trecho de código que executa seu modelo e depois implantar o código e o modelo de <em>Machine Learning </em>na Azure Functions e chamá-lo para predição como uma API. A Azure Functions é semelhante às funções do Google Cloud.</p><p>A Azure Functions suporta diferentes funções desenvolvidas em C#, F#, Node.js, Python, PHP, JavaScript, Java 8, Powershell Core e TypeScript.</p><p>Se você tem um grande modelo de <em>Machine Learning</em>, a Azure Functions é a escolha certa para você. Ela suporta a implantação de grandes pacotes de ML, como <em>frameworks </em>de <em>deep learning</em> (Tensorflow e Pytorch).</p><ul><li><a href="https://medium.com/microsoftazure/azure-functions-for-ml-4440bee58621">Azure Functions for ML</a> (em inglês)</li><li><a href="https://medium.com/pytorch/efficient-serverless-deployment-of-pytorch-models-on-azure-dc9c2b6bfee7">Efficient Serverless deployment of PyTorch models on Azure</a> (em inglês)</li></ul><h2 id="op-o-de-implanta-o-de-modelos-de-machine-learning-n-7-aws-lambda">Opção de implantação de modelos de Machine Learning nº 7: AWS Lambda</h2><p>O AWS Lambda é um serviço de computação sem servidor fornecido pela Amazon como parte do Amazon Web Services. O AWS Lambda ajuda você a executar seu código sem gerenciar a infraestrutura subjacente.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/02/1_w3p_NfmQOrnGEN39pTC38g.jpeg" class="kg-image" alt="1_w3p_NfmQOrnGEN39pTC38g" width="600" height="400" loading="lazy"><figcaption>AWS Lambda</figcaption></figure><p>Com o Lambda, você pode enviar seu código em uma imagem de contêiner ou arquivo zip. O Lambda aloca automaticamente o poder computacional para executar seu código com base nas solicitações ou eventos recebidos, sem a necessidade de configurar nada.</p><p>O AWS Lambda permite que seu código seja associado a outros recursos da AWS, como uma tabela do Amazon DynamoDB, um <em>bucket </em>do Amazon S3, uma notificação do Amazon SNS e um <em>stream </em>do Amazon Kinesis.</p><p>Portanto, você pode facilmente implantar seu modelo de <em>Machine Learning </em>no AWS Lambda e acessá-lo através de uma API usando o Amazon API Gateway.</p><p>Você pode escrever funções Lambda nas seguintes linguagens de programação suportadas: Python, Java, Go, PowerShell, Node.js, Ruby e C#.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/02/aws-lambda-how-it-works.png" class="kg-image" alt="aws-lambda-how-it-works" width="600" height="400" loading="lazy"><figcaption>Como funciona a Implantação no AWS Lambda</figcaption></figure><p>O AWS Lambda é muito barato, pois você só paga quando invoca a função lambda (ou seja, quando faz solicitações de previsão). Isso pode economizar muito dinheiro em comparação com o custo de executar contêineres ou máquinas virtuais.</p><p>Se você quiser monitorar as funções lambda que criou, o AWS Lambda fará isso por você.</p><p>O AWS Lambda monitora métricas em tempo real, incluindo taxas de erro, solicitações totais, uso de concorrência em nível de função, latência e solicitações limitadas através do Amazon CloudWatch.</p><p>Então, você pode visualizar as estatísticas de cada função lambda usando o Console do AWS Lambda ou o Console do Amazon CloudWatch.</p><p>Aqui estão alguns recursos para você aprender como implantar seu modelo no Azure Functions (em inglês).</p><ul><li><a href="https://www.freecodecamp.org/news/what-we-learned-by-serving-machine-learning-models-using-aws-lambda-c70b303404a1/">Lessons from deploying machine learning models on AWS Lambda</a></li><li><a href="https://aws.amazon.com/blogs/machine-learning/deploying-machine-learning-models-as-serverless-apis/">Deploying machine learning models as serverless APIs</a></li><li><a href="https://aws.amazon.com/blogs/machine-learning/how-to-deploy-deep-learning-models-with-aws-lambda-and-tensorflow/">How to Deploy Deep Learning Models with AWS Lambda and TensorFlow</a></li></ul><h2 id="op-o-extra-de-implanta-o-de-modelo-de-machine-learning-a-biblioteca-mc2gen">Opção extra de implantação de modelo de Machine Learning: a biblioteca mc2gen</h2><p>Tenho uma opção extra para você, caso as plataformas mencionadas acima não atendam às suas necessidades. Você sabia que é possível transformar seu modelo de <em>Machine Learning</em> treinado na linguagem de programação de sua escolha?</p><p>Sim, você pode converter seu modelo usando a biblioteca <a href="https://github.com/BayesWitnesses/m2cgen">m2cgen</a> do Python, desenvolvida pelos <a href="https://github.com/BayesWitnesses">Bayes' Witnesses</a>. m2cgen (Model 2 Code Generator) é uma biblioteca simples do Python que converte um modelo de <em>Machine Learning </em>treinado em diferentes linguagens de programação.</p><p>Atualmente, ela suporta 14 linguagens de programação diferentes, incluindo Go, C#, Python, PHP e JavaScript. A biblioteca m2cgen suporta modelos de regressão e classificação do scikit-learn e <em>frameworks</em> do Gradient Boost, como XGBoost e LightGBM (Light Gradient Boosting Machine).</p><p>Para saber mais sobre essa biblioteca, recomendo que você leia meu <a href="https://www.freecodecamp.org/news/transform-machine-learning-models-into-native-code-with-zero-dependencies/">guia sobre o mc2gen aqui</a> (em inglês). Lá, eu explico como usar a biblioteca e converter um modelo de <em>Machine Learning</em> treinado em três linguagens de programação diferentes e, depois, fazer uma previsão.</p><p>Essa biblioteca do Python ajudará você a implantar seu modelo em ambientes onde você não pode instalar sua <em>stack </em>do Python para dar suporte à previsão do seu modelo.</p><h2 id="conclus-o">Conclusão</h2><p>A implantação de <em>Machine Learning </em>é uma das habilidades importantes que você deve ter se for trabalhar em projetos de <em>Machine Learning</em>. As plataformas mencionadas acima podem ajudar você a implantar seu modelo e a torná-lo útil, em vez de mantê-lo em sua máquina local.</p><p><strong>Parabéns</strong> 👏👏! Você chegou ao final deste artigo! Espero que tenha aprendido algo novo que o ajudará em sua carreira.</p><p>Se aprendeu algo novo ou se gostou de ler este artigo, por favor, compartilhe-o para que outros possam vê-lo. Nos vemos no próximo artigo! Você pode encontrar o autor deste artigo no <a href="https://twitter.com/Davis_McDavid">Twitter</a>.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Uma introdução ao Q-Learning: aprendizagem com reforço ]]>
                </title>
                <description>
                    <![CDATA[ Escrito por: ADL Este artigo é a segunda parte de uma série minha chamada "Aprendizagem profunda com reforço". Na primeira parte da série [https://www.freecodecamp.org/news/a-brief-introduction-to-reinforcement-learning-7799af5840db]  (texto em inglês), aprendemos o básico sobre a aprendizagem com reforço. O Q-Learning (em português, aprendizagem Q) é um algoritmo de aprendizagem com base em ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/uma-introducao-ao-q-learning-aprendizagem-com-reforco/</link>
                <guid isPermaLink="false">65de2d5bcd7ddc0407292c92</guid>
                
                    <category>
                        <![CDATA[ Aprendizagem de máquina ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Daniel Rosa ]]>
                </dc:creator>
                <pubDate>Sun, 30 Jun 2024 21:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2024/06/0_DX9ZRnzwmh2FImV.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/an-introduction-to-q-learning-reinforcement-learning-14ac0b4493cc/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">An introduction to Q-Learning: reinforcement learning</a>
      </p><p>Escrito por: ADL</p><p>Este artigo é a segunda parte de uma série minha chamada "Aprendizagem profunda com reforço".</p><p>Na <a href="https://www.freecodecamp.org/news/a-brief-introduction-to-reinforcement-learning-7799af5840db">primeira parte da série</a> (texto em inglês), aprendemos o <strong><strong>b</strong>ásico sobre a aprendizagem com reforço</strong>.</p><p>O <em>Q-Learning</em> (em português, aprendizagem Q) é um algoritmo de aprendizagem com base em valores, usado na aprendizagem com reforço. Neste artigo, aprenderemos sobre o <em>Q-Learning</em> e detalhes a respeito dele:</p><ul><li>O que é o <em>Q-Learning</em>?</li><li>Qual é a matemática por trás do <em>Q-Learning</em>?</li><li>Implementação do <em>Q-Learning</em> em Python</li></ul><h3 id="q-learning-uma-vis-o-geral-simplista"><strong><strong>Q-Learning — </strong>uma visão geral simplista</strong></h3><p>Digamos que um <strong><strong>rob</strong>ô</strong> precise cruzar um <strong>labirinto </strong>e chegar a um destino. Existem <strong><strong>min</strong>a<strong>s</strong></strong> no caminho. O robô pode se mover apenas um passo de cada vez. Se o robô pisar em uma mina, está morto. O robô precisa chegar ao destino no menor tempo possível.</p><p>O sistema de pontuação/recompensa é o seguinte:</p><ol><li>O robô perde 1 ponto a cada passo. Isso é feito para que o robô percorra o menor caminho e chegue ao objetivo o mais rápido possível.</li><li>Se o robô pisar em uma mina, são perdidos 100 pontos e o jogo termina.</li><li>Se o robô obtiver energia (⚡)️, ele ganha 1 ponto.</li><li>Se o robô chegar ao destino, ele obtém 100 pontos.</li></ol><p>A questão óbvia agora é: <strong>como treinamos um robô para que chegue ao destino sem pisar em uma mina<strong>?</strong></strong></p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/06/3JXI06jyHegMS1Yx8rhIq64gkYwSTM7ZhD25.png" class="kg-image" alt="3JXI06jyHegMS1Yx8rhIq64gkYwSTM7ZhD25" width="345" height="300" loading="lazy"></figure><p>Como podemos resolver isso?</p><h3 id="apresentamos-a-tabela-q"><strong>Apresentamos a tabela <strong>Q</strong></strong></h3><p>A tabela Q (em inglês, <em>Q-Table</em>) é apenas um nome bonito para uma simples tabela de consulta, onde calculamos as recompensas futuras máximas esperadas para uma ação em cada estado (passo). Basicamente, essa tabela nos guiará a tomar as melhores ações a cada passo.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/06/CcNuUwGnpHhRKkERqJJ6xl7N2W8jcl1yVdE8.png" class="kg-image" alt="CcNuUwGnpHhRKkERqJJ6xl7N2W8jcl1yVdE8" width="345" height="291" loading="lazy"></figure><p>Haverá quatro ações (e direções) possíveis para cada passo que não esteja nas bordas do tabuleiro. Quando o robô estiver em um desses passos, ele estará em uma situação na qual poderá se mover para cima, para baixo, para a esquerda ou para a direita.</p><p>Assim, vamos modelar esse ambiente em nossa tabela Q.</p><p>Na tabela Q, as colunas são as ações e as linhas são os estados (passos).</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/06/AjVvggEquHgsnMN8i4N35AMfx53vZtELEL-l.png" class="kg-image" alt="AjVvggEquHgsnMN8i4N35AMfx53vZtELEL-l" width="315" height="296" loading="lazy"></figure><p>Cada pontuação na tabela Q será a recompensa futura máxima esperada que o robô terá se fizer aquela ação (mover-se em uma direção) a partir daquele estado (passo). Esse é um processo iterativo. Precisamos melhorar a tabela Q a cada iteração.</p><p>As perguntas que temos, no entanto, são:</p><ul><li>Como calcular os valores da tabela Q?</li><li>Os valores estão disponíveis ou são pré-definidos?</li></ul><p>Para aprender sobre cada valor da tabela Q, usamos o <strong>algoritmo de Q<strong>-Learning</strong></strong>.</p><h3 id="matem-tica-o-algoritmo-de-q-learning"><strong><strong>M</strong>atemática<strong>: </strong>o algoritmo de <strong>Q-Learning</strong></strong></h3><h4 id="fun-o-q"><strong>Função <strong>Q</strong></strong></h4><p>A <strong>função <strong>Q</strong> </strong>usa a equação de Bellman e recebe duas entradas: estado (<strong><strong>s</strong> </strong>– de state, em inglês) e ação (<strong><strong>a</strong></strong>).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/06/s39aVodqNAKMTcwuMFlyPSy76kzAmU5idMzk.png" class="kg-image" alt="s39aVodqNAKMTcwuMFlyPSy76kzAmU5idMzk" width="552" height="232" loading="lazy"><figcaption>Valores Q para o estado dado um estado específico = recompensa cumulativa descontada esperada + dado o estado e a ação</figcaption></figure><p>Usando a função acima, obtemos os valores de <strong><strong>Q</strong></strong> para as células da tabela.</p><p>Ao começarmos, todos os valores na tabela Q são zeros.</p><p>Há um processo iterativo de atualização dos valores. Ao começarmos a explorar o ambiente<strong><strong>,</strong></strong> a função Q nos dá aproximações cada vez melhores, atualizando continuamente os valores Q na tabela.</p><p>Agora, vamos entender como a atualização ocorre.</p><h3 id="apresentamos-o-processo-do-algoritmo-de-q-learning"><strong>Apresentamos o processo do algoritmo de<strong> Q-learning </strong></strong></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/06/oQPHTmuB6tz7CVy3L05K1NlBmS6L8MUkgOud.png" class="kg-image" alt="oQPHTmuB6tz7CVy3L05K1NlBmS6L8MUkgOud" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2024/06/oQPHTmuB6tz7CVy3L05K1NlBmS6L8MUkgOud.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2024/06/oQPHTmuB6tz7CVy3L05K1NlBmS6L8MUkgOud.png 800w" sizes="(min-width: 720px) 720px" width="800" height="450" loading="lazy"><figcaption>Depois de várias interações, temos uma boa tabela Q pronta</figcaption></figure><p>Cada uma das caixas coloridas (inicializar a tabela Q, escolher uma ação, realizar uma ação, medir a recompensa, atualizar a tabela Q) representa um passo. Vamos entender cada um desses passos em detalhes.</p><h4 id="passo-1-inicializar-a-tabela-q"><strong>Passo <strong><strong><strong>1: ini</strong></strong></strong>c<strong><strong><strong>ializ</strong></strong></strong>ar<strong><strong><strong> </strong></strong></strong>a tabela <strong><strong><strong>Q</strong></strong></strong></strong></h4><p>Primeiro, criaremos a tabela Q. Ela tem <strong>n</strong> colunas, onde n= número de ações. Há <strong>m </strong>linhas, onde m= número de estados. Inicializaremos os valores em 0.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/06/TQ9Wy3guJHUecTf0YA5AuQgB9yVIohgLXKIn.png" class="kg-image" alt="TQ9Wy3guJHUecTf0YA5AuQgB9yVIohgLXKIn" width="322" height="308" loading="lazy"></figure><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/06/gWnhK5oLqjcQkSzuuT8WgMVOGdCEp68Xvt6F.png" class="kg-image" alt="gWnhK5oLqjcQkSzuuT8WgMVOGdCEp68Xvt6F" width="345" height="300" loading="lazy"></figure><p>No nosso exemplo do robô, temos quatro ações (a=4) e cinco estados (s=5). Assim, vamos criar uma tabela com quatro colunas e cinco linhas.</p><h4 id="passos-2-e-3-selecione-e-realize-uma-a-o"><strong>Passos <strong><strong><strong>2 </strong></strong></strong>e<strong><strong><strong> 3: </strong></strong></strong>selecione e realize uma ação</strong></h4><p>Essa combinação de passos é feita por um tempo indefinido. Isso significa que esse passo é executado até o momento em que paramos o treinamento ou que o laço do treinamento é interrompido, conforme definido no código.</p><p>Selecionaremos uma ação (a) no estado (s) com base na tabela Q. Porém, como mencionamos antes, quando o episódio iniciar, todos os valores de Q serão 0.</p><p>É aqui que o conceito de troca entre exploração geográfica e exploração de recursos aparece. <a href="https://www.freecodecamp.org/news/a-brief-introduction-to-reinforcement-learning-7799af5840db">Este artigo traz mais detalhes sobre o assunto</a>.</p><p>Usaremos algo chamado de estratégia épsilon gananciosa.</p><p>No começo, as taxas de épsilon serão maiores. O robô fará a exploração geográfica do ambiente e escolherá ações aleatoriamente. A lógica por trás disso é a de que o robô ainda não sabe nada sobre o ambiente.</p><p>Conforme ele explora a geografia do ambiente, a taxa de épsilon diminui e o robô começa a exploração de recursos do ambiente.</p><p>Durante o processo de exploração geográfica, o robô aos poucos vai se tornando mais confiante na estimativa dos valores Q.</p><p><strong>Para o robô do exemplo<strong>, </strong>há quatro ações que ele pode escolher</strong>: subir, descer, ir para a esquerda e ir para a direita.<strong><strong> </strong></strong>Começamos agora o treinamento — nosso robô desconhece o ambiente. Assim, o robô escolhe aleatoriamente uma ação como, por exemplo, ir para a direita.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/06/k0IARc6DzE3NBl2ugpWkzwLkR9N4HRkpSpjw.png" class="kg-image" alt="k0IARc6DzE3NBl2ugpWkzwLkR9N4HRkpSpjw" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2024/06/k0IARc6DzE3NBl2ugpWkzwLkR9N4HRkpSpjw.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2024/06/k0IARc6DzE3NBl2ugpWkzwLkR9N4HRkpSpjw.png 644w" width="644" height="311" loading="lazy"></figure><p>Podemos agora atualizar os valores Q para estar no começo e mover para a direita usando a equação de Bellman.</p><h4 id="passos-4-e-5-avaliar"><strong>Passos <strong><strong><strong>4 </strong></strong></strong>e<strong><strong><strong> 5: </strong></strong></strong>avaliar</strong></h4><p>Agora, realizamos uma ação e observamos o resultado e a recompensa. precisamos atualizar a função Q(s, a).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/06/TnN7ys7VGKoDszzv3WDnr5H8txOj3KKQ0G8o.png" class="kg-image" alt="TnN7ys7VGKoDszzv3WDnr5H8txOj3KKQ0G8o" width="598" height="299" loading="lazy"><figcaption>Em sequência, o novo valor de Q(s, a) é igual aos valores atuais de Q(s, a) mais a taxa de aprendizagem (alfa) multiplicada pela [recompensa de realizar uma ação naquele estado + a taxa de desconto (épsilon) multiplicada pela recompensa futura esperada máxima dado o novo estado (s') e todas as ações possíveis naquele novo estado menos os valores atuais de Q(s, a)].</figcaption></figure><p>No caso do jogo do robô, para reiterar a estrutura de pontuação/recompensa, temos:</p><ul><li><strong>energia</strong> = +1</li><li><strong><strong>min</strong>a</strong> = -100</li><li><strong>final</strong> = +100</li></ul><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/06/EpQDzt7lCbmFyMVUzNGaPam3WCYNuD1-hVxu.png" class="kg-image" alt="EpQDzt7lCbmFyMVUzNGaPam3WCYNuD1-hVxu" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2024/06/EpQDzt7lCbmFyMVUzNGaPam3WCYNuD1-hVxu.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2024/06/EpQDzt7lCbmFyMVUzNGaPam3WCYNuD1-hVxu.png 611w" width="611" height="123" loading="lazy"></figure><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/06/xQtpQAhBocPC46-f0GRHDOK3ybrz4ZasaDo4.png" class="kg-image" alt="xQtpQAhBocPC46-f0GRHDOK3ybrz4ZasaDo4" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2024/06/xQtpQAhBocPC46-f0GRHDOK3ybrz4ZasaDo4.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2024/06/xQtpQAhBocPC46-f0GRHDOK3ybrz4ZasaDo4.png 643w" width="643" height="306" loading="lazy"></figure><p>Repetimos isso várias vezes até que a aprendizagem é interrompida. Dessa maneira, a tabela Q é atualizada.</p><h3 id="recapitulando"><strong>Recapitulando</strong></h3><ul><li>Q-Learning é um algoritmo de reforço com base em valores, usado para encontrar a política de seleção de ações ideal usando uma função Q.</li><li>Nosso objetivo é maximizar a função de valor Q.</li><li>A tabela Q nos ajuda a encontrar a melhor ação para cada estado.</li><li>Ela ajuda a maximizar a recompensa esperada selecionando a melhor de todas as ações possíveis.</li><li>Q(estado, ação) retorna a recompensa futura esperada daquela ação naquele estado.</li><li>Essa função pode ser estimada usando o Q-Learning, que atualiza Q(s,a) iterativamente usando a <strong>equação de B<strong>ellman.</strong></strong></li><li>Inicialmente, exploramos o ambiente e atualizamos a tabela Q. Quando a tabela Q está pronta, o agente começará a explorar os recursos do ambiente para realizar as melhores ações.</li></ul><p><strong>Em um próximo artigo, falaremos sobre um exemplo de <strong>Q-</strong>L<strong>earning </strong>para a aprendizagem profunda</strong>.</p><p>Até lá, divirta-se com as IAs. 😀</p><p><strong><strong>Important</strong>e</strong>: conforme dito anteriormente, este artigo é a segunda parte de minha série chamada "Aprendizagem profunda com reforço".</p><p>Se gostou do artigo, compartilhe-o. Isso ajuda o autor a se manter motivado a produzir mais artigos. Você pode seguir o autor no <a href="https://twitter.com/I_AM_ADL">Twitter</a>.</p><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/d8UR8YDfmLtfDokKlQb32-prgyUUEWt3-glP" class="kg-image" alt="d8UR8YDfmLtfDokKlQb32-prgyUUEWt3-glP" width="355" height="89" loading="lazy"></figure><p>Se tiver perguntas, envie-as ao autor, comentando com ele no <a href="https://twitter.com/I_AM_ADL" rel="noopener"><strong><strong>Twitter</strong></strong></a>.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Tutorial de aprendizado de máquina SVM – o que é o algoritmo de máquina de vetores de suporte, explicado com exemplos de códigos ]]>
                </title>
                <description>
                    <![CDATA[ A maioria das tarefas que o aprendizado de máquina realiza atualmente inclui coisas como classificar imagens, traduzir idiomas, lidar com grandes quantidades de dados de sensores e prever valores futuros com base em valores atuais. Você pode escolher diferentes estratégias para se adequar ao problema que está tentando resolver. A ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/tutorial-de-aprendizado-de-maquina-svm/</link>
                <guid isPermaLink="false">656652e113a65603e65022da</guid>
                
                    <category>
                        <![CDATA[ Aprendizagem de máquina ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Isabel Cristina Nunes de Sousa ]]>
                </dc:creator>
                <pubDate>Sun, 02 Jun 2024 21:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/SVMs.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/svm-machine-learning-tutorial-what-is-the-support-vector-machine-algorithm-explained-with-code-examples/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">SVM Machine Learning Tutorial – What is the Support Vector Machine Algorithm, Explained with Code Examples</a>
      </p><p>A maioria das tarefas que o aprendizado de máquina realiza atualmente inclui coisas como classificar imagens, traduzir idiomas, lidar com grandes quantidades de dados de sensores e prever valores futuros com base em valores atuais. Você pode escolher diferentes estratégias para se adequar ao problema que está tentando resolver.</p><p>A boa notícia? Existe um algoritmo em aprendizado de máquina que lidará com praticamente todos os dados que você puder lançar nele. Chegaremos lá em um minuto.</p><h2 id="aprendizado-supervisionado-x-n-o-supervisionado"><strong>Aprendizado supervisionado <em>x</em> não supervisionado</strong></h2><p>Duas das estratégias mais comumente usadas em aprendizado de máquina incluem aprendizado supervisionado e aprendizado não supervisionado.</p><h3 id="o-que-o-aprendizado-supervisionado"><strong>O que é o aprendizado supervisionado<strong>?</strong></strong></h3><p>O aprendizado supervisionado ocorre quando você treina um modelo de aprendizado de máquina usando dados rotulados. Isso significa que você tem dados que já possuem a classificação correta associada a eles. Um uso comum do aprendizado supervisionado é ajudá-lo a prever valores para novos dados.</p><p>Com o aprendizado supervisionado, você precisará reconstruir seus modelos à medida que obtém novos dados, para garantir que as previsões retornadas ainda sejam precisas. Um exemplo de aprendizado supervisionado seria rotular imagens de alimentos. Você poderia ter um conjunto de dados dedicado apenas a imagens de pizza para ensinar ao seu modelo o que é uma pizza.</p><h3 id="o-que-o-aprendizado-n-o-supervisionado"><strong>O que é o aprendizado não supervisionado<strong>?</strong></strong></h3><p>O aprendizado não supervisionado ocorre quando você treina um modelo com dados não rotulados. Isso significa que o modelo terá que encontrar suas próprias características e fazer previsões com base em como os dados são classificados. </p><p>Um exemplo de aprendizado não supervisionado seria fornecer ao seu modelo imagens de vários tipos de alimentos sem rótulos. O conjunto de dados teria imagens de pizza, batatas fritas e outros alimentos, e você poderia utilizar algoritmos diferentes para fazer com que o modelo identificasse apenas as imagens de pizza sem nenhum rótulo.</p><h3 id="ent-o-o-que-um-algoritmo"><strong>Então, o que é um algoritmo<strong>?</strong></strong></h3><p>Quando você ouvir pessoas falando sobre algoritmos de aprendizado de máquina, lembre-se de que elas estão falando sobre diferentes equações matemáticas.</p><p>Um algoritmo é apenas uma função matemática personalizável. É por isso que a maioria dos algoritmos possui coisas como funções de custo, valores de peso e parâmetros de funções que você pode alterar com base nos dados com os quais está trabalhando. &nbsp;Basicamente, o aprendizado de máquina é apenas um monte de equações matemáticas que precisam ser resolvidas muito rapidamente.</p><p>É por isso que existem tantos algoritmos diferentes para lidas com diferentes tipos de dados. Um algoritmo em particular é a máquina de vetores de suporte (SVM, do inglês <em>support vector machine</em>) e é isso que este artigo abordará em detalhes.</p><h2 id="o-que-svm"><strong>O que é <strong>SVM?</strong></strong></h2><p>Máquinas de vetores de suporte são um conjunto de métodos de aprendizado supervisionado utilizados para classificação, regressão, e detecção de <em>outliers</em>. Todas essas são tarefas comuns em aprendizado de máquina.</p><p>Você pode utilizá-los para detectar células cancerígenas com base em milhões de imagens ou para prever futuras rotas de direção com um modelo de regressão bem ajustado.</p><p>Existem tipos específicos de SVMs que você pode usar para problemas específicos de aprendizado de máquina, como vetor de suporte de regressão (SVR, do inglês <em>support vector regression</em>), que é uma extensão de vetor de suporte de classificação (SVC, do inglês <em>support vector classification</em>).</p><p>A principal coisa a se ter em mente aqui é que essas são apenas equações matemáticas ajustadas para fornecer a resposta mais precisa o mais rapidamente possível.</p><p>SVMs são diferentes de outros algoritmos de classificação devido à maneira como escolhem a fronteira de decisão (do inglês, <em>decision boundary</em>) que maximiza a distância dos pontos de dados mais próximo de todas as classes. A fronteira de decisão criada pelos SVMs é chamada de classificador de margem máxima ou o hiperplano de margem máxima.</p><h2 id="como-funciona-um-svm"><strong>Como funciona um<strong> SVM</strong></strong></h2><p>Um classificador SVM linear simples funciona criando uma linha reta entre duas classes. Isso significa que todos os pontos de dados de um lado da linha representarão uma categoria, e os pontos de dados do outro lado da linha serão colocados em uma categoria diferente. Isso significa que pode haver um número infinito de linhas para escolher.</p><p>O que torna o algoritmo SVM linear melhor do que alguns dos outros algoritmos, como o k-vizinhos mais próximos, é que ele escolhe a melhor linha para classificar seus pontos de dados. Ele escolhe a linha que separa os dados e que fica o mais distante possível dos pontos de dados mais próximos.</p><p>Um exemplo 2D ajuda a entender todo o jargão do aprendizado de máquina. Basicamente, você tem alguns pontos de dados em uma grade. Você está tentando separar esses pontos de dados pela categoria em que eles deveriam se enquadrar, mas você não quer ter nenhum dado na categoria errada. Isso significa que você está tentando encontrar a linha entre os dois pontos mais próximos que mantém os outros pontos de dados separados.</p><p>Portanto, os dois pontos de dados mais próximos fornecem os vetores de suporte que você usará para encontrar essa reta. Essa linha é chamada de limite de decisão.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/download.png" class="kg-image" alt="download" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2024/05/download.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2024/05/download.png 640w" width="640" height="480" loading="lazy"><figcaption>SVM linear</figcaption></figure><p>O limite de decisão não precisa ser uma linha. Também é chamado de <em>hiperplano</em>, porque você pode encontrar o limite de decisão com qualquer número de recursos, não apenas dois.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/download--1-.png" class="kg-image" alt="download--1-" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2024/05/download--1-.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2024/05/download--1-.png 640w" width="640" height="480" loading="lazy"><figcaption>SVM não linear usando kernel RBF</figcaption></figure><h3 id="tipos-de-svms"><strong><strong>T</strong>i<strong>p</strong>o<strong>s</strong> de<strong> SVMs</strong></strong></h3><p>Existem dois tipos diferentes de SVMs, cada um usado para coisas diferentes:</p><ul><li>SVM simples: normalmente usado para regressão linear e problemas de classificação.</li><li>SVM kernel: tem mais flexibilidade para dados não lineares porque você pode adicionar mais recursos para ajustar um hiperplano em vez de um espaço bidimensional.</li></ul><h2 id="por-que-svms-s-o-usados-em-aprendizado-de-m-quina">Por que SVMs são usados em aprendizado de máquina?</h2><p>SVMs são usados em aplicações como reconhecimento de escrita, detecção de intrusão, reconhecimento facial, classificação de e-mail, classificação de genes, e em páginas da<em> web</em>. Essa é uma das razões pelas quais usamos SVMs no aprendizado de máquina. Ele pode lidar tanto com classificação quanto regressão em dados lineares e não lineares.</p><p>Outra razão pela qual usamos SVMs é o fato de que eles podem encontrar relações complexas entre seus dados sem que você precise fazer muitas transformações por conta própria. É uma ótima opção quando você trabalha com conjuntos de dados menores, que possuem dezenas a centenas de milhares de recursos. Eles normalmente encontram resultados mais precisos quando comparados a outros algoritmos devido à sua capacidade de lidar com conjuntos de dados pequenos e complexos.</p><p>Aqui estão alguns dos prós e contras do uso de SVMs.</p><h3 id="pr-s"><strong><strong>P</strong>ró<strong>s</strong></strong></h3><ul><li>Eficaz em conjuntos de dados com múltiplas características, como dados financeiros ou médicos.</li><li>Eficaz nos casos em que o número de recursos é maior que o número de pontos de dados.</li><li>Usa um subconjunto de pontos de treinamento na função de decisão chamados vetores de suporte, o que o torna eficiente em termos de memória.</li><li>Diferentes funções de kernel podem ser especificadas para a função de decisão. Você pode usar kernels comuns, mas também é possível especificar kernels personalizados.</li></ul><h3 id="contras"><strong><strong>Con</strong>tra<strong>s</strong></strong></h3><ul><li>Se o número de características for muito maior que o número de pontos de dados, é crucial evitar o sobreajuste (em inglês, <em>overfitting</em>) ao escolher as funções do kernel e o termo de regularização.</li><li>SVMs não fornecem estimativas de probabilidade diretamente. Elas são calculados usando uma cara validação cruzada quíntupla.</li><li>Funciona melhor em pequenos conjuntos de amostras devido ao seu alto tempo de treinamento.</li></ul><p>Como os SVMs podem usar qualquer número de kernels, é importante que você conheça alguns deles.</p><h2 id="fun-es-do-kernel"><strong>Funções do k<strong>ernel</strong></strong></h2><h3 id="linear"><strong><strong>Linear</strong></strong></h3><p>Eles são comumente recomendados para classificação de texto, pois a maioria desses tipos de problemas de classificação são linearmente separáveis.</p><p>O kernel linear funciona muito bem quando há muitas características, e os problemas de classificação de texto têm muitas características. As funções lineares do kernel são mais rápidas que a maioria das outras e você tem menos parâmetros para otimizar.</p><p>Aqui está a função que define o kernel linear:</p><pre><code>f(X) = w^T * X + b</code></pre><p>Nesta equação, <strong>w</strong> é o vetor de peso (do inglês, <em>weight</em>) que você deseja minimizar, <strong>X</strong> são os dados que você está tentando classificar e <strong>b</strong> é o coeficiente linear estimado a partir dos dados de treinamento. Esta equação define o limite de decisão que o SVM retorna.</p><h3 id="polinomial"><strong><strong>Pol</strong>i<strong>nomial</strong></strong></h3><p>O kernel polinomial não é usado na prática com muita frequência porque não é tão eficiente computacionalmente quanto outros kernels e suas previsões não são tão precisas.</p><p>Aqui está a função para um kernel polinomial:</p><pre><code>f(X1, X2) = (a + X1^T * X2) ^ b</code></pre><p>Essa é uma das equações polinomiais de kernel mais simples que você pode usar. <strong>f(X1, X2)</strong> representa o limite de decisão polinomial que separará seus dados. <strong>X1</strong> e <strong>X2</strong> representam seus dados.</p><h3 id="fun-o-de-base-radial-gaussiana-rbf-">Função de base radial gaussiana<strong><strong> (RBF)</strong></strong></h3><p>Esse é um dos kernels mais poderosos e comumente usados em SVMs. Ele geralmente é a escolha para dados não lineares.</p><p>Aqui está a equação para um kernel RBF:</p><pre><code>f(X1, X2) = exp(-gamma * ||X1 - X2||^2)</code></pre><p>Nesta equação, <strong>gama</strong> especifica quanto um único ponto de treinamento tem sobre os outros pontos de dados ao seu redor. ||<strong>X1 - X2</strong>|| é o produto escalar entre seus recursos.</p><h3 id="sigmoide"><strong><strong>Sigmoid</strong>e</strong></h3><p>Mais útil em redes neurais do que em máquinas de vetores de suporte, mas há casos de uso específicos ocasionais.</p><p>Aqui está a função para um kernel sigmoide:</p><pre><code>f(X, y) = tanh(alpha * X^T * y + C)</code></pre><p>Nesta função, <strong>alfa</strong> é um vetor de peso e <strong>C</strong> é um valor de deslocamento para explicar alguns erros de classificação de dados que podem ocorrer.</p><h3 id="outros"><strong><strong>O</strong>u<strong>tr</strong>o<strong>s</strong></strong></h3><p>Existem muitos outros kernels que você pode usar em seu projeto. Essa pode ser uma decisão a ser tomada quando você precisar atender a certas restrições de erro, quiser tentar acelerar o tempo de treinamento ou quiser superajustar os parâmetros.</p><p><a href="https://data-flair.training/blogs/svm-kernel-functions/">Alguns outros kernels incluem</a>: ANOVA de base radial, tangente hiperbólica e Laplace RBF (texto em inglês).</p><p>Agora que você sabe um pouco sobre como os kernels funcionam nos bastidores, vamos ver alguns exemplos.</p><h2 id="exemplos-com-conjuntos-de-dados"><strong><strong>Ex</strong>e<strong>mpl</strong>o<strong>s </strong>com conjuntos de dados</strong></h2><p>Para mostrar como os SVMs funcionam na prática, passaremos pelo processo de treinamento de um modelo com ele usando a biblioteca <a href="https://scikit-learn.org/stable/">Python Scikit-learn</a>. Essa biblioteca é comumente usada em todos os tipos de problemas de aprendizado de máquina e funciona bem com outras bibliotecas Python.</p><p>Aqui estão as etapas encontradas regularmente em projetos de aprendizado de máquina:</p><ul><li>Importe o conjunto de dados</li><li>Explore os dados para descobrir como eles são</li><li>Pré-processe os dados</li><li>Divida os dados em atributos e rótulos</li><li>Divida os dados em conjuntos de treinamento e teste</li><li>Treine o algoritmo SVM</li><li>Faça algumas previsões</li><li>Avalie os resultados do algoritmo</li></ul><p>Algumas dessas etapas podem ser combinadas dependendo de como você lida com seus dados. Faremos um exemplo com um SVM linear e um SVM não linear. Você pode encontrar o <a href="https://github.com/flippedcoder/probable-waddle/blob/master/svm_point_ex.py">código para esses exemplos aqui</a>.</p><h3 id="exemplo-de-svm-linear"><strong>Exemplo de SVM l<strong>inear</strong></strong></h3><p>Começaremos importando algumas bibliotecas que facilitarão o trabalho com a maioria dos projetos de aprendizado de máquina.</p><pre><code class="language-python">import matplotlib.pyplot as plt
import numpy as np
from sklearn import svm</code></pre><p>Para um exemplo linear simples, faremos apenas alguns dados fictícios e que atuarão no lugar da importação de um conjunto de dados.</p><pre><code class="language-python"># dados lineares
X = np.array([1, 5, 1.5, 8, 1, 9, 7, 8.7, 2.3, 5.5, 7.7, 6.1])
y = np.array([2, 8, 1.8, 8, 0.6, 11, 10, 9.4, 4, 3, 8.8, 7.5])</code></pre><p>A razão pela qual estamos trabalhando com arrays numpy é para tornar as operações de matriz mais rápidas, pois elas usam menos memória do que as listas do Python. Você também pode aproveitar a digitação do conteúdo dos arrays. Agora, vamos dar uma olhada na aparência dos dados em um gráfico:</p><pre><code class="language-python"># exibir dados não classificados
plt.scatter(X, y)
plt.show()</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/linear-svm_raw.png" class="kg-image" alt="linear-svm_raw" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2024/05/linear-svm_raw.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2024/05/linear-svm_raw.png 640w" width="640" height="480" loading="lazy"></figure><p>Depois de ver a aparência dos dados, você poderá adivinhar melhor qual algoritmo funcionará melhor para você. Tenha em mente que esse é um conjunto de dados muito simples. Então, na maioria das vezes, você precisará trabalhar em seus dados para colocá-los em um estado utilizável.</p><p>Faremos um pré-processamento no código já estruturado. Isso colocará os dados brutos em um formato que podemos usar para treinar o modelo SVM.</p><pre><code class="language-python"># modelando os dados para o treinamento do modelo
training_X = np.vstack((X, y)).T
training_y = [0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1]</code></pre><p>Agora, podemos criar o modelo SVM usando um kernel linear.</p><pre><code class="language-python"># defina o modelo
clf = svm.SVC(kernel='linear', C=1.0)</code></pre><p>Essa linha de código acabou de criar um modelo completo de aprendizado de máquina. Agora, só precisamos treiná-lo com os dados que pré-processamos.</p><pre><code class="language-python"># treine o model
clf.fit(training_X, training_y)</code></pre><p>É assim que você pode construir um modelo para qualquer projeto de aprendizado de máquina. O conjunto de dados que temos pode ser pequeno, mas se você encontrar um conjunto de dados do mundo real que possa ser classificado com um limite linear, esse modelo ainda funcionará.</p><p>Com seu modelo treinado, você pode fazer previsões sobre como um novo ponto de dados será classificado e criar um gráfico do limite de decisão. Vamos traçar o limite de decisão.</p><pre><code class="language-python"># obter os valores ponderados para a equação lineara partir do modelo do SVM treinado
w = clf.coef_[0]

# obter o deslocamento de y para a equação linear
a = -w[0] / w[1]

# criar o espaço do eixo x para os pontos de dados
XX = np.linspace(0, 13)

# obter os valores de y para colocar a fronteira de decisão no gráfico
yy = a * XX - clf.intercept_[0] / w[1]

# colocar a fronteira de decisão no gráfico
plt.plot(XX, yy, 'k-')

# exibir o gráfico visualmente
plt.scatter(training_X[:, 0], training_X[:, 1], c=training_y)
plt.legend()
plt.show()</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/linear-svm.png" class="kg-image" alt="linear-svm" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2024/05/linear-svm.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2024/05/linear-svm.png 640w" width="640" height="480" loading="lazy"></figure><h3 id="exemplo-de-svm-n-o-linear"><strong>Exemplo de <strong>SVM </strong>não linear</strong></h3><p>Neste exemplo, usaremos um conjunto de dados um pouco mais complicado para mostrar uma das áreas em que os SVMs se destacam. Vamos importar alguns pacotes.</p><pre><code class="language-python">import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets
from sklearn import svm</code></pre><p>Esse conjunto de importações é semelhante ao do exemplo linear, exceto que importa mais uma coisa. Agora, podemos usar um conjunto de dados diretamente da biblioteca Scikit-learn.</p><pre><code class="language-python"># dados não lineares
circle_X, circle_y = datasets.make_circles(n_samples=300, noise=0.05)</code></pre><p>A próxima etapa é dar uma olhada na aparência desses dados brutos em um gráfico.</p><pre><code class="language-python"># mostrar os dados não lineares brutos (raw)
plt.scatter(circle_X[:, 0], circle_X[:, 1], c=circle_y, marker='.')
plt.show()</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/nonlinear-svm_raw.png" class="kg-image" alt="nonlinear-svm_raw" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2024/05/nonlinear-svm_raw.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2024/05/nonlinear-svm_raw.png 640w" width="640" height="480" loading="lazy"></figure><p>Agora que você pode ver como os dados são separados, podemos escolher um SVM não linear para começar. Esse conjunto de dados não precisa de nenhum pré-processamento antes de usá-lo para treinar o modelo. Portanto, podemos pular essa etapa. Aqui vemos como o modelo SVM ficará para isso:</p><pre><code class="language-python"># criar o algoritmo não linear para o modelo
nonlinear_clf = svm.SVC(kernel='rbf', C=1.0)</code></pre><p>Nesse caso, usaremos um <a href="http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=MachineLearning&amp;doc=exercises/ex8/ex8.html">kernel RBF (Função de Base Radial Gaussiana)</a> para classificar esses dados. Você também pode tentar o kernel polinomial para ver a diferença entre os resultados obtidos. Agora, é hora de treinar o modelo.</p><pre><code class="language-python"># treinamento do modelo não linear
nonlinear_clf.fit(circle_X, circle_y)</code></pre><p>Você pode começar a rotular novos dados na categoria correta com base nesse modelo. Para ver como é o limite de decisão, teremos que criar uma função personalizada para representá-lo.</p><pre><code class="language-python"># Crie o gráfico para a fronteira de decisão para um problema do SVM não linear
def plot_decision_boundary(model, ax=None):
    if ax is None:
        ax = plt.gca()
        
    xlim = ax.get_xlim()
    ylim = ax.get_ylim()
    
    # crie a grade para avaliar o modelo
    x = np.linspace(xlim[0], xlim[1], 30)
    y = np.linspace(ylim[0], ylim[1], 30)
    Y, X = np.meshgrid(y, x)

	# modele os dados
    xy = np.vstack([X.ravel(), Y.ravel()]).T
    
	# obtenha a fronteira de decisão com base no modelo
    P = model.decision_function(xy).reshape(X.shape)
    
    # crie o gráfico para a fronteira de decisão
    ax.contour(X, Y, P,
               levels=[0], alpha=0.5,
               linestyles=['-'])</code></pre><p>Você tem tudo o que precisa para traçar o limite de decisão para esses dados não lineares. Podemos fazer isso com algumas linhas de código que usam a <a href="https://matplotlib.org/">biblioteca Matlibplot</a>, assim como os outros gráficos.</p><pre><code class="language-python"># crie o gráfico para os dados e para a fronteira de decisão
plt.scatter(circle_X[:, 0], circle_X[:, 1], c=circle_y, s=50)
plot_decision_boundary(nonlinear_clf)
plt.scatter(nonlinear_clf.support_vectors_[:, 0], nonlinear_clf.support_vectors_[:, 1], s=50, lw=1, facecolors='none')
plt.show()</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2024/05/nonlinear-svm.png" class="kg-image" alt="nonlinear-svm" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2024/05/nonlinear-svm.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2024/05/nonlinear-svm.png 640w" width="640" height="480" loading="lazy"></figure><p>Quando você tem seus dados e conhece o problema que está tentando resolver, tudo pode ser realmente simples assim.</p><p>Você pode alterar completamente seu modelo de treinamento, escolher diferentes algoritmos e recursos para trabalhar e ajustar seus resultados com base em vários parâmetros. Existem bibliotecas e pacotes para tudo isso agora, então não há muita matemática com a qual você precise lidar.</p><h2 id="dicas-para-problemas-do-mundo-real"><strong>Dicas para <strong>problem</strong>a<strong>s</strong> do mundo real</strong></h2><p>Os conjuntos de dados do mundo real têm alguns problemas comuns devido ao tamanho que podem ter, aos diversos tipos de dados que contêm e a quanto poder de computação podem precisar para treinar um modelo.</p><p>Existem algumas coisas que você deve observar com SVMs em particular:</p><ul><li>Certifique-se de que seus dados estejam em formato numérico em vez de categórico. Os SVMs esperam números em vez de outros tipos de rótulos.</li><li>Evite copiar dados tanto quanto possível. Algumas bibliotecas do Python duplicarão seus dados se eles não estiverem em um formato específico. A cópia de dados também diminuirá o tempo de treinamento e distorcerá a maneira como o modelo atribui os pesos a um recurso específico.</li><li>Observe o tamanho do cache do kernel, pois ele usa sua RAM. Se você tiver um conjunto de dados muito grande, isso poderá causar problemas ao seu sistema.</li><li>Dimensione seus dados, pois os algoritmos SVM não são invariantes à escala. Isso significa que você pode converter todos os seus dados para ficarem dentro dos intervalos de [0, 1] ou [-1, 1].</li></ul><h2 id="outras-considera-es"><strong><strong>O</strong>utras considerações</strong></h2><p>Você pode se perguntar por que não entrei em detalhes profundos da matemática aqui. Isso ocorreu, principalmente, pelo fato de que eu não quero assustar as pessoas e impedi-las de aprender mais sobre aprendizado de máquina.</p><p>É divertido aprender sobre essas equações matemáticas longas e complicadas e suas derivações, mas é raro você escrever seus próprios algoritmos e provas em projetos reais.</p><p>É como ocorre com a maioria das outras coisas que você usa todos os dias, como o telefone ou o computador. Você pode fazer tudo o que precisa sem saber como os processadores são construídos.</p><p>O aprendizado de máquina é como qualquer outra aplicação da engenharia de <em>software</em>. Existem vários pacotes que tornam mais fácil obter os resultados necessários sem um conhecimento profundo em estatística.</p><p>Depois de praticar um pouco com os diferentes pacotes e bibliotecas disponíveis, você descobrirá que a parte mais difícil do aprendizado de máquina é obter e rotular seus dados.</p><p>A autora trabalha em neurociência, aprendizado de máquina e com questões baseadas na <em>web</em>! Siga a autora no <a href="https://twitter.com/flippedcoding">Twitter</a> para saber mais a respeito e sobre outras coisas interessantes em tecnologia.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Cursos de aprendizagem de máquina na internet, classificados por suas análises ]]>
                </title>
                <description>
                    <![CDATA[ Escrito por: David Venturi Há um ano e meio, desisti de um dos melhores programas de Ciência da Computação do Canadá. Comecei a criar meu próprio programa de mestrado em ciência de dados [https://medium.com/@davidventuri/i-dropped-out-of-school-to-create-my-own-data-science-master-s-here-s-my-curriculum-1b400dcee412#.5fwwphdqd]  utilizando recursos on-line. Percebi que podia aprender tudo o que precisava através da edX, do ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/cursos-de-aprendizagem-de-maquina-na-internet-classificados-por-suas-analises/</link>
                <guid isPermaLink="false">6399a851bec90f05d689363c</guid>
                
                    <category>
                        <![CDATA[ Aprendizagem de máquina ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Elizabete Nakamura ]]>
                </dc:creator>
                <pubDate>Wed, 01 Mar 2023 21:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_vBLkfW8S-ZqHb8TmNEW1XA.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/every-single-machine-learning-course-on-the-internet-ranked-by-your-reviews-3c4a7b8026c0/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Every single Machine Learning course on the internet, ranked by your reviews</a>
      </p><p>Escrito por: David Venturi</p><p>Há um ano e meio, desisti de um dos melhores programas de Ciência da Computação do Canadá. Comecei a criar meu próprio <a href="https://medium.com/@davidventuri/i-dropped-out-of-school-to-create-my-own-data-science-master-s-here-s-my-curriculum-1b400dcee412#.5fwwphdqd">programa de mestrado em ciência de dados</a> utilizando recursos on-line. Percebi que podia aprender tudo o que precisava através da edX, do Coursera e da Udacity. Eu podia, inclusive, aprender mais rápido, de modo mais eficiente e por uma pequena parte do valor.</p><p>Estou quase terminando agora. Fiz muitos cursos relacionados à ciência de dados e conferi partes de muitos outros. Conheço as opções que estão por aí e quais habilidades são necessárias para os alunos se prepararem para o papel de analista de dados ou de cientista de dados. Assim, comecei a criar um guia de revisão que recomenda os melhores cursos para cada disciplina dentro da ciência de dados.</p><p>No primeiro guia desta série, recomendei algumas <a href="https://freecodecamp.org/news/if-you-want-to-learn-data-science-start-with-one-of-these-programming-classes-fb694ffe780c#.42hhzxopw">aulas de programação</a> (texto em inglês) para o cientista de dados iniciante. Depois, foram as <a href="https://freecodecamp.org/news/if-you-want-to-learn-data-science-take-a-few-of-these-statistics-classes-9bbabab098b9#.p7pac546r">aulas de estatística e de probabilidade</a> (texto em inglês). Em seguida, <a href="https://www.freecodecamp.org/portuguese/news/classifiquei-cada-curso-de-introducao-a-ciencia-de-dados-na-internet-com-base-em-milhares-de-avaliacoes/">introdução à ciência de dados</a>. Por fim, cursos de <a href="https://freecodecamp.org/news/an-overview-of-every-data-visualization-course-on-the-internet-9ccf24ea9c9b">visualização de dados</a> (texto em inglês).</p><h2 id="agora-vamos-aprendizagem-da-m-quina-"><strong>Agora, vamos à aprendizagem da máquina.</strong></h2><p>Para este guia, passei várias horas tentando identificar cada curso de aprendizagem de máquina on-line oferecido a partir de maio de 2017, extraindo informações-chave de seus programas e análises de estudantes e compilando suas classificações. <strong>Meu objetivo final era identificar os três melhores cursos disponíveis e apresentá-los a você abaixo.</strong></p><p>Para esta tarefa, recorri a ninguém menos do que a comunidade de código aberto da Class Central e ao seu banco de dados de milhares de classificações e análises de cursos.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_u1dxHyShejSN3cgXGFQIAA.png" class="kg-image" alt="1_u1dxHyShejSN3cgXGFQIAA" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/02/1_u1dxHyShejSN3cgXGFQIAA.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_u1dxHyShejSN3cgXGFQIAA.png 800w" sizes="(min-width: 720px) 720px" width="800" height="482" loading="lazy"><figcaption><a href="https://www.class-central.com/">Página inicial</a> do Class Central</figcaption></figure><p>Desde 2011, o fundador da <a href="https://www.class-central.com/">Class Central</a>, <a href="https://www.freecodecamp.org/news/every-single-machine-learning-course-on-the-internet-ranked-by-your-reviews-3c4a7b8026c0/undefined">Dhawal Shah</a>, vem se mantendo atento aos cursos on-line, mais do que qualquer outra pessoa no mundo. Dhawal me ajudou pessoalmente a montar esta lista de recursos.</p><h3 id="como-escolhemos-os-cursos-que-avaliamos">Como escolhemos os cursos que avaliamos</h3><p>Os cursos precisavam se enquadrar em três critérios:</p><ol><li><strong>Deveriam ter uma quantidade significativa de conteúdo de aprendizagem de máquina</strong>: o ideal é que a aprendizagem de máquina seja o tópico principal. Observe que os cursos de aprendizagem profunda (do inglês, <em>deep learning</em>) são excluídos. Falaremos mais sobre isso depois.</li><li><strong>Deveriam ser sob demanda ou oferecidos em intervalos mensais curtos.</strong></li><li><strong>Deveriam ser cursos on-line interativos – sem livros ou tutoriais somente de leitura</strong>: embora estes sejam modos viáveis de aprender, o guia se concentra nos cursos. Os cursos que são estritamente baseados em vídeo (isto é, sem questionários, tarefas etc.) também foram excluídos.</li></ol><p>Acreditamos ter percorrido todos os cursos notáveis que se encaixam nos critérios acima. Como, aparentemente, existem centenas de cursos na <a href="https://click.linksynergy.com/fs-bin/click?id=SAyYsTvLiGQ&amp;subid=&amp;offerid=323058.1&amp;type=10&amp;u1=medium-career-guide-machine-learning&amp;tmpid=14494&amp;RD_PARM1=https%253A%252F%252Fwww.udemy.com%252F">Udemy</a>, optamos por considerar apenas os mais analisados e bem cotados pelos alunos.</p><p>Sempre há, porém, a chance de que tenhamos perdido algo.</p><h3 id="como-avaliamos-os-cursos"><strong>Como avaliamos os cursos</strong></h3><p>Compilamos as classificações médias e o número de análises da Class Central e de outros locais de revisão para calcular uma classificação média ponderada para cada curso. Lemos análises por texto e utilizamos este feedback para complementar as classificações numéricas.</p><p>Fizemos decisões subjetivas em termos do programa de cada curso com base em três fatores:</p><ol><li><strong>Explicação do fluxo de trabalho de aprendizagem da máquina</strong>: o curso descreve os passos necessários para executar um projeto de sucesso em aprendizagem de máquina? Veja a próxima seção para saber o que implica um fluxo de trabalho típico.</li><li><strong>Tratamento das técnicas e dos algoritmos de aprendizagem de máquina</strong>: uma variedade de técnicas (por exemplo, regressão, classificação, agrupamento, etc.) e algoritmos (por exemplo, dentro da classificação: Naive Bayes, árvores de decisão, máquinas vetoriais de suporte etc.) são tratados ou apenas alguns poucos são selecionados? É dada preferência a cursos que cubram mais, sem poupar dos detalhes.</li><li><strong>Utilização de ferramentas comuns em ciência de dados e aprendizagem de máquina</strong>: o curso é ministrado usando linguagens de programação populares como Python, R e/ou Scala? As bibliotecas populares dentro dessas linguagens são examinadas? Embora não sejam necessárias, elas são úteis e, portanto, é dada uma ligeira preferência aos cursos que tratam dessas bibliotecas.</li></ol><h3 id="o-que-aprendizagem-de-m-quina-o-que-um-fluxo-de-trabalho"><strong>O que é aprendizagem de máquina? O que é um fluxo de trabalho?</strong></h3><p>Uma definição popular tem origem em uma declaração de <a href="https://en.wikipedia.org/wiki/Arthur_Samuel">Arthur Samuel</a>, em 1959: aprendizagem de máquina é um subcampo da ciência da computação que "<em>dá aos computadores a capacidade de aprender sem serem explicitamente programados"</em>. Na prática, isto significa desenvolver programas de computador que podem fazer previsões com base em dados. Assim como os humanos podem aprender com a experiência, os computadores também podem fazê-los, sendo que, neste caso dados equivalem à experiência.</p><p>Um fluxo de trabalho de aprendizagem de máquina é o processo necessário para a realização de um projeto de aprendizagem de máquina. Embora os projetos individuais possam diferir, a maioria dos fluxos de trabalho compartilha de várias tarefas comuns: avaliação de problemas, exploração dos dados, pré-processamento de dados, treinamento/teste/desenvolvimento de modelos etc. Abaixo, você encontrará uma visualização útil destas etapas principais:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_KzmIUYPmxgEHhXX7SlbP4w.jpeg" class="kg-image" alt="1_KzmIUYPmxgEHhXX7SlbP4w" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/02/1_KzmIUYPmxgEHhXX7SlbP4w.jpeg 600w, https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_KzmIUYPmxgEHhXX7SlbP4w.jpeg 800w" sizes="(min-width: 720px) 720px" width="800" height="368" loading="lazy"><figcaption>As etapas principais do fluxo de trabalho típico de aprendizagem de máquina, diagrama extraído da <a href="https://upxacademy.com/introduction-machine-learning/" rel="noopener">UpX Academy</a></figcaption></figure><p>O curso ideal introduz todo o processo e fornece exemplos interativos, tarefas e/ou questionários onde os alunos podem realizar cada tarefa por conta própria.</p><h3 id="estes-cursos-cobrem-a-aprendizagem-profunda"><strong>Estes cursos cobrem a aprendizagem profunda?</strong></h3><p>Em primeiro lugar, vamos definir a aprendizagem profunda, ou, em inglês, <em>deep learning</em>. Aqui está uma descrição sucinta:</p><blockquote><em>"A aprendizagem profunda é um subcampo de aprendizagem de máquina preocupado com os algoritmos inspirados na estrutura e função do cérebro, chamados de redes neurais artificiais".</em><br><br>—<em>Jason Brownlee, do <a href="http://machinelearningmastery.com/what-is-deep-learning/">Domínio da Aprendizagem de Máquina</a></em></blockquote><p>Como seria de se esperar, partes de alguns dos cursos de aprendizagem de máquina contêm conteúdo sobre aprendizagem profunda. No entanto, optei por não incluir cursos que sejam somente de aprendizagem profunda. Se você estiver interessado na aprendizagem profunda especificamente, temos este <a href="https://freecodecamp.org/news/dive-into-deep-learning-with-these-23-online-courses-bf247d289cc0">este artigo</a> (texto em inglês) para você:</p><p>Minhas três principais recomendações nessa lista seriam:</p><ul><li><a href="https://www.class-central.com/mooc/6679/kadenze-creative-applications-of-deep-learning-with-tensorflow" rel="noopener"><strong><strong>Creative Applications of Deep Learning with TensorFlow</strong></strong></a>,<em> da Kadenze</em></li><li><a href="https://www.class-central.com/mooc/398/coursera-neural-networks-for-machine-learning" rel="noopener"><strong><strong>Neural Networks for Machine Learning</strong></strong></a>, <em>da Universidade de Toronto (ensinado por Geoffrey Hinton), na Coursera</em></li><li><a href="http://click.linksynergy.com/fs-bin/click?id=SAyYsTvLiGQ&amp;offerid=507388.9689&amp;type=3&amp;subid=0&amp;u1=medium-career-guide-machine-learning" rel="noopener"><strong><strong>Deep Learning A-Z™: Hands-On Artificial Neural Networks</strong></strong></a>, de <em>Kirill Eremenko, Hadelin de Ponteves e a equipe da SuperDataScience, na Udemy</em></li></ul><h3 id="pr-requisitos-recomendados"><strong>Pré-requisitos recomendados</strong></h3><p>Vários cursos listados abaixo pedem aos estudantes que tenham experiência prévia em programação, cálculo, álgebra linear e estatística. Estes pré-requisitos são compreensíveis, dado que a aprendizagem da máquina é uma disciplina avançada.</p><p>Alguns desses assuntos não são familiares? Boas notícias! Parte desta experiência pode ser adquirida através de nossas recomendações nos dois primeiros artigos (o de <a href="https://freecodecamp.org/news/if-you-want-to-learn-data-science-start-with-one-of-these-programming-classes-fb694ffe780c#.ld31z08y5">programação</a> e o de <a href="https://freecodecamp.org/news/if-you-want-to-learn-data-science-take-a-few-of-these-statistics-classes-9bbabab098b9">estatísticas</a> – ambos os textos em inglês) deste Guia de Carreira em Ciência de Dados. Vários cursos de alto nível abaixo também fornecem revisões leves de cálculo e de álgebra linear e destacam os aspectos mais relevantes para a aprendizagem de máquina para os menos familiarizados.</p><h3 id="nossa-escolha-como-o-melhor-curso-de-aprendizagem-de-m-quina-"><strong>Nossa escolha como o melhor curso de aprendizagem de máquina é...</strong></h3><ul><li><a href="https://www.class-central.com/mooc/835/coursera-machine-learning">Machine Learning</a> (da Universidade de Stanford, na Coursera)</li></ul><p>Este curso da Universidade de Stanford na Coursera é, claramente, o vencedor atual em termos de classificação, análises e adequação do programa de estudos. Ensinado pelo famoso Andrew Ng, fundador do Google Brain e ex-cientista chefe da <a href="https://en.wikipedia.org/wiki/Baidu">Baidu</a>, essa foi a aula que acabou gerando a Coursera. Tem uma classificação média ponderada de 4,7 estrelas sobre 422 avaliações.</p><p>Lançado em 2011, ele cobre todos os aspectos do fluxo de trabalho de aprendizagem da máquina. Embora tenha um escopo menor do que a classe original de Stanford na qual se baseia, ainda consegue cobrir um grande número de técnicas e algoritmos. O tempo estimado de conclusão é de onze semanas, com duas semanas dedicadas às redes neurais e a aprendizagem profunda. Opções gratuitas e pagas estão disponíveis.</p><p>Andrew Ng é um instrutor dinâmico, mas gentil, com uma experiência palpável. Ele inspira confiança, especialmente ao compartilhar dicas práticas de implementação e avisos sobre armadilhas comuns. É fornecido uma revisão de álgebra linear e o autor destaca os aspectos de cálculo mais relevantes para a aprendizagem da máquina.</p><p>A avaliação é automática e feita através de questionários de múltipla escolha que seguem cada lição e tarefas de programação. As (oito) tarefas podem ser concluídas no MATLAB ou no Octave, que é uma versão de código aberto do MATLAB. Andrew Ng explica sua escolha de linguagem:</p><blockquote><em>No passado, tentei ensinar a aprendizagem de máquina usando uma grande variedade de linguagens de programação, incluindo C++, Java, Python, NumPy e também o Octave... o que eu vi depois de ter ensinado a aprendizagem de máquina por quase uma década é que você aprende muito mais rápido se usar Octave como seu ambiente de programação.</em></blockquote><p>Embora o Python e o R sejam, provavelmente, escolhas mais utilizadas com o <a href="http://blog.codeeval.com/codeevalblog/2016/2/2/most-popular-coding-languages-of-2016">aumento da popularidade dessas linguagens</a> (texto em inglês), os comentários das análises observam que isso não deve impedi-lo de acompanhar o curso.</p><p>Alguns comentários de destaque observaram o seguinte:</p><blockquote><em>De renome de longa data no mundo da MOOC, o curso de aprendizagem de máquina de Stanford é realmente a introdução definitiva ao tópico. O curso cobre amplamente todas as principais áreas da aprendizagem de máquina... o Prof. Ng precede cada segmento com uma discussão motivadora e exemplos. </em></blockquote><blockquote><em>Andrew Ng é um professor talentoso e capaz de explicar assuntos complicados de um modo muito intuitivo e claro, incluindo a matemática por trás de todos os conceitos. &nbsp;</em>Altamente recomendado.</blockquote><p>O único problema que vejo com este curso é que ele estabelece expectativas muito altas para outros cursos em termos de comparação.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_viCB-ayFFQi-4Fs_NYLVVQ.png" class="kg-image" alt="1_viCB-ayFFQi-4Fs_NYLVVQ" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/02/1_viCB-ayFFQi-4Fs_NYLVVQ.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_viCB-ayFFQi-4Fs_NYLVVQ.png 800w" sizes="(min-width: 720px) 720px" width="800" height="168" loading="lazy"></figure><h3 id="uma-nova-introdu-o-ao-tema-com-um-professor-brilhante"><strong>Uma nova introdução ao tema com um professor brilhante</strong></h3><ul><li><a href="https://www.class-central.com/mooc/7231/edx-machine-learning" rel="noopener">Machine Learning</a> (criado pela Universidade de Columbia, na edX)</li></ul><p>Este é um curso relativamente novo que faz parte dos MicroMasters (em português, algo como "micromestrados") de Inteligência Artificial da edX. Embora seja mais novo e não tenha um grande número de análises, as que tem são excepcionalmente fortes. O professor John Paisley é mencionado como sendo brilhante, claro e inteligente. O curso tem uma classificação média ponderada de 4,8 estrelas em 10 análises.</p><p>O curso também cobre todos os aspectos do fluxo de aprendizagem da máquina e mais algoritmos do que a oferta da Stanford acima. O curso da Universidade de Columbia é uma introdução mais avançada, com os comentários observando que os alunos devem se sentir confortáveis com os pré-requisitos recomendados (cálculo, álgebra linear, estatística, probabilidade e programação).</p><p>Questionários (11), tarefas de programação (4) e um exame final são os modos de avaliação. Os alunos podem usar Python, Octave ou MATLAB para completar as tarefas. O tempo total estimado do curso é de oito a dez horas por semana durante doze semanas. Ele é gratuito com um certificado verificado disponível para compra.</p><p>Abaixo estão algumas das <a href="https://www.coursetalk.com/providers/edx/courses/machine-learning-5">análises</a> acima mencionadas:</p><blockquote><em>Ao longo de todos os meus anos [como aluno] encontrei professores que não são brilhantes, professores que são brilhantes mas não sabem como explicar as coisas claramente e professores que são brilhantes e sabem como explicar as coisas claramente. O Dr. Paisley pertence ao terceiro grupo.</em></blockquote><blockquote>Este é um ótimo curso... a linguagem do instrutor é precisa e isso é, na minha opinião, um dos pontos mais fortes do curso. As palestras são de alta qualidade e os slides também são ótimos.<br><br>O Dr. Paisley e seu supervisor são ... alunos de Michael Jordan, o pai da aprendizagem de máquina. [Dr. Paisley] é o melhor professor de ML (Machine Learning - Aprendizagem de Máquina) de Columbia por causa de sua capacidade de explicar as coisas claramente. Em torno de 240 alunos selecionaram seu curso neste semestre, o maior número entre todos os professores [que ensinam] aprendizagem de máquina em Columbia.</blockquote><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_q4Qa-kxC6MXFwct_9635ug.png" class="kg-image" alt="1_q4Qa-kxC6MXFwct_9635ug" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/02/1_q4Qa-kxC6MXFwct_9635ug.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_q4Qa-kxC6MXFwct_9635ug.png 800w" sizes="(min-width: 720px) 720px" width="800" height="123" loading="lazy"></figure><h3 id="uma-introdu-o-pr-tica-em-python-e-em-r-de-especialistas-do-setor"><strong>Uma introdução prática em Python e em R de especialistas do setor</strong></h3><ul><li><a href="http://click.linksynergy.com/fs-bin/click?id=SAyYsTvLiGQ&amp;offerid=507388.9688&amp;type=3&amp;subid=0&amp;u1=cc-career-guide-machine-learning&amp;u1=medium-career-guide-machine-learning" rel="noopener">Machine Learning A-Z™: Hands-On Python &amp; R In Data Science</a> <a href="http://click.linksynergy.com/fs-bin/click?id=SAyYsTvLiGQ&amp;offerid=507388.9688&amp;type=3&amp;subid=0&amp;u1=cc-career-guide-machine-learning&amp;u1=medium-career-guide-machine-learning">(Kirill Eremenko, Hadelin de Ponteves e a equipe da SuperDataScience</a>, na Udemy)</li></ul><p><a href="http://click.linksynergy.com/fs-bin/click?id=SAyYsTvLiGQ&amp;offerid=507388.9688&amp;type=3&amp;subid=0&amp;u1=cc-career-guide-machine-learning&amp;u1=medium-career-guide-machine-learning" rel="noopener">Machine Learning A-Z™</a>, da Udemy, é uma oferta impressionantemente detalhada, que fornece instrução tanto em Python quanto em R, o que é raro e não pode ser dito de nenhum dos outros cursos superiores. Tem uma classificação média ponderada de 4,5 estrelas, com 8.119 análises, o que o torna o curso mais analisado dentre os que revisamos.</p><p>Ele cobre todo o fluxo de aprendizagem da máquina e um número quase absurdo de algoritmos nas 40,5 horas de vídeo sob demanda. O curso tem uma abordagem mais aplicada e é mais leve em termos de matemática do que os dois cursos acima. Cada seção começa com um vídeo "intuitivo" de Eremenko, que resume a teoria subjacente do conceito que está sendo ensinado. Hadelin de Ponteves, então, mostra a implementação com vídeos separados, tanto para Python quanto para R.</p><p>Como "bônus", o curso inclui modelos de código em Python e em R para que os alunos possam baixar e utilizar em seus próprios projetos. Há questionários e desafios de lição de casa, embora estes não sejam os pontos fortes do curso.</p><p>Eremenko e a equipe da SuperDataScience são reverenciados por sua capacidade de "tornar o complexo simples". Além disso, os pré-requisitos listados são "apenas matemática do ensino médio". Portanto, este curso pode ser uma opção melhor para aqueles desencorajados com as ofertas de Stanford e de Columbia.</p><p>Algumas das análises mais destacadas <a href="https://www.udemy.com/machinelearning/#reviews">observaram</a> o seguinte:</p><blockquote><em>O curso é produzido profissionalmente, a qualidade do som é excelente e as explicações são claras e concisas... é um valor incrível para seu investimento financeiro e de tempo.</em></blockquote><blockquote>Foi espetacular poder acompanhar o curso em duas linguagens de programação diferentes simultaneamente.<br>Kirill (Eremenko) é um dos melhores instrutores da Udemy (se não da internet) e eu recomendo que se faça qualquer aula que ele ensine. ... Este curso tem muito conteúdo, de verdade!</blockquote><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_gl_KL2hhIkodQpznSzu8ZA.png" class="kg-image" alt="1_gl_KL2hhIkodQpznSzu8ZA" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/02/1_gl_KL2hhIkodQpznSzu8ZA.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_gl_KL2hhIkodQpznSzu8ZA.png 800w" sizes="(min-width: 720px) 720px" width="800" height="265" loading="lazy"></figure><h3 id="os-concorrentes"><strong>Os concorrentes</strong></h3><p>Nossa escolha número 1 teve uma classificação média ponderada de 4,7 de 5 estrelas em 422 análises. Vejamos as outras alternativas, ordenadas por classificação decrescente. Lembramos que cursos que sejam apenas de aprendizagem profunda não estão incluídos neste guia – você pode encontrá-los <a href="https://freecodecamp.org/news/dive-into-deep-learning-with-these-23-online-courses-bf247d289cc0">aqui</a> (texto em inglês).</p><p><a href="https://www.class-central.com/mooc/1623/edx-the-analytics-edge">The Analytics Edge</a> (Instituto de Tecnologia de Massachusetts/edX): mais focado na análise em geral, embora abranja vários tópicos de aprendizagem de máquina. Utiliza R. Narrativa forte, que aproveita exemplos familiares do mundo real. Desafiador. Dez a quinze horas por semana ao longo de doze semanas. Gratuito, com um certificado verificado disponível para compra. Tem uma classificação média ponderada de 4,9 estrelas em 214 análises.</p><p><a href="http://click.linksynergy.com/fs-bin/click?id=SAyYsTvLiGQ&amp;offerid=507388.9690&amp;type=3&amp;subid=0&amp;u1=medium-career-guide-machine-learning" rel="noopener">Python for Data Science and Machine Learning Bootcamp</a> (Jose Portilla/Udemy): tem grande parte do conteúdo de aprendizagem de máquina, mas cobre todo o processo de ciência de dados. Mais uma introdução muito detalhada ao Python. Curso surpreendente, embora não ideal para o escopo deste guia. 21,5 horas de vídeo sob demanda. O custo varia, dependendo dos descontos da Udemy, que são frequentes. Tem uma classificação média ponderada de 4,6 estrelas em 3316 análises.</p><p><a href="https://click.linksynergy.com/fs-bin/click?id=SAyYsTvLiGQ&amp;subid=&amp;offerid=323058.1&amp;type=10&amp;u1=medium-career-guide-machine-learning&amp;tmpid=14538&amp;RD_PARM1=https%3A%2F%2Fwww.udemy.com%2Fdata-science-and-machine-learning-bootcamp-with-r%2F" rel="noopener">Data Science and Machine Learning Bootcamp with R</a> (Jose Portilla/Udemy): os comentários para o curso de Portilla acima também se aplicam aqui, exceto pelo fato de que o curso é em linguagem R. 17,5 horas de vídeo sob demanda. O custo varia, dependendo dos descontos da Udemy, que são frequentes. Tem uma classificação média ponderada de 4,6 estrelas em 1317 análises.</p><p><a href="https://click.linksynergy.com/fs-bin/click?id=SAyYsTvLiGQ&amp;subid=&amp;offerid=323058.1&amp;type=10&amp;u1=medium-career-guide-machine-learning&amp;tmpid=14538&amp;RD_PARM1=https%3A%2F%2Fwww.udemy.com%2Fuser%2Flazy-programmer%2F" rel="noopener">Machine Learning Series</a> (Lazy Programmer Inc./Udemy): ensinado por um cientista de dados/engenheiro de software de big data/engenheiro de software <em>full-stack</em> com um currículo impressionante, Lazy Programmer tem atualmente uma série de 16 cursos focados na aprendizagem de máquina na Udemy. No total, os cursos têm mais de 5 mil classificações e quase todas elas têm 4,6 estrelas. A descrição de cada curso individual fornece um ordenamento útil do curso. Utiliza Python. O custo varia, dependendo dos descontos da Udemy, que são frequentes.</p><p><a href="https://www.class-central.com/mooc/1020/udacity-machine-learning" rel="noopener">Machine Learning</a> (Georgia Tech/Udacity): uma compilação do que eram três cursos separados: aprendizagem supervisionada, sem supervisão e aprendizagem de reforço. Parte do Nanodegree de Engenheiro de Aprendizagem de Máquina, da Udacity, e do mestrado on-line (OMS), da Georgia Tech. Os vídeos são curtos, como é o estilo da Udacity. Os professores são simpáticos. O tempo estimado é de quatro meses. Gratuito. Tem uma classificação média ponderada de 4,56 estrelas em 9 análises.</p><p><a href="https://www.class-central.com/mooc/4151/edx-implementing-predictive-analytics-with-spark-in-azure-hdinsight" rel="noopener">Implementing Predictive Analytics with Spark in Azure HDInsight</a><a href="https://www.class-central.com/mooc/4151/edx-implementing-predictive-analytics-with-spark-in-azure-hdinsight"> </a>(Microsoft/edX): introduz os conceitos centrais de aprendizagem de máquina e uma variedade de algoritmos. Tira proveito de várias grandes ferramentas de dados amigáveis, incluindo Apache Spark, Scala e Hadoop. Utiliza tanto Python, quanto R. Quatro horas por semana durante seis semanas. Gratuito com um certificado verificado disponível para compra. Tem uma classificação média ponderada de 4,5 estrelas em 6 análises.</p><p><a href="https://click.linksynergy.com/fs-bin/click?id=SAyYsTvLiGQ&amp;subid=&amp;offerid=323058.1&amp;type=10&amp;u1=medium-career-guide-machine-learning&amp;tmpid=14538&amp;RD_PARM1=https%3A%2F%2Fwww.udemy.com%2Fdata-science-and-machine-learning-with-python-hands-on%2F" rel="noopener">Data Science and Machine Learning with Python — Hands On!</a> (Frank Kane/Udemy): utiliza Python. Kane tem nove anos de experiência na Amazon e na IMDb. Nove horas de vídeo sob demanda. O custo varia, dependendo dos descontos da Udemy, que são frequentes. Tem uma classificação média ponderada de 4,5 estrelas em 4139 análises.</p><p><a href="https://click.linksynergy.com/fs-bin/click?id=SAyYsTvLiGQ&amp;subid=&amp;offerid=323058.1&amp;type=10&amp;u1=medium-career-guide-machine-learning&amp;tmpid=14538&amp;RD_PARM1=https%3A%2F%2Fwww.udemy.com%2Fscala-and-spark-for-big-data-and-machine-learning%2F" rel="noopener">Scala and Spark for Big Data and Machine Learning</a> (Jose Portilla/Udemy): o foco é em "Big Data", especificamente na implementação em Scala e Spark. Dez horas de vídeo sob demanda. O custo varia, dependendo dos descontos da Udemy, que são frequentes. Tem uma classificação média ponderada de 4,5 estrelas em 607 análises.</p><p><a href="https://www.class-central.com/certificate/machine-learning-engineer-nanodegree--nd009" rel="noopener">Machine Learning Engineer Nanodegree</a> (Udacity): o principal programa de Machine Learning do Udacity, que apresenta o melhor sistema de análise de projetos e suporte de carreira. O programa é uma compilação de vários cursos individuais da Udacity, que são gratuitos. Co-criado pela Kaggle. Cronograma estimado de seis meses. Atualmente, custa US$ 199 por mês, com um reembolso de 50% da mensalidade disponível para aqueles que se formarem dentro de 12 meses. Tem uma classificação média ponderada de 4,5 estrelas em 2 análises.</p><p><a href="https://www.class-central.com/mooc/1240/edx-learning-from-data-introductory-machine-learning" rel="noopener">Learning From Data (Introductory Machine Learning)</a> (California Institute of Technology/edX): a inscrição está, atualmente, fechada na edX, mas também está disponível através da plataforma independente da CalTech (veja abaixo). Tem uma classificação média ponderada de 4,49 estrelas em 42 análises.</p><p><a href="https://www.class-central.com/mooc/366/learning-from-data-introductory-machine-learning-course" rel="noopener">Learning From Data (Introductory Machine Learning)</a> (Yaser Abu-Mostafa/California Institute of Technology): "um verdadeiro curso da Caltech, não uma versão diluída". As revisões observam que é excelente para entender a teoria da aprendizagem de máquina. O professor, Yaser Abu-Mostafa, é popular entre os estudantes e também escreveu o livro didático no qual este curso se baseia. Os vídeos são as aulas gravadas (com slides das aulas) e se encontram no YouTube. As tarefas de casa são arquivos em formato .pdf. A experiência do curso para estudantes on-line não é tão adequada quanto as três principais recomendações. Tem uma média ponderada de 4,43 estrelas em 7 análises.</p><p><a href="https://www.class-central.com/mooc/2406/stanford-openedx-mining-massive-datasets">Mining Massive Datasets</a> (Universidade de Stanford): aprendizagem de máquina com foco em "Big Data". Introduz modernos sistemas de arquivos distribuídos e MapReduce. Dez horas por semana durante sete semanas. Gratuito. Tem uma classificação média ponderada de 4,4 estrelas em 30 análises.</p><p><a href="https://click.linksynergy.com/fs-bin/click?id=SAyYsTvLiGQ&amp;subid=&amp;offerid=323058.1&amp;type=10&amp;u1=medium-career-guide-machine-learning&amp;tmpid=14538&amp;RD_PARM1=https%3A%2F%2Fwww.udemy.com%2Faws-machine-learning-a-complete-guide-with-python%2F" rel="noopener">AWS Machine Learning: A Complete Guide With Python</a> (Chandra Lingam/Udemy): um foco único na aprendizagem de máquina baseado em nuvem e, especificamente, nos Amazon Web Services. Utiliza Python. Nove horas de vídeo sob demanda. O custo varia dependendo dos descontos da Udemy, que são frequentes. Tem uma classificação média ponderada de 4,4 estrelas em 62 análises.</p><p><a href="https://click.linksynergy.com/fs-bin/click?id=SAyYsTvLiGQ&amp;subid=&amp;offerid=323058.1&amp;type=10&amp;u1=medium-career-guide-machine-learning&amp;tmpid=14538&amp;RD_PARM1=https%3A%2F%2Fwww.udemy.com%2Fintroduction-to-machine-learning-in-python%2F" rel="noopener">Introduction to Machine Learning &amp; Face Detection in Python</a> (Holczer Balazs/Udemy): utiliza Python. Oito horas de vídeo sob demanda. O custo varia, dependendo dos descontos da Udemy, que são frequentes. Tem uma classificação média ponderada de 4,4 estrelas em 162 análises.</p><p><a href="https://www.class-central.com/mooc/1579/stanford-openedx-statlearning-statistical-learning" rel="noopener">StatLearning: Statistical Learning</a> (Universidade de Stanford): baseado no excelente livro didático, "<a href="https://www.amazon.com.br/Introduction-Statistical-Learning-Applications/dp/1071614177/ref=sr_1_fkmr0_1?__mk_pt_BR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&amp;crid=15D70PIO4NUXX&amp;keywords=An+Introduction+to+Statistical+Learning%3A+with+Applications+in+R+%28Springer+Texts+in+Statistics&amp;qid=1677176624&amp;sprefix=an+introduction+to+statistical+learning+with+applications+in+r+springer+texts+in+statistics%2Caps%2C706&amp;sr=8-1-fkmr0&amp;ufe=app_do%3Aamzn1.fos.25548f35-0de7-44b3-b28e-0f56f3f96147">An Introduction to Statistical Learning, with Applications in R</a>" e ensinado pelos professores que o escreveram. Os revisores observam que o MOOC não é tão bom quanto o livro, citando exercícios "pouco desafiadores" e vídeos medíocres. Cinco horas por semana durante nove semanas. Gratuito. Tem uma classificação média ponderada de 4,35 estrelas em 84 análises.</p><p><a href="https://www.class-central.com/certificate/machine-learning-specialization" rel="noopener">Machine Learning Specialization</a> (Universidade de Washington/Coursera): grandes cursos, mas as duas últimas aulas (incluindo o projeto final) foram canceladas. Os revisores observam que esta série é mais digerível (leia-se: mais fácil para aqueles sem formação técnica sólida) do que outros cursos de aprendizagem de máquina de ponta (por exemplo, o de Stanford ou o da Caltech). Esteja ciente de que a série está incompleta, sem os sistemas de recomendação, sem aprendizagem profunda e sem um resumo. Opções gratuitas e pagas disponíveis. Tem uma classificação média ponderada de 4,31 estrelas em 80 análises.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_fgFqV9nyUKHi7txzgKcW4w.png" class="kg-image" alt="1_fgFqV9nyUKHi7txzgKcW4w" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/02/1_fgFqV9nyUKHi7txzgKcW4w.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_fgFqV9nyUKHi7txzgKcW4w.png 800w" sizes="(min-width: 720px) 720px" width="800" height="163" loading="lazy"><figcaption>A Universidade de Washington ensina a <a href="https://www.class-central.com/certificate/machine-learning-specialization" rel="noopener">Machine Learning Specialization</a> na Coursera.</figcaption></figure><p><a href="https://click.linksynergy.com/fs-bin/click?id=SAyYsTvLiGQ&amp;subid=&amp;offerid=323058.1&amp;type=10&amp;u1=medium-career-guide-machine-learning&amp;tmpid=14538&amp;RD_PARM1=https%3A%2F%2Fwww.udemy.com%2Ffrom-0-1-machine-learning%2F" rel="noopener">From 0 to 1: Machine Learning, NLP &amp; Python-Cut to the Chase</a> (Loony Corn/Udemy): "uma abordagem lúcida e breve, mas confiante, sobre as técnicas de aprendizagem de máquina". Ensinado por uma equipe de quatro pessoas com décadas de experiência no setor. Utiliza o Python. O custo varia dependendo dos descontos da Udemy, que são frequentes. Tem uma classificação média ponderada de 4,2 estrelas em 494 análises.</p><p><a href="https://www.class-central.com/mooc/6511/edx-principles-of-machine-learning" rel="noopener">Principles of Machine Learning</a> (Microsoft/edX): utiliza R, Python e a aprendizagem de máquina do Microsoft Azure. Parte do programa do certificado em Ciência de Dados da Microsoft Professional. Três a quatro horas por semana durante seis semanas. Gratuito com um certificado verificado disponível para compra. Tem uma classificação média ponderada de 4,09 estrelas em 11 análises.</p><p><a href="https://www.class-central.com/mooc/5421/futurelearn-big-data-statistical-inference-and-machine-learning" rel="noopener">Big Data: Statistical Inference and Machine Learning</a> (Universidade de Tecnologia de Queensland/Aprendizagem Futura): um breve e agradável curso exploratório de aprendizagem de máquina, com foco em Big Data. Trata de algumas ferramentas, como R, H2O Flow e WEKA. Apenas três semanas de duração, com uma recomendação de duas horas por semana, mas um dos comentários observa que seis horas por semana seriam mais apropriadas. Opções gratuitas e pagas disponíveis. Tem uma classificação média ponderada de 4 estrelas em 4 análises.</p><p><a href="https://www.class-central.com/mooc/3556/coursera-genomic-data-science-and-clustering-bioinformatics-v" rel="noopener">Genomic Data Science and Clustering</a> (Bioinformática V) (Universidade da Califórnia, San Diego/Coursera): para aqueles interessados na intersecção entre a informática e a biologia e em como ela representa uma importante fronteira na ciência moderna. Foca no clustering dos dados e na redução da dimensionalidade. Faz parte da especialização em Bioinformática da Universidade da Califórnia/San Diego. Opções gratuitas e pagas disponíveis. Tem uma classificação média ponderada de 4 estrelas em 3 análises.</p><p><a href="https://www.class-central.com/mooc/2996/udacity-intro-to-machine-learning" rel="noopener">Intro to Machine Learning</a> (Udacity): prioriza a amplitude do tópico e as ferramentas práticas (em Python) em vez da profundidade e da teoria. Os instrutores, Sebastian Thrun e Katie Malone, tornam essa aula divertida. Consiste em vídeos curtos e questionários seguidos de um miniprojeto para cada aula. Atualmente, faz parte do Nanodegree de Analista de Dados, da Udacity. Tempo estimado de dez semanas. Gratuito. Tem uma classificação média ponderada de 3,95 estrelas em 19 análises.</p><p><a href="https://www.class-central.com/mooc/4354/coursera-machine-learning-for-data-analysis" rel="noopener">Machine Learning for Data Analysis</a> (Universidade Wesleyan/Coursera): uma breve introdução à aprendizagem de máquina e a alguns algoritmos selecionados. Abrange árvores de decisão, florestas aleatórias, regressão de laço e <em>clustering</em> de <em>k-means</em>. Parte da especialização em Análise de Dados e Interpretação, da Wesleyan. Tempo estimado de quatro semanas. Opções gratuitas e pagas disponíveis. Tem uma classificação média ponderada de 3,6 estrelas em 5 análises.</p><p><a href="https://www.class-central.com/mooc/6471/edx-programming-with-python-for-data-science" rel="noopener">Programming with Python for Data Science</a> (Microsoft/edX): produzido pela Microsoft em parceria com o Coding Dojo. Utiliza Python. Oito horas por semana durante seis semanas. Opções gratuitas e pagas disponíveis. Tem uma classificação média ponderada de 3,46 estrelas em 37 análises.</p><p><a href="https://www.class-central.com/mooc/1026/udacity-machine-learning-for-trading" rel="noopener">Machine Learning for Trading</a> (Georgia Tech/Udacity): foca na aplicação de abordagens probabilísticas de aprendizagem de máquina para a tomada de decisões comerciais. Utiliza o Python. Faz parte do Nanodegree de Engenheiro de Aprendizagem de Máquina, da Udacity, e do OMS (mestrado on-line) da Georgia Tech. Tempo estimado de quatro meses. Gratuito. Tem uma classificação média ponderada de 3,29 estrelas em 14 análises.</p><p><a href="https://www.class-central.com/mooc/1719/coursera-practical-machine-learning" rel="noopener">Practical Machine Learning</a> (Johns Hopkins University/Coursera): uma breve introdução prática a uma série de algoritmos de aprendizagem de máquina. Várias análises de uma ou duas estrelas expressando uma variedade de preocupações. Parte da especialização em ciência de dados da Johns Hopkins University. Quatro a nove horas por semana durante quatro semanas. Opções gratuitas e pagas disponíveis. Tem uma classificação média ponderada de 3,11 estrelas em 37 análises.</p><p><a href="https://www.class-central.com/mooc/4912/edx-machine-learning-for-data-science-and-analytics" rel="noopener">Machine Learning for Data Science and Analytics</a> (Universidade Columbia/edX): introduz uma ampla gama de tópicos de aprendizagem de máquina. Algumas análises negativas fortes, com preocupações que incluem as escolhas de conteúdo, falta de tarefas de programação e apresentação pouco inspiradora. Sete a dez horas por semana durante cinco semanas. Gratuito, com um certificado verificado disponível para compra. Tem uma classificação média ponderada de 2,74 estrelas em 36 análises.</p><p><a href="https://www.coursera.org/specializations/recommender-systems" rel="noopener">Recommender Systems Specialization</a> (Universidade de Minnesota/Coursera): forte foco em um tipo específico de aprendizagem de máquina – sistemas de recomendação. Uma especialização de quatro cursos mais um projeto final, que é um estudo de caso. Ensinado usando o LensKit (um kit de ferramentas de código aberto para sistemas de recomendação). Opções gratuitas e pagas disponíveis. Tem uma classificação média ponderada de 2 estrelas em 2 análises.</p><p><a href="https://www.class-central.com/mooc/4238/coursera-machine-learning-with-big-data" rel="noopener">Machine Learning With Big Data</a>(Universidade da Califórnia, San Diego/Coursera): críticas fortes, que destacam instrução e avaliação deficientes. Alguns notaram que levaram apenas horas para completar o curso inteiro. Parte da Especialização em Big Data da UCSD. Opções gratuitas e pagas disponíveis. Tem uma classificação média ponderada de 1,86 estrela em 14 análises.</p><p><a href="https://www.class-central.com/mooc/4341/coursera-practical-predictive-analytics-models-and-methods" rel="noopener">Practical Predictive Analytics: Models and Methods</a> (Universidade de Washington/Coursera): uma breve introdução aos conceitos centrais de aprendizagem da máquina. Um dos comentários observou que não havia questionários e que as tarefas não eram desafiadoras. Parte da especialização em Ciência de Dados em escala, da Universidade de Washington. De seis a oito horas por semana durante quatro semanas. Opções gratuitas e pagas disponíveis. Tem uma classificação média ponderada de 1,75 estrelas em 4 análises.</p><p>Os cursos abaixo tiveram uma ou nenhuma revisão desde maio de 2017:</p><p><a href="https://www.class-central.com/mooc/3768/kadenze-machine-learning-for-musicians-and-artists" rel="noopener">Machine Learning for Musicians and Artists</a> (Goldsmiths, Universidade de Londres/Kadenze): único. Os estudantes aprendem algoritmos, ferramentas de software e melhores práticas de aprendizagem de máquina para dar sentido ao gesto humano, ao áudio musical e a outros dados em tempo real. Sete sessões de duração. Opções de auditoria (grátis) e premium ($10 USD por mês) disponíveis. Tem uma análise com 5 estrelas.</p><p><a href="https://www.class-central.com/mooc/6673/coursera-applied-machine-learning-in-python" rel="noopener">Applied Machine Learning in Python</a> (Universidade de Michigan/Coursera): ensinado usando Python e o kit de ferramentas do scikit-learn. Parte da especialização em Ciência de Dados Aplicada com Python. Programado para começar em 29 de maio. Opções gratuitas e pagas disponíveis.</p><p><a href="https://www.class-central.com/mooc/6406/edx-applied-machine-learning" rel="noopener">Applied Machine Learning</a> (Microsoft/edX): ensinado usando várias ferramentas, incluindo Python, R e a aprendizagem de máquina do Microsoft Azure (observação: a Microsoft produz o curso). Inclui laboratórios práticos para reforçar o conteúdo das aulas. Três a quatro horas por semana durante seis semanas. Gratuito com um certificado verificado disponível para compra.</p><p><a href="https://bigdatauniversity.com/courses/machine-learning-with-python/" rel="noopener">Machine Learning with Python</a> (Big Data University): ensinado usando Python. Voltado para iniciantes. Tempo estimado de conclusão de quatro horas. A Big Data University é afiliada à IBM. Gratuito.</p><p><a href="https://bigdatauniversity.com/courses/machine-learning-apache-systemml/" rel="noopener">Machine Learning with Apache SystemML</a> (Big Data University): ensinado utilizando o Apache SystemML, que é uma linguagem de estilo declarativa projetada para a aprendizagem de máquina em larga escala. Tempo estimado de conclusão de oito horas. A Big Data University é afiliada à IBM. Gratuito.</p><p><a href="https://www.class-central.com/mooc/8216/edx-machine-learning-for-data-science" rel="noopener">Machine Learning for Data Science</a> (Universidade da Califórnia, San Diego/edX): não foi lançado até janeiro de 2018. Exemplos de programação e tarefas estão em Python, usando Jupyter Notebooks. Oito horas por semana durante dez semanas. Grauito com um certificado verificado disponível para compra.</p><p><a href="https://www.class-central.com/mooc/8217/edx-introduction-to-analytics-modeling" rel="noopener">Introduction to Analytics Modeling</a>(Georgia Tech/edX): o curso anuncia R como sua principal ferramenta de programação. Cinco a dez horas por semana, durante dez semanas. Gratuito com um certificado verificado disponível para compra.</p><p><a href="https://www.class-central.com/mooc/7645/futurelearn-predictive-analytics-gaining-insights-from-big-data" rel="noopener">Predictive Analytics: Gaining Insights from Big Data</a> (Queensland University of Technology/FutureLearn): breve visão geral de alguns algoritmos. Utiliza a plataforma Vertica Analytics da Hewlett Packard Enterprise como uma ferramenta aplicada. Data de início a ser anunciada. Duas horas por semana ao longo de quatro semanas. Gratuito com um certificado de conclusão disponível para compra.</p><p><a href="https://miriadax.net/web/introduccion-al-machine-learning" rel="noopener">Introducción al Machine Learning</a> (Universitas Telefónica/Miríada X): ensinado em espanhol. Uma introdução à aprendizagem de máquina que abrange a aprendizagem supervisionada e não supervisionada. Um total de vinte horas estimadas em quatro semanas.</p><p><a href="https://www.dataquest.io/path-step/machine-learning" rel="noopener">Machine Learning Path Step</a> (Dataquest): ensinado em Python usando a plataforma interativa do Dataquest no navegador. Múltiplos projetos guiados e um projeto de bônus onde você cria seu próprio sistema de aprendizagem de máquina usando seus próprios dados. Assinatura necessária.</p><p>Os seis cursos a seguir são oferecidos pela <a href="https://www.datacamp.com/courses/topic:machine_learning?tap_a=5644-dce66f&amp;tap_s=93618-a68c98">DataCamp</a>. O estilo de ensino híbrido da DataCamp aproveita a instrução baseada em vídeo e texto, com muitos exemplos através de um editor de código no navegador. Uma assinatura é necessária para o acesso total aos cursos.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_eRUPgszpDHzEUpvXhFMeUg.png" class="kg-image" alt="1_eRUPgszpDHzEUpvXhFMeUg" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/02/1_eRUPgszpDHzEUpvXhFMeUg.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_eRUPgszpDHzEUpvXhFMeUg.png 800w" sizes="(min-width: 720px) 720px" width="800" height="420" loading="lazy"><figcaption>A <a href="https://www.datacamp.com/courses/topic:machine_learning?tap_a=5644-dce66f&amp;tap_s=93618-a68c98" rel="noopener">DataCamp</a> oferece vários cursos de aprendizagem de máquina.</figcaption></figure><p><a href="https://www.datacamp.com/courses/introduction-to-machine-learning-with-r?tap_a=5644-dce66f&amp;tap_s=93618-a68c98" rel="noopener">Introduction to Machine Learning</a>(DataCamp): abrange algoritmos de classificação, regressão e agrupamento. Utiliza R. Quinze vídeos e 81 exercícios com um tempo estimado de seis horas.</p><p><a href="https://www.datacamp.com/courses/supervised-learning-with-scikit-learn?tap_a=5644-dce66f&amp;tap_s=93618-a68c98" rel="noopener">Supervised Learning with scikit-learn</a> (DataCamp): utiliza Python e scikit-learn. Trata de algoritmos de classificação e regressão. Dezessete vídeos e 54 exercícios com um tempo estimado de quatro horas.</p><p><a href="https://www.datacamp.com/courses/unsupervised-learning-in-r?tap_a=5644-dce66f&amp;tap_s=93618-a68c98" rel="noopener">Unsupervised Learning in R</a>(DataCamp): fornece uma introdução básica ao <em>clustering</em> e redução da dimensionalidade em R. Dezesseis vídeos e 49 exercícios com um tempo estimado de quatro horas.</p><p><a href="https://www.datacamp.com/courses/machine-learning-toolbox?tap_a=5644-dce66f&amp;tap_s=93618-a68c98" rel="noopener">Machine Learning Toolbox</a> (DataCamp): ensina as "grandes ideias" sobre aprendizagem de máquina. Utiliza R. 24 vídeos e 88 exercícios, com um tempo estimado de quatro horas.</p><p><a href="https://www.datacamp.com/courses/machine-learning-with-the-experts-school-budgets?tap_a=5644-dce66f&amp;tap_s=93618-a68c98" rel="noopener">Machine Learning with the Experts: School Budgets</a> (DataCamp): um estudo de caso de uma competição de aprendizagem de máquina sobre DrivenData. Envolve a construção de um modelo para classificar automaticamente os itens no orçamento de uma escola. O curso "<a href="https://www.datacamp.com/courses/supervised-learning-with-scikit-learn?tap_a=5644-dce66f&amp;tap_s=93618-a68c98" rel="noopener">Supervised Learning with scikit-learn</a>" da DataCamp é um pré-requisito. Quinze vídeos e 51 exercícios com um tempo estimado de quatro horas.</p><p><a href="https://www.datacamp.com/courses/unsupervised-learning-in-python?tap_a=5644-dce66f&amp;tap_s=93618-a68c98" rel="noopener">Unsupervised Learning in Python</a> (DataCamp): trata de uma variedade de algoritmos de aprendizagem não supervisionada usando Python, scikit-learn e scipy. O curso termina com os alunos criando um sistema de recomendação para recomendar músicos populares. Treze vídeos e 52 exercícios com um tempo estimado de quatro horas.</p><p><a href="http://www.cs.cmu.edu/~ninamf/courses/601sp15/index.html" rel="noopener">Machine Learning</a> (Tom Mitchell/Carnegie Mellon University): curso de iniciação à aprendizagem de máquina da Carnegie Mellon. Um pré-requisito para seu segundo curso de pós-graduação, "<a href="https://www.class-central.com/mooc/8509/statistical-machine-learning" rel="noopener">Statistical Machine Learning</a>". Aulas de nível universitário com problemas práticos, tarefas de casa e uma avaliação de meio de semestre (todos com soluções) disponíveis on-line. Também há uma versão de 2011 do curso. A Carnegie Mellon University é uma das melhores escolas de pós-graduação para o estudo de aprendizagem de máquina e tem todo um departamento dedicado à área. Gratuito.</p><p><a href="https://www.class-central.com/mooc/8509/statistical-machine-learning" rel="noopener">Statistical Machine Learning</a> (Larry Wasserman/Carnegie Mellon University): provavelmente, o curso mais avançado deste guia. Um acompanhamento do curso <a href="http://www.cs.cmu.edu/~ninamf/courses/601sp15/index.html" rel="noopener">Machine Learning</a>, da Carnegie Mellon. Aulas de nível universitário com problemas práticos, tarefas de casa e uma avaliação de meio de semestre (todos com soluções) disponíveis on-line. Gratuito.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_umqMeqC5Ch-kR1i4hPBTrw.png" class="kg-image" alt="1_umqMeqC5Ch-kR1i4hPBTrw" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/02/1_umqMeqC5Ch-kR1i4hPBTrw.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2023/02/1_umqMeqC5Ch-kR1i4hPBTrw.png 800w" sizes="(min-width: 720px) 720px" width="800" height="74" loading="lazy"><figcaption>A Carnegie Melon University é uma das melhores escolas de pós-graduação para o estudo de aprendizagem de máquina. <a href="http://www.cs.cmu.edu/~ninamf/courses/601sp15/index.html" rel="noopener">Machine Learning</a> e <a href="https://www.class-central.com/mooc/8509/statistical-machine-learning" rel="noopener">Statistical Machine Learning</a> são os cursos disponíveis gratuitamente on-line.</figcaption></figure><p><a href="http://www.cs.ubc.ca/~nando/340-2012/index.php" rel="noopener">Undergraduate Machine Learning</a> (Nando de Freitas/Universidade de British Columbia): um curso de graduação em aprendizagem de máquina. As aulas são filmadas e colocadas no YouTube, com os slides postados no site do curso. As tarefas do curso também são postadas (mas sem as soluções). Nando de Freitas é agora professor em tempo integral na Universidade de Oxford e recebe elogios por sua capacidade de ensino em vários fóruns. Versão para pós-graduandos disponível (veja abaixo).</p><p><a href="http://www.cs.ubc.ca/~nando/540-2013/lectures.html" rel="noopener">Machine Learning</a> (Nando de Freitas/Universidade de British Columbia): um curso de pós-graduação em aprendizagem de máquina. Os comentários sobre o curso de graduação de Nando de Freitas (acima) também se aplicam aqui.</p><h3 id="para-encerrar"><strong>Para encerrar</strong></h3><p>Este é o quinto de uma série de seis artigos que tratam dos melhores cursos on-line para se lançar no campo da ciência dos dados. Tratamos de programação no <a href="https://freecodecamp.org/news/if-you-want-to-learn-data-science-start-with-one-of-these-programming-classes-fb694ffe780c#.fhrn45v3c">primeiro artigo</a> (texto em inglês), estatística e probabilidade no <a href="https://freecodecamp.org/news/if-you-want-to-learn-data-science-take-a-few-of-these-statistics-classes-9bbabab098b9#.p7pac546r">segundo artigo</a> (texto em inglês), introdução a ciência de dados no <a href="https://www.freecodecamp.org/portuguese/news/classifiquei-cada-curso-de-introducao-a-ciencia-de-dados-na-internet-com-base-em-milhares-de-avaliacoes/">terceiro artigo</a> e visualização de dados no <a href="https://freecodecamp.org/news/an-overview-of-every-data-visualization-course-on-the-internet-9ccf24ea9c9b">quarto</a> (texto em inglês).</p><p>A parte final desta série será um resumo desses artigos, juntamente aos melhores cursos on-line para outros tópicos-chave, tais como discussão de dados, bancos de dados e até mesmo engenharia de software.</p><p>Se você estiver procurando uma lista completa de cursos on-line de Ciência de dados, você pode encontrá-los na página sobre <a href="https://www.class-central.com/subject/data-science" rel="noopener">Data Science and Big Data</a> da Class Central.</p><p>Se você gostou de ler este texto, confira alguns outros artigos da <a href="https://www.class-central.com/">Class Central</a> (em inglês):</p><p><a href="https://www.freecodecamp.org/news/ivy-league-free-online-courses-a0d7ae675869/"><strong><strong>Here are 250 Ivy League courses you can take online right now for free</strong></strong></a></p><p><a href="https://www.freecodecamp.org/news/the-data-dont-lie-here-are-the-50-best-free-online-university-courses-of-all-time-b2d9a64edfac/"><strong><strong>The 50 best free online university courses according to data</strong></strong></a></p><p><em>Esta é uma versão condensada do <a href="https://www.class-central.com/report/best-machine-learning-courses/">artigo original</a>, publicado na Class Central, onde o autor incluiu um programa detalhado dos cursos.</em></p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
