Menu
CoddyTech

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.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

challenge icon

Desafio

Fácil

Neste 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 fit conta para cada X o y mais frequente e armazena o resultado na variável self.mode
    Por exemplo, para o seguinte conjunto de dados:

    <strong>X</strong>ABAAB
    <strong>Y</strong>11011

    self.mode deve conter: {"A": 1, "B": 1}

  • O método predict recebe uma lista de X_test e retorna uma lista de mesmo comprimento. Cada valor na lista retornada é o y previsto correspondente a X, usando o self.mode aprendido na fase fit.
    por exemplo, se self.mode contiver {"A": 1, "B": 1}  e X_train for ['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 previstos

Todas as lições de Introdução ao aprendizado de máquina

Pratique por conta própria: Compilador de Python online