├── images ├── Images.md ├── rf.png ├── BvsV.png ├── MSE.png ├── dt1.jpg ├── knn1.png ├── okay.jpeg ├── reg.jpg ├── svm.jpg ├── svm1.png ├── formula.png ├── kernel2.jpg ├── logreg.jpg ├── thanks.png ├── voting.png ├── hierarch.gif ├── kmeans++.gif ├── model_fit.jpg ├── tradeoff.png ├── cluster_v_class.jpg ├── support_vectors.jpg ├── Kmeans_animation.gif └── hierarchial_approach.jfif ├── data ├── Position_Salaries.csv ├── Data.csv ├── Mall_Customers.csv ├── wine-clustering.csv ├── Social_Network_Ads.csv ├── x-y.csv └── Realestate.csv ├── requirements.txt ├── .gitignore ├── README.md ├── week 2.ipynb └── week 3.ipynb /images/Images.md: -------------------------------------------------------------------------------- 1 | Contains Images 2 | -------------------------------------------------------------------------------- /images/rf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/rf.png -------------------------------------------------------------------------------- /images/BvsV.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/BvsV.png -------------------------------------------------------------------------------- /images/MSE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/MSE.png -------------------------------------------------------------------------------- /images/dt1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/dt1.jpg -------------------------------------------------------------------------------- /images/knn1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/knn1.png -------------------------------------------------------------------------------- /images/okay.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/okay.jpeg -------------------------------------------------------------------------------- /images/reg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/reg.jpg -------------------------------------------------------------------------------- /images/svm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/svm.jpg -------------------------------------------------------------------------------- /images/svm1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/svm1.png -------------------------------------------------------------------------------- /images/formula.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/formula.png -------------------------------------------------------------------------------- /images/kernel2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/kernel2.jpg -------------------------------------------------------------------------------- /images/logreg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/logreg.jpg -------------------------------------------------------------------------------- /images/thanks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/thanks.png -------------------------------------------------------------------------------- /images/voting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/voting.png -------------------------------------------------------------------------------- /images/hierarch.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/hierarch.gif -------------------------------------------------------------------------------- /images/kmeans++.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/kmeans++.gif -------------------------------------------------------------------------------- /images/model_fit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/model_fit.jpg -------------------------------------------------------------------------------- /images/tradeoff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/tradeoff.png -------------------------------------------------------------------------------- /images/cluster_v_class.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/cluster_v_class.jpg -------------------------------------------------------------------------------- /images/support_vectors.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/support_vectors.jpg -------------------------------------------------------------------------------- /images/Kmeans_animation.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/Kmeans_animation.gif -------------------------------------------------------------------------------- /images/hierarchial_approach.jfif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kabirnagpal/ML-Track/HEAD/images/hierarchial_approach.jfif -------------------------------------------------------------------------------- /data/Position_Salaries.csv: -------------------------------------------------------------------------------- 1 | Position,Level,Salary 2 | Business Analyst,1,45000 3 | Junior Consultant,2,50000 4 | Senior Consultant,3,60000 5 | Manager,4,80000 6 | Country Manager,5,110000 7 | Region Manager,6,150000 8 | Partner,7,200000 9 | Senior Partner,8,300000 10 | C-level,9,500000 11 | CEO,10,1000000 -------------------------------------------------------------------------------- /data/Data.csv: -------------------------------------------------------------------------------- 1 | City,Experience,Salary,Promotion 2 | Delhi,4,55000,No 3 | Mumbai,2,20000,Yes 4 | Agra,3,30000,No 5 | Mumbai,8,72000,No 6 | Agra,4,,Yes 7 | Delhi,5,60000,Yes 8 | Mumbai,,52000,No 9 | Delhi,4,51000,Yes 10 | Agra,5,59000,No 11 | Delhi,3,31000,Yes 12 | ,5,58000,Yes 13 | Mumbai,,52000,No 14 | Delhi,8,79000,Yes 15 | Agra,5,60000,No 16 | Delhi,7,67000,Yes -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | Package Version 2 | --------------- ------- 3 | cycler 0.10.0 4 | joblib 0.16.0 5 | kiwisolver 1.2.0 6 | matplotlib 3.2.2 7 | numpy 1.19.0 8 | pandas 1.0.5 9 | pip 20.0.2 10 | pkg-resources 0.0.0 11 | plotly 4.8.2 12 | pyparsing 2.4.7 13 | python-dateutil 2.8.1 14 | pytz 2020.1 15 | retrying 1.3.3 16 | scikit-learn 0.23.1 17 | scipy 1.5.1 18 | seaborn 0.10.1 19 | setuptools 44.0.0 20 | six 1.15.0 21 | threadpoolctl 2.1.0 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | MANIFEST 27 | 28 | # PyInstaller 29 | # Usually these files are written by a python script from a template 30 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 31 | *.manifest 32 | *.spec 33 | 34 | # Installer logs 35 | pip-log.txt 36 | pip-delete-this-directory.txt 37 | 38 | # Unit test / coverage reports 39 | htmlcov/ 40 | .tox/ 41 | .coverage 42 | .coverage.* 43 | .cache 44 | nosetests.xml 45 | coverage.xml 46 | *.cover 47 | .hypothesis/ 48 | .pytest_cache/ 49 | 50 | # Translations 51 | *.mo 52 | *.pot 53 | 54 | # Django stuff: 55 | *.log 56 | local_settings.py 57 | db.sqlite3 58 | 59 | # Flask stuff: 60 | instance/ 61 | .webassets-cache 62 | 63 | # Scrapy stuff: 64 | .scrapy 65 | 66 | # Sphinx documentation 67 | docs/_build/ 68 | 69 | # PyBuilder 70 | target/ 71 | 72 | # Jupyter Notebook 73 | .ipynb_checkpoints 74 | 75 | # pyenv 76 | .python-version 77 | 78 | # celery beat schedule file 79 | celerybeat-schedule 80 | 81 | # SageMath parsed files 82 | *.sage.py 83 | 84 | # Environments 85 | .env 86 | .venv 87 | env/ 88 | venv/ 89 | ENV/ 90 | env.bak/ 91 | venv.bak/ 92 | 93 | # Spyder project settings 94 | .spyderproject 95 | .spyproject 96 | 97 | # Rope project settings 98 | .ropeproject 99 | 100 | # mkdocs documentation 101 | /site 102 | 103 | # mypy 104 | .mypy_cache/ 105 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | SoA-ML-14 2 | ========== 3 | ## Week 1: Intro to Numpy and Pandas 4 | ### (Anaconda, spyder, jupyter) 5 | #### Getting Familiar with: 6 | [*Link to Week 1's Jupyter Notebook*](https://github.com/kabirnagpal/SoA-ML-14/blob/master/week%201.ipynb) 7 | * Numpy 8 | * Pandas 9 | * Matplotlib 10 | 11 | ## Week 2: Basic Data pre-processing: 12 | [*Link to Week 2's Jupyter Notebook*](https://github.com/kabirnagpal/SoA-ML-14/blob/master/week%202.ipynb) 13 | * One Hot encoding 14 | * Label Encoding 15 | * Normalization 16 | * Dealing with Missing values 17 | * Introduction to Machine learning 18 | * Types of Learning (Supervised, Unsupervised and Reinforcement) 19 | * Application of Machine Learning 20 | 21 | 22 | ## Week 3: Regression Algorithms: 23 | [*Link to Week 3's Jupyter Notebook*](https://github.com/kabirnagpal/SoA-ML-14/blob/master/week%203.ipynb) 24 | * Linear Regression 25 | * Multiple Linear Regression 26 | * Polynomial Regression 27 | 28 | 29 | ## Week 4:Classification Algorithms: 30 | [*Link to Week 4's Jupyter Notebook*](https://github.com/kabirnagpal/SoA-ML-14/blob/master/week%204.ipynb) 31 | * Logistic Regression 32 | * K-Nearest Neighbours 33 | * Support Vector Classifier 34 | * Decision Tree 35 | * Random Forest 36 | * Voting Classifier 37 | 38 | 39 | ## Week 5: Bias vs Variance Trade off 40 | [*Link to Week 5's Jupyter Notebook*](https://github.com/kabirnagpal/SoA-ML-14/blob/master/week%205.ipynb) 41 | * OverFitting 42 | * UnderFitting 43 | * Regularization 44 | * Support Vector Machines 45 | 46 | 47 | ## Week 6:Clustering Algorithms: 48 | [*Link to Week 6's Jupyter Notebook*](https://github.com/kabirnagpal/SoA-ML-14/blob/master/week%206.ipynb) 49 | * K-means Clustering 50 | * Hierarchical Clustering 51 | 52 | 53 | ## Week 7: Dimensionality Reduction: 54 | [*Link to Week 7's Jupyter Notebook*](https://github.com/kabirnagpal/SoA-ML-14/blob/master/week%207.ipynb) 55 | * PCA 56 | * LDA 57 | * Kernel PCA 58 | 59 | * Model Selection: 60 | * K-fold Cross Validation 61 | * Parameter Tuning 62 | * Grid Search 63 | 64 | ## Week 8: An introduction to Boosting 65 | [*Link to Week 8's Jupyter Notebook*](https://github.com/kabirnagpal/SoA-ML-14/blob/master/week%208.ipynb) 66 | * Gradient Boosting 67 | * XGBoost -------------------------------------------------------------------------------- /data/Mall_Customers.csv: -------------------------------------------------------------------------------- 1 | CustomerID,Gender,Age,Annual Income (k$),Spending Score (1-100) 2 | 1,Male,19,15,39 3 | 2,Male,21,15,81 4 | 3,Female,20,16,6 5 | 4,Female,23,16,77 6 | 5,Female,31,17,40 7 | 6,Female,22,17,76 8 | 7,Female,35,18,6 9 | 8,Female,23,18,94 10 | 9,Male,64,19,3 11 | 10,Female,30,19,72 12 | 11,Male,67,19,14 13 | 12,Female,35,19,99 14 | 13,Female,58,20,15 15 | 14,Female,24,20,77 16 | 15,Male,37,20,13 17 | 16,Male,22,20,79 18 | 17,Female,35,21,35 19 | 18,Male,20,21,66 20 | 19,Male,52,23,29 21 | 20,Female,35,23,98 22 | 21,Male,35,24,35 23 | 22,Male,25,24,73 24 | 23,Female,46,25,5 25 | 24,Male,31,25,73 26 | 25,Female,54,28,14 27 | 26,Male,29,28,82 28 | 27,Female,45,28,32 29 | 28,Male,35,28,61 30 | 29,Female,40,29,31 31 | 30,Female,23,29,87 32 | 31,Male,60,30,4 33 | 32,Female,21,30,73 34 | 33,Male,53,33,4 35 | 34,Male,18,33,92 36 | 35,Female,49,33,14 37 | 36,Female,21,33,81 38 | 37,Female,42,34,17 39 | 38,Female,30,34,73 40 | 39,Female,36,37,26 41 | 40,Female,20,37,75 42 | 41,Female,65,38,35 43 | 42,Male,24,38,92 44 | 43,Male,48,39,36 45 | 44,Female,31,39,61 46 | 45,Female,49,39,28 47 | 46,Female,24,39,65 48 | 47,Female,50,40,55 49 | 48,Female,27,40,47 50 | 49,Female,29,40,42 51 | 50,Female,31,40,42 52 | 51,Female,49,42,52 53 | 52,Male,33,42,60 54 | 53,Female,31,43,54 55 | 54,Male,59,43,60 56 | 55,Female,50,43,45 57 | 56,Male,47,43,41 58 | 57,Female,51,44,50 59 | 58,Male,69,44,46 60 | 59,Female,27,46,51 61 | 60,Male,53,46,46 62 | 61,Male,70,46,56 63 | 62,Male,19,46,55 64 | 63,Female,67,47,52 65 | 64,Female,54,47,59 66 | 65,Male,63,48,51 67 | 66,Male,18,48,59 68 | 67,Female,43,48,50 69 | 68,Female,68,48,48 70 | 69,Male,19,48,59 71 | 70,Female,32,48,47 72 | 71,Male,70,49,55 73 | 72,Female,47,49,42 74 | 73,Female,60,50,49 75 | 74,Female,60,50,56 76 | 75,Male,59,54,47 77 | 76,Male,26,54,54 78 | 77,Female,45,54,53 79 | 78,Male,40,54,48 80 | 79,Female,23,54,52 81 | 80,Female,49,54,42 82 | 81,Male,57,54,51 83 | 82,Male,38,54,55 84 | 83,Male,67,54,41 85 | 84,Female,46,54,44 86 | 85,Female,21,54,57 87 | 86,Male,48,54,46 88 | 87,Female,55,57,58 89 | 88,Female,22,57,55 90 | 89,Female,34,58,60 91 | 90,Female,50,58,46 92 | 91,Female,68,59,55 93 | 92,Male,18,59,41 94 | 93,Male,48,60,49 95 | 94,Female,40,60,40 96 | 95,Female,32,60,42 97 | 96,Male,24,60,52 98 | 97,Female,47,60,47 99 | 98,Female,27,60,50 100 | 99,Male,48,61,42 101 | 100,Male,20,61,49 102 | 101,Female,23,62,41 103 | 102,Female,49,62,48 104 | 103,Male,67,62,59 105 | 104,Male,26,62,55 106 | 105,Male,49,62,56 107 | 106,Female,21,62,42 108 | 107,Female,66,63,50 109 | 108,Male,54,63,46 110 | 109,Male,68,63,43 111 | 110,Male,66,63,48 112 | 111,Male,65,63,52 113 | 112,Female,19,63,54 114 | 113,Female,38,64,42 115 | 114,Male,19,64,46 116 | 115,Female,18,65,48 117 | 116,Female,19,65,50 118 | 117,Female,63,65,43 119 | 118,Female,49,65,59 120 | 119,Female,51,67,43 121 | 120,Female,50,67,57 122 | 121,Male,27,67,56 123 | 122,Female,38,67,40 124 | 123,Female,40,69,58 125 | 124,Male,39,69,91 126 | 125,Female,23,70,29 127 | 126,Female,31,70,77 128 | 127,Male,43,71,35 129 | 128,Male,40,71,95 130 | 129,Male,59,71,11 131 | 130,Male,38,71,75 132 | 131,Male,47,71,9 133 | 132,Male,39,71,75 134 | 133,Female,25,72,34 135 | 134,Female,31,72,71 136 | 135,Male,20,73,5 137 | 136,Female,29,73,88 138 | 137,Female,44,73,7 139 | 138,Male,32,73,73 140 | 139,Male,19,74,10 141 | 140,Female,35,74,72 142 | 141,Female,57,75,5 143 | 142,Male,32,75,93 144 | 143,Female,28,76,40 145 | 144,Female,32,76,87 146 | 145,Male,25,77,12 147 | 146,Male,28,77,97 148 | 147,Male,48,77,36 149 | 148,Female,32,77,74 150 | 149,Female,34,78,22 151 | 150,Male,34,78,90 152 | 151,Male,43,78,17 153 | 152,Male,39,78,88 154 | 153,Female,44,78,20 155 | 154,Female,38,78,76 156 | 155,Female,47,78,16 157 | 156,Female,27,78,89 158 | 157,Male,37,78,1 159 | 158,Female,30,78,78 160 | 159,Male,34,78,1 161 | 160,Female,30,78,73 162 | 161,Female,56,79,35 163 | 162,Female,29,79,83 164 | 163,Male,19,81,5 165 | 164,Female,31,81,93 166 | 165,Male,50,85,26 167 | 166,Female,36,85,75 168 | 167,Male,42,86,20 169 | 168,Female,33,86,95 170 | 169,Female,36,87,27 171 | 170,Male,32,87,63 172 | 171,Male,40,87,13 173 | 172,Male,28,87,75 174 | 173,Male,36,87,10 175 | 174,Male,36,87,92 176 | 175,Female,52,88,13 177 | 176,Female,30,88,86 178 | 177,Male,58,88,15 179 | 178,Male,27,88,69 180 | 179,Male,59,93,14 181 | 180,Male,35,93,90 182 | 181,Female,37,97,32 183 | 182,Female,32,97,86 184 | 183,Male,46,98,15 185 | 184,Female,29,98,88 186 | 185,Female,41,99,39 187 | 186,Male,30,99,97 188 | 187,Female,54,101,24 189 | 188,Male,28,101,68 190 | 189,Female,41,103,17 191 | 190,Female,36,103,85 192 | 191,Female,34,103,23 193 | 192,Female,32,103,69 194 | 193,Male,33,113,8 195 | 194,Female,38,113,91 196 | 195,Female,47,120,16 197 | 196,Female,35,120,79 198 | 197,Female,45,126,28 199 | 198,Male,32,126,74 200 | 199,Male,32,137,18 201 | 200,Male,30,137,83 202 | -------------------------------------------------------------------------------- /data/wine-clustering.csv: -------------------------------------------------------------------------------- 1 | Alcohol,Malic_Acid,Ash,Ash_Alcanity,Magnesium,Total_Phenols,Flavanoids,Nonflavanoid_Phenols,Proanthocyanins,Color_Intensity,Hue,OD280,Proline 2 | 14.23,1.71,2.43,15.6,127,2.8,3.06,0.28,2.29,5.64,1.04,3.92,1065 3 | 13.2,1.78,2.14,11.2,100,2.65,2.76,0.26,1.28,4.38,1.05,3.4,1050 4 | 13.16,2.36,2.67,18.6,101,2.8,3.24,0.3,2.81,5.68,1.03,3.17,1185 5 | 14.37,1.95,2.5,16.8,113,3.85,3.49,0.24,2.18,7.8,0.86,3.45,1480 6 | 13.24,2.59,2.87,21,118,2.8,2.69,0.39,1.82,4.32,1.04,2.93,735 7 | 14.2,1.76,2.45,15.2,112,3.27,3.39,0.34,1.97,6.75,1.05,2.85,1450 8 | 14.39,1.87,2.45,14.6,96,2.5,2.52,0.3,1.98,5.25,1.02,3.58,1290 9 | 14.06,2.15,2.61,17.6,121,2.6,2.51,0.31,1.25,5.05,1.06,3.58,1295 10 | 14.83,1.64,2.17,14,97,2.8,2.98,0.29,1.98,5.2,1.08,2.85,1045 11 | 13.86,1.35,2.27,16,98,2.98,3.15,0.22,1.85,7.22,1.01,3.55,1045 12 | 14.1,2.16,2.3,18,105,2.95,3.32,0.22,2.38,5.75,1.25,3.17,1510 13 | 14.12,1.48,2.32,16.8,95,2.2,2.43,0.26,1.57,5,1.17,2.82,1280 14 | 13.75,1.73,2.41,16,89,2.6,2.76,0.29,1.81,5.6,1.15,2.9,1320 15 | 14.75,1.73,2.39,11.4,91,3.1,3.69,0.43,2.81,5.4,1.25,2.73,1150 16 | 14.38,1.87,2.38,12,102,3.3,3.64,0.29,2.96,7.5,1.2,3,1547 17 | 13.63,1.81,2.7,17.2,112,2.85,2.91,0.3,1.46,7.3,1.28,2.88,1310 18 | 14.3,1.92,2.72,20,120,2.8,3.14,0.33,1.97,6.2,1.07,2.65,1280 19 | 13.83,1.57,2.62,20,115,2.95,3.4,0.4,1.72,6.6,1.13,2.57,1130 20 | 14.19,1.59,2.48,16.5,108,3.3,3.93,0.32,1.86,8.7,1.23,2.82,1680 21 | 13.64,3.1,2.56,15.2,116,2.7,3.03,0.17,1.66,5.1,0.96,3.36,845 22 | 14.06,1.63,2.28,16,126,3,3.17,0.24,2.1,5.65,1.09,3.71,780 23 | 12.93,3.8,2.65,18.6,102,2.41,2.41,0.25,1.98,4.5,1.03,3.52,770 24 | 13.71,1.86,2.36,16.6,101,2.61,2.88,0.27,1.69,3.8,1.11,4,1035 25 | 12.85,1.6,2.52,17.8,95,2.48,2.37,0.26,1.46,3.93,1.09,3.63,1015 26 | 13.5,1.81,2.61,20,96,2.53,2.61,0.28,1.66,3.52,1.12,3.82,845 27 | 13.05,2.05,3.22,25,124,2.63,2.68,0.47,1.92,3.58,1.13,3.2,830 28 | 13.39,1.77,2.62,16.1,93,2.85,2.94,0.34,1.45,4.8,0.92,3.22,1195 29 | 13.3,1.72,2.14,17,94,2.4,2.19,0.27,1.35,3.95,1.02,2.77,1285 30 | 13.87,1.9,2.8,19.4,107,2.95,2.97,0.37,1.76,4.5,1.25,3.4,915 31 | 14.02,1.68,2.21,16,96,2.65,2.33,0.26,1.98,4.7,1.04,3.59,1035 32 | 13.73,1.5,2.7,22.5,101,3,3.25,0.29,2.38,5.7,1.19,2.71,1285 33 | 13.58,1.66,2.36,19.1,106,2.86,3.19,0.22,1.95,6.9,1.09,2.88,1515 34 | 13.68,1.83,2.36,17.2,104,2.42,2.69,0.42,1.97,3.84,1.23,2.87,990 35 | 13.76,1.53,2.7,19.5,132,2.95,2.74,0.5,1.35,5.4,1.25,3,1235 36 | 13.51,1.8,2.65,19,110,2.35,2.53,0.29,1.54,4.2,1.1,2.87,1095 37 | 13.48,1.81,2.41,20.5,100,2.7,2.98,0.26,1.86,5.1,1.04,3.47,920 38 | 13.28,1.64,2.84,15.5,110,2.6,2.68,0.34,1.36,4.6,1.09,2.78,880 39 | 13.05,1.65,2.55,18,98,2.45,2.43,0.29,1.44,4.25,1.12,2.51,1105 40 | 13.07,1.5,2.1,15.5,98,2.4,2.64,0.28,1.37,3.7,1.18,2.69,1020 41 | 14.22,3.99,2.51,13.2,128,3,3.04,0.2,2.08,5.1,0.89,3.53,760 42 | 13.56,1.71,2.31,16.2,117,3.15,3.29,0.34,2.34,6.13,0.95,3.38,795 43 | 13.41,3.84,2.12,18.8,90,2.45,2.68,0.27,1.48,4.28,0.91,3,1035 44 | 13.88,1.89,2.59,15,101,3.25,3.56,0.17,1.7,5.43,0.88,3.56,1095 45 | 13.24,3.98,2.29,17.5,103,2.64,2.63,0.32,1.66,4.36,0.82,3,680 46 | 13.05,1.77,2.1,17,107,3,3,0.28,2.03,5.04,0.88,3.35,885 47 | 14.21,4.04,2.44,18.9,111,2.85,2.65,0.3,1.25,5.24,0.87,3.33,1080 48 | 14.38,3.59,2.28,16,102,3.25,3.17,0.27,2.19,4.9,1.04,3.44,1065 49 | 13.9,1.68,2.12,16,101,3.1,3.39,0.21,2.14,6.1,0.91,3.33,985 50 | 14.1,2.02,2.4,18.8,103,2.75,2.92,0.32,2.38,6.2,1.07,2.75,1060 51 | 13.94,1.73,2.27,17.4,108,2.88,3.54,0.32,2.08,8.9,1.12,3.1,1260 52 | 13.05,1.73,2.04,12.4,92,2.72,3.27,0.17,2.91,7.2,1.12,2.91,1150 53 | 13.83,1.65,2.6,17.2,94,2.45,2.99,0.22,2.29,5.6,1.24,3.37,1265 54 | 13.82,1.75,2.42,14,111,3.88,3.74,0.32,1.87,7.05,1.01,3.26,1190 55 | 13.77,1.9,2.68,17.1,115,3,2.79,0.39,1.68,6.3,1.13,2.93,1375 56 | 13.74,1.67,2.25,16.4,118,2.6,2.9,0.21,1.62,5.85,0.92,3.2,1060 57 | 13.56,1.73,2.46,20.5,116,2.96,2.78,0.2,2.45,6.25,0.98,3.03,1120 58 | 14.22,1.7,2.3,16.3,118,3.2,3,0.26,2.03,6.38,0.94,3.31,970 59 | 13.29,1.97,2.68,16.8,102,3,3.23,0.31,1.66,6,1.07,2.84,1270 60 | 13.72,1.43,2.5,16.7,108,3.4,3.67,0.19,2.04,6.8,0.89,2.87,1285 61 | 12.37,0.94,1.36,10.6,88,1.98,0.57,0.28,0.42,1.95,1.05,1.82,520 62 | 12.33,1.1,2.28,16,101,2.05,1.09,0.63,0.41,3.27,1.25,1.67,680 63 | 12.64,1.36,2.02,16.8,100,2.02,1.41,0.53,0.62,5.75,0.98,1.59,450 64 | 13.67,1.25,1.92,18,94,2.1,1.79,0.32,0.73,3.8,1.23,2.46,630 65 | 12.37,1.13,2.16,19,87,3.5,3.1,0.19,1.87,4.45,1.22,2.87,420 66 | 12.17,1.45,2.53,19,104,1.89,1.75,0.45,1.03,2.95,1.45,2.23,355 67 | 12.37,1.21,2.56,18.1,98,2.42,2.65,0.37,2.08,4.6,1.19,2.3,678 68 | 13.11,1.01,1.7,15,78,2.98,3.18,0.26,2.28,5.3,1.12,3.18,502 69 | 12.37,1.17,1.92,19.6,78,2.11,2,0.27,1.04,4.68,1.12,3.48,510 70 | 13.34,0.94,2.36,17,110,2.53,1.3,0.55,0.42,3.17,1.02,1.93,750 71 | 12.21,1.19,1.75,16.8,151,1.85,1.28,0.14,2.5,2.85,1.28,3.07,718 72 | 12.29,1.61,2.21,20.4,103,1.1,1.02,0.37,1.46,3.05,0.906,1.82,870 73 | 13.86,1.51,2.67,25,86,2.95,2.86,0.21,1.87,3.38,1.36,3.16,410 74 | 13.49,1.66,2.24,24,87,1.88,1.84,0.27,1.03,3.74,0.98,2.78,472 75 | 12.99,1.67,2.6,30,139,3.3,2.89,0.21,1.96,3.35,1.31,3.5,985 76 | 11.96,1.09,2.3,21,101,3.38,2.14,0.13,1.65,3.21,0.99,3.13,886 77 | 11.66,1.88,1.92,16,97,1.61,1.57,0.34,1.15,3.8,1.23,2.14,428 78 | 13.03,0.9,1.71,16,86,1.95,2.03,0.24,1.46,4.6,1.19,2.48,392 79 | 11.84,2.89,2.23,18,112,1.72,1.32,0.43,0.95,2.65,0.96,2.52,500 80 | 12.33,0.99,1.95,14.8,136,1.9,1.85,0.35,2.76,3.4,1.06,2.31,750 81 | 12.7,3.87,2.4,23,101,2.83,2.55,0.43,1.95,2.57,1.19,3.13,463 82 | 12,0.92,2,19,86,2.42,2.26,0.3,1.43,2.5,1.38,3.12,278 83 | 12.72,1.81,2.2,18.8,86,2.2,2.53,0.26,1.77,3.9,1.16,3.14,714 84 | 12.08,1.13,2.51,24,78,2,1.58,0.4,1.4,2.2,1.31,2.72,630 85 | 13.05,3.86,2.32,22.5,85,1.65,1.59,0.61,1.62,4.8,0.84,2.01,515 86 | 11.84,0.89,2.58,18,94,2.2,2.21,0.22,2.35,3.05,0.79,3.08,520 87 | 12.67,0.98,2.24,18,99,2.2,1.94,0.3,1.46,2.62,1.23,3.16,450 88 | 12.16,1.61,2.31,22.8,90,1.78,1.69,0.43,1.56,2.45,1.33,2.26,495 89 | 11.65,1.67,2.62,26,88,1.92,1.61,0.4,1.34,2.6,1.36,3.21,562 90 | 11.64,2.06,2.46,21.6,84,1.95,1.69,0.48,1.35,2.8,1,2.75,680 91 | 12.08,1.33,2.3,23.6,70,2.2,1.59,0.42,1.38,1.74,1.07,3.21,625 92 | 12.08,1.83,2.32,18.5,81,1.6,1.5,0.52,1.64,2.4,1.08,2.27,480 93 | 12,1.51,2.42,22,86,1.45,1.25,0.5,1.63,3.6,1.05,2.65,450 94 | 12.69,1.53,2.26,20.7,80,1.38,1.46,0.58,1.62,3.05,0.96,2.06,495 95 | 12.29,2.83,2.22,18,88,2.45,2.25,0.25,1.99,2.15,1.15,3.3,290 96 | 11.62,1.99,2.28,18,98,3.02,2.26,0.17,1.35,3.25,1.16,2.96,345 97 | 12.47,1.52,2.2,19,162,2.5,2.27,0.32,3.28,2.6,1.16,2.63,937 98 | 11.81,2.12,2.74,21.5,134,1.6,0.99,0.14,1.56,2.5,0.95,2.26,625 99 | 12.29,1.41,1.98,16,85,2.55,2.5,0.29,1.77,2.9,1.23,2.74,428 100 | 12.37,1.07,2.1,18.5,88,3.52,3.75,0.24,1.95,4.5,1.04,2.77,660 101 | 12.29,3.17,2.21,18,88,2.85,2.99,0.45,2.81,2.3,1.42,2.83,406 102 | 12.08,2.08,1.7,17.5,97,2.23,2.17,0.26,1.4,3.3,1.27,2.96,710 103 | 12.6,1.34,1.9,18.5,88,1.45,1.36,0.29,1.35,2.45,1.04,2.77,562 104 | 12.34,2.45,2.46,21,98,2.56,2.11,0.34,1.31,2.8,0.8,3.38,438 105 | 11.82,1.72,1.88,19.5,86,2.5,1.64,0.37,1.42,2.06,0.94,2.44,415 106 | 12.51,1.73,1.98,20.5,85,2.2,1.92,0.32,1.48,2.94,1.04,3.57,672 107 | 12.42,2.55,2.27,22,90,1.68,1.84,0.66,1.42,2.7,0.86,3.3,315 108 | 12.25,1.73,2.12,19,80,1.65,2.03,0.37,1.63,3.4,1,3.17,510 109 | 12.72,1.75,2.28,22.5,84,1.38,1.76,0.48,1.63,3.3,0.88,2.42,488 110 | 12.22,1.29,1.94,19,92,2.36,2.04,0.39,2.08,2.7,0.86,3.02,312 111 | 11.61,1.35,2.7,20,94,2.74,2.92,0.29,2.49,2.65,0.96,3.26,680 112 | 11.46,3.74,1.82,19.5,107,3.18,2.58,0.24,3.58,2.9,0.75,2.81,562 113 | 12.52,2.43,2.17,21,88,2.55,2.27,0.26,1.22,2,0.9,2.78,325 114 | 11.76,2.68,2.92,20,103,1.75,2.03,0.6,1.05,3.8,1.23,2.5,607 115 | 11.41,0.74,2.5,21,88,2.48,2.01,0.42,1.44,3.08,1.1,2.31,434 116 | 12.08,1.39,2.5,22.5,84,2.56,2.29,0.43,1.04,2.9,0.93,3.19,385 117 | 11.03,1.51,2.2,21.5,85,2.46,2.17,0.52,2.01,1.9,1.71,2.87,407 118 | 11.82,1.47,1.99,20.8,86,1.98,1.6,0.3,1.53,1.95,0.95,3.33,495 119 | 12.42,1.61,2.19,22.5,108,2,2.09,0.34,1.61,2.06,1.06,2.96,345 120 | 12.77,3.43,1.98,16,80,1.63,1.25,0.43,0.83,3.4,0.7,2.12,372 121 | 12,3.43,2,19,87,2,1.64,0.37,1.87,1.28,0.93,3.05,564 122 | 11.45,2.4,2.42,20,96,2.9,2.79,0.32,1.83,3.25,0.8,3.39,625 123 | 11.56,2.05,3.23,28.5,119,3.18,5.08,0.47,1.87,6,0.93,3.69,465 124 | 12.42,4.43,2.73,26.5,102,2.2,2.13,0.43,1.71,2.08,0.92,3.12,365 125 | 13.05,5.8,2.13,21.5,86,2.62,2.65,0.3,2.01,2.6,0.73,3.1,380 126 | 11.87,4.31,2.39,21,82,2.86,3.03,0.21,2.91,2.8,0.75,3.64,380 127 | 12.07,2.16,2.17,21,85,2.6,2.65,0.37,1.35,2.76,0.86,3.28,378 128 | 12.43,1.53,2.29,21.5,86,2.74,3.15,0.39,1.77,3.94,0.69,2.84,352 129 | 11.79,2.13,2.78,28.5,92,2.13,2.24,0.58,1.76,3,0.97,2.44,466 130 | 12.37,1.63,2.3,24.5,88,2.22,2.45,0.4,1.9,2.12,0.89,2.78,342 131 | 12.04,4.3,2.38,22,80,2.1,1.75,0.42,1.35,2.6,0.79,2.57,580 132 | 12.86,1.35,2.32,18,122,1.51,1.25,0.21,0.94,4.1,0.76,1.29,630 133 | 12.88,2.99,2.4,20,104,1.3,1.22,0.24,0.83,5.4,0.74,1.42,530 134 | 12.81,2.31,2.4,24,98,1.15,1.09,0.27,0.83,5.7,0.66,1.36,560 135 | 12.7,3.55,2.36,21.5,106,1.7,1.2,0.17,0.84,5,0.78,1.29,600 136 | 12.51,1.24,2.25,17.5,85,2,0.58,0.6,1.25,5.45,0.75,1.51,650 137 | 12.6,2.46,2.2,18.5,94,1.62,0.66,0.63,0.94,7.1,0.73,1.58,695 138 | 12.25,4.72,2.54,21,89,1.38,0.47,0.53,0.8,3.85,0.75,1.27,720 139 | 12.53,5.51,2.64,25,96,1.79,0.6,0.63,1.1,5,0.82,1.69,515 140 | 13.49,3.59,2.19,19.5,88,1.62,0.48,0.58,0.88,5.7,0.81,1.82,580 141 | 12.84,2.96,2.61,24,101,2.32,0.6,0.53,0.81,4.92,0.89,2.15,590 142 | 12.93,2.81,2.7,21,96,1.54,0.5,0.53,0.75,4.6,0.77,2.31,600 143 | 13.36,2.56,2.35,20,89,1.4,0.5,0.37,0.64,5.6,0.7,2.47,780 144 | 13.52,3.17,2.72,23.5,97,1.55,0.52,0.5,0.55,4.35,0.89,2.06,520 145 | 13.62,4.95,2.35,20,92,2,0.8,0.47,1.02,4.4,0.91,2.05,550 146 | 12.25,3.88,2.2,18.5,112,1.38,0.78,0.29,1.14,8.21,0.65,2,855 147 | 13.16,3.57,2.15,21,102,1.5,0.55,0.43,1.3,4,0.6,1.68,830 148 | 13.88,5.04,2.23,20,80,0.98,0.34,0.4,0.68,4.9,0.58,1.33,415 149 | 12.87,4.61,2.48,21.5,86,1.7,0.65,0.47,0.86,7.65,0.54,1.86,625 150 | 13.32,3.24,2.38,21.5,92,1.93,0.76,0.45,1.25,8.42,0.55,1.62,650 151 | 13.08,3.9,2.36,21.5,113,1.41,1.39,0.34,1.14,9.4,0.57,1.33,550 152 | 13.5,3.12,2.62,24,123,1.4,1.57,0.22,1.25,8.6,0.59,1.3,500 153 | 12.79,2.67,2.48,22,112,1.48,1.36,0.24,1.26,10.8,0.48,1.47,480 154 | 13.11,1.9,2.75,25.5,116,2.2,1.28,0.26,1.56,7.1,0.61,1.33,425 155 | 13.23,3.3,2.28,18.5,98,1.8,0.83,0.61,1.87,10.52,0.56,1.51,675 156 | 12.58,1.29,2.1,20,103,1.48,0.58,0.53,1.4,7.6,0.58,1.55,640 157 | 13.17,5.19,2.32,22,93,1.74,0.63,0.61,1.55,7.9,0.6,1.48,725 158 | 13.84,4.12,2.38,19.5,89,1.8,0.83,0.48,1.56,9.01,0.57,1.64,480 159 | 12.45,3.03,2.64,27,97,1.9,0.58,0.63,1.14,7.5,0.67,1.73,880 160 | 14.34,1.68,2.7,25,98,2.8,1.31,0.53,2.7,13,0.57,1.96,660 161 | 13.48,1.67,2.64,22.5,89,2.6,1.1,0.52,2.29,11.75,0.57,1.78,620 162 | 12.36,3.83,2.38,21,88,2.3,0.92,0.5,1.04,7.65,0.56,1.58,520 163 | 13.69,3.26,2.54,20,107,1.83,0.56,0.5,0.8,5.88,0.96,1.82,680 164 | 12.85,3.27,2.58,22,106,1.65,0.6,0.6,0.96,5.58,0.87,2.11,570 165 | 12.96,3.45,2.35,18.5,106,1.39,0.7,0.4,0.94,5.28,0.68,1.75,675 166 | 13.78,2.76,2.3,22,90,1.35,0.68,0.41,1.03,9.58,0.7,1.68,615 167 | 13.73,4.36,2.26,22.5,88,1.28,0.47,0.52,1.15,6.62,0.78,1.75,520 168 | 13.45,3.7,2.6,23,111,1.7,0.92,0.43,1.46,10.68,0.85,1.56,695 169 | 12.82,3.37,2.3,19.5,88,1.48,0.66,0.4,0.97,10.26,0.72,1.75,685 170 | 13.58,2.58,2.69,24.5,105,1.55,0.84,0.39,1.54,8.66,0.74,1.8,750 171 | 13.4,4.6,2.86,25,112,1.98,0.96,0.27,1.11,8.5,0.67,1.92,630 172 | 12.2,3.03,2.32,19,96,1.25,0.49,0.4,0.73,5.5,0.66,1.83,510 173 | 12.77,2.39,2.28,19.5,86,1.39,0.51,0.48,0.64,9.899999,0.57,1.63,470 174 | 14.16,2.51,2.48,20,91,1.68,0.7,0.44,1.24,9.7,0.62,1.71,660 175 | 13.71,5.65,2.45,20.5,95,1.68,0.61,0.52,1.06,7.7,0.64,1.74,740 176 | 13.4,3.91,2.48,23,102,1.8,0.75,0.43,1.41,7.3,0.7,1.56,750 177 | 13.27,4.28,2.26,20,120,1.59,0.69,0.43,1.35,10.2,0.59,1.56,835 178 | 13.17,2.59,2.37,20,120,1.65,0.68,0.53,1.46,9.3,0.6,1.62,840 179 | 14.13,4.1,2.74,24.5,96,2.05,0.76,0.56,1.35,9.2,0.61,1.6,560 -------------------------------------------------------------------------------- /data/Social_Network_Ads.csv: -------------------------------------------------------------------------------- 1 | User ID,Gender,Age,EstimatedSalary,Purchased 2 | 15624510,Male,19,19000,0 3 | 15810944,Male,35,20000,0 4 | 15668575,Female,26,43000,0 5 | 15603246,Female,27,57000,0 6 | 15804002,Male,19,76000,0 7 | 15728773,Male,27,58000,0 8 | 15598044,Female,27,84000,0 9 | 15694829,Female,32,150000,1 10 | 15600575,Male,25,33000,0 11 | 15727311,Female,35,65000,0 12 | 15570769,Female,26,80000,0 13 | 15606274,Female,26,52000,0 14 | 15746139,Male,20,86000,0 15 | 15704987,Male,32,18000,0 16 | 15628972,Male,18,82000,0 17 | 15697686,Male,29,80000,0 18 | 15733883,Male,47,25000,1 19 | 15617482,Male,45,26000,1 20 | 15704583,Male,46,28000,1 21 | 15621083,Female,48,29000,1 22 | 15649487,Male,45,22000,1 23 | 15736760,Female,47,49000,1 24 | 15714658,Male,48,41000,1 25 | 15599081,Female,45,22000,1 26 | 15705113,Male,46,23000,1 27 | 15631159,Male,47,20000,1 28 | 15792818,Male,49,28000,1 29 | 15633531,Female,47,30000,1 30 | 15744529,Male,29,43000,0 31 | 15669656,Male,31,18000,0 32 | 15581198,Male,31,74000,0 33 | 15729054,Female,27,137000,1 34 | 15573452,Female,21,16000,0 35 | 15776733,Female,28,44000,0 36 | 15724858,Male,27,90000,0 37 | 15713144,Male,35,27000,0 38 | 15690188,Female,33,28000,0 39 | 15689425,Male,30,49000,0 40 | 15671766,Female,26,72000,0 41 | 15782806,Female,27,31000,0 42 | 15764419,Female,27,17000,0 43 | 15591915,Female,33,51000,0 44 | 15772798,Male,35,108000,0 45 | 15792008,Male,30,15000,0 46 | 15715541,Female,28,84000,0 47 | 15639277,Male,23,20000,0 48 | 15798850,Male,25,79000,0 49 | 15776348,Female,27,54000,0 50 | 15727696,Male,30,135000,1 51 | 15793813,Female,31,89000,0 52 | 15694395,Female,24,32000,0 53 | 15764195,Female,18,44000,0 54 | 15744919,Female,29,83000,0 55 | 15671655,Female,35,23000,0 56 | 15654901,Female,27,58000,0 57 | 15649136,Female,24,55000,0 58 | 15775562,Female,23,48000,0 59 | 15807481,Male,28,79000,0 60 | 15642885,Male,22,18000,0 61 | 15789109,Female,32,117000,0 62 | 15814004,Male,27,20000,0 63 | 15673619,Male,25,87000,0 64 | 15595135,Female,23,66000,0 65 | 15583681,Male,32,120000,1 66 | 15605000,Female,59,83000,0 67 | 15718071,Male,24,58000,0 68 | 15679760,Male,24,19000,0 69 | 15654574,Female,23,82000,0 70 | 15577178,Female,22,63000,0 71 | 15595324,Female,31,68000,0 72 | 15756932,Male,25,80000,0 73 | 15726358,Female,24,27000,0 74 | 15595228,Female,20,23000,0 75 | 15782530,Female,33,113000,0 76 | 15592877,Male,32,18000,0 77 | 15651983,Male,34,112000,1 78 | 15746737,Male,18,52000,0 79 | 15774179,Female,22,27000,0 80 | 15667265,Female,28,87000,0 81 | 15655123,Female,26,17000,0 82 | 15595917,Male,30,80000,0 83 | 15668385,Male,39,42000,0 84 | 15709476,Male,20,49000,0 85 | 15711218,Male,35,88000,0 86 | 15798659,Female,30,62000,0 87 | 15663939,Female,31,118000,1 88 | 15694946,Male,24,55000,0 89 | 15631912,Female,28,85000,0 90 | 15768816,Male,26,81000,0 91 | 15682268,Male,35,50000,0 92 | 15684801,Male,22,81000,0 93 | 15636428,Female,30,116000,0 94 | 15809823,Male,26,15000,0 95 | 15699284,Female,29,28000,0 96 | 15786993,Female,29,83000,0 97 | 15709441,Female,35,44000,0 98 | 15710257,Female,35,25000,0 99 | 15582492,Male,28,123000,1 100 | 15575694,Male,35,73000,0 101 | 15756820,Female,28,37000,0 102 | 15766289,Male,27,88000,0 103 | 15593014,Male,28,59000,0 104 | 15584545,Female,32,86000,0 105 | 15675949,Female,33,149000,1 106 | 15672091,Female,19,21000,0 107 | 15801658,Male,21,72000,0 108 | 15706185,Female,26,35000,0 109 | 15789863,Male,27,89000,0 110 | 15720943,Male,26,86000,0 111 | 15697997,Female,38,80000,0 112 | 15665416,Female,39,71000,0 113 | 15660200,Female,37,71000,0 114 | 15619653,Male,38,61000,0 115 | 15773447,Male,37,55000,0 116 | 15739160,Male,42,80000,0 117 | 15689237,Male,40,57000,0 118 | 15679297,Male,35,75000,0 119 | 15591433,Male,36,52000,0 120 | 15642725,Male,40,59000,0 121 | 15701962,Male,41,59000,0 122 | 15811613,Female,36,75000,0 123 | 15741049,Male,37,72000,0 124 | 15724423,Female,40,75000,0 125 | 15574305,Male,35,53000,0 126 | 15678168,Female,41,51000,0 127 | 15697020,Female,39,61000,0 128 | 15610801,Male,42,65000,0 129 | 15745232,Male,26,32000,0 130 | 15722758,Male,30,17000,0 131 | 15792102,Female,26,84000,0 132 | 15675185,Male,31,58000,0 133 | 15801247,Male,33,31000,0 134 | 15725660,Male,30,87000,0 135 | 15638963,Female,21,68000,0 136 | 15800061,Female,28,55000,0 137 | 15578006,Male,23,63000,0 138 | 15668504,Female,20,82000,0 139 | 15687491,Male,30,107000,1 140 | 15610403,Female,28,59000,0 141 | 15741094,Male,19,25000,0 142 | 15807909,Male,19,85000,0 143 | 15666141,Female,18,68000,0 144 | 15617134,Male,35,59000,0 145 | 15783029,Male,30,89000,0 146 | 15622833,Female,34,25000,0 147 | 15746422,Female,24,89000,0 148 | 15750839,Female,27,96000,1 149 | 15749130,Female,41,30000,0 150 | 15779862,Male,29,61000,0 151 | 15767871,Male,20,74000,0 152 | 15679651,Female,26,15000,0 153 | 15576219,Male,41,45000,0 154 | 15699247,Male,31,76000,0 155 | 15619087,Female,36,50000,0 156 | 15605327,Male,40,47000,0 157 | 15610140,Female,31,15000,0 158 | 15791174,Male,46,59000,0 159 | 15602373,Male,29,75000,0 160 | 15762605,Male,26,30000,0 161 | 15598840,Female,32,135000,1 162 | 15744279,Male,32,100000,1 163 | 15670619,Male,25,90000,0 164 | 15599533,Female,37,33000,0 165 | 15757837,Male,35,38000,0 166 | 15697574,Female,33,69000,0 167 | 15578738,Female,18,86000,0 168 | 15762228,Female,22,55000,0 169 | 15614827,Female,35,71000,0 170 | 15789815,Male,29,148000,1 171 | 15579781,Female,29,47000,0 172 | 15587013,Male,21,88000,0 173 | 15570932,Male,34,115000,0 174 | 15794661,Female,26,118000,0 175 | 15581654,Female,34,43000,0 176 | 15644296,Female,34,72000,0 177 | 15614420,Female,23,28000,0 178 | 15609653,Female,35,47000,0 179 | 15594577,Male,25,22000,0 180 | 15584114,Male,24,23000,0 181 | 15673367,Female,31,34000,0 182 | 15685576,Male,26,16000,0 183 | 15774727,Female,31,71000,0 184 | 15694288,Female,32,117000,1 185 | 15603319,Male,33,43000,0 186 | 15759066,Female,33,60000,0 187 | 15814816,Male,31,66000,0 188 | 15724402,Female,20,82000,0 189 | 15571059,Female,33,41000,0 190 | 15674206,Male,35,72000,0 191 | 15715160,Male,28,32000,0 192 | 15730448,Male,24,84000,0 193 | 15662067,Female,19,26000,0 194 | 15779581,Male,29,43000,0 195 | 15662901,Male,19,70000,0 196 | 15689751,Male,28,89000,0 197 | 15667742,Male,34,43000,0 198 | 15738448,Female,30,79000,0 199 | 15680243,Female,20,36000,0 200 | 15745083,Male,26,80000,0 201 | 15708228,Male,35,22000,0 202 | 15628523,Male,35,39000,0 203 | 15708196,Male,49,74000,0 204 | 15735549,Female,39,134000,1 205 | 15809347,Female,41,71000,0 206 | 15660866,Female,58,101000,1 207 | 15766609,Female,47,47000,0 208 | 15654230,Female,55,130000,1 209 | 15794566,Female,52,114000,0 210 | 15800890,Female,40,142000,1 211 | 15697424,Female,46,22000,0 212 | 15724536,Female,48,96000,1 213 | 15735878,Male,52,150000,1 214 | 15707596,Female,59,42000,0 215 | 15657163,Male,35,58000,0 216 | 15622478,Male,47,43000,0 217 | 15779529,Female,60,108000,1 218 | 15636023,Male,49,65000,0 219 | 15582066,Male,40,78000,0 220 | 15666675,Female,46,96000,0 221 | 15732987,Male,59,143000,1 222 | 15789432,Female,41,80000,0 223 | 15663161,Male,35,91000,1 224 | 15694879,Male,37,144000,1 225 | 15593715,Male,60,102000,1 226 | 15575002,Female,35,60000,0 227 | 15622171,Male,37,53000,0 228 | 15795224,Female,36,126000,1 229 | 15685346,Male,56,133000,1 230 | 15691808,Female,40,72000,0 231 | 15721007,Female,42,80000,1 232 | 15794253,Female,35,147000,1 233 | 15694453,Male,39,42000,0 234 | 15813113,Male,40,107000,1 235 | 15614187,Male,49,86000,1 236 | 15619407,Female,38,112000,0 237 | 15646227,Male,46,79000,1 238 | 15660541,Male,40,57000,0 239 | 15753874,Female,37,80000,0 240 | 15617877,Female,46,82000,0 241 | 15772073,Female,53,143000,1 242 | 15701537,Male,42,149000,1 243 | 15736228,Male,38,59000,0 244 | 15780572,Female,50,88000,1 245 | 15769596,Female,56,104000,1 246 | 15586996,Female,41,72000,0 247 | 15722061,Female,51,146000,1 248 | 15638003,Female,35,50000,0 249 | 15775590,Female,57,122000,1 250 | 15730688,Male,41,52000,0 251 | 15753102,Female,35,97000,1 252 | 15810075,Female,44,39000,0 253 | 15723373,Male,37,52000,0 254 | 15795298,Female,48,134000,1 255 | 15584320,Female,37,146000,1 256 | 15724161,Female,50,44000,0 257 | 15750056,Female,52,90000,1 258 | 15609637,Female,41,72000,0 259 | 15794493,Male,40,57000,0 260 | 15569641,Female,58,95000,1 261 | 15815236,Female,45,131000,1 262 | 15811177,Female,35,77000,0 263 | 15680587,Male,36,144000,1 264 | 15672821,Female,55,125000,1 265 | 15767681,Female,35,72000,0 266 | 15600379,Male,48,90000,1 267 | 15801336,Female,42,108000,1 268 | 15721592,Male,40,75000,0 269 | 15581282,Male,37,74000,0 270 | 15746203,Female,47,144000,1 271 | 15583137,Male,40,61000,0 272 | 15680752,Female,43,133000,0 273 | 15688172,Female,59,76000,1 274 | 15791373,Male,60,42000,1 275 | 15589449,Male,39,106000,1 276 | 15692819,Female,57,26000,1 277 | 15727467,Male,57,74000,1 278 | 15734312,Male,38,71000,0 279 | 15764604,Male,49,88000,1 280 | 15613014,Female,52,38000,1 281 | 15759684,Female,50,36000,1 282 | 15609669,Female,59,88000,1 283 | 15685536,Male,35,61000,0 284 | 15750447,Male,37,70000,1 285 | 15663249,Female,52,21000,1 286 | 15638646,Male,48,141000,0 287 | 15734161,Female,37,93000,1 288 | 15631070,Female,37,62000,0 289 | 15761950,Female,48,138000,1 290 | 15649668,Male,41,79000,0 291 | 15713912,Female,37,78000,1 292 | 15586757,Male,39,134000,1 293 | 15596522,Male,49,89000,1 294 | 15625395,Male,55,39000,1 295 | 15760570,Male,37,77000,0 296 | 15566689,Female,35,57000,0 297 | 15725794,Female,36,63000,0 298 | 15673539,Male,42,73000,1 299 | 15705298,Female,43,112000,1 300 | 15675791,Male,45,79000,0 301 | 15747043,Male,46,117000,1 302 | 15736397,Female,58,38000,1 303 | 15678201,Male,48,74000,1 304 | 15720745,Female,37,137000,1 305 | 15637593,Male,37,79000,1 306 | 15598070,Female,40,60000,0 307 | 15787550,Male,42,54000,0 308 | 15603942,Female,51,134000,0 309 | 15733973,Female,47,113000,1 310 | 15596761,Male,36,125000,1 311 | 15652400,Female,38,50000,0 312 | 15717893,Female,42,70000,0 313 | 15622585,Male,39,96000,1 314 | 15733964,Female,38,50000,0 315 | 15753861,Female,49,141000,1 316 | 15747097,Female,39,79000,0 317 | 15594762,Female,39,75000,1 318 | 15667417,Female,54,104000,1 319 | 15684861,Male,35,55000,0 320 | 15742204,Male,45,32000,1 321 | 15623502,Male,36,60000,0 322 | 15774872,Female,52,138000,1 323 | 15611191,Female,53,82000,1 324 | 15674331,Male,41,52000,0 325 | 15619465,Female,48,30000,1 326 | 15575247,Female,48,131000,1 327 | 15695679,Female,41,60000,0 328 | 15713463,Male,41,72000,0 329 | 15785170,Female,42,75000,0 330 | 15796351,Male,36,118000,1 331 | 15639576,Female,47,107000,1 332 | 15693264,Male,38,51000,0 333 | 15589715,Female,48,119000,1 334 | 15769902,Male,42,65000,0 335 | 15587177,Male,40,65000,0 336 | 15814553,Male,57,60000,1 337 | 15601550,Female,36,54000,0 338 | 15664907,Male,58,144000,1 339 | 15612465,Male,35,79000,0 340 | 15810800,Female,38,55000,0 341 | 15665760,Male,39,122000,1 342 | 15588080,Female,53,104000,1 343 | 15776844,Male,35,75000,0 344 | 15717560,Female,38,65000,0 345 | 15629739,Female,47,51000,1 346 | 15729908,Male,47,105000,1 347 | 15716781,Female,41,63000,0 348 | 15646936,Male,53,72000,1 349 | 15768151,Female,54,108000,1 350 | 15579212,Male,39,77000,0 351 | 15721835,Male,38,61000,0 352 | 15800515,Female,38,113000,1 353 | 15591279,Male,37,75000,0 354 | 15587419,Female,42,90000,1 355 | 15750335,Female,37,57000,0 356 | 15699619,Male,36,99000,1 357 | 15606472,Male,60,34000,1 358 | 15778368,Male,54,70000,1 359 | 15671387,Female,41,72000,0 360 | 15573926,Male,40,71000,1 361 | 15709183,Male,42,54000,0 362 | 15577514,Male,43,129000,1 363 | 15778830,Female,53,34000,1 364 | 15768072,Female,47,50000,1 365 | 15768293,Female,42,79000,0 366 | 15654456,Male,42,104000,1 367 | 15807525,Female,59,29000,1 368 | 15574372,Female,58,47000,1 369 | 15671249,Male,46,88000,1 370 | 15779744,Male,38,71000,0 371 | 15624755,Female,54,26000,1 372 | 15611430,Female,60,46000,1 373 | 15774744,Male,60,83000,1 374 | 15629885,Female,39,73000,0 375 | 15708791,Male,59,130000,1 376 | 15793890,Female,37,80000,0 377 | 15646091,Female,46,32000,1 378 | 15596984,Female,46,74000,0 379 | 15800215,Female,42,53000,0 380 | 15577806,Male,41,87000,1 381 | 15749381,Female,58,23000,1 382 | 15683758,Male,42,64000,0 383 | 15670615,Male,48,33000,1 384 | 15715622,Female,44,139000,1 385 | 15707634,Male,49,28000,1 386 | 15806901,Female,57,33000,1 387 | 15775335,Male,56,60000,1 388 | 15724150,Female,49,39000,1 389 | 15627220,Male,39,71000,0 390 | 15672330,Male,47,34000,1 391 | 15668521,Female,48,35000,1 392 | 15807837,Male,48,33000,1 393 | 15592570,Male,47,23000,1 394 | 15748589,Female,45,45000,1 395 | 15635893,Male,60,42000,1 396 | 15757632,Female,39,59000,0 397 | 15691863,Female,46,41000,1 398 | 15706071,Male,51,23000,1 399 | 15654296,Female,50,20000,1 400 | 15755018,Male,36,33000,0 401 | 15594041,Female,49,36000,1 -------------------------------------------------------------------------------- /data/x-y.csv: -------------------------------------------------------------------------------- 1 | x,y 2 | 24,21.54945196 3 | 50,47.46446305 4 | 15,17.21865634 5 | 38,36.58639803 6 | 87,87.28898389 7 | 36,32.46387493 8 | 12,10.78089683 9 | 81,80.7633986 10 | 25,24.61215147 11 | 5,6.963319071 12 | 16,11.23757338 13 | 16,13.53290206 14 | 24,24.60323899 15 | 39,39.40049976 16 | 54,48.43753838 17 | 60,61.69900319 18 | 26,26.92832418 19 | 73,70.4052055 20 | 29,29.34092408 21 | 31,25.30895192 22 | 68,69.02934339 23 | 87,84.99484703 24 | 58,57.04310305 25 | 54,50.5921991 26 | 84,83.02772202 27 | 58,57.05752706 28 | 49,47.95883341 29 | 20,24.34226432 30 | 90,94.68488281 31 | 48,48.03970696 32 | 4,7.08132338 33 | 25,21.99239907 34 | 42,42.33151664 35 | 0,0.329089443 36 | 60,61.92303698 37 | 93,91.17716423 38 | 39,39.45358014 39 | 7,5.996069607 40 | 21,22.59015942 41 | 68,61.18044414 42 | 84,85.02778957 43 | 0,-1.28631089 44 | 58,61.94273962 45 | 19,21.96033347 46 | 36,33.66194193 47 | 19,17.60946242 48 | 59,58.5630564 49 | 51,52.82390762 50 | 19,22.1363481 51 | 33,35.07467353 52 | 85,86.18822311 53 | 44,42.63227697 54 | 5,4.09817744 55 | 59,61.2229864 56 | 14,17.70677576 57 | 9,11.85312574 58 | 75,80.23051695 59 | 69,62.64931741 60 | 10,9.616859804 61 | 17,20.02797699 62 | 58,61.7510743 63 | 74,71.61010303 64 | 21,23.77154623 65 | 51,51.90142035 66 | 19,22.66073682 67 | 50,50.02897927 68 | 24,26.68794368 69 | 0,0.376911899 70 | 12,6.806419002 71 | 75,77.33986001 72 | 21,28.90260209 73 | 64,66.7346608 74 | 5,0.707510638 75 | 58,57.07748383 76 | 32,28.41453196 77 | 41,44.46272123 78 | 7,7.459605998 79 | 4,2.316708112 80 | 5,4.928546187 81 | 49,52.50336074 82 | 90,91.19109623 83 | 3,8.489164326 84 | 11,6.963371967 85 | 32,31.97989959 86 | 83,81.4281205 87 | 25,22.62365422 88 | 83,78.52505087 89 | 26,25.80714057 90 | 76,73.51081775 91 | 95,91.775467 92 | 53,49.21863516 93 | 77,80.50445387 94 | 42,50.05636123 95 | 25,25.46292549 96 | 54,55.32164264 97 | 55,59.1244888 98 | 0,1.100686692 99 | 73,71.98020786 100 | 35,30.13666408 101 | 86,83.88427405 102 | 90,89.91004752 103 | 13,8.335654576 104 | 46,47.88388961 105 | 46,45.00397413 106 | 32,31.15664574 107 | 8,9.190375682 108 | 71,74.83135003 109 | 28,30.23177607 110 | 24,24.21914027 111 | 56,57.87219151 112 | 49,50.61728392 113 | 79,78.67470043 114 | 90,86.236707 115 | 89,89.10409255 116 | 41,43.26595082 117 | 27,26.68273277 118 | 58,59.46383041 119 | 26,28.90055826 120 | 31,31.300416 121 | 70,71.1433266 122 | 71,68.4739206 123 | 39,39.98238856 124 | 7,4.075776144 125 | 48,47.85817542 126 | 56,51.20390217 127 | 45,43.9367213 128 | 41,38.13626679 129 | 3,3.574661632 130 | 37,36.4139958 131 | 24,22.21908523 132 | 68,63.5312572 133 | 47,49.86702787 134 | 27,21.53140009 135 | 68,64.05710234 136 | 74,70.77549842 137 | 95,92.15749762 138 | 79,81.22259156 139 | 21,25.10114067 140 | 95,94.08853397 141 | 54,53.25166165 142 | 56,59.16236621 143 | 80,75.24148428 144 | 26,28.22325833 145 | 25,25.33323728 146 | 8,6.364615703 147 | 95,95.4609216 148 | 94,88.64183756 149 | 54,58.70318693 150 | 7,6.815491279 151 | 99,99.40394676 152 | 36,32.77049249 153 | 48,47.0586788 154 | 65,60.53321778 155 | 42,40.30929858 156 | 93,89.42222685 157 | 86,86.82132066 158 | 26,26.11697543 159 | 51,53.26657596 160 | 100,96.62327888 161 | 94,95.78441027 162 | 6,6.047286687 163 | 24,24.47387908 164 | 75,75.96844763 165 | 7,3.829381009 166 | 53,52.51703683 167 | 73,72.80457527 168 | 16,14.10999096 169 | 80,80.86087062 170 | 77,77.01988215 171 | 89,86.26972444 172 | 80,77.13735466 173 | 55,51.47649476 174 | 19,17.34557531 175 | 56,57.72853572 176 | 47,44.15029394 177 | 56,59.24362743 178 | 2,-1.053275611 179 | 82,86.79002254 180 | 57,60.14031858 181 | 44,44.04222058 182 | 26,24.5227488 183 | 52,52.95305521 184 | 41,43.16133498 185 | 44,45.67562576 186 | 3,-2.830749501 187 | 31,29.19693178 188 | 97,96.49812401 189 | 21,22.5453232 190 | 17,20.10741433 191 | 7,4.035430253 192 | 61,61.14568518 193 | 10,13.97163653 194 | 52,55.34529893 195 | 10,12.18441166 196 | 65,64.00077658 197 | 71,70.3188322 198 | 4,-0.936895047 199 | 24,18.91422276 200 | 26,23.87590331 201 | 51,47.5775361 202 | 42,43.2736092 203 | 62,66.48278755 204 | 74,75.72605529 205 | 77,80.59643338 206 | 3,-2.235879852 207 | 50,47.04654956 208 | 24,21.59635575 209 | 37,32.87558963 210 | 58,57.95782956 211 | 52,52.24760027 212 | 27,24.58286902 213 | 14,12.12573805 214 | 100,100.0158026 215 | 3530.15736917 216 | 72,74.04682658 217 | 5,1.611947467 218 | 71,70.36836307 219 | 54,52.26831735 220 | 84,83.1286166 221 | 42,43.64765048 222 | 54,49.44785426 223 | 74,72.6356699 224 | 54,52.78130641 225 | 53,57.11195136 226 | 78,79.1050629 227 | 97,101.6228548 228 | 49,53.5825402 229 | 71,68.92139297 230 | 48,46.9666961 231 | 51,51.02642868 232 | 89,85.52073551 233 | 99,99.51685756 234 | 93,94.63911256 235 | 49,46.78357742 236 | 18,21.21321959 237 | 65,58.37266004 238 | 83,87.22059677 239 | 100,102.4967859 240 | 41,43.88314335 241 | 52,53.06655757 242 | 29,26.33464785 243 | 97,98.52008934 244 | 7,9.400497579 245 | 51,52.94026699 246 | 58,53.83020877 247 | 50,45.94511142 248 | 67,65.0132736 249 | 89,86.5069584 250 | 76,75.63280796 251 | 35,36.78035027 252 | 99,100.5328916 253 | 31,29.04466136 254 | 52,51.70352433 255 | 11,9.199954718 256 | 66,71.70015848 257 | 50,49.82634062 258 | 39,37.49971096 259 | 60,53.65084683 260 | 35,33.92561965 261 | 53,49.92639685 262 | 14,8.148154262 263 | 49,49.72359037 264 | 16,16.16712757 265 | 76,75.30033002 266 | 13,9.577368568 267 | 51,48.38088357 268 | 70,72.95331671 269 | 98,92.59573853 270 | 86,88.85523586 271 | 100,99.00361771 272 | 46,45.09439571 273 | 51,46.94362684 274 | 50,48.33449605 275 | 91,94.92329574 276 | 48,47.78165248 277 | 81,81.28960746 278 | 38,37.83155021 279 | 40,39.69185252 280 | 79,76.92664854 281 | 96,88.02990531 282 | 60,56.99178872 283 | 70,72.58929383 284 | 44,44.98103442 285 | 11,11.99017641 286 | 6,1.919513328 287 | 5,1.628826073 288 | 72,66.27746655 289 | 55,57.53887255 290 | 95,94.70291077 291 | 41,41.21469904 292 | 25,25.04169243 293 | 1,3.778209914 294 | 55,50.50711779 295 | 4,9.682408486 296 | 48,48.88147608 297 | 55,54.40348599 298 | 75,71.70233156 299 | 68,69.35848388 300 | 100,99.98491591 301 | 25,26.03323718 302 | 75,75.48910307 303 | 34,36.59623056 304 | 38,40.95102191 305 | 92,86.78316267 306 | 21,15.50701184 307 | 88,85.86077871 308 | 75,79.20610113 309 | 76,80.80643766 310 | 44,48.59717283 311 | 10,13.93415049 312 | 21,27.3051179 313 | 16,14.00226297 314 | 32,33.67416 315 | 13,13.11612884 316 | 26,24.76649193 317 | 70,73.68477876 318 | 77,77.53149541 319 | 77,76.24503196 320 | 88,88.0578931 321 | 35,35.02445799 322 | 24,21.65857739 323 | 17,17.33681562 324 | 91,94.36778957 325 | 32,33.43396307 326 | 36,32.52179399 327 | 89,90.57741298 328 | 69,71.25634126 329 | 30,31.23212856 330 | 6,5.398840061 331 | 22,18.56241391 332 | 67,71.97121038 333 | 9,5.225759566 334 | 74,73.5964342 335 | 50,49.76948983 336 | 85,82.69087513 337 | 3,1.652309089 338 | 0,-3.836652144 339 | 59,62.03811556 340 | 62,61.26514581 341 | 17,13.24991628 342 | 90,88.61672694 343 | 23,21.13655528 344 | 19,23.85017475 345 | 93,92.01203405 346 | 14,10.26712261 347 | 58,54.14681616 348 | 87,87.00645713 349 | 37,37.69447352 350 | 20,19.62278654 351 | 35,34.78561007 352 | 63,62.03190983 353 | 56,52.67003801 354 | 62,58.09031476 355 | 98,97.19448821 356 | 90,90.50155298 357 | 51,50.5123462 358 | 93,94.45211871 359 | 22,21.10794636 360 | 38,37.36298431 361 | 13,10.28574844 362 | 98,96.04932416 363 | 99,100.0953697 364 | 31,30.6063167 365 | 94,96.19000542 366 | 73,71.30828034 367 | 37,34.59311043 368 | 23,19.02332876 369 | 11,10.76669688 370 | 88,90.5799868 371 | 47,48.71787679 372 | 79,78.74139764 373 | 91,85.23492274 374 | 71,71.65789964 375 | 10,8.938990554 376 | 39,39.89606046 377 | 92,91.85091116 378 | 99,99.11200375 379 | 28,26.22196486 380 | 32,33.21584226 381 | 32,35.72392691 382 | 75,76.88604495 383 | 99,99.30874567 384 | 27,25.77161074 385 | 64,67.85169407 386 | 98,98.50371084 387 | 38,31.11331895 388 | 46,45.51171028 389 | 13,12.65537808 390 | 96,95.56065366 391 | 9,9.526431641 392 | 34,36.10893209 393 | 49,46.43628318 394 | 1,-3.83998112 395 | 50,48.97302037 396 | 94,93.25305499 397 | 27,23.47650968 398 | 20,17.13551132 399 | 12,14.55896144 400 | 45,41.53992729 401 | 91,91.64730552 402 | 61,66.16652565 403 | 10,9.230857489 404 | 47,47.41377893 405 | 33,34.76441561 406 | 84,86.10796637 407 | 24,21.81267954 408 | 48,48.89963951 409 | 48,46.78108638 410 | 9,12.91328547 411 | 93,94.55203143 412 | 99,94.97068753 413 | 8,2.379172481 414 | 20,21.47982988 415 | 38,35.79795462 416 | 78,82.0763803 417 | 81,78.87097714 418 | 42,47.2492425 419 | 95,96.18852325 420 | 78,78.38491927 421 | 44,42.94274064 422 | 68,64.43231595 423 | 87,84.21191485 424 | 58,57.3069783 425 | 52,52.52101436 426 | 26,25.7440243 427 | 75,75.42283401 428 | 48,53.62523007 429 | 71,75.14466308 430 | 77,74.12151511 431 | 34,36.24807243 432 | 24,20.21665898 433 | 70,66.94758118 434 | 29,34.07278254 435 | 76,73.13850045 436 | 98,92.85929155 437 | 28,28.36793808 438 | 87,85.59308727 439 | 9,10.68453755 440 | 87,86.10708624 441 | 33,33.22031418 442 | 64,66.09563422 443 | 17,19.30486546 444 | 49,48.84542083 445 | 95,93.73176312 446 | 75,75.45758614 447 | 89,91.24239226 448 | 81,87.15690853 449 | 25,25.53752833 450 | 47,46.06629478 451 | 50,49.65277661 452 | 5,7.382244165 453 | 68,71.11189935 454 | 84,83.50570521 455 | 8,8.791139893 456 | 41,33.30638903 457 | 26,26.40362524 458 | 89,91.72960726 459 | 78,82.53030719 460 | 34,36.67762733 461 | 92,86.98450355 462 | 27,32.34784175 463 | 12,16.78353974 464 | 2,1.576584383 465 | 22,17.4618141 466 | 0,2.116113029 467 | 26,24.34804332 468 | 50,48.29491198 469 | 84,85.52145453 470 | 70,73.71434779 471 | 66,63.15189497 472 | 42,38.46213684 473 | 19,19.47100788 474 | 94,94.07428225 475 | 71,67.92051286 476 | 19,22.58096241 477 | 16,16.01629889 478 | 49,48.43307886 479 | 29,29.6673599 480 | 29,26.65566328 481 | 86,86.28206739 482 | 50,50.82304924 483 | 86,88.57251713 484 | 30,32.59980745 485 | 23,21.02469368 486 | 20,20.72894979 487 | 16,20.38051187 488 | 57,57.25180153 489 | 8,6.967537054 490 | 8,10.240085 491 | 62,64.94841088 492 | 55,55.35893915 493 | 30,31.24365589 494 | 86,90.72048818 495 | 62,58.750127 496 | 51,55.85003198 497 | 61,60.19925869 498 | 86,85.03295412 499 | 61,60.38823085 500 | 21,18.44679787 501 | 81,82.18839247 502 | 97,94.2963344 503 | 5,7.682024586 504 | 61,61.01858089 505 | 47,53.60562216 506 | 98,94.47728801 507 | 30,27.9645947 508 | 63,62.55662585 509 | 0,1.406254414 510 | 100,101.7003412 511 | 18,13.84973988 512 | 30,28.99769315 513 | 98,99.04315693 514 | 16,15.56135514 515 | 22,24.63528393 516 | 55,53.98393374 517 | 43,42.91449728 518 | 75,74.29662112 519 | 91,91.17012883 520 | 46,49.42440876 521 | 85,82.47683519 522 | 55,56.15303953 523 | 36,37.17063131 524 | 49,46.36928662 525 | 94,97.02383456 526 | 43,40.83182104 527 | 22,24.08498313 528 | 37,41.14386358 529 | 24,21.97388066 530 | 95,100.740897 531 | 61,61.19971596 532 | 75,74.39517002 533 | 68,69.04377173 534 | 58,56.68718792 535 | 5,5.860391715 536 | 53,55.72021356 537 | 80,79.22021816 538 | 83,86.30177517 539 | 25,25.26971886 540 | 34,36.33294447 541 | 26,27.65574228 542 | 90,94.79690531 543 | 60,58.67366671 544 | 49,56.15934471 545 | 19,18.40919388 546 | 92,86.26936988 547 | 29,26.59436195 548 | 8,8.452520159 549 | 57,56.18131518 550 | 29,27.65452669 551 | 19,20.87391785 552 | 81,77.83354439 553 | 50,50.01787825 554 | 15,9.290856256 555 | 70,75.0284725 556 | 39,38.3037698 557 | 43,44.70786405 558 | 21,22.51016575 559 | 98,102.4959452 560 | 86,86.76845244 561 | 16,13.89748578 562 | 25,24.81824269 563 | 31,33.94224862 564 | 93,92.26970059 565 | 67,68.73365081 566 | 49,47.38516883 567 | 25,32.37576914 568 | 88,87.67388681 569 | 54,54.57648371 570 | 21,18.06450222 571 | 8,7.896539841 572 | 32,35.00341078 573 | 35,36.72823317 574 | 67,65.84975426 575 | 90,89.59295492 576 | 59,61.69026202 577 | 15,11.60499315 578 | 67,71.0826803 579 | 42,43.71901164 580 | 44,41.57421008 581 | 77,74.25552425 582 | 68,66.28310437 583 | 36,36.62438077 584 | 11,10.32374866 585 | 10,7.156457657 586 | 65,67.88603132 587 | 98,101.1097591 588 | 98,98.6132033 589 | 49,50.19083844 590 | 31,27.83896261 591 | 56,55.9249564 592 | 70,76.47340872 593 | 91,92.05756378 594 | 25,27.35245439 595 | 54,55.32083476 596 | 39,41.39990349 597 | 91,93.59057024 598 | 3,5.297054029 599 | 22,21.01429422 600 | 2,2.267059451 601 | 2,-0.121860502 602 | 65,66.49546208 603 | 71,73.83637687 604 | 42,42.10140878 605 | 76,77.35135732 606 | 43,41.02251779 607 | 8,14.75305272 608 | 86,83.28199022 609 | 87,89.93374342 610 | 3,2.286571686 611 | 58,55.61421297 612 | 62,62.15313408 613 | 89,89.55803528 614 | 95,94.00291863 615 | 28,26.78023848 616 | 0,-0.764537626 617 | 1,0.282866003 618 | 49,44.26800515 619 | 21,19.85174138 620 | 46,47.15960005 621 | 11,8.359366572 622 | 89,92.08157084 623 | 37,41.88734051 624 | 29,30.5413129 625 | 44,46.87654473 626 | 96,96.35659485 627 | 16,17.9170699 628 | 74,71.67949917 629 | 35,32.64997554 630 | 42,39.34482965 631 | 16,17.03401999 632 | 56,52.87524074 633 | 18,15.85414849 634 | 100,108.8716183 635 | 54,49.30477253 636 | 92,89.4749477 637 | 63,63.67348242 638 | 81,83.78410946 639 | 73,73.51136922 640 | 48,46.80297244 641 | 1,5.809946802 642 | 85,85.23027975 643 | 14,10.58213964 644 | 25,21.37698317 645 | 45,46.0537745 646 | 98,95.2389253 647 | 97,94.15149206 648 | 58,54.54868046 649 | 93,87.36260449 650 | 88,88.47741598 651 | 89,84.48045678 652 | 47,48.79647071 653 | 6,10.76675683 654 | 34,30.48882921 655 | 30,29.76846185 656 | 16,13.51574749 657 | 86,86.12955884 658 | 40,43.30022747 659 | 52,51.92110232 660 | 15,16.49185287 661 | 4,7.998073432 662 | 95,97.66689567 663 | 99,89.80545367 664 | 35,38.07166567 665 | 58,60.27852322 666 | 10,6.709195759 667 | 16,18.35488924 668 | 53,56.37058203 669 | 58,62.80064204 670 | 42,41.25155632 671 | 24,19.42637541 672 | 84,82.88935804 673 | 64,63.61364981 674 | 12,11.29627199 675 | 61,60.02274882 676 | 75,72.60339326 677 | 15,11.87964573 678 | 100,100.7012737 679 | 43,45.12420809 680 | 13,14.81106804 681 | 48,48.09368034 682 | 45,42.29145672 683 | 52,52.73389794 684 | 34,36.72396986 685 | 30,28.64535198 686 | 65,62.16675273 687 | 100,95.58459518 688 | 67,66.04325304 689 | 99,99.9566225 690 | 45,46.14941984 691 | 87,89.13754963 692 | 73,69.71787806 693 | 9,12.31736648 694 | 81,78.20296268 695 | 72,71.30995371 696 | 81,81.45544709 697 | 58,58.59500642 698 | 93,94.62509374 699 | 82,88.60376995 700 | 66,63.64868529 701 | 97,94.9752655 -------------------------------------------------------------------------------- /data/Realestate.csv: -------------------------------------------------------------------------------- 1 | No,X1 transaction date,X2 house age,X3 distance to the nearest MRT station,X4 number of convenience stores,X5 latitude,X6 longitude,Y house price of unit area 2 | 1,2012.917,32,84.87882,10,24.98298,121.54024,37.9 3 | 2,2012.917,19.5,306.5947,9,24.98034,121.53951,42.2 4 | 3,2013.583,13.3,561.9845,5,24.98746,121.54391,47.3 5 | 4,2013.500,13.3,561.9845,5,24.98746,121.54391,54.8 6 | 5,2012.833,5,390.5684,5,24.97937,121.54245,43.1 7 | 6,2012.667,7.1,2175.03,3,24.96305,121.51254,32.1 8 | 7,2012.667,34.5,623.4731,7,24.97933,121.53642,40.3 9 | 8,2013.417,20.3,287.6025,6,24.98042,121.54228,46.7 10 | 9,2013.500,31.7,5512.038,1,24.95095,121.48458,18.8 11 | 10,2013.417,17.9,1783.18,3,24.96731,121.51486,22.1 12 | 11,2013.083,34.8,405.2134,1,24.97349,121.53372,41.4 13 | 12,2013.333,6.3,90.45606,9,24.97433,121.5431,58.1 14 | 13,2012.917,13,492.2313,5,24.96515,121.53737,39.3 15 | 14,2012.667,20.4,2469.645,4,24.96108,121.51046,23.8 16 | 15,2013.500,13.2,1164.838,4,24.99156,121.53406,34.3 17 | 16,2013.583,35.7,579.2083,2,24.9824,121.54619,50.5 18 | 17,2013.250,0,292.9978,6,24.97744,121.54458,70.1 19 | 18,2012.750,17.7,350.8515,1,24.97544,121.53119,37.4 20 | 19,2013.417,16.9,368.1363,8,24.9675,121.54451,42.3 21 | 20,2012.667,1.5,23.38284,7,24.96772,121.54102,47.7 22 | 21,2013.417,4.5,2275.877,3,24.96314,121.51151,29.3 23 | 22,2013.417,10.5,279.1726,7,24.97528,121.54541,51.6 24 | 23,2012.917,14.7,1360.139,1,24.95204,121.54842,24.6 25 | 24,2013.083,10.1,279.1726,7,24.97528,121.54541,47.9 26 | 25,2013.000,39.6,480.6977,4,24.97353,121.53885,38.8 27 | 26,2013.083,29.3,1487.868,2,24.97542,121.51726,27 28 | 27,2012.667,3.1,383.8624,5,24.98085,121.54391,56.2 29 | 28,2013.250,10.4,276.449,5,24.95593,121.53913,33.6 30 | 29,2013.500,19.2,557.478,4,24.97419,121.53797,47 31 | 30,2013.083,7.1,451.2438,5,24.97563,121.54694,57.1 32 | 31,2013.500,25.9,4519.69,0,24.94826,121.49587,22.1 33 | 32,2012.750,29.6,769.4034,7,24.98281,121.53408,25 34 | 33,2012.750,37.9,488.5727,1,24.97349,121.53451,34.2 35 | 34,2013.250,16.5,323.655,6,24.97841,121.54281,49.3 36 | 35,2012.750,15.4,205.367,7,24.98419,121.54243,55.1 37 | 36,2013.500,13.9,4079.418,0,25.01459,121.51816,27.3 38 | 37,2012.917,14.7,1935.009,2,24.96386,121.51458,22.9 39 | 38,2013.167,12,1360.139,1,24.95204,121.54842,25.3 40 | 39,2012.667,3.1,577.9615,6,24.97201,121.54722,47.7 41 | 40,2013.167,16.2,289.3248,5,24.98203,121.54348,46.2 42 | 41,2013.000,13.6,4082.015,0,24.94155,121.50381,15.9 43 | 42,2013.500,16.8,4066.587,0,24.94297,121.50342,18.2 44 | 43,2013.417,36.1,519.4617,5,24.96305,121.53758,34.7 45 | 44,2012.750,34.4,512.7871,6,24.98748,121.54301,34.1 46 | 45,2013.583,2.7,533.4762,4,24.97445,121.54765,53.9 47 | 46,2013.083,36.6,488.8193,8,24.97015,121.54494,38.3 48 | 47,2013.417,21.7,463.9623,9,24.9703,121.54458,42 49 | 48,2013.583,35.9,640.7391,3,24.97563,121.53715,61.5 50 | 49,2013.417,24.2,4605.749,0,24.94684,121.49578,13.4 51 | 50,2012.667,29.4,4510.359,1,24.94925,121.49542,13.2 52 | 51,2013.417,21.7,512.5487,4,24.974,121.53842,44.2 53 | 52,2013.083,31.3,1758.406,1,24.95402,121.55282,20.7 54 | 53,2013.583,32.1,1438.579,3,24.97419,121.5175,27 55 | 54,2013.083,13.3,492.2313,5,24.96515,121.53737,38.9 56 | 55,2013.083,16.1,289.3248,5,24.98203,121.54348,51.7 57 | 56,2012.833,31.7,1160.632,0,24.94968,121.53009,13.7 58 | 57,2013.417,33.6,371.2495,8,24.97254,121.54059,41.9 59 | 58,2012.917,3.5,56.47425,7,24.95744,121.53711,53.5 60 | 59,2013.500,30.3,4510.359,1,24.94925,121.49542,22.6 61 | 60,2013.083,13.3,336.0532,5,24.95776,121.53438,42.4 62 | 61,2013.417,11,1931.207,2,24.96365,121.51471,21.3 63 | 62,2013.500,5.3,259.6607,6,24.97585,121.54516,63.2 64 | 63,2012.917,17.2,2175.877,3,24.96303,121.51254,27.7 65 | 64,2013.583,2.6,533.4762,4,24.97445,121.54765,55 66 | 65,2013.333,17.5,995.7554,0,24.96305,121.54915,25.3 67 | 66,2013.417,40.1,123.7429,8,24.97635,121.54329,44.3 68 | 67,2013.000,1,193.5845,6,24.96571,121.54089,50.7 69 | 68,2013.500,8.5,104.8101,5,24.96674,121.54067,56.8 70 | 69,2013.417,30.4,464.223,6,24.97964,121.53805,36.2 71 | 70,2012.833,12.5,561.9845,5,24.98746,121.54391,42 72 | 71,2013.583,6.6,90.45606,9,24.97433,121.5431,59 73 | 72,2013.083,35.5,640.7391,3,24.97563,121.53715,40.8 74 | 73,2013.583,32.5,424.5442,8,24.97587,121.53913,36.3 75 | 74,2013.167,13.8,4082.015,0,24.94155,121.50381,20 76 | 75,2012.917,6.8,379.5575,10,24.98343,121.53762,54.4 77 | 76,2013.500,12.3,1360.139,1,24.95204,121.54842,29.5 78 | 77,2013.583,35.9,616.4004,3,24.97723,121.53767,36.8 79 | 78,2012.833,20.5,2185.128,3,24.96322,121.51237,25.6 80 | 79,2012.917,38.2,552.4371,2,24.97598,121.53381,29.8 81 | 80,2013.000,18,1414.837,1,24.95182,121.54887,26.5 82 | 81,2013.500,11.8,533.4762,4,24.97445,121.54765,40.3 83 | 82,2013.000,30.8,377.7956,6,24.96427,121.53964,36.8 84 | 83,2013.083,13.2,150.9347,7,24.96725,121.54252,48.1 85 | 84,2012.917,25.3,2707.392,3,24.96056,121.50831,17.7 86 | 85,2013.083,15.1,383.2805,7,24.96735,121.54464,43.7 87 | 86,2012.750,0,338.9679,9,24.96853,121.54413,50.8 88 | 87,2012.833,1.8,1455.798,1,24.9512,121.549,27 89 | 88,2013.583,16.9,4066.587,0,24.94297,121.50342,18.3 90 | 89,2012.917,8.9,1406.43,0,24.98573,121.52758,48 91 | 90,2013.500,23,3947.945,0,24.94783,121.50243,25.3 92 | 91,2012.833,0,274.0144,1,24.9748,121.53059,45.4 93 | 92,2013.250,9.1,1402.016,0,24.98569,121.5276,43.2 94 | 93,2012.917,20.6,2469.645,4,24.96108,121.51046,21.8 95 | 94,2012.917,31.9,1146.329,0,24.9492,121.53076,16.1 96 | 95,2012.917,40.9,167.5989,5,24.9663,121.54026,41 97 | 96,2012.917,8,104.8101,5,24.96674,121.54067,51.8 98 | 97,2013.417,6.4,90.45606,9,24.97433,121.5431,59.5 99 | 98,2013.083,28.4,617.4424,3,24.97746,121.53299,34.6 100 | 99,2013.417,16.4,289.3248,5,24.98203,121.54348,51 101 | 100,2013.417,6.4,90.45606,9,24.97433,121.5431,62.2 102 | 101,2013.500,17.5,964.7496,4,24.98872,121.53411,38.2 103 | 102,2012.833,12.7,170.1289,1,24.97371,121.52984,32.9 104 | 103,2013.083,1.1,193.5845,6,24.96571,121.54089,54.4 105 | 104,2012.750,0,208.3905,6,24.95618,121.53844,45.7 106 | 105,2012.667,32.7,392.4459,6,24.96398,121.5425,30.5 107 | 106,2012.833,0,292.9978,6,24.97744,121.54458,71 108 | 107,2013.083,17.2,189.5181,8,24.97707,121.54308,47.1 109 | 108,2013.333,12.2,1360.139,1,24.95204,121.54842,26.6 110 | 109,2013.417,31.4,592.5006,2,24.9726,121.53561,34.1 111 | 110,2013.583,4,2147.376,3,24.96299,121.51284,28.4 112 | 111,2013.083,8.1,104.8101,5,24.96674,121.54067,51.6 113 | 112,2013.583,33.3,196.6172,7,24.97701,121.54224,39.4 114 | 113,2013.417,9.9,2102.427,3,24.96044,121.51462,23.1 115 | 114,2013.333,14.8,393.2606,6,24.96172,121.53812,7.6 116 | 115,2012.667,30.6,143.8383,8,24.98155,121.54142,53.3 117 | 116,2013.083,20.6,737.9161,2,24.98092,121.54739,46.4 118 | 117,2013.000,30.9,6396.283,1,24.94375,121.47883,12.2 119 | 118,2013.000,13.6,4197.349,0,24.93885,121.50383,13 120 | 119,2013.500,25.3,1583.722,3,24.96622,121.51709,30.6 121 | 120,2013.500,16.6,289.3248,5,24.98203,121.54348,59.6 122 | 121,2013.167,13.3,492.2313,5,24.96515,121.53737,31.3 123 | 122,2013.500,13.6,492.2313,5,24.96515,121.53737,48 124 | 123,2013.250,31.5,414.9476,4,24.98199,121.54464,32.5 125 | 124,2013.417,0,185.4296,0,24.9711,121.5317,45.5 126 | 125,2012.917,9.9,279.1726,7,24.97528,121.54541,57.4 127 | 126,2013.167,1.1,193.5845,6,24.96571,121.54089,48.6 128 | 127,2013.083,38.6,804.6897,4,24.97838,121.53477,62.9 129 | 128,2013.250,3.8,383.8624,5,24.98085,121.54391,55 130 | 129,2013.083,41.3,124.9912,6,24.96674,121.54039,60.7 131 | 130,2013.417,38.5,216.8329,7,24.98086,121.54162,41 132 | 131,2013.250,29.6,535.527,8,24.98092,121.53653,37.5 133 | 132,2013.500,4,2147.376,3,24.96299,121.51284,30.7 134 | 133,2013.167,26.6,482.7581,5,24.97433,121.53863,37.5 135 | 134,2012.833,18,373.3937,8,24.9866,121.54082,39.5 136 | 135,2012.667,33.4,186.9686,6,24.96604,121.54211,42.2 137 | 136,2012.917,18.9,1009.235,0,24.96357,121.54951,20.8 138 | 137,2012.750,11.4,390.5684,5,24.97937,121.54245,46.8 139 | 138,2013.500,13.6,319.0708,6,24.96495,121.54277,47.4 140 | 139,2013.167,10,942.4664,0,24.97843,121.52406,43.5 141 | 140,2012.667,12.9,492.2313,5,24.96515,121.53737,42.5 142 | 141,2013.250,16.2,289.3248,5,24.98203,121.54348,51.4 143 | 142,2013.333,5.1,1559.827,3,24.97213,121.51627,28.9 144 | 143,2013.417,19.8,640.6071,5,24.97017,121.54647,37.5 145 | 144,2013.500,13.6,492.2313,5,24.96515,121.53737,40.1 146 | 145,2013.083,11.9,1360.139,1,24.95204,121.54842,28.4 147 | 146,2012.917,2.1,451.2438,5,24.97563,121.54694,45.5 148 | 147,2012.750,0,185.4296,0,24.9711,121.5317,52.2 149 | 148,2012.750,3.2,489.8821,8,24.97017,121.54494,43.2 150 | 149,2013.500,16.4,3780.59,0,24.93293,121.51203,45.1 151 | 150,2012.667,34.9,179.4538,8,24.97349,121.54245,39.7 152 | 151,2013.250,35.8,170.7311,7,24.96719,121.54269,48.5 153 | 152,2013.500,4.9,387.7721,9,24.98118,121.53788,44.7 154 | 153,2013.333,12,1360.139,1,24.95204,121.54842,28.9 155 | 154,2013.250,6.5,376.1709,6,24.95418,121.53713,40.9 156 | 155,2013.500,16.9,4066.587,0,24.94297,121.50342,20.7 157 | 156,2013.167,13.8,4082.015,0,24.94155,121.50381,15.6 158 | 157,2013.583,30.7,1264.73,0,24.94883,121.52954,18.3 159 | 158,2013.250,16.1,815.9314,4,24.97886,121.53464,35.6 160 | 159,2013.000,11.6,390.5684,5,24.97937,121.54245,39.4 161 | 160,2012.667,15.5,815.9314,4,24.97886,121.53464,37.4 162 | 161,2012.917,3.5,49.66105,8,24.95836,121.53756,57.8 163 | 162,2013.417,19.2,616.4004,3,24.97723,121.53767,39.6 164 | 163,2012.750,16,4066.587,0,24.94297,121.50342,11.6 165 | 164,2013.500,8.5,104.8101,5,24.96674,121.54067,55.5 166 | 165,2012.833,0,185.4296,0,24.9711,121.5317,55.2 167 | 166,2012.917,13.7,1236.564,1,24.97694,121.55391,30.6 168 | 167,2013.417,0,292.9978,6,24.97744,121.54458,73.6 169 | 168,2013.417,28.2,330.0854,8,24.97408,121.54011,43.4 170 | 169,2013.083,27.6,515.1122,5,24.96299,121.5432,37.4 171 | 170,2013.417,8.4,1962.628,1,24.95468,121.55481,23.5 172 | 171,2013.333,24,4527.687,0,24.94741,121.49628,14.4 173 | 172,2013.083,3.6,383.8624,5,24.98085,121.54391,58.8 174 | 173,2013.583,6.6,90.45606,9,24.97433,121.5431,58.1 175 | 174,2013.083,41.3,401.8807,4,24.98326,121.5446,35.1 176 | 175,2013.417,4.3,432.0385,7,24.9805,121.53778,45.2 177 | 176,2013.083,30.2,472.1745,3,24.97005,121.53758,36.5 178 | 177,2012.833,13.9,4573.779,0,24.94867,121.49507,19.2 179 | 178,2013.083,33,181.0766,9,24.97697,121.54262,42 180 | 179,2013.500,13.1,1144.436,4,24.99176,121.53456,36.7 181 | 180,2013.083,14,438.8513,1,24.97493,121.5273,42.6 182 | 181,2012.667,26.9,4449.27,0,24.94898,121.49621,15.5 183 | 182,2013.167,11.6,201.8939,8,24.98489,121.54121,55.9 184 | 183,2013.500,13.5,2147.376,3,24.96299,121.51284,23.6 185 | 184,2013.500,17,4082.015,0,24.94155,121.50381,18.8 186 | 185,2012.750,14.1,2615.465,0,24.95495,121.56174,21.8 187 | 186,2012.750,31.4,1447.286,3,24.97285,121.5173,21.5 188 | 187,2013.167,20.9,2185.128,3,24.96322,121.51237,25.7 189 | 188,2013.000,8.9,3078.176,0,24.95464,121.56627,22 190 | 189,2012.917,34.8,190.0392,8,24.97707,121.54312,44.3 191 | 190,2012.917,16.3,4066.587,0,24.94297,121.50342,20.5 192 | 191,2013.500,35.3,616.5735,8,24.97945,121.53642,42.3 193 | 192,2013.167,13.2,750.0704,2,24.97371,121.54951,37.8 194 | 193,2013.167,43.8,57.58945,7,24.9675,121.54069,42.7 195 | 194,2013.417,9.7,421.479,5,24.98246,121.54477,49.3 196 | 195,2013.500,15.2,3771.895,0,24.93363,121.51158,29.3 197 | 196,2013.333,15.2,461.1016,5,24.95425,121.5399,34.6 198 | 197,2013.000,22.8,707.9067,2,24.981,121.54713,36.6 199 | 198,2013.250,34.4,126.7286,8,24.96881,121.54089,48.2 200 | 199,2013.083,34,157.6052,7,24.96628,121.54196,39.1 201 | 200,2013.417,18.2,451.6419,8,24.96945,121.5449,31.6 202 | 201,2013.417,17.4,995.7554,0,24.96305,121.54915,25.5 203 | 202,2013.417,13.1,561.9845,5,24.98746,121.54391,45.9 204 | 203,2012.917,38.3,642.6985,3,24.97559,121.53713,31.5 205 | 204,2012.667,15.6,289.3248,5,24.98203,121.54348,46.1 206 | 205,2013.000,18,1414.837,1,24.95182,121.54887,26.6 207 | 206,2013.083,12.8,1449.722,3,24.97289,121.51728,21.4 208 | 207,2013.250,22.2,379.5575,10,24.98343,121.53762,44 209 | 208,2013.083,38.5,665.0636,3,24.97503,121.53692,34.2 210 | 209,2012.750,11.5,1360.139,1,24.95204,121.54842,26.2 211 | 210,2012.833,34.8,175.6294,8,24.97347,121.54271,40.9 212 | 211,2013.500,5.2,390.5684,5,24.97937,121.54245,52.2 213 | 212,2013.083,0,274.0144,1,24.9748,121.53059,43.5 214 | 213,2013.333,17.6,1805.665,2,24.98672,121.52091,31.1 215 | 214,2013.083,6.2,90.45606,9,24.97433,121.5431,58 216 | 215,2013.583,18.1,1783.18,3,24.96731,121.51486,20.9 217 | 216,2013.333,19.2,383.7129,8,24.972,121.54477,48.1 218 | 217,2013.250,37.8,590.9292,1,24.97153,121.53559,39.7 219 | 218,2012.917,28,372.6242,6,24.97838,121.54119,40.8 220 | 219,2013.417,13.6,492.2313,5,24.96515,121.53737,43.8 221 | 220,2012.750,29.3,529.7771,8,24.98102,121.53655,40.2 222 | 221,2013.333,37.2,186.5101,9,24.97703,121.54265,78.3 223 | 222,2013.333,9,1402.016,0,24.98569,121.5276,38.5 224 | 223,2013.583,30.6,431.1114,10,24.98123,121.53743,48.5 225 | 224,2013.250,9.1,1402.016,0,24.98569,121.5276,42.3 226 | 225,2013.333,34.5,324.9419,6,24.97814,121.5417,46 227 | 226,2013.250,1.1,193.5845,6,24.96571,121.54089,49 228 | 227,2013.000,16.5,4082.015,0,24.94155,121.50381,12.8 229 | 228,2012.917,32.4,265.0609,8,24.98059,121.53986,40.2 230 | 229,2013.417,11.9,3171.329,0,25.00115,121.51776,46.6 231 | 230,2013.583,31,1156.412,0,24.9489,121.53095,19 232 | 231,2013.500,4,2147.376,3,24.96299,121.51284,33.4 233 | 232,2012.833,16.2,4074.736,0,24.94235,121.50357,14.7 234 | 233,2012.917,27.1,4412.765,1,24.95032,121.49587,17.4 235 | 234,2013.333,39.7,333.3679,9,24.98016,121.53932,32.4 236 | 235,2013.250,8,2216.612,4,24.96007,121.51361,23.9 237 | 236,2012.750,12.9,250.631,7,24.96606,121.54297,39.3 238 | 237,2013.167,3.6,373.8389,10,24.98322,121.53765,61.9 239 | 238,2013.167,13,732.8528,0,24.97668,121.52518,39 240 | 239,2013.083,12.8,732.8528,0,24.97668,121.52518,40.6 241 | 240,2013.500,18.1,837.7233,0,24.96334,121.54767,29.7 242 | 241,2013.083,11,1712.632,2,24.96412,121.5167,28.8 243 | 242,2013.500,13.7,250.631,7,24.96606,121.54297,41.4 244 | 243,2012.833,2,2077.39,3,24.96357,121.51329,33.4 245 | 244,2013.417,32.8,204.1705,8,24.98236,121.53923,48.2 246 | 245,2013.083,4.8,1559.827,3,24.97213,121.51627,21.7 247 | 246,2013.417,7.5,639.6198,5,24.97258,121.54814,40.8 248 | 247,2013.417,16.4,389.8219,6,24.96412,121.54273,40.6 249 | 248,2013.333,21.7,1055.067,0,24.96211,121.54928,23.1 250 | 249,2013.000,19,1009.235,0,24.96357,121.54951,22.3 251 | 250,2012.833,18,6306.153,1,24.95743,121.47516,15 252 | 251,2013.167,39.2,424.7132,7,24.97429,121.53917,30 253 | 252,2012.917,31.7,1159.454,0,24.9496,121.53018,13.8 254 | 253,2012.833,5.9,90.45606,9,24.97433,121.5431,52.7 255 | 254,2012.667,30.4,1735.595,2,24.96464,121.51623,25.9 256 | 255,2012.667,1.1,329.9747,5,24.98254,121.54395,51.8 257 | 256,2013.417,31.5,5512.038,1,24.95095,121.48458,17.4 258 | 257,2012.667,14.6,339.2289,1,24.97519,121.53151,26.5 259 | 258,2013.250,17.3,444.1334,1,24.97501,121.5273,43.9 260 | 259,2013.417,0,292.9978,6,24.97744,121.54458,63.3 261 | 260,2013.083,17.7,837.7233,0,24.96334,121.54767,28.8 262 | 261,2013.250,17,1485.097,4,24.97073,121.517,30.7 263 | 262,2013.167,16.2,2288.011,3,24.95885,121.51359,24.4 264 | 263,2012.917,15.9,289.3248,5,24.98203,121.54348,53 265 | 264,2013.417,3.9,2147.376,3,24.96299,121.51284,31.7 266 | 265,2013.167,32.6,493.657,7,24.96968,121.54522,40.6 267 | 266,2012.833,15.7,815.9314,4,24.97886,121.53464,38.1 268 | 267,2013.250,17.8,1783.18,3,24.96731,121.51486,23.7 269 | 268,2012.833,34.7,482.7581,5,24.97433,121.53863,41.1 270 | 269,2013.417,17.2,390.5684,5,24.97937,121.54245,40.1 271 | 270,2013.000,17.6,837.7233,0,24.96334,121.54767,23 272 | 271,2013.333,10.8,252.5822,1,24.9746,121.53046,117.5 273 | 272,2012.917,17.7,451.6419,8,24.96945,121.5449,26.5 274 | 273,2012.750,13,492.2313,5,24.96515,121.53737,40.5 275 | 274,2013.417,13.2,170.1289,1,24.97371,121.52984,29.3 276 | 275,2013.167,27.5,394.0173,7,24.97305,121.53994,41 277 | 276,2012.667,1.5,23.38284,7,24.96772,121.54102,49.7 278 | 277,2013.000,19.1,461.1016,5,24.95425,121.5399,34 279 | 278,2013.417,21.2,2185.128,3,24.96322,121.51237,27.7 280 | 279,2012.750,0,208.3905,6,24.95618,121.53844,44 281 | 280,2013.417,2.6,1554.25,3,24.97026,121.51642,31.1 282 | 281,2013.250,2.3,184.3302,6,24.96581,121.54086,45.4 283 | 282,2013.333,4.7,387.7721,9,24.98118,121.53788,44.8 284 | 283,2012.917,2,1455.798,1,24.9512,121.549,25.6 285 | 284,2013.417,33.5,1978.671,2,24.98674,121.51844,23.5 286 | 285,2012.917,15,383.2805,7,24.96735,121.54464,34.4 287 | 286,2013.167,30.1,718.2937,3,24.97509,121.53644,55.3 288 | 287,2012.917,5.9,90.45606,9,24.97433,121.5431,56.3 289 | 288,2013.000,19.2,461.1016,5,24.95425,121.5399,32.9 290 | 289,2013.583,16.6,323.6912,6,24.97841,121.5428,51 291 | 290,2013.333,13.9,289.3248,5,24.98203,121.54348,44.5 292 | 291,2013.083,37.7,490.3446,0,24.97217,121.53471,37 293 | 292,2012.833,3.4,56.47425,7,24.95744,121.53711,54.4 294 | 293,2013.083,17.5,395.6747,5,24.95674,121.534,24.5 295 | 294,2012.667,12.6,383.2805,7,24.96735,121.54464,42.5 296 | 295,2013.500,26.4,335.5273,6,24.9796,121.5414,38.1 297 | 296,2013.167,18.2,2179.59,3,24.96299,121.51252,21.8 298 | 297,2012.750,12.5,1144.436,4,24.99176,121.53456,34.1 299 | 298,2012.833,34.9,567.0349,4,24.97003,121.5458,28.5 300 | 299,2013.333,16.7,4082.015,0,24.94155,121.50381,16.7 301 | 300,2013.167,33.2,121.7262,10,24.98178,121.54059,46.1 302 | 301,2013.083,2.5,156.2442,4,24.96696,121.53992,36.9 303 | 302,2012.750,38,461.7848,0,24.97229,121.53445,35.7 304 | 303,2013.500,16.5,2288.011,3,24.95885,121.51359,23.2 305 | 304,2013.500,38.3,439.7105,0,24.97161,121.53423,38.4 306 | 305,2013.417,20,1626.083,3,24.96622,121.51668,29.4 307 | 306,2013.083,16.2,289.3248,5,24.98203,121.54348,55 308 | 307,2013.500,14.4,169.9803,1,24.97369,121.52979,50.2 309 | 308,2012.833,10.3,3079.89,0,24.9546,121.56627,24.7 310 | 309,2013.417,16.4,289.3248,5,24.98203,121.54348,53 311 | 310,2013.250,30.3,1264.73,0,24.94883,121.52954,19.1 312 | 311,2013.583,16.4,1643.499,2,24.95394,121.55174,24.7 313 | 312,2013.167,21.3,537.7971,4,24.97425,121.53814,42.2 314 | 313,2013.583,35.4,318.5292,9,24.97071,121.54069,78 315 | 314,2013.333,8.3,104.8101,5,24.96674,121.54067,42.8 316 | 315,2013.250,3.7,577.9615,6,24.97201,121.54722,41.6 317 | 316,2013.083,15.6,1756.411,2,24.9832,121.51812,27.3 318 | 317,2013.250,13.3,250.631,7,24.96606,121.54297,42 319 | 318,2012.750,15.6,752.7669,2,24.97795,121.53451,37.5 320 | 319,2013.333,7.1,379.5575,10,24.98343,121.53762,49.8 321 | 320,2013.250,34.6,272.6783,5,24.95562,121.53872,26.9 322 | 321,2012.750,13.5,4197.349,0,24.93885,121.50383,18.6 323 | 322,2012.917,16.9,964.7496,4,24.98872,121.53411,37.7 324 | 323,2013.000,12.9,187.4823,1,24.97388,121.52981,33.1 325 | 324,2013.417,28.6,197.1338,6,24.97631,121.54436,42.5 326 | 325,2012.667,12.4,1712.632,2,24.96412,121.5167,31.3 327 | 326,2013.083,36.6,488.8193,8,24.97015,121.54494,38.1 328 | 327,2013.500,4.1,56.47425,7,24.95744,121.53711,62.1 329 | 328,2013.417,3.5,757.3377,3,24.97538,121.54971,36.7 330 | 329,2012.833,15.9,1497.713,3,24.97003,121.51696,23.6 331 | 330,2013.000,13.6,4197.349,0,24.93885,121.50383,19.2 332 | 331,2013.083,32,1156.777,0,24.94935,121.53046,12.8 333 | 332,2013.333,25.6,4519.69,0,24.94826,121.49587,15.6 334 | 333,2013.167,39.8,617.7134,2,24.97577,121.53475,39.6 335 | 334,2012.750,7.8,104.8101,5,24.96674,121.54067,38.4 336 | 335,2012.917,30,1013.341,5,24.99006,121.5346,22.8 337 | 336,2013.583,27.3,337.6016,6,24.96431,121.54063,36.5 338 | 337,2012.833,5.1,1867.233,2,24.98407,121.51748,35.6 339 | 338,2012.833,31.3,600.8604,5,24.96871,121.54651,30.9 340 | 339,2012.917,31.5,258.186,9,24.96867,121.54331,36.3 341 | 340,2013.333,1.7,329.9747,5,24.98254,121.54395,50.4 342 | 341,2013.333,33.6,270.8895,0,24.97281,121.53265,42.9 343 | 342,2013.000,13,750.0704,2,24.97371,121.54951,37 344 | 343,2012.667,5.7,90.45606,9,24.97433,121.5431,53.5 345 | 344,2013.000,33.5,563.2854,8,24.98223,121.53597,46.6 346 | 345,2013.500,34.6,3085.17,0,24.998,121.5155,41.2 347 | 346,2012.667,0,185.4296,0,24.9711,121.5317,37.9 348 | 347,2013.417,13.2,1712.632,2,24.96412,121.5167,30.8 349 | 348,2013.583,17.4,6488.021,1,24.95719,121.47353,11.2 350 | 349,2012.833,4.6,259.6607,6,24.97585,121.54516,53.7 351 | 350,2012.750,7.8,104.8101,5,24.96674,121.54067,47 352 | 351,2013.000,13.2,492.2313,5,24.96515,121.53737,42.3 353 | 352,2012.833,4,2180.245,3,24.96324,121.51241,28.6 354 | 353,2012.833,18.4,2674.961,3,24.96143,121.50827,25.7 355 | 354,2013.500,4.1,2147.376,3,24.96299,121.51284,31.3 356 | 355,2013.417,12.2,1360.139,1,24.95204,121.54842,30.1 357 | 356,2013.250,3.8,383.8624,5,24.98085,121.54391,60.7 358 | 357,2012.833,10.3,211.4473,1,24.97417,121.52999,45.3 359 | 358,2013.417,0,338.9679,9,24.96853,121.54413,44.9 360 | 359,2013.167,1.1,193.5845,6,24.96571,121.54089,45.1 361 | 360,2013.500,5.6,2408.993,0,24.95505,121.55964,24.7 362 | 361,2012.667,32.9,87.30222,10,24.983,121.54022,47.1 363 | 362,2013.083,41.4,281.205,8,24.97345,121.54093,63.3 364 | 363,2013.417,17.1,967.4,4,24.98872,121.53408,40 365 | 364,2013.500,32.3,109.9455,10,24.98182,121.54086,48 366 | 365,2013.417,35.3,614.1394,7,24.97913,121.53666,33.1 367 | 366,2012.917,17.3,2261.432,4,24.96182,121.51222,29.5 368 | 367,2012.750,14.2,1801.544,1,24.95153,121.55254,24.8 369 | 368,2012.833,15,1828.319,2,24.96464,121.51531,20.9 370 | 369,2013.417,18.2,350.8515,1,24.97544,121.53119,43.1 371 | 370,2012.667,20.2,2185.128,3,24.96322,121.51237,22.8 372 | 371,2012.750,15.9,289.3248,5,24.98203,121.54348,42.1 373 | 372,2013.500,4.1,312.8963,5,24.95591,121.53956,51.7 374 | 373,2013.000,33.9,157.6052,7,24.96628,121.54196,41.5 375 | 374,2013.083,0,274.0144,1,24.9748,121.53059,52.2 376 | 375,2013.250,5.4,390.5684,5,24.97937,121.54245,49.5 377 | 376,2013.250,21.7,1157.988,0,24.96165,121.55011,23.8 378 | 377,2013.417,14.7,1717.193,2,24.96447,121.51649,30.5 379 | 378,2013.333,3.9,49.66105,8,24.95836,121.53756,56.8 380 | 379,2013.333,37.3,587.8877,8,24.97077,121.54634,37.4 381 | 380,2013.333,0,292.9978,6,24.97744,121.54458,69.7 382 | 381,2013.333,14.1,289.3248,5,24.98203,121.54348,53.3 383 | 382,2013.417,8,132.5469,9,24.98298,121.53981,47.3 384 | 383,2013.000,16.3,3529.564,0,24.93207,121.51597,29.3 385 | 384,2012.667,29.1,506.1144,4,24.97845,121.53889,40.3 386 | 385,2012.750,16.1,4066.587,0,24.94297,121.50342,12.9 387 | 386,2013.000,18.3,82.88643,10,24.983,121.54026,46.6 388 | 387,2012.833,0,185.4296,0,24.9711,121.5317,55.3 389 | 388,2013.250,16.2,2103.555,3,24.96042,121.51462,25.6 390 | 389,2013.500,10.4,2251.938,4,24.95957,121.51353,27.3 391 | 390,2013.250,40.9,122.3619,8,24.96756,121.5423,67.7 392 | 391,2013.500,32.8,377.8302,9,24.97151,121.5435,38.6 393 | 392,2013.583,6.2,1939.749,1,24.95155,121.55387,31.3 394 | 393,2013.083,42.7,443.802,6,24.97927,121.53874,35.3 395 | 394,2013.000,16.9,967.4,4,24.98872,121.53408,40.3 396 | 395,2013.500,32.6,4136.271,1,24.95544,121.4963,24.7 397 | 396,2012.917,21.2,512.5487,4,24.974,121.53842,42.5 398 | 397,2012.667,37.1,918.6357,1,24.97198,121.55063,31.9 399 | 398,2013.417,13.1,1164.838,4,24.99156,121.53406,32.2 400 | 399,2013.417,14.7,1717.193,2,24.96447,121.51649,23 401 | 400,2012.917,12.7,170.1289,1,24.97371,121.52984,37.3 402 | 401,2013.250,26.8,482.7581,5,24.97433,121.53863,35.5 403 | 402,2013.083,7.6,2175.03,3,24.96305,121.51254,27.7 404 | 403,2012.833,12.7,187.4823,1,24.97388,121.52981,28.5 405 | 404,2012.667,30.9,161.942,9,24.98353,121.53966,39.7 406 | 405,2013.333,16.4,289.3248,5,24.98203,121.54348,41.2 407 | 406,2012.667,23,130.9945,6,24.95663,121.53765,37.2 408 | 407,2013.167,1.9,372.1386,7,24.97293,121.54026,40.5 409 | 408,2013.000,5.2,2408.993,0,24.95505,121.55964,22.3 410 | 409,2013.417,18.5,2175.744,3,24.9633,121.51243,28.1 411 | 410,2013.000,13.7,4082.015,0,24.94155,121.50381,15.4 412 | 411,2012.667,5.6,90.45606,9,24.97433,121.5431,50 413 | 412,2013.250,18.8,390.9696,7,24.97923,121.53986,40.6 414 | 413,2013.000,8.1,104.8101,5,24.96674,121.54067,52.5 415 | 414,2013.500,6.5,90.45606,9,24.97433,121.5431,63.9 416 | -------------------------------------------------------------------------------- /week 2.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Welcome to Week 2" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "This week we'll learn about Feature Engineering. This is the art that helps achieve great accuracy in Machine Learning. \n", 15 | "There are a number of things we need to keep in mind before we send in our data to formulas. \n", 16 | "\n", 17 | "No null data, and no strings presence in the dataset is must, but a number of other factors also affect our data. More than 40% of the time is consumed in this step by most professionals as well, so do refer blogs to learn more. \n", 18 | "Let's get started" 19 | ] 20 | }, 21 | { 22 | "cell_type": "code", 23 | "execution_count": 1, 24 | "metadata": {}, 25 | "outputs": [], 26 | "source": [ 27 | "import pandas as pd\n", 28 | "import numpy as np" 29 | ] 30 | }, 31 | { 32 | "cell_type": "code", 33 | "execution_count": 2, 34 | "metadata": {}, 35 | "outputs": [ 36 | { 37 | "data": { 38 | "text/html": [ 39 | "
\n", 40 | "\n", 53 | "\n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | "
CityExperienceSalaryPromotion
0Delhi4.055000.0No
1Mumbai2.020000.0Yes
2Agra3.030000.0No
3Mumbai8.072000.0No
4Agra4.0NaNYes
\n", 101 | "
" 102 | ], 103 | "text/plain": [ 104 | " City Experience Salary Promotion\n", 105 | "0 Delhi 4.0 55000.0 No\n", 106 | "1 Mumbai 2.0 20000.0 Yes\n", 107 | "2 Agra 3.0 30000.0 No\n", 108 | "3 Mumbai 8.0 72000.0 No\n", 109 | "4 Agra 4.0 NaN Yes" 110 | ] 111 | }, 112 | "execution_count": 2, 113 | "metadata": {}, 114 | "output_type": "execute_result" 115 | } 116 | ], 117 | "source": [ 118 | "data=pd.read_csv(\"data/Data.csv\")\n", 119 | "data.head()" 120 | ] 121 | }, 122 | { 123 | "cell_type": "markdown", 124 | "metadata": {}, 125 | "source": [ 126 | "If you look at the dataset you'll see we have missing values and you know how to deal with it. \n", 127 | "There are also new methods which I'll guide you through this week." 128 | ] 129 | }, 130 | { 131 | "cell_type": "code", 132 | "execution_count": 3, 133 | "metadata": {}, 134 | "outputs": [ 135 | { 136 | "data": { 137 | "text/plain": [ 138 | "City 1\n", 139 | "Experience 2\n", 140 | "Salary 1\n", 141 | "Promotion 0\n", 142 | "dtype: int64" 143 | ] 144 | }, 145 | "execution_count": 3, 146 | "metadata": {}, 147 | "output_type": "execute_result" 148 | } 149 | ], 150 | "source": [ 151 | "data.isna().sum()" 152 | ] 153 | }, 154 | { 155 | "cell_type": "code", 156 | "execution_count": 4, 157 | "metadata": {}, 158 | "outputs": [ 159 | { 160 | "data": { 161 | "text/html": [ 162 | "
\n", 163 | "\n", 176 | "\n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | "
CityExperienceSalaryPromotion
0Delhi4.055000.0No
1Mumbai2.020000.0Yes
2Agra3.030000.0No
3Mumbai8.072000.0No
5Delhi5.060000.0Yes
\n", 224 | "
" 225 | ], 226 | "text/plain": [ 227 | " City Experience Salary Promotion\n", 228 | "0 Delhi 4.0 55000.0 No\n", 229 | "1 Mumbai 2.0 20000.0 Yes\n", 230 | "2 Agra 3.0 30000.0 No\n", 231 | "3 Mumbai 8.0 72000.0 No\n", 232 | "5 Delhi 5.0 60000.0 Yes" 233 | ] 234 | }, 235 | "execution_count": 4, 236 | "metadata": {}, 237 | "output_type": "execute_result" 238 | } 239 | ], 240 | "source": [ 241 | "# method 1\n", 242 | "data1 = data.dropna(how='any',axis=0) \n", 243 | "data1.head()" 244 | ] 245 | }, 246 | { 247 | "cell_type": "code", 248 | "execution_count": 5, 249 | "metadata": {}, 250 | "outputs": [ 251 | { 252 | "name": "stdout", 253 | "output_type": "stream", 254 | "text": [ 255 | "x_most_frequent = [[55000.]\n", 256 | " [20000.]\n", 257 | " [30000.]\n", 258 | " [72000.]\n", 259 | " [52000.]\n", 260 | " [60000.]\n", 261 | " [52000.]\n", 262 | " [51000.]\n", 263 | " [59000.]\n", 264 | " [31000.]\n", 265 | " [58000.]\n", 266 | " [52000.]\n", 267 | " [79000.]\n", 268 | " [60000.]\n", 269 | " [67000.]]\n", 270 | "x_mean = [[55000. ]\n", 271 | " [20000. ]\n", 272 | " [30000. ]\n", 273 | " [72000. ]\n", 274 | " [53285.71428571]\n", 275 | " [60000. ]\n", 276 | " [52000. ]\n", 277 | " [51000. ]\n", 278 | " [59000. ]\n", 279 | " [31000. ]\n", 280 | " [58000. ]\n", 281 | " [52000. ]\n", 282 | " [79000. ]\n", 283 | " [60000. ]\n", 284 | " [67000. ]]\n", 285 | "x_median = [[55000.]\n", 286 | " [20000.]\n", 287 | " [30000.]\n", 288 | " [72000.]\n", 289 | " [56500.]\n", 290 | " [60000.]\n", 291 | " [52000.]\n", 292 | " [51000.]\n", 293 | " [59000.]\n", 294 | " [31000.]\n", 295 | " [58000.]\n", 296 | " [52000.]\n", 297 | " [79000.]\n", 298 | " [60000.]\n", 299 | " [67000.]]\n" 300 | ] 301 | } 302 | ], 303 | "source": [ 304 | "# method 2\n", 305 | "from sklearn.impute import SimpleImputer as Imputer\n", 306 | "x = data['Salary'].values.reshape(-1,1)\n", 307 | "\n", 308 | "x_most_frequent = Imputer(missing_values=np.nan, \n", 309 | " strategy = 'most_frequent').fit_transform(x)\n", 310 | "print(\"x_most_frequent = \",x_most_frequent)\n", 311 | "\n", 312 | "x_mean = Imputer(missing_values=np.nan, \n", 313 | " strategy = 'mean').fit_transform(x)\n", 314 | "print(\"x_mean = \",x_mean)\n", 315 | "\n", 316 | "x_median = Imputer(missing_values=np.nan, \n", 317 | " strategy = 'median').fit_transform(x)\n", 318 | "print(\"x_median = \",x_median)" 319 | ] 320 | }, 321 | { 322 | "cell_type": "markdown", 323 | "metadata": {}, 324 | "source": [ 325 | "Continuing the preprocessing, do keep in mind ML require mathematics, so we cannot have words \n", 326 | "To solve this we need to convert them to numbers. \n", 327 | "We can do it by giving them numbers like\n", 328 | "* Agra 0\n", 329 | "* Delhi 1\n", 330 | "* Mumbai 2" 331 | ] 332 | }, 333 | { 334 | "cell_type": "code", 335 | "execution_count": 6, 336 | "metadata": {}, 337 | "outputs": [], 338 | "source": [ 339 | "#converting data frame to values\n", 340 | "X = data1.iloc[:, :-1].values\n", 341 | "y = data1.iloc[:, 3].values" 342 | ] 343 | }, 344 | { 345 | "cell_type": "code", 346 | "execution_count": 7, 347 | "metadata": {}, 348 | "outputs": [ 349 | { 350 | "data": { 351 | "text/plain": [ 352 | "array([['Delhi', 4.0, 55000.0],\n", 353 | " ['Mumbai', 2.0, 20000.0],\n", 354 | " ['Agra', 3.0, 30000.0],\n", 355 | " ['Mumbai', 8.0, 72000.0],\n", 356 | " ['Delhi', 5.0, 60000.0],\n", 357 | " ['Delhi', 4.0, 51000.0],\n", 358 | " ['Agra', 5.0, 59000.0],\n", 359 | " ['Delhi', 3.0, 31000.0],\n", 360 | " ['Delhi', 8.0, 79000.0],\n", 361 | " ['Agra', 5.0, 60000.0],\n", 362 | " ['Delhi', 7.0, 67000.0]], dtype=object)" 363 | ] 364 | }, 365 | "execution_count": 7, 366 | "metadata": {}, 367 | "output_type": "execute_result" 368 | } 369 | ], 370 | "source": [ 371 | "X" 372 | ] 373 | }, 374 | { 375 | "cell_type": "code", 376 | "execution_count": 8, 377 | "metadata": {}, 378 | "outputs": [ 379 | { 380 | "data": { 381 | "text/plain": [ 382 | "array(['No', 'Yes', 'No', 'No', 'Yes', 'Yes', 'No', 'Yes', 'Yes', 'No',\n", 383 | " 'Yes'], dtype=object)" 384 | ] 385 | }, 386 | "execution_count": 8, 387 | "metadata": {}, 388 | "output_type": "execute_result" 389 | } 390 | ], 391 | "source": [ 392 | "y" 393 | ] 394 | }, 395 | { 396 | "cell_type": "code", 397 | "execution_count": 9, 398 | "metadata": {}, 399 | "outputs": [ 400 | { 401 | "data": { 402 | "text/plain": [ 403 | "array([[1, 4.0, 55000.0],\n", 404 | " [2, 2.0, 20000.0],\n", 405 | " [0, 3.0, 30000.0],\n", 406 | " [2, 8.0, 72000.0],\n", 407 | " [1, 5.0, 60000.0],\n", 408 | " [1, 4.0, 51000.0],\n", 409 | " [0, 5.0, 59000.0],\n", 410 | " [1, 3.0, 31000.0],\n", 411 | " [1, 8.0, 79000.0],\n", 412 | " [0, 5.0, 60000.0],\n", 413 | " [1, 7.0, 67000.0]], dtype=object)" 414 | ] 415 | }, 416 | "execution_count": 9, 417 | "metadata": {}, 418 | "output_type": "execute_result" 419 | } 420 | ], 421 | "source": [ 422 | "from sklearn.preprocessing import LabelEncoder\n", 423 | "labelencoder_X = LabelEncoder()\n", 424 | "\n", 425 | "X[:, 0] = labelencoder_X.fit_transform(X[:, 0])\n", 426 | "X" 427 | ] 428 | }, 429 | { 430 | "cell_type": "code", 431 | "execution_count": 10, 432 | "metadata": {}, 433 | "outputs": [ 434 | { 435 | "data": { 436 | "text/plain": [ 437 | "array(['Agra', 'Delhi', 'Mumbai'], dtype=object)" 438 | ] 439 | }, 440 | "execution_count": 10, 441 | "metadata": {}, 442 | "output_type": "execute_result" 443 | } 444 | ], 445 | "source": [ 446 | "labelencoder_X.classes_" 447 | ] 448 | }, 449 | { 450 | "cell_type": "code", 451 | "execution_count": 11, 452 | "metadata": {}, 453 | "outputs": [], 454 | "source": [ 455 | "labelencoder_y = LabelEncoder()\n", 456 | "y = labelencoder_y.fit_transform(y)" 457 | ] 458 | }, 459 | { 460 | "cell_type": "code", 461 | "execution_count": 12, 462 | "metadata": {}, 463 | "outputs": [ 464 | { 465 | "data": { 466 | "text/plain": [ 467 | "array([0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1])" 468 | ] 469 | }, 470 | "execution_count": 12, 471 | "metadata": {}, 472 | "output_type": "execute_result" 473 | } 474 | ], 475 | "source": [ 476 | "y" 477 | ] 478 | }, 479 | { 480 | "cell_type": "markdown", 481 | "metadata": {}, 482 | "source": [ 483 | "* no 0\n", 484 | "* yes 1" 485 | ] 486 | }, 487 | { 488 | "cell_type": "markdown", 489 | "metadata": {}, 490 | "source": [ 491 | "Over here we'll point out that in case of cities we shall not give weightage to countries. \n", 492 | "In a sense as the number of cities increase, cities with larger number will be given more priority my the ML formulas. \n", 493 | "\n", 494 | "Due to this Mumbai will get more importance than Agra. \n", 495 | "Think it over or google what will happen if instead of 3 we'll have 100 countries!!\n", 496 | "\n", 497 | "To over come this we'll have to judge a Column and apply one hot encoding." 498 | ] 499 | }, 500 | { 501 | "cell_type": "code", 502 | "execution_count": 13, 503 | "metadata": {}, 504 | "outputs": [ 505 | { 506 | "data": { 507 | "text/plain": [ 508 | "array([[0., 1., 0.],\n", 509 | " [0., 0., 1.],\n", 510 | " [1., 0., 0.],\n", 511 | " [0., 0., 1.],\n", 512 | " [0., 1., 0.],\n", 513 | " [0., 1., 0.],\n", 514 | " [1., 0., 0.],\n", 515 | " [0., 1., 0.],\n", 516 | " [0., 1., 0.],\n", 517 | " [1., 0., 0.],\n", 518 | " [0., 1., 0.]])" 519 | ] 520 | }, 521 | "execution_count": 13, 522 | "metadata": {}, 523 | "output_type": "execute_result" 524 | } 525 | ], 526 | "source": [ 527 | "from sklearn.preprocessing import OneHotEncoder\n", 528 | "\n", 529 | "onehotencoder = OneHotEncoder(categories='auto') \n", 530 | "p = onehotencoder.fit_transform(X[:,0:1]).toarray()\n", 531 | "p" 532 | ] 533 | }, 534 | { 535 | "cell_type": "code", 536 | "execution_count": 14, 537 | "metadata": {}, 538 | "outputs": [ 539 | { 540 | "data": { 541 | "text/html": [ 542 | "
\n", 543 | "\n", 556 | "\n", 557 | " \n", 558 | " \n", 559 | " \n", 560 | " \n", 561 | " \n", 562 | " \n", 563 | " \n", 564 | " \n", 565 | " \n", 566 | " \n", 567 | " \n", 568 | " \n", 569 | " \n", 570 | " \n", 571 | " \n", 572 | " \n", 573 | " \n", 574 | " \n", 575 | " \n", 576 | " \n", 577 | " \n", 578 | " \n", 579 | " \n", 580 | " \n", 581 | " \n", 582 | " \n", 583 | " \n", 584 | " \n", 585 | " \n", 586 | " \n", 587 | " \n", 588 | " \n", 589 | " \n", 590 | " \n", 591 | " \n", 592 | " \n", 593 | " \n", 594 | " \n", 595 | " \n", 596 | " \n", 597 | "
AgraDelhiMumbai
0010
1001
2100
3001
5010
\n", 598 | "
" 599 | ], 600 | "text/plain": [ 601 | " Agra Delhi Mumbai\n", 602 | "0 0 1 0\n", 603 | "1 0 0 1\n", 604 | "2 1 0 0\n", 605 | "3 0 0 1\n", 606 | "5 0 1 0" 607 | ] 608 | }, 609 | "execution_count": 14, 610 | "metadata": {}, 611 | "output_type": "execute_result" 612 | } 613 | ], 614 | "source": [ 615 | "# This will seem more senseful to you. \n", 616 | "dff = pd.get_dummies(data1['City'])\n", 617 | "dff.head()" 618 | ] 619 | }, 620 | { 621 | "cell_type": "markdown", 622 | "metadata": {}, 623 | "source": [ 624 | "Although we converted are variables to the above format, still we'll face one issue. It's callled **Dummy Variable Trap**. We'll discuss it next week. " 625 | ] 626 | }, 627 | { 628 | "cell_type": "code", 629 | "execution_count": 15, 630 | "metadata": {}, 631 | "outputs": [ 632 | { 633 | "data": { 634 | "text/html": [ 635 | "
\n", 636 | "\n", 649 | "\n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | " \n", 664 | " \n", 665 | " \n", 666 | " \n", 667 | " \n", 668 | " \n", 669 | " \n", 670 | " \n", 671 | " \n", 672 | " \n", 673 | " \n", 674 | " \n", 675 | " \n", 676 | " \n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \n", 706 | " \n", 707 | " \n", 708 | " \n", 709 | " \n", 710 | " \n", 711 | " \n", 712 | " \n", 713 | " \n", 714 | " \n", 715 | " \n", 716 | " \n", 717 | " \n", 718 | " \n", 719 | " \n", 720 | " \n", 721 | " \n", 722 | " \n", 723 | " \n", 724 | " \n", 725 | " \n", 726 | " \n", 727 | " \n", 728 | " \n", 729 | " \n", 730 | " \n", 731 | " \n", 732 | " \n", 733 | " \n", 734 | " \n", 735 | " \n", 736 | " \n", 737 | " \n", 738 | " \n", 739 | " \n", 740 | " \n", 741 | " \n", 742 | " \n", 743 | " \n", 744 | " \n", 745 | " \n", 746 | " \n", 747 | " \n", 748 | " \n", 749 | " \n", 750 | "
AgraDelhiMumbaiExperienceSalary
00104.055000.0
10012.020000.0
21003.030000.0
30018.072000.0
50105.060000.0
70104.051000.0
81005.059000.0
90103.031000.0
120108.079000.0
131005.060000.0
140107.067000.0
\n", 751 | "
" 752 | ], 753 | "text/plain": [ 754 | " Agra Delhi Mumbai Experience Salary\n", 755 | "0 0 1 0 4.0 55000.0\n", 756 | "1 0 0 1 2.0 20000.0\n", 757 | "2 1 0 0 3.0 30000.0\n", 758 | "3 0 0 1 8.0 72000.0\n", 759 | "5 0 1 0 5.0 60000.0\n", 760 | "7 0 1 0 4.0 51000.0\n", 761 | "8 1 0 0 5.0 59000.0\n", 762 | "9 0 1 0 3.0 31000.0\n", 763 | "12 0 1 0 8.0 79000.0\n", 764 | "13 1 0 0 5.0 60000.0\n", 765 | "14 0 1 0 7.0 67000.0" 766 | ] 767 | }, 768 | "execution_count": 15, 769 | "metadata": {}, 770 | "output_type": "execute_result" 771 | } 772 | ], 773 | "source": [ 774 | "dff=pd.concat([dff, data1[\"Experience\"],data1[\"Salary\"]], axis=1)\n", 775 | "dff" 776 | ] 777 | }, 778 | { 779 | "cell_type": "markdown", 780 | "metadata": {}, 781 | "source": [ 782 | "# Normalisation\n", 783 | "In the data frame above we should scale down the salary and Experience because with respect to 1 and 0 it is too large and will neglect the relevance of City. There are many methods to achieve this." 784 | ] 785 | }, 786 | { 787 | "cell_type": "code", 788 | "execution_count": 16, 789 | "metadata": {}, 790 | "outputs": [ 791 | { 792 | "name": "stdout", 793 | "output_type": "stream", 794 | "text": [ 795 | "[[-0.61237244 0.91287093 -0.47140452 -0.47140452 0.10738071]\n", 796 | " [-0.61237244 -1.09544512 2.12132034 -1.50849447 -1.8612657 ]\n", 797 | " [ 1.63299316 -1.09544512 -0.47140452 -0.98994949 -1.29879529]\n", 798 | " [-0.61237244 -1.09544512 2.12132034 1.60277537 1.0635804 ]\n", 799 | " [-0.61237244 0.91287093 -0.47140452 0.04714045 0.38861591]\n", 800 | " [-0.61237244 0.91287093 -0.47140452 -0.47140452 -0.11760745]\n", 801 | " [ 1.63299316 -1.09544512 -0.47140452 0.04714045 0.33236887]\n", 802 | " [-0.61237244 0.91287093 -0.47140452 -0.98994949 -1.24254825]\n", 803 | " [-0.61237244 0.91287093 -0.47140452 1.60277537 1.45730968]\n", 804 | " [ 1.63299316 -1.09544512 -0.47140452 0.04714045 0.38861591]\n", 805 | " [-0.61237244 0.91287093 -0.47140452 1.0842304 0.7823452 ]]\n" 806 | ] 807 | } 808 | ], 809 | "source": [ 810 | "X = dff.iloc[:,:].values\n", 811 | "\n", 812 | "from sklearn.preprocessing import StandardScaler\n", 813 | "sc_X = StandardScaler()\n", 814 | "print(sc_X.fit_transform(X))" 815 | ] 816 | }, 817 | { 818 | "cell_type": "code", 819 | "execution_count": 17, 820 | "metadata": {}, 821 | "outputs": [ 822 | { 823 | "name": "stdout", 824 | "output_type": "stream", 825 | "text": [ 826 | "[[0. 1. 0. 0.5 0.69620253]\n", 827 | " [0. 0. 1. 0.25 0.25316456]\n", 828 | " [1. 0. 0. 0.375 0.37974684]\n", 829 | " [0. 0. 1. 1. 0.91139241]\n", 830 | " [0. 1. 0. 0.625 0.75949367]\n", 831 | " [0. 1. 0. 0.5 0.64556962]\n", 832 | " [1. 0. 0. 0.625 0.74683544]\n", 833 | " [0. 1. 0. 0.375 0.39240506]\n", 834 | " [0. 1. 0. 1. 1. ]\n", 835 | " [1. 0. 0. 0.625 0.75949367]\n", 836 | " [0. 1. 0. 0.875 0.84810127]]\n" 837 | ] 838 | } 839 | ], 840 | "source": [ 841 | "X = dff.iloc[:,:].values\n", 842 | "\n", 843 | "from sklearn.preprocessing import MaxAbsScaler\n", 844 | "m_X = MaxAbsScaler()\n", 845 | "print(m_X.fit_transform(X))" 846 | ] 847 | }, 848 | { 849 | "cell_type": "markdown", 850 | "metadata": {}, 851 | "source": [ 852 | "## Machine Learning\n", 853 | "- [Application](https://www.geeksforgeeks.org/machine-learning-introduction/)\n", 854 | "- [Types of ML models](https://www.geeksforgeeks.org/ml-types-learning-supervised-learning/)\n", 855 | "- [Difference between Supervised and Unsupervised Learning](https://www.geeksforgeeks.org/difference-between-supervised-and-unsupervised-learning/?ref=rp)\n", 856 | "- [Semi-supervised Learning](https://www.geeksforgeeks.org/ml-semi-supervised-learning/?ref=rp)" 857 | ] 858 | }, 859 | { 860 | "cell_type": "markdown", 861 | "metadata": {}, 862 | "source": [ 863 | "## Other Links to refer: \n", 864 | "- [Scikit-Learn](https://scikit-learn.org/stable/modules/classes.html#module-sklearn.preprocessing)\n", 865 | "- [Geek for Geeks](https://www.geeksforgeeks.org/data-preprocessing-machine-learning-python/)\n", 866 | "- [Medium](https://medium.com/search?q=preprocessing%20in%20machine%20learning)\n", 867 | "- [YouTube](https://www.youtube.com/results?search_query=preprocessing+in+machine+learning)\n", 868 | "- [Analytics Vidhya](https://www.analyticsvidhya.com/blog/2016/07/practical-guide-data-preprocessing-python-scikit-learn/)" 869 | ] 870 | } 871 | ], 872 | "metadata": { 873 | "kernelspec": { 874 | "display_name": "Python 3", 875 | "language": "python", 876 | "name": "python3" 877 | }, 878 | "language_info": { 879 | "codemirror_mode": { 880 | "name": "ipython", 881 | "version": 3 882 | }, 883 | "file_extension": ".py", 884 | "mimetype": "text/x-python", 885 | "name": "python", 886 | "nbconvert_exporter": "python", 887 | "pygments_lexer": "ipython3", 888 | "version": "3.8.2" 889 | } 890 | }, 891 | "nbformat": 4, 892 | "nbformat_minor": 2 893 | } 894 | -------------------------------------------------------------------------------- /week 3.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Welcome to Week 3\n", 8 | "## Linear Regression" 9 | ] 10 | }, 11 | { 12 | "cell_type": "markdown", 13 | "metadata": {}, 14 | "source": [ 15 | "Simple linear regression is a basic ML model. \n", 16 | "You must be aware about the equation of line **y=mx+c**. \n", 17 | "This function tries to make best fit line for our dataset. \n", 18 | "Dataset is available [here](https://www.kaggle.com/andonians/random-linear-regression) \n", 19 | "We recommend you to go through [this](https://www.youtube.com/watch?v=GhrxgbQnEEU) or [this](https://www.youtube.com/watch?v=E5RjzSK0fvY) video to understand the intuition." 20 | ] 21 | }, 22 | { 23 | "cell_type": "code", 24 | "execution_count": 1, 25 | "metadata": {}, 26 | "outputs": [], 27 | "source": [ 28 | "import pandas as pd\n", 29 | "data=pd.read_csv('data/x-y.csv')\n", 30 | "data = data.dropna(how='any',axis=0)[:100]" 31 | ] 32 | }, 33 | { 34 | "cell_type": "code", 35 | "execution_count": 2, 36 | "metadata": {}, 37 | "outputs": [ 38 | { 39 | "data": { 40 | "text/html": [ 41 | "
\n", 42 | "\n", 55 | "\n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | "
xy
024.021.549452
150.047.464463
215.017.218656
338.036.586398
487.087.288984
\n", 91 | "
" 92 | ], 93 | "text/plain": [ 94 | " x y\n", 95 | "0 24.0 21.549452\n", 96 | "1 50.0 47.464463\n", 97 | "2 15.0 17.218656\n", 98 | "3 38.0 36.586398\n", 99 | "4 87.0 87.288984" 100 | ] 101 | }, 102 | "execution_count": 2, 103 | "metadata": {}, 104 | "output_type": "execute_result" 105 | } 106 | ], 107 | "source": [ 108 | "data.head()" 109 | ] 110 | }, 111 | { 112 | "cell_type": "code", 113 | "execution_count": 3, 114 | "metadata": {}, 115 | "outputs": [ 116 | { 117 | "data": { 118 | "image/png": "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\n", 119 | "text/plain": [ 120 | "
" 121 | ] 122 | }, 123 | "metadata": { 124 | "needs_background": "light" 125 | }, 126 | "output_type": "display_data" 127 | } 128 | ], 129 | "source": [ 130 | "import matplotlib.pyplot as plt\n", 131 | "\n", 132 | "plt.scatter(data[\"x\"],data[\"y\"])\n", 133 | "plt.xlabel(\"X\")\n", 134 | "plt.ylabel(\"Y\")\n", 135 | "plt.show()" 136 | ] 137 | }, 138 | { 139 | "cell_type": "markdown", 140 | "metadata": {}, 141 | "source": [ 142 | "As observed the dataset is linear. " 143 | ] 144 | }, 145 | { 146 | "cell_type": "code", 147 | "execution_count": 4, 148 | "metadata": {}, 149 | "outputs": [], 150 | "source": [ 151 | "x=data['x'].values.reshape(-1,1)\n", 152 | "y=data['y'].values.reshape(-1,1)" 153 | ] 154 | }, 155 | { 156 | "cell_type": "markdown", 157 | "metadata": {}, 158 | "source": [ 159 | "### Spliting the Data\n", 160 | "It is necessary to have a dataset to train and one dataset to test. \n", 161 | "But these two must be of same origin to prevent error. \n", 162 | "For example if predicting presence of function from a webcam, you cannot expect to attain good results while testing for CCTV footage. \n", 163 | "\n", 164 | "So if test data is not given explicitly make your own by spilting the data for small data we can split the ratio of about **train***: 0.8 **test 0.2**\n", 165 | "\n", 166 | "For larger dataset we can split in the ratio of **train**: 0.01 **test 0.99** " 167 | ] 168 | }, 169 | { 170 | "cell_type": "code", 171 | "execution_count": 5, 172 | "metadata": {}, 173 | "outputs": [], 174 | "source": [ 175 | "from sklearn.model_selection import train_test_split\n", 176 | "X_train, X_test, y_train, y_test = train_test_split(x, y, test_size = 0.2)" 177 | ] 178 | }, 179 | { 180 | "cell_type": "markdown", 181 | "metadata": {}, 182 | "source": [ 183 | "## [sklearn.linear_model.LinearRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html?highlight=linear%20regression)\n", 184 | "\n", 185 | "This class makes a best fit line for **Y = M*X + C** . \n", 186 | "Let's understand it's working.\n", 187 | "\n", 188 | "* It choses random variable m and c. \n", 189 | "* Calculate y prediction using these random variable. \n", 190 | "* Calculater error (root mean square).\n", 191 | "* Update variables to get least error using stats formula." 192 | ] 193 | }, 194 | { 195 | "cell_type": "code", 196 | "execution_count": 6, 197 | "metadata": {}, 198 | "outputs": [ 199 | { 200 | "data": { 201 | "text/plain": [ 202 | "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)" 203 | ] 204 | }, 205 | "execution_count": 6, 206 | "metadata": {}, 207 | "output_type": "execute_result" 208 | } 209 | ], 210 | "source": [ 211 | "from sklearn.linear_model import LinearRegression\n", 212 | "r1=LinearRegression()\n", 213 | "# This is an object which stores value of slope and intercept\n", 214 | "r1.fit(X_train, y_train)" 215 | ] 216 | }, 217 | { 218 | "cell_type": "code", 219 | "execution_count": 7, 220 | "metadata": {}, 221 | "outputs": [ 222 | { 223 | "data": { 224 | "text/plain": [ 225 | "array([0.54038651])" 226 | ] 227 | }, 228 | "execution_count": 7, 229 | "metadata": {}, 230 | "output_type": "execute_result" 231 | } 232 | ], 233 | "source": [ 234 | "r1.intercept_" 235 | ] 236 | }, 237 | { 238 | "cell_type": "code", 239 | "execution_count": 8, 240 | "metadata": {}, 241 | "outputs": [ 242 | { 243 | "data": { 244 | "text/plain": [ 245 | "array([[0.98590331]])" 246 | ] 247 | }, 248 | "execution_count": 8, 249 | "metadata": {}, 250 | "output_type": "execute_result" 251 | } 252 | ], 253 | "source": [ 254 | "r1.coef_" 255 | ] 256 | }, 257 | { 258 | "cell_type": "code", 259 | "execution_count": 9, 260 | "metadata": {}, 261 | "outputs": [], 262 | "source": [ 263 | "y_pred = r1.predict(X_test)" 264 | ] 265 | }, 266 | { 267 | "cell_type": "code", 268 | "execution_count": 10, 269 | "metadata": {}, 270 | "outputs": [ 271 | { 272 | "data": { 273 | "image/png": "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\n", 274 | "text/plain": [ 275 | "
" 276 | ] 277 | }, 278 | "metadata": { 279 | "needs_background": "light" 280 | }, 281 | "output_type": "display_data" 282 | } 283 | ], 284 | "source": [ 285 | "#visualising\n", 286 | "plt.scatter(x,y,color='red')\n", 287 | "plt.plot(X_train, r1.predict(X_train),color='blue')\n", 288 | "plt.ylabel('salary')\n", 289 | "plt.xlabel('experience')\n", 290 | "plt.show()" 291 | ] 292 | }, 293 | { 294 | "cell_type": "code", 295 | "execution_count": 11, 296 | "metadata": {}, 297 | "outputs": [ 298 | { 299 | "data": { 300 | "text/plain": [ 301 | "array([[99.13071774]])" 302 | ] 303 | }, 304 | "execution_count": 11, 305 | "metadata": {}, 306 | "output_type": "execute_result" 307 | } 308 | ], 309 | "source": [ 310 | "import numpy as np\n", 311 | "p=np.asarray([100]).reshape(-1,1)\n", 312 | "r1.predict(p)" 313 | ] 314 | }, 315 | { 316 | "cell_type": "markdown", 317 | "metadata": {}, 318 | "source": [ 319 | "## Multilinear Regression\n", 320 | "\n", 321 | "This model was very peculiar to two axis only. Let's add some more variables. \n", 322 | "Now our equation will be **y = b0 + b1x1 + b2x2 +b3x3 ...** \n", 323 | "Here Sklearn provides us flexibility, as we can again use the same class. Let's try it out. \n", 324 | "The dataset is available [here](https://www.kaggle.com/quantbruce/real-estate-price-prediction)." 325 | ] 326 | }, 327 | { 328 | "cell_type": "code", 329 | "execution_count": 12, 330 | "metadata": {}, 331 | "outputs": [ 332 | { 333 | "data": { 334 | "text/html": [ 335 | "
\n", 336 | "\n", 349 | "\n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \n", 379 | " \n", 380 | " \n", 381 | " \n", 382 | " \n", 383 | " \n", 384 | " \n", 385 | " \n", 386 | " \n", 387 | " \n", 388 | " \n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | " \n", 393 | " \n", 394 | " \n", 395 | " \n", 396 | " \n", 397 | " \n", 398 | " \n", 399 | " \n", 400 | " \n", 401 | " \n", 402 | " \n", 403 | " \n", 404 | " \n", 405 | " \n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | " \n", 419 | " \n", 420 | "
NoX1 transaction dateX2 house ageX3 distance to the nearest MRT stationX4 number of convenience storesX5 latitudeX6 longitudeY house price of unit area
012012.91732.084.878821024.98298121.5402437.9
122012.91719.5306.59470924.98034121.5395142.2
232013.58313.3561.98450524.98746121.5439147.3
342013.50013.3561.98450524.98746121.5439154.8
452012.8335.0390.56840524.97937121.5424543.1
\n", 421 | "
" 422 | ], 423 | "text/plain": [ 424 | " No X1 transaction date X2 house age \\\n", 425 | "0 1 2012.917 32.0 \n", 426 | "1 2 2012.917 19.5 \n", 427 | "2 3 2013.583 13.3 \n", 428 | "3 4 2013.500 13.3 \n", 429 | "4 5 2012.833 5.0 \n", 430 | "\n", 431 | " X3 distance to the nearest MRT station X4 number of convenience stores \\\n", 432 | "0 84.87882 10 \n", 433 | "1 306.59470 9 \n", 434 | "2 561.98450 5 \n", 435 | "3 561.98450 5 \n", 436 | "4 390.56840 5 \n", 437 | "\n", 438 | " X5 latitude X6 longitude Y house price of unit area \n", 439 | "0 24.98298 121.54024 37.9 \n", 440 | "1 24.98034 121.53951 42.2 \n", 441 | "2 24.98746 121.54391 47.3 \n", 442 | "3 24.98746 121.54391 54.8 \n", 443 | "4 24.97937 121.54245 43.1 " 444 | ] 445 | }, 446 | "execution_count": 12, 447 | "metadata": {}, 448 | "output_type": "execute_result" 449 | } 450 | ], 451 | "source": [ 452 | "dataset = pd.read_csv('data/Realestate.csv')\n", 453 | "dataset.head()" 454 | ] 455 | }, 456 | { 457 | "cell_type": "code", 458 | "execution_count": 13, 459 | "metadata": {}, 460 | "outputs": [], 461 | "source": [ 462 | "y = dataset[\"Y house price of unit area\"].values.reshape(-1,1)\n", 463 | "x = dataset.drop([\"No\",\"Y house price of unit area\",\"X1 transaction date\"],axis=1)" 464 | ] 465 | }, 466 | { 467 | "cell_type": "code", 468 | "execution_count": 14, 469 | "metadata": {}, 470 | "outputs": [], 471 | "source": [ 472 | "from sklearn.model_selection import train_test_split\n", 473 | "x_train, x_test, y_train, y_test = train_test_split(x,y, test_size=0.2,random_state=0)" 474 | ] 475 | }, 476 | { 477 | "cell_type": "code", 478 | "execution_count": 15, 479 | "metadata": {}, 480 | "outputs": [], 481 | "source": [ 482 | "\"\"\"\n", 483 | "We need to apply scaling due to the values. Here we've apllied Standard Scaler but you shoul check out more. \n", 484 | "Also the same scalar function must be applied to both training and testing data.\n", 485 | "\"\"\"\n", 486 | "from sklearn.preprocessing import StandardScaler\n", 487 | "sc = StandardScaler()\n", 488 | "x_train = sc.fit_transform(x_train)\n", 489 | "x_test = sc.transform(x_test)" 490 | ] 491 | }, 492 | { 493 | "cell_type": "code", 494 | "execution_count": 16, 495 | "metadata": {}, 496 | "outputs": [], 497 | "source": [ 498 | "from sklearn.linear_model import LinearRegression\n", 499 | "l1=LinearRegression()\n", 500 | "l1.fit(x_train,y_train)\n", 501 | "y_pred=l1.predict(x_test)" 502 | ] 503 | }, 504 | { 505 | "cell_type": "code", 506 | "execution_count": 17, 507 | "metadata": {}, 508 | "outputs": [ 509 | { 510 | "data": { 511 | "text/plain": [ 512 | "array([[41.39074736],\n", 513 | " [12.35535341],\n", 514 | " [41.10500538],\n", 515 | " [12.16895621],\n", 516 | " [40.36129482]])" 517 | ] 518 | }, 519 | "execution_count": 17, 520 | "metadata": {}, 521 | "output_type": "execute_result" 522 | } 523 | ], 524 | "source": [ 525 | "y_pred[:5]" 526 | ] 527 | }, 528 | { 529 | "cell_type": "code", 530 | "execution_count": 18, 531 | "metadata": {}, 532 | "outputs": [ 533 | { 534 | "data": { 535 | "text/plain": [ 536 | "array([[45.3],\n", 537 | " [14.4],\n", 538 | " [46. ],\n", 539 | " [15.6],\n", 540 | " [50.2]])" 541 | ] 542 | }, 543 | "execution_count": 18, 544 | "metadata": {}, 545 | "output_type": "execute_result" 546 | } 547 | ], 548 | "source": [ 549 | "y_test[:5]" 550 | ] 551 | }, 552 | { 553 | "cell_type": "markdown", 554 | "metadata": {}, 555 | "source": [ 556 | "the values are pretty close. Let's find our error. \n", 557 | "We've multiple mathods for determining error, and you should check [this](https://www.dataquest.io/blog/understanding-regression-error-metrics/) to learn about tyoes of regression errors and when to use them.\n", 558 | "\n", 559 | "We'll be using mean squared error from [sklearn.metrics](https://scikit-learn.org/stable/modules/classes.html#module-sklearn.metrics)" 560 | ] 561 | }, 562 | { 563 | "cell_type": "code", 564 | "execution_count": 19, 565 | "metadata": {}, 566 | "outputs": [ 567 | { 568 | "data": { 569 | "text/plain": [ 570 | "62.172235622414036" 571 | ] 572 | }, 573 | "execution_count": 19, 574 | "metadata": {}, 575 | "output_type": "execute_result" 576 | } 577 | ], 578 | "source": [ 579 | "from sklearn.metrics import mean_squared_error \n", 580 | "mean_squared_error(y_test,y_pred)" 581 | ] 582 | }, 583 | { 584 | "cell_type": "markdown", 585 | "metadata": {}, 586 | "source": [ 587 | "## Dummy variable tray \n", 588 | "Last week we learned about One Hot Encoding our data, to give equal weighatge to different classes, but we face a problem here!!\n", 589 | "\n", 590 | "Lets consider **y = b0 + b1x1 + b2x2 +b3x3** \n", 591 | "\n", 592 | "Where x2 and x3 are dummy variables, i.e. if x2 = 1 ,x3 = 0 \n", 593 | "So x3 = 1-x2 \n", 594 | "Applying in our equation \n", 595 | "\n", 596 | "y = b0 + b1x1 + b2x2 +b3(1-x2) \n", 597 | "or\n", 598 | "y = b0 + b3 + b1x1 + x2 (b2-b3)\n", 599 | "\n", 600 | "So variable b3 is being added to constant tot create a new constant and subtracting from b2 affects our coeffecient. Hence, the equation of line changes attributing to an increase in loss. \n", 601 | "\n", 602 | "This is dummy variable trap, and only way to setlle is to remove one variable, while creating it\n", 603 | "\n", 604 | "Check out more [here](https://www.youtube.com/watch?v=qrWx3OjZL3o)" 605 | ] 606 | }, 607 | { 608 | "cell_type": "markdown", 609 | "metadata": {}, 610 | "source": [ 611 | "## Backword elimination\n", 612 | "This is a method of removing columns with small or not effect on our result. \n", 613 | "This makes our model faster and also in some cases Robust. \n", 614 | "Refer [this](https://medium.com/@manjabogicevic/multiple-linear-regression-using-python-b99754591ac0) to learn more. " 615 | ] 616 | }, 617 | { 618 | "cell_type": "markdown", 619 | "metadata": {}, 620 | "source": [ 621 | "# Polynomial regression\n", 622 | "\n", 623 | "Not all variables are linearly dependent on target variables.\n", 624 | "Let's consider a dataset of your position in a company and your Salary.\n", 625 | "A sample dataset is present [here](https://www.kaggle.com/testpython/polynomial-position-salary-data)\n", 626 | "\n", 627 | "Equation of a degree 2 polynomial equation looks like this \n", 628 | "**y = ax^2 + bx + c** \n", 629 | "\n", 630 | "A Degree 3 euation is like this \n", 631 | "**y = ax^3 + bx^2 + cx + d**" 632 | ] 633 | }, 634 | { 635 | "cell_type": "code", 636 | "execution_count": 20, 637 | "metadata": {}, 638 | "outputs": [ 639 | { 640 | "data": { 641 | "text/html": [ 642 | "
\n", 643 | "\n", 656 | "\n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | " \n", 664 | " \n", 665 | " \n", 666 | " \n", 667 | " \n", 668 | " \n", 669 | " \n", 670 | " \n", 671 | " \n", 672 | " \n", 673 | " \n", 674 | " \n", 675 | " \n", 676 | " \n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | "
PositionLevelSalary
0Business Analyst145000
1Junior Consultant250000
2Senior Consultant360000
3Manager480000
4Country Manager5110000
\n", 698 | "
" 699 | ], 700 | "text/plain": [ 701 | " Position Level Salary\n", 702 | "0 Business Analyst 1 45000\n", 703 | "1 Junior Consultant 2 50000\n", 704 | "2 Senior Consultant 3 60000\n", 705 | "3 Manager 4 80000\n", 706 | "4 Country Manager 5 110000" 707 | ] 708 | }, 709 | "execution_count": 20, 710 | "metadata": {}, 711 | "output_type": "execute_result" 712 | } 713 | ], 714 | "source": [ 715 | "data = pd.read_csv('data/Position_Salaries.csv')\n", 716 | "data.head()" 717 | ] 718 | }, 719 | { 720 | "cell_type": "code", 721 | "execution_count": 21, 722 | "metadata": {}, 723 | "outputs": [], 724 | "source": [ 725 | "x=data.iloc[:,1:2].values\n", 726 | "y=data.iloc[:,-1].values" 727 | ] 728 | }, 729 | { 730 | "cell_type": "markdown", 731 | "metadata": {}, 732 | "source": [ 733 | "There's no Polynomail regression method in Scikit Learn, but we can convert our dataset to polynomial features and them implement Linear Regression. \n", 734 | "Check out more at **[Polynomial Features](https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.PolynomialFeatures.html)**" 735 | ] 736 | }, 737 | { 738 | "cell_type": "code", 739 | "execution_count": 22, 740 | "metadata": {}, 741 | "outputs": [ 742 | { 743 | "data": { 744 | "text/plain": [ 745 | "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)" 746 | ] 747 | }, 748 | "execution_count": 22, 749 | "metadata": {}, 750 | "output_type": "execute_result" 751 | } 752 | ], 753 | "source": [ 754 | "from sklearn.linear_model import LinearRegression\n", 755 | "from sklearn.preprocessing import PolynomialFeatures\n", 756 | "\n", 757 | "p1= PolynomialFeatures(degree=2) # lets start with degree 2\n", 758 | "x_poly=p1.fit_transform(x)\n", 759 | "l2=LinearRegression()\n", 760 | "l2.fit(x_poly,y)" 761 | ] 762 | }, 763 | { 764 | "cell_type": "code", 765 | "execution_count": 23, 766 | "metadata": {}, 767 | "outputs": [ 768 | { 769 | "data": { 770 | "image/png": "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\n", 771 | "text/plain": [ 772 | "
" 773 | ] 774 | }, 775 | "metadata": { 776 | "needs_background": "light" 777 | }, 778 | "output_type": "display_data" 779 | } 780 | ], 781 | "source": [ 782 | "plt.scatter(x, y, color = 'red')\n", 783 | "plt.plot(x, l2.predict(p1.fit_transform(x)), color = 'blue')\n", 784 | "plt.title('Truth or Bluff (Regression Model)')\n", 785 | "plt.xlabel('Position level')\n", 786 | "plt.ylabel('Salary')\n", 787 | "plt.show()" 788 | ] 789 | }, 790 | { 791 | "cell_type": "code", 792 | "execution_count": 24, 793 | "metadata": {}, 794 | "outputs": [ 795 | { 796 | "data": { 797 | "image/png": "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\n", 798 | "text/plain": [ 799 | "
" 800 | ] 801 | }, 802 | "metadata": { 803 | "needs_background": "light" 804 | }, 805 | "output_type": "display_data" 806 | } 807 | ], 808 | "source": [ 809 | "p1= PolynomialFeatures(degree=5) # lets start with degree 5\n", 810 | "x_poly=p1.fit_transform(x)\n", 811 | "l2=LinearRegression()\n", 812 | "l2.fit(x_poly,y)\n", 813 | "\n", 814 | "plt.scatter(x, y, color = 'red')\n", 815 | "plt.plot(x, l2.predict(p1.fit_transform(x)), color = 'blue')\n", 816 | "plt.title('Truth or Bluff (Regression Model)')\n", 817 | "plt.xlabel('Position level')\n", 818 | "plt.ylabel('Salary')\n", 819 | "plt.show()" 820 | ] 821 | }, 822 | { 823 | "cell_type": "markdown", 824 | "metadata": {}, 825 | "source": [ 826 | "That's all for this week. \n", 827 | "Do refer the link and practice out on Kaggle. \n", 828 | "You can also refer here for more regression models. \n", 829 | "- [Super Data Science](https://www.superdatascience.com/pages/machine-learning)\n", 830 | "- [Scikit-Learn](https://scikit-learn.org/stable/index.html)\n", 831 | "- [YouTube](https://www.youtube.com/watch?v=E5RjzSK0fvY)" 832 | ] 833 | } 834 | ], 835 | "metadata": { 836 | "kernelspec": { 837 | "display_name": "Python 3", 838 | "language": "python", 839 | "name": "python3" 840 | }, 841 | "language_info": { 842 | "codemirror_mode": { 843 | "name": "ipython", 844 | "version": 3 845 | }, 846 | "file_extension": ".py", 847 | "mimetype": "text/x-python", 848 | "name": "python", 849 | "nbconvert_exporter": "python", 850 | "pygments_lexer": "ipython3", 851 | "version": "3.8.2" 852 | } 853 | }, 854 | "nbformat": 4, 855 | "nbformat_minor": 2 856 | } 857 | --------------------------------------------------------------------------------