Depois do salto, a subida exige inteligência — não só força.
Aqui você recore ao cérebro artificial para tomar decisões
melhores a cada pedalada.
4.1 — O Problema que a IA Resolve
Treinar 100 pilotos manualmente é inviável. Mas se tivermos os dados históricos
de 6 corridas — peso, velocidade, inclinação, resultado — podemos ensinar
uma máquina a decidir.
📊 Dados de treino do Circuito Ferradura
Features (entradas): [velocidade, peso, inclinação_rampa]
Label (saída): 0 = BURACO, 1 = QUASE, 2 = VOOU, 3 = LENDÁRIO
X_treino = [
[4.5, 65, 15],
[7.0, 70, 20],
[9.5, 60, 25],
[11.0, 55, 30],
[3.0, 80, 10],
[8.5, 63, 22],
[6.5, 72, 18],
[12.0, 58, 35],
]
y_treino = [0, 1, 2, 3, 0, 2, 1, 3]
CLASSES = ["BURACO", "QUASE", "VOOU", "LENDÁRIO"]
4.2 — Treinando o Modelo
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
modelo = DecisionTreeClassifier(max_depth=4, random_state=42)
modelo.fit(X_treino, y_treino)
novo_piloto = [[8.0, 67, 21]]
predicao = modelo.predict(novo_piloto)
print(f"Resultado previsto: {CLASSES[predicao[0]]}")
Resultado previsto: VOOU
precisao = accuracy_score(y_treino, modelo.predict(X_treino))
print(f"Acurácia: {precisao:.0%}")
Acurácia: 100%
4.3 — Bot Inteligente de Corrida
Com o modelo treinado, criamos um bot que analisa as condições da pista
em tempo real e sugere a velocidade ideal para o salto.
class BotFerradura:
def __init__(self, modelo, classes):
self.modelo = modelo
self.classes = classes
def analisar(self, velocidade: float, peso: float, inclinacao: float) -> str:
entrada = [[velocidade, peso, inclinacao]]
codigo = self.modelo.predict(entrada)[0]
resultado = self.classes[codigo]
if codigo == 0:
dica = "⚠️ Aumente a velocidade! Risco de buraco."
elif codigo == 3:
dica = "🏆 Velocidade lendária! Segure o guidão."
else:
dica = f"✅ Resultado previsto: {resultado}"
return dica
bot = BotFerradura(modelo, CLASSES)
print(bot.analisar(9.0, 65, 25))
✅ Resultado previsto: VOOU