NOVINKA: Kurz kybernetické bezpečnosti s akreditací MŠMT, nyní již od 0 Kč. Staň se žádaným profesionálem. Zjisti více:
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Lekce 17 - Neuronové sítě – Klasifikace do více tříd

V minulé lekci, Neuronové sítě - Dokončení křížové entropie, jsme hlouběji rozebrali téma křížové entropie - variantu "multi-class" a seznámili se s "negative log-likelihood".

V této lekci tutoriálu Neuronové sítě - Pokročilé se budeme zabývat klasifikací do více tříd. Naším cílem je mít konečně model, který dokáže rozlišit všechna čísla z datové sady MNIST (nebudeme se tedy dále zabývat pouze čtyřkou a devítkou). Správným způsobem řešení tohoto problému je použití funkce softmax(). Postupně si ukážeme různé přístupy a následně je porovnáme. Tato lekce bude o přístupu one-vs-one.

Nejprve importy:

import numpy as np
import matplotlib.pyplot as plt
import sklearn.preprocessing, sklearn.datasets, sklearn.model_selection

Pro začátek potřebujeme data. Šablona je stále stejná:

data, target = sklearn.datasets.fetch_openml('mnist_784', version=1, return_X_y=True, as_frame=False)
target = target.astype(int)
data = data.reshape(-1, 784)
data[data < 128] = 0
data[data > 0] = 1
data = np.hstack([data, np.ones((data.shape[0],1))])
train_data, test_data, train_target, test_target = sklearn.model_selection.train_test_split(data, target.astype(int), test_size=0.3, random_state=47)

 

...konec náhledu článku...
Pokračuj dál

Znalosti v hodnotě stovek tisíc získáš za pár korun

Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.

Před koupí tohoto článku je třeba koupit předchozí díl

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš s Provozními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • Přístup k jednotlivým lekcím dle způsobu pořízení.
  • Kvalitní znalosti v oblasti IT.
  • Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.

Popis článku

Požadovaný článek má následující obsah:

V tomto tutoriálu Pythonu pro pokročilé se budeme zabývat klasifikací do více tříd a probereme přístup one-vs-one.
Článek pro vás napsal Patrik Valkovič
Avatar
Věnuji se programování v C++ a C#. Kromě toho také programuji v PHP (Nette) a JavaScriptu (NodeJS).
Aktivity