NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

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.

Koupit tento kurz

Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za pouhých 475 Kč
Aktuální stav konta 0 Kč
Koupí tohoto balíčku získáš přístup ke všem 22 článkům (22 lekcí) tohoto kurzu.

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íš se smluvními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • Neomezený a trvalý přístup k jednotlivým lekcím.
  • 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.

Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

Č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