Skip to content

Instantly share code, notes, and snippets.

@pree62
Created August 3, 2023 10:03
Show Gist options
  • Save pree62/3618875aad609e513049fec8c3717c23 to your computer and use it in GitHub Desktop.
Save pree62/3618875aad609e513049fec8c3717c23 to your computer and use it in GitHub Desktop.
!excelR/assignments/Gists/crime_data_clustering_assgn.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"id": "O2orI1mwWNkR"
},
"cell_type": "markdown",
"source": "# Hierarchy Clustering"
},
{
"metadata": {
"id": "MBFNU04hMOLK",
"trusted": false
},
"cell_type": "code",
"source": "import pandas as pd \nimport numpy as np\nimport matplotlib.pyplot as plt\n",
"execution_count": null,
"outputs": []
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"id": "C7VpdeUuMpZp",
"outputId": "4b39747a-28e3-47f8-ee1c-fd35cf17742e",
"trusted": false
},
"cell_type": "code",
"source": "df = pd.read_csv(\"crime_data.csv\")\ndf",
"execution_count": null,
"outputs": [
{
"data": {
"text/html": "\n <div id=\"df-43ede5bf-95a6-45df-bcfd-60af9dd9bc8d\">\n <div class=\"colab-df-container\">\n <div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Unnamed: 0</th>\n <th>Murder</th>\n <th>Assault</th>\n <th>UrbanPop</th>\n <th>Rape</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>Alabama</td>\n <td>13.2</td>\n <td>236</td>\n <td>58</td>\n <td>21.2</td>\n </tr>\n <tr>\n <th>1</th>\n <td>Alaska</td>\n <td>10.0</td>\n <td>263</td>\n <td>48</td>\n <td>44.5</td>\n </tr>\n <tr>\n <th>2</th>\n <td>Arizona</td>\n <td>8.1</td>\n <td>294</td>\n <td>80</td>\n <td>31.0</td>\n </tr>\n <tr>\n <th>3</th>\n <td>Arkansas</td>\n <td>8.8</td>\n <td>190</td>\n <td>50</td>\n <td>19.5</td>\n </tr>\n <tr>\n <th>4</th>\n <td>California</td>\n <td>9.0</td>\n <td>276</td>\n <td>91</td>\n <td>40.6</td>\n </tr>\n <tr>\n <th>5</th>\n <td>Colorado</td>\n <td>7.9</td>\n <td>204</td>\n <td>78</td>\n <td>38.7</td>\n </tr>\n <tr>\n <th>6</th>\n <td>Connecticut</td>\n <td>3.3</td>\n <td>110</td>\n <td>77</td>\n <td>11.1</td>\n </tr>\n <tr>\n <th>7</th>\n <td>Delaware</td>\n <td>5.9</td>\n <td>238</td>\n <td>72</td>\n <td>15.8</td>\n </tr>\n <tr>\n <th>8</th>\n <td>Florida</td>\n <td>15.4</td>\n <td>335</td>\n <td>80</td>\n <td>31.9</td>\n </tr>\n <tr>\n <th>9</th>\n <td>Georgia</td>\n <td>17.4</td>\n <td>211</td>\n <td>60</td>\n <td>25.8</td>\n </tr>\n <tr>\n <th>10</th>\n <td>Hawaii</td>\n <td>5.3</td>\n <td>46</td>\n <td>83</td>\n <td>20.2</td>\n </tr>\n <tr>\n <th>11</th>\n <td>Idaho</td>\n <td>2.6</td>\n <td>120</td>\n <td>54</td>\n <td>14.2</td>\n </tr>\n <tr>\n <th>12</th>\n <td>Illinois</td>\n <td>10.4</td>\n <td>249</td>\n <td>83</td>\n <td>24.0</td>\n </tr>\n <tr>\n <th>13</th>\n <td>Indiana</td>\n <td>7.2</td>\n <td>113</td>\n <td>65</td>\n <td>21.0</td>\n </tr>\n <tr>\n <th>14</th>\n <td>Iowa</td>\n <td>2.2</td>\n <td>56</td>\n <td>57</td>\n <td>11.3</td>\n </tr>\n <tr>\n <th>15</th>\n <td>Kansas</td>\n <td>6.0</td>\n <td>115</td>\n <td>66</td>\n <td>18.0</td>\n </tr>\n <tr>\n <th>16</th>\n <td>Kentucky</td>\n <td>9.7</td>\n <td>109</td>\n <td>52</td>\n <td>16.3</td>\n </tr>\n <tr>\n <th>17</th>\n <td>Louisiana</td>\n <td>15.4</td>\n <td>249</td>\n <td>66</td>\n <td>22.2</td>\n </tr>\n <tr>\n <th>18</th>\n <td>Maine</td>\n <td>2.1</td>\n <td>83</td>\n <td>51</td>\n <td>7.8</td>\n </tr>\n <tr>\n <th>19</th>\n <td>Maryland</td>\n <td>11.3</td>\n <td>300</td>\n <td>67</td>\n <td>27.8</td>\n </tr>\n <tr>\n <th>20</th>\n <td>Massachusetts</td>\n <td>4.4</td>\n <td>149</td>\n <td>85</td>\n <td>16.3</td>\n </tr>\n <tr>\n <th>21</th>\n <td>Michigan</td>\n <td>12.1</td>\n <td>255</td>\n <td>74</td>\n <td>35.1</td>\n </tr>\n <tr>\n <th>22</th>\n <td>Minnesota</td>\n <td>2.7</td>\n <td>72</td>\n <td>66</td>\n <td>14.9</td>\n </tr>\n <tr>\n <th>23</th>\n <td>Mississippi</td>\n <td>16.1</td>\n <td>259</td>\n <td>44</td>\n <td>17.1</td>\n </tr>\n <tr>\n <th>24</th>\n <td>Missouri</td>\n <td>9.0</td>\n <td>178</td>\n <td>70</td>\n <td>28.2</td>\n </tr>\n <tr>\n <th>25</th>\n <td>Montana</td>\n <td>6.0</td>\n <td>109</td>\n <td>53</td>\n <td>16.4</td>\n </tr>\n <tr>\n <th>26</th>\n <td>Nebraska</td>\n <td>4.3</td>\n <td>102</td>\n <td>62</td>\n <td>16.5</td>\n </tr>\n <tr>\n <th>27</th>\n <td>Nevada</td>\n <td>12.2</td>\n <td>252</td>\n <td>81</td>\n <td>46.0</td>\n </tr>\n <tr>\n <th>28</th>\n <td>New Hampshire</td>\n <td>2.1</td>\n <td>57</td>\n <td>56</td>\n <td>9.5</td>\n </tr>\n <tr>\n <th>29</th>\n <td>New Jersey</td>\n <td>7.4</td>\n <td>159</td>\n <td>89</td>\n <td>18.8</td>\n </tr>\n <tr>\n <th>30</th>\n <td>New Mexico</td>\n <td>11.4</td>\n <td>285</td>\n <td>70</td>\n <td>32.1</td>\n </tr>\n <tr>\n <th>31</th>\n <td>New York</td>\n <td>11.1</td>\n <td>254</td>\n <td>86</td>\n <td>26.1</td>\n </tr>\n <tr>\n <th>32</th>\n <td>North Carolina</td>\n <td>13.0</td>\n <td>337</td>\n <td>45</td>\n <td>16.1</td>\n </tr>\n <tr>\n <th>33</th>\n <td>North Dakota</td>\n <td>0.8</td>\n <td>45</td>\n <td>44</td>\n <td>7.3</td>\n </tr>\n <tr>\n <th>34</th>\n <td>Ohio</td>\n <td>7.3</td>\n <td>120</td>\n <td>75</td>\n <td>21.4</td>\n </tr>\n <tr>\n <th>35</th>\n <td>Oklahoma</td>\n <td>6.6</td>\n <td>151</td>\n <td>68</td>\n <td>20.0</td>\n </tr>\n <tr>\n <th>36</th>\n <td>Oregon</td>\n <td>4.9</td>\n <td>159</td>\n <td>67</td>\n <td>29.3</td>\n </tr>\n <tr>\n <th>37</th>\n <td>Pennsylvania</td>\n <td>6.3</td>\n <td>106</td>\n <td>72</td>\n <td>14.9</td>\n </tr>\n <tr>\n <th>38</th>\n <td>Rhode Island</td>\n <td>3.4</td>\n <td>174</td>\n <td>87</td>\n <td>8.3</td>\n </tr>\n <tr>\n <th>39</th>\n <td>South Carolina</td>\n <td>14.4</td>\n <td>279</td>\n <td>48</td>\n <td>22.5</td>\n </tr>\n <tr>\n <th>40</th>\n <td>South Dakota</td>\n <td>3.8</td>\n <td>86</td>\n <td>45</td>\n <td>12.8</td>\n </tr>\n <tr>\n <th>41</th>\n <td>Tennessee</td>\n <td>13.2</td>\n <td>188</td>\n <td>59</td>\n <td>26.9</td>\n </tr>\n <tr>\n <th>42</th>\n <td>Texas</td>\n <td>12.7</td>\n <td>201</td>\n <td>80</td>\n <td>25.5</td>\n </tr>\n <tr>\n <th>43</th>\n <td>Utah</td>\n <td>3.2</td>\n <td>120</td>\n <td>80</td>\n <td>22.9</td>\n </tr>\n <tr>\n <th>44</th>\n <td>Vermont</td>\n <td>2.2</td>\n <td>48</td>\n <td>32</td>\n <td>11.2</td>\n </tr>\n <tr>\n <th>45</th>\n <td>Virginia</td>\n <td>8.5</td>\n <td>156</td>\n <td>63</td>\n <td>20.7</td>\n </tr>\n <tr>\n <th>46</th>\n <td>Washington</td>\n <td>4.0</td>\n <td>145</td>\n <td>73</td>\n <td>26.2</td>\n </tr>\n <tr>\n <th>47</th>\n <td>West Virginia</td>\n <td>5.7</td>\n <td>81</td>\n <td>39</td>\n <td>9.3</td>\n </tr>\n <tr>\n <th>48</th>\n <td>Wisconsin</td>\n <td>2.6</td>\n <td>53</td>\n <td>66</td>\n <td>10.8</td>\n </tr>\n <tr>\n <th>49</th>\n <td>Wyoming</td>\n <td>6.8</td>\n <td>161</td>\n <td>60</td>\n <td>15.6</td>\n </tr>\n </tbody>\n</table>\n</div>\n <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-43ede5bf-95a6-45df-bcfd-60af9dd9bc8d')\"\n title=\"Convert this dataframe to an interactive table.\"\n style=\"display:none;\">\n \n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n width=\"24px\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n </svg>\n </button>\n \n <style>\n .colab-df-container {\n display:flex;\n flex-wrap:wrap;\n gap: 12px;\n }\n\n .colab-df-convert {\n background-color: #E8F0FE;\n border: none;\n border-radius: 50%;\n cursor: pointer;\n display: none;\n fill: #1967D2;\n height: 32px;\n padding: 0 0 0 0;\n width: 32px;\n }\n\n .colab-df-convert:hover {\n background-color: #E2EBFA;\n box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n fill: #174EA6;\n }\n\n [theme=dark] .colab-df-convert {\n background-color: #3B4455;\n fill: #D2E3FC;\n }\n\n [theme=dark] .colab-df-convert:hover {\n background-color: #434B5C;\n box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n fill: #FFFFFF;\n }\n </style>\n\n <script>\n const buttonEl =\n document.querySelector('#df-43ede5bf-95a6-45df-bcfd-60af9dd9bc8d button.colab-df-convert');\n buttonEl.style.display =\n google.colab.kernel.accessAllowed ? 'block' : 'none';\n\n async function convertToInteractive(key) {\n const element = document.querySelector('#df-43ede5bf-95a6-45df-bcfd-60af9dd9bc8d');\n const dataTable =\n await google.colab.kernel.invokeFunction('convertToInteractive',\n [key], {});\n if (!dataTable) return;\n\n const docLinkHtml = 'Like what you see? Visit the ' +\n '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n + ' to learn more about interactive tables.';\n element.innerHTML = '';\n dataTable['output_type'] = 'display_data';\n await google.colab.output.renderOutput(dataTable, element);\n const docLink = document.createElement('div');\n docLink.innerHTML = docLinkHtml;\n element.appendChild(docLink);\n }\n </script>\n </div>\n </div>\n ",
"text/plain": " Unnamed: 0 Murder Assault UrbanPop Rape\n0 Alabama 13.2 236 58 21.2\n1 Alaska 10.0 263 48 44.5\n2 Arizona 8.1 294 80 31.0\n3 Arkansas 8.8 190 50 19.5\n4 California 9.0 276 91 40.6\n5 Colorado 7.9 204 78 38.7\n6 Connecticut 3.3 110 77 11.1\n7 Delaware 5.9 238 72 15.8\n8 Florida 15.4 335 80 31.9\n9 Georgia 17.4 211 60 25.8\n10 Hawaii 5.3 46 83 20.2\n11 Idaho 2.6 120 54 14.2\n12 Illinois 10.4 249 83 24.0\n13 Indiana 7.2 113 65 21.0\n14 Iowa 2.2 56 57 11.3\n15 Kansas 6.0 115 66 18.0\n16 Kentucky 9.7 109 52 16.3\n17 Louisiana 15.4 249 66 22.2\n18 Maine 2.1 83 51 7.8\n19 Maryland 11.3 300 67 27.8\n20 Massachusetts 4.4 149 85 16.3\n21 Michigan 12.1 255 74 35.1\n22 Minnesota 2.7 72 66 14.9\n23 Mississippi 16.1 259 44 17.1\n24 Missouri 9.0 178 70 28.2\n25 Montana 6.0 109 53 16.4\n26 Nebraska 4.3 102 62 16.5\n27 Nevada 12.2 252 81 46.0\n28 New Hampshire 2.1 57 56 9.5\n29 New Jersey 7.4 159 89 18.8\n30 New Mexico 11.4 285 70 32.1\n31 New York 11.1 254 86 26.1\n32 North Carolina 13.0 337 45 16.1\n33 North Dakota 0.8 45 44 7.3\n34 Ohio 7.3 120 75 21.4\n35 Oklahoma 6.6 151 68 20.0\n36 Oregon 4.9 159 67 29.3\n37 Pennsylvania 6.3 106 72 14.9\n38 Rhode Island 3.4 174 87 8.3\n39 South Carolina 14.4 279 48 22.5\n40 South Dakota 3.8 86 45 12.8\n41 Tennessee 13.2 188 59 26.9\n42 Texas 12.7 201 80 25.5\n43 Utah 3.2 120 80 22.9\n44 Vermont 2.2 48 32 11.2\n45 Virginia 8.5 156 63 20.7\n46 Washington 4.0 145 73 26.2\n47 West Virginia 5.7 81 39 9.3\n48 Wisconsin 2.6 53 66 10.8\n49 Wyoming 6.8 161 60 15.6"
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "hlxXCyCXa_1G",
"outputId": "0cfb979e-18d9-4e0f-d883-27531239bcab",
"trusted": false
},
"cell_type": "code",
"source": "df.info()",
"execution_count": null,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "<class 'pandas.core.frame.DataFrame'>\nRangeIndex: 50 entries, 0 to 49\nData columns (total 5 columns):\n # Column Non-Null Count Dtype \n--- ------ -------------- ----- \n 0 Unnamed: 0 50 non-null object \n 1 Murder 50 non-null float64\n 2 Assault 50 non-null int64 \n 3 UrbanPop 50 non-null int64 \n 4 Rape 50 non-null float64\ndtypes: float64(2), int64(2), object(1)\nmemory usage: 2.1+ KB\n"
}
]
},
{
"metadata": {
"id": "uFz2CLSRM3_X",
"trusted": false
},
"cell_type": "code",
"source": "def norm_function(i):\n x = (i-i.min())/(i.max()-i.min())\n return (x)",
"execution_count": null,
"outputs": []
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"id": "8xLTia4CNYdc",
"outputId": "e7f3c939-62f3-4162-a0b9-7e6e11dbc4c1",
"trusted": false
},
"cell_type": "code",
"source": "df_norm = norm_function(df.iloc[:,1:])\ndf_norm",
"execution_count": null,
"outputs": [
{
"data": {
"text/html": "\n <div id=\"df-fa4b1e91-f56a-4d5a-bde0-269a588278cf\">\n <div class=\"colab-df-container\">\n <div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Murder</th>\n <th>Assault</th>\n <th>UrbanPop</th>\n <th>Rape</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>0.746988</td>\n <td>0.654110</td>\n <td>0.440678</td>\n <td>0.359173</td>\n </tr>\n <tr>\n <th>1</th>\n <td>0.554217</td>\n <td>0.746575</td>\n <td>0.271186</td>\n <td>0.961240</td>\n </tr>\n <tr>\n <th>2</th>\n <td>0.439759</td>\n <td>0.852740</td>\n <td>0.813559</td>\n <td>0.612403</td>\n </tr>\n <tr>\n <th>3</th>\n <td>0.481928</td>\n <td>0.496575</td>\n <td>0.305085</td>\n <td>0.315245</td>\n </tr>\n <tr>\n <th>4</th>\n <td>0.493976</td>\n <td>0.791096</td>\n <td>1.000000</td>\n <td>0.860465</td>\n </tr>\n <tr>\n <th>5</th>\n <td>0.427711</td>\n <td>0.544521</td>\n <td>0.779661</td>\n <td>0.811370</td>\n </tr>\n <tr>\n <th>6</th>\n <td>0.150602</td>\n <td>0.222603</td>\n <td>0.762712</td>\n <td>0.098191</td>\n </tr>\n <tr>\n <th>7</th>\n <td>0.307229</td>\n <td>0.660959</td>\n <td>0.677966</td>\n <td>0.219638</td>\n </tr>\n <tr>\n <th>8</th>\n <td>0.879518</td>\n <td>0.993151</td>\n <td>0.813559</td>\n <td>0.635659</td>\n </tr>\n <tr>\n <th>9</th>\n <td>1.000000</td>\n <td>0.568493</td>\n <td>0.474576</td>\n <td>0.478036</td>\n </tr>\n <tr>\n <th>10</th>\n <td>0.271084</td>\n <td>0.003425</td>\n <td>0.864407</td>\n <td>0.333333</td>\n </tr>\n <tr>\n <th>11</th>\n <td>0.108434</td>\n <td>0.256849</td>\n <td>0.372881</td>\n <td>0.178295</td>\n </tr>\n <tr>\n <th>12</th>\n <td>0.578313</td>\n <td>0.698630</td>\n <td>0.864407</td>\n <td>0.431525</td>\n </tr>\n <tr>\n <th>13</th>\n <td>0.385542</td>\n <td>0.232877</td>\n <td>0.559322</td>\n <td>0.354005</td>\n </tr>\n <tr>\n <th>14</th>\n <td>0.084337</td>\n <td>0.037671</td>\n <td>0.423729</td>\n <td>0.103359</td>\n </tr>\n <tr>\n <th>15</th>\n <td>0.313253</td>\n <td>0.239726</td>\n <td>0.576271</td>\n <td>0.276486</td>\n </tr>\n <tr>\n <th>16</th>\n <td>0.536145</td>\n <td>0.219178</td>\n <td>0.338983</td>\n <td>0.232558</td>\n </tr>\n <tr>\n <th>17</th>\n <td>0.879518</td>\n <td>0.698630</td>\n <td>0.576271</td>\n <td>0.385013</td>\n </tr>\n <tr>\n <th>18</th>\n <td>0.078313</td>\n <td>0.130137</td>\n <td>0.322034</td>\n <td>0.012920</td>\n </tr>\n <tr>\n <th>19</th>\n <td>0.632530</td>\n <td>0.873288</td>\n <td>0.593220</td>\n <td>0.529716</td>\n </tr>\n <tr>\n <th>20</th>\n <td>0.216867</td>\n <td>0.356164</td>\n <td>0.898305</td>\n <td>0.232558</td>\n </tr>\n <tr>\n <th>21</th>\n <td>0.680723</td>\n <td>0.719178</td>\n <td>0.711864</td>\n <td>0.718346</td>\n </tr>\n <tr>\n <th>22</th>\n <td>0.114458</td>\n <td>0.092466</td>\n <td>0.576271</td>\n <td>0.196382</td>\n </tr>\n <tr>\n <th>23</th>\n <td>0.921687</td>\n <td>0.732877</td>\n <td>0.203390</td>\n <td>0.253230</td>\n </tr>\n <tr>\n <th>24</th>\n <td>0.493976</td>\n <td>0.455479</td>\n <td>0.644068</td>\n <td>0.540052</td>\n </tr>\n <tr>\n <th>25</th>\n <td>0.313253</td>\n <td>0.219178</td>\n <td>0.355932</td>\n <td>0.235142</td>\n </tr>\n <tr>\n <th>26</th>\n <td>0.210843</td>\n <td>0.195205</td>\n <td>0.508475</td>\n <td>0.237726</td>\n </tr>\n <tr>\n <th>27</th>\n <td>0.686747</td>\n <td>0.708904</td>\n <td>0.830508</td>\n <td>1.000000</td>\n </tr>\n <tr>\n <th>28</th>\n <td>0.078313</td>\n <td>0.041096</td>\n <td>0.406780</td>\n <td>0.056848</td>\n </tr>\n <tr>\n <th>29</th>\n <td>0.397590</td>\n <td>0.390411</td>\n <td>0.966102</td>\n <td>0.297158</td>\n </tr>\n <tr>\n <th>30</th>\n <td>0.638554</td>\n <td>0.821918</td>\n <td>0.644068</td>\n <td>0.640827</td>\n </tr>\n <tr>\n <th>31</th>\n <td>0.620482</td>\n <td>0.715753</td>\n <td>0.915254</td>\n <td>0.485788</td>\n </tr>\n <tr>\n <th>32</th>\n <td>0.734940</td>\n <td>1.000000</td>\n <td>0.220339</td>\n <td>0.227390</td>\n </tr>\n <tr>\n <th>33</th>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>0.203390</td>\n <td>0.000000</td>\n </tr>\n <tr>\n <th>34</th>\n <td>0.391566</td>\n <td>0.256849</td>\n <td>0.728814</td>\n <td>0.364341</td>\n </tr>\n <tr>\n <th>35</th>\n <td>0.349398</td>\n <td>0.363014</td>\n <td>0.610169</td>\n <td>0.328165</td>\n </tr>\n <tr>\n <th>36</th>\n <td>0.246988</td>\n <td>0.390411</td>\n <td>0.593220</td>\n <td>0.568475</td>\n </tr>\n <tr>\n <th>37</th>\n <td>0.331325</td>\n <td>0.208904</td>\n <td>0.677966</td>\n <td>0.196382</td>\n </tr>\n <tr>\n <th>38</th>\n <td>0.156627</td>\n <td>0.441781</td>\n <td>0.932203</td>\n <td>0.025840</td>\n </tr>\n <tr>\n <th>39</th>\n <td>0.819277</td>\n <td>0.801370</td>\n <td>0.271186</td>\n <td>0.392765</td>\n </tr>\n <tr>\n <th>40</th>\n <td>0.180723</td>\n <td>0.140411</td>\n <td>0.220339</td>\n <td>0.142119</td>\n </tr>\n <tr>\n <th>41</th>\n <td>0.746988</td>\n <td>0.489726</td>\n <td>0.457627</td>\n <td>0.506460</td>\n </tr>\n <tr>\n <th>42</th>\n <td>0.716867</td>\n <td>0.534247</td>\n <td>0.813559</td>\n <td>0.470284</td>\n </tr>\n <tr>\n <th>43</th>\n <td>0.144578</td>\n <td>0.256849</td>\n <td>0.813559</td>\n <td>0.403101</td>\n </tr>\n <tr>\n <th>44</th>\n <td>0.084337</td>\n <td>0.010274</td>\n <td>0.000000</td>\n <td>0.100775</td>\n </tr>\n <tr>\n <th>45</th>\n <td>0.463855</td>\n <td>0.380137</td>\n <td>0.525424</td>\n <td>0.346253</td>\n </tr>\n <tr>\n <th>46</th>\n <td>0.192771</td>\n <td>0.342466</td>\n <td>0.694915</td>\n <td>0.488372</td>\n </tr>\n <tr>\n <th>47</th>\n <td>0.295181</td>\n <td>0.123288</td>\n <td>0.118644</td>\n <td>0.051680</td>\n </tr>\n <tr>\n <th>48</th>\n <td>0.108434</td>\n <td>0.027397</td>\n <td>0.576271</td>\n <td>0.090439</td>\n </tr>\n <tr>\n <th>49</th>\n <td>0.361446</td>\n <td>0.397260</td>\n <td>0.474576</td>\n <td>0.214470</td>\n </tr>\n </tbody>\n</table>\n</div>\n <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-fa4b1e91-f56a-4d5a-bde0-269a588278cf')\"\n title=\"Convert this dataframe to an interactive table.\"\n style=\"display:none;\">\n \n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n width=\"24px\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n </svg>\n </button>\n \n <style>\n .colab-df-container {\n display:flex;\n flex-wrap:wrap;\n gap: 12px;\n }\n\n .colab-df-convert {\n background-color: #E8F0FE;\n border: none;\n border-radius: 50%;\n cursor: pointer;\n display: none;\n fill: #1967D2;\n height: 32px;\n padding: 0 0 0 0;\n width: 32px;\n }\n\n .colab-df-convert:hover {\n background-color: #E2EBFA;\n box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n fill: #174EA6;\n }\n\n [theme=dark] .colab-df-convert {\n background-color: #3B4455;\n fill: #D2E3FC;\n }\n\n [theme=dark] .colab-df-convert:hover {\n background-color: #434B5C;\n box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n fill: #FFFFFF;\n }\n </style>\n\n <script>\n const buttonEl =\n document.querySelector('#df-fa4b1e91-f56a-4d5a-bde0-269a588278cf button.colab-df-convert');\n buttonEl.style.display =\n google.colab.kernel.accessAllowed ? 'block' : 'none';\n\n async function convertToInteractive(key) {\n const element = document.querySelector('#df-fa4b1e91-f56a-4d5a-bde0-269a588278cf');\n const dataTable =\n await google.colab.kernel.invokeFunction('convertToInteractive',\n [key], {});\n if (!dataTable) return;\n\n const docLinkHtml = 'Like what you see? Visit the ' +\n '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n + ' to learn more about interactive tables.';\n element.innerHTML = '';\n dataTable['output_type'] = 'display_data';\n await google.colab.output.renderOutput(dataTable, element);\n const docLink = document.createElement('div');\n docLink.innerHTML = docLinkHtml;\n element.appendChild(docLink);\n }\n </script>\n </div>\n </div>\n ",
"text/plain": " Murder Assault UrbanPop Rape\n0 0.746988 0.654110 0.440678 0.359173\n1 0.554217 0.746575 0.271186 0.961240\n2 0.439759 0.852740 0.813559 0.612403\n3 0.481928 0.496575 0.305085 0.315245\n4 0.493976 0.791096 1.000000 0.860465\n5 0.427711 0.544521 0.779661 0.811370\n6 0.150602 0.222603 0.762712 0.098191\n7 0.307229 0.660959 0.677966 0.219638\n8 0.879518 0.993151 0.813559 0.635659\n9 1.000000 0.568493 0.474576 0.478036\n10 0.271084 0.003425 0.864407 0.333333\n11 0.108434 0.256849 0.372881 0.178295\n12 0.578313 0.698630 0.864407 0.431525\n13 0.385542 0.232877 0.559322 0.354005\n14 0.084337 0.037671 0.423729 0.103359\n15 0.313253 0.239726 0.576271 0.276486\n16 0.536145 0.219178 0.338983 0.232558\n17 0.879518 0.698630 0.576271 0.385013\n18 0.078313 0.130137 0.322034 0.012920\n19 0.632530 0.873288 0.593220 0.529716\n20 0.216867 0.356164 0.898305 0.232558\n21 0.680723 0.719178 0.711864 0.718346\n22 0.114458 0.092466 0.576271 0.196382\n23 0.921687 0.732877 0.203390 0.253230\n24 0.493976 0.455479 0.644068 0.540052\n25 0.313253 0.219178 0.355932 0.235142\n26 0.210843 0.195205 0.508475 0.237726\n27 0.686747 0.708904 0.830508 1.000000\n28 0.078313 0.041096 0.406780 0.056848\n29 0.397590 0.390411 0.966102 0.297158\n30 0.638554 0.821918 0.644068 0.640827\n31 0.620482 0.715753 0.915254 0.485788\n32 0.734940 1.000000 0.220339 0.227390\n33 0.000000 0.000000 0.203390 0.000000\n34 0.391566 0.256849 0.728814 0.364341\n35 0.349398 0.363014 0.610169 0.328165\n36 0.246988 0.390411 0.593220 0.568475\n37 0.331325 0.208904 0.677966 0.196382\n38 0.156627 0.441781 0.932203 0.025840\n39 0.819277 0.801370 0.271186 0.392765\n40 0.180723 0.140411 0.220339 0.142119\n41 0.746988 0.489726 0.457627 0.506460\n42 0.716867 0.534247 0.813559 0.470284\n43 0.144578 0.256849 0.813559 0.403101\n44 0.084337 0.010274 0.000000 0.100775\n45 0.463855 0.380137 0.525424 0.346253\n46 0.192771 0.342466 0.694915 0.488372\n47 0.295181 0.123288 0.118644 0.051680\n48 0.108434 0.027397 0.576271 0.090439\n49 0.361446 0.397260 0.474576 0.214470"
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 413
},
"id": "x3Zb18ixNwUM",
"outputId": "ee41b7dd-ccd8-4fc5-f3dd-4484a0ddba38",
"trusted": false
},
"cell_type": "code",
"source": "from scipy.cluster.hierarchy import linkage\nimport scipy.cluster.hierarchy as sch\nz = linkage(df_norm,method=\"average\",metric=\"euclidean\")\nplt.figure(figsize=(35, 12))\nplt.title('Hierarchical Clustering Dendrogram')\nplt.xlabel('Index')\nplt.ylabel('Distance')\nsch.dendrogram(z)\nplt.show() ",
"execution_count": null,
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 2520x864 with 1 Axes>"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
]
},
{
"metadata": {
"id": "XJckHrEHUP83",
"trusted": false
},
"cell_type": "code",
"source": "from sklearn.cluster import AgglomerativeClustering\nimport warnings \nwarnings.filterwarnings(\"ignore\")\nh_complete = AgglomerativeClustering(n_clusters=4,linkage=\"average\",affinity=\"euclidean\").fit(df_norm)\ncluster_labels=pd.Series(h_complete.labels_)\ncluster_labels\ndf['clust']=cluster_labels # creating a new column and assigning clusters\n#df",
"execution_count": null,
"outputs": []
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "idP0l5oJV6Ye",
"outputId": "749088c3-966f-4faf-e7ee-f0d893bb82ea",
"trusted": false
},
"cell_type": "code",
"source": "df.iloc[:,1:].groupby(df.clust).mean()",
"execution_count": null,
"outputs": [
{
"data": {
"text/html": "\n <div id=\"df-3cfecaea-8c9a-4fc3-bce6-d61e9dd51aaf\">\n <div class=\"colab-df-container\">\n <div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Murder</th>\n <th>Assault</th>\n <th>UrbanPop</th>\n <th>Rape</th>\n <th>clust</th>\n </tr>\n <tr>\n <th>clust</th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>4.870000</td>\n <td>114.433333</td>\n <td>63.633333</td>\n <td>15.943333</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>1</th>\n <td>10.883333</td>\n <td>256.916667</td>\n <td>78.333333</td>\n <td>32.250000</td>\n <td>1.0</td>\n </tr>\n <tr>\n <th>2</th>\n <td>10.000000</td>\n <td>263.000000</td>\n <td>48.000000</td>\n <td>44.500000</td>\n <td>2.0</td>\n </tr>\n <tr>\n <th>3</th>\n <td>14.671429</td>\n <td>251.285714</td>\n <td>54.285714</td>\n <td>21.685714</td>\n <td>3.0</td>\n </tr>\n </tbody>\n</table>\n</div>\n <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-3cfecaea-8c9a-4fc3-bce6-d61e9dd51aaf')\"\n title=\"Convert this dataframe to an interactive table.\"\n style=\"display:none;\">\n \n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n width=\"24px\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n </svg>\n </button>\n \n <style>\n .colab-df-container {\n display:flex;\n flex-wrap:wrap;\n gap: 12px;\n }\n\n .colab-df-convert {\n background-color: #E8F0FE;\n border: none;\n border-radius: 50%;\n cursor: pointer;\n display: none;\n fill: #1967D2;\n height: 32px;\n padding: 0 0 0 0;\n width: 32px;\n }\n\n .colab-df-convert:hover {\n background-color: #E2EBFA;\n box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n fill: #174EA6;\n }\n\n [theme=dark] .colab-df-convert {\n background-color: #3B4455;\n fill: #D2E3FC;\n }\n\n [theme=dark] .colab-df-convert:hover {\n background-color: #434B5C;\n box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n fill: #FFFFFF;\n }\n </style>\n\n <script>\n const buttonEl =\n document.querySelector('#df-3cfecaea-8c9a-4fc3-bce6-d61e9dd51aaf button.colab-df-convert');\n buttonEl.style.display =\n google.colab.kernel.accessAllowed ? 'block' : 'none';\n\n async function convertToInteractive(key) {\n const element = document.querySelector('#df-3cfecaea-8c9a-4fc3-bce6-d61e9dd51aaf');\n const dataTable =\n await google.colab.kernel.invokeFunction('convertToInteractive',\n [key], {});\n if (!dataTable) return;\n\n const docLinkHtml = 'Like what you see? Visit the ' +\n '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n + ' to learn more about interactive tables.';\n element.innerHTML = '';\n dataTable['output_type'] = 'display_data';\n await google.colab.output.renderOutput(dataTable, element);\n const docLink = document.createElement('div');\n docLink.innerHTML = docLinkHtml;\n element.appendChild(docLink);\n }\n </script>\n </div>\n </div>\n ",
"text/plain": " Murder Assault UrbanPop Rape clust\nclust \n0 4.870000 114.433333 63.633333 15.943333 0.0\n1 10.883333 256.916667 78.333333 32.250000 1.0\n2 10.000000 263.000000 48.000000 44.500000 2.0\n3 14.671429 251.285714 54.285714 21.685714 3.0"
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"id": "3E2ULJEuWhUS"
},
"cell_type": "markdown",
"source": "# K Means Clustering"
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 530
},
"id": "qQ5duyCSWle1",
"outputId": "e15ca6a5-cfaf-496d-a5f0-d7497957833f",
"trusted": false
},
"cell_type": "code",
"source": "from sklearn.cluster import KMeans\nfig = plt.figure(figsize=(10,8))\nwcss= []\nfor i in range(1,10):\n clf= KMeans(n_clusters=i)\n clf.fit(df_norm)\n wcss.append(clf.inertia_)\nplt.plot(range(1,10),wcss)\nplt.title(\"The Elbow Method\")\nplt.xlabel(\"No of clusters\")\nplt.ylabel(\"wcss\")",
"execution_count": null,
"outputs": [
{
"data": {
"text/plain": "Text(0, 0.5, 'wcss')"
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 720x576 with 1 Axes>"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "M9sUEDCQYJqD",
"outputId": "2db7be6f-060d-4035-e792-f525fad68ce5",
"trusted": false
},
"cell_type": "code",
"source": "clf = KMeans(n_clusters=4)\ny_kmeans = clf.fit_predict(df_norm) \ny_kmeans",
"execution_count": null,
"outputs": [
{
"data": {
"text/plain": "array([2, 1, 1, 2, 1, 1, 3, 3, 1, 2, 3, 0, 1, 3, 0, 3, 0, 2, 0, 1, 3, 1,\n 0, 2, 3, 0, 0, 1, 0, 3, 1, 1, 2, 0, 3, 3, 3, 3, 3, 2, 0, 2, 1, 3,\n 0, 3, 3, 0, 0, 3], dtype=int32)"
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "sf8xiImGYfIB",
"outputId": "f80f3f55-f978-441c-f0bc-d0a72ac9b383",
"trusted": false
},
"cell_type": "code",
"source": "clf.cluster_centers_",
"execution_count": null,
"outputs": [
{
"data": {
"text/plain": "array([[0.1686747 , 0.11485774, 0.34028683, 0.12601868],\n [0.6124498 , 0.75 , 0.75423729, 0.67980189],\n [0.79141566, 0.6802226 , 0.36864407, 0.36466408],\n [0.30439405, 0.32937147, 0.70588235, 0.31098951]])"
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"id": "hx1KFqn-Ytjm",
"outputId": "85670cce-d6ec-4740-9eaa-bac902639abc",
"trusted": false
},
"cell_type": "code",
"source": "md= pd.Series(y_kmeans)\ndf['clust']=md\ndf",
"execution_count": null,
"outputs": [
{
"data": {
"text/html": "\n <div id=\"df-74fe6d4b-9396-4588-8e5d-50cd2f7e959a\">\n <div class=\"colab-df-container\">\n <div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Unnamed: 0</th>\n <th>Murder</th>\n <th>Assault</th>\n <th>UrbanPop</th>\n <th>Rape</th>\n <th>clust</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>Alabama</td>\n <td>13.2</td>\n <td>236</td>\n <td>58</td>\n <td>21.2</td>\n <td>2</td>\n </tr>\n <tr>\n <th>1</th>\n <td>Alaska</td>\n <td>10.0</td>\n <td>263</td>\n <td>48</td>\n <td>44.5</td>\n <td>1</td>\n </tr>\n <tr>\n <th>2</th>\n <td>Arizona</td>\n <td>8.1</td>\n <td>294</td>\n <td>80</td>\n <td>31.0</td>\n <td>1</td>\n </tr>\n <tr>\n <th>3</th>\n <td>Arkansas</td>\n <td>8.8</td>\n <td>190</td>\n <td>50</td>\n <td>19.5</td>\n <td>2</td>\n </tr>\n <tr>\n <th>4</th>\n <td>California</td>\n <td>9.0</td>\n <td>276</td>\n <td>91</td>\n <td>40.6</td>\n <td>1</td>\n </tr>\n <tr>\n <th>5</th>\n <td>Colorado</td>\n <td>7.9</td>\n <td>204</td>\n <td>78</td>\n <td>38.7</td>\n <td>1</td>\n </tr>\n <tr>\n <th>6</th>\n <td>Connecticut</td>\n <td>3.3</td>\n <td>110</td>\n <td>77</td>\n <td>11.1</td>\n <td>3</td>\n </tr>\n <tr>\n <th>7</th>\n <td>Delaware</td>\n <td>5.9</td>\n <td>238</td>\n <td>72</td>\n <td>15.8</td>\n <td>3</td>\n </tr>\n <tr>\n <th>8</th>\n <td>Florida</td>\n <td>15.4</td>\n <td>335</td>\n <td>80</td>\n <td>31.9</td>\n <td>1</td>\n </tr>\n <tr>\n <th>9</th>\n <td>Georgia</td>\n <td>17.4</td>\n <td>211</td>\n <td>60</td>\n <td>25.8</td>\n <td>2</td>\n </tr>\n <tr>\n <th>10</th>\n <td>Hawaii</td>\n <td>5.3</td>\n <td>46</td>\n <td>83</td>\n <td>20.2</td>\n <td>3</td>\n </tr>\n <tr>\n <th>11</th>\n <td>Idaho</td>\n <td>2.6</td>\n <td>120</td>\n <td>54</td>\n <td>14.2</td>\n <td>0</td>\n </tr>\n <tr>\n <th>12</th>\n <td>Illinois</td>\n <td>10.4</td>\n <td>249</td>\n <td>83</td>\n <td>24.0</td>\n <td>1</td>\n </tr>\n <tr>\n <th>13</th>\n <td>Indiana</td>\n <td>7.2</td>\n <td>113</td>\n <td>65</td>\n <td>21.0</td>\n <td>3</td>\n </tr>\n <tr>\n <th>14</th>\n <td>Iowa</td>\n <td>2.2</td>\n <td>56</td>\n <td>57</td>\n <td>11.3</td>\n <td>0</td>\n </tr>\n <tr>\n <th>15</th>\n <td>Kansas</td>\n <td>6.0</td>\n <td>115</td>\n <td>66</td>\n <td>18.0</td>\n <td>3</td>\n </tr>\n <tr>\n <th>16</th>\n <td>Kentucky</td>\n <td>9.7</td>\n <td>109</td>\n <td>52</td>\n <td>16.3</td>\n <td>0</td>\n </tr>\n <tr>\n <th>17</th>\n <td>Louisiana</td>\n <td>15.4</td>\n <td>249</td>\n <td>66</td>\n <td>22.2</td>\n <td>2</td>\n </tr>\n <tr>\n <th>18</th>\n <td>Maine</td>\n <td>2.1</td>\n <td>83</td>\n <td>51</td>\n <td>7.8</td>\n <td>0</td>\n </tr>\n <tr>\n <th>19</th>\n <td>Maryland</td>\n <td>11.3</td>\n <td>300</td>\n <td>67</td>\n <td>27.8</td>\n <td>1</td>\n </tr>\n <tr>\n <th>20</th>\n <td>Massachusetts</td>\n <td>4.4</td>\n <td>149</td>\n <td>85</td>\n <td>16.3</td>\n <td>3</td>\n </tr>\n <tr>\n <th>21</th>\n <td>Michigan</td>\n <td>12.1</td>\n <td>255</td>\n <td>74</td>\n <td>35.1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>22</th>\n <td>Minnesota</td>\n <td>2.7</td>\n <td>72</td>\n <td>66</td>\n <td>14.9</td>\n <td>0</td>\n </tr>\n <tr>\n <th>23</th>\n <td>Mississippi</td>\n <td>16.1</td>\n <td>259</td>\n <td>44</td>\n <td>17.1</td>\n <td>2</td>\n </tr>\n <tr>\n <th>24</th>\n <td>Missouri</td>\n <td>9.0</td>\n <td>178</td>\n <td>70</td>\n <td>28.2</td>\n <td>3</td>\n </tr>\n <tr>\n <th>25</th>\n <td>Montana</td>\n <td>6.0</td>\n <td>109</td>\n <td>53</td>\n <td>16.4</td>\n <td>0</td>\n </tr>\n <tr>\n <th>26</th>\n <td>Nebraska</td>\n <td>4.3</td>\n <td>102</td>\n <td>62</td>\n <td>16.5</td>\n <td>0</td>\n </tr>\n <tr>\n <th>27</th>\n <td>Nevada</td>\n <td>12.2</td>\n <td>252</td>\n <td>81</td>\n <td>46.0</td>\n <td>1</td>\n </tr>\n <tr>\n <th>28</th>\n <td>New Hampshire</td>\n <td>2.1</td>\n <td>57</td>\n <td>56</td>\n <td>9.5</td>\n <td>0</td>\n </tr>\n <tr>\n <th>29</th>\n <td>New Jersey</td>\n <td>7.4</td>\n <td>159</td>\n <td>89</td>\n <td>18.8</td>\n <td>3</td>\n </tr>\n <tr>\n <th>30</th>\n <td>New Mexico</td>\n <td>11.4</td>\n <td>285</td>\n <td>70</td>\n <td>32.1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>31</th>\n <td>New York</td>\n <td>11.1</td>\n <td>254</td>\n <td>86</td>\n <td>26.1</td>\n <td>1</td>\n </tr>\n <tr>\n <th>32</th>\n <td>North Carolina</td>\n <td>13.0</td>\n <td>337</td>\n <td>45</td>\n <td>16.1</td>\n <td>2</td>\n </tr>\n <tr>\n <th>33</th>\n <td>North Dakota</td>\n <td>0.8</td>\n <td>45</td>\n <td>44</td>\n <td>7.3</td>\n <td>0</td>\n </tr>\n <tr>\n <th>34</th>\n <td>Ohio</td>\n <td>7.3</td>\n <td>120</td>\n <td>75</td>\n <td>21.4</td>\n <td>3</td>\n </tr>\n <tr>\n <th>35</th>\n <td>Oklahoma</td>\n <td>6.6</td>\n <td>151</td>\n <td>68</td>\n <td>20.0</td>\n <td>3</td>\n </tr>\n <tr>\n <th>36</th>\n <td>Oregon</td>\n <td>4.9</td>\n <td>159</td>\n <td>67</td>\n <td>29.3</td>\n <td>3</td>\n </tr>\n <tr>\n <th>37</th>\n <td>Pennsylvania</td>\n <td>6.3</td>\n <td>106</td>\n <td>72</td>\n <td>14.9</td>\n <td>3</td>\n </tr>\n <tr>\n <th>38</th>\n <td>Rhode Island</td>\n <td>3.4</td>\n <td>174</td>\n <td>87</td>\n <td>8.3</td>\n <td>3</td>\n </tr>\n <tr>\n <th>39</th>\n <td>South Carolina</td>\n <td>14.4</td>\n <td>279</td>\n <td>48</td>\n <td>22.5</td>\n <td>2</td>\n </tr>\n <tr>\n <th>40</th>\n <td>South Dakota</td>\n <td>3.8</td>\n <td>86</td>\n <td>45</td>\n <td>12.8</td>\n <td>0</td>\n </tr>\n <tr>\n <th>41</th>\n <td>Tennessee</td>\n <td>13.2</td>\n <td>188</td>\n <td>59</td>\n <td>26.9</td>\n <td>2</td>\n </tr>\n <tr>\n <th>42</th>\n <td>Texas</td>\n <td>12.7</td>\n <td>201</td>\n <td>80</td>\n <td>25.5</td>\n <td>1</td>\n </tr>\n <tr>\n <th>43</th>\n <td>Utah</td>\n <td>3.2</td>\n <td>120</td>\n <td>80</td>\n <td>22.9</td>\n <td>3</td>\n </tr>\n <tr>\n <th>44</th>\n <td>Vermont</td>\n <td>2.2</td>\n <td>48</td>\n <td>32</td>\n <td>11.2</td>\n <td>0</td>\n </tr>\n <tr>\n <th>45</th>\n <td>Virginia</td>\n <td>8.5</td>\n <td>156</td>\n <td>63</td>\n <td>20.7</td>\n <td>3</td>\n </tr>\n <tr>\n <th>46</th>\n <td>Washington</td>\n <td>4.0</td>\n <td>145</td>\n <td>73</td>\n <td>26.2</td>\n <td>3</td>\n </tr>\n <tr>\n <th>47</th>\n <td>West Virginia</td>\n <td>5.7</td>\n <td>81</td>\n <td>39</td>\n <td>9.3</td>\n <td>0</td>\n </tr>\n <tr>\n <th>48</th>\n <td>Wisconsin</td>\n <td>2.6</td>\n <td>53</td>\n <td>66</td>\n <td>10.8</td>\n <td>0</td>\n </tr>\n <tr>\n <th>49</th>\n <td>Wyoming</td>\n <td>6.8</td>\n <td>161</td>\n <td>60</td>\n <td>15.6</td>\n <td>3</td>\n </tr>\n </tbody>\n</table>\n</div>\n <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-74fe6d4b-9396-4588-8e5d-50cd2f7e959a')\"\n title=\"Convert this dataframe to an interactive table.\"\n style=\"display:none;\">\n \n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n width=\"24px\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n </svg>\n </button>\n \n <style>\n .colab-df-container {\n display:flex;\n flex-wrap:wrap;\n gap: 12px;\n }\n\n .colab-df-convert {\n background-color: #E8F0FE;\n border: none;\n border-radius: 50%;\n cursor: pointer;\n display: none;\n fill: #1967D2;\n height: 32px;\n padding: 0 0 0 0;\n width: 32px;\n }\n\n .colab-df-convert:hover {\n background-color: #E2EBFA;\n box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n fill: #174EA6;\n }\n\n [theme=dark] .colab-df-convert {\n background-color: #3B4455;\n fill: #D2E3FC;\n }\n\n [theme=dark] .colab-df-convert:hover {\n background-color: #434B5C;\n box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n fill: #FFFFFF;\n }\n </style>\n\n <script>\n const buttonEl =\n document.querySelector('#df-74fe6d4b-9396-4588-8e5d-50cd2f7e959a button.colab-df-convert');\n buttonEl.style.display =\n google.colab.kernel.accessAllowed ? 'block' : 'none';\n\n async function convertToInteractive(key) {\n const element = document.querySelector('#df-74fe6d4b-9396-4588-8e5d-50cd2f7e959a');\n const dataTable =\n await google.colab.kernel.invokeFunction('convertToInteractive',\n [key], {});\n if (!dataTable) return;\n\n const docLinkHtml = 'Like what you see? Visit the ' +\n '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n + ' to learn more about interactive tables.';\n element.innerHTML = '';\n dataTable['output_type'] = 'display_data';\n await google.colab.output.renderOutput(dataTable, element);\n const docLink = document.createElement('div');\n docLink.innerHTML = docLinkHtml;\n element.appendChild(docLink);\n }\n </script>\n </div>\n </div>\n ",
"text/plain": " Unnamed: 0 Murder Assault UrbanPop Rape clust\n0 Alabama 13.2 236 58 21.2 2\n1 Alaska 10.0 263 48 44.5 1\n2 Arizona 8.1 294 80 31.0 1\n3 Arkansas 8.8 190 50 19.5 2\n4 California 9.0 276 91 40.6 1\n5 Colorado 7.9 204 78 38.7 1\n6 Connecticut 3.3 110 77 11.1 3\n7 Delaware 5.9 238 72 15.8 3\n8 Florida 15.4 335 80 31.9 1\n9 Georgia 17.4 211 60 25.8 2\n10 Hawaii 5.3 46 83 20.2 3\n11 Idaho 2.6 120 54 14.2 0\n12 Illinois 10.4 249 83 24.0 1\n13 Indiana 7.2 113 65 21.0 3\n14 Iowa 2.2 56 57 11.3 0\n15 Kansas 6.0 115 66 18.0 3\n16 Kentucky 9.7 109 52 16.3 0\n17 Louisiana 15.4 249 66 22.2 2\n18 Maine 2.1 83 51 7.8 0\n19 Maryland 11.3 300 67 27.8 1\n20 Massachusetts 4.4 149 85 16.3 3\n21 Michigan 12.1 255 74 35.1 1\n22 Minnesota 2.7 72 66 14.9 0\n23 Mississippi 16.1 259 44 17.1 2\n24 Missouri 9.0 178 70 28.2 3\n25 Montana 6.0 109 53 16.4 0\n26 Nebraska 4.3 102 62 16.5 0\n27 Nevada 12.2 252 81 46.0 1\n28 New Hampshire 2.1 57 56 9.5 0\n29 New Jersey 7.4 159 89 18.8 3\n30 New Mexico 11.4 285 70 32.1 1\n31 New York 11.1 254 86 26.1 1\n32 North Carolina 13.0 337 45 16.1 2\n33 North Dakota 0.8 45 44 7.3 0\n34 Ohio 7.3 120 75 21.4 3\n35 Oklahoma 6.6 151 68 20.0 3\n36 Oregon 4.9 159 67 29.3 3\n37 Pennsylvania 6.3 106 72 14.9 3\n38 Rhode Island 3.4 174 87 8.3 3\n39 South Carolina 14.4 279 48 22.5 2\n40 South Dakota 3.8 86 45 12.8 0\n41 Tennessee 13.2 188 59 26.9 2\n42 Texas 12.7 201 80 25.5 1\n43 Utah 3.2 120 80 22.9 3\n44 Vermont 2.2 48 32 11.2 0\n45 Virginia 8.5 156 63 20.7 3\n46 Washington 4.0 145 73 26.2 3\n47 West Virginia 5.7 81 39 9.3 0\n48 Wisconsin 2.6 53 66 10.8 0\n49 Wyoming 6.8 161 60 15.6 3"
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "U18h42DxZFLd",
"outputId": "64ef0fd4-b7e5-4c9b-cc29-e7c1e9253a9f",
"trusted": false
},
"cell_type": "code",
"source": "df.iloc[:,1:].groupby(df.clust).mean()",
"execution_count": null,
"outputs": [
{
"data": {
"text/html": "\n <div id=\"df-262129c3-0a22-4aaf-8273-32f996a4b3a2\">\n <div class=\"colab-df-container\">\n <div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Murder</th>\n <th>Assault</th>\n <th>UrbanPop</th>\n <th>Rape</th>\n <th>clust</th>\n </tr>\n <tr>\n <th>clust</th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>3.600000</td>\n <td>78.538462</td>\n <td>52.076923</td>\n <td>12.176923</td>\n <td>0.0</td>\n </tr>\n <tr>\n <th>1</th>\n <td>10.966667</td>\n <td>264.000000</td>\n <td>76.500000</td>\n <td>33.608333</td>\n <td>1.0</td>\n </tr>\n <tr>\n <th>2</th>\n <td>13.937500</td>\n <td>243.625000</td>\n <td>53.750000</td>\n <td>21.412500</td>\n <td>2.0</td>\n </tr>\n <tr>\n <th>3</th>\n <td>5.852941</td>\n <td>141.176471</td>\n <td>73.647059</td>\n <td>19.335294</td>\n <td>3.0</td>\n </tr>\n </tbody>\n</table>\n</div>\n <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-262129c3-0a22-4aaf-8273-32f996a4b3a2')\"\n title=\"Convert this dataframe to an interactive table.\"\n style=\"display:none;\">\n \n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n width=\"24px\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n </svg>\n </button>\n \n <style>\n .colab-df-container {\n display:flex;\n flex-wrap:wrap;\n gap: 12px;\n }\n\n .colab-df-convert {\n background-color: #E8F0FE;\n border: none;\n border-radius: 50%;\n cursor: pointer;\n display: none;\n fill: #1967D2;\n height: 32px;\n padding: 0 0 0 0;\n width: 32px;\n }\n\n .colab-df-convert:hover {\n background-color: #E2EBFA;\n box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n fill: #174EA6;\n }\n\n [theme=dark] .colab-df-convert {\n background-color: #3B4455;\n fill: #D2E3FC;\n }\n\n [theme=dark] .colab-df-convert:hover {\n background-color: #434B5C;\n box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n fill: #FFFFFF;\n }\n </style>\n\n <script>\n const buttonEl =\n document.querySelector('#df-262129c3-0a22-4aaf-8273-32f996a4b3a2 button.colab-df-convert');\n buttonEl.style.display =\n google.colab.kernel.accessAllowed ? 'block' : 'none';\n\n async function convertToInteractive(key) {\n const element = document.querySelector('#df-262129c3-0a22-4aaf-8273-32f996a4b3a2');\n const dataTable =\n await google.colab.kernel.invokeFunction('convertToInteractive',\n [key], {});\n if (!dataTable) return;\n\n const docLinkHtml = 'Like what you see? Visit the ' +\n '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n + ' to learn more about interactive tables.';\n element.innerHTML = '';\n dataTable['output_type'] = 'display_data';\n await google.colab.output.renderOutput(dataTable, element);\n const docLink = document.createElement('div');\n docLink.innerHTML = docLinkHtml;\n element.appendChild(docLink);\n }\n </script>\n </div>\n </div>\n ",
"text/plain": " Murder Assault UrbanPop Rape clust\nclust \n0 3.600000 78.538462 52.076923 12.176923 0.0\n1 10.966667 264.000000 76.500000 33.608333 1.0\n2 13.937500 243.625000 53.750000 21.412500 2.0\n3 5.852941 141.176471 73.647059 19.335294 3.0"
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 287
},
"id": "BHFKFL8aZPJT",
"outputId": "9f8f2c00-1e9d-4967-fa33-c44e28554b12",
"trusted": false
},
"cell_type": "code",
"source": "df.plot(y=\"Rape\", x= \"UrbanPop\", c=clf.labels_ ,kind=\"scatter\",s=50,cmap=plt.cm.coolwarm)\nplt.title('Clusters using kmeans')",
"execution_count": null,
"outputs": [
{
"data": {
"text/plain": "Text(0.5, 1.0, 'Clusters using kmeans')"
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 432x288 with 2 Axes>"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
]
},
{
"metadata": {
"id": "uWTnCJpoazXH"
},
"cell_type": "markdown",
"source": "# DB Scan"
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"id": "OL_6p3aGa2Sv",
"outputId": "cb1c4c37-eb6a-4c60-c68e-8a125fd5344c",
"trusted": false
},
"cell_type": "code",
"source": "from sklearn.cluster import DBSCAN\nfrom sklearn.preprocessing import StandardScaler\nscan = pd.read_csv(\"crime_data.csv\")\nscan",
"execution_count": null,
"outputs": [
{
"data": {
"text/html": "\n <div id=\"df-e7ee7e4a-4bb5-436b-957d-b4f55fb357e1\">\n <div class=\"colab-df-container\">\n <div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Unnamed: 0</th>\n <th>Murder</th>\n <th>Assault</th>\n <th>UrbanPop</th>\n <th>Rape</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>Alabama</td>\n <td>13.2</td>\n <td>236</td>\n <td>58</td>\n <td>21.2</td>\n </tr>\n <tr>\n <th>1</th>\n <td>Alaska</td>\n <td>10.0</td>\n <td>263</td>\n <td>48</td>\n <td>44.5</td>\n </tr>\n <tr>\n <th>2</th>\n <td>Arizona</td>\n <td>8.1</td>\n <td>294</td>\n <td>80</td>\n <td>31.0</td>\n </tr>\n <tr>\n <th>3</th>\n <td>Arkansas</td>\n <td>8.8</td>\n <td>190</td>\n <td>50</td>\n <td>19.5</td>\n </tr>\n <tr>\n <th>4</th>\n <td>California</td>\n <td>9.0</td>\n <td>276</td>\n <td>91</td>\n <td>40.6</td>\n </tr>\n <tr>\n <th>5</th>\n <td>Colorado</td>\n <td>7.9</td>\n <td>204</td>\n <td>78</td>\n <td>38.7</td>\n </tr>\n <tr>\n <th>6</th>\n <td>Connecticut</td>\n <td>3.3</td>\n <td>110</td>\n <td>77</td>\n <td>11.1</td>\n </tr>\n <tr>\n <th>7</th>\n <td>Delaware</td>\n <td>5.9</td>\n <td>238</td>\n <td>72</td>\n <td>15.8</td>\n </tr>\n <tr>\n <th>8</th>\n <td>Florida</td>\n <td>15.4</td>\n <td>335</td>\n <td>80</td>\n <td>31.9</td>\n </tr>\n <tr>\n <th>9</th>\n <td>Georgia</td>\n <td>17.4</td>\n <td>211</td>\n <td>60</td>\n <td>25.8</td>\n </tr>\n <tr>\n <th>10</th>\n <td>Hawaii</td>\n <td>5.3</td>\n <td>46</td>\n <td>83</td>\n <td>20.2</td>\n </tr>\n <tr>\n <th>11</th>\n <td>Idaho</td>\n <td>2.6</td>\n <td>120</td>\n <td>54</td>\n <td>14.2</td>\n </tr>\n <tr>\n <th>12</th>\n <td>Illinois</td>\n <td>10.4</td>\n <td>249</td>\n <td>83</td>\n <td>24.0</td>\n </tr>\n <tr>\n <th>13</th>\n <td>Indiana</td>\n <td>7.2</td>\n <td>113</td>\n <td>65</td>\n <td>21.0</td>\n </tr>\n <tr>\n <th>14</th>\n <td>Iowa</td>\n <td>2.2</td>\n <td>56</td>\n <td>57</td>\n <td>11.3</td>\n </tr>\n <tr>\n <th>15</th>\n <td>Kansas</td>\n <td>6.0</td>\n <td>115</td>\n <td>66</td>\n <td>18.0</td>\n </tr>\n <tr>\n <th>16</th>\n <td>Kentucky</td>\n <td>9.7</td>\n <td>109</td>\n <td>52</td>\n <td>16.3</td>\n </tr>\n <tr>\n <th>17</th>\n <td>Louisiana</td>\n <td>15.4</td>\n <td>249</td>\n <td>66</td>\n <td>22.2</td>\n </tr>\n <tr>\n <th>18</th>\n <td>Maine</td>\n <td>2.1</td>\n <td>83</td>\n <td>51</td>\n <td>7.8</td>\n </tr>\n <tr>\n <th>19</th>\n <td>Maryland</td>\n <td>11.3</td>\n <td>300</td>\n <td>67</td>\n <td>27.8</td>\n </tr>\n <tr>\n <th>20</th>\n <td>Massachusetts</td>\n <td>4.4</td>\n <td>149</td>\n <td>85</td>\n <td>16.3</td>\n </tr>\n <tr>\n <th>21</th>\n <td>Michigan</td>\n <td>12.1</td>\n <td>255</td>\n <td>74</td>\n <td>35.1</td>\n </tr>\n <tr>\n <th>22</th>\n <td>Minnesota</td>\n <td>2.7</td>\n <td>72</td>\n <td>66</td>\n <td>14.9</td>\n </tr>\n <tr>\n <th>23</th>\n <td>Mississippi</td>\n <td>16.1</td>\n <td>259</td>\n <td>44</td>\n <td>17.1</td>\n </tr>\n <tr>\n <th>24</th>\n <td>Missouri</td>\n <td>9.0</td>\n <td>178</td>\n <td>70</td>\n <td>28.2</td>\n </tr>\n <tr>\n <th>25</th>\n <td>Montana</td>\n <td>6.0</td>\n <td>109</td>\n <td>53</td>\n <td>16.4</td>\n </tr>\n <tr>\n <th>26</th>\n <td>Nebraska</td>\n <td>4.3</td>\n <td>102</td>\n <td>62</td>\n <td>16.5</td>\n </tr>\n <tr>\n <th>27</th>\n <td>Nevada</td>\n <td>12.2</td>\n <td>252</td>\n <td>81</td>\n <td>46.0</td>\n </tr>\n <tr>\n <th>28</th>\n <td>New Hampshire</td>\n <td>2.1</td>\n <td>57</td>\n <td>56</td>\n <td>9.5</td>\n </tr>\n <tr>\n <th>29</th>\n <td>New Jersey</td>\n <td>7.4</td>\n <td>159</td>\n <td>89</td>\n <td>18.8</td>\n </tr>\n <tr>\n <th>30</th>\n <td>New Mexico</td>\n <td>11.4</td>\n <td>285</td>\n <td>70</td>\n <td>32.1</td>\n </tr>\n <tr>\n <th>31</th>\n <td>New York</td>\n <td>11.1</td>\n <td>254</td>\n <td>86</td>\n <td>26.1</td>\n </tr>\n <tr>\n <th>32</th>\n <td>North Carolina</td>\n <td>13.0</td>\n <td>337</td>\n <td>45</td>\n <td>16.1</td>\n </tr>\n <tr>\n <th>33</th>\n <td>North Dakota</td>\n <td>0.8</td>\n <td>45</td>\n <td>44</td>\n <td>7.3</td>\n </tr>\n <tr>\n <th>34</th>\n <td>Ohio</td>\n <td>7.3</td>\n <td>120</td>\n <td>75</td>\n <td>21.4</td>\n </tr>\n <tr>\n <th>35</th>\n <td>Oklahoma</td>\n <td>6.6</td>\n <td>151</td>\n <td>68</td>\n <td>20.0</td>\n </tr>\n <tr>\n <th>36</th>\n <td>Oregon</td>\n <td>4.9</td>\n <td>159</td>\n <td>67</td>\n <td>29.3</td>\n </tr>\n <tr>\n <th>37</th>\n <td>Pennsylvania</td>\n <td>6.3</td>\n <td>106</td>\n <td>72</td>\n <td>14.9</td>\n </tr>\n <tr>\n <th>38</th>\n <td>Rhode Island</td>\n <td>3.4</td>\n <td>174</td>\n <td>87</td>\n <td>8.3</td>\n </tr>\n <tr>\n <th>39</th>\n <td>South Carolina</td>\n <td>14.4</td>\n <td>279</td>\n <td>48</td>\n <td>22.5</td>\n </tr>\n <tr>\n <th>40</th>\n <td>South Dakota</td>\n <td>3.8</td>\n <td>86</td>\n <td>45</td>\n <td>12.8</td>\n </tr>\n <tr>\n <th>41</th>\n <td>Tennessee</td>\n <td>13.2</td>\n <td>188</td>\n <td>59</td>\n <td>26.9</td>\n </tr>\n <tr>\n <th>42</th>\n <td>Texas</td>\n <td>12.7</td>\n <td>201</td>\n <td>80</td>\n <td>25.5</td>\n </tr>\n <tr>\n <th>43</th>\n <td>Utah</td>\n <td>3.2</td>\n <td>120</td>\n <td>80</td>\n <td>22.9</td>\n </tr>\n <tr>\n <th>44</th>\n <td>Vermont</td>\n <td>2.2</td>\n <td>48</td>\n <td>32</td>\n <td>11.2</td>\n </tr>\n <tr>\n <th>45</th>\n <td>Virginia</td>\n <td>8.5</td>\n <td>156</td>\n <td>63</td>\n <td>20.7</td>\n </tr>\n <tr>\n <th>46</th>\n <td>Washington</td>\n <td>4.0</td>\n <td>145</td>\n <td>73</td>\n <td>26.2</td>\n </tr>\n <tr>\n <th>47</th>\n <td>West Virginia</td>\n <td>5.7</td>\n <td>81</td>\n <td>39</td>\n <td>9.3</td>\n </tr>\n <tr>\n <th>48</th>\n <td>Wisconsin</td>\n <td>2.6</td>\n <td>53</td>\n <td>66</td>\n <td>10.8</td>\n </tr>\n <tr>\n <th>49</th>\n <td>Wyoming</td>\n <td>6.8</td>\n <td>161</td>\n <td>60</td>\n <td>15.6</td>\n </tr>\n </tbody>\n</table>\n</div>\n <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-e7ee7e4a-4bb5-436b-957d-b4f55fb357e1')\"\n title=\"Convert this dataframe to an interactive table.\"\n style=\"display:none;\">\n \n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n width=\"24px\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n </svg>\n </button>\n \n <style>\n .colab-df-container {\n display:flex;\n flex-wrap:wrap;\n gap: 12px;\n }\n\n .colab-df-convert {\n background-color: #E8F0FE;\n border: none;\n border-radius: 50%;\n cursor: pointer;\n display: none;\n fill: #1967D2;\n height: 32px;\n padding: 0 0 0 0;\n width: 32px;\n }\n\n .colab-df-convert:hover {\n background-color: #E2EBFA;\n box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n fill: #174EA6;\n }\n\n [theme=dark] .colab-df-convert {\n background-color: #3B4455;\n fill: #D2E3FC;\n }\n\n [theme=dark] .colab-df-convert:hover {\n background-color: #434B5C;\n box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n fill: #FFFFFF;\n }\n </style>\n\n <script>\n const buttonEl =\n document.querySelector('#df-e7ee7e4a-4bb5-436b-957d-b4f55fb357e1 button.colab-df-convert');\n buttonEl.style.display =\n google.colab.kernel.accessAllowed ? 'block' : 'none';\n\n async function convertToInteractive(key) {\n const element = document.querySelector('#df-e7ee7e4a-4bb5-436b-957d-b4f55fb357e1');\n const dataTable =\n await google.colab.kernel.invokeFunction('convertToInteractive',\n [key], {});\n if (!dataTable) return;\n\n const docLinkHtml = 'Like what you see? Visit the ' +\n '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n + ' to learn more about interactive tables.';\n element.innerHTML = '';\n dataTable['output_type'] = 'display_data';\n await google.colab.output.renderOutput(dataTable, element);\n const docLink = document.createElement('div');\n docLink.innerHTML = docLinkHtml;\n element.appendChild(docLink);\n }\n </script>\n </div>\n </div>\n ",
"text/plain": " Unnamed: 0 Murder Assault UrbanPop Rape\n0 Alabama 13.2 236 58 21.2\n1 Alaska 10.0 263 48 44.5\n2 Arizona 8.1 294 80 31.0\n3 Arkansas 8.8 190 50 19.5\n4 California 9.0 276 91 40.6\n5 Colorado 7.9 204 78 38.7\n6 Connecticut 3.3 110 77 11.1\n7 Delaware 5.9 238 72 15.8\n8 Florida 15.4 335 80 31.9\n9 Georgia 17.4 211 60 25.8\n10 Hawaii 5.3 46 83 20.2\n11 Idaho 2.6 120 54 14.2\n12 Illinois 10.4 249 83 24.0\n13 Indiana 7.2 113 65 21.0\n14 Iowa 2.2 56 57 11.3\n15 Kansas 6.0 115 66 18.0\n16 Kentucky 9.7 109 52 16.3\n17 Louisiana 15.4 249 66 22.2\n18 Maine 2.1 83 51 7.8\n19 Maryland 11.3 300 67 27.8\n20 Massachusetts 4.4 149 85 16.3\n21 Michigan 12.1 255 74 35.1\n22 Minnesota 2.7 72 66 14.9\n23 Mississippi 16.1 259 44 17.1\n24 Missouri 9.0 178 70 28.2\n25 Montana 6.0 109 53 16.4\n26 Nebraska 4.3 102 62 16.5\n27 Nevada 12.2 252 81 46.0\n28 New Hampshire 2.1 57 56 9.5\n29 New Jersey 7.4 159 89 18.8\n30 New Mexico 11.4 285 70 32.1\n31 New York 11.1 254 86 26.1\n32 North Carolina 13.0 337 45 16.1\n33 North Dakota 0.8 45 44 7.3\n34 Ohio 7.3 120 75 21.4\n35 Oklahoma 6.6 151 68 20.0\n36 Oregon 4.9 159 67 29.3\n37 Pennsylvania 6.3 106 72 14.9\n38 Rhode Island 3.4 174 87 8.3\n39 South Carolina 14.4 279 48 22.5\n40 South Dakota 3.8 86 45 12.8\n41 Tennessee 13.2 188 59 26.9\n42 Texas 12.7 201 80 25.5\n43 Utah 3.2 120 80 22.9\n44 Vermont 2.2 48 32 11.2\n45 Virginia 8.5 156 63 20.7\n46 Washington 4.0 145 73 26.2\n47 West Virginia 5.7 81 39 9.3\n48 Wisconsin 2.6 53 66 10.8\n49 Wyoming 6.8 161 60 15.6"
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "aE5EGnOfd5GG",
"outputId": "c60e63f7-de6e-479b-b33a-5dd1ab668667",
"trusted": false
},
"cell_type": "code",
"source": "scan.info()",
"execution_count": null,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "<class 'pandas.core.frame.DataFrame'>\nRangeIndex: 50 entries, 0 to 49\nData columns (total 5 columns):\n # Column Non-Null Count Dtype \n--- ------ -------------- ----- \n 0 Unnamed: 0 50 non-null object \n 1 Murder 50 non-null float64\n 2 Assault 50 non-null int64 \n 3 UrbanPop 50 non-null int64 \n 4 Rape 50 non-null float64\ndtypes: float64(2), int64(2), object(1)\nmemory usage: 2.1+ KB\n"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"id": "dl3Z2FM0bse7",
"outputId": "fc746afe-4e22-4290-d7ae-eec06c5f029d",
"trusted": false
},
"cell_type": "code",
"source": "scan1 = scan.drop(['Unnamed: 0'],axis=1)\nscan1",
"execution_count": null,
"outputs": [
{
"data": {
"text/html": "\n <div id=\"df-b0ff6977-0c28-4cc6-a93f-bc0488b0e950\">\n <div class=\"colab-df-container\">\n <div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Murder</th>\n <th>Assault</th>\n <th>UrbanPop</th>\n <th>Rape</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>13.2</td>\n <td>236</td>\n <td>58</td>\n <td>21.2</td>\n </tr>\n <tr>\n <th>1</th>\n <td>10.0</td>\n <td>263</td>\n <td>48</td>\n <td>44.5</td>\n </tr>\n <tr>\n <th>2</th>\n <td>8.1</td>\n <td>294</td>\n <td>80</td>\n <td>31.0</td>\n </tr>\n <tr>\n <th>3</th>\n <td>8.8</td>\n <td>190</td>\n <td>50</td>\n <td>19.5</td>\n </tr>\n <tr>\n <th>4</th>\n <td>9.0</td>\n <td>276</td>\n <td>91</td>\n <td>40.6</td>\n </tr>\n <tr>\n <th>5</th>\n <td>7.9</td>\n <td>204</td>\n <td>78</td>\n <td>38.7</td>\n </tr>\n <tr>\n <th>6</th>\n <td>3.3</td>\n <td>110</td>\n <td>77</td>\n <td>11.1</td>\n </tr>\n <tr>\n <th>7</th>\n <td>5.9</td>\n <td>238</td>\n <td>72</td>\n <td>15.8</td>\n </tr>\n <tr>\n <th>8</th>\n <td>15.4</td>\n <td>335</td>\n <td>80</td>\n <td>31.9</td>\n </tr>\n <tr>\n <th>9</th>\n <td>17.4</td>\n <td>211</td>\n <td>60</td>\n <td>25.8</td>\n </tr>\n <tr>\n <th>10</th>\n <td>5.3</td>\n <td>46</td>\n <td>83</td>\n <td>20.2</td>\n </tr>\n <tr>\n <th>11</th>\n <td>2.6</td>\n <td>120</td>\n <td>54</td>\n <td>14.2</td>\n </tr>\n <tr>\n <th>12</th>\n <td>10.4</td>\n <td>249</td>\n <td>83</td>\n <td>24.0</td>\n </tr>\n <tr>\n <th>13</th>\n <td>7.2</td>\n <td>113</td>\n <td>65</td>\n <td>21.0</td>\n </tr>\n <tr>\n <th>14</th>\n <td>2.2</td>\n <td>56</td>\n <td>57</td>\n <td>11.3</td>\n </tr>\n <tr>\n <th>15</th>\n <td>6.0</td>\n <td>115</td>\n <td>66</td>\n <td>18.0</td>\n </tr>\n <tr>\n <th>16</th>\n <td>9.7</td>\n <td>109</td>\n <td>52</td>\n <td>16.3</td>\n </tr>\n <tr>\n <th>17</th>\n <td>15.4</td>\n <td>249</td>\n <td>66</td>\n <td>22.2</td>\n </tr>\n <tr>\n <th>18</th>\n <td>2.1</td>\n <td>83</td>\n <td>51</td>\n <td>7.8</td>\n </tr>\n <tr>\n <th>19</th>\n <td>11.3</td>\n <td>300</td>\n <td>67</td>\n <td>27.8</td>\n </tr>\n <tr>\n <th>20</th>\n <td>4.4</td>\n <td>149</td>\n <td>85</td>\n <td>16.3</td>\n </tr>\n <tr>\n <th>21</th>\n <td>12.1</td>\n <td>255</td>\n <td>74</td>\n <td>35.1</td>\n </tr>\n <tr>\n <th>22</th>\n <td>2.7</td>\n <td>72</td>\n <td>66</td>\n <td>14.9</td>\n </tr>\n <tr>\n <th>23</th>\n <td>16.1</td>\n <td>259</td>\n <td>44</td>\n <td>17.1</td>\n </tr>\n <tr>\n <th>24</th>\n <td>9.0</td>\n <td>178</td>\n <td>70</td>\n <td>28.2</td>\n </tr>\n <tr>\n <th>25</th>\n <td>6.0</td>\n <td>109</td>\n <td>53</td>\n <td>16.4</td>\n </tr>\n <tr>\n <th>26</th>\n <td>4.3</td>\n <td>102</td>\n <td>62</td>\n <td>16.5</td>\n </tr>\n <tr>\n <th>27</th>\n <td>12.2</td>\n <td>252</td>\n <td>81</td>\n <td>46.0</td>\n </tr>\n <tr>\n <th>28</th>\n <td>2.1</td>\n <td>57</td>\n <td>56</td>\n <td>9.5</td>\n </tr>\n <tr>\n <th>29</th>\n <td>7.4</td>\n <td>159</td>\n <td>89</td>\n <td>18.8</td>\n </tr>\n <tr>\n <th>30</th>\n <td>11.4</td>\n <td>285</td>\n <td>70</td>\n <td>32.1</td>\n </tr>\n <tr>\n <th>31</th>\n <td>11.1</td>\n <td>254</td>\n <td>86</td>\n <td>26.1</td>\n </tr>\n <tr>\n <th>32</th>\n <td>13.0</td>\n <td>337</td>\n <td>45</td>\n <td>16.1</td>\n </tr>\n <tr>\n <th>33</th>\n <td>0.8</td>\n <td>45</td>\n <td>44</td>\n <td>7.3</td>\n </tr>\n <tr>\n <th>34</th>\n <td>7.3</td>\n <td>120</td>\n <td>75</td>\n <td>21.4</td>\n </tr>\n <tr>\n <th>35</th>\n <td>6.6</td>\n <td>151</td>\n <td>68</td>\n <td>20.0</td>\n </tr>\n <tr>\n <th>36</th>\n <td>4.9</td>\n <td>159</td>\n <td>67</td>\n <td>29.3</td>\n </tr>\n <tr>\n <th>37</th>\n <td>6.3</td>\n <td>106</td>\n <td>72</td>\n <td>14.9</td>\n </tr>\n <tr>\n <th>38</th>\n <td>3.4</td>\n <td>174</td>\n <td>87</td>\n <td>8.3</td>\n </tr>\n <tr>\n <th>39</th>\n <td>14.4</td>\n <td>279</td>\n <td>48</td>\n <td>22.5</td>\n </tr>\n <tr>\n <th>40</th>\n <td>3.8</td>\n <td>86</td>\n <td>45</td>\n <td>12.8</td>\n </tr>\n <tr>\n <th>41</th>\n <td>13.2</td>\n <td>188</td>\n <td>59</td>\n <td>26.9</td>\n </tr>\n <tr>\n <th>42</th>\n <td>12.7</td>\n <td>201</td>\n <td>80</td>\n <td>25.5</td>\n </tr>\n <tr>\n <th>43</th>\n <td>3.2</td>\n <td>120</td>\n <td>80</td>\n <td>22.9</td>\n </tr>\n <tr>\n <th>44</th>\n <td>2.2</td>\n <td>48</td>\n <td>32</td>\n <td>11.2</td>\n </tr>\n <tr>\n <th>45</th>\n <td>8.5</td>\n <td>156</td>\n <td>63</td>\n <td>20.7</td>\n </tr>\n <tr>\n <th>46</th>\n <td>4.0</td>\n <td>145</td>\n <td>73</td>\n <td>26.2</td>\n </tr>\n <tr>\n <th>47</th>\n <td>5.7</td>\n <td>81</td>\n <td>39</td>\n <td>9.3</td>\n </tr>\n <tr>\n <th>48</th>\n <td>2.6</td>\n <td>53</td>\n <td>66</td>\n <td>10.8</td>\n </tr>\n <tr>\n <th>49</th>\n <td>6.8</td>\n <td>161</td>\n <td>60</td>\n <td>15.6</td>\n </tr>\n </tbody>\n</table>\n</div>\n <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-b0ff6977-0c28-4cc6-a93f-bc0488b0e950')\"\n title=\"Convert this dataframe to an interactive table.\"\n style=\"display:none;\">\n \n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n width=\"24px\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n </svg>\n </button>\n \n <style>\n .colab-df-container {\n display:flex;\n flex-wrap:wrap;\n gap: 12px;\n }\n\n .colab-df-convert {\n background-color: #E8F0FE;\n border: none;\n border-radius: 50%;\n cursor: pointer;\n display: none;\n fill: #1967D2;\n height: 32px;\n padding: 0 0 0 0;\n width: 32px;\n }\n\n .colab-df-convert:hover {\n background-color: #E2EBFA;\n box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n fill: #174EA6;\n }\n\n [theme=dark] .colab-df-convert {\n background-color: #3B4455;\n fill: #D2E3FC;\n }\n\n [theme=dark] .colab-df-convert:hover {\n background-color: #434B5C;\n box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n fill: #FFFFFF;\n }\n </style>\n\n <script>\n const buttonEl =\n document.querySelector('#df-b0ff6977-0c28-4cc6-a93f-bc0488b0e950 button.colab-df-convert');\n buttonEl.style.display =\n google.colab.kernel.accessAllowed ? 'block' : 'none';\n\n async function convertToInteractive(key) {\n const element = document.querySelector('#df-b0ff6977-0c28-4cc6-a93f-bc0488b0e950');\n const dataTable =\n await google.colab.kernel.invokeFunction('convertToInteractive',\n [key], {});\n if (!dataTable) return;\n\n const docLinkHtml = 'Like what you see? Visit the ' +\n '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n + ' to learn more about interactive tables.';\n element.innerHTML = '';\n dataTable['output_type'] = 'display_data';\n await google.colab.output.renderOutput(dataTable, element);\n const docLink = document.createElement('div');\n docLink.innerHTML = docLinkHtml;\n element.appendChild(docLink);\n }\n </script>\n </div>\n </div>\n ",
"text/plain": " Murder Assault UrbanPop Rape\n0 13.2 236 58 21.2\n1 10.0 263 48 44.5\n2 8.1 294 80 31.0\n3 8.8 190 50 19.5\n4 9.0 276 91 40.6\n5 7.9 204 78 38.7\n6 3.3 110 77 11.1\n7 5.9 238 72 15.8\n8 15.4 335 80 31.9\n9 17.4 211 60 25.8\n10 5.3 46 83 20.2\n11 2.6 120 54 14.2\n12 10.4 249 83 24.0\n13 7.2 113 65 21.0\n14 2.2 56 57 11.3\n15 6.0 115 66 18.0\n16 9.7 109 52 16.3\n17 15.4 249 66 22.2\n18 2.1 83 51 7.8\n19 11.3 300 67 27.8\n20 4.4 149 85 16.3\n21 12.1 255 74 35.1\n22 2.7 72 66 14.9\n23 16.1 259 44 17.1\n24 9.0 178 70 28.2\n25 6.0 109 53 16.4\n26 4.3 102 62 16.5\n27 12.2 252 81 46.0\n28 2.1 57 56 9.5\n29 7.4 159 89 18.8\n30 11.4 285 70 32.1\n31 11.1 254 86 26.1\n32 13.0 337 45 16.1\n33 0.8 45 44 7.3\n34 7.3 120 75 21.4\n35 6.6 151 68 20.0\n36 4.9 159 67 29.3\n37 6.3 106 72 14.9\n38 3.4 174 87 8.3\n39 14.4 279 48 22.5\n40 3.8 86 45 12.8\n41 13.2 188 59 26.9\n42 12.7 201 80 25.5\n43 3.2 120 80 22.9\n44 2.2 48 32 11.2\n45 8.5 156 63 20.7\n46 4.0 145 73 26.2\n47 5.7 81 39 9.3\n48 2.6 53 66 10.8\n49 6.8 161 60 15.6"
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "tLze3K89eHc8",
"outputId": "52c24132-d545-4341-fc9b-82752f975089",
"trusted": false
},
"cell_type": "code",
"source": "array = scan1.values \narray ",
"execution_count": null,
"outputs": [
{
"data": {
"text/plain": "array([[ 13.2, 236. , 58. , 21.2],\n [ 10. , 263. , 48. , 44.5],\n [ 8.1, 294. , 80. , 31. ],\n [ 8.8, 190. , 50. , 19.5],\n [ 9. , 276. , 91. , 40.6],\n [ 7.9, 204. , 78. , 38.7],\n [ 3.3, 110. , 77. , 11.1],\n [ 5.9, 238. , 72. , 15.8],\n [ 15.4, 335. , 80. , 31.9],\n [ 17.4, 211. , 60. , 25.8],\n [ 5.3, 46. , 83. , 20.2],\n [ 2.6, 120. , 54. , 14.2],\n [ 10.4, 249. , 83. , 24. ],\n [ 7.2, 113. , 65. , 21. ],\n [ 2.2, 56. , 57. , 11.3],\n [ 6. , 115. , 66. , 18. ],\n [ 9.7, 109. , 52. , 16.3],\n [ 15.4, 249. , 66. , 22.2],\n [ 2.1, 83. , 51. , 7.8],\n [ 11.3, 300. , 67. , 27.8],\n [ 4.4, 149. , 85. , 16.3],\n [ 12.1, 255. , 74. , 35.1],\n [ 2.7, 72. , 66. , 14.9],\n [ 16.1, 259. , 44. , 17.1],\n [ 9. , 178. , 70. , 28.2],\n [ 6. , 109. , 53. , 16.4],\n [ 4.3, 102. , 62. , 16.5],\n [ 12.2, 252. , 81. , 46. ],\n [ 2.1, 57. , 56. , 9.5],\n [ 7.4, 159. , 89. , 18.8],\n [ 11.4, 285. , 70. , 32.1],\n [ 11.1, 254. , 86. , 26.1],\n [ 13. , 337. , 45. , 16.1],\n [ 0.8, 45. , 44. , 7.3],\n [ 7.3, 120. , 75. , 21.4],\n [ 6.6, 151. , 68. , 20. ],\n [ 4.9, 159. , 67. , 29.3],\n [ 6.3, 106. , 72. , 14.9],\n [ 3.4, 174. , 87. , 8.3],\n [ 14.4, 279. , 48. , 22.5],\n [ 3.8, 86. , 45. , 12.8],\n [ 13.2, 188. , 59. , 26.9],\n [ 12.7, 201. , 80. , 25.5],\n [ 3.2, 120. , 80. , 22.9],\n [ 2.2, 48. , 32. , 11.2],\n [ 8.5, 156. , 63. , 20.7],\n [ 4. , 145. , 73. , 26.2],\n [ 5.7, 81. , 39. , 9.3],\n [ 2.6, 53. , 66. , 10.8],\n [ 6.8, 161. , 60. , 15.6]])"
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "te34uXBseRnU",
"outputId": "f3b254bf-b0f9-4798-b650-f0d6a51c53fc",
"trusted": false
},
"cell_type": "code",
"source": "stdscal = StandardScaler().fit(array)\nx = stdscal.transform(array)\nx",
"execution_count": null,
"outputs": [
{
"data": {
"text/plain": "array([[ 1.25517927, 0.79078716, -0.52619514, -0.00345116],\n [ 0.51301858, 1.11805959, -1.22406668, 2.50942392],\n [ 0.07236067, 1.49381682, 1.00912225, 1.05346626],\n [ 0.23470832, 0.23321191, -1.08449238, -0.18679398],\n [ 0.28109336, 1.2756352 , 1.77678094, 2.08881393],\n [ 0.02597562, 0.40290872, 0.86954794, 1.88390137],\n [-1.04088037, -0.73648418, 0.79976079, -1.09272319],\n [-0.43787481, 0.81502956, 0.45082502, -0.58583422],\n [ 1.76541475, 1.99078607, 1.00912225, 1.1505301 ],\n [ 2.22926518, 0.48775713, -0.38662083, 0.49265293],\n [-0.57702994, -1.51224105, 1.21848371, -0.11129987],\n [-1.20322802, -0.61527217, -0.80534376, -0.75839217],\n [ 0.60578867, 0.94836277, 1.21848371, 0.29852525],\n [-0.13637203, -0.70012057, -0.03768506, -0.0250209 ],\n [-1.29599811, -1.39102904, -0.5959823 , -1.07115345],\n [-0.41468229, -0.67587817, 0.03210209, -0.34856705],\n [ 0.44344101, -0.74860538, -0.94491807, -0.53190987],\n [ 1.76541475, 0.94836277, 0.03210209, 0.10439756],\n [-1.31919063, -1.06375661, -1.01470522, -1.44862395],\n [ 0.81452136, 1.56654403, 0.10188925, 0.70835037],\n [-0.78576263, -0.26375734, 1.35805802, -0.53190987],\n [ 1.00006153, 1.02108998, 0.59039932, 1.49564599],\n [-1.1800355 , -1.19708982, 0.03210209, -0.68289807],\n [ 1.9277624 , 1.06957478, -1.5032153 , -0.44563089],\n [ 0.28109336, 0.0877575 , 0.31125071, 0.75148985],\n [-0.41468229, -0.74860538, -0.87513091, -0.521125 ],\n [-0.80895515, -0.83345379, -0.24704653, -0.51034012],\n [ 1.02325405, 0.98472638, 1.0789094 , 2.671197 ],\n [-1.31919063, -1.37890783, -0.66576945, -1.26528114],\n [-0.08998698, -0.14254532, 1.63720664, -0.26228808],\n [ 0.83771388, 1.38472601, 0.31125071, 1.17209984],\n [ 0.76813632, 1.00896878, 1.42784517, 0.52500755],\n [ 1.20879423, 2.01502847, -1.43342815, -0.55347961],\n [-1.62069341, -1.52436225, -1.5032153 , -1.50254831],\n [-0.11317951, -0.61527217, 0.66018648, 0.01811858],\n [-0.27552716, -0.23951493, 0.1716764 , -0.13286962],\n [-0.66980002, -0.14254532, 0.10188925, 0.87012344],\n [-0.34510472, -0.78496898, 0.45082502, -0.68289807],\n [-1.01768785, 0.03927269, 1.49763233, -1.39469959],\n [ 1.53348953, 1.3119988 , -1.22406668, 0.13675217],\n [-0.92491776, -1.027393 , -1.43342815, -0.90938037],\n [ 1.25517927, 0.20896951, -0.45640799, 0.61128652],\n [ 1.13921666, 0.36654512, 1.00912225, 0.46029832],\n [-1.06407289, -0.61527217, 1.00912225, 0.17989166],\n [-1.29599811, -1.48799864, -2.34066115, -1.08193832],\n [ 0.16513075, -0.17890893, -0.17725937, -0.05737552],\n [-0.87853272, -0.31224214, 0.52061217, 0.53579242],\n [-0.48425985, -1.08799901, -1.85215107, -1.28685088],\n [-1.20322802, -1.42739264, 0.03210209, -1.1250778 ],\n [-0.22914211, -0.11830292, -0.38662083, -0.60740397]])"
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"id": "V4FIKtCFex3b",
"outputId": "60379584-cec2-4c46-e64e-5afad57d8967",
"trusted": false
},
"cell_type": "code",
"source": "from sklearn.neighbors import NearestNeighbors\nneigh = NearestNeighbors(n_neighbors=8) #2n = 2*No of columns \nnbrs = neigh.fit(x)\ndistances , indices = nbrs.kneighbors(x)\ndistances = np.sort(distances, axis=0)\ndistances = distances[:,1]\nplt.plot(distances) ",
"execution_count": null,
"outputs": [
{
"data": {
"text/plain": "[<matplotlib.lines.Line2D at 0x7f3fba81b2d0>]"
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 432x288 with 1 Axes>"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ytr8tqkLgsTO",
"outputId": "8442af08-f90e-42fa-9014-14e996488df1",
"trusted": false
},
"cell_type": "code",
"source": "dbscan = DBSCAN(eps=1.25, min_samples=5)\ndbscan.fit(x)\ndbscan.labels_ ",
"execution_count": null,
"outputs": [
{
"data": {
"text/plain": "array([ 0, -1, 1, 2, -1, 1, 2, 2, -1, 0, 2, 2, 1, 2, 2, 2, 2,\n 0, 2, 1, 2, 1, 2, -1, 2, 2, 2, -1, 2, 2, 1, 1, -1, 2,\n 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2])"
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"id": "TqcR7hJeh_wJ",
"outputId": "ba519157-22c7-4e32-e83c-d551026476e4",
"trusted": false
},
"cell_type": "code",
"source": "cl=pd.DataFrame(dbscan.labels_,columns=['cluster']) \npd.set_option(\"display.max_rows\", None) \ncl",
"execution_count": null,
"outputs": [
{
"data": {
"text/html": "\n <div id=\"df-7ba4a237-b2e7-43a1-93f7-8615b94b8983\">\n <div class=\"colab-df-container\">\n <div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>cluster</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>0</td>\n </tr>\n <tr>\n <th>1</th>\n <td>-1</td>\n </tr>\n <tr>\n <th>2</th>\n <td>1</td>\n </tr>\n <tr>\n <th>3</th>\n <td>2</td>\n </tr>\n <tr>\n <th>4</th>\n <td>-1</td>\n </tr>\n <tr>\n <th>5</th>\n <td>1</td>\n </tr>\n <tr>\n <th>6</th>\n <td>2</td>\n </tr>\n <tr>\n <th>7</th>\n <td>2</td>\n </tr>\n <tr>\n <th>8</th>\n <td>-1</td>\n </tr>\n <tr>\n <th>9</th>\n <td>0</td>\n </tr>\n <tr>\n <th>10</th>\n <td>2</td>\n </tr>\n <tr>\n <th>11</th>\n <td>2</td>\n </tr>\n <tr>\n <th>12</th>\n <td>1</td>\n </tr>\n <tr>\n <th>13</th>\n <td>2</td>\n </tr>\n <tr>\n <th>14</th>\n <td>2</td>\n </tr>\n <tr>\n <th>15</th>\n <td>2</td>\n </tr>\n <tr>\n <th>16</th>\n <td>2</td>\n </tr>\n <tr>\n <th>17</th>\n <td>0</td>\n </tr>\n <tr>\n <th>18</th>\n <td>2</td>\n </tr>\n <tr>\n <th>19</th>\n <td>1</td>\n </tr>\n <tr>\n <th>20</th>\n <td>2</td>\n </tr>\n <tr>\n <th>21</th>\n <td>1</td>\n </tr>\n <tr>\n <th>22</th>\n <td>2</td>\n </tr>\n <tr>\n <th>23</th>\n <td>-1</td>\n </tr>\n <tr>\n <th>24</th>\n <td>2</td>\n </tr>\n <tr>\n <th>25</th>\n <td>2</td>\n </tr>\n <tr>\n <th>26</th>\n <td>2</td>\n </tr>\n <tr>\n <th>27</th>\n <td>-1</td>\n </tr>\n <tr>\n <th>28</th>\n <td>2</td>\n </tr>\n <tr>\n <th>29</th>\n <td>2</td>\n </tr>\n <tr>\n <th>30</th>\n <td>1</td>\n </tr>\n <tr>\n <th>31</th>\n <td>1</td>\n </tr>\n <tr>\n <th>32</th>\n <td>-1</td>\n </tr>\n <tr>\n <th>33</th>\n <td>2</td>\n </tr>\n <tr>\n <th>34</th>\n <td>2</td>\n </tr>\n <tr>\n <th>35</th>\n <td>2</td>\n </tr>\n <tr>\n <th>36</th>\n <td>2</td>\n </tr>\n <tr>\n <th>37</th>\n <td>2</td>\n </tr>\n <tr>\n <th>38</th>\n <td>2</td>\n </tr>\n <tr>\n <th>39</th>\n <td>0</td>\n </tr>\n <tr>\n <th>40</th>\n <td>2</td>\n </tr>\n <tr>\n <th>41</th>\n <td>0</td>\n </tr>\n <tr>\n <th>42</th>\n <td>2</td>\n </tr>\n <tr>\n <th>43</th>\n <td>2</td>\n </tr>\n <tr>\n <th>44</th>\n <td>2</td>\n </tr>\n <tr>\n <th>45</th>\n <td>2</td>\n </tr>\n <tr>\n <th>46</th>\n <td>2</td>\n </tr>\n <tr>\n <th>47</th>\n <td>2</td>\n </tr>\n <tr>\n <th>48</th>\n <td>2</td>\n </tr>\n <tr>\n <th>49</th>\n <td>2</td>\n </tr>\n </tbody>\n</table>\n</div>\n <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-7ba4a237-b2e7-43a1-93f7-8615b94b8983')\"\n title=\"Convert this dataframe to an interactive table.\"\n style=\"display:none;\">\n \n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n width=\"24px\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n </svg>\n </button>\n \n <style>\n .colab-df-container {\n display:flex;\n flex-wrap:wrap;\n gap: 12px;\n }\n\n .colab-df-convert {\n background-color: #E8F0FE;\n border: none;\n border-radius: 50%;\n cursor: pointer;\n display: none;\n fill: #1967D2;\n height: 32px;\n padding: 0 0 0 0;\n width: 32px;\n }\n\n .colab-df-convert:hover {\n background-color: #E2EBFA;\n box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n fill: #174EA6;\n }\n\n [theme=dark] .colab-df-convert {\n background-color: #3B4455;\n fill: #D2E3FC;\n }\n\n [theme=dark] .colab-df-convert:hover {\n background-color: #434B5C;\n box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n fill: #FFFFFF;\n }\n </style>\n\n <script>\n const buttonEl =\n document.querySelector('#df-7ba4a237-b2e7-43a1-93f7-8615b94b8983 button.colab-df-convert');\n buttonEl.style.display =\n google.colab.kernel.accessAllowed ? 'block' : 'none';\n\n async function convertToInteractive(key) {\n const element = document.querySelector('#df-7ba4a237-b2e7-43a1-93f7-8615b94b8983');\n const dataTable =\n await google.colab.kernel.invokeFunction('convertToInteractive',\n [key], {});\n if (!dataTable) return;\n\n const docLinkHtml = 'Like what you see? Visit the ' +\n '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n + ' to learn more about interactive tables.';\n element.innerHTML = '';\n dataTable['output_type'] = 'display_data';\n await google.colab.output.renderOutput(dataTable, element);\n const docLink = document.createElement('div');\n docLink.innerHTML = docLinkHtml;\n element.appendChild(docLink);\n }\n </script>\n </div>\n </div>\n ",
"text/plain": " cluster\n0 0\n1 -1\n2 1\n3 2\n4 -1\n5 1\n6 2\n7 2\n8 -1\n9 0\n10 2\n11 2\n12 1\n13 2\n14 2\n15 2\n16 2\n17 0\n18 2\n19 1\n20 2\n21 1\n22 2\n23 -1\n24 2\n25 2\n26 2\n27 -1\n28 2\n29 2\n30 1\n31 1\n32 -1\n33 2\n34 2\n35 2\n36 2\n37 2\n38 2\n39 0\n40 2\n41 0\n42 2\n43 2\n44 2\n45 2\n46 2\n47 2\n48 2\n49 2"
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "8YKn1JLAiJWl",
"outputId": "354fa645-e117-49ed-91ea-963c10fb97f9",
"trusted": false
},
"cell_type": "code",
"source": "scan2= pd.concat([scan,cl],axis=1) \nscan2.head() ",
"execution_count": null,
"outputs": [
{
"data": {
"text/html": "\n <div id=\"df-efcfa550-d771-472e-8fd5-4e47547df23e\">\n <div class=\"colab-df-container\">\n <div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Unnamed: 0</th>\n <th>Murder</th>\n <th>Assault</th>\n <th>UrbanPop</th>\n <th>Rape</th>\n <th>cluster</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>Alabama</td>\n <td>13.2</td>\n <td>236</td>\n <td>58</td>\n <td>21.2</td>\n <td>0</td>\n </tr>\n <tr>\n <th>1</th>\n <td>Alaska</td>\n <td>10.0</td>\n <td>263</td>\n <td>48</td>\n <td>44.5</td>\n <td>-1</td>\n </tr>\n <tr>\n <th>2</th>\n <td>Arizona</td>\n <td>8.1</td>\n <td>294</td>\n <td>80</td>\n <td>31.0</td>\n <td>1</td>\n </tr>\n <tr>\n <th>3</th>\n <td>Arkansas</td>\n <td>8.8</td>\n <td>190</td>\n <td>50</td>\n <td>19.5</td>\n <td>2</td>\n </tr>\n <tr>\n <th>4</th>\n <td>California</td>\n <td>9.0</td>\n <td>276</td>\n <td>91</td>\n <td>40.6</td>\n <td>-1</td>\n </tr>\n </tbody>\n</table>\n</div>\n <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-efcfa550-d771-472e-8fd5-4e47547df23e')\"\n title=\"Convert this dataframe to an interactive table.\"\n style=\"display:none;\">\n \n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n width=\"24px\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n </svg>\n </button>\n \n <style>\n .colab-df-container {\n display:flex;\n flex-wrap:wrap;\n gap: 12px;\n }\n\n .colab-df-convert {\n background-color: #E8F0FE;\n border: none;\n border-radius: 50%;\n cursor: pointer;\n display: none;\n fill: #1967D2;\n height: 32px;\n padding: 0 0 0 0;\n width: 32px;\n }\n\n .colab-df-convert:hover {\n background-color: #E2EBFA;\n box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n fill: #174EA6;\n }\n\n [theme=dark] .colab-df-convert {\n background-color: #3B4455;\n fill: #D2E3FC;\n }\n\n [theme=dark] .colab-df-convert:hover {\n background-color: #434B5C;\n box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n fill: #FFFFFF;\n }\n </style>\n\n <script>\n const buttonEl =\n document.querySelector('#df-efcfa550-d771-472e-8fd5-4e47547df23e button.colab-df-convert');\n buttonEl.style.display =\n google.colab.kernel.accessAllowed ? 'block' : 'none';\n\n async function convertToInteractive(key) {\n const element = document.querySelector('#df-efcfa550-d771-472e-8fd5-4e47547df23e');\n const dataTable =\n await google.colab.kernel.invokeFunction('convertToInteractive',\n [key], {});\n if (!dataTable) return;\n\n const docLinkHtml = 'Like what you see? Visit the ' +\n '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n + ' to learn more about interactive tables.';\n element.innerHTML = '';\n dataTable['output_type'] = 'display_data';\n await google.colab.output.renderOutput(dataTable, element);\n const docLink = document.createElement('div');\n docLink.innerHTML = docLinkHtml;\n element.appendChild(docLink);\n }\n </script>\n </div>\n </div>\n ",
"text/plain": " Unnamed: 0 Murder Assault UrbanPop Rape cluster\n0 Alabama 13.2 236 58 21.2 0\n1 Alaska 10.0 263 48 44.5 -1\n2 Arizona 8.1 294 80 31.0 1\n3 Arkansas 8.8 190 50 19.5 2\n4 California 9.0 276 91 40.6 -1"
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 287
},
"id": "ZthAicAwiY2f",
"outputId": "e671d694-e116-41ae-f282-f8aff05ede57",
"trusted": false
},
"cell_type": "code",
"source": "scan2.plot(x =\"Assault\",y =\"Rape\",c=dbscan.labels_ ,kind=\"scatter\",s=50 ,cmap=plt.cm.copper_r) \nplt.title('Clusters using DBScan') ",
"execution_count": null,
"outputs": [
{
"data": {
"text/plain": "Text(0.5, 1.0, 'Clusters using DBScan')"
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 432x288 with 2 Axes>"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
]
},
{
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "SFdItfOeinda",
"outputId": "7977f2c9-0f95-4028-9bd3-e36a723e1447",
"trusted": false
},
"cell_type": "code",
"source": "dl = dbscan.labels_ \nimport sklearn\nsklearn.metrics.silhouette_score(x, dl) ",
"execution_count": null,
"outputs": [
{
"data": {
"text/plain": "0.23869670053300915"
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
]
}
],
"metadata": {
"colab": {
"provenance": []
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3 (ipykernel)",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.9.13",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "",
"data": {
"description": "!excelR/assignments/Gists/crime_data_clustering_assgn.ipynb",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment