{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"2.2 PCA.ipynb","provenance":[],"collapsed_sections":[]},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"K1bVCfdJ1aKY"},"source":["# Μείωση διαστάσεων χαρακτηριστικών συνόλου δεδομένων"]},{"cell_type":"markdown","metadata":{"id":"ZEbyzYyO1fAI"},"source":["Απαιτείται μείωση των διαστάσεων όταν υπάρχουν πάρα πολλά χαρακτηριστικά σε ένα σύνολο δεδομένων, καθιστώντας δύσκολη τη διάκριση μεταξύ των σημαντικών χαρακτηριστικών που μπορεί να σχετίζονται με την έξοδο και των όχι τόσο σημαντικών χαρακτηριστικών.\n","\n","*Μειονεκτήματα από την ύπαρξη μεγάλου χώρου χαρακτηριστικών*\n","\n","* Απαιτούνται περισσότερα δεδομένα για την εξερεύνηση του πολύ ευρύτερου χώρου \n","* Μεγάλες πιθανότητες υπερεκπαίδευσης μιας και ο αλγόριθμος εκμάθησης καλείται να μάθει με χρήση περιττών χαρακτηριστικών και περισσότερου θορύβου\n","* Η απλότητα του αλγορίθμου χάνεται και παραβιάζεται η αρχή Occam’s razor\n","\n","Υπάρχουν πολλοί τρόποι για να επιτευχθεί μείωση διαστάσεων, αλλά οι περισσότερες από αυτές τις τεχνικές εμπίπτουν σε μία από τις δύο κατηγορίες: \n","\n","* Εξάλειψη χαρακτηριστικών: μείωση του χώρου των χαρακτηριστικών. Ως μειονέκτημα, οι πληροφορίες χάνονται λόγω των μειωμένων χαρακτηριστικών. \n","\n","* Μείωση διαστάσων χαρακτηριστικών: δημιουργούμε Κ \"νέες\" ανεξάρτητες μεταβλητές, όπου κάθε ανεξάρτητη μεταβλητή είναι ένας συνδυασμός καθεμιάς από τις δεδομένες παλιές ανεξάρτητες μεταβλητές.\n","\n"]},{"cell_type":"markdown","metadata":{"id":"nt-pXZID9Sch"},"source":["Ένα κοινό ζήτημα για τους επιστήμονες δεδομένων κατά την ανάπτυξη ενός αλγορίθμου είναι οι πολλές μεταβλητές. Ως άνθρωποι, μπορούμε να απεικονίσουμε τα πράγματα μόνο σε 2 διαστάσεις ή 3 διαστάσεις. \n","\n","Η κατάρα της διαστατικότητας (Curse of Dimensionality) είναι ένα παράδοξο που αντιμετωπίζουν συχνά οι επιστήμονες δεδομένων.\n","\n","Η προσθήκη περισσότερων πληροφοριών ίσως να πιστεύαμε ότι θα βελτιώσετε την ακρίβεια του μοντέλου μηχανικής εκμάθηση, αλλά με κάθε χαρακτηριστικό που προσθέτεται, αυξάνεται ο αριθμός των διαστάσεων (n). Ο απώτερος στόχος μας είναι να δημιουργήσουμε απλά μοντέλα που μπορούν να τρέξουν γρήγορα και να εξηγηθούν εύκολα. Όταν έχουμε πολλά χαρακτηριστικά, το μοντέλο μας γίνεται πιο περίπλοκο και η ακρίβεια μειώνεται. \n","\n","Για την αντιμετώπιση αυτών των πολύπλοκων συνόλων δεδομένων, η Ανάλυση Κύριων συνιστωσών είναι μια ιδανική μέθοδος για τη μείωση των διαστάσεων των δεδομένων σας. \n","\n","Η Ανάλυση Κύριων Συστατικών, ή πιο γνωστή ως PCA, είναι ένας τρόπος μείωσης του αριθμού των μεταβλητών διατηρώντας ταυτόχρονα την πλειονότητα των σημαντικών πληροφοριών.\n","\n","Μετατρέπει έναν αριθμό μεταβλητών που μπορεί να συσχετιστούν σε μικρότερο αριθμό μη συσχετισμένων μεταβλητών, γνωστές ως κύρια συστατικά. \n","\n","Τα κύρια συστατικά είναι γραμμικοί συνδυασμοί των αρχικών μεταβλητών σταθμισμένων από τις διακυμάνσεις τους (ή ιδιοτιμών) σε μια συγκεκριμένη ορθογώνια διάσταση. \n","\n","Ο κύριος στόχος του PCA είναι να απλοποιήσετε τα χαρακτηριστικά του μοντέλου σας σε λιγότερα συστατικά και να βοηθήσετε το μοντέλο σας να λειτουργεί πιο γρήγορα. \n","\n","Η χρήση PCA μειώνει επίσης την πιθανότητα υπερπροσαρμογής του μοντέλου σας, εξαλείφοντας χαρακτηριστικά με υψηλή συσχέτιση. \n","\n","Είναι σημαντικό να σημειωθεί ότι πρέπει να εφαρμόζετε μόνο PCA σε συνεχείς μεταβλητές και όχι κατηγορηματικές. \n","\n","Παρόλο που τεχνικά μπορείτε να χρησιμοποιήσετε PCA σε one-hot encoded ή δυαδικά δεδομένα, δεν λειτουργεί πολύ καλά. Αυτό συμβαίνει επειδή το PCA έχει σχεδιαστεί για να ελαχιστοποιεί τη διακύμανση (τετραγωνικές αποκλίσεις) που δεν είναι πολύ σημαντική όταν εκτελείται σε δυαδικές μεταβλητές. \n","\n","Εάν έχετε μικτά δεδομένα, εναλλακτικές μέθοδοι όπως το MCA μπορεί να λειτουργούν καλύτερα. \n","\n","*Πώς μπορούμε να πούμε πόσες πληροφορίες να διατηρήσουμε από το σύνολο δεδομένων; *\n","\n","Χρησιμοποιούμε το Explained Variance Ratio ως μέτρηση για να αξιολογήσουμε τη χρησιμότητα των κύριων συνιστωσών και να επιλέξουμε πόσα στοιχεία θα χρησιμοποιηθούν στο μοντέλο μας. \n","\n","Το Explained Variance Ratio είναι το ποσοστό διακύμανσης που αποδίδεται από καθένα από τα επιλεγμένα συστατικά. Στην ιδανική περίπτωση, θα επιλέγαμε τον αριθμό των συστατικών που θα συμπεριληφθούν στο μοντέλο μας προσθέτοντας την explained variance ratio κάθε στοιχείου μέχρι να φτάσουμε συνολικά περίπου 0,8 ή 80% για να αποφύγετε την υπερεκπαίδευση. \n","Το sklearn διευκολύνει τη λήψη της explained variance ratio μέσω παραμέτρου \n"]},{"cell_type":"markdown","metadata":{"id":"4elbl6FO4ZHm"},"source":["\n","**Επιλογή συνόλου δεδομένων**\n","\n","Το σύνολο δεδομένων που θα εργαστούμε είναι το σύνολο δεδομένων IrisΤο σύνολο δεδομένων αποτελείται από 150 δείγματα από τρεις διαφορετικούς τύπους ίριδας: setosa, versicolor και virginica και έχει τέσσερις μετρήσεις για κάθε δείγμα. Αυτές οι μετρήσεις είναι το μήκος του σέπαλου, το πλάτος του σέπαλου, το μήκος του πέταλου και το πλάτος του πέταλου. Θα το εισαγάγουμε από τη βιβλιοθήκη sklearn:"]},{"cell_type":"code","metadata":{"id":"NglQeODj8dU1","colab":{"base_uri":"https://localhost:8080/","height":206},"executionInfo":{"status":"ok","timestamp":1604326381604,"user_tz":-120,"elapsed":2192,"user":{"displayName":"Katerina A","photoUrl":"","userId":"12077637925353215781"}},"outputId":"81120385-2274-4f71-d940-a27e95794969"},"source":["from sklearn import datasets\n","import pandas as pd\n"," \n","iris = datasets.load_iris()\n","df = pd.DataFrame(iris.data, columns=iris.feature_names)\n","df['Target'] = iris.get('target')\n","df.head()"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"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","
sepal length (cm)sepal width (cm)petal length (cm)petal width (cm)Target
05.13.51.40.20
14.93.01.40.20
24.73.21.30.20
34.63.11.50.20
45.03.61.40.20
\n","
"],"text/plain":[" sepal length (cm) sepal width (cm) ... petal width (cm) Target\n","0 5.1 3.5 ... 0.2 0\n","1 4.9 3.0 ... 0.2 0\n","2 4.7 3.2 ... 0.2 0\n","3 4.6 3.1 ... 0.2 0\n","4 5.0 3.6 ... 0.2 0\n","\n","[5 rows x 5 columns]"]},"metadata":{"tags":[]},"execution_count":1}]},{"cell_type":"markdown","metadata":{"id":"T7eu7lU8B1kv"},"source":["Στη συνέχεια, θα χωρίσουμε το σύνολο δεδομένων σε μεταβλητή (Χ) χαρακτηριστικών και την μεταβλητή «στόχος» σε «y»."]},{"cell_type":"code","metadata":{"id":"5aJdWacV8kpt"},"source":["# Create features and target datasets\n","features = ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']\n","X = df[features].values\n","y = df['Target'].values"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"rgHlqh425vYW"},"source":["# Κανονικοποίηση\n","Πρέπει να κανονικοποιήσουμε τις τιμές των χαρακτηριστικών πριν από την εφαρμογή του PCA.\n","Το StandardScaler μπορεί να κανονικοποιήσει τις τιμές των χαρακτηριστικών του συνόλου δεδομένων σε κλίμακα μονάδας (μέσος όρος = 0 και διακύμανση = 1) που αποτελεί απαίτηση για τη βέλτιστη απόδοση πολλών αλγορίθμων μηχανικής μάθησης. "]},{"cell_type":"code","metadata":{"id":"EXm3a-_z8rB8","colab":{"base_uri":"https://localhost:8080/","height":206},"executionInfo":{"status":"ok","timestamp":1604326457827,"user_tz":-120,"elapsed":906,"user":{"displayName":"Katerina A","photoUrl":"","userId":"12077637925353215781"}},"outputId":"9e18978d-3140-4f4c-ec27-6a842dfdfa2c"},"source":["from sklearn.preprocessing import StandardScaler\n","\n","# Standardize the features\n","X = StandardScaler().fit_transform(X)\n","\n","# Preview X\n","pd.DataFrame(data=X, columns=features).head()"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"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","
sepal length (cm)sepal width (cm)petal length (cm)petal width (cm)
0-0.9006811.019004-1.340227-1.315444
1-1.143017-0.131979-1.340227-1.315444
2-1.3853530.328414-1.397064-1.315444
3-1.5065210.098217-1.283389-1.315444
4-1.0218491.249201-1.340227-1.315444
\n","
"],"text/plain":[" sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)\n","0 -0.900681 1.019004 -1.340227 -1.315444\n","1 -1.143017 -0.131979 -1.340227 -1.315444\n","2 -1.385353 0.328414 -1.397064 -1.315444\n","3 -1.506521 0.098217 -1.283389 -1.315444\n","4 -1.021849 1.249201 -1.340227 -1.315444"]},"metadata":{"tags":[]},"execution_count":3}]},{"cell_type":"markdown","metadata":{"id":"H5WC3PkWCdU0"},"source":["Τώρα, θα εισαγάγουμε PCA χρησιμοποιώντας το sklearn και θα προβάλλουμε τα αρχικά μας δεδομένα, τα οποία έχουν 4 διαστάσεις, σε 2 διαστάσεις. Το sklearn δημιουργεί έναν πίνακα συνδιακύμανσης για τον υπολογισμό των ιδιοδιανυσμάτων (κύρια συστατικά) και των αντίστοιχων ιδιοτιμών τους. \n","\n","Οι ιδιοδιανύσματα καθορίζουν τις κατευθύνσεις του νέου χώρου χαρακτηριστικών και οι ιδιοτιμές καθορίζουν το μέγεθος ή τη διακύμανση των δεδομένων κατά μήκος των νέων αξόνων χαρακτηριστικών."]},{"cell_type":"code","metadata":{"id":"pgLEFLf98wjM"},"source":["# Import PCA from sklearn\n","from sklearn.decomposition import PCA\n","\n","# Instantiate PCA\n","pca = PCA(n_components=2)\n","\n","# Fit PCA to features\n","principalComponents = pca.fit_transform(X)"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"8_zV6EYbC2PQ"},"source":["Για να οπτικοποιήσουμε καλύτερα τα κύρια συστατικά, ας τα συνδυάσουμε με τον στόχο (τύπος λουλουδιού) που σχετίζεται με τη συγκεκριμένη παρατήρηση σε ένα πλαίσιο δεδομένων pandas."]},{"cell_type":"code","metadata":{"id":"9i_6_E4k82aL","colab":{"base_uri":"https://localhost:8080/","height":206},"executionInfo":{"status":"ok","timestamp":1604326573286,"user_tz":-120,"elapsed":958,"user":{"displayName":"Katerina A","photoUrl":"","userId":"12077637925353215781"}},"outputId":"50ec61dc-d61b-48d5-a919-a76c646c8c26"},"source":["# Create a new dataset from principal components \n","df = pd.DataFrame(data = principalComponents, \n"," columns = ['PC1', 'PC2'])\n","\n","target = pd.Series(iris['target'], name='target')\n","\n","result_df = pd.concat([df, target], axis=1)\n","result_df.head(5)\n"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"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","
PC1PC2target
0-2.2647030.4800270
1-2.080961-0.6741340
2-2.364229-0.3419080
3-2.299384-0.5973950
4-2.3898420.6468350
\n","
"],"text/plain":[" PC1 PC2 target\n","0 -2.264703 0.480027 0\n","1 -2.080961 -0.674134 0\n","2 -2.364229 -0.341908 0\n","3 -2.299384 -0.597395 0\n","4 -2.389842 0.646835 0"]},"metadata":{"tags":[]},"execution_count":5}]},{"cell_type":"markdown","metadata":{"id":"FgGq-YIkDMKB"},"source":["Τώρα μπορούμε να απεικονίσουμε τα κύρια συστατικά σύμφωνα με την κατανομή τάξης χρησιμοποιώντας τα δεδομένα στόχου. Αυτός ο κώδικας δημιουργεί ένα διάγραμμα σκέδασης από τα κύρια συστατικά και το χρώμα κωδικοποιεί τα δείγματα ανά τύπο λουλουδιού."]},{"cell_type":"code","metadata":{"id":"eagt3hRx86GT","colab":{"base_uri":"https://localhost:8080/","height":632},"executionInfo":{"status":"ok","timestamp":1604322446367,"user_tz":-120,"elapsed":1388,"user":{"displayName":"Parask Tz","photoUrl":"","userId":"08609487936413149826"}},"outputId":"c41cf79b-3224-4fb2-a2e0-9d74e621a685"},"source":["# Visualize Principal Components with a scatter plot\n","fig = plt.figure(figsize = (12,10))\n","ax = fig.add_subplot(1,1,1) \n","ax.set_xlabel('First Principal Component ', fontsize = 15)\n","ax.set_ylabel('Second Principal Component ', fontsize = 15)\n","ax.set_title('Principal Component Analysis (2PCs) for Iris Dataset', fontsize = 20)\n","\n","targets = [0, 1, 2]\n","colors = ['r', 'g', 'b']\n","for target, color in zip(targets, colors):\n"," indicesToKeep = iris['target'] == target\n"," ax.scatter(result_df.loc[indicesToKeep, 'PC1'], \n"," result_df.loc[indicesToKeep, 'PC2'], \n"," c = color, \n"," s = 50)\n","ax.legend(targets)\n","ax.grid()"],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAtQAAAJnCAYAAAC3c8QrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzde5wcVZ338c9vSCYhM42aIJCdwAbIiCS4oOKF3ZFNwAuMKLuCtIg+InFxV3wWDLvCegN2RZBHkLgCXoILaiTjIojIGHCBqOOFm4KGKEzUAMmASLJAZyDJJHOeP04V0+lU91R3V3dXd3/fr1e/eqaquup0V1f1r06d8zvmnENERERERCrT0egCiIiIiIg0MwXUIiIiIiJVUEAtIiIiIlIFBdQiIiIiIlVQQC0iIiIiUgUF1CIiIiIiVVBALRUxs7lm5szsmjpvd52ZravnNoPtLgze7/n13rZIpczsmuB7O7dO26vp8WlmLzOzbWb20Vpto1HM7Htm9nsz66zgtfuY2bVmtt7MdgT7/MW1KGctBOVd1ehyiFRDAXUbCU5a+Y8dZvaUmd1hZu9udPlalZm9ycyWm9kfzew5M3vezNaa2TfM7NhGl0+8pIJPM/thsJ7HzGy3ZEongcuAjcAXwwnmHWNm/2lm95vZ/5rZFjN7yMwuN7O9o1YUBP/558NxM3vazH5mZmeY2ZQir9vXzC42s/uCbY2Z2ZNm9j9mdqaZvajC9/YpYH/gnyt47TXAe4EfAZ8GLgC2VFiOiuRVOqyq53ZLyTum83/zngkuXL5rZh82s1kJbi9V77+UZiprs4g8YUjLuyB4ngq8HDgeWGRmhzvnlsRcxwbgYOCZGpSvlKPrvL2KmVkG+Drwd/gftzuAG4Ax/A9nP/AeM7vUOfcvDSuoJMbMDsB/Rx0wBzgW+H5DC1VfNTs+zeyvgbcCH3fOPZc3axrwA2Ab8GPgf4DdgKOAM4F3mdkbnHPDRVa9FHg6eM3+wAnAEfj38o6CMnwAH8xPAx4ArgP+F5gF9AGXA58E9iz3/Tnn7jezlcDHzezKgvdYVFCj/Sbgf5xzp5S73ZQ4GIj1fit0E3B/8HcG2Bd4A/6370IzO9M5d00Nty9tQAF1G3LOnZ//v5kdDfwQOMvMvuCcWxdjHWPA72pSwNLb/X29t1kJM+sA/ht4C3An8B7n3EjBMtOAfwReVv8SSo38A2DAxcC5wOm0UUBd4+PzDGAcf5GabwfwCeBK59z/hhODY/BK4IP4mu23FVnv5fnnPDO7CLgH+Hsz+1vn3I+C6acAX8UH0Cc4524pXJGZ/Q1wRUXvzrsWfxH2bmBZzNfsg7/bPDLZgmnlnKv1b8l3CwPm4A7EafgLqv8ys63OuetqXA5pZc45Pdrkga81c0XmrQnmvzP4//zg/4X4k/tdwGZgXTB/bjD/moL1XBNMn4v/IfsNvnb2T8BXgBcV2f4c4AvAMPA8sAm4G/hkwXLrwjLkTTs12Oap+BqsnwGj+B++64HeiO29DB/03Av8GdgKPBKUcU7E8guDbZwf87M+JVh+GOiaZNlphf/jg7Hf4GttngV+ApwU8doX9gNwYPB+NwI54DbgkGC5lwbv7fFgf9wDLIpYX/5+fx/wq2B/PAl8DdinyHvoxQc6G/A1hSPB/1Gfff42Tgz283PBPl8B9BTZxkzgIuC3QZmeAW4H3hyxbP53YhGwKvhMngVuAQ6OOjYiHuuiylKkfFOCz/cZYPfgu7W9xPtZFWxjCvCx4LuyFXgM+CzQGfGavwO+CTyM/46PAvfhmwl0RCx/TbCNucH/Lw/+v7PE+/gN/i7K7OB/C74LP8MfK1uCMt4KZGMcn51B+X6JPyafC5a7CXhjzM92j+Cz+Unc/RG87i+C95uLmLcu/7MpmDcYzPvX4P8M/rhyUd+3SY7nNwA3A+uD9/AE8AvgvIjXTg++2z+P+f7C91D4uCaB88nLgAH8sT8OLJykLAuD164qcSweg//eP0Peb1GR12Xwtf2rgzLngN8HZXp1zM8n/P6fWmKZ9wfLPA7snjf9RcC/4u8srsef1/4MfA84osh7jHqcX7Dcd4A/BPv5WeCn+AqXqLIdgD9vr2Xid/E3wJeAWRHLn4yvwHkaf5z+Fn+xOa3csupR/kM11BKy4NkVTD8bfzvxZvyBGrd94CX42tmb8YHdInzt3Tz8rdiJDZsdjv9xnom/ZXsDMAOYjw++/iPmNt+Br925EX/SPgx/+3aRmf21c+6hgmX/MXhPP8OfLBcAHwDeFjR/2RBzu1FOD54/55wbLbWgc25r+Hdw+/ZW4G/xdwCuwH8WJwIDZnaYc+5jEauZi7/o+S3+R2Qu8PfAKjM7AliJP3kP4D/ndwE/MLOXOecejVjfR4A3B8uvxN/Ofj+w0Mxe55z7c16ZX4O/zZ7B/9iswQdu7wGON7M3OufuidjGh4C3B6/5EfA6IAscGrzP/M/lL/H7dC4+GFgJdAHHASvN7IPOua9GbOM4/G3dH+B/hObjm9q8xszmO+eeCpa7AB+sHspEEwDynuN4O7628KvOuefNd9j9T3wtWKnv8LfwQdcP8PuoH/gosBf+M893MT64uQt/8fIi/PG0FHgNvh1tUc6535nZnfhj4mXOuYfz5wfNKg4BvuOcezyYfCHwb8AfgW/jg6HZwfbeif+OlHIN/od+Nf4i63l8oNuHD7D+Z5LXAxyJD8yHYiybbyx43l7m6wrPhyfij5tfOOduK/XCgu/tMfgLuGfx3/MNwXoOxn//Lyh47RYzuw94vZm9yDk3WZO6y/HHxJn4JijfDabfH2y/0vPJgfjv2MPAcvwF4rOTlGUyJ+L3d3gs/mWxBc3M8Mf4XwM/x9fWb8dXvCzCnwPuq7I8oWuB84LyHIXfX+D30YX436Rb8BeD++GP82PN7G3OuZXBsvfj9+V5+IqZa/LWvyrv76uAB4N1Po5vKtQPfMPMDnLOfTJc0Mxm4ys+9sBf4H0Hf8G1P/44/yL+Ii9c/mv488X6YNmngdfjzz1Hm9mbnHPbyyirlKvREb0e9XtQpIYaeCP+R3oc+Mtg2vnB8qPAKyNeM5fSNdSPAvvlTZ+CP4k44LV50zvxP9QOeHfEduYU/L+O4jXUDjiuYN6ZwfTbC6b3UFCTFEx/M/4W8lUF0xcS8wo+eK9bg+XnlbmP/i143SAwJW/6XkzURv11xH5w+Lal+ev6ZDB9E/4HrCNv3nuDeZ8veE2437cV7nfg88G8q/OmGT6Id8ApBctng+m/K9h2uI1ngVcUvOZbwbyTCqavCr6f7yqY/mL8D8TzwN4R34ntwNEFr7komPfRIt/duRUeXyuD1x8R/D8z+B6sI7r2eFWw/H3AzLzpXfgaqR0U3BEADoxYTwc+KHDA6yZ7T/jAxuEv9grXFS7/prxpG/E/0jMilt+z1PGJD/jH8bX1u0W8fpdatiKf7cVBuU4oc5+cE7zuuoh566L2N/7C+rlg3huCaVcH/3+6zO1/J3jdoZN9dhHHWX/Mbcwl4lwczKvmfPKZMt/rQkrXUI8DxxR57U6vA14RTLuxyPf9JTHLFH6fT51kuW8Ey11Q8N3dZR/hg/oR4LeTvY+I+VHHbyf+TtsYeXezgP8brO/MiNd0sXNtevgZ35A/PZh3ftR6JiurHuU/lOWjDZnZ+cHjQjO7Hh8IGL4t4SMFi3/FOferCjbz7y6v5tP5K+P/Cv59bd5yb8OfxL/nnPtW4Uqcc+vL2OYdzrnC9qpfxN8mPCqo5QzXu8Hl1STlTb8NX4PwljK2W2gm/iQJPhApx2n4E92S4DMLy/UkE7WcH4h43Tp80JHv2uB5Gv7W9XjevG/hg83DipTjGxH7/Xx87eS7g/bf4GuQXo6/Rb08f2Hn3AC+RvEgfG1koS84535TMC2sZX7hO2Jmh+Jr2L7jnFtRsI2n8TUt0/F3IwqtcM7dXjDtK4XbqFbw3XoT8JBz7udB2Tbh79D8JaW/T+cEyxK8bhRfK9gBHJ6/oItooxzs16XBv3G+t9/F146dmrcfMZ9m7ST88VJYazyGD/ALt/1U4bTCRfDnlq34gKrw9Rt3eUW0/YLnx0sulSe4c3IevqnAJ0oselZwPvwPM/smvlZwd3ww95NgmdnBc7nHc+j5wgklPrsnguf9iswvR6Xnkz9RUHuegJvcRI1uXFGf27jLayufkPBu5EvztvNM1D4KfpOuB15uZmXtoyLH7zb8nYMpRHfqjfoMRp1z+dPPxJ/PTyuYDn4/b8Q3Q5QaUpOP9nRe8Ozwt4V+gq91/GbEsndXuI17I6Y9Fjy/JG/a64PnH1S4nXw/KpzgnNthZkP4W5ivxN/iCm8pnoK/sj80KFN+irNtCZSnLEFWkHnABhfdSeeO4PmVEfPud84VBjxhJ6WHnXO5/BnB5/InfG1LlKjP8hkzux8f3B6Mrxl+VUHZosrcF5T5xwXz4n5HjgieX2TRecDDH8GDI+bF3Ua1PoAPgK8pmH4NPtD/B4p/x2OXMUjx9a/428QH4Guq8vVMVlDn3HYz+yo+TdsJ+Isr8HctdsdfRLu8lyzH15atMbNv478bP3eTN0fAOfesmd2Mv3C+38y+gz/f3OViZrEIhKnNYgVSZvYy/MXMVPxdjVKdJc8Mi4vvJ/JrfDv1L5VRvmKW45uX3WVmA/gmZj+dpKIgvLgqO1NIvirPJw9EVThUqZzfkjX488vJwcXqTfiL83uDADRpkU0eg06mZ+LPQXsxUVES6sHfjY23ER+An4MPnPfDH2+F6wt9D/gMcIWZvQXfdOenwJr849PMZuB/w57CXxxGbXor0edHSZAC6jbknIs84op4YvJFIkW1PQ1rSPID13DwgWraK4f+VGR6+B7y239fBpyFr/G6Ndh+eGV/KiXa98WwCR+Qd+JPkHEzH4TlK1YLF06PGrBhl+AmCJwi5wW24wOOKHE/y2rKHPc7EgZTbwoexXTH2Ube55JIjmjzuaZPw9fAfqNg9kr8Z/Y2M9vHObfL8RTUshfa5XMIapDvwbehvBvfHnlTsOyL8T/804jnK8DH8R2Hw4D6dPz39r8Klv0IvhPV+/Gd284FtpvZIHC2c27tJNvK4oOIdzNR67kluDv2L865Yt+1fOGxOX2yBYNg+k6CvgLOue9N8pL93eSZjcLv8aQXLPmcczeY2XH4viin4T9vgnbS/+ac+2HEy8Iga5eayTJVc2xWet4vJfY6gwv+o/AXfSfiO+kC5MzsWvxntznBsv1F8JzfN+Tv8TXRW/BZsH6PbwI5jm/e8rfEP97ClJp34y+Sf4LvW/QM/s7PXHzH3xfW55x7xMxei78zeAwTKRwfM7PPOee+EPz/EvwFwUuZqCyTBlBALZNxky9SlTCYKOuHqojIARzwHcUgCCzNbC981oHV+PaDO9XemtnJ1RQiCNh+ge9IdTTxA+ow8N2nyPzZBcvVUqzPkvqUOXztmXk/ImlyHBM/yOuL1BCBD6g+U8V2PoAPpi9wu6a+PIKJmtZJOec2mNn38KnhXo4PPg8BBlxeh9Ng2R34zm+XB8dOH75T6zuBBWa2oFRtZnAL+nzgfDPbF39cnIrvtDoX3yFzMk8GzyUH4TCzg/HtUWfhMxbdFGPdcQzh99/R+L4JsTmfXu8WM+vCd7w9Dvgn4Ptm9krn3JqCl4Tv8UmqU82xWYvzflnrDJp1fAT4iJnNwwewHwQ+jL8IKNkBN64gveKRwb935c36D/wF5uHOud8WvObLQXnKsQS/b9/vdk3hdzI+oN5JsN1skOLvUHx/p/8LLDWzUefc1Uzsv185515VuA6pH7Whlkb7RfCcxIiBu5zggtrDsP1u2Cb4APx3/7aIYHpOML9aYTvdfwluyRUVtmMNyvJ7oMfMeiMWXRQ8/zKB8k0m6rN8Eb7NdZiOCSY+04VF1pNEmcPvSJzAqxphk5lya67/IXj+Pr7zWuHjmmD+YisRbccwL3j+TsS8cn/cwedoBh+khFlpvlzqBc65J51zNzjnTsI3GTgQH4jH4px7LGhr/xZ8x8s+izdS3a+D55cXW8DMXoHv6DkTeEeCwTT4mspNwBFm9sZSC+a3S88XtHu9w/nBsz6Dv4MVdd4L3+P9EfNiS9n5pCrOubVB8Pi3+GY5xye4+lPxzS8ex9/ZCM3DN68oDKY7iO4TAr72utj5o+Lj1zm33Tl3n3Pus/iMOeCzEhHU1D+Iv7idWWo9ZZRVKqCAWhrtZnyHurdH1QwHAW5cRwW3V/N9GP+jf2deh8t1wXOf5Q0NbWbd+E5xSdy5uQ7flKQXuClIgbQTM+s0szOAS/Mmfw1/++7/FZRtTyZqxr6WQPkm814zK2xbeT7+NvJ1eTWSPwUewn+WJ+YvHPz/BnzqrXLTnb3AOXcv/hbpO8zstKhlzOwVQe1pNcIOcrE7GgU1rsfg2/a+0zn3gYjH+/Hv/wB8DVOl1gXPCwvK8Ep8Nody3Y7fN+/Dd0Z8yDmXH1BgZtOCdqQUTJ+KD1yhxAh3ZvbSINAt1IVvorOdeP0VVgXPr4+aaWaH4YOhDHC8ixh0pRpBcBoOCT4QtGmNKsfr8Wnewv+PtOghzMM7QFGf3evx7WFXV17iF6TlfFIWM9s/aCJR6CX4ZhHVNofBzKaY2T/gOwQ64CPOufzh2tcBvWb2F3mvMfx5cH6R1W7Ej8IYZV3wvLCgHG8homOomb3aooexj/ruXIa/QPta0DSscF0vMbPC2utSZZUKqMmHNJRzbpuZvRPfnuxbZvZBfI3kdHwniqOJ/z29GbjRzG7E134dhq8B2oTP+Rpu8wkzW4G/bX2/md2GDxTfhK99vZ/i2S/ivq/x4H19A1+b8gczux1fsxu2mTsK3+7tc3kv/VxQ5uOBB4J2qjPwt9f3Ai5xzlUcnJbhB8BPg05oj+NrZPrwPwrnhgs555yZvQ/fxnDAzG7Cp8k7CF+DkgP+T0GGkUq8G18jerWZ/TP+1uzT+E6Vf4WvJT2C6m6T347v8PfVoPNcDnjaOffFEq9ZjK/l+WbBj3GhZfjP73T8Z1WJrwflu9zMFuEHgunFNyG4Ad9WObZg330J/2MME3dV8u0ODJnZWnx6v0fwx+ab8Mfn9wpr8Ar0AL8ys9/ga5kfw+fVPQ7fFOELhXeJipR1tZk9hM+nu1t+B1wzewl+380Mno8ImsAUurxIe/VYnHPLzWx3fOagleY76P6MiaHHj2Cic1joC/ga4p/ij51twKvxx/4j+IGMXmBmB+Ev6Ao7hlYqLeeTch0K3GBm9+DPmSP4c+Xx+H4fny3x2ih/Z2Zzg7+78J/xG/DNXp4BTnc+K1G+z+M7pv4qOB+MAX+DD6bDjraFbscPdX8zvuZ/DPixc+7H+DtC7wf+O+g/MII/bx2Dz+9eePy+F/ig+U71v8d/zw4MtrsV3wwLAOfc18zs1fjfud+b2a34zpIz8c3EjsT3jfjHmGWVSrgU5O7Toz4PiuShLrLs+cHyC4vMn0vpPNRzI16zkCK5nPEnuCvxOam34a+e7wI+VrDcOkqPlHgcvoZoFB9wfQd4WcT2ZuCT9q9lYuS3K/A/jKsKP6dSZY/xWb4Z3/Hrj/ialS34Tl7fIiIvKz5g+Ri+hup5fGA3BJwcdz8U7PNVReZFfZYv7Pfg8wxzPP8Zf0KeXWRdB+EvHh7Hn5gfx2dKOKic71ap94OvffwYPrDbHJTrj/hBF04nb0TK/O9EOZ8Lvp3jb5nII74u6vXBsh34Hy0H/NUk34EZwfdxG7BXMG2X79lk5cf/mH8Pf+EQjpL4gWKfG5Pk1sbX+O0IPsuokdem4geZ+UHwXrcE34Vf4H+cOwuW3+k7hW/r+in8xdCG4HN9PHjvJwNWxnEU5pQ/tsh3ZrLH3IiyFv1sSpRjX3xA98tgn44Fn8md+I7Oe+QtexL+btVw8J19Fn9cXwi8NGLdnwnKdFgZ5Ync93nzEzufTFKOhZTOQx15LEYdj/gL5c/g74A9EXxv1gffw2PLKFP4/Q8fO4J98Ht8+sgPk5cDvshxeD/+WHsKP2jYKyhyDsNfpHwL36l7BwW/Gfg0o3fgg+NwP/wdEb8v+Pb2V+EH7NkU7Lu1+PPwIUXKexy+6dmT+HPNE/iOkJ8GXl5OWfUo/2HBByvStMzsVPxJZpfOHlIe82npzsMPS76qsaWRWjOzhfhA8JvOuUQ6edWKme2BD4R+5pxLsg1tKgRtr/+AHzCkmqZBItIAakMtItK+Pho8l2rWkgrOuWfxF3tvD25vt5p/wjeDObvRBRGR8qkNtYhIGwk6CR6Hb8t7LPB959xdpV+VGl/GNyMplgqumW0FFjvnHmh0QUSkfAqoRUTay6vx7VOfBf6bvA67aed8Z8RqcnmnlnPuqkaXQUQqpzbUIiIiIiJVUBtqEREREZEqNH2Tjz333NPNnTu36PzR0VG6urrqVyApSfsjXbQ/0kX7I120P9JF+yNd2nV/3HfffU85515aOL3pA+q5c+dy7733Fp2/atUqFi5cWL8CSUnaH+mi/ZEu2h/pov2RLtof6dKu+8PMHomariYfIiIiIiJVUEAtIiIiIlIFBdQiIiIiIlVo+jbUIiIiItIcxsbGWL9+PVu2bGl0UUqaPn06c+bMYerUqbGWV0AtIiIiInWxfv16MpkMc+fOxcwaXZxIzjk2btzI+vXr2X///WO9Rk0+RERERKQutmzZwqxZs1IbTAOYGbNmzSqrFl0BtYiIiIjUTZqD6VC5ZVRALSIiIiJtZeXKlRx00EHMmzePiy++uOr1KaAWERERkbaxY8cOzjjjDH7wgx+wZs0arrvuOtasWVPVOtUpUURERETSKZeDgQEYHobeXshmIZOpapV333038+bN44ADDgDgXe96FzfddBPz58+veJ0KqEVEREQkfYaGoL8fxsdhdBS6umDJEhgchL6+ile7YcMG9t133xf+nzNnDnfddVdVRVWTDxERERFJl1zOB9O5nA+mwT+H0zdvbmz5CiigFhEREZF0GRjwNdNRxsf9/Ar19PTw2GOPvfD/+vXr6enpqXh9oIBaRERERNJmeHiiZrrQ6CisXVvxql/zmtcwPDzMH//4R7Zt28aKFSt4+9vfXvH6QG2oRURERCRtent9m+mooLqrC+bNq3jVU6ZM4Ytf/CJvectb2LFjB6eddhoLFiyoorAKqEVEREQkbbJZ3wExSkeHn1+F/v5++vv7q1pHPjX5EBEREZF0yWR8No9MxtdIg38Op3d3N7Z8BVRDLSIiIiLp09cHIyO+A+Latb6ZRzabumAaFFCLiIiISFp1d8PixY0uxaQUULe7GoxAJCIiItJOFFC3sxqNQCQiIiLSTtQpsV012QhEIiIiImmlgLpd1XAEIhEREZG0Ou2009hrr7045JBDElunAup2VcMRiERERETS6tRTT2XlypWJrlNtqNtVDUcgEhERaXbqs58Oua05Bh4cYHjjML2zeskuyJKZVt2OOPLII1m3bl0yBQwooG5XNR6BSEREpFmpz346DD06RP/yfsbdOKNjo3RN7WLJrUsYPGWQvv3StSPU5KNdNdkIRCIiIvWgPvvpkNuao395P7ltOUbH/I4YHRslt81P37wt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\n","text/plain":["
"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"EYaSQU6IDev0"},"source":["Μπορούμε να δούμε ότι οι τρεις κατηγορίες είναι αρκετά διακριτές και διαχωρίσιμες. Μπορούμε να συμπεράνουμε ότι η αναπαράσταση συμπιεσμένων δεδομένων είναι πιθανότατα επαρκής για ένα μοντέλο ταξινόμησης. \n","\n","Μπορούμε να συγκρίνουμε τη διακύμανση στο συνολικό σύνολο δεδομένων με αυτό που καταγράφηκε από τα δύο κύρια συστατικά το explained_variance_ratio_ \n","\n","Μπορούμε να δούμε ότι τα πρώτα δύο κύρια συστατικά μας εξηγούν την πλειονότητα της διακύμανσης σε αυτό το σύνολο δεδομένων (95,81%)! Αυτή είναι μια ένδειξη της συνολικής πληροφορίας που αντιπροσωπεύονται σε σύγκριση με τα αρχικά δεδομένα."]},{"cell_type":"code","metadata":{"id":"ekCl89CO9BVL","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1604326883637,"user_tz":-120,"elapsed":904,"user":{"displayName":"Katerina A","photoUrl":"","userId":"12077637925353215781"}},"outputId":"a32d087f-a9a4-43ba-f486-beaf960387b4"},"source":["# Calculate the variance explained by priciple components\n","print('Variance of each component:', pca.explained_variance_ratio_)\n","print('\\n Total Variance Explained:', round(sum(list(pca.explained_variance_ratio_))*100, 2))"],"execution_count":null,"outputs":[{"output_type":"stream","text":["Variance of each component: [0.72962445 0.22850762]\n","\n"," Total Variance Explained: 95.81\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"WjA254c082Lo"},"source":["Αναλυτική παρουσίαση του PCA μπορείτε να βρείτε [εδώ](https://towardsdatascience.com/a-one-stop-shop-for-principal-component-analysis-5582fb7e0a9c)"]}]}