O que é um modelo de ML
Lição 3 de 19 do curso Introdução ao aprendizado de máquina da Coddy.
Um modelo de machine learning visa fazer previsões com base em dados históricos. Para fazer isso de forma eficaz, o modelo deve compreender as propriedades estatísticas do conjunto de dados. Esse entendimento não pode ser alcançado simplesmente fornecendo ao modelo um algoritmo ou função matemática que descreva a distribuição dos dados.
Em vez disso, o modelo deve aprender essas propriedades por meio do treinamento. Além disso, cada conjunto de dados possui propriedades estatísticas únicas. Portanto, um modelo separado deve ser treinado para cada conjunto de dados distinto.
A fase de aprendizado é chamada de fitting ou fit. Depois que o modelo aprende a distribuição dos dados, podemos fornecer a ele novos dados que ele nunca viu e prever sua saída; essa fase é chamada de predicting ou predict.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Desafio
FácilNeste desafio, criaremos o modelo de aprendizado de máquina supervisionado mais simples possível. Este modelo não é utilizado de forma alguma na indústria. Em vez disso, o propósito total deste modelo é demonstrar como seria um modelo de aprendizado de máquina real.
Crie um modelo que retorne o valor de y mais frequente para os valores de X correspondentes.
Instruções:
O método
fitconta para cadaXoymais frequente e armazena o resultado na variávelself.mode
Por exemplo, para o seguinte conjunto de dados:<strong>X</strong>A B A A B <strong>Y</strong>1 1 0 1 1 self.modedeve conter:{"A": 1, "B": 1}- O método
predictrecebe uma lista deX_teste retorna uma lista de mesmo comprimento. Cada valor na lista retornada é oyprevisto correspondente aX, usando oself.modeaprendido na fasefit.
por exemplo, seself.modecontiver{"A": 1, "B": 1}eX_trainfor['A', 'B', 'C']então a saída deve ser:[1, 1, None]
Como passar nos casos de teste:
Crie uma função chamada train_and_predict que receba as listas X_train, y_train e X_test. Ela seguirá os seguintes passos:
- Aprender usando o método fit com X_train e y_train
- prever os rótulos de X_test
- retornar os rótulos previstos
Experimente você mesmo
import numpy as np
np.set_printoptions(legacy='1.13')
class SimpleModel:
def __init__(self):
self.mode = {}
def fit(self, X, y):
# Escreva seu código aqui
def predict(self, X):
# Escreva seu código aqui
def train_and_predict(X_train, y_train, X_test):
model = SimpleModel()
# Ajuste o modelo com X_train e y_train
# Preveja os rótulos de X_test
# Retorne os rótulos previstosTodas as lições de Introdução ao aprendizado de máquina
Pratique por conta própria: Compilador de Python online