From 52cbd16443688a9cf46b6e49ed8394a01e1d99de Mon Sep 17 00:00:00 2001 From: Jen Looper Date: Tue, 25 May 2021 17:08:34 -0400 Subject: [PATCH] clustering vis --- .../1-Visualize/solution/notebook.ipynb | 169 +++++++----------- 1 file changed, 67 insertions(+), 102 deletions(-) diff --git a/Clustering/1-Visualize/solution/notebook.ipynb b/Clustering/1-Visualize/solution/notebook.ipynb index c1833fa3..8009862f 100644 --- a/Clustering/1-Visualize/solution/notebook.ipynb +++ b/Clustering/1-Visualize/solution/notebook.ipynb @@ -35,7 +35,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -43,15 +43,15 @@ "name": "stdout", "text": [ "Requirement already satisfied: seaborn in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (0.11.1)\n", - "Requirement already satisfied: scipy>=1.0 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from seaborn) (1.4.1)\n", "Requirement already satisfied: pandas>=0.23 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from seaborn) (1.1.2)\n", - "Requirement already satisfied: numpy>=1.15 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from seaborn) (1.19.2)\n", "Requirement already satisfied: matplotlib>=2.2 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from seaborn) (3.1.0)\n", - "Requirement already satisfied: python-dateutil>=2.7.3 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from pandas>=0.23->seaborn) (2.8.0)\n", + "Requirement already satisfied: numpy>=1.15 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from seaborn) (1.19.2)\n", + "Requirement already satisfied: scipy>=1.0 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from seaborn) (1.4.1)\n", "Requirement already satisfied: pytz>=2017.2 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from pandas>=0.23->seaborn) (2019.1)\n", - "Requirement already satisfied: cycler>=0.10 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from matplotlib>=2.2->seaborn) (0.10.0)\n", + "Requirement already satisfied: python-dateutil>=2.7.3 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from pandas>=0.23->seaborn) (2.8.0)\n", "Requirement already satisfied: kiwisolver>=1.0.1 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from matplotlib>=2.2->seaborn) (1.1.0)\n", "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from matplotlib>=2.2->seaborn) (2.4.0)\n", + "Requirement already satisfied: cycler>=0.10 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from matplotlib>=2.2->seaborn) (0.10.0)\n", "Requirement already satisfied: six>=1.5 in /Users/jenlooper/Library/Python/3.7/lib/python/site-packages (from python-dateutil>=2.7.3->pandas>=0.23->seaborn) (1.12.0)\n", "Requirement already satisfied: setuptools in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from kiwisolver>=1.0.1->matplotlib>=2.2->seaborn) (45.1.0)\n", "\u001b[33mWARNING: You are using pip version 20.2.3; however, version 21.1.2 is available.\n", @@ -66,45 +66,26 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 7, "metadata": {}, "outputs": [ { - "output_type": "execute_result", - "data": { - "text/plain": [ - " name album \\\n", - "0 Sparky Mandy & The Jungle \n", - "1 shuga rush EVERYTHING YOU HEARD IS TRUE \n", - "2 LITT! LITT! \n", - "3 Confident / Feeling Cool Enjoy Your Life \n", - "4 wanted you rare. \n", - "\n", - " artist artist_top_genre release_date length popularity \\\n", - "0 Cruel Santino alternative r&b 2019 144000 48 \n", - "1 Odunsi (The Engine) afropop 2020 89488 30 \n", - "2 AYLØ indie r&b 2018 207758 40 \n", - "3 Lady Donli nigerian pop 2019 175135 14 \n", - "4 Odunsi (The Engine) afropop 2018 152049 25 \n", - "\n", - " danceability acousticness energy instrumentalness liveness loudness \\\n", - "0 0.666 0.8510 0.420 0.534000 0.1100 -6.699 \n", - "1 0.710 0.0822 0.683 0.000169 0.1010 -5.640 \n", - "2 0.836 0.2720 0.564 0.000537 0.1100 -7.127 \n", - "3 0.894 0.7980 0.611 0.000187 0.0964 -4.961 \n", - "4 0.702 0.1160 0.833 0.910000 0.3480 -6.044 \n", - "\n", - " speechiness tempo time_signature \n", - "0 0.0829 133.015 5 \n", - "1 0.3600 129.993 3 \n", - "2 0.0424 130.005 4 \n", - "3 0.1130 111.087 4 \n", - "4 0.0447 105.115 4 " - ], - "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
namealbumartistartist_top_genrerelease_datelengthpopularitydanceabilityacousticnessenergyinstrumentalnesslivenessloudnessspeechinesstempotime_signature
0SparkyMandy & The JungleCruel Santinoalternative r&b2019144000480.6660.85100.4200.5340000.1100-6.6990.0829133.0155
1shuga rushEVERYTHING YOU HEARD IS TRUEOdunsi (The Engine)afropop202089488300.7100.08220.6830.0001690.1010-5.6400.3600129.9933
2LITT!LITT!AYLØindie r&b2018207758400.8360.27200.5640.0005370.1100-7.1270.0424130.0054
3Confident / Feeling CoolEnjoy Your LifeLady Donlinigerian pop2019175135140.8940.79800.6110.0001870.0964-4.9610.1130111.0874
4wanted yourare.Odunsi (The Engine)afropop2018152049250.7020.11600.8330.9100000.3480-6.0440.0447105.1154
\n
" - }, - "metadata": {}, - "execution_count": 2 + "output_type": "error", + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: '../../data/nigerian-songs.csv'", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mpandas\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_csv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"../../data/nigerian-songs.csv\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhead\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36mread_csv\u001b[0;34m(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, dialect, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision)\u001b[0m\n\u001b[1;32m 684\u001b[0m )\n\u001b[1;32m 685\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 686\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_read\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath_or_buffer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 687\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 688\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m_read\u001b[0;34m(filepath_or_buffer, kwds)\u001b[0m\n\u001b[1;32m 450\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 451\u001b[0m \u001b[0;31m# Create the parser.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 452\u001b[0;31m \u001b[0mparser\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mTextFileReader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfp_or_buf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 453\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 454\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mchunksize\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0miterator\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, f, engine, **kwds)\u001b[0m\n\u001b[1;32m 934\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moptions\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"has_index_names\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mkwds\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"has_index_names\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 935\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 936\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_make_engine\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mengine\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 937\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 938\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mclose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m_make_engine\u001b[0;34m(self, engine)\u001b[0m\n\u001b[1;32m 1166\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_make_engine\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mengine\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"c\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1167\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"c\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1168\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mCParserWrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moptions\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1169\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1170\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mengine\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"python\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/io/parsers.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, src, **kwds)\u001b[0m\n\u001b[1;32m 1996\u001b[0m \u001b[0mkwds\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"usecols\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0musecols\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1997\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1998\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_reader\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mparsers\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTextReader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msrc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1999\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munnamed_cols\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_reader\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munnamed_cols\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2000\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32mpandas/_libs/parsers.pyx\u001b[0m in \u001b[0;36mpandas._libs.parsers.TextReader.__cinit__\u001b[0;34m()\u001b[0m\n", + "\u001b[0;32mpandas/_libs/parsers.pyx\u001b[0m in \u001b[0;36mpandas._libs.parsers.TextReader._setup_parser_source\u001b[0;34m()\u001b[0m\n", + "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: '../../data/nigerian-songs.csv'" + ] } ], "source": [ @@ -275,7 +256,6 @@ } ], "source": [ - "\n", "df = df[df['artist_top_genre'] != 'Missing']\n", "top = df['artist_top_genre'].value_counts()\n", "plt.figure(figsize=(10,7))\n", @@ -293,35 +273,25 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 1, "metadata": {}, "outputs": [ { - "output_type": "execute_result", - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Top genres')" - ] - }, - "metadata": {}, - "execution_count": 7 - }, - { - "output_type": "display_data", - "data": { - "text/plain": "
", - "image/svg+xml": "\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", - "image/png": "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\n" - }, - "metadata": { - "needs_background": "light" - } + "output_type": "error", + "ename": "NameError", + "evalue": "name 'df' is not defined", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'artist_top_genre'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'afro dancehall'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m|\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'artist_top_genre'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'afropop'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m|\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'artist_top_genre'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'nigerian pop'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'popularity'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mtop\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'artist_top_genre'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalue_counts\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfigsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m7\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'df' is not defined" + ] } ], "source": [ - "\n", - "\n", "df = df[(df['artist_top_genre'] == 'afro dancehall') | (df['artist_top_genre'] == 'afropop') | (df['artist_top_genre'] == 'nigerian pop')]\n", + "df = df[(df['popularity'] > 0)]\n", + "print(df)\n", "top = df['artist_top_genre'].value_counts()\n", "plt.figure(figsize=(10,7))\n", "sns.barplot(x=top.index,y=top.values)\n", @@ -404,7 +374,7 @@ "# Show the joint distribution using kernel density estimation\n", "g = sns.jointplot(\n", " data=df,\n", - " x=\"acousticness\", y=\"danceability\", hue=\"artist_top_genre\",\n", + " x=\"popularity\", y=\"danceability\", hue=\"artist_top_genre\",\n", " kind=\"kde\",\n", ")" ] @@ -449,7 +419,7 @@ } ], "source": [ - "df.plot(kind=\"scatter\", x=\"danceability\", y=\"acousticness\")" + "df.plot(kind=\"scatter\", x=\"popularity\", y=\"danceability\")" ] }, { @@ -506,7 +476,7 @@ "import seaborn as sns\n", "\n", "sns.FacetGrid(df, hue=\"artist_top_genre\", size=5) \\\n", - " .map(plt.scatter, \"danceability\", \"acousticness\") \\\n", + " .map(plt.scatter, \"popularity\", \"danceability\") \\\n", " .add_legend()" ] }, @@ -552,7 +522,7 @@ } ], "source": [ - "sns.swarmplot(x=df['danceability'],\n", + "sns.swarmplot(x=df['popularity'],\n", " y=df['artist_top_genre'])" ] }, @@ -585,48 +555,36 @@ } ], "source": [ - "from scipy.cluster.hierarchy import linkage, dendrogram\n", - "import matplotlib.pyplot as plt\n", - "from sklearn.preprocessing import normalize\n", - "\n", - "# Calculate the linkage: mergings\n", - "mergings = linkage(df,method='complete')\n", - "\n", + "selection = df[['popularity','danceability']]\n", + "print(selection)\n", "\n", - "# Plot the dendrogram, using names as labels\n", - "dendrogram(mergings)\n", - "plt.title('Hierarchical Clustering')\n", - "plt.figure(figsize=(200, 60))\n", + "from sklearn.cluster import KMeans\n", + "kmeans = KMeans(n_clusters = 3)\n", + "kmeans.fit(selection)\n", + "labels = kmeans.predict(selection)\n", + "plt.scatter(df['popularity'],df['danceability'],c = labels)\n", + "plt.xlabel('danceability')\n", + "plt.xlabel('popularity')\n", "plt.show()\n" ] }, { "cell_type": "code", - "execution_count": 51, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": "
", - "image/svg+xml": "\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", - "image/png": "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\n" - }, - "metadata": {} - } - ], + "outputs": [], "source": [ - "df = pd.read_csv(\"../../data/nigerian-songs.csv\")\n", - "new_columns = ['acousticness', 'danceability']\n", - "df = df.drop([c for c in df.columns if c not in new_columns], axis=1)\n", "from sklearn.cluster import KMeans\n", - "kmeans = KMeans(n_clusters = 2)\n", - "kmeans.fit(df)\n", - "labels = kmeans.predict(df)\n", - "plt.scatter(df['acousticness'],df['danceability'],c = labels)\n", - "plt.xlabel('danceability')\n", - "plt.xlabel('acousticness')\n", - "plt.show()" + "wcss = []\n", + "\n", + "X = df[['popularity','danceability']].values\n", + "\n", + "\n", + "for i in range(1, 11):\n", + " kmeans = KMeans(n_clusters = i, init = 'k-means++', random_state = 42)\n", + " kmeans.fit(X)\n", + " # inertia method returns wcss for that model\n", + " wcss.append(kmeans.inertia_)" ] }, { @@ -634,7 +592,14 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "plt.figure(figsize=(10,5))\n", + "sns.lineplot(range(1, 11), wcss,marker='o',color='red')\n", + "plt.title('The Elbow Method')\n", + "plt.xlabel('Number of clusters')\n", + "plt.ylabel('WCSS')\n", + "plt.show()" + ] } ] } \ No newline at end of file