Začněte nyníZačněte zdarma

Trénování lineárního modelu po dávkách

V tomto cvičení natrénujeme lineární regresní model po dávkách – navážeme na předchozí cvičení. Budeme postupně procházet datovou sadu po dávkách a po každém kroku aktualizovat proměnné modelu intercept a slope. Tento přístup umožňuje pracovat s datovými sadami, které jsou příliš velké na to, aby se vešly celé do paměti.

Ztrátová funkce loss_function(intercept, slope, targets, features) je již definovaná. Kromě toho je k dispozici importovaný keras a numpy pod zkratkou np. Trénované proměnné zadej do var_list ve stejném pořadí, v jakém se objevují jako argumenty ztrátové funkce.

Toto cvičení je součástí kurzu

Úvod do TensorFlow v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Použij optimalizátor .Adam().
  • Načti data ze souboru 'kc_house_data.csv' po dávkách s hodnotou chunksize nastavenou na 100.
  • Extrahuj sloupec price z proměnné batch, převeď ho na numpy pole typu 32bitový float a výsledek ulož do price_batch.
  • Dokonči ztrátovou funkci, doplň seznam trénovaných proměnných a proveď minimalizaci.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Initialize Adam optimizer
opt = keras.optimizers.____

# Load data in batches
for batch in pd.read_csv('____', ____=____):
	size_batch = np.array(batch['sqft_lot'], np.float32)

	# Extract the price values for the current batch
	price_batch = np.array(batch['____'], np.____)

	# Complete the loss, fill in the variable list, and minimize
	opt.minimize(lambda: loss_function(____, slope, price_batch, size_batch), var_list=[intercept, ____])

# Print trained parameters
print(intercept.numpy(), slope.numpy())
Upravit a spustit kód