{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "3NwHunx5EjGp" }, "source": [ "# 5장 - 차원 축소를 사용한 데이터 압축" ] }, { "cell_type": "markdown", "metadata": { "id": "1_84RVKeEjGl" }, "source": [ "# 머신 러닝 교과서 3판" ] }, { "cell_type": "markdown", "metadata": { "id": "vUWZwyuKEjGp" }, "source": [ "**아래 링크를 통해 이 노트북을 주피터 노트북 뷰어(nbviewer.jupyter.org)로 보거나 구글 코랩(colab.research.google.com)에서 실행할 수 있습니다.**\n", "\n", "
\n",
" 주피터 노트북 뷰어로 보기\n",
" | \n",
" \n",
" 구글 코랩(Colab)에서 실행하기\n",
" | \n",
"
| \n", " | Class label | \n", "Alcohol | \n", "Malic acid | \n", "Ash | \n", "Alcalinity of ash | \n", "Magnesium | \n", "Total phenols | \n", "Flavanoids | \n", "Nonflavanoid phenols | \n", "Proanthocyanins | \n", "Color intensity | \n", "Hue | \n", "OD280/OD315 of diluted wines | \n", "Proline | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "1 | \n", "14.23 | \n", "1.71 | \n", "2.43 | \n", "15.6 | \n", "127 | \n", "2.80 | \n", "3.06 | \n", "0.28 | \n", "2.29 | \n", "5.64 | \n", "1.04 | \n", "3.92 | \n", "1065 | \n", "
| 1 | \n", "1 | \n", "13.20 | \n", "1.78 | \n", "2.14 | \n", "11.2 | \n", "100 | \n", "2.65 | \n", "2.76 | \n", "0.26 | \n", "1.28 | \n", "4.38 | \n", "1.05 | \n", "3.40 | \n", "1050 | \n", "
| 2 | \n", "1 | \n", "13.16 | \n", "2.36 | \n", "2.67 | \n", "18.6 | \n", "101 | \n", "2.80 | \n", "3.24 | \n", "0.30 | \n", "2.81 | \n", "5.68 | \n", "1.03 | \n", "3.17 | \n", "1185 | \n", "
| 3 | \n", "1 | \n", "14.37 | \n", "1.95 | \n", "2.50 | \n", "16.8 | \n", "113 | \n", "3.85 | \n", "3.49 | \n", "0.24 | \n", "2.18 | \n", "7.80 | \n", "0.86 | \n", "3.45 | \n", "1480 | \n", "
| 4 | \n", "1 | \n", "13.24 | \n", "2.59 | \n", "2.87 | \n", "21.0 | \n", "118 | \n", "2.80 | \n", "2.69 | \n", "0.39 | \n", "1.82 | \n", "4.32 | \n", "1.04 | \n", "2.93 | \n", "735 | \n", "
>>> eigen_vals, eigen_vecs = np.linalg.eig(cov_mat)\n", "\n", "이것이 잘못된 것은 아니지만 최적은 아닙니다. [에르미트(Hermetian) 행렬](https://en.wikipedia.org/wiki/Hermitian_matrix)를 위해서 설계된 [`numpy.linalg.eigh`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.eigh.html)를 사용하는 것이 더 좋습니다. 이 함수는 항상 실수 고윳값을 반환합니다. 수치적으로 약간 덜 안정적인 `np.linalg.eig`는 비대칭 정방행렬을 분해할 수 있지만 어떤 경우에 복소수 고윳값을 반환할 수 있습니다." ] }, { "cell_type": "markdown", "metadata": { "id": "v5uHAyy7EjGu" }, "source": [ "
LinearDiscriminantAnalysis(solver='eigen')In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
LinearDiscriminantAnalysis(solver='eigen')