Klasyfikacja danych

Artykuł dotyczy klasyfikacji danych, która jest metodą eksploracji danych (ang. data mining) często realizowaną algorytmami inteligencji obliczeniowej. Przeznaczony jest dla osób początkujących, które nie mają jeszcze większego doświadczenia z inżynierią danych.

Klasyfikacja danych

Klasyfikacja danych to metoda, która umożliwia tworzenie klasyfikatorów. Klasyfikator to pewna funkcja (zazwyczaj w postaci algorytmu lub programu komputerowego), która przypisuje analizowane obiekty do jednej z rozpatrywanych klas.

Dokładniej: Zagadnienie klasyfikacji danych dotyczy pewnych obiektów opisywanych przez swoje cechy i należących do pewnych klas. Niech \(X\) oznacza analizowany obiekt. Jest on opisywany przez pewną liczbę ustalonych cech \(x_1, x_2, \ldots, x_d\), gdzie \(d\) jest liczbą rozpatrywanych cech. Dla uproszczenia mówi się, że obiekt jest opisywany przez wektor cech \(\mathbf{x} = (x_1, x_2, \ldots, x_d)\). Każdy z obiektów należy do jednej z pewnej liczby ustalonych klas \(C_1, C_2, \ldots, C_K\), gdzie \(K\) jest liczbą rozpatrywanych klas. Klasyfikacja danych polega na skonstruowaniu klasyfikatora, czyli funkcji, która na podstawie opisu obiektu oblicza jego klasę.

Zazwyczaj klasyfikator konstruuje się na podstawie pewnego zbioru danych uczących, zawierającego opisy i klasy pewnej liczby obiektów.

Klasyfikator K najbliższych sąsiadów (KNN)

Przykładem najprostszego klasyfikatora jest klasyfikator K najbliższych sąsiadów (ang. K Nearest Neighbors, KNN). Jest to funkcja, która dla rozpatrywanego obiektu, wyszukuje w zbiorze danych uczących K obiektów najbardziej do niego podobnych i zwraca etykietę tej klasy, do której należy większość z tych K obiektów.

Klasyfikacja danych wektorowych

Często spotykanym przypadkiem klasyfikacji danych jest klasyfikacja danych wektorowych. Obiekty są opisywane przez wektory liczb rzeczywistych \(\mathbf{x} = (x_1, x_2, \ldots, x_d) \in \mathbb{R}^d\). Wówczas prosty klasyfikator K najbliższych sąsiadów (KNN) polega na policzeniu odległości opisu rozpatrywanego obiektu \(\mathbf{x} = (x_1, x_2, \ldots, x_d) \in \mathbb{R}^d\) od opisów każdego obiektu ze zbioru danych uczących \(\mathbf{x}_1, \mathbf{x}_2, \ldots, \mathbf{x}_N\), gdzie \(\mathbf{x}_i = (x_{i1}, x_{i2}, \ldots, x_{id}) \in \mathbb{R}^d\) dla każdego \(i=1,2,\ldots,N\), czyli
\(d(\mathbf{x}, \mathbf{x}_i) = \sqrt{\sum_{j=1}^d (x_j – x_{ij})^2}\), a następnie na wybraniu K obiektów o najmniejszych odległościach od \(\mathbf{x}\).