From 756e5959dbd2ab1ece82b65265864699018c5798 Mon Sep 17 00:00:00 2001 From: lewikeezy Date: Wed, 22 Apr 2020 23:30:51 +0100 Subject: [PATCH 1/2] added mine added code of a basic logistic algorithm challenge --- mine.ipynb | 411 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 411 insertions(+) create mode 100644 mine.ipynb diff --git a/mine.ipynb b/mine.ipynb new file mode 100644 index 0000000..40d7f18 --- /dev/null +++ b/mine.ipynb @@ -0,0 +1,411 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "#Import the required modules\n", + "from sklearn.datasets import make_classification\n", + "from matplotlib import pyplot as plt\n", + "from sklearn.linear_model import LogisticRegression\n", + "import seaborn as sns\n", + "sns.set()\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.metrics import confusion_matrix\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[-1.04798669]\n", + " [-1.18533122]\n", + " [ 1.30388268]\n", + " [ 0.77921082]\n", + " [-0.66270304]\n", + " [-0.73517511]\n", + " [ 1.0129303 ]\n", + " [-0.93736332]\n", + " [-1.22869413]\n", + " [-1.29906245]\n", + " [ 0.84625523]\n", + " [-0.44678384]\n", + " [-1.27810116]\n", + " [-0.81715397]\n", + " [-1.3759646 ]\n", + " [-1.45907172]\n", + " [ 0.86213447]\n", + " [ 1.31966782]\n", + " [ 0.992724 ]\n", + " [-0.59239048]\n", + " [-1.04680338]\n", + " [-0.09286521]\n", + " [ 0.97648125]\n", + " [-1.1542901 ]\n", + " [ 0.64743536]\n", + " [ 0.83918906]\n", + " [ 1.2009213 ]\n", + " [ 1.10163923]\n", + " [-0.55377165]\n", + " [ 0.85945976]\n", + " [-1.33699615]\n", + " [-0.70839315]\n", + " [-0.89077893]\n", + " [ 1.3955816 ]\n", + " [ 0.79877718]\n", + " [-1.10126753]\n", + " [-0.77791645]\n", + " [-0.9837044 ]\n", + " [-0.00471974]\n", + " [ 0.42358359]\n", + " [ 0.97323393]\n", + " [ 1.01961803]\n", + " [ 0.88678014]\n", + " [-0.58178967]\n", + " [-1.01645497]\n", + " [ 1.01866018]\n", + " [ 0.97811732]\n", + " [-0.46328955]\n", + " [-0.58220468]\n", + " [ 1.200104 ]\n", + " [ 0.96129761]\n", + " [ 1.07521231]\n", + " [-1.06676283]\n", + " [ 0.66703245]\n", + " [-1.48266358]\n", + " [-0.95379103]\n", + " [-0.50922448]\n", + " [ 0.5766528 ]\n", + " [-0.68286227]\n", + " [-1.07421386]\n", + " [-0.79172877]\n", + " [-1.32897534]\n", + " [ 0.92527711]\n", + " [-1.63144075]\n", + " [ 0.98152769]\n", + " [-0.9277596 ]\n", + " [ 0.99513204]\n", + " [-1.56576004]\n", + " [-1.18322963]\n", + " [-1.26981413]\n", + " [ 1.17981389]\n", + " [ 1.19795714]\n", + " [-0.8895733 ]\n", + " [ 1.30158202]\n", + " [ 0.96883211]\n", + " [ 0.75274277]\n", + " [-1.02120842]\n", + " [-0.90877379]\n", + " [-0.6296421 ]\n", + " [ 0.86470982]\n", + " [-0.8515186 ]\n", + " [ 1.16013882]\n", + " [-0.75516721]\n", + " [-1.32044924]\n", + " [ 1.08864952]\n", + " [ 1.31526124]\n", + " [-0.69391671]\n", + " [ 0.93398792]\n", + " [-1.42212025]\n", + " [-1.16417858]\n", + " [-1.21467772]\n", + " [-1.27889807]\n", + " [-0.3769908 ]\n", + " [ 0.91999288]\n", + " [-1.56485036]\n", + " [-1.01986862]\n", + " [ 0.84728703]\n", + " [-0.66573826]\n", + " [ 0.99244273]\n", + " [ 1.15776142]\n", + " [ 1.01505624]\n", + " [ 0.89444983]\n", + " [ 1.50345731]\n", + " [-0.99158212]\n", + " [ 1.15662115]\n", + " [ 0.99783538]\n", + " [ 0.86208113]\n", + " [-0.55094122]\n", + " [ 0.99835555]\n", + " [ 0.71681001]\n", + " [-1.91372087]\n", + " [ 0.76479732]\n", + " [ 1.27156396]\n", + " [ 1.09839751]\n", + " [ 1.00400252]\n", + " [-0.75344864]\n", + " [ 0.60223506]\n", + " [-1.73194991]\n", + " [-1.5929839 ]\n", + " [-1.28884636]\n", + " [ 0.87351535]\n", + " [ 0.48517228]\n", + " [-1.52216478]\n", + " [ 0.69444818]\n", + " [ 0.85601014]\n", + " [-1.34117394]\n", + " [ 1.06720227]\n", + " [-1.31004995]\n", + " [-0.97309369]\n", + " [-0.83737283]\n", + " [ 0.82328655]\n", + " [-1.36708274]\n", + " [ 0.70692957]\n", + " [ 1.03636045]\n", + " [-0.99336523]\n", + " [-0.87996869]\n", + " [-1.36451102]\n", + " [ 0.68029636]\n", + " [-1.41461592]\n", + " [ 1.16286916]\n", + " [-1.08334534]\n", + " [ 0.85772781]\n", + " [-1.11696295]\n", + " [ 0.87627224]\n", + " [ 0.95710966]\n", + " [ 0.75226261]\n", + " [ 0.69270705]\n", + " [-1.7941007 ]\n", + " [ 0.90707982]\n", + " [ 0.88402826]\n", + " [-1.01107845]\n", + " [-0.29958654]\n", + " [-1.13859804]\n", + " [ 1.07290754]\n", + " [ 0.60718351]\n", + " [ 1.09774186]\n", + " [ 0.83100714]\n", + " [-1.96633847]\n", + " [-0.98418513]\n", + " [-0.9663529 ]\n", + " [ 1.1207593 ]\n", + " [ 1.52081546]\n", + " [ 1.04894859]\n", + " [ 0.79643643]\n", + " [ 0.92910662]\n", + " [ 0.91140536]\n", + " [-0.46227849]\n", + " [ 0.88936215]\n", + " [ 0.93760681]\n", + " [ 0.83783787]\n", + " [-1.86302163]\n", + " [-1.1519962 ]\n", + " [-1.27718473]\n", + " [ 0.77842533]\n", + " [ 1.04897324]\n", + " [ 0.89562746]\n", + " [-1.52215334]\n", + " [ 0.72946825]\n", + " [ 1.0339013 ]\n", + " [-1.30609303]\n", + " [-1.19891745]\n", + " [-0.77372154]\n", + " [-1.21857242]\n", + " [-0.57381702]\n", + " [-0.92105519]\n", + " [-1.56994703]\n", + " [ 0.83183766]\n", + " [ 0.9388098 ]\n", + " [-0.92321381]\n", + " [ 0.95491747]\n", + " [ 0.97491984]\n", + " [ 1.27302445]\n", + " [ 0.86112564]\n", + " [-1.12353232]\n", + " [-0.53593672]\n", + " [ 1.37928873]\n", + " [-0.771236 ]\n", + " [ 0.94489733]\n", + " [-1.01449996]\n", + " [ 0.95553333]]\n" + ] + } + ], + "source": [ + "print(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 1 0 0 0 1 1 0 0\n", + " 0 0 0 1 1 1 0 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 1\n", + " 1 1 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 0\n", + " 1 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 0 0 0 1 0 1 1 0 0 0 1 0 1 0 1 0 1 1 1 1 0\n", + " 1 1 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0\n", + " 0 1 1 0 1 1 1 1 0 0 1 0 1 0 1]\n" + ] + } + ], + "source": [ + "print(y)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "#Generate the data set\n", + "x,y = make_classification(n_samples=200,\n", + " n_features=1,\n", + " n_classes=2,\n", + " n_clusters_per_class=1,\n", + " flip_y=0.03,\n", + " n_informative=1,\n", + " n_redundant=0,\n", + " n_repeated=0 \n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Visualize using scatter plot\n", + "plt.scatter(x,y,cmap='Reds')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "#Split dataset into training and test data set\n", + "x_train, x_test, y_train, y_test=train_test_split(x,y, random_state=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "#Create the Logistic Regression Object\n", + "Ir = LogisticRegression()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "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=None, solver='liblinear', tol=0.0001,\n", + " verbose=0, warm_start=False)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Perform Logistic Regression\n", + "Ir.fit(x_train,y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[3.3859551]]\n", + "[-0.47024533]\n" + ] + } + ], + "source": [ + "#Observe the coefficient and intercept\n", + "print(Ir.coef_)\n", + "print(Ir.intercept_)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "#make prediction at this point\n", + "y_pred = Ir.predict(x_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[30, 1],\n", + " [ 1, 18]], dtype=int64)" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Display the confusion matrix\n", + "confusion_matrix(y_test, y_pred)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 91278b15eb1aa13d63e65e4e22e683945d3ed8fe Mon Sep 17 00:00:00 2001 From: lewikeezy Date: Wed, 22 Apr 2020 23:32:49 +0100 Subject: [PATCH 2/2] added How to How to shows a basic overview of the Algorithm developed --- How to.odt | Bin 0 -> 17406 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 How to.odt diff --git a/How to.odt b/How to.odt new file mode 100644 index 0000000000000000000000000000000000000000..2682ade902ae77558c4db6a8d8e8da3130918a81 GIT binary patch literal 17406 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 Ro5O_!konnNiE{rg{Xag#2{Zrz literal 0 HcmV?d00001