{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# PCA\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Veri Seti\n", "url='https://raw.githubusercontent.com/cagriemreakin/Machine-Learning/master/4%20-%20Dimensionality%20Reduction/1%20-%20Principal%20Component%20Analysis/Wine.csv'\n", "dataset = pd.read_csv(url)\n", "X = dataset.iloc[:, 0:13].values\n", "y = dataset.iloc[:, 13].values\n", "\n", "# Boyut Sayısı\n", "size=X.shape[1]" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Eğitim ve Test Set Görselleştirme için Kullanılacak\n", "def visualize(X,y,title):\n", " from matplotlib.colors import ListedColormap\n", " plt.figure(figsize=(12,7))\n", " X_set, y_set = X, y\n", " X1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 1, stop = X_set[:, 0].max() + 1, step = 0.01),\n", " np.arange(start = X_set[:, 1].min() - 1, stop = X_set[:, 1].max() + 1, step = 0.01))\n", " plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(), X2.ravel()]).T).reshape(X1.shape),\n", " alpha = 0.75, cmap = ListedColormap(('red', 'green', 'blue')))\n", " plt.xlim(X1.min(), X1.max())\n", " plt.ylim(X2.min(), X2.max())\n", " for i, j in enumerate(np.unique(y_set)):\n", " plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1],\n", " c = ListedColormap(('red', 'green', 'blue'))(i), label = j)\n", " plt.title('Logistic Regression ' + title)\n", " plt.xlabel('PC1')\n", " plt.ylabel('PC2')\n", " plt.legend()\n", " plt.show()\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Eğitim ve Test Setine Ayırma\n", "from sklearn.model_selection import train_test_split\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Feature Scaling\n", "from sklearn.preprocessing import StandardScaler\n", "sc = StandardScaler()\n", "X_train = sc.fit_transform(X_train)\n", "X_test = sc.transform(X_test)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "#Component sayısına karar verebilmek için n_components' a parametre olarak None değerini atıyoruz.\n", "#Böylece veri setimizdeki explained variance ve cumulative variance değerlerini bulup grafikte gösteriyoruz.\n", "from sklearn.decomposition import PCA \n", "pca = PCA(n_components = None)\n", "X_train = pca.fit_transform(X_train)\n", "X_test = pca.transform(X_test)\n", "explained_variance = pca.explained_variance_ratio_\n", "cumVar = np.cumsum(np.round(explained_variance, decimals=4)*100)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\ntthiqWKRJGl50rAkLTPvAf65WPFBwBXl8hXAwTXlYzLzjcx8HPgrsEOjYmukcePG0bNnTz71qU8t\nLNtmm234wAc+wPjx4znggAMWln/2s5/l8ssvB4rZE8466yyGDBnCsGHDmDRpEvvssw8bb7wxl1xy\nCUCb9Wt9+tOfZtiwYQwePJizzz4bgIsuuohnnnmGPfbYgz322GPhOZ9//nnOPPNMfvjDHy6sf845\n53D++ecD8N3vfpftt9+erbfeeuGxao0YMYJHH32UmTNnAvDaa69x5513cvDBxVd78MEHM3ToUAYP\nHsyoUaMW1uvTpw+f//zn2WabbbjvvvsWaQlsKf4F8Z599tlst912bLXVVjz66KMAvPrqq5xwwgls\ntdVWbL311lx33XUA3H777ey8885st912HH744bz66qutf3GSJFVMZ9/dOSAzZ5bLzwIDyuX1gPtr\n9ptRlnU5Dz/8MEOHDu1Q3fe85z1MnjyZM844g+OPP557772XefPmseWWWy6S9LXnm9/8Jv369ePt\nt99mxIgRPPjgg5x66qlccMEFjBs3jrXWWmuR/Y888khOP/10TjnlFADGjh3Lbbfdxu2338706dP5\n05/+RGZy4IEHcs8997DbbrstrNujRw8OPfRQxo4dy2mnncavf/1rhg8fzuqrrw7AZZddRr9+/Zg7\ndy7bb789hx56KP379+e1115jxx135Hvf+15d8W+99dYArLXWWkyaNIkf/ehHnH/++Vx66aV84xvf\nYI011uChhx4C4MUXX+T555/n3HPP5c4772TVVVfl29/+NhdccAFf/epXl+xLkSQte6NGwejRy/aY\nQ4bAhRcu22M2WdMewZGZGRG5pPUi4mTgZCiSmjadfjpMntyh+FrVwB/BgQceCMBWW23Fq6++ymqr\nrcZqq63GyiuvvERjx8aOHcuoUaOYP38+M2fOZOrUqQuTnJZsu+22PPfcczzzzDPMnj2bvn37ssEG\nG/D973+f22+/nW233RYoWqymT5++SJIGRZfnF77wBU477TTGjBnDscceu3DbRRddxA033ADAU089\nxfTp0+nfv//C5G5J4z/kkEMAGDp0KNdffz0Ad9555yJdrn379uXmm29m6tSp7LrrrgC8+eab7Lzz\nznVfQ0lSA40eXfx9HjKk2ZFUWmcnabMiYmBmzoyIgcBzZfnTwAY1+61flr1LZo4CRgEMGzZsiZO8\n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\nuX0g8FxLdTNzVGYOy8xha6+9ducELEmS1MmacXdnAD8FpmXmBTWbbgKOK5ePA27s7Ni6oojmviRJ\nUmOs2IRz7gocCzwUEZPLsi8D5wFjI+LjwJPAEU2ITZIkqRI6PUnLzN8DrbXBjOjMWCRJkqrKGQck\nSZIqyCRNkiSpgkzSJEmSKsgkTZIkqYJM0iRJkirIJE2SJKmCTNIkSZIqyCRNkiSpgkzSJEmSKsgk\nTZIkqYJM0iRJkirIJE2SJKmCTNIkSZIqyCRNkiSpgkzSJEmSKsgkTZIkqYJM0iRJkirIJE2SJKmC\nTNIkSZIqaMVmB6DlW0Rzz5/Z3PNLktRRtqRJkiRVkEmaJElSBZmkSZIkVZBJmiRJUgWZpEmSJFWQ\nSZokSVIFmaRJkiRVkEmaJElSBfkwW3VrzXzYrg/alSS1xZY0SZKkCjJJkyRJqiC7O6WKct5TSere\nbEmTJEmqIJM0SZKkCrK7U1KH2B0rSY1lS5okSVIF2ZImabljK5+k5YEtaZIkSRVkkiZJklRBJmmS\nJEkV5Jg0SepkjpmTVA+TNEnSIpqZRJpASv9ikiZJ6jKq3gpZ9fjUtVRuTFpE7BsRj0XEXyPizGbH\nI0mS1AyVakmLiB7AD4G9gBnAAxFxU2ZObW5kkiR1fXZldy2VStKAHYC/ZubfASJiDHAQYJImSdJy\nzK7id6tad+d6wFM16zPKMkmSpG6lai1p7YqIk4GTy9VXI+IxYC3g+eZF1Tid8C+Lpbp2zf6XT3sa\nHJ/Xbukst9fPa9dxXrul4//zOq6TfnsbLkmFqiVpTwMb1KyvX5YtlJmjgFG1ZRExITOHNT685Y/X\nruO8dkvH69dxXruO89p1nNdu6ZTXb9CS1Klad+cDwCYRsVFErAQcBdzU5JgkSZI6XaVa0jJzfkR8\nFrgN6AFclpmPNDksSZKkTlepJA0gM28BblnCaqPa30Wt8Np1nNdu6Xj9Os5r13Feu47z2i2dJb5+\nkVW851SSJKmbq9qYNEmSJNHFkzSnkOq4iNggIsZFxNSIeCQiTmt2TF1NRPSIiD9HxM3NjqUriYg1\nI+LaiHg0IqZFxM7NjqmriIgzyv9eH46IayKiV7NjqrKIuCwinouIh2vK+kXEHRExvXzv28wYq6qV\na/fd8r/bByPihohYs5kxVlVL165m2+cjIiNirXqO1WWTtJoppPYDtgBGRsQWzY2qS5kPfD4ztwB2\n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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Component Sayısına Göre Değişen Explained ve Cumulative Variance Değerini Grafik Üzerinde Gösterme\n", "plt.figure(figsize=(10, 5))\n", "# 100 Üzerinden Explained Variance Değerlerinin Bar ile Gösterimi\n", "plt.bar(range(1,explained_variance.size+1,1), explained_variance*100, align='center', label='Variance', color = 'b')\n", "# 100 Üzerinden Cumulative Variance Değerlerinin Step ile Gösterimi\n", "plt.step(range(1,explained_variance.size+1,1), cumVar, where='mid',label='Cumulative Variance',color='red')\n", "plt.title(' Explained Variance & Cumulative Variance')\n", "plt.ylabel('Explained Variance')\n", "plt.xlabel('Principal components')\n", "plt.legend(loc='best')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Yukarıdaki grafikte 2 component ile toplam variance'ın %60' ı açıklanabilir. 2 boyutlu düzlemde sonuçları göstereceğimiz için 2 seçtik. Fakat araştırmalar, toplam variance'ın en az %70-80 arasında olması gerektiğini söylüyor." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "def pca (X_train,X_test,componentNumber):\n", " pca2 = PCA(n_components=componentNumber)\n", " X_train_pca = pca2.fit_transform(X_train)\n", " X_test_pca = pca2.transform(X_test)\n", " return (X_train_pca,X_test_pca)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n", " intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n", " penalty='l2', random_state=0, solver='liblinear', tol=0.0001,\n", " verbose=0, warm_start=False)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Logistic Regression Modeli ile Veri Setini Eğitme\n", "from sklearn.linear_model import LogisticRegression\n", "classifier = LogisticRegression(random_state = 0)\n", "X_train_pca,X_test_pca = pca (X_train,X_test,2)\n", "classifier.fit(X_train_pca, y_train)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n", " intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n", " penalty='l2', random_state=0, solver='liblinear', tol=0.0001,\n", " verbose=0, warm_start=False)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "classifier2 = LogisticRegression(random_state = 0)\n", "X_train_pca2,X_test_pca2 = pca (X_train,X_test,3)\n", "classifier2.fit(X_train_pca2, y_train)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# Sonuçların Tahmini\n", "y_pred = classifier.predict(X_test_pca)\n", "y_pred2 = classifier2.predict(X_test_pca2)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "# Confusion Matrix\n", "from sklearn.metrics import confusion_matrix\n", "cm1 = confusion_matrix(y_test, y_pred)\n", "cm2 = confusion_matrix(y_test, y_pred2)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " Confusion Matrix for 2 Component\n", " [[14 0 0]\n", " [ 1 15 0]\n", " [ 0 0 6]] \n", "\n", " Confusion Matrix for 3 Component\n", " [[14 0 0]\n", " [ 0 16 0]\n", " [ 0 0 6]]\n" ] } ], "source": [ "print(\"\\n Confusion Matrix for 2 Component\\n\",cm1,\"\\n\\n Confusion Matrix for 3 Component\\n\",cm2)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "n_components = 2 -> Prediciton: % 97.2222222222\n", "n_components = 3 -> Prediction: % 100.0\n" ] } ], "source": [ "from sklearn.metrics import accuracy_score\n", "print(\"n_components = 2 -> Prediciton: %\",accuracy_score(y_pred,y_test)*100)\n", "print(\"n_components = 3 -> Prediction: %\",accuracy_score(y_pred2,y_test)*100)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nSUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "visualize(X_train_pca,y_train,'Training Set for 2 Components')\n", "visualize(X_test_pca,y_test,'Test Set for 2 Components')" ] } ], "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.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }