Vytvoříme jednoduchý model strojového učení, který předpovídá dojezd elektromobilu na základě okolní teploty. Předpokládejme, že máme k dispozici trénovací data, kde každý záznam obsahuje okolní teplotu a odpovídající dojezd elektromobilu.
Pro tuto ukázkovou simulaci vytvoříme umělá trénovací data, která budou demonstrovat lineární závislost mezi teplotou a dojezdem – tedy s rostoucí teplotou bude rostoucí i dojezd.
Použijeme jednoduchý lineární regresní model pomocí TensorFlow a Keras.
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
# Vytvoření umělých trénovacích dat
temperatures = np.linspace(-20, 40, 100) # teploty od -20 do 40 stupňů
ranges = temperatures * 3 + 100 # předpokládaný dojezd elektromobilu
# Přidání náhodného šumu do dat
ranges += np.random.normal(0, 10, ranges.shape)
# Definice a kompilace modelu
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(1, input_shape=(1,)))
model.compile(optimizer='adam', loss='mse')
# Trénování modelu
model.fit(temperatures, ranges, epochs=50)
# Predikce dojezdu pro teplotu 20 stupňů
predicted_range = model.predict([20])
print(f'Předpovězený dojezd pro teplotu 20 stupňů: {predicted_range}')
# Vizualizace dat a předpovědí modelu
plt.scatter(temperatures, ranges, label='Trénovací data')
plt.plot(temperatures, model.predict(temperatures), 'r-', label='Předpověď modelu')
plt.xlabel('Teplota (°C)')
plt.ylabel('Dojezd (km)')
plt.legend()
plt.show()
Tento kód vytvoří lineární regresní model, který se snaží najít nejlepší způsob, jak popsat vztah mezi teplotou a dojezdem. Poté, co je model natrénovaný, můžeme ho použít k předpovědi dojezdu pro zadanou teplotu.
Zde je ukázka výstupu našeho vzorového příkladu:
Shrnutí: Tento program demonstruje, jak lze pomocí metody strojového učení nazvané lineární regrese předpovědět dojezd elektromobilu na základě okolní teploty. Program vytváří umělá trénovací data, která demonstrují lineární závislost mezi teplotou a dojezdem – s rostoucí teplotou roste i dojezd. Trénovací data jsou poté použita k natrénování modelu lineární regrese, který je implementován pomocí knihovny TensorFlow.
Model lineární regrese je jednoduchý typ prediktivního statistického modelu, který se snaží popsat vztah mezi dvěma proměnnými lineární funkcí. V tomto případě model popisuje vztah mezi okolní teplotou (nezávislou proměnnou) a dojezdem elektromobilu (závislou proměnnou).
Po natrénování modelu je možné ho použít k předpovědi dojezdu pro zadanou teplotu. Program také vizualizuje trénovací data a předpovědi modelu na grafu. Tímto způsobem může uživatel snadno zjistit, jak dobře model předpovídá dojezd na základě teploty.
Tento příklad je základním ukazatelem možností strojového učení v praxi a lze jej dále rozšířit o další proměnné, například stav baterie nebo rychlost jízdy, které by mohly také ovlivnit dojezd elektromobilu.