Menu
CoddyTech

Avaliar um modelo

Parte da seção Aprendizado supervisionado do Journey de Machine Learning da Coddy. Lição 4 de 58.

Um modelo é bom? Sua acurácia, a proporção de linhas de teste que ele acerta, diz. Compare-a com um palpite simplista:

Duas barras de acurácia em 50 empréstimos de teste: sempre adivinhar que serão pagos em dia alcança 0.78, o modelo k-NN alcança 0.88

78% dos empréstimos de teste desta biblioteca foram devolvidos no prazo, então responder “no prazo” todas as vezes resulta em 0.78. Essa é a linha de base.

from sklearn.metrics import accuracy_score

pred = model.predict(X_test)
print(accuracy_score(y_test, pred))
print(model.score(X_test, y_test))
common = y_train.value_counts().index[0]
print((y_test == common).mean())

Isso imprime 0.88, 0.88, 0.78. score prevê e conta em uma única chamada; a linha de base sempre responde com o rótulo mais comum do conjunto de treinamento.

Um modelo só merece seu lugar se superar o modelo de referência.

challenge icon

Desafio

Fácil

Os sensores de uma apicultora monitoram 160 colmeias em hives.csv; swarm indica se cada colmeia enxameou. Um sensor pode alertá-la? O código inicial lê o nome de um sensor e ajusta um modelo usando apenas esse sensor.

  1. Imprima a acurácia de teste, arredondada para 3 casas decimais.
  2. Imprima a linha de base, indicando o rótulo que ela sempre prevê.
  3. Imprima se o modelo supera essa linha de base.

Para outro apiário e weight_change_kg:

Model on weight_change_kg: 0.775
Always "no": 0.7
Beats the baseline: yes

Experimente você mesmo

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

# Uma linha por colmeia: seus sensores e se ela enxameou
hives = pd.read_csv("hives.csv")
sensor = input()
X = hives[[sensor]]
y = hives["swarm"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
model = KNeighborsClassifier()
model.fit(X_train, y_train)

# Escreva seu código abaixo
quiz iconTeste seus conhecimentos

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

Todas as lições de Aprendizado supervisionado

Pratique por conta própria: Compilador de Python online