Machine Learning 101: uma introdução com exemplos de código
À medida que o campo de Inteligência Artificial e Aprendizado de Máquina continua a crescer e evoluir, sempre há novas tendências e desenvolvimentos para ficar de olho. Duas das tendências mais empolgantes do setor no momento são os chatbots e o ChatGPT. Estamos ouvindo palavras como IA, ML, PNL quase diariamente em notícias, mídias sociais etc., o que faz você se perguntar - o que diabos é isso para começar?
Como alguém que está prestes a se formar no programa de Mestrado em Ciência da Informação e Dados (MIDS) da UC Berkeley, entendo como o aprendizado de máquina e a IA podem ser intimidantes. Mas não precisa ser! Neste artigo, detalharei os fundamentos do aprendizado de máquina, incluindo aprendizado supervisionado e não supervisionado, com exemplos de código e matemática que qualquer um pode entender.
Primeiro, vamos definir o que é aprendizado de máquina. Simplificando, “ é o processo de treinar um programa de computador para aprender com os dados, para que ele possa fazer previsões ou tomar ações com base nesses dados” . Existem dois tipos principais de aprendizado de máquina: aprendizado supervisionado e não supervisionado.
Aprendizagem supervisionada é quando o programa de computador recebe dados rotulados para aprender. Vamos começar com um exemplo simples do mundo real, onde você pode fornecer ao algoritmo ML um conjunto de dados de preços de imóveis, onde cada ponto de dados inclui o tamanho da casa e seu preço. O algoritmo aprenderia a prever o preço de uma casa nova com base em seu tamanho. Vamos ver como isso funciona com um exemplo.
Começaremos importando algumas bibliotecas necessárias para este exemplo: numpy e scikit-learn.
import numpy as np
from sklearn.linear_model import LinearRegression
Em seguida, criaremos nosso conjunto de dados. Usaremos um conjunto de dados simples de 6 casas, onde o tamanho da casa é a entrada (em pés quadrados) e o preço é a saída (em milhares de dólares).
X = np.array([[1400], [1600], [1700], [1875], [1100], [1550]])
y = np.array([245, 312, 279, 308, 199, 219])
Agora, vamos criar nosso modelo de regressão linear e ajustá-lo aos dados. Para quem não sabe o que é regressão linear, é um tipo de matemática que nos ajuda a descobrir como duas coisas se relacionam. Por exemplo, no nosso caso, queremos saber como o preço de uma casa está relacionado com o seu tamanho. Para descobrir isso, pegamos um monte de casas cujo tamanho e preço conhecemos e traçamos uma linha através delas que melhor se ajusta aos dados. Esta linha é chamada de “ linha de melhor ajuste ”. Assim que tivermos essa linha, podemos usá-la para fazer previsões. Portanto, se temos uma casa nova cujo preço não sabemos, mas sabemos o tamanho dela, podemos usar a linha para adivinhar quanto ela pode custar.
Isso é basicamente o que a regressão linear é - é uma maneira de encontrar a relação entre duas coisas e usá-la para fazer previsões.
Com isso, vamos continuar com o nosso código. É aqui que criamos nosso modelo de regressão linear e o ajustamos aos dados. Primeiro, criamos uma instância da classe LinearRegression, que será nosso modelo. Em seguida, chamamos o método fit() em nosso modelo, passando nossos dados de entrada e saída. Isso treina o modelo em nossos dados e o prepara para fazer previsões:
model = LinearRegression()
model.fit(X, y)
print(model.predict([[1500]]))
É isso! Com apenas algumas linhas de código, construímos um modelo de regressão linear simples que pode fazer previsões com base nos dados de entrada. Claro, isso é apenas o começo do que você pode fazer com o aprendizado de máquina.
Aprendizagem não supervisionada é quando o programa de computador recebe dados não rotulados para aprender. Por exemplo, você pode fornecer ao programa um conjunto de dados de compras de clientes em uma mercearia, sem rótulos. O programa aprenderia a agrupar compras semelhantes, como clientes que compram leite e pão juntos.
Concluindo meus pensamentos, o aprendizado de máquina é um campo empolgante com infinitas possibilidades. Com apenas algumas linhas de código e um pouco de matemática básica, você pode começar a explorar esse campo por conta própria. Espero que este artigo tenha lhe dado uma boa introdução aos fundamentos do aprendizado de máquina e que você se inspire para aprender mais!





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)