Created
April 23, 2020 23:30
-
-
Save SandieIJ/4d7205a2452470e9bb1601b98a36d940 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"**COMPARING THE TWO IMPLEMENTATIONS**\n", | |
"\n", | |
"We will compare two implementations of PCA. After implementing a PCA with 95% of the components, the data is reduced to 25 components." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 405, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"inv = pca.inverse_transform(pca_transformed)\n", | |
"\n", | |
"plt.scatter(scaled_x[:, 0], scaled_x[:, 1], alpha=0.2)\n", | |
"plt.scatter(inv[:, 0], inv[:, 1], alpha=0.8)\n", | |
"plt.axis('equal');" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 391, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"inv2 = pca2.inverse_transform(pca_transformed2)\n", | |
"\n", | |
"plt.scatter(scaled_x[:, 0], scaled_x[:, 1], alpha=0.2)\n", | |
"plt.scatter(inv2[:, 0], inv2[:, 1], alpha=0.8)\n", | |
"plt.axis('equal');" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"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.4" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment