{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# K-means examples\n",
"\n",
"***"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# Numerical arrays.\n",
"import numpy as np\n",
"\n",
"# Machine learning - KMeans.\n",
"import sklearn.cluster as skcl\n",
"\n",
"# Plotting.\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
\n",
"\n",
"#### From the sklearn documentation\n",
"\n",
"[https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans](https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans)\n",
"\n",
"***"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# Data set.\n",
"X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(-2.0, 6.0)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"