Luokittelu: erota pisteytys päätöksestä
Luokittelu (classification) ennustaa kategorian: roskapostia vai tavallista postia, kuvan luokan tai useita dokumentin tunnisteita. Malli tuottaa usein ensin pisteytyksen tai todennäköisyydet, joista päätössääntö muodostaa luokat.
Nämä ovat erillisiä vaiheita. Koulutus muuttaa pisteytysfunktiota. Päätöskynnyksen siirto muuttaa tapaa käyttää sen nykyisiä tuloksia.
Sovita kerran, valitse kynnys kahdesti
Scikit-learn-esimerkki sovittaa pienen logistisen luokittimen kahden piirteen havaintoihin ja käyttää sitten kahta päätössääntöä uusille pisteille. Asenna scikit-learn ja numpy.
import numpy as np
from sklearn.linear_model import LogisticRegression
features = np.array([[-2, -1], [-1, -2], [-1, 0], [1, 0], [1, 2], [2, 1]])
labels = [0, 0, 0, 1, 1, 1]
model = LogisticRegression().fit(features, labels)
probabilities = model.predict_proba([[0.1, 0.1], [2, 2]])[:, 1]
decisions = {t: probabilities >= t for t in (0.5, 0.8)}
Todennäköisyydet pysyvät samoina, vaikka päätökset voivat muuttua. Kynnys 0,8 edellyttää vahvempaa näyttöä positiivisen luokan valintaan; mallia ei kouluteta uudelleen.
Moniluokkainen luokittelu valitsee toisensa poissulkevista vaihtoehdoista. Monitunnisteinen luokittelu voi valita monta tunnistetta samanaikaisesti. Poissulkevien luokkien softmax ja riippumattomat sigmoid-ulostulot kuvaavat siksi eri ongelmia, vaikka molemmat palauttavat lukuvektorin.