{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "AALab3_2021.ipynb", "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" } }, "cells": [ { "cell_type": "code", "metadata": { "id": "nx9hT2MFxQ7D" }, "source": [ "from sklearn import datasets\r\n", "iris = datasets.load_iris() " ], "execution_count": 1, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "_CsV-gHUd8Ly", "outputId": "736326f2-45dc-4509-a125-300c9e035313" }, "source": [ "print(iris.DESCR)" ], "execution_count": 3, "outputs": [ { "output_type": "stream", "text": [ ".. _iris_dataset:\n", "\n", "Iris plants dataset\n", "--------------------\n", "\n", "**Data Set Characteristics:**\n", "\n", " :Number of Instances: 150 (50 in each of three classes)\n", " :Number of Attributes: 4 numeric, predictive attributes and the class\n", " :Attribute Information:\n", " - sepal length in cm\n", " - sepal width in cm\n", " - petal length in cm\n", " - petal width in cm\n", " - class:\n", " - Iris-Setosa\n", " - Iris-Versicolour\n", " - Iris-Virginica\n", " \n", " :Summary Statistics:\n", "\n", " ============== ==== ==== ======= ===== ====================\n", " Min Max Mean SD Class Correlation\n", " ============== ==== ==== ======= ===== ====================\n", " sepal length: 4.3 7.9 5.84 0.83 0.7826\n", " sepal width: 2.0 4.4 3.05 0.43 -0.4194\n", " petal length: 1.0 6.9 3.76 1.76 0.9490 (high!)\n", " petal width: 0.1 2.5 1.20 0.76 0.9565 (high!)\n", " ============== ==== ==== ======= ===== ====================\n", "\n", " :Missing Attribute Values: None\n", " :Class Distribution: 33.3% for each of 3 classes.\n", " :Creator: R.A. Fisher\n", " :Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)\n", " :Date: July, 1988\n", "\n", "The famous Iris database, first used by Sir R.A. Fisher. The dataset is taken\n", "from Fisher's paper. Note that it's the same as in R, but not as in the UCI\n", "Machine Learning Repository, which has two wrong data points.\n", "\n", "This is perhaps the best known database to be found in the\n", "pattern recognition literature. Fisher's paper is a classic in the field and\n", "is referenced frequently to this day. (See Duda & Hart, for example.) The\n", "data set contains 3 classes of 50 instances each, where each class refers to a\n", "type of iris plant. One class is linearly separable from the other 2; the\n", "latter are NOT linearly separable from each other.\n", "\n", ".. topic:: References\n", "\n", " - Fisher, R.A. \"The use of multiple measurements in taxonomic problems\"\n", " Annual Eugenics, 7, Part II, 179-188 (1936); also in \"Contributions to\n", " Mathematical Statistics\" (John Wiley, NY, 1950).\n", " - Duda, R.O., & Hart, P.E. (1973) Pattern Classification and Scene Analysis.\n", " (Q327.D83) John Wiley & Sons. ISBN 0-471-22361-1. See page 218.\n", " - Dasarathy, B.V. (1980) \"Nosing Around the Neighborhood: A New System\n", " Structure and Classification Rule for Recognition in Partially Exposed\n", " Environments\". IEEE Transactions on Pattern Analysis and Machine\n", " Intelligence, Vol. PAMI-2, No. 1, 67-71.\n", " - Gates, G.W. (1972) \"The Reduced Nearest Neighbor Rule\". IEEE Transactions\n", " on Information Theory, May 1972, 431-433.\n", " - See also: 1988 MLC Proceedings, 54-64. Cheeseman et al\"s AUTOCLASS II\n", " conceptual clustering system finds 3 classes in the data.\n", " - Many, many more ...\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "pqOJ6cLveBqq" }, "source": [ "X = iris.data\r\n", "Y = iris.target" ], "execution_count": 4, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "xnSzHTdUemTf", "outputId": "9308fc74-3b1d-4b5f-ba74-15439bc05ef5" }, "source": [ "X.shape, Y" ], "execution_count": 17, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "((150, 4),\n", " array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]))" ] }, "metadata": { "tags": [] }, "execution_count": 17 } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "lIohdeAoeoi4", "outputId": "01cc20e5-d8ec-471d-f490-f7787caa2e8a" }, "source": [ "X" ], "execution_count": 6, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([[5.1, 3.5, 1.4, 0.2],\n", " [4.9, 3. , 1.4, 0.2],\n", " [4.7, 3.2, 1.3, 0.2],\n", " [4.6, 3.1, 1.5, 0.2],\n", " [5. , 3.6, 1.4, 0.2],\n", " [5.4, 3.9, 1.7, 0.4],\n", " [4.6, 3.4, 1.4, 0.3],\n", " [5. , 3.4, 1.5, 0.2],\n", " [4.4, 2.9, 1.4, 0.2],\n", " [4.9, 3.1, 1.5, 0.1],\n", " [5.4, 3.7, 1.5, 0.2],\n", " [4.8, 3.4, 1.6, 0.2],\n", " [4.8, 3. , 1.4, 0.1],\n", " [4.3, 3. , 1.1, 0.1],\n", " [5.8, 4. , 1.2, 0.2],\n", " [5.7, 4.4, 1.5, 0.4],\n", " [5.4, 3.9, 1.3, 0.4],\n", " [5.1, 3.5, 1.4, 0.3],\n", " [5.7, 3.8, 1.7, 0.3],\n", " [5.1, 3.8, 1.5, 0.3],\n", " [5.4, 3.4, 1.7, 0.2],\n", " [5.1, 3.7, 1.5, 0.4],\n", " [4.6, 3.6, 1. , 0.2],\n", " [5.1, 3.3, 1.7, 0.5],\n", " [4.8, 3.4, 1.9, 0.2],\n", " [5. , 3. , 1.6, 0.2],\n", " [5. , 3.4, 1.6, 0.4],\n", " [5.2, 3.5, 1.5, 0.2],\n", " [5.2, 3.4, 1.4, 0.2],\n", " [4.7, 3.2, 1.6, 0.2],\n", " [4.8, 3.1, 1.6, 0.2],\n", " [5.4, 3.4, 1.5, 0.4],\n", " [5.2, 4.1, 1.5, 0.1],\n", " [5.5, 4.2, 1.4, 0.2],\n", " [4.9, 3.1, 1.5, 0.2],\n", " [5. , 3.2, 1.2, 0.2],\n", " [5.5, 3.5, 1.3, 0.2],\n", " [4.9, 3.6, 1.4, 0.1],\n", " [4.4, 3. , 1.3, 0.2],\n", " [5.1, 3.4, 1.5, 0.2],\n", " [5. , 3.5, 1.3, 0.3],\n", " [4.5, 2.3, 1.3, 0.3],\n", " [4.4, 3.2, 1.3, 0.2],\n", " [5. , 3.5, 1.6, 0.6],\n", " [5.1, 3.8, 1.9, 0.4],\n", " [4.8, 3. , 1.4, 0.3],\n", " [5.1, 3.8, 1.6, 0.2],\n", " [4.6, 3.2, 1.4, 0.2],\n", " [5.3, 3.7, 1.5, 0.2],\n", " [5. , 3.3, 1.4, 0.2],\n", " [7. , 3.2, 4.7, 1.4],\n", " [6.4, 3.2, 4.5, 1.5],\n", " [6.9, 3.1, 4.9, 1.5],\n", " [5.5, 2.3, 4. , 1.3],\n", " [6.5, 2.8, 4.6, 1.5],\n", " [5.7, 2.8, 4.5, 1.3],\n", " [6.3, 3.3, 4.7, 1.6],\n", " [4.9, 2.4, 3.3, 1. ],\n", " [6.6, 2.9, 4.6, 1.3],\n", " [5.2, 2.7, 3.9, 1.4],\n", " [5. , 2. , 3.5, 1. ],\n", " [5.9, 3. , 4.2, 1.5],\n", " [6. , 2.2, 4. , 1. ],\n", " [6.1, 2.9, 4.7, 1.4],\n", " [5.6, 2.9, 3.6, 1.3],\n", " [6.7, 3.1, 4.4, 1.4],\n", " [5.6, 3. , 4.5, 1.5],\n", " [5.8, 2.7, 4.1, 1. ],\n", " [6.2, 2.2, 4.5, 1.5],\n", " [5.6, 2.5, 3.9, 1.1],\n", " [5.9, 3.2, 4.8, 1.8],\n", " [6.1, 2.8, 4. , 1.3],\n", " [6.3, 2.5, 4.9, 1.5],\n", " [6.1, 2.8, 4.7, 1.2],\n", " [6.4, 2.9, 4.3, 1.3],\n", " [6.6, 3. , 4.4, 1.4],\n", " [6.8, 2.8, 4.8, 1.4],\n", " [6.7, 3. , 5. , 1.7],\n", " [6. , 2.9, 4.5, 1.5],\n", " [5.7, 2.6, 3.5, 1. ],\n", " [5.5, 2.4, 3.8, 1.1],\n", " [5.5, 2.4, 3.7, 1. ],\n", " [5.8, 2.7, 3.9, 1.2],\n", " [6. , 2.7, 5.1, 1.6],\n", " [5.4, 3. , 4.5, 1.5],\n", " [6. , 3.4, 4.5, 1.6],\n", " [6.7, 3.1, 4.7, 1.5],\n", " [6.3, 2.3, 4.4, 1.3],\n", " [5.6, 3. , 4.1, 1.3],\n", " [5.5, 2.5, 4. , 1.3],\n", " [5.5, 2.6, 4.4, 1.2],\n", " [6.1, 3. , 4.6, 1.4],\n", " [5.8, 2.6, 4. , 1.2],\n", " [5. , 2.3, 3.3, 1. ],\n", " [5.6, 2.7, 4.2, 1.3],\n", " [5.7, 3. , 4.2, 1.2],\n", " [5.7, 2.9, 4.2, 1.3],\n", " [6.2, 2.9, 4.3, 1.3],\n", " [5.1, 2.5, 3. , 1.1],\n", " [5.7, 2.8, 4.1, 1.3],\n", " [6.3, 3.3, 6. , 2.5],\n", " [5.8, 2.7, 5.1, 1.9],\n", " [7.1, 3. , 5.9, 2.1],\n", " [6.3, 2.9, 5.6, 1.8],\n", " [6.5, 3. , 5.8, 2.2],\n", " [7.6, 3. , 6.6, 2.1],\n", " [4.9, 2.5, 4.5, 1.7],\n", " [7.3, 2.9, 6.3, 1.8],\n", " [6.7, 2.5, 5.8, 1.8],\n", " [7.2, 3.6, 6.1, 2.5],\n", " [6.5, 3.2, 5.1, 2. ],\n", " [6.4, 2.7, 5.3, 1.9],\n", " [6.8, 3. , 5.5, 2.1],\n", " [5.7, 2.5, 5. , 2. ],\n", " [5.8, 2.8, 5.1, 2.4],\n", " [6.4, 3.2, 5.3, 2.3],\n", " [6.5, 3. , 5.5, 1.8],\n", " [7.7, 3.8, 6.7, 2.2],\n", " [7.7, 2.6, 6.9, 2.3],\n", " [6. , 2.2, 5. , 1.5],\n", " [6.9, 3.2, 5.7, 2.3],\n", " [5.6, 2.8, 4.9, 2. ],\n", " [7.7, 2.8, 6.7, 2. ],\n", " [6.3, 2.7, 4.9, 1.8],\n", " [6.7, 3.3, 5.7, 2.1],\n", " [7.2, 3.2, 6. , 1.8],\n", " [6.2, 2.8, 4.8, 1.8],\n", " [6.1, 3. , 4.9, 1.8],\n", " [6.4, 2.8, 5.6, 2.1],\n", " [7.2, 3. , 5.8, 1.6],\n", " [7.4, 2.8, 6.1, 1.9],\n", " [7.9, 3.8, 6.4, 2. ],\n", " [6.4, 2.8, 5.6, 2.2],\n", " [6.3, 2.8, 5.1, 1.5],\n", " [6.1, 2.6, 5.6, 1.4],\n", " [7.7, 3. , 6.1, 2.3],\n", " [6.3, 3.4, 5.6, 2.4],\n", " [6.4, 3.1, 5.5, 1.8],\n", " [6. , 3. , 4.8, 1.8],\n", " [6.9, 3.1, 5.4, 2.1],\n", " [6.7, 3.1, 5.6, 2.4],\n", " [6.9, 3.1, 5.1, 2.3],\n", " [5.8, 2.7, 5.1, 1.9],\n", " [6.8, 3.2, 5.9, 2.3],\n", " [6.7, 3.3, 5.7, 2.5],\n", " [6.7, 3. , 5.2, 2.3],\n", " [6.3, 2.5, 5. , 1.9],\n", " [6.5, 3. , 5.2, 2. ],\n", " [6.2, 3.4, 5.4, 2.3],\n", " [5.9, 3. , 5.1, 1.8]])" ] }, "metadata": { "tags": [] }, "execution_count": 6 } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "br0xmRKkevSS", "outputId": "97a36383-d611-4162-a5c1-6f25aef43e3c" }, "source": [ "from sklearn.cluster import KMeans\r\n", "km = KMeans(n_clusters=3, init='random', n_init=1)\r\n", "km.fit(X)" ], "execution_count": 37, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "KMeans(algorithm='auto', copy_x=True, init='random', max_iter=300, n_clusters=3,\n", " n_init=1, n_jobs=None, precompute_distances='auto', random_state=None,\n", " tol=0.0001, verbose=0)" ] }, "metadata": { "tags": [] }, "execution_count": 37 } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "K5BxH00sg2pp", "outputId": "083cbfe1-6b4c-4a1b-9a33-4b265ae9ef4c" }, "source": [ "print(km.inertia_)\r\n", "km.cluster_centers_" ], "execution_count": 38, "outputs": [ { "output_type": "stream", "text": [ "78.85144142614601\n" ], "name": "stdout" }, { "output_type": "execute_result", "data": { "text/plain": [ "array([[5.9016129 , 2.7483871 , 4.39354839, 1.43387097],\n", " [6.85 , 3.07368421, 5.74210526, 2.07105263],\n", " [5.006 , 3.428 , 1.462 , 0.246 ]])" ] }, "metadata": { "tags": [] }, "execution_count": 38 } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 265 }, "id": "cMf8Df6yg-7g", "outputId": "3d077fef-e6b4-4a8a-d911-a1a3f6debbfa" }, "source": [ "import pylab as pl\r\n", "f0, f1 = 0, 2\r\n", "pl.scatter(X[:,f0], X[:,f1], c=iris.target)\r\n", "pl.scatter(km.cluster_centers_[:,f0], km.cluster_centers_[:,f1], marker = 'o', s=100)\r\n", "pl.show()\r\n" ], "execution_count": 39, "outputs": [ { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "gsanClsmi11F", "outputId": "89ac7ac4-6fae-4bda-c3fc-cda52e3c8741" }, "source": [ "km.labels_, iris.target" ], "execution_count": 40, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "(array([2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1,\n", " 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1,\n", " 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0], dtype=int32),\n", " array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]))" ] }, "metadata": { "tags": [] }, "execution_count": 40 } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "W0J8rjvijVyb", "outputId": "a7742312-c837-42ca-8cea-f72e1e732334" }, "source": [ "from sklearn import metrics\r\n", "metrics.adjusted_rand_score(km.labels_, Y)" ], "execution_count": 41, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "0.7302382722834697" ] }, "metadata": { "tags": [] }, "execution_count": 41 } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "cMV6icnVkek6", "outputId": "ef806ffb-4dbd-4aa0-8444-9fa20897e4e7" }, "source": [ "metrics.adjusted_mutual_info_score(km.labels_, Y)" ], "execution_count": 42, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "0.7551191675800484" ] }, "metadata": { "tags": [] }, "execution_count": 42 } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "hDvR4RvRla4a", "outputId": "960c7164-591f-4781-e92f-446d2fee6792" }, "source": [ "import scipy.cluster.hierarchy as h\r\n", "H = h.average(X)\r\n", "print(H)" ], "execution_count": 62, "outputs": [ { "output_type": "stream", "text": [ "[[1.01000000e+02 1.42000000e+02 0.00000000e+00 2.00000000e+00]\n", " [7.00000000e+00 3.90000000e+01 1.00000000e-01 2.00000000e+00]\n", " [0.00000000e+00 1.70000000e+01 1.00000000e-01 2.00000000e+00]\n", " [9.00000000e+00 3.40000000e+01 1.00000000e-01 2.00000000e+00]\n", " [1.28000000e+02 1.32000000e+02 1.00000000e-01 2.00000000e+00]\n", " [1.00000000e+01 4.80000000e+01 1.00000000e-01 2.00000000e+00]\n", " [4.00000000e+00 3.70000000e+01 1.41421356e-01 2.00000000e+00]\n", " [1.90000000e+01 2.10000000e+01 1.41421356e-01 2.00000000e+00]\n", " [2.90000000e+01 3.00000000e+01 1.41421356e-01 2.00000000e+00]\n", " [5.70000000e+01 9.30000000e+01 1.41421356e-01 2.00000000e+00]\n", " [8.00000000e+01 8.10000000e+01 1.41421356e-01 2.00000000e+00]\n", " [1.16000000e+02 1.37000000e+02 1.41421356e-01 2.00000000e+00]\n", " [8.00000000e+00 3.80000000e+01 1.41421356e-01 2.00000000e+00]\n", " [3.00000000e+00 4.70000000e+01 1.41421356e-01 2.00000000e+00]\n", " [2.70000000e+01 2.80000000e+01 1.41421356e-01 2.00000000e+00]\n", " [8.20000000e+01 9.20000000e+01 1.41421356e-01 2.00000000e+00]\n", " [9.50000000e+01 9.60000000e+01 1.41421356e-01 2.00000000e+00]\n", " [1.27000000e+02 1.38000000e+02 1.41421356e-01 2.00000000e+00]\n", " [1.00000000e+00 4.50000000e+01 1.41421356e-01 2.00000000e+00]\n", " [6.30000000e+01 9.10000000e+01 1.41421356e-01 2.00000000e+00]\n", " [6.50000000e+01 7.50000000e+01 1.41421356e-01 2.00000000e+00]\n", " [4.00000000e+01 1.52000000e+02 1.57313218e-01 3.00000000e+00]\n", " [4.90000000e+01 1.51000000e+02 1.57313218e-01 3.00000000e+00]\n", " [1.20000000e+01 1.68000000e+02 1.70710678e-01 3.00000000e+00]\n", " [1.23000000e+02 1.26000000e+02 1.73205081e-01 2.00000000e+00]\n", " [1.12000000e+02 1.39000000e+02 1.73205081e-01 2.00000000e+00]\n", " [9.40000000e+01 9.90000000e+01 1.73205081e-01 2.00000000e+00]\n", " [8.80000000e+01 1.66000000e+02 1.73205081e-01 3.00000000e+00]\n", " [2.50000000e+01 1.53000000e+02 1.86602540e-01 3.00000000e+00]\n", " [4.60000000e+01 1.57000000e+02 1.93185165e-01 3.00000000e+00]\n", " [2.00000000e+00 1.63000000e+02 1.93185165e-01 3.00000000e+00]\n", " [1.64000000e+02 1.71000000e+02 1.98971334e-01 5.00000000e+00]\n", " [6.60000000e+01 8.40000000e+01 2.00000000e-01 2.00000000e+00]\n", " [2.30000000e+01 2.60000000e+01 2.00000000e-01 2.00000000e+00]\n", " [5.30000000e+01 8.90000000e+01 2.00000000e-01 2.00000000e+00]\n", " [7.40000000e+01 9.70000000e+01 2.00000000e-01 2.00000000e+00]\n", " [1.72000000e+02 1.81000000e+02 2.10968232e-01 8.00000000e+00]\n", " [6.90000000e+01 1.60000000e+02 2.18890106e-01 3.00000000e+00]\n", " [1.73000000e+02 1.78000000e+02 2.19557050e-01 6.00000000e+00]\n", " [7.80000000e+01 1.69000000e+02 2.22474487e-01 3.00000000e+00]\n", " [1.10000000e+02 1.47000000e+02 2.23606798e-01 2.00000000e+00]\n", " [1.20000000e+02 1.43000000e+02 2.23606798e-01 2.00000000e+00]\n", " [4.30000000e+01 1.83000000e+02 2.44090964e-01 3.00000000e+00]\n", " [1.36000000e+02 1.48000000e+02 2.44948974e-01 2.00000000e+00]\n", " [5.40000000e+01 5.80000000e+01 2.44948974e-01 2.00000000e+00]\n", " [1.40000000e+02 1.44000000e+02 2.44948974e-01 2.00000000e+00]\n", " [1.03000000e+02 1.61000000e+02 2.44948974e-01 3.00000000e+00]\n", " [1.41000000e+02 1.45000000e+02 2.44948974e-01 2.00000000e+00]\n", " [1.76000000e+02 1.77000000e+02 2.46912362e-01 5.00000000e+00]\n", " [4.20000000e+01 1.62000000e+02 2.58113883e-01 3.00000000e+00]\n", " [1.58000000e+02 1.80000000e+02 2.58680193e-01 5.00000000e+00]\n", " [7.00000000e+01 1.67000000e+02 2.61803399e-01 3.00000000e+00]\n", " [6.70000000e+01 1.65000000e+02 2.63895843e-01 3.00000000e+00]\n", " [1.56000000e+02 1.86000000e+02 2.64171522e-01 1.00000000e+01]\n", " [6.80000000e+01 8.70000000e+01 2.64575131e-01 2.00000000e+00]\n", " [1.13000000e+02 1.50000000e+02 2.64575131e-01 3.00000000e+00]\n", " [5.00000000e+01 5.20000000e+01 2.64575131e-01 2.00000000e+00]\n", " [5.10000000e+01 5.60000000e+01 2.64575131e-01 2.00000000e+00]\n", " [1.07000000e+02 1.30000000e+02 2.64575131e-01 2.00000000e+00]\n", " [1.05000000e+02 1.22000000e+02 2.64575131e-01 2.00000000e+00]\n", " [2.00000000e+01 3.10000000e+01 2.82842712e-01 2.00000000e+00]\n", " [1.55000000e+02 1.79000000e+02 2.99436791e-01 5.00000000e+00]\n", " [1.10000000e+01 2.40000000e+01 3.00000000e-01 2.00000000e+00]\n", " [1.88000000e+02 2.00000000e+02 3.02209166e-01 1.10000000e+01]\n", " [1.30000000e+01 1.99000000e+02 3.02528967e-01 4.00000000e+00]\n", " [7.30000000e+01 1.89000000e+02 3.03635044e-01 4.00000000e+00]\n", " [1.91000000e+02 1.95000000e+02 3.06803265e-01 4.00000000e+00]\n", " [8.60000000e+01 2.06000000e+02 3.07252596e-01 3.00000000e+00]\n", " [1.04000000e+02 1.54000000e+02 3.08113883e-01 3.00000000e+00]\n", " [1.46000000e+02 1.74000000e+02 3.16123654e-01 3.00000000e+00]\n", " [5.50000000e+01 9.00000000e+01 3.16227766e-01 2.00000000e+00]\n", " [1.49000000e+02 2.01000000e+02 3.19875202e-01 4.00000000e+00]\n", " [1.21000000e+02 2.05000000e+02 3.21372670e-01 4.00000000e+00]\n", " [1.70000000e+02 1.94000000e+02 3.25417144e-01 4.00000000e+00]\n", " [8.30000000e+01 1.33000000e+02 3.31662479e-01 2.00000000e+00]\n", " [5.00000000e+00 1.80000000e+01 3.31662479e-01 2.00000000e+00]\n", " [1.84000000e+02 1.87000000e+02 3.38826088e-01 5.00000000e+00]\n", " [1.15000000e+02 1.93000000e+02 3.43649167e-01 3.00000000e+00]\n", " [3.20000000e+01 3.30000000e+01 3.46410162e-01 2.00000000e+00]\n", " [1.25000000e+02 1.29000000e+02 3.46410162e-01 2.00000000e+00]\n", " [1.24000000e+02 2.16000000e+02 3.47598376e-01 5.00000000e+00]\n", " [3.60000000e+01 2.10000000e+02 3.70245917e-01 3.00000000e+00]\n", " [6.10000000e+01 1.98000000e+02 3.72863514e-01 6.00000000e+00]\n", " [3.50000000e+01 2.03000000e+02 3.78316113e-01 1.10000000e+01]\n", " [7.60000000e+01 2.17000000e+02 3.83692631e-01 4.00000000e+00]\n", " [7.10000000e+01 1.85000000e+02 3.83776187e-01 3.00000000e+00]\n", " [9.80000000e+01 1.59000000e+02 3.87298335e-01 3.00000000e+00]\n", " [1.75000000e+02 1.97000000e+02 3.91079392e-01 4.00000000e+00]\n", " [7.20000000e+01 2.24000000e+02 3.92409598e-01 3.00000000e+00]\n", " [1.60000000e+01 2.11000000e+02 3.97231468e-01 6.00000000e+00]\n", " [1.11000000e+02 1.96000000e+02 4.10951413e-01 4.00000000e+00]\n", " [2.02000000e+02 2.32000000e+02 4.11551824e-01 9.00000000e+00]\n", " [1.17000000e+02 1.31000000e+02 4.12310563e-01 2.00000000e+00]\n", " [6.00000000e+00 2.13000000e+02 4.12947522e-01 1.20000000e+01]\n", " [8.50000000e+01 2.07000000e+02 4.16211654e-01 3.00000000e+00]\n", " [7.70000000e+01 2.34000000e+02 4.17858502e-01 5.00000000e+00]\n", " [1.92000000e+02 2.33000000e+02 4.24859090e-01 1.40000000e+01]\n", " [2.19000000e+02 2.38000000e+02 4.28466073e-01 6.00000000e+00]\n", " [1.82000000e+02 2.20000000e+02 4.37885262e-01 4.00000000e+00]\n", " [6.40000000e+01 7.90000000e+01 4.47213595e-01 2.00000000e+00]\n", " [1.02000000e+02 2.29000000e+02 4.53456788e-01 3.00000000e+00]\n", " [2.12000000e+02 2.43000000e+02 4.59587533e-01 1.40000000e+01]\n", " [2.18000000e+02 2.40000000e+02 4.62587845e-01 7.00000000e+00]\n", " [2.25000000e+02 2.39000000e+02 4.63899890e-01 8.00000000e+00]\n", " [1.90000000e+02 2.37000000e+02 4.73325708e-01 6.00000000e+00]\n", " [2.31000000e+02 2.46000000e+02 4.79362323e-01 1.70000000e+01]\n", " [1.18000000e+02 2.09000000e+02 4.80016560e-01 3.00000000e+00]\n", " [4.40000000e+01 2.53000000e+02 4.90701246e-01 9.00000000e+00]\n", " [2.23000000e+02 2.45000000e+02 4.95121073e-01 9.00000000e+00]\n", " [2.08000000e+02 2.50000000e+02 4.96264997e-01 5.00000000e+00]\n", " [1.14000000e+02 2.22000000e+02 5.07329273e-01 5.00000000e+00]\n", " [1.50000000e+01 2.28000000e+02 5.08149490e-01 3.00000000e+00]\n", " [2.15000000e+02 2.35000000e+02 5.11495126e-01 7.00000000e+00]\n", " [6.00000000e+01 2.36000000e+02 5.13307651e-01 4.00000000e+00]\n", " [5.90000000e+01 2.26000000e+02 5.18204344e-01 6.00000000e+00]\n", " [2.41000000e+02 2.48000000e+02 5.25474630e-01 1.30000000e+01]\n", " [2.55000000e+02 2.57000000e+02 5.40203168e-01 2.60000000e+01]\n", " [2.14000000e+02 2.51000000e+02 5.43172921e-01 1.80000000e+01]\n", " [1.40000000e+01 2.61000000e+02 5.48532860e-01 4.00000000e+00]\n", " [2.21000000e+02 2.47000000e+02 5.49450670e-01 1.00000000e+01]\n", " [2.49000000e+02 2.64000000e+02 5.70834015e-01 8.00000000e+00]\n", " [2.44000000e+02 2.62000000e+02 5.94899385e-01 1.00000000e+01]\n", " [1.00000000e+02 2.30000000e+02 6.02494379e-01 6.00000000e+00]\n", " [2.52000000e+02 2.54000000e+02 6.03519420e-01 1.30000000e+01]\n", " [2.27000000e+02 2.72000000e+02 6.06291352e-01 9.00000000e+00]\n", " [1.19000000e+02 2.04000000e+02 6.22811631e-01 3.00000000e+00]\n", " [2.60000000e+02 2.69000000e+02 6.41198366e-01 1.50000000e+01]\n", " [2.73000000e+02 2.74000000e+02 6.74792578e-01 2.20000000e+01]\n", " [2.65000000e+02 2.70000000e+02 6.77553240e-01 2.10000000e+01]\n", " [1.35000000e+02 2.59000000e+02 7.06547529e-01 6.00000000e+00]\n", " [2.58000000e+02 2.71000000e+02 7.14843442e-01 1.90000000e+01]\n", " [2.20000000e+01 2.67000000e+02 7.17135674e-01 1.90000000e+01]\n", " [2.66000000e+02 2.81000000e+02 7.54099122e-01 4.50000000e+01]\n", " [1.08000000e+02 1.34000000e+02 7.54983444e-01 2.00000000e+00]\n", " [6.20000000e+01 2.78000000e+02 7.83078008e-01 2.20000000e+01]\n", " [2.75000000e+02 2.76000000e+02 8.93789321e-01 1.80000000e+01]\n", " [1.09000000e+02 2.42000000e+02 8.96485216e-01 3.00000000e+00]\n", " [2.56000000e+02 2.79000000e+02 9.03309021e-01 9.00000000e+00]\n", " [2.80000000e+02 2.85000000e+02 9.17272544e-01 3.70000000e+01]\n", " [2.77000000e+02 2.83000000e+02 9.68739482e-01 2.40000000e+01]\n", " [1.06000000e+02 2.84000000e+02 1.05978781e+00 2.30000000e+01]\n", " [2.68000000e+02 2.82000000e+02 1.06920844e+00 4.90000000e+01]\n", " [2.86000000e+02 2.87000000e+02 1.09005269e+00 1.20000000e+01]\n", " [2.88000000e+02 2.90000000e+02 1.18677850e+00 6.00000000e+01]\n", " [4.10000000e+01 2.91000000e+02 1.31418787e+00 5.00000000e+01]\n", " [2.89000000e+02 2.92000000e+02 1.38099374e+00 3.60000000e+01]\n", " [2.63000000e+02 2.93000000e+02 1.78556648e+00 6.40000000e+01]\n", " [2.95000000e+02 2.96000000e+02 1.96361409e+00 1.00000000e+02]\n", " [2.94000000e+02 2.97000000e+02 4.06268269e+00 1.50000000e+02]]\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 265 }, "id": "Tg8emiLomWu4", "outputId": "fdbcb408-b959-492b-ab04-18019d7ab1d2" }, "source": [ "h.dendrogram(H)\r\n", "pl.show()" ], "execution_count": 63, "outputs": [ { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "hGTiaXERnfCy", "outputId": "5d90bc42-d3d6-477b-8827-c90b305b8ae9" }, "source": [ "C = h.fcluster(H, 1.8, criterion='distance')\r\n", "C" ], "execution_count": 64, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n", " 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n", " 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 2, 2, 2, 2, 3, 2, 2, 2,\n", " 2, 2, 2, 3, 3, 2, 2, 2, 2, 3, 2, 3, 2, 3, 2, 2, 3, 3, 2, 2, 2, 2,\n", " 2, 3, 2, 2, 2, 2, 3, 2, 2, 2, 3, 2, 2, 2, 3, 2, 2, 3], dtype=int32)" ] }, "metadata": { "tags": [] }, "execution_count": 64 } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "VkvUDSuXp7AQ", "outputId": "a3bb1d98-b71f-4e29-b3d5-8a93afa3e8e6" }, "source": [ "print(metrics.adjusted_rand_score(Y, C))\r\n", "print(metrics.adjusted_mutual_info_score(Y, C))" ], "execution_count": 65, "outputs": [ { "output_type": "stream", "text": [ "0.7591987071071522\n", "0.8032287370935435\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "D1zrLEyGqZCm" }, "source": [ "" ], "execution_count": null, "outputs": [] } ] }