From ab2a7fe9c81b0a1c16a789fd0186fb6e63b955e2 Mon Sep 17 00:00:00 2001 From: Jen Looper Date: Mon, 14 Jun 2021 20:49:52 -0400 Subject: [PATCH] graphic for ai/ml/dl/ds --- 1-Introduction/1-intro-to-ML/README.md | 4 +- .../1-intro-to-ML/images/ai-ml-ds.png | Bin 0 -> 60304 bytes .../4-Applied/solution/model-kn.onnx | Bin 4255854 -> 0 bytes .../4-Applied/solution/recipe-detector.ipynb | 101 ++---- 5-Clustering/2-K-Means/solution/tester.ipynb | 332 ++++++++++++++++++ 5 files changed, 374 insertions(+), 63 deletions(-) create mode 100644 1-Introduction/1-intro-to-ML/images/ai-ml-ds.png delete mode 100644 4-Classification/4-Applied/solution/model-kn.onnx create mode 100644 5-Clustering/2-K-Means/solution/tester.ipynb diff --git a/1-Introduction/1-intro-to-ML/README.md b/1-Introduction/1-intro-to-ML/README.md index 4965022be..631f2d0f0 100644 --- a/1-Introduction/1-intro-to-ML/README.md +++ b/1-Introduction/1-intro-to-ML/README.md @@ -42,7 +42,9 @@ The [human brain](https://www.livescience.com/29365-human-brain.html) perceives In this curriculum, we are going to cover only the core concepts of Machine Learning that a beginner must know. We cover what we call 'Classical Machine Learning', avoiding the complexities of neural networks, 'Deep Learning' - many-layered model-building - and AI, which we will discuss in a different curriculum. But to understand broader concepts of Artificial Intelligence or Deep Learning, a strong fundamental knowledge of Machine Learning is indispensable, and so we would like to offer it here. -TODO: a diagram like this one: https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining +![AI, ML, Deep Learning, Data Science](images/ai-ml-ds.png) + +> A diagram showing the relationships between AI, ML, Deep Learning, and Data Science. Infographic by [Jen Looper](https://twitter.com/jenlooper) inspired by [this graphic](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining) The major motivation behind leveraging Machine Learning is to create automated systems that can learn hidden patterns from data to infer intelligent decisions which seem to be loosely inspired by how the human brain learns certain things based on the data it perceives from the outside world. diff --git a/1-Introduction/1-intro-to-ML/images/ai-ml-ds.png b/1-Introduction/1-intro-to-ML/images/ai-ml-ds.png new file mode 100644 index 0000000000000000000000000000000000000000..11c9bf3767955eedb662fa6a4430064babeec5cc GIT binary patch literal 60304 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 literal 0 HcmV?d00001 diff --git a/4-Classification/4-Applied/solution/model-kn.onnx b/4-Classification/4-Applied/solution/model-kn.onnx deleted file mode 100644 index 4ce8e6b9d0c86735d2da040b3dea2922e94bf558..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4255854 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�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 diff --git a/4-Classification/4-Applied/solution/recipe-detector.ipynb b/4-Classification/4-Applied/solution/recipe-detector.ipynb index a8bbe19ad..6d466b60e 100644 --- a/4-Classification/4-Applied/solution/recipe-detector.ipynb +++ b/4-Classification/4-Applied/solution/recipe-detector.ipynb @@ -14,13 +14,16 @@ }, "orig_nbformat": 2, "kernelspec": { - "name": "python37364bit8d3b438fb5fc4430a93ac2cb74d693a7", + "name": "python3", "display_name": "Python 3.7.0 64-bit ('3.7')" }, "metadata": { "interpreter": { "hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d" } + }, + "interpreter": { + "hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d" } }, "nbformat": 4, @@ -28,33 +31,25 @@ "cells": [ { "cell_type": "code", - "execution_count": 6, + "execution_count": 1, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "Collecting skl2onnx\n", - " Using cached skl2onnx-1.8.0-py2.py3-none-any.whl (230 kB)\n", - "Requirement already satisfied: six in /Users/jenlooper/Library/Python/3.7/lib/python/site-packages (from skl2onnx) (1.12.0)\n", + "Requirement already satisfied: skl2onnx in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (1.8.0)\n", + "Requirement already satisfied: scikit-learn>=0.19 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from skl2onnx) (0.24.2)\n", "Requirement already satisfied: scipy>=1.0 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from skl2onnx) (1.4.1)\n", + "Requirement already satisfied: six in /Users/jenlooper/Library/Python/3.7/lib/python/site-packages (from skl2onnx) (1.12.0)\n", + "Requirement already satisfied: onnx>=1.2.1 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from skl2onnx) (1.9.0)\n", + "Requirement already satisfied: onnxconverter-common<1.9,>=1.6.1 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from skl2onnx) (1.8.1)\n", "Requirement already satisfied: protobuf in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from skl2onnx) (3.8.0)\n", - "Requirement already satisfied: scikit-learn>=0.19 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from skl2onnx) (0.24.2)\n", "Requirement already satisfied: numpy>=1.15 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from skl2onnx) (1.19.2)\n", - "Collecting onnx>=1.2.1\n", - " Downloading onnx-1.9.0-cp37-cp37m-macosx_10_12_x86_64.whl (12.0 MB)\n", - "\u001b[K |████████████████████████████████| 12.0 MB 6.6 MB/s \n", - "\u001b[?25hCollecting onnxconverter-common<1.9,>=1.6.1\n", - " Downloading onnxconverter_common-1.8.1-py2.py3-none-any.whl (77 kB)\n", - "\u001b[K |████████████████████████████████| 77 kB 8.2 MB/s \n", - "\u001b[?25hRequirement already satisfied: setuptools in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from protobuf->skl2onnx) (45.1.0)\n", "Requirement already satisfied: joblib>=0.11 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from scikit-learn>=0.19->skl2onnx) (0.16.0)\n", "Requirement already satisfied: threadpoolctl>=2.0.0 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from scikit-learn>=0.19->skl2onnx) (2.1.0)\n", - "Collecting typing-extensions>=3.6.2.1\n", - " Downloading typing_extensions-3.10.0.0-py3-none-any.whl (26 kB)\n", - "Installing collected packages: typing-extensions, onnx, onnxconverter-common, skl2onnx\n", - "Successfully installed onnx-1.9.0 onnxconverter-common-1.8.1 skl2onnx-1.8.0 typing-extensions-3.10.0.0\n", + "Requirement already satisfied: typing-extensions>=3.6.2.1 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from onnx>=1.2.1->skl2onnx) (3.10.0.0)\n", + "Requirement already satisfied: setuptools in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from protobuf->skl2onnx) (45.1.0)\n", "\u001b[33mWARNING: You are using pip version 20.2.3; however, version 21.1.2 is available.\n", "You should consider upgrading via the '/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 -m pip install --upgrade pip' command.\u001b[0m\n", "Note: you may need to restart the kernel to use updated packages.\n" @@ -67,24 +62,19 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 2, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "Collecting onnxruntime\n", - " Downloading onnxruntime-1.8.0-cp37-cp37m-macosx_10_12_x86_64.whl (5.0 MB)\n", - "\u001b[K |████████████████████████████████| 5.0 MB 3.1 MB/s \n", - "\u001b[?25hRequirement already satisfied: numpy>=1.16.6 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from onnxruntime) (1.19.2)\n", + "Requirement already satisfied: onnxruntime in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (1.8.0)\n", "Requirement already satisfied: protobuf in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from onnxruntime) (3.8.0)\n", - "Collecting flatbuffers\n", - " Downloading flatbuffers-2.0-py2.py3-none-any.whl (26 kB)\n", - "Requirement already satisfied: setuptools in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from protobuf->onnxruntime) (45.1.0)\n", + "Requirement already satisfied: flatbuffers in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from onnxruntime) (2.0)\n", + "Requirement already satisfied: numpy>=1.16.6 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from onnxruntime) (1.19.2)\n", "Requirement already satisfied: six>=1.9 in /Users/jenlooper/Library/Python/3.7/lib/python/site-packages (from protobuf->onnxruntime) (1.12.0)\n", - "Installing collected packages: flatbuffers, onnxruntime\n", - "Successfully installed flatbuffers-2.0 onnxruntime-1.8.0\n", + "Requirement already satisfied: setuptools in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from protobuf->onnxruntime) (45.1.0)\n", "\u001b[33mWARNING: You are using pip version 20.2.3; however, version 21.1.2 is available.\n", "You should consider upgrading via the '/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 -m pip install --upgrade pip' command.\u001b[0m\n", "Note: you may need to restart the kernel to use updated packages.\n" @@ -97,7 +87,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -107,7 +97,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -140,7 +130,7 @@ "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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Unnamed: 0cuisinealmondangelicaaniseanise_seedappleapple_brandyapricotarmagnac...whiskeywhite_breadwhite_winewhole_grain_wheat_flourwinewoodyamyeastyogurtzucchini
00indian00000000...0000000000
11indian10000000...0000000000
22indian00000000...0000000000
33indian00000000...0000000000
44indian00000000...0000000010
\n

5 rows × 382 columns

\n
" }, "metadata": {}, - "execution_count": 9 + "execution_count": 4 } ], "source": [ @@ -150,7 +140,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -183,7 +173,7 @@ "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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
almondangelicaaniseanise_seedappleapple_brandyapricotarmagnacartemisiaartichoke...whiskeywhite_breadwhite_winewhole_grain_wheat_flourwinewoodyamyeastyogurtzucchini
00000000000...0000000000
11000000000...0000000000
20000000000...0000000000
30000000000...0000000000
40000000000...0000000010
\n

5 rows × 380 columns

\n
" }, "metadata": {}, - "execution_count": 10 + "execution_count": 5 } ], "source": [ @@ -193,7 +183,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -210,7 +200,7 @@ "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
cuisine
0indian
1indian
2indian
3indian
4indian
\n
" }, "metadata": {}, - "execution_count": 11 + "execution_count": 6 } ], "source": [ @@ -220,15 +210,11 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", - "from sklearn.naive_bayes import BernoulliNB,GaussianNB\n", - "from sklearn.neighbors import KNeighborsClassifier\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn.svm import SVC\n", "from sklearn.model_selection import cross_val_score\n", "from sklearn.metrics import accuracy_score,precision_score,confusion_matrix,classification_report" @@ -236,7 +222,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -245,53 +231,44 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 9, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ - "KNeighborsClassifier()" + "SVC(C=10, kernel='linear', probability=True, random_state=0)" ] }, "metadata": {}, - "execution_count": 14 + "execution_count": 9 } ], "source": [ - "# 5 types of model fitting\n", - "model_gaussian = GaussianNB()\n", - "model_gaussian.fit(X_train,y_train.values.ravel())\n", - "model_rfst = RandomForestClassifier()\n", - "model_rfst.fit(X_train,y_train.values.ravel())\n", - "model_nba = BernoulliNB(binarize = .5)\n", - "model_nba.fit(X_train,y_train.values.ravel())\n", - "model_dt = DecisionTreeClassifier()\n", - "model_dt.fit(X_train,y_train.values.ravel())\n", - "model_kn = KNeighborsClassifier()\n", - "model_kn.fit(X_train,y_train.values.ravel())\n" + "model = SVC(kernel='linear', C=10, probability=True,random_state=0)\n", + "model.fit(X_train,y_train.values.ravel())\n" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ - "y_pred = model_kn.predict(X_test)" + "y_pred = model.predict(X_test)" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 11, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - " precision recall f1-score support\n\n chinese 0.59 0.74 0.66 239\n indian 0.83 0.80 0.82 237\n japanese 0.68 0.77 0.72 252\n korean 0.93 0.65 0.76 220\n thai 0.77 0.71 0.74 251\n\n accuracy 0.73 1199\n macro avg 0.76 0.73 0.74 1199\nweighted avg 0.76 0.73 0.74 1199\n\n" + " precision recall f1-score support\n\n chinese 0.68 0.69 0.68 249\n indian 0.92 0.88 0.90 238\n japanese 0.77 0.68 0.72 236\n korean 0.84 0.79 0.82 247\n thai 0.73 0.88 0.80 229\n\n accuracy 0.78 1199\n macro avg 0.79 0.79 0.78 1199\nweighted avg 0.79 0.78 0.78 1199\n\n" ] } ], @@ -301,7 +278,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -309,9 +286,9 @@ "from skl2onnx.common.data_types import FloatTensorType\n", "\n", "initial_type = [('float_input', FloatTensorType([None, 4]))]\n", - "options = {id(model_kn): {'nocl': True, 'zipmap': False}}\n", - "onx = convert_sklearn(model_kn, initial_types=initial_type,options=options)\n", - "with open(\"./model-kn.onnx\", \"wb\") as f:\n", + "options = {id(model): {'nocl': True, 'zipmap': False}}\n", + "onx = convert_sklearn(model, initial_types=initial_type,options=options)\n", + "with open(\"./model.onnx\", \"wb\") as f:\n", " f.write(onx.SerializeToString())\n", "\n", "\n" diff --git a/5-Clustering/2-K-Means/solution/tester.ipynb b/5-Clustering/2-K-Means/solution/tester.ipynb new file mode 100644 index 000000000..f2f2653c1 --- /dev/null +++ b/5-Clustering/2-K-Means/solution/tester.ipynb @@ -0,0 +1,332 @@ +{ + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.0" + }, + "orig_nbformat": 2, + "kernelspec": { + "name": "python3", + "display_name": "Python 3.7.0 64-bit ('3.7')" + }, + "metadata": { + "interpreter": { + "hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d" + } + }, + "interpreter": { + "hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d" + } + }, + "nbformat": 4, + "nbformat_minor": 2, + "cells": [ + { + "source": [ + "# Nigerian Music scraped from Spotify - an analysis" + ], + "cell_type": "markdown", + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 104, + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "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: 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: 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: 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: 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", + "You should consider upgrading via the '/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 -m pip install --upgrade pip' command.\u001b[0m\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "pip install seaborn" + ] + }, + { + "source": [ + "Start where we finished in the last lesson, with data imported and filtered." + ], + "cell_type": "markdown", + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 105, + "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": 105 + } + ], + "source": [ + "\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "import numpy as np\n", + "\n", + "df = pd.read_csv(\"../../data/nigerian-songs.csv\")\n", + "df.head()" + ] + }, + { + "source": [ + "We will focus only on 3 genres. Maybe we can get 3 clusters built!" + ], + "cell_type": "markdown", + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": {}, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Top genres')" + ] + }, + "metadata": {}, + "execution_count": 106 + }, + { + "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", + "image/png": "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\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "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", + "top = df['artist_top_genre'].value_counts()\n", + "plt.figure(figsize=(10,7))\n", + "sns.barplot(x=top.index,y=top.values)\n", + "plt.xticks(rotation=45)\n", + "plt.title('Top genres',color = 'blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": {}, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " name album \\\n", + "1 shuga rush EVERYTHING YOU HEARD IS TRUE \n", + "3 Confident / Feeling Cool Enjoy Your Life \n", + "4 wanted you rare. \n", + "5 Kasala Pioneers \n", + "6 Pull Up Everything Pretty \n", + "\n", + " artist artist_top_genre release_date length popularity \\\n", + "1 Odunsi (The Engine) afropop 2020 89488 30 \n", + "3 Lady Donli nigerian pop 2019 175135 14 \n", + "4 Odunsi (The Engine) afropop 2018 152049 25 \n", + "5 DRB Lasgidi nigerian pop 2020 184800 26 \n", + "6 prettyboydo nigerian pop 2018 202648 29 \n", + "\n", + " danceability acousticness energy instrumentalness liveness loudness \\\n", + "1 0.710 0.0822 0.683 0.000169 0.1010 -5.640 \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", + "5 0.803 0.1270 0.525 0.000007 0.1290 -10.034 \n", + "6 0.818 0.4520 0.587 0.004490 0.5900 -9.840 \n", + "\n", + " speechiness tempo time_signature \n", + "1 0.3600 129.993 3 \n", + "3 0.1130 111.087 4 \n", + "4 0.0447 105.115 4 \n", + "5 0.1970 100.103 4 \n", + "6 0.1990 95.842 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
1shuga rushEVERYTHING YOU HEARD IS TRUEOdunsi (The Engine)afropop202089488300.7100.08220.6830.0001690.1010-5.6400.3600129.9933
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
5KasalaPioneersDRB Lasgidinigerian pop2020184800260.8030.12700.5250.0000070.1290-10.0340.1970100.1034
6Pull UpEverything Prettyprettyboydonigerian pop2018202648290.8180.45200.5870.0044900.5900-9.8400.199095.8424
\n
" + }, + "metadata": {}, + "execution_count": 107 + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.preprocessing import StandardScaler\n", + "\n", + "scaler = StandardScaler()\n", + "\n", + "# X = df.loc[:, ('danceability','energy')]\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "metadata": {}, + "outputs": [ + { + "output_type": "error", + "ename": "ValueError", + "evalue": "Unknown label type: 'continuous'", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\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 20\u001b[0m \u001b[0;31m# we create an instance of SVM and fit out data. We do not scale our\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[0;31m# data since we want to plot the support vectors\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 22\u001b[0;31m \u001b[0mls30\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mLabelSpreading\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_30\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_30\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'Label Spreading 30% data'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 23\u001b[0m \u001b[0mls50\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mLabelSpreading\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_50\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_50\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'Label Spreading 50% data'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 24\u001b[0m \u001b[0mls100\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mLabelSpreading\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'Label Spreading 100% data'\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/sklearn/semi_supervised/_label_propagation.py\u001b[0m in \u001b[0;36mfit\u001b[0;34m(self, X, y)\u001b[0m\n\u001b[1;32m 228\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_validate_data\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 229\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mX_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 230\u001b[0;31m \u001b[0mcheck_classification_targets\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 231\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 232\u001b[0m \u001b[0;31m# actual graph construction (implementations should override this)\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/sklearn/utils/multiclass.py\u001b[0m in \u001b[0;36mcheck_classification_targets\u001b[0;34m(y)\u001b[0m\n\u001b[1;32m 181\u001b[0m if y_type not in ['binary', 'multiclass', 'multiclass-multioutput',\n\u001b[1;32m 182\u001b[0m 'multilabel-indicator', 'multilabel-sequences']:\n\u001b[0;32m--> 183\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Unknown label type: %r\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0my_type\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 184\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 185\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mValueError\u001b[0m: Unknown label type: 'continuous'" + ] + } + ], + "source": [ + "from sklearn.svm import SVC\n", + "from sklearn.semi_supervised import LabelSpreading\n", + "from sklearn.semi_supervised import SelfTrainingClassifier\n", + "from sklearn import datasets\n", + "\n", + "X = df[['danceability','acousticness']].values\n", + "y = df['energy'].values\n", + "\n", + "# X = scaler.fit_transform(X)\n", + "\n", + "# step size in the mesh\n", + "h = .02\n", + "\n", + "rng = np.random.RandomState(0)\n", + "y_rand = rng.rand(y.shape[0])\n", + "y_30 = np.copy(y)\n", + "y_30[y_rand < 0.3] = -1 # set random samples to be unlabeled\n", + "y_50 = np.copy(y)\n", + "y_50[y_rand < 0.5] = -1\n", + "# we create an instance of SVM and fit out data. We do not scale our\n", + "# data since we want to plot the support vectors\n", + "ls30 = (LabelSpreading().fit(X, y_30), y_30, 'Label Spreading 30% data')\n", + "ls50 = (LabelSpreading().fit(X, y_50), y_50, 'Label Spreading 50% data')\n", + "ls100 = (LabelSpreading().fit(X, y), y, 'Label Spreading 100% data')\n", + "\n", + "# the base classifier for self-training is identical to the SVC\n", + "base_classifier = SVC(kernel='rbf', gamma=.5, probability=True)\n", + "st30 = (SelfTrainingClassifier(base_classifier).fit(X, y_30),\n", + " y_30, 'Self-training 30% data')\n", + "st50 = (SelfTrainingClassifier(base_classifier).fit(X, y_50),\n", + " y_50, 'Self-training 50% data')\n", + "\n", + "rbf_svc = (SVC(kernel='rbf', gamma=.5).fit(X, y), y, 'SVC with rbf kernel')\n", + "\n", + "# create a mesh to plot in\n", + "x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1\n", + "y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1\n", + "xx, yy = np.meshgrid(np.arange(x_min, x_max, h),\n", + " np.arange(y_min, y_max, h))\n", + "\n", + "color_map = {-1: (1, 1, 1), 0: (0, 0, .9), 1: (1, 0, 0), 2: (.8, .6, 0)}\n", + "\n", + "classifiers = (ls30, st30, ls50, st50, ls100, rbf_svc)\n", + "for i, (clf, y_train, title) in enumerate(classifiers):\n", + " # Plot the decision boundary. For that, we will assign a color to each\n", + " # point in the mesh [x_min, x_max]x[y_min, y_max].\n", + " plt.subplot(3, 2, i + 1)\n", + " Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])\n", + "\n", + " # Put the result into a color plot\n", + " Z = Z.reshape(xx.shape)\n", + " plt.contourf(xx, yy, Z, cmap=plt.cm.Paired)\n", + " plt.axis('off')\n", + "\n", + " # Plot also the training points\n", + " colors = [color_map[y] for y in y_train]\n", + " plt.scatter(X[:, 0], X[:, 1], c=colors, edgecolors='black')\n", + "\n", + " plt.title(title)\n", + "\n", + "plt.suptitle(\"Unlabeled points are colored white\", y=0.1)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ] +} \ No newline at end of file