{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Uczenie maszynowe\n", "# 8. Uczenie nienadzorowane" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "Wyobraźmy sobie, że mamy następujący problem:\n", "\n", "Mamy zbiór okazów roślin i dysponujemy pewnymi danymi na ich temat (długość płatków kwiatów, ich szerokość itp.), ale zupełnie **nie wiemy**, do jakich gatunków one należą (nie wiemy nawet, ile jest tych gatunków).\n", "\n", "Chcemy automatycznie podzielić zbiór posiadanych okazów na nie więcej niż $k$ grup (klastrów) ($k$ ustalamy z góry), czyli dokonać **grupowania (klastrowania)** zbioru przykładów.\n", "\n", "Jest to zagadnienie z kategorii uczenia nienadzorowanego.\n", "\n", "W celu jego rozwiązania użyjemy algorytmu $k$ średnich." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## 8.1. Algorytm $k$ średnich" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "# Przydatne importy\n", "\n", "import ipywidgets as widgets\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas\n", "import random\n", "import seaborn\n", "\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "# Wczytanie danych (gatunki kosaćców)\n", "\n", "data_iris_raw = pandas.read_csv('iris.csv')\n", "data_iris = pandas.DataFrame()\n", "data_iris['x1'] = data_iris_raw['sl']\n", "data_iris['x2'] = data_iris_raw['sw']\n", "data_iris['x3'] = data_iris_raw['pl']\n", "data_iris['x4'] = data_iris_raw['sw']\n", "\n", "# Nie używamy w ogóle kolumny ostatniej kolumny (\"Gatunek\"), \n", "# ponieważ chcemy dokonać uczenia nienadzorowanego.\n", "# Przyjmujemy, że w ogóle nie dysponujemy danymi na temat gatunku,\n", "# mamy tylko 150 nieznanych roślin.\n", "\n", "X = data_iris.values\n", "Xs = data_iris.values[:, 2:4]" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "# Wykres danych\n", "def plot_unlabeled_data(X, col1=0, col2=1, x1label=r'$x_1$', x2label=r'$x_2$'): \n", " fig = plt.figure(figsize=(16*.7, 9*.7))\n", " ax = fig.add_subplot(111)\n", " fig.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9)\n", " X1 = X[:, col1].tolist()\n", " X2 = X[:, col2].tolist()\n", " ax.scatter(X1, X2, c='k', marker='o', s=50, label='Dane')\n", " ax.set_xlabel(x1label)\n", " ax.set_ylabel(x2label)\n", " ax.margins(.05, .05)\n", " return fig" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "# Przygotowanie interaktywnego wykresu\n", "\n", "dropdown_arg1 = widgets.Dropdown(options=[0, 1, 2, 3], value=2, description='arg1')\n", "dropdown_arg2 = widgets.Dropdown(options=[0, 1, 2, 3], value=3, description='arg2')\n", "\n", "def interactive_unlabeled_data(arg1, arg2):\n", " fig = plot_unlabeled_data(\n", " X, col1=arg1, col2=arg2, x1label='$x_{}$'.format(arg1), x2label='$x_{}$'.format(arg2))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": true, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "fff79223f9b24b198bd1ae328be8cb5f", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(Dropdown(description='arg1', index=2, options=(0, 1, 2, 3), value=2), Dropdown(descripti…" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "widgets.interact(interactive_unlabeled_data, arg1=dropdown_arg1, arg2=dropdown_arg2)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "Powyższy wykres przedstawia surowe dane.\n", "Ponieważ nasze obserwacje mają 4 współrzędne, na płaskim wykresie możemy przedstawić tylko dwie z nich.\n", "\n", "Dlatego powyższy wykres umożliwia wybór dwóch współrzędnych, na które chcemy rzutować.\n", "\n", "Wszystkie takie „rzuty” przedstawia również wykres poniżej." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/pawel/.local/lib/python3.10/site-packages/seaborn/axisgrid.py:2095: UserWarning: The `size` parameter has been renamed to `height`; please update your code.\n", " warnings.warn(msg, UserWarning)\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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IpjNZs7jzRDsa6TxGJaXj9c+YnguJR/rdvLlXZ+X5jsbyO/3/9u//Zt/4MCBfp1O5z/rrLP8//Zv/+ZvaWlJd7OS5s033/SPHj3aX1hY6K+pqfE///zz6W5SUr399tt+AP5PP/003U1JKpvN5r/99tv9FRUVfr1e7//ud7/rv/fee/0ulysp2wMg+t/69euTsr181NDQ4B86dKhfp9P5+/Xr57/00kv9//d//5fuZuW8Cy+80H/77benuxl0Gvua2PEYjpRv1z5ieC4lH+t2euRyn6fy+/3+FI9PEBEREREREVEGK5BfhIiIiIiIiIjyCQcLiIiIiIiIiEiAgwVEREREREREJMDBAiIiIiIiIiIS4GABEREREREREQlwsICIiIiIiIiIBDhYQEREREREREQCHCwgIiIiIiIiIgEOFhARERERERGRAAcLKCMdP34c119/Pc455xwUFBTgjjvuSHeTiCgBXnvtNVx22WXo168fTCYTLrjgArz99tvpbhYR9VJjYyPq6upgNpthMBhQU1OD//7v/053s4gogXbs2AGNRoPx48enuymUIhwsoIzkcrnQr18/LFmyBOPGjUt3c4goQbZt24bLLrsMf/7zn/Hxxx/j4osvxpVXXommpqZ0N42IeqGoqAgLFy7Etm3bcODAASxZsgRLlizB888/n+6mEVECnDp1CjfddBMuvfTSdDeFUoiDBZQW33zzDb7zne9g1apVwdf+/ve/Q6fT4W9/+xuGDRuGX/3qV7jppptQWlqaxpYSUSzkzu3HH38cd911FyZNmoTq6mqsWrUK1dXVePPNN9PYaiKSI3du19bWYtasWRg1ahSGDRuGG264AT/84Q+xffv2NLaaiOTIndsBv/jFL3D99dfjggsuSEczKU04WEBp0a9fP6xbtw7Lly/Hrl270NHRgRtvvBELFy7kiCVRFov13Pb5fOjo6EDfvn3T0FoiUirWc7upqQl///vfceGFF6ahtUSklJJze/369fj888+xbNmyNLeWUk2T7gZQ/rr88svxs5/9DLNnz8bEiRNRVFSE1atXp7tZRNRLsZzbjz76KOx2O6677roUt5KIYqXk3B48eDC++eYbeL1eLF++HDfffHOaWktESkmd24cOHcI999yD7du3Q6Phn475hp84pdWjjz6K0aNH449//CM+/vhjFBYWprtJRJQASs7tjRs3YsWKFXj99dfRv3//NLSSiGIld25v374ddrsdH3zwAe655x5UVVVh1qxZaWotESkldm53d3fj+uuvx4oVK3DOOeeku4mUBpyGQGl1+PBhHDt2DD6fD1988UW6m0NECSJ3br/88su4+eab8Yc//AHf//73U99AIoqL3LldWVmJMWPG4Gc/+xl++ctfYvny5SlvIxHFTuzc7ujowK5du7Bw4UJoNBpoNBrcf//9+Oc//wmNRoN33303vY2mpOOdBZQ2brcbN9xwA/7t3/4Nw4cPx80334zm5mZ+w0iU5eTO7ZdeegkNDQ14+eWXccUVV6S5tUSkVKx12+fzweVypbiVRBSraOd2eXk5mpubBcs+88wzePfdd/HKK6+gsrIyTS2mVOFgAaXNvffeC6vViieeeALFxcX485//jIaGBmzZsgUAsGfPHgCA3W7HN998gz179kCn02HkyJFpbDURyZE6tzdu3Ig5c+bgV7/6Fc477zx8/fXXAACDwcAnnxBlOKlz++mnn0ZFRQVqamoA9Dwm9dFHH8Vtt92W5lYTkRypc3v06NGCZfv37w+9Xh/xOuUmld/v96e7EZR/tm7dissuuwzvvfce6uvrAQBffPEFxo0bhzVr1uA//uM/oFKpIn5v6NChnK5AlMHkzu3f//73eP/99yN+b86cOdiwYUOKW0tESsmd216vF8899xyOHDkCjUaDs88+Gz/72c/w7//+7ygo4KxXokyl5Jo81PLly7F58+bgl3qU2zhYQEREREREREQCHOolIiIiIiIiIgEOFhARERERERGRAAcLiIiIiIiIiEiAgwVEREREREREJMDBAiIiIiIiIiIS4GABEREREREREQlwsICIiIiIiIiIBDhYQEREREREREQCHCwgIiIiIiIiIgEOFhARERERERGRAAcLiIiIiIiIiEjg/wd1KYteUpuTHAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "seaborn.pairplot(data_iris, vars=data_iris.columns, size=1.5, aspect=1.75)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "# Odległość euklidesowa\n", "def euclidean_distance(x1, x2):\n", " return np.linalg.norm(x1 - x2)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "# Algorytm k średnich\n", "def k_means(X, k, distance=euclidean_distance):\n", " history = []\n", " Y = []\n", " \n", " # Wylosuj centroid dla każdej klasy\n", " centroids = [[random.uniform(X.min(axis=0)[f], X.max(axis=0)[f])\n", " for f in range(X.shape[1])]\n", " for c in range(k)]\n", " history.append((centroids, Y))\n", "\n", " # Powtarzaj, dopóki klasy się zmieniają\n", " while True:\n", " distances = [[distance(centroids[c], x) for c in range(k)] for x in X]\n", " Y_new = [d.index(min(d)) for d in distances]\n", " if Y_new == Y:\n", " break\n", " Y = Y_new\n", " history.append((centroids, Y))\n", " XY = np.asarray(np.concatenate((X, np.matrix(Y).T), axis=1))\n", " Xc = [XY[XY[:, 2] == c][:, :-1] for c in range(k)]\n", " centroids = [[Xc[c].mean(axis=0)[f] for f in range(X.shape[1])]\n", " for c in range(k)]\n", " history.append((centroids, Y))\n", "\n", " result = history[-1][1]\n", " return result, history" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "# Wykres danych - klastrowanie\n", "def plot_clusters(X, Y, k, centroids=None):\n", " color = ['r', 'g', 'b', 'c', 'm', 'y', 'k']\n", " fig = plt.figure(figsize=(16*.7, 9*.7))\n", " ax = fig.add_subplot(111)\n", " fig.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9)\n", "\n", " if not Y:\n", " ax.scatter(X[:, 0], X[:, 1], c='gray', marker='o', s=25, label='Dane')\n", "\n", " X1 = [[x for x, y in zip(X[:, 0].tolist(), Y) if y == c] for c in range(k)]\n", " X2 = [[x for x, y in zip(X[:, 1].tolist(), Y) if y == c] for c in range(k)]\n", "\n", " for c in range(k):\n", " ax.scatter(X1[c], X2[c], c=color[c], marker='o', s=25, label='Dane')\n", " if centroids:\n", " ax.scatter([centroids[c][0]], [centroids[c][1]], c=color[c], marker='+', s=500, label='Centroid')\n", " \n", " ax.set_xlabel(r'$x_1$')\n", " ax.set_ylabel(r'$x_2$')\n", " ax.margins(.05, .05)\n", " return fig" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Ys, history = k_means(Xs, 2)\n", "fig = plot_clusters(Xs, Ys, 2, centroids=history[-1][0])," ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "# Przygotowanie interaktywnego wykresu\n", "\n", "MAXSTEPS = 15\n", "\n", "slider_k = widgets.IntSlider(min=1, max=7, step=1, value=2, description=r'$k$', width=300)\n", "\n", "def interactive_kmeans_k(steps, history, k):\n", " if steps >= len(history) or steps == MAXSTEPS:\n", " steps = len(history) - 1\n", " fig = plot_clusters(Xs, history[steps][1], k, centroids=history[steps][0])\n", " \n", "def interactive_kmeans(k):\n", " slider_steps = widgets.IntSlider(min=0, max=MAXSTEPS, step=1, value=0, description=r'steps', width=300)\n", " _, history = k_means(Xs, k)\n", " widgets.interact(interactive_kmeans_k, steps=slider_steps,\n", " history=widgets.fixed(history), k=widgets.fixed(k))" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "792bfa09b0d14970ad900188eb04aba6", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(IntSlider(value=2, description='$k$', max=7, min=1), Button(description='Run Interact', …" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "widgets.interact_manual(interactive_kmeans, k=slider_k) " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Algorytm $k$ średnich – dane wejściowe\n", "\n", "* $k$ – liczba klastrów\n", "* zbiór uczący $X = \\{ x^{(1)}, x^{(2)}, \\ldots, x^{(m)} \\}$, $x^{(i)} \\in \\mathbb{R}^n$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Na wejściu nie ma zbioru $Y$, ponieważ jest to uczenie nienadzorowane!" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Algorytm $k$ średnich – pseudokod\n", "\n", "1. Zainicjalizuj losowo $k$ centroidów (środków ciężkości klastrów): $\\mu_1, \\ldots, \\mu_k$.\n", "1. Powtarzaj dopóki przyporządkowania klastrów się zmieniają:\n", " 1. Dla $i = 1$ do $m$:\n", " za $y^{(i)}$ przyjmij klasę najbliższego centroidu.\n", " 1. Dla $c = 1$ do $k$:\n", " za $\\mu_c$ przyjmij średnią wszystkich punktów $x^{(i)}$ takich, że $y^{(i)} = c$." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "# Algorytm k średnich\n", "def kmeans(X, k, distance=euclidean_distance):\n", " Y = []\n", " centroids = [[random.uniform(X.min(axis=0)[f],X.max(axis=0)[f])\n", " for f in range(X.shape[1])]\n", " for c in range(k)] # Wylosuj centroidy\n", " while True:\n", " distances = [[distance(centroids[c], x) for c in range(k)]\n", " for x in X] # Oblicz odległości\n", " Y_new = [d.index(min(d)) for d in distances]\n", " if Y_new == Y:\n", " break # Jeśli nic się nie zmienia, przerwij\n", " Y = Y_new\n", " XY = np.asarray(np.concatenate((X,np.matrix(Y).T),axis=1))\n", " Xc = [XY[XY[:, 2] == c][:, :-1] for c in range(k)]\n", " centroids = [[Xc[c].mean(axis=0)[f]\n", " for f in range(X.shape[1])]\n", " for c in range(k)] # Przesuń centroidy\n", " return Y" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "* Liczba klastrów jest określona z góry i wynosi $k$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Jeżeli w którymś kroku algorytmu jedna z klas nie zostanie przyporządkowana żadnemu z przykładów, pomija się ją – w ten sposób wynikiem działania algorytmu może być mniej niż $k$ klastrów." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Funkcja kosztu dla problemu klastrowania\n", "\n", "$$ J \\left( y^{(i)}, \\ldots, y^{(m)}, \\mu_{1}, \\ldots, \\mu_{k} \\right) = \\frac{1}{m} \\sum_{i=1}^{m} || x^{(i)} - \\mu_{y^{(i)}} || ^2 $$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Zauważmy, że z każdym krokiem algorytmu $k$ średnich koszt się zmniejsza (lub ewentualnie pozostaje taki sam)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Wielokrotna inicjalizacja\n", "\n", "* Algorytm $k$ średnich zawsze znajdzie lokalne minimum funkcji kosztu $J$, ale nie zawsze będzie to globalne minimum." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Aby temu zaradzić, można uruchomić algorytm $k$ średnich wiele razy, za każdym razem z innym losowym położeniem centroidów (tzw. **wielokrotna losowa inicjalizacja** – *multiple random initialization*). Za każdym razem obliczamy koszt $J$. Wybieramy ten wynik, który ma najniższy koszt." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Wybór liczby klastrów $k$\n", "\n", "Ile powinna wynosić liczba grup $k$?\n", "* Najlepiej wybrać $k$ ręcznie w zależności od kształtu danych i celu, który chcemy osiągnąć." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## 8.2. Analiza głównych składowych" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "Analiza głównych składowych to inny przykład zagadnienia z dziedziny uczenia nienadzorowanego.\n", "\n", "Polega na próbie zredukowania liczby wymiarów dla danych wielowymiarowych, czyli zmniejszenia liczby cech, gdy rozpatrujemy przykłady o dużej liczbie cech." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Redukcja liczby wymiarów\n", "\n", "Z jakich powodów chcemy redukować liczbę wymiarów?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Chcemy pozbyć się nadmiarowych cech, np. „długość w cm” / „długość w calach”, „długość” i „szerokość” / „powierzchnia”." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Chcemy znaleźć bardziej optymalną kombinację cech." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Chcemy przyspieszyć działanie algorytmów." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "* Chcemy zwizualizować dane." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Błąd rzutowania\n", "\n", "**Błąd rzutowania** – błąd średniokwadratowy pomiędzy danymi oryginalnymi a danymi zrzutowanymi." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Sformułowanie problemu\n", "\n", "**Analiza głównych składowych** (*Principal Component Analysis*, PCA):\n", "\n", "Zredukować liczbę wymiarów z $n$ do $k$, czyli znaleźć $k$ wektorów $u^{(1)}, u^{(2)}, \\ldots, u^{(k)}$ takich, że rzutowanie danych na podprzestrzeń rozpiętą na tych wektorach minimalizuje błąd rzutowania." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "* **Uwaga:** analiza głównych składowych to (mimo pozornych podobieństw) zupełnie inne zagadnienie niż regresja liniowa!" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Algorytm PCA\n", "\n", "1. Dany jest zbiór składający się z $x^{(1)}, x^{(2)}, \\ldots, x^{(m)} \\in \\mathbb{R}^n$.\n", "1. Chcemy zredukować liczbę wymiarów z $n$ do $k$ ($k < n$).\n", "1. W ramach wstępnego przetwarzania dokonujemy skalowania i normalizacji średniej.\n", "1. Znajdujemy macierz kowariancji:\n", " $$ \\Sigma = \\frac{1}{m} \\sum_{i=1}^{n} \\left( x^{(i)} \\right) \\left( x^{(i)} \\right)^T $$\n", "1. Znajdujemy wektory własne macierzy $\\Sigma$ (rozkład SVD):\n", " $$ (U, S, V) := \\mathop{\\rm SVD}(\\Sigma) $$\n", "1. Pierwszych $k$ kolumn macierzy $U$ to szukane wektory." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "from sklearn.preprocessing import StandardScaler\n", "\n", "# Algorytm PCA - implementacja\n", "def pca(X, k):\n", " X_std = StandardScaler().fit_transform(X) # normalizacja\n", " mean_vec = np.mean(X_std, axis=0)\n", " cov_mat = np.cov(X_std.T) # macierz kowariancji\n", " n = cov_mat.shape[0]\n", " eig_vals, eig_vecs = np.linalg.eig(cov_mat) # wektory własne\n", " eig_pairs = [(np.abs(eig_vals[i]), eig_vecs[:, i])\n", " for i in range(len(eig_vals))]\n", " eig_pairs.sort()\n", " eig_pairs.reverse()\n", " matrix_w = np.hstack([eig_pairs[i][1].reshape(n, 1)\n", " for i in range(k)]) # wybór\n", " return X_std.dot(matrix_w) # transformacja" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# X - dane ze zbioru \"iris\" z poprzedniego przykładu\n", "\n", "X_pca = pca(X, 2)\n", "fig = plot_unlabeled_data(X_pca)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "Analiza głównych składowych umożliwiła stworzenie powyższego wykresu, który wizualizuje 4-wymiarowe dane ze zbioru *iris* na 2-wymiarowej płaszczyźnie.\n", "\n", "Współrzędne $x_1$ i $x_2$, stanowiące osi wykresu, zostały uzyskane w wyniku działania algorytmu PCA (nie są to żadne z oryginalnych cech ze zbioru *iris* – długość płatka, szerokość płatka itp.)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Tutaj można zobaczyć, jak algorytmy redukcji wymiarów (w tym PCA) działają w praktyce:\n", " * https://projector.tensorflow.org\n", " * https://biit.cs.ut.ee/clustvis\n", " * https://labriata.github.io/jsinscience/pca/index.html" ] } ], "metadata": { "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" }, "livereveal": { "start_slideshow_at": "selected", "theme": "white" } }, "nbformat": 4, "nbformat_minor": 4 }