diff --git a/+20 ML Algorithms +15 Plot for Beginners/+20 ML Algorithms +15 Plot for Beginners.ipynb b/+20 ML Algorithms +15 Plot for Beginners/+20 ML Algorithms +15 Plot for Beginners.ipynb new file mode 100644 index 0000000..68771aa --- /dev/null +++ b/+20 ML Algorithms +15 Plot for Beginners/+20 ML Algorithms +15 Plot for Beginners.ipynb @@ -0,0 +1,1884 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "cell_type": "markdown", + "source": "##
+20 ML Algorithms +15 Plot for Beginners
\n\n
Quite Practical and Far from any Theoretical Concepts
\n\n
last update: 17/12/2018
\n\n\n\n>###### you may be interested have a look at it: [**Course Home Page**](https://www.kaggle.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n---------------------------------------------------------------------\nyou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani)\n\n-------------------------------------------------------------------------------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "cell_type": "markdown", + "source": "
\n## Notebook Content\n* 1- [Introduction](#1)\n * [1-1 Courses](#11)\n * [1-2 Ebooks](#12)\n * [1-3 Cheat Sheets](#13)\n* 2- [Machine learning workflow](#2)\n* 2-1 [Real world Application Vs Competitions](#21)\n* 3- [Problem Definition](#3)\n* 3-1 [Problem feature](#31)\n* 3-2 [Aim](#32)\n* 3-3 [Variables](#33)\n* 4-[ Inputs & Outputs](#4)\n* 4-1 [Inputs ](#41)\n* 4-2 [Outputs](#42)\n* 5- [Loading Packages](#5)\n* 6- [Exploratory data analysis](#6)\n* 6-1 [Data Collection](#61)\n* 6-2 [Visualization](#62)\n* 6-2-1 [Scatter plot](#621)\n* 6-2-2 [Box](#622)\n* 6-2-3 [Histogram](#623)\n* 6-2-4 [Multivariate Plots](#624)\n* 6-2-5 [Violinplots](#625)\n* 6-2-6 [Pair plot](#626)\n* 6-2-7 [Kde plot](#627)\n* 6-2-8 [Joint plot](#628)\n* 6-2-9 [Andrews curves](#629)\n* 6-2-10 [Heatmap](#6210)\n* 6-2-11 [Radviz](#6211)\n* 6-2-12 [Bar Plot](#6212)\n* 6-2-13 [Visualization with Plotly](#6213)\n* 6-2-14 [Conclusion](#6214)\n* 6-3 [Data Preprocessing](#63)\n* 6-3-1 [Features](#631)\n* 6-3-2 [Explorer Dataset](#632)\n* 6-4 [Data Cleaning](#64)\n* 7- [Model Deployment](#7)\n* 7-1[ Families of ML algorithms](#71)\n* 7-2[ Prepare Features & Targets](#72)\n* 7-3[ Accuracy and precision](#73)\n* 7-4[ KNN](#74)\n* 7-5 [Radius Neighbors Classifier](#75)\n* 7-6 [Logistic Regression](#76)\n* 7-7 [Passive Aggressive Classifier](#77)\n* 7-8 [Naive Bayes](#78)\n* 7-9 [MultinomialNB](#79)\n* 7-10 [BernoulliNB](#710)\n* 7-11 [SVM](#711)\n* 7-12 [Nu-Support Vector Classification](#712)\n* 7-13 [Linear Support Vector Classification](#713)\n* 7-14 [Decision Tree](#714)\n* 7-15 [ExtraTreeClassifier](#715)\n* 7-16 [Neural network](#716)\n* 7-16-1 [What is a Perceptron?](#7161)\n* 7-17 [RandomForest](#717)\n* 7-18 [Bagging classifier ](#718)\n* 7-19 [AdaBoost classifier](#719)\n* 7-20 [Gradient Boosting Classifier](#720)\n* 7-21 [Linear Discriminant Analysis](#721)\n* 7-22 [Quadratic Discriminant Analysis](#722)\n* 7-23 [Kmeans](#723)\n* 7-24 [Backpropagation](#724)\n* 8- [Conclusion](#8)\n* 9- [References](#9)" + }, + { + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "cell_type": "markdown", + "source": "
\n## 1- Introduction\nThis is a **comprehensive ML techniques with python** , that I have spent for more than two months to complete it.\n\nit is clear that everyone in this community is familiar with IRIS dataset but if you need to review your information about the dataset please visit this [link](https://archive.ics.uci.edu/ml/datasets/iris).\n\nI have tried to help **beginners** in Kaggle how to face machine learning problems. and I think it is a great opportunity for who want to learn machine learning workflow with python completely.\nI have covered most of the methods that are implemented for iris until **2018**, you can start to learn and review your knowledge about ML with a simple dataset and try to learn and memorize the workflow for your journey in Data science world.\n
\n## 1-1 Courses\n\nThere are alot of Online courses that can help you develop your knowledge, here I have just listed some of them:\n\n1. [Machine Learning Certification by Stanford University (Coursera)](https://www.coursera.org/learn/machine-learning/)\n\n2. [Machine Learning A-Z™: Hands-On Python & R In Data Science (Udemy)](https://www.udemy.com/machinelearning/)\n\n3. [Deep Learning Certification by Andrew Ng from deeplearning.ai (Coursera)](https://www.coursera.org/specializations/deep-learning)\n\n4. [Python for Data Science and Machine Learning Bootcamp (Udemy)](Python for Data Science and Machine Learning Bootcamp (Udemy))\n\n5. [Mathematics for Machine Learning by Imperial College London](https://www.coursera.org/specializations/mathematics-machine-learning)\n\n6. [Deep Learning A-Z™: Hands-On Artificial Neural Networks](https://www.udemy.com/deeplearning/)\n\n7. [Complete Guide to TensorFlow for Deep Learning Tutorial with Python](https://www.udemy.com/complete-guide-to-tensorflow-for-deep-learning-with-python/)\n\n8. [Data Science and Machine Learning Tutorial with Python – Hands On](https://www.udemy.com/data-science-and-machine-learning-with-python-hands-on/)\n\n9. [Machine Learning Certification by University of Washington](https://www.coursera.org/specializations/machine-learning)\n\n10. [Data Science and Machine Learning Bootcamp with R](https://www.udemy.com/data-science-and-machine-learning-bootcamp-with-r/)\n\n\n5- [https://www.kaggle.com/startupsci/titanic-data-science-solutions](https://www.kaggle.com/startupsci/titanic-data-science-solutions)\n\n
\n## 1-2 Ebooks\nSo you love reading , here is **10 free machine learning books**\n\n1. [Probability and Statistics for Programmers](http://www.greenteapress.com/thinkstats/)\n\n1. [Bayesian Reasoning and Machine Learning](http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/091117.pdf)\n\n1. [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/)\n\n1. [Understanding Machine Learning](http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/index.html)\n\n1. [A Programmer’s Guide to Data Mining](http://guidetodatamining.com/)\n\n1. [Mining of Massive Datasets](http://infolab.stanford.edu/~ullman/mmds/book.pdf)\n\n1. [A Brief Introduction to Neural Networks](http://www.dkriesel.com/_media/science/neuronalenetze-en-zeta2-2col-dkrieselcom.pdf)\n\n1. [Deep Learning](http://www.deeplearningbook.org/)\n\n1. [Natural Language Processing with Python](https://www.researchgate.net/publication/220691633_Natural_Language_Processing_with_Python)\n\n1. [Machine Learning Yearning](http://www.mlyearning.org/)\n \n
\n \n## 1-3 Cheat Sheets\nData Science is an ever-growing field, there are numerous tools & techniques to remember. It is not possible for anyone to remember all the functions, operations and formulas of each concept. That’s why we have cheat sheets. But there are a plethora of cheat sheets available out there, choosing the right cheat sheet is a tough task. So, I decided to write this article.\n\nHere I have selected the cheat sheets on the following criteria: comprehensiveness, clarity, and content [26]:\n1. [Quick Guide to learn Python for Data Science ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Science-in-Python.pdf)\n1. [Python for Data Science Cheat sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/beginners_python_cheat_sheet.pdf)\n1. [Python For Data Science Cheat Sheet NumPy](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Numpy_Python_Cheat_Sheet.pdf)\n1. [Exploratory Data Analysis in Python]()\n1. [Data Exploration using Pandas in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Exploration-in-Python.pdf)\n1. [Data Visualisation in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/data-visualisation-infographics1.jpg)\n1. [Python For Data Science Cheat Sheet Bokeh](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Python_Bokeh_Cheat_Sheet.pdf)\n1. [Cheat Sheet: Scikit Learn ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Scikit-Learn-Infographic.pdf)\n1. [MLalgorithms CheatSheet](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/MLalgorithms-.pdf)\n1. [Probability Basics Cheat Sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/probability_cheatsheet.pdf)\n\n\nI am open to getting your feedback for improving this **kernel**\n
\n[go to top](#top)" + }, + { + "metadata": { + "_uuid": "e11b73b618b0f6e4335520ef80267c6d577d1ba5" + }, + "cell_type": "markdown", + "source": "
\n## 2- Machine Learning Workflow\nField of \tstudy \tthat \tgives\tcomputers\tthe\tability \tto\tlearn \twithout \tbeing\nexplicitly \tprogrammed.\n\n**Arthur\tSamuel, 1959**\n\nIf you have already read some [machine learning books](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/tree/master/Ebooks). You have noticed that there are different ways to stream data into machine learning.\n\nmost of these books share the following steps (checklist):\n1. Define the Problem(Look at the big picture)\n1. Specify Inputs & Outputs\n1. Data Collection\n1. Exploratory data analysis\n1. Data Preprocessing\n1. Model Design, Training, and Offline Evaluation\n1. Model Deployment, Online Evaluation, and Monitoring\n1. Model Maintenance, Diagnosis, and Retraining\n\n**You can see my workflow in the below image** :\n \n\n**you should\tfeel free\tto\tadapt \tthis\tchecklist \tto\tyour needs**\n
\n[go to top](#top)" + }, + { + "metadata": { + "_uuid": "d8b27260d5ccff025f37490d84bd35bba7eef00a" + }, + "cell_type": "markdown", + "source": "
\n## 2-1 Real world Application Vs Competitions\nJust a simple comparison between real-world apps with competitions:\n" + }, + { + "metadata": { + "_uuid": "600be852c0d28e7c0c5ebb718904ab15a536342c" + }, + "cell_type": "markdown", + "source": "
\n## 3- Problem Definition\nI think one of the important things when you start a new machine learning project is Defining your problem. that means you should understand business problem.( **Problem Formalization**)\n\nProblem Definition has four steps that have illustrated in the picture below:\n\n
\n### 3-1 Problem Feature\nwe will use the classic Iris data set. This dataset contains information about three different types of Iris flowers:\n\n1. Iris Versicolor\n1. Iris Virginica\n1. Iris Setosa\n\nThe data set contains measurements of four variables :\n\n1. sepal length \n1. sepal width\n1. petal length \n1. petal width\n \nThe Iris data set has a number of interesting features:\n\n1. One of the classes (Iris Setosa) is linearly separable from the other two. However, the other two classes are not linearly separable.\n\n2. There is some overlap between the Versicolor and Virginica classes, so it is unlikely to achieve a perfect classification rate.\n\n3. There is some redundancy in the four input variables, so it is possible to achieve a good solution with only three of them, or even (with difficulty) from two, but the precise choice of best variables is not obvious.\n\n**Why am I using iris dataset:**\n\n1- This is a good project because it is so well understood.\n\n2- Attributes are numeric so you have to figure out how to load and handle data.\n\n3- It is a classification problem, allowing you to practice with perhaps an easier type of supervised learning algorithm.\n\n4- It is a multi-class classification problem (multi-nominal) that may require some specialized handling.\n\n5- It only has 4 attributes and 150 rows, meaning it is small and easily fits into memory (and a screen or A4 page).\n\n6- All of the numeric attributes are in the same units and the same scale, not requiring any special scaling or transforms to get started.[5]\n\n7- we can define problem as clustering(unsupervised algorithm) project too.\n
\n### 3-2 Aim\nThe aim is to classify iris flowers among three species (setosa, versicolor or virginica) from measurements of length and width of sepals and petals\n
\n### 3-3 Variables\nThe variables are :\n**sepal_length**: Sepal length, in centimeters, used as input.\n**sepal_width**: Sepal width, in centimeters, used as input.\n**petal_length**: Petal length, in centimeters, used as input.\n**petal_width**: Petal width, in centimeters, used as input.\n**setosa**: Iris setosa, true or false, used as target.\n**versicolour**: Iris versicolour, true or false, used as target.\n**virginica**: Iris virginica, true or false, used as target.\n\n**<< Note >>**\n> You must answer the following question:\nHow does your company expact to use and benfit from your model.\n
\n[go to top](#top)" + }, + { + "metadata": { + "_uuid": "8bb4dfebb521f83543e1d45db3559216dad8f6fb" + }, + "cell_type": "markdown", + "source": "
\n## 4- Inputs & Outputs\n
\n### 4-1 Inputs\n**Iris** is a very popular **classification** and **clustering** problem in machine learning and it is such as \"Hello world\" program when you start learning a new programming language. then I decided to apply Iris on 20 machine learning method on it.\nAs a result, **iris dataset is used as the input of all algorithms**.\n
\n### 4-2 Outputs\nthe outputs for our algorithms totally depend on the type of classification or clustering algorithms.\nthe outputs can be the number of clusters or predict for new input.\n\n**setosa**: Iris setosa, true or false, used as target.\n**versicolour**: Iris versicolour, true or false, used as target.\n**virginica**: Iris virginica, true or false, used as a target." + }, + { + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "cell_type": "markdown", + "source": "
\n## 5 Loading Packages\nIn this kernel we are using the following packages:" + }, + { + "metadata": { + "_uuid": "61f49281fdd8592b44c0867225f57e6fce36342c" + }, + "cell_type": "markdown", + "source": " \n" + }, + { + "metadata": { + "_uuid": "4e28cde75726e3617dc80585626f7f8a1297a9e4" + }, + "cell_type": "markdown", + "source": "
\n### 5-1 Import" + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.model_selection import train_test_split\nfrom sklearn.metrics import classification_report\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.metrics import accuracy_score\nfrom sklearn.decomposition import PCA\nimport matplotlib.pyplot as plt\nfrom pandas import get_dummies\nimport plotly.graph_objs as go\nfrom sklearn import datasets\nimport plotly.plotly as py\nimport seaborn as sns\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport scipy\nimport numpy\nimport json\nimport sys\nimport csv\nimport os", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3c3c434ac82d771c5549c4f36d0e8e878489f252" + }, + "cell_type": "markdown", + "source": "
\n### 5-2 Version" + }, + { + "metadata": { + "trusted": true, + "_uuid": "72fdff866b7cbe404867e82f9122e16fc33facf2", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "08a4b1c5dacef7ad48c95da91c20810c614728d1" + }, + "cell_type": "markdown", + "source": "
\n### 5-3 Setup\n\nA few tiny adjustments for better **code readability**" + }, + { + "metadata": { + "trusted": true, + "_uuid": "eb2175f0f6bb0d2777d3a05247e79399681c3850" + }, + "cell_type": "code", + "source": "sns.set(style='white', context='notebook', palette='deep')\nwarnings.filterwarnings('ignore')\nsns.set_style('white')\nnp.random.seed(1337)\n#show plot inline\n%matplotlib inline", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" + }, + "cell_type": "markdown", + "source": "
\n## 6- Exploratory Data Analysis(EDA)\n In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n \n* Which variables suggest interesting relationships?\n* Which observations are unusual?\n\nBy the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations:\n\n* 5-1 Data Collection\n* 5-2 Visualization\n* 5-3 Data Preprocessing\n* 5-4 Data Cleaning\n" + }, + { + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "cell_type": "markdown", + "source": "
\n## 6-1 Data Collection\n**Iris dataset** consists of 3 different types of irises’ (Setosa, Versicolour, and Virginica) petal and sepal length, stored in a 150x4 numpy.ndarray\n\nThe rows being the samples and the columns being: Sepal Length, Sepal Width, Petal Length and Petal Width.[6]\n" + }, + { + "metadata": { + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# import Dataset to play with it\ndataset = pd.read_csv('../input/Iris.csv')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "cell_type": "markdown", + "source": "**<< Note 1 >>**\n\n* Each row is an observation (also known as : sample, example, instance, record)\n* Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)" + }, + { + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "cell_type": "markdown", + "source": "After loading the data via **pandas**, we should checkout what the content is, description and via the following:" + }, + { + "metadata": { + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type(dataset)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" + }, + "cell_type": "markdown", + "source": "
\n## 6-2 Visualization\n\nWith interactive visualization, you can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data you see and how it’s processed.[SAS]\n\n In this section I show you **+15 plots** with **matplotlib** and **seaborn** that is listed in the blew picture:\n \n
\n[go to top](#top)" + }, + { + "metadata": { + "_uuid": "b0014a7a52e714996bc443981c853095926d20e5" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-1 Scatter plot\n\nScatter plot Purpose To identify the type of relationship (if any) between two quantitative variables\n\n\n" + }, + { + "metadata": { + "_uuid": "af099546eed64ebc796403d4139cb4c977c27b03", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Modify the graph above by assigning each species an individual color.\nsns.FacetGrid(dataset, hue=\"Species\", size=5) \\\n .map(plt.scatter, \"SepalLengthCm\", \"SepalWidthCm\") \\\n .add_legend()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d1c7b62b5f8cba427bca13049256365141655372" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-2 Box\nIn descriptive statistics, a **box plot** or boxplot is a method for graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram.[wikipedia]" + }, + { + "metadata": { + "_uuid": "0655e20f31a582f861d391308a088778cd7eaae9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dataset.plot(kind='box', subplots=True, layout=(2,3), sharex=False, sharey=False)\nplt.figure()\n#This gives us a much clearer idea of the distribution of the input attributes:\n\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f7f6426fd44bcd77d35a5fdbc8c4fc4f18d991ad", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# To plot the species data using a box plot:\n\nsns.boxplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset )\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7b193e4aa7e6fb337d3f65c334849094addd097a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Use Seaborn's striplot to add data points on top of the box plot \n# Insert jitter=True so that the data points remain scattered and not piled into a verticle line.\n# Assign ax to each axis, so that each plot is ontop of the previous axis. \n\nax= sns.boxplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset)\nax= sns.stripplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset, jitter=True, edgecolor=\"gray\")\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "56adbafa89c117118621c72b3b7cb19edc21298e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Tweek the plot above to change fill and border color color using ax.artists.\n# Assing ax.artists a variable name, and insert the box number into the corresponding brackets\n\nax= sns.boxplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset)\nax= sns.stripplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset, jitter=True, edgecolor=\"gray\")\n\nboxtwo = ax.artists[2]\nboxtwo.set_facecolor('red')\nboxtwo.set_edgecolor('black')\nboxthree=ax.artists[1]\nboxthree.set_facecolor('yellow')\nboxthree.set_edgecolor('black')\n\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "743a92c3c2fff1a1f99845518247f7971ad18b7c" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-3 Histogram\nWe can also create a **histogram** of each input variable to get an idea of the distribution.\n\n[go to top](#top)" + }, + { + "metadata": { + "_uuid": "5da0520ed3e738ee8814b2d91843ed4acec2b6e6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# histograms\ndataset.hist(figsize=(15,20))\nplt.figure()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b4e3de19781686010c6038f0e3076eb678398169" + }, + "cell_type": "markdown", + "source": "It looks like perhaps two of the input variables have a Gaussian distribution. This is useful to note as we can use algorithms that can exploit this assumption.\n\n" + }, + { + "metadata": { + "_uuid": "9f80a6e971cbf0af72d659b51af552ea1dddc9a8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dataset[\"PetalLengthCm\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3bbff56707484f88625eb8ef309b712ba03f939e" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-4 Multivariate Plots\nNow we can look at the interactions between the variables.\n\nFirst, let’s look at scatterplots of all pairs of attributes. This can be helpful to spot structured relationships between input variables." + }, + { + "metadata": { + "_uuid": "eb4e5d117e4ef40d7668632f42130206a5537bd0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n# scatter plot matrix\npd.plotting.scatter_matrix(dataset,figsize=(10,10))\nplt.figure()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "de7fea7986071fafbe0b93933e3beda445cbe373" + }, + "cell_type": "markdown", + "source": "Note the diagonal grouping of some pairs of attributes. This suggests a high correlation and a predictable relationship." + }, + { + "metadata": { + "_uuid": "e0f696ec021ec99c1058a62e22c8b73082fe6fa7" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-5 violinplots" + }, + { + "metadata": { + "_uuid": "e352d2f8340609adf4bf6718b1d2ecee0fa730b5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# violinplots on petal-length for each species\nsns.violinplot(data=dataset,x=\"Species\", y=\"PetalLengthCm\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0ed35bceb87051e56316d35a630334518e8b8c64" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-6 pairplot" + }, + { + "metadata": { + "_uuid": "b80350add6f9a742f10bffc4b497562f8bebea95", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Using seaborn pairplot to see the bivariate relation between each pair of features\nsns.pairplot(dataset, hue=\"Species\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fb187bcc0fb51e53f8abe9e3952c6ae5c3177411" + }, + "cell_type": "markdown", + "source": "From the plot, we can see that the species setosa is separataed from the other two across all feature combinations\n\nWe can also replace the histograms shown in the diagonal of the pairplot by kde." + }, + { + "metadata": { + "_uuid": "5570ff32db5a4740b26b244531af552ac1b57f4a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# updating the diagonal elements in a pairplot to show a kde\nsns.pairplot(dataset, hue=\"Species\",diag_kind=\"kde\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2544d3c2dd34a360d295019d8cb597c7ef8f66bc" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-7 kdeplot" + }, + { + "metadata": { + "_uuid": "1d07222b89303b386e9e824d52cc73c045667f25", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# seaborn's kdeplot, plots univariate or bivariate density estimates.\n#Size can be changed by tweeking the value used\nsns.FacetGrid(dataset, hue=\"Species\", size=5).map(sns.kdeplot, \"PetalLengthCm\").add_legend()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "560d8e8f17bacefaf8c3855a9648f26b82fdee9b" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-8 jointplot" + }, + { + "metadata": { + "_uuid": "4adb4da16ea61e0f1a12bc9925dfbbaaa81e0360", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Use seaborn's jointplot to make a hexagonal bin plot\n#Set desired size and ratio and choose a color.\nsns.jointplot(x=\"SepalLengthCm\", y=\"SepalWidthCm\", data=dataset, size=10,ratio=10, kind='hex',color='green')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3768e31e990bfe4c2ff7b45087fbba85e0560d00" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-9 andrews_curves" + }, + { + "metadata": { + "_uuid": "937b6856d109001db14a3ac99568df45efbe1070", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#In Pandas use Andrews Curves to plot and visualize data structure.\n#Each multivariate observation is transformed into a curve and represents the coefficients of a Fourier series.\n#This useful for detecting outliers in times series data.\n#Use colormap to change the color of the curves\n\nfrom pandas.tools.plotting import andrews_curves\nandrews_curves(dataset.drop(\"Id\", axis=1), \"Species\",colormap='rainbow')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "263eaa9d2bfad0f8c68b6e8e874bdc11a6e802ac", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# we will use seaborn jointplot shows bivariate scatterplots and univariate histograms with Kernel density \n# estimation in the same figure\nsns.jointplot(x=\"SepalLengthCm\", y=\"SepalWidthCm\", data=dataset, size=6, kind='kde', color='#800000', space=0)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8e73333289d17dd648b7b2112d7fe3fe7ea444d0" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-10 Heatmap" + }, + { + "metadata": { + "_uuid": "3100955ca9dc61ac7d435e9c064d10d06f26afa7", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure(figsize=(7,4)) \nsns.heatmap(dataset.corr(),annot=True,cmap='cubehelix_r') #draws heatmap with input as the correlation matrix calculted by(iris.corr())\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b81dbdd5dd8cb92a86b1f7114ffb6f088458a527" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-11 radviz" + }, + { + "metadata": { + "_uuid": "33fed3027d7242227d612a84bbb42b012356091b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# A final multivariate visualization technique pandas has is radviz\n# Which puts each feature as a point on a 2D plane, and then simulates\n# having each sample attached to those points through a spring weighted\n# by the relative value for that feature\nfrom pandas.tools.plotting import radviz\nradviz(dataset.drop(\"Id\", axis=1), \"Species\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ab06d1cd799430c7c7f8de978ee2c6e275e7655b" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-12 Bar Plot" + }, + { + "metadata": { + "_uuid": "329488de1a908a6d367b9da4b40a20238163d32e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dataset['Species'].value_counts().plot(kind=\"bar\");", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6a3bad799936695bb0e14b87a611302b2dec8c8a" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-13 Visualization with Plotly" + }, + { + "metadata": { + "trusted": true, + "_uuid": "c5d24af251646fecba7e72e3f90c497fc359250e", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "import plotly.offline as py\nimport plotly.graph_objs as go\npy.init_notebook_mode(connected=True)\nfrom plotly import tools\nimport plotly.figure_factory as ff\niris = datasets.load_iris()\nX = iris.data[:, :2] # we only take the first two features.\nY = iris.target\n\nx_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5\ny_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5\ntrace = go.Scatter(x=X[:, 0],\n y=X[:, 1],\n mode='markers',\n marker=dict(color=np.random.randn(150),\n size=10,\n colorscale='Viridis',\n showscale=False))\n\nlayout = go.Layout(title='Training Points',\n xaxis=dict(title='Sepal length',\n showgrid=False),\n yaxis=dict(title='Sepal width',\n showgrid=False),\n )\n \nfig = go.Figure(data=[trace], layout=layout)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "fab38007b41a033f66f71110decb039f72b1e937", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "py.iplot(fig)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0859caf857ceeb19f4cc47ccd11fbbfdfe4b0dd9" + }, + "cell_type": "markdown", + "source": "**<< Note >>**\n\n**Yellowbrick** is a suite of visual diagnostic tools called “Visualizers” that extend the Scikit-Learn API to allow human steering of the model selection process. In a nutshell, Yellowbrick combines scikit-learn with matplotlib in the best tradition of the scikit-learn documentation, but to produce visualizations for your models! " + }, + { + "metadata": { + "_uuid": "5af51158a5bc342947c553392e3d1665ac24ba62" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-14 Conclusion\nwe have used Python to apply data visualization tools to the Iris dataset. Color and size changes were made to the data points in scatterplots. I changed the border and fill color of the boxplot and violin, respectively." + }, + { + "metadata": { + "_uuid": "91dda1f631cf4ed362162501aaaac6d19cfd6cc7" + }, + "cell_type": "markdown", + "source": "
\n## 6-3 Data Preprocessing\n**Data preprocessing** refers to the transformations applied to our data before feeding it to the algorithm.\n \nData Preprocessing is a technique that is used to convert the raw data into a clean data set. In other words, whenever the data is gathered from different sources it is collected in raw format which is not feasible for the analysis.\nthere are plenty of steps for data preprocessing and we just listed some of them :\n* removing Target column (id)\n* Sampling (without replacement)\n* Making part of iris unbalanced and balancing (with undersampling and SMOTE)\n* Introducing missing values and treating them (replacing by average values)\n* Noise filtering\n* Data discretization\n* Normalization and standardization\n* PCA analysis\n* Feature selection (filter, embedded, wrapper)" + }, + { + "metadata": { + "_uuid": "581b90e6a869c3793472c7edd59091d6d6342fb2" + }, + "cell_type": "markdown", + "source": "
\n## 6-3-1 Features\n**Features**:\n1. numeric\n1. categorical\n1. ordinal\n1. datetime\n1. coordinates\n\nNow could you find the type of features in titanic dataset?\n" + }, + { + "metadata": { + "_uuid": "73ab30f86273b590a51fc363d9bf78c2709558fa" + }, + "cell_type": "markdown", + "source": "
\n### 6-3-2 Explorer Dataset\n1- Dimensions of the dataset.\n\n2- Peek at the data itself.\n\n3- Statistical summary of all attributes.\n\n4- Breakdown of the data by the class variable.[7]\n\nDon’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects." + }, + { + "metadata": { + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# shape\nprint(dataset.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#columns*rows\ndataset.size", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "cell_type": "markdown", + "source": "How many NA elements in every column\n" + }, + { + "metadata": { + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dataset.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e8e124ca20643ad307d9bfdc34328d548c6ddcbc", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# remove rows that have NA's\ndataset = dataset.dropna()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "cell_type": "markdown", + "source": "\nWe can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property.\n\nYou should see 150 instances and 5 attributes:" + }, + { + "metadata": { + "_uuid": "95ee5e18f97bc410df1e54ac74e32cdff2b30755" + }, + "cell_type": "markdown", + "source": "For getting some information about the dataset you can use **info()** command" + }, + { + "metadata": { + "_uuid": "ca840f02925751186f87e402fcb5f637ab1ab8a0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print(dataset.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3458838205be4c7fbff88e95ef69934e13e2199b" + }, + "cell_type": "markdown", + "source": "You see number of unique item for Species with command below:" + }, + { + "metadata": { + "_uuid": "4b90d165a007106ae99809ad28edd75bd8153dd8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dataset['Species'].unique()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8accfbddf2228274ad412c3ad3be72b4107d6f6c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dataset[\"Species\"].value_counts()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "cell_type": "markdown", + "source": "To check the first 5 rows of the data set, we can use head(5)." + }, + { + "metadata": { + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156", + "trusted": true + }, + "cell_type": "code", + "source": "dataset.head(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "cell_type": "markdown", + "source": "To check out last 5 row of the data set, we use tail() function" + }, + { + "metadata": { + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dataset.tail() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "cell_type": "markdown", + "source": "To pop up 5 random rows from the data set, we can use **sample(5)** function" + }, + { + "metadata": { + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dataset.sample(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "cell_type": "markdown", + "source": "To give a statistical summary about the dataset, we can use **describe()" + }, + { + "metadata": { + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dataset.describe() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "031d16ca235837e889734635ecff193be64b27a4" + }, + "cell_type": "markdown", + "source": "To check out how many null info are on the dataset, we can use **isnull().sum()." + }, + { + "metadata": { + "_uuid": "8807b632269e2fa734ad26e8513199400fc09a83", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dataset.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "446e6162e16325213047ff31454813455668b574", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dataset.groupby('Species').count()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + }, + "cell_type": "markdown", + "source": "To print dataset **columns**, we can use columns atribute" + }, + { + "metadata": { + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dataset.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "22bc5d81c18275ee1fb082c0adbb7a65bdbec4cc" + }, + "cell_type": "markdown", + "source": "**<< Note 2 >>**\n
\n> in pandas's data frame you can perform some query such as \"where\"." + }, + { + "metadata": { + "_uuid": "c8c8d9fd63d9bdb601183aeb4f1435affeb8a596", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dataset.where(dataset ['Species']=='Iris-setosa')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "33fc33a18489b438a884819d99dc00a02b113be8" + }, + "cell_type": "markdown", + "source": "As you can see in the below in python, it is so easy perform some query on the dataframe:" + }, + { + "metadata": { + "_uuid": "8b545ff7e8367c5ab9c1db710f70b6936ac8422c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dataset[dataset['SepalLengthCm']>7.2]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1c92b300076a232321c915857d8a7c5685a97865", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Seperating the data into dependent and independent variables\nX = dataset.iloc[:, :-1].values\ny = dataset.iloc[:, -1].values", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "aa882e5bcdc7d5f440489eff75d1d225269655a4" + }, + "cell_type": "markdown", + "source": "**<< Note >>**\n>Preprocessing and generation pipelines depend on a model type." + }, + { + "metadata": { + "_uuid": "8280749a19af32869978c61941d1dea306632d71" + }, + "cell_type": "markdown", + "source": "
\n## 6-4 Data Cleaning\nWhen dealing with real-world data, dirty data is the norm rather than the exception. We continuously need to predict correct values, impute missing ones, and find links between various data artefacts such as schemas and records. We need to stop treating data cleaning as a piecemeal exercise (resolving different types of errors in isolation), and instead leverage all signals and resources (such as constraints, available statistics, and dictionaries) to accurately predict corrective actions." + }, + { + "metadata": { + "_uuid": "60dcf563b3a637f4836d5d3487b15a8f444caf53", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "cols = dataset.columns\nfeatures = cols[0:4]\nlabels = cols[4]\nprint(features)\nprint(labels)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "180b76d9afa9d51cbe05e38a128d7f1f63e6da26", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#Well conditioned data will have zero mean and equal variance\n#We get this automattically when we calculate the Z Scores for the data\n\ndata_norm = pd.DataFrame(dataset)\n\nfor feature in features:\n dataset[feature] = (dataset[feature] - dataset[feature].mean())/dataset[feature].std()\n\n#Show that should now have zero mean\nprint(\"Averages\")\nprint(dataset.mean())\n\nprint(\"\\n Deviations\")\n#Show that we have equal variance\nprint(pow(dataset.std(),2))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c40ac6be7f6cff60f81e97478662817ef6ae1ef4", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#Shuffle The data\nindices = data_norm.index.tolist()\nindices = np.array(indices)\nnp.random.shuffle(indices)\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d260748e8e388fe03be57a8a120be513710a26c0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# One Hot Encode as a dataframe\nfrom sklearn.model_selection import train_test_split\ny = get_dummies(y)\n\n# Generate Training and Validation Sets\nX_train, X_test, y_train, y_test = train_test_split(X,y, test_size=.3)\n\n# Convert to np arrays so that we can use with TensorFlow\nX_train = np.array(X_train).astype(np.float32)\nX_test = np.array(X_test).astype(np.float32)\ny_train = np.array(y_train).astype(np.float32)\ny_test = np.array(y_test).astype(np.float32)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "94ff73f511d1aea70025681c4c04200bf2973dcc", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#Check to make sure split still has 4 features and 3 labels\nprint(X_train.shape, y_train.shape)\nprint(X_test.shape, y_test.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "72cc7c7b60a33390a85b16bc34e3b9e424650cdd" + }, + "cell_type": "markdown", + "source": "
\n## 7- Model Deployment\nIn this section have been applied more than **20 learning algorithms** that play an important rule in your experiences and improve your knowledge in case of ML technique.\n\n> **<< Note 3 >>** : The results shown here may be slightly different for your analysis because, for example, the neural network algorithms use random number generators for fixing the initial value of the weights (starting points) of the neural networks, which often result in obtaining slightly different (local minima) solutions each time you run the analysis. Also note that changing the seed for the random number generator used to create the train, test, and validation samples can change your results." + }, + { + "metadata": { + "_uuid": "4b7788bbaaace438242d3b2d0d2ed489a91939ce" + }, + "cell_type": "markdown", + "source": "
\n## 7-1 Families of ML algorithms\nThere are several categories for machine learning algorithms, below are some of these categories:\n* Linear\n * Linear Regression\n * Logistic Regression\n * Support Vector Machines\n* Tree-Based\n * Decision Tree\n * Random Forest\n * GBDT\n* KNN\n* Neural Networks\n\n-----------------------------\nAnd if we want to categorize ML algorithms with the type of learning, there are below type:\n* Classification\n\n * k-Nearest \tNeighbors\n * LinearRegression\n * SVM\n * DT \n * NN\n \n* clustering\n\n * K-means\n * HCA\n * Expectation Maximization\n \n* Visualization \tand\tdimensionality \treduction:\n\n * Principal \tComponent \tAnalysis(PCA)\n * Kernel PCA\n * Locally -Linear\tEmbedding \t(LLE)\n * t-distributed\tStochastic\tNeighbor\tEmbedding \t(t-SNE)\n \n* Association \trule\tlearning\n\n * Apriori\n * Eclat\n* Semisupervised learning\n* Reinforcement Learning\n * Q-learning\n* Batch learning & Online learning\n* Ensemble Learning\n\n**<< Note >>**\n> Here is no method which outperforms all others for all tasks\n\n" + }, + { + "metadata": { + "_uuid": "daf9910caba26e071ff560dbdaca079ee148e140" + }, + "cell_type": "markdown", + "source": "
\n## 7-2 Prepare Features & Targets\nFirst of all seperating the data into dependent(Feature) and independent(Target) variables.\n\n**<< Note 4 >>**\n1. X==>>Feature\n1. y==>>Target" + }, + { + "metadata": { + "_uuid": "b06cb1191a0f52a904c52a918d1f999536e79bda", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\nX = dataset.iloc[:, :-1].values\ny = dataset.iloc[:, -1].values\n\n# Splitting the dataset into the Training set and Test set\nfrom sklearn.model_selection import train_test_split\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d13f167dd92888d856c4ad2ff2895bf4855e361c" + }, + "cell_type": "markdown", + "source": "
\n## 7-3 Accuracy and precision\n1. **precision** : \n\n 1. In pattern recognition, information retrieval and binary classification, precision (also called positive predictive value) is the fraction of relevant instances among the retrieved instances, \n1. **recall** : \n\n 1. recall is the fraction of relevant instances that have been retrieved over the total amount of relevant instances. \n1. **F-score** :\n\n 1. the F1 score is a measure of a test's accuracy. It considers both the precision p and the recall r of the test to compute the score: p is the number of correct positive results divided by the number of all positive results returned by the classifier, and r is the number of correct positive results divided by the number of all relevant samples (all samples that should have been identified as positive). The F1 score is the harmonic average of the precision and recall, where an F1 score reaches its best value at 1 (perfect precision and recall) and worst at 0.\n
\n1. **What is the difference between accuracy and precision?**\n
\n 1. \"Accuracy\" and \"precision\" are general terms throughout science. A good way to internalize the difference are the common \"bullseye diagrams\". In machine learning/statistics as a whole, accuracy vs. precision is analogous to bias vs. variance." + }, + { + "metadata": { + "_uuid": "b8b544762cc789bfeb8ebccd6765f77b9c7e1a0f" + }, + "cell_type": "markdown", + "source": "
\n## 7-4 K-Nearest Neighbours\nIn **Machine Learning**, the **k-nearest neighbors algorithm** (k-NN) is a non-parametric method used for classification and regression. In both cases, the input consists of the k closest training examples in the feature space. The output depends on whether k-NN is used for classification or regression:\n\nIn k-NN classification, the output is a class membership. An object is classified by a majority vote of its neighbors, with the object being assigned to the class most common among its k nearest neighbors (k is a positive integer, typically small). If k = 1, then the object is simply assigned to the class of that single nearest neighbor.\nIn k-NN regression, the output is the property value for the object. This value is the average of the values of its k nearest neighbors.\nk-NN is a type of instance-based learning, or lazy learning, where the function is only approximated locally and all computation is deferred until classification. The k-NN algorithm is among the simplest of all machine learning algorithms." + }, + { + "metadata": { + "_uuid": "eaa2caacfbc319932f79c75c549364089d1e649f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# K-Nearest Neighbours\nfrom sklearn.neighbors import KNeighborsClassifier\n\nModel = KNeighborsClassifier(n_neighbors=8)\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e01bbec9f80532e30c6cf26d5c3fffffb5ea01d4" + }, + "cell_type": "markdown", + "source": "
\n## 7-5 Radius Neighbors Classifier\nClassifier implementing a **vote** among neighbors within a given **radius**\n\nIn scikit-learn **RadiusNeighborsClassifier** is very similar to **KNeighborsClassifier** with the exception of two parameters. First, in RadiusNeighborsClassifier we need to specify the radius of the fixed area used to determine if an observation is a neighbor using radius. Unless there is some substantive reason for setting radius to some value, it is best to treat it like any other hyperparameter and tune it during model selection. The second useful parameter is outlier_label, which indicates what label to give an observation that has no observations within the radius - which itself can often be a useful tool for identifying outliers." + }, + { + "metadata": { + "_uuid": "7728fdafa163e068668cea92cf8d79306b41d458", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.neighbors import RadiusNeighborsClassifier\nModel=RadiusNeighborsClassifier(radius=8.0)\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\n#summary of the predictions made by the classifier\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_test,y_pred))\n#Accouracy score\nprint('accuracy is ', accuracy_score(y_test,y_pred))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e55a785373bf654e0d4b2a78693fab1c8a625acb" + }, + "cell_type": "markdown", + "source": "
\n## 7-6 Logistic Regression\nLogistic regression is the appropriate regression analysis to conduct when the dependent variable is **dichotomous** (binary). Like all regression analyses, the logistic regression is a **predictive analysis**.\n\nIn statistics, the logistic model (or logit model) is a widely used statistical model that, in its basic form, uses a logistic function to model a binary dependent variable; many more complex extensions exist. In regression analysis, logistic regression (or logit regression) is estimating the parameters of a logistic model; it is a form of binomial regression. Mathematically, a binary logistic model has a dependent variable with two possible values, such as pass/fail, win/lose, alive/dead or healthy/sick; these are represented by an indicator variable, where the two values are labeled \"0\" and \"1\"" + }, + { + "metadata": { + "_uuid": "55eb348cf69272192274cd0728a123796b459b55", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# LogisticRegression\nfrom sklearn.linear_model import LogisticRegression\nModel = LogisticRegression()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c0a1c2ccaa4f6e9c5e2e42c47a295ceef7abd3b9" + }, + "cell_type": "markdown", + "source": "
\n## 7-7 Passive Aggressive Classifier" + }, + { + "metadata": { + "_uuid": "d509b2111a143660dd5cb1f02ea2779e38295b77", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.linear_model import PassiveAggressiveClassifier\nModel = PassiveAggressiveClassifier()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "52938b49082dac7b35dc627828838bf12924cc7f" + }, + "cell_type": "markdown", + "source": "
\n## 7-8 Naive Bayes\nIn machine learning, naive Bayes classifiers are a family of simple \"**probabilistic classifiers**\" based on applying Bayes' theorem with strong (naive) independence assumptions between the features." + }, + { + "metadata": { + "_uuid": "522d4a3fa874950d0850a5a9a4178ec763781ec3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Naive Bayes\nfrom sklearn.naive_bayes import GaussianNB\nModel = GaussianNB()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e530d18ab308e36d575806583e534cc07fe61c61" + }, + "cell_type": "markdown", + "source": "
\n## 7-9 BernoulliNB\nLike MultinomialNB, this classifier is suitable for **discrete data**. The difference is that while MultinomialNB works with occurrence counts, BernoulliNB is designed for binary/boolean features." + }, + { + "metadata": { + "_uuid": "e7051b5e9aa144b74e9913cb2a6668832e7f3e02", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# BernoulliNB\nfrom sklearn.naive_bayes import BernoulliNB\nModel = BernoulliNB()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "386d2d0e4fc7f5dc2b9298226d8e2ecfb7150346" + }, + "cell_type": "markdown", + "source": "
\n## 7-10 SVM\n\nThe advantages of support vector machines are:\n* Effective in high dimensional spaces.\n* Still effective in cases where number of dimensions is greater than the number of samples. \n* Uses a subset of training points in the decision function (called support vectors), so it is also memory efficient.\n* Versatile: different Kernel functions can be specified for the decision function. Common kernels are provided, but it is also possible to specify custom kernels.\n\nThe disadvantages of support vector machines include:\n\n* If the number of features is much greater than the number of samples, avoid over-fitting in choosing Kernel functions and regularization term is crucial.\n* SVMs do not directly provide probability estimates, these are calculated using an expensive five-fold cross-validation" + }, + { + "metadata": { + "_uuid": "a44a5a43945404c95863668c2ba099f6032357f8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Support Vector Machine\nfrom sklearn.svm import SVC\n\nModel = SVC()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b1d092cc03dcaa712f4fe4ec6867b292321377d5" + }, + "cell_type": "markdown", + "source": "
\n## 7-11 Nu-Support Vector Classification\n\n> Similar to SVC but uses a parameter to control the number of support vectors." + }, + { + "metadata": { + "_uuid": "2fa7c9a5bef780adb400bd9ad83d030f83a8d2b3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Support Vector Machine's \nfrom sklearn.svm import NuSVC\n\nModel = NuSVC()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5d07a75e83251ddbf8cfdfd11c9faa2671ad87ff" + }, + "cell_type": "markdown", + "source": "
\n## 7-12 Linear Support Vector Classification\n\nSimilar to **SVC** with parameter kernel=’linear’, but implemented in terms of liblinear rather than libsvm, so it has more flexibility in the choice of penalties and loss functions and should scale better to large numbers of samples." + }, + { + "metadata": { + "_uuid": "7e7275f160f2e4e270200eaa01c13be5cb465142", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Linear Support Vector Classification\nfrom sklearn.svm import LinearSVC\n\nModel = LinearSVC()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cec81c9e0c3bc6afba07811a321b5383a0f823f3" + }, + "cell_type": "markdown", + "source": "
\n## 7-13 Decision Tree\nDecision Trees (DTs) are a non-parametric supervised learning method used for **classification** and **regression**. The goal is to create a model that predicts the value of a target variable by learning simple **decision rules** inferred from the data features." + }, + { + "metadata": { + "_uuid": "10e25ad67f7c25a8654637d4ba496b64121d67d0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Decision Tree's\nfrom sklearn.tree import DecisionTreeClassifier\n\nModel = DecisionTreeClassifier()\n\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a7d897130fd705943764e924bbe468c99b7c036a" + }, + "cell_type": "markdown", + "source": "
\n## 7-14 ExtraTreeClassifier\nAn extremely randomized tree classifier.\n\nExtra-trees differ from classic decision trees in the way they are built. When looking for the best split to separate the samples of a node into two groups, random splits are drawn for each of the **max_features** randomly selected features and the best split among those is chosen. When max_features is set 1, this amounts to building a totally random decision tree.\n\n**Warning**: Extra-trees should only be used within ensemble methods." + }, + { + "metadata": { + "_uuid": "5a775006a814b6aacdcc07dc46995eb291b873f1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# ExtraTreeClassifier\nfrom sklearn.tree import ExtraTreeClassifier\n\nModel = ExtraTreeClassifier()\n\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "48f940f73580a2997d75f22eba09d938c86a1a97" + }, + "cell_type": "markdown", + "source": "
\n## 7-15 Neural network\n\nI have used multi-layer Perceptron classifier.\nThis model optimizes the log-loss function using **LBFGS** or **stochastic gradient descent**." + }, + { + "metadata": { + "_uuid": "1c10482510f654878f93b573dc1abe4112b861eb" + }, + "cell_type": "markdown", + "source": "
\n## 7-15-1 What is a Perceptron?" + }, + { + "metadata": { + "_uuid": "a94d82b497cbe543da0a637ecfed6e9e8b7569e7" + }, + "cell_type": "markdown", + "source": "There are many online examples and tutorials on perceptrons and learning. Here is a list of some articles:\n- [Wikipedia on Perceptrons](https://en.wikipedia.org/wiki/Perceptron)\n- Jurafsky and Martin (ed. 3), Chapter 8" + }, + { + "metadata": { + "_uuid": "e8e4da1a0b3d51a5fff38750fb4631ac3aa7eebb" + }, + "cell_type": "markdown", + "source": "This is an example that I have taken from a draft of the 3rd edition of Jurafsky and Martin, with slight modifications:\nWe import *numpy* and use its *exp* function. We could use the same function from the *math* module, or some other module like *scipy*. The *sigmoid* function is defined as in the textbook:\n" + }, + { + "metadata": { + "_uuid": "196e5a54ed0de712e2254e77439051267cad4b3d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "import numpy as np\n\ndef sigmoid(z):\n return 1 / (1 + np.exp(-z))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9aa207d0bb6a7342932406d8fa68cbd49be866b5" + }, + "cell_type": "markdown", + "source": "Our example data, **weights** $w$, **bias** $b$, and **input** $x$ are defined as:" + }, + { + "metadata": { + "_uuid": "69cae82df8a906ad43594464c6497e05e282dcd1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "w = np.array([0.2, 0.3, 0.8])\nb = 0.5\nx = np.array([0.5, 0.6, 0.1])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8cd5da02c0fc0beedd9a3417e399982293d28fd2" + }, + "cell_type": "markdown", + "source": "Our neural unit would compute $z$ as the **dot-product** $w \\cdot x$ and add the **bias** $b$ to it. The sigmoid function defined above will convert this $z$ value to the **activation value** $a$ of the unit:" + }, + { + "metadata": { + "_uuid": "65d083572bf2cc897d816765db05758b107741ff", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "z = w.dot(x) + b\nprint(\"z:\", z)\nprint(\"a:\", sigmoid(z))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9e9101a20c9a167a1d925f3b64aafb94317155e2" + }, + "cell_type": "markdown", + "source": "
\n### 7-15-2 The XOR Problem\nThe power of neural units comes from combining them into larger networks. Minsky and Papert (1969): A single neural unit cannot compute the simple logical function XOR.\n\nThe task is to implement a simple **perceptron** to compute logical operations like AND, OR, and XOR.\n\n- Input: $x_1$ and $x_2$\n- Bias: $b = -1$ for AND; $b = 0$ for OR\n- Weights: $w = [1, 1]$\n\nwith the following activation function:\n\n$$\ny = \\begin{cases}\n \\ 0 & \\quad \\text{if } w \\cdot x + b \\leq 0\\\\\n \\ 1 & \\quad \\text{if } w \\cdot x + b > 0\n \\end{cases}\n$$" + }, + { + "metadata": { + "_uuid": "c03b3a6a5307cc53e637afd6da5c307c985be7ac" + }, + "cell_type": "markdown", + "source": "We can define this activation function in Python as:" + }, + { + "metadata": { + "_uuid": "7b0832df65fc1aa694a1cf67b8713c894b1ed2a2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def activation(z):\n if z > 0:\n return 1\n return 0", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "27ae56a47bd180ebbfd82b3f0242c8078db6ac97" + }, + "cell_type": "markdown", + "source": "For AND we could implement a perceptron as:" + }, + { + "metadata": { + "_uuid": "3267d3f1a2864f29ff2382a2057b0b88fa74b649", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "w = np.array([1, 1])\nb = -1\nx = np.array([0, 0])\nprint(\"0 AND 0:\", activation(w.dot(x) + b))\nx = np.array([1, 0])\nprint(\"1 AND 0:\", activation(w.dot(x) + b))\nx = np.array([0, 1])\nprint(\"0 AND 1:\", activation(w.dot(x) + b))\nx = np.array([1, 1])\nprint(\"1 AND 1:\", activation(w.dot(x) + b))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "dbee1f41f0bd66613f5b49e0f65be4bfd9f91283" + }, + "cell_type": "markdown", + "source": "For OR we could implement a perceptron as:" + }, + { + "metadata": { + "_uuid": "bf47440fb2f5a0fb016286f0a3a41a05a8416495", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "w = np.array([1, 1])\nb = 0\nx = np.array([0, 0])\nprint(\"0 OR 0:\", activation(w.dot(x) + b))\nx = np.array([1, 0])\nprint(\"1 OR 0:\", activation(w.dot(x) + b))\nx = np.array([0, 1])\nprint(\"0 OR 1:\", activation(w.dot(x) + b))\nx = np.array([1, 1])\nprint(\"1 OR 1:\", activation(w.dot(x) + b))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "181068ef1b8e1ba568093184c41a118b4c0bfe7f" + }, + "cell_type": "markdown", + "source": "There is no way to implement a perceptron for XOR this way." + }, + { + "metadata": { + "_uuid": "d12494da861ea094378c7cf6a3409803fb5585ac" + }, + "cell_type": "markdown", + "source": "no see our prediction for iris" + }, + { + "metadata": { + "_uuid": "5f040cfaeb71f8caa94e4d7f18cccde8d2a0b8a7", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.neural_network import MLPClassifier\nModel=MLPClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\n# Summary of the predictions\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_test,y_pred))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ffc339dbf9c8da74194b994930694bd97bb2afbb" + }, + "cell_type": "markdown", + "source": "
\n## 7-16 RandomForest\nA random forest is a meta estimator that **fits a number of decision tree classifiers** on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting. \n\nThe sub-sample size is always the same as the original input sample size but the samples are drawn with replacement if bootstrap=True (default)." + }, + { + "metadata": { + "_uuid": "8ed2305b51c2248a8aa62cf4452632f448e83771", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import RandomForestClassifier\nModel=RandomForestClassifier(max_depth=2)\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1311eb15f2afceed2219faeb859d0d07b7072176" + }, + "cell_type": "markdown", + "source": "
\n## 7-17 Bagging classifier \nA Bagging classifier is an ensemble **meta-estimator** that fits base classifiers each on random subsets of the original dataset and then aggregate their individual predictions (either by voting or by averaging) to form a final prediction. Such a meta-estimator can typically be used as a way to reduce the variance of a black-box estimator (e.g., a decision tree), by introducing randomization into its construction procedure and then making an ensemble out of it.\n\nThis algorithm encompasses several works from the literature. When random subsets of the dataset are drawn as random subsets of the samples, then this algorithm is known as Pasting . If samples are drawn with replacement, then the method is known as Bagging . When random subsets of the dataset are drawn as random subsets of the features, then the method is known as Random Subspaces . Finally, when base estimators are built on subsets of both samples and features, then the method is known as Random Patches .[http://scikit-learn.org]" + }, + { + "metadata": { + "_uuid": "c11c731d3db6c1c81301da85dc158cb7d324c4cb", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import BaggingClassifier\nModel=BaggingClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c0944bd32424f38906148d96f4b1e6fccfbf97a6" + }, + "cell_type": "markdown", + "source": "
\n## 7-18 AdaBoost classifier\n\nAn AdaBoost classifier is a meta-estimator that begins by fitting a classifier on the original dataset and then fits additional copies of the classifier on the same dataset but where the weights of incorrectly classified instances are adjusted such that subsequent classifiers focus more on difficult cases.\nThis class implements the algorithm known as **AdaBoost-SAMME** ." + }, + { + "metadata": { + "_uuid": "938946ee8e017b982c4c06e193d4d13cb7d3fb5f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import AdaBoostClassifier\nModel=AdaBoostClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9d62842d12731d3eb1d6577c5b35c12c4886c708" + }, + "cell_type": "markdown", + "source": "
\n## 7-19 Gradient Boosting Classifier\nGB builds an additive model in a forward stage-wise fashion; it allows for the optimization of arbitrary differentiable loss functions." + }, + { + "metadata": { + "_uuid": "863124561c0d1b5995d0b8d3702daa7bc364d6b0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import GradientBoostingClassifier\nModel=GradientBoostingClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e89b4494bd78c2d66beeba34a4e320fd8c9dae0c" + }, + "cell_type": "markdown", + "source": "
\n## 7-20 Linear Discriminant Analysis\nLinear Discriminant Analysis (discriminant_analysis.LinearDiscriminantAnalysis) and Quadratic Discriminant Analysis (discriminant_analysis.QuadraticDiscriminantAnalysis) are two classic classifiers, with, as their names suggest, a **linear and a quadratic decision surface**, respectively.\n\nThese classifiers are attractive because they have closed-form solutions that can be easily computed, are inherently multiclass, have proven to work well in practice, and have no **hyperparameters** to tune." + }, + { + "metadata": { + "_uuid": "0796cd9f1c902345df605b7557a9c3ff686e35a9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.discriminant_analysis import LinearDiscriminantAnalysis\nModel=LinearDiscriminantAnalysis()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "296137970fc94fa4a4eb4185cb5fa952b1985c57" + }, + "cell_type": "markdown", + "source": "
\n## 7-21 Quadratic Discriminant Analysis\nA classifier with a quadratic decision boundary, generated by fitting class conditional densities to the data and using Bayes’ rule.\n\nThe model fits a **Gaussian** density to each class." + }, + { + "metadata": { + "_uuid": "5f521d19f295b8e8f24f5715e93b1c45e9a6bce3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis\nModel=QuadraticDiscriminantAnalysis()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0518634bf8850ac1bfcfc301e93a8740e1995c3a" + }, + "cell_type": "markdown", + "source": "
\n## 7-22 Kmeans \nK-means clustering is a type of unsupervised learning, which is used when you have unlabeled data (i.e., data without defined categories or groups). \n\nThe goal of this algorithm is **to find groups in the data**, with the number of groups represented by the variable K. The algorithm works iteratively to assign each data point to one of K groups based on the features that are provided.\n\n" + }, + { + "metadata": { + "_uuid": "427f08af02fc7288a5e35de5ff4b6c33b8fce491", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.cluster import KMeans\niris_SP = dataset[['SepalLengthCm','SepalWidthCm','PetalLengthCm','PetalWidthCm']]\n# k-means cluster analysis for 1-15 clusters \nfrom scipy.spatial.distance import cdist\nclusters=range(1,15)\nmeandist=[]\n\n# loop through each cluster and fit the model to the train set\n# generate the predicted cluster assingment and append the mean \n# distance my taking the sum divided by the shape\nfor k in clusters:\n model=KMeans(n_clusters=k)\n model.fit(iris_SP)\n clusassign=model.predict(iris_SP)\n meandist.append(sum(np.min(cdist(iris_SP, model.cluster_centers_, 'euclidean'), axis=1))\n / iris_SP.shape[0])\n\n\"\"\"\nPlot average distance from observations from the cluster centroid\nto use the Elbow Method to identify number of clusters to choose\n\"\"\"\nplt.plot(clusters, meandist)\nplt.xlabel('Number of clusters')\nplt.ylabel('Average distance')\nplt.title('Selecting k with the Elbow Method') \n# pick the fewest number of clusters that reduces the average distance\n# If you observe after 3 we can see graph is almost linear", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cef1144c091641f2dfe71d7e77a72c2bb80ca74f" + }, + "cell_type": "markdown", + "source": "
\n## 7-23- Backpropagation" + }, + { + "metadata": { + "_uuid": "12549f818ad49bb4e456772c96acdf8c7c8a7764" + }, + "cell_type": "markdown", + "source": "Backpropagation is a method used in artificial neural networks to calculate a gradient that is needed in the calculation of the weights to be used in the network.It is commonly used to train deep neural networks,a term referring to neural networks with more than one hidden layer." + }, + { + "metadata": { + "_uuid": "4ffbb0de42d9591f1466bae537e18c3e77ab96cf" + }, + "cell_type": "markdown", + "source": "In this example we will use a very simple network to start with. The network will only have one input and one output layer. We want to make the following predictions from the input:\n\n| Input | Output |\n| ------ |:------:|\n| 0 0 1 | 0 |\n| 1 1 1 | 1 |\n| 1 0 1 | 1 |\n| 0 1 1 | 0 |" + }, + { + "metadata": { + "_uuid": "8cb07258af41ffde3ffae4aae6fc3d2dbe9be5ca" + }, + "cell_type": "markdown", + "source": "We will use **Numpy** to compute the network parameters, weights, activation, and outputs:" + }, + { + "metadata": { + "_uuid": "9b5c9c7115e49cdb5c3c8428399e2508687efa47" + }, + "cell_type": "markdown", + "source": "We will use the *[Sigmoid](http://ml-cheatsheet.readthedocs.io/en/latest/activation_functions.html#sigmoid)* activation function:" + }, + { + "metadata": { + "_uuid": "8422345e9e9c1853acba702d0d7138e3a209f0e8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def sigmoid(z):\n \"\"\"The sigmoid activation function.\"\"\"\n return 1 / (1 + np.exp(-z))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1eec604fbe5729fecabfc4101a7b4887bf390876" + }, + "cell_type": "markdown", + "source": "We could use the [ReLU](http://ml-cheatsheet.readthedocs.io/en/latest/activation_functions.html#activation-relu) activation function instead:" + }, + { + "metadata": { + "_uuid": "557945abedb17c571926af334d5469b4edf12b48", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def relu(z):\n \"\"\"The ReLU activation function.\"\"\"\n return max(0, z)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f405e20e385bc594337a59deba1c7d8d7769349d" + }, + "cell_type": "markdown", + "source": "The [Sigmoid](http://ml-cheatsheet.readthedocs.io/en/latest/activation_functions.html#sigmoid) activation function introduces non-linearity to the computation. It maps the input value to an output value between $0$ and $1$." + }, + { + "metadata": { + "_uuid": "d388972329e79c533e7a8b90a2cfed18e288e4e5" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "a6881ae9a1a8554739f9464119d14875beaaf8ad" + }, + "cell_type": "markdown", + "source": "The derivative of the sigmoid function is maximal at $x=0$ and minimal for lower or higher values of $x$:" + }, + { + "metadata": { + "_uuid": "dfb7cad18d4509840dea33c4aff0e6de8a6cf86b" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "616e01ca7ed747aeb817707cbd14c57a92f31553" + }, + "cell_type": "markdown", + "source": "The *sigmoid_prime* function returns the derivative of the sigmoid for any given $z$. The derivative of the sigmoid is $z * (1 - z)$. This is basically the slope of the sigmoid function at any given point: " + }, + { + "metadata": { + "_uuid": "d4be4a6c8353a98c55eba479f520cbdeecc29f1d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def sigmoid_prime(z):\n \"\"\"The derivative of sigmoid for z.\"\"\"\n return z * (1 - z)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3be8c0c576f52ec92539039615a0b4ffe5248f57" + }, + "cell_type": "markdown", + "source": "We define the inputs as rows in *X*. There are three input nodes (three columns per vector in $X$. Each row is one trainig example:" + }, + { + "metadata": { + "_uuid": "14fa62c6d5ac721998095f5b556610e0984eea98", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "X = np.array([ [ 0, 0, 1 ],\n [ 0, 1, 1 ],\n [ 1, 0, 1 ],\n [ 1, 1, 1 ] ])\nprint(X)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3f32526b2e047abdda2a1d1d611f1cf7f188f2e9" + }, + "cell_type": "markdown", + "source": "The outputs are stored in *y*, where each row represents the output for the corresponding input vector (row) in *X*. The vector is initiated as a single row vector and with four columns and transposed (using the $.T$ method) into a column vector with four rows:" + }, + { + "metadata": { + "_uuid": "dbd824213ef3fe2dd7eb01d4b4396d816bf002d3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "y = np.array([[0,0,1,1]]).T\nprint(y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5e6e2ad9b6539e5c3d6aff5cf2db5f44c0f2611e" + }, + "cell_type": "markdown", + "source": "To make the outputs deterministic, we seed the random number generator with a constant. This will guarantee that every time you run the code, you will get the same random distribution:" + }, + { + "metadata": { + "_uuid": "6a441227d4cd02b6654e7800cb823e8eef62ff1d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.random.seed(1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7cc15f07e9c4a15ec48265dd70f1e60e292f6485" + }, + "cell_type": "markdown", + "source": "We create a weight matrix ($Wo$) with randomly initialized weights:" + }, + { + "metadata": { + "_uuid": "f1be1de240c6e7b718def61d73d5b7b4f770b54a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "n_inputs = 3\nn_outputs = 1\n#Wo = 2 * np.random.random( (n_inputs, n_outputs) ) - 1\nWo = np.random.random( (n_inputs, n_outputs) ) * np.sqrt(2.0/n_inputs)\nprint(Wo)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f690ef1844d5344c2513381b6169f3bfe6080714" + }, + "cell_type": "markdown", + "source": "The reason for the output weight matrix ($Wo$) to have 3 rows and 1 column is that it represents the weights of the connections from the three input neurons to the single output neuron. The initialization of the weight matrix is random with a mean of $0$ and a variance of $1$. There is a good reason for chosing a mean of zero in the weight initialization. See for details the section on Weight Initialization in the [Stanford course CS231n on Convolutional Neural Networks for Visual Recognition](https://cs231n.github.io/neural-networks-2/#init)." + }, + { + "metadata": { + "_uuid": "4b87807dc117e0908ec98b4e54843dc8f29c7397" + }, + "cell_type": "markdown", + "source": "The core representation of this network is basically the weight matrix *Wo*. The rest, input matrix, output vector and so on are components that we need to learning and evaluation. The leraning result is stored in the *Wo* weight matrix." + }, + { + "metadata": { + "_uuid": "fb1319477d80a209e9caa3129b6371d872dab29b" + }, + "cell_type": "markdown", + "source": "We loop in the optimization and learning cycle 10,000 times. In the *forward propagation* line we process the entire input matrix for training. This is called **full batch** training. I do not use an alternative variable name to represent the input layer, instead I use the input matrix $X$ directly here. Think of this as the different inputs to the input neurons computed at once. In principle the input or training data could have many more training examples, the code would stay the same." + }, + { + "metadata": { + "_uuid": "45907fc6c64b83116860d2c3dab8d252fd470c3e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "for n in range(10000):\n # forward propagation\n l1 = sigmoid(np.dot(X, Wo))\n \n # compute the loss\n l1_error = y - l1\n #print(\"l1_error:\\n\", l1_error)\n \n # multiply the loss by the slope of the sigmoid at l1\n l1_delta = l1_error * sigmoid_prime(l1)\n #print(\"l1_delta:\\n\", l1_delta)\n \n #print(\"error:\", l1_error, \"\\nderivative:\", sigmoid(l1, True), \"\\ndelta:\", l1_delta, \"\\n\", \"-\"*10, \"\\n\")\n # update weights\n Wo += np.dot(X.T, l1_delta)\n\nprint(\"l1:\\n\", l1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6d887640b00bf8d73c4544ef23d11c296ff15154" + }, + "cell_type": "markdown", + "source": "The dots in $l1$ represent the lines in the graphic below. The lines represent the slope of the sigmoid in the particular position. The slope is highest with a value $x = 0$ (blue dot). It is rather shallow with $x = 2$ (green dot), and not so shallow and not as high with $x = -1$. All derivatives are between $0$ and $1$, of course, that is, no slope or a maximal slope of $1$. There is no negative slope in a sigmoid function." + }, + { + "metadata": { + "_uuid": "01ea3085bf5e9dd4babee8437895735c9aa54763" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "c0cfdf91801ec2bbffc34a7a95f6e899ed7a39fc" + }, + "cell_type": "markdown", + "source": "The matrix $l1\\_error$ is a 4 by 1 matrix (4 rows, 1 column). The derivative matrix $sigmoid\\_prime(l1)$ is also a 4 by one matrix. The returned matrix of the element-wise product $l1\\_delta$ is also the 4 by 1 matrix." + }, + { + "metadata": { + "_uuid": "5349a8fcd505990baa71481697397cef4f2176fb" + }, + "cell_type": "markdown", + "source": "The product of the error and the slopes **reduces the error of high confidence predictions**. When the sigmoid slope is very shallow, the network had a very high or a very low value, that is, it was rather confident. If the network guessed something close to $x=0, y=0.5$, it was not very confident. Such predictions without confidence are updated most significantly. The other peripheral scores are multiplied with a number closer to $0$." + }, + { + "metadata": { + "_uuid": "057f51f99a2a87073013e9e2b9f5538c98297cf3" + }, + "cell_type": "markdown", + "source": "In the prediction line $l1 = sigmoid(np.dot(X, Wo))$ we compute the dot-product of the input vectors with the weights and compute the sigmoid on the sums.\nThe result of the dot-product is the number of rows of the first matrix ($X$) and the number of columns of the second matrix ($Wo$).\nIn the computation of the difference between the true (or gold) values in $y$ and the \"guessed\" values in $l1$ we have an estimate of the miss.\n
\n[go to top](#top)" + }, + { + "metadata": { + "_uuid": "7c64e2c97d7093bb8f71d5bd173820b526fc71a1" + }, + "cell_type": "markdown", + "source": "An example computation for the input $[ 1, 0, 1 ]$ and the weights $[ 9.5, 0.2, -0.1 ]$ and an output of $0.99$: If $y = 1$, the $l1\\_error = y - l2 = 0.01$, and $l1\\_delta = 0.01 * tiny\\_deriv$:" + }, + { + "metadata": { + "_uuid": "602abaf7339d617f2e0333c86ab98b94bb40a96d" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "3307f0633c665a5fa0aaa97898ab6a1d1d9f6fac" + }, + "cell_type": "markdown", + "source": "
\n## 7-23-1 More Complex Example with Backpropagation" + }, + { + "metadata": { + "_uuid": "750b541e55ae336dcee16ff38d672dff649792a6" + }, + "cell_type": "markdown", + "source": "Consider now a more complicated example where no column has a correlation with the output:\n\n| Input | Output |\n| ------ |:------:|\n| 0 0 1 | 0 |\n| 0 1 1 | 1 |\n| 1 0 1 | 1 |\n| 1 1 1 | 0 |" + }, + { + "metadata": { + "_uuid": "85bc7295eaf21d0bfad6c4572bfb868d74b2e1aa" + }, + "cell_type": "markdown", + "source": "The pattern here is our XOR pattern or problem: If there is a $1$ in either column $1$ or $2$, but not in both, the output is $1$ (XOR over column $1$ and $2$)." + }, + { + "metadata": { + "_uuid": "340ea076b1899802093da816d92017ce2b3d2716" + }, + "cell_type": "markdown", + "source": "From our discussion of the XOR problem we remember that this is a *non-linear pattern*, a **one-to-one relationship between a combination of inputs**." + }, + { + "metadata": { + "_uuid": "b64402f35850471c7136b201c783b9d9e60e6556" + }, + "cell_type": "markdown", + "source": "To cope with this problem, we need a network with another layer, that is a layer that will combine and transform the input, and an additional layer will map it to the output. We will add a *hidden layer* with randomized weights and then train those to optimize the output probabilities of the table above." + }, + { + "metadata": { + "_uuid": "28829b11334a35dc1649f1d6d2134ed4e0d1a795" + }, + "cell_type": "markdown", + "source": "We will define a new $X$ input matrix that reflects the above table:" + }, + { + "metadata": { + "_uuid": "2c41f4546c675916ff0964370bc98a6862353666", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "X = np.array([[0, 0, 1],\n [0, 1, 1],\n [1, 0, 1],\n [1, 1, 1]])\nprint(X)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "20aff6095cd099acf174500e76946c12481192d7" + }, + "cell_type": "markdown", + "source": "We also define a new output matrix $y$:" + }, + { + "metadata": { + "_uuid": "508e0c65bdd467bfed8d69ac52638d8821dd9e2f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "y = np.array([[ 0, 1, 1, 0]]).T\nprint(y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "87a03d01b3b1df0ff847a7507cc66ae87f1669d2" + }, + "cell_type": "markdown", + "source": "We initialize the random number generator with a constant again:" + }, + { + "metadata": { + "_uuid": "237da33769d159e1d450e66c93e677618c0a127f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.random.seed(1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "03c37d00f1d7b87c44e7a4777990049af4044548" + }, + "cell_type": "markdown", + "source": "Assume that our 3 inputs are mapped to 4 hidden layer ($Wh$) neurons, we have to initialize the hidden layer weights in a 3 by 4 matrix. The outout layer ($Wo$) is a single neuron that is connected to the hidden layer, thus the output layer is a 4 by 1 matrix:" + }, + { + "metadata": { + "_uuid": "823a9291e688f1840b781b5aeba9779215206676", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "n_inputs = 3\nn_hidden_neurons = 4\nn_output_neurons = 1\nWh = np.random.random( (n_inputs, n_hidden_neurons) ) * np.sqrt(2.0/n_inputs)\nWo = np.random.random( (n_hidden_neurons, n_output_neurons) ) * np.sqrt(2.0/n_hidden_neurons)\nprint(\"Wh:\\n\", Wh)\nprint(\"Wo:\\n\", Wo)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d27aca98d06bc0ed16678628d6927015b8dfe427" + }, + "cell_type": "markdown", + "source": "We will loop now 60,000 times to optimize the weights:" + }, + { + "metadata": { + "_uuid": "90add134167965958223083f3c3a7818795777bc", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "for i in range(100000):\n l1 = sigmoid(np.dot(X, Wh))\n l2 = sigmoid(np.dot(l1, Wo))\n \n l2_error = y - l2\n \n if (i % 10000) == 0:\n print(\"Error:\", np.mean(np.abs(l2_error)))\n \n # gradient, changing towards the target value\n l2_delta = l2_error * sigmoid_prime(l2)\n \n # compute the l1 contribution by value to the l2 error, given the output weights\n l1_error = l2_delta.dot(Wo.T)\n \n # direction of the l1 target:\n # in what direction is the target l1?\n l1_delta = l1_error * sigmoid_prime(l1)\n \n Wo += np.dot(l1.T, l2_delta)\n Wh += np.dot(X.T, l1_delta)\n\nprint(\"Wo:\\n\", Wo)\nprint(\"Wh:\\n\", Wh)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "263abd8f132d7b73ab2eb67c56caf1508a35d1d3" + }, + "cell_type": "markdown", + "source": "The new computation in this new loop is $l1\\_error = l2\\_delta.dot(Wo.T)$, a **confidence weighted error** from $l2$ to compute an error for $l1$. The computation sends the error across the weights from $l2$ to $l1$. The result is a **contribution weighted error**, because we learn how much each node value in $l1$ **contributed** to the error in $l2$. This step is called **backpropagation**. We update $Wh$ using the same steps we did in the 2 layer implementation.\n
\n[go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "60e0e926937b245cc36fe5845bf6be7cbdd6b341", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn import datasets\niris = datasets.load_iris()\nX_iris = iris.data\ny_iris = iris.target", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "f33de6d7fe6de563e798b128857aa1420e31b290", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure('sepal')\ncolormarkers = [ ['red','s'], ['greenyellow','o'], ['blue','x']]\nfor i in range(len(colormarkers)):\n px = X_iris[:, 0][y_iris == i]\n py = X_iris[:, 1][y_iris == i]\n plt.scatter(px, py, c=colormarkers[i][0], marker=colormarkers[i][1])\n\nplt.title('Iris Dataset: Sepal width vs sepal length')\nplt.legend(iris.target_names)\nplt.xlabel('Sepal length')\nplt.ylabel('Sepal width')\nplt.figure('petal')\n\nfor i in range(len(colormarkers)):\n px = X_iris[:, 2][y_iris == i]\n py = X_iris[:, 3][y_iris == i]\n plt.scatter(px, py, c=colormarkers[i][0], marker=colormarkers[i][1])\n\nplt.title('Iris Dataset: petal width vs petal length')\nplt.legend(iris.target_names)\nplt.xlabel('Petal length')\nplt.ylabel('Petal width')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "97adc471c068fbd8d36ca19a4db0d98b0924c731" + }, + "cell_type": "markdown", + "source": "-----------------\n
\n# 8- Conclusion" + }, + { + "metadata": { + "_uuid": "1adfb5ba84e0f1d8fba58a2fca30546ead095047", + "collapsed": true + }, + "cell_type": "markdown", + "source": "In this kernel, I have tried to cover all the parts related to the process of **Machine Learning** with a variety of Python packages and I know that there are still some problems then I hope to get your feedback to improve it.\n
\n[go to top](#top)" + }, + { + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "cell_type": "markdown", + "source": "Fork and Run this Notebook on GitHub:\n\n> #### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n> #### [ Kaggle](https://www.kaggle.com/mjbahmani)\n\n--------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated** " + }, + { + "metadata": { + "_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0", + "_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a", + "collapsed": true + }, + "cell_type": "markdown", + "source": "
\n# 9- References\n1. [Iris image](https://rpubs.com/wjholst/322258)\n1. [IRIS](https://archive.ics.uci.edu/ml/datasets/iris)\n1. [https://skymind.ai/wiki/machine-learning-workflow](https://skymind.ai/wiki/machine-learning-workflow)\n1. [IRIS-wiki](https://archive.ics.uci.edu/ml/datasets/iris)\n1. [Problem-define](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n1. [Sklearn](http://scikit-learn.org/)\n1. [machine-learning-in-python-step-by-step](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n1. [Data Cleaning](http://wp.sigmod.org/?p=2288)\n1. [competitive data science](https://www.coursera.org/learn/competitive-data-science/)\n1. [Top 28 Cheat Sheets for Machine Learning](https://www.analyticsvidhya.com/blog/2017/02/top-28-cheat-sheets-for-machine-learning-data-science-probability-sql-big-data/)\n\n\n-------------\n" + }, + { + "metadata": { + "_uuid": "8c48de6290f33a7e89956a28d05cfac79b0cb57e" + }, + "cell_type": "markdown", + "source": ">If you have read the notebook, you can follow next steps: [Course Home Page](https://www.kaggle.com/mjbahmani/10-steps-to-become-a-data-scientist)" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/+20 ML Algorithms +15 Plot for Beginners/input/Iris.csv b/+20 ML Algorithms +15 Plot for Beginners/input/Iris.csv new file mode 100644 index 0000000..1bf42f2 --- /dev/null +++ b/+20 ML Algorithms +15 Plot for Beginners/input/Iris.csv @@ -0,0 +1,151 @@ +Id,SepalLengthCm,SepalWidthCm,PetalLengthCm,PetalWidthCm,Species +1,5.1,3.5,1.4,0.2,Iris-setosa +2,4.9,3.0,1.4,0.2,Iris-setosa +3,4.7,3.2,1.3,0.2,Iris-setosa +4,4.6,3.1,1.5,0.2,Iris-setosa +5,5.0,3.6,1.4,0.2,Iris-setosa +6,5.4,3.9,1.7,0.4,Iris-setosa +7,4.6,3.4,1.4,0.3,Iris-setosa +8,5.0,3.4,1.5,0.2,Iris-setosa +9,4.4,2.9,1.4,0.2,Iris-setosa +10,4.9,3.1,1.5,0.1,Iris-setosa +11,5.4,3.7,1.5,0.2,Iris-setosa +12,4.8,3.4,1.6,0.2,Iris-setosa +13,4.8,3.0,1.4,0.1,Iris-setosa +14,4.3,3.0,1.1,0.1,Iris-setosa +15,5.8,4.0,1.2,0.2,Iris-setosa +16,5.7,4.4,1.5,0.4,Iris-setosa +17,5.4,3.9,1.3,0.4,Iris-setosa +18,5.1,3.5,1.4,0.3,Iris-setosa +19,5.7,3.8,1.7,0.3,Iris-setosa +20,5.1,3.8,1.5,0.3,Iris-setosa +21,5.4,3.4,1.7,0.2,Iris-setosa +22,5.1,3.7,1.5,0.4,Iris-setosa +23,4.6,3.6,1.0,0.2,Iris-setosa +24,5.1,3.3,1.7,0.5,Iris-setosa +25,4.8,3.4,1.9,0.2,Iris-setosa +26,5.0,3.0,1.6,0.2,Iris-setosa +27,5.0,3.4,1.6,0.4,Iris-setosa +28,5.2,3.5,1.5,0.2,Iris-setosa +29,5.2,3.4,1.4,0.2,Iris-setosa +30,4.7,3.2,1.6,0.2,Iris-setosa +31,4.8,3.1,1.6,0.2,Iris-setosa +32,5.4,3.4,1.5,0.4,Iris-setosa +33,5.2,4.1,1.5,0.1,Iris-setosa +34,5.5,4.2,1.4,0.2,Iris-setosa +35,4.9,3.1,1.5,0.1,Iris-setosa +36,5.0,3.2,1.2,0.2,Iris-setosa +37,5.5,3.5,1.3,0.2,Iris-setosa +38,4.9,3.1,1.5,0.1,Iris-setosa +39,4.4,3.0,1.3,0.2,Iris-setosa +40,5.1,3.4,1.5,0.2,Iris-setosa +41,5.0,3.5,1.3,0.3,Iris-setosa +42,4.5,2.3,1.3,0.3,Iris-setosa +43,4.4,3.2,1.3,0.2,Iris-setosa +44,5.0,3.5,1.6,0.6,Iris-setosa +45,5.1,3.8,1.9,0.4,Iris-setosa +46,4.8,3.0,1.4,0.3,Iris-setosa +47,5.1,3.8,1.6,0.2,Iris-setosa +48,4.6,3.2,1.4,0.2,Iris-setosa +49,5.3,3.7,1.5,0.2,Iris-setosa +50,5.0,3.3,1.4,0.2,Iris-setosa +51,7.0,3.2,4.7,1.4,Iris-versicolor +52,6.4,3.2,4.5,1.5,Iris-versicolor +53,6.9,3.1,4.9,1.5,Iris-versicolor +54,5.5,2.3,4.0,1.3,Iris-versicolor +55,6.5,2.8,4.6,1.5,Iris-versicolor +56,5.7,2.8,4.5,1.3,Iris-versicolor +57,6.3,3.3,4.7,1.6,Iris-versicolor +58,4.9,2.4,3.3,1.0,Iris-versicolor +59,6.6,2.9,4.6,1.3,Iris-versicolor +60,5.2,2.7,3.9,1.4,Iris-versicolor +61,5.0,2.0,3.5,1.0,Iris-versicolor +62,5.9,3.0,4.2,1.5,Iris-versicolor +63,6.0,2.2,4.0,1.0,Iris-versicolor +64,6.1,2.9,4.7,1.4,Iris-versicolor +65,5.6,2.9,3.6,1.3,Iris-versicolor +66,6.7,3.1,4.4,1.4,Iris-versicolor +67,5.6,3.0,4.5,1.5,Iris-versicolor +68,5.8,2.7,4.1,1.0,Iris-versicolor +69,6.2,2.2,4.5,1.5,Iris-versicolor +70,5.6,2.5,3.9,1.1,Iris-versicolor +71,5.9,3.2,4.8,1.8,Iris-versicolor +72,6.1,2.8,4.0,1.3,Iris-versicolor +73,6.3,2.5,4.9,1.5,Iris-versicolor +74,6.1,2.8,4.7,1.2,Iris-versicolor +75,6.4,2.9,4.3,1.3,Iris-versicolor +76,6.6,3.0,4.4,1.4,Iris-versicolor +77,6.8,2.8,4.8,1.4,Iris-versicolor +78,6.7,3.0,5.0,1.7,Iris-versicolor +79,6.0,2.9,4.5,1.5,Iris-versicolor +80,5.7,2.6,3.5,1.0,Iris-versicolor +81,5.5,2.4,3.8,1.1,Iris-versicolor +82,5.5,2.4,3.7,1.0,Iris-versicolor +83,5.8,2.7,3.9,1.2,Iris-versicolor +84,6.0,2.7,5.1,1.6,Iris-versicolor +85,5.4,3.0,4.5,1.5,Iris-versicolor +86,6.0,3.4,4.5,1.6,Iris-versicolor +87,6.7,3.1,4.7,1.5,Iris-versicolor +88,6.3,2.3,4.4,1.3,Iris-versicolor +89,5.6,3.0,4.1,1.3,Iris-versicolor +90,5.5,2.5,4.0,1.3,Iris-versicolor +91,5.5,2.6,4.4,1.2,Iris-versicolor +92,6.1,3.0,4.6,1.4,Iris-versicolor +93,5.8,2.6,4.0,1.2,Iris-versicolor +94,5.0,2.3,3.3,1.0,Iris-versicolor +95,5.6,2.7,4.2,1.3,Iris-versicolor +96,5.7,3.0,4.2,1.2,Iris-versicolor +97,5.7,2.9,4.2,1.3,Iris-versicolor +98,6.2,2.9,4.3,1.3,Iris-versicolor +99,5.1,2.5,3.0,1.1,Iris-versicolor +100,5.7,2.8,4.1,1.3,Iris-versicolor +101,6.3,3.3,6.0,2.5,Iris-virginica +102,5.8,2.7,5.1,1.9,Iris-virginica +103,7.1,3.0,5.9,2.1,Iris-virginica +104,6.3,2.9,5.6,1.8,Iris-virginica +105,6.5,3.0,5.8,2.2,Iris-virginica +106,7.6,3.0,6.6,2.1,Iris-virginica +107,4.9,2.5,4.5,1.7,Iris-virginica +108,7.3,2.9,6.3,1.8,Iris-virginica +109,6.7,2.5,5.8,1.8,Iris-virginica +110,7.2,3.6,6.1,2.5,Iris-virginica +111,6.5,3.2,5.1,2.0,Iris-virginica +112,6.4,2.7,5.3,1.9,Iris-virginica +113,6.8,3.0,5.5,2.1,Iris-virginica +114,5.7,2.5,5.0,2.0,Iris-virginica +115,5.8,2.8,5.1,2.4,Iris-virginica +116,6.4,3.2,5.3,2.3,Iris-virginica +117,6.5,3.0,5.5,1.8,Iris-virginica +118,7.7,3.8,6.7,2.2,Iris-virginica +119,7.7,2.6,6.9,2.3,Iris-virginica +120,6.0,2.2,5.0,1.5,Iris-virginica +121,6.9,3.2,5.7,2.3,Iris-virginica +122,5.6,2.8,4.9,2.0,Iris-virginica +123,7.7,2.8,6.7,2.0,Iris-virginica +124,6.3,2.7,4.9,1.8,Iris-virginica +125,6.7,3.3,5.7,2.1,Iris-virginica +126,7.2,3.2,6.0,1.8,Iris-virginica +127,6.2,2.8,4.8,1.8,Iris-virginica +128,6.1,3.0,4.9,1.8,Iris-virginica +129,6.4,2.8,5.6,2.1,Iris-virginica +130,7.2,3.0,5.8,1.6,Iris-virginica +131,7.4,2.8,6.1,1.9,Iris-virginica +132,7.9,3.8,6.4,2.0,Iris-virginica +133,6.4,2.8,5.6,2.2,Iris-virginica +134,6.3,2.8,5.1,1.5,Iris-virginica +135,6.1,2.6,5.6,1.4,Iris-virginica +136,7.7,3.0,6.1,2.3,Iris-virginica +137,6.3,3.4,5.6,2.4,Iris-virginica +138,6.4,3.1,5.5,1.8,Iris-virginica +139,6.0,3.0,4.8,1.8,Iris-virginica +140,6.9,3.1,5.4,2.1,Iris-virginica +141,6.7,3.1,5.6,2.4,Iris-virginica +142,6.9,3.1,5.1,2.3,Iris-virginica +143,5.8,2.7,5.1,1.9,Iris-virginica +144,6.8,3.2,5.9,2.3,Iris-virginica +145,6.7,3.3,5.7,2.5,Iris-virginica +146,6.7,3.0,5.2,2.3,Iris-virginica +147,6.3,2.5,5.0,1.9,Iris-virginica +148,6.5,3.0,5.2,2.0,Iris-virginica +149,6.2,3.4,5.4,2.3,Iris-virginica +150,5.9,3.0,5.1,1.8,Iris-virginica diff --git a/20 ML Algorithms For House Prices Prediction/ML Workflow for House Prices +10 Algorithms.ipynb b/20 ML Algorithms For House Prices Prediction/ML Workflow for House Prices +10 Algorithms.ipynb new file mode 100644 index 0000000..6ac0735 --- /dev/null +++ b/20 ML Algorithms For House Prices Prediction/ML Workflow for House Prices +10 Algorithms.ipynb @@ -0,0 +1,1750 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "cell_type": "markdown", + "source": " ##
Machine Learning Workflow for House Prices
\n\n ###
Quite Practical and Far from any Theoretical Concepts
\n\n\n
last update: 31/12/2018
\n\n---------------------------------------------------------------------\n\n>###### You may be interested have a look at 10 Steps to Become a Data Scientist: \n\n1. [Leren Python](https://www.kaggle.com/mjbahmani/the-data-scientist-s-toolbox-tutorial-1)\n2. [Python Packages](https://www.kaggle.com/mjbahmani/the-data-scientist-s-toolbox-tutorial-2)\n3. [Mathematics and Linear Algebra](https://www.kaggle.com/mjbahmani/linear-algebra-for-data-scientists)\n4. [Programming & Analysis Tools](https://www.kaggle.com/mjbahmani/20-ml-algorithms-15-plot-for-beginners)\n5. [Big Data](https://www.kaggle.com/mjbahmani/a-data-science-framework-for-quora)\n6. [Data visualization](https://www.kaggle.com/mjbahmani/top-5-data-visualization-libraries-tutorial)\n7. [Data Cleaning](https://www.kaggle.com/mjbahmani/machine-learning-workflow-for-house-prices)\n8. [How to solve a Problem?](https://www.kaggle.com/mjbahmani/the-data-scientist-s-toolbox-tutorial-2)\n9. [Machine Learning](https://www.kaggle.com/mjbahmani/a-comprehensive-ml-workflow-with-python)\n10. [Deep Learning](https://www.kaggle.com/mjbahmani/top-5-deep-learning-frameworks-tutorial)\n\n--------------------------------------------------------------------------------\n\nyou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/Machine-Learning-Workflow-with-Python)\n\n\n-----------------------------\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n \n -----------" + }, + { + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "cell_type": "markdown", + "source": "
\n## Notebook Content\n1. [Introduction](#1)\n 1. [Courses](#11)\n 1. [Kaggle kernels](#12)\n 1. [Ebooks](#13)\n1. [Machine learning workflow](#2)\n1. [Problem Definition](#3)\n 1. [Problem feature](#4)\n 1. [Aim](#41)\n 1. [Variables](#42)\n 1. [ Inputs & Outputs](#43)\n 1. [Inputs ](#431)\n 1. [Outputs](#432)\n1. [Loading Packages](#5)\n1. [Exploratory data analysis](#6)\n 1. [Data Collection](#61)\n 1. [Visualization](#62)\n 1. [Scatter plot](#621)\n 1. [Box](#622)\n 1. [Histogram](#623)\n 1. [Multivariate Plots](#624)\n 1. [Violinplots](#625)\n 1. [Pair plot](#626)\n 1. [Kde plot](#627)\n 1. [Joint plot](#628)\n 1. [Andrews curves](#629)\n 1. [Heatmap](#6210)\n 1. [Radviz](#6211)\n 1. [Data Preprocessing](#63)\n 1. [Data Cleaning](#64)\n1. [Model Deployment](#7)\n1. [Conclusion](#8)\n1. [References](#9)" + }, + { + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "cell_type": "markdown", + "source": "
\n## 1- Introduction\nThis is a **A Comprehensive ML Workflow for House Prices** data set, it is clear that everyone in this community is familiar with house prices dataset but if you need to review your information about the dataset please visit this [link](https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data).\n\nI have tried to help **Fans of Machine Learning** in Kaggle how to face machine learning problems. and I think it is a great opportunity for who want to learn machine learning workflow with python **completely**.\n\nI want to covere most of the methods that are implemented for house prices until **2018**, you can start to learn and review your knowledge about ML with a simple dataset and try to learn and memorize the workflow for your journey in Data science world.\n\nBefore we get into the notebook, let me introduce some helpful resources." + }, + { + "metadata": { + "_uuid": "e4801c3bbcda26c28aa7d145689d5261d5c37370" + }, + "cell_type": "markdown", + "source": "
\n## 1-1 Courses\nThere are a lot of Online courses that can help you develop your knowledge, here I have just listed some of them:\n\n1. [Machine Learning Certification by Stanford University (Coursera)](https://www.coursera.org/learn/machine-learning/)\n\n2. [Machine Learning A-Z™: Hands-On Python & R In Data Science (Udemy)](https://www.udemy.com/machinelearning/)\n\n3. [Deep Learning Certification by Andrew Ng from deeplearning.ai (Coursera)](https://www.coursera.org/specializations/deep-learning)\n\n4. [Python for Data Science and Machine Learning Bootcamp (Udemy)](Python for Data Science and Machine Learning Bootcamp (Udemy))\n\n5. [Mathematics for Machine Learning by Imperial College London](https://www.coursera.org/specializations/mathematics-machine-learning)\n\n6. [Deep Learning A-Z™: Hands-On Artificial Neural Networks](https://www.udemy.com/deeplearning/)\n\n7. [Complete Guide to TensorFlow for Deep Learning Tutorial with Python](https://www.udemy.com/complete-guide-to-tensorflow-for-deep-learning-with-python/)\n\n8. [Data Science and Machine Learning Tutorial with Python – Hands On](https://www.udemy.com/data-science-and-machine-learning-with-python-hands-on/)\n\n9. [Machine Learning Certification by University of Washington](https://www.coursera.org/specializations/machine-learning)\n\n10. [Data Science and Machine Learning Bootcamp with R](https://www.udemy.com/data-science-and-machine-learning-bootcamp-with-r/)\n11. [Creative Applications of Deep Learning with TensorFlow](https://www.class-central.com/course/kadenze-creative-applications-of-deep-learning-with-tensorflow-6679)\n12. [Neural Networks for Machine Learning](https://www.class-central.com/mooc/398/coursera-neural-networks-for-machine-learning)\n13. [Practical Deep Learning For Coders, Part 1](https://www.class-central.com/mooc/7887/practical-deep-learning-for-coders-part-1)\n14. [Machine Learning](https://www.cs.ox.ac.uk/teaching/courses/2014-2015/ml/index.html)" + }, + { + "metadata": { + "_uuid": "942f87c3d0feb55c83c4cbafa31c8c48df36901f" + }, + "cell_type": "markdown", + "source": "
\n## 1-2 Kaggle kernels\nI want to thanks **Kaggle team** and all of the **kernel's authors** who develop this huge resources for Data scientists. I have learned from The work of others and I have just listed some more important kernels that inspired my work and I've used them in this kernel:\n\n1. [Comprehensive Data Exploration with python](https://www.kaggle.com/pmarcelino/comprehensive-data-exploration-with-python)\n1. [A study on Regression applied to the Ames dataset](https://www.kaggle.com/juliencs/a-study-on-regression-applied-to-the-ames-dataset)\n1. [Regularized Linear Models](https://www.kaggle.com/apapiu/regularized-linear-models)" + }, + { + "metadata": { + "_uuid": "2352e37c41b407378cc25f127ebaa36c99f00801" + }, + "cell_type": "markdown", + "source": "
\n## 1-3 Ebooks\nSo you love reading , here is **10 free machine learning books**\n1. [Probability and Statistics for Programmers](http://www.greenteapress.com/thinkstats/)\n2. [Bayesian Reasoning and Machine Learning](http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/091117.pdf)\n2. [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/)\n2. [Understanding Machine Learning](http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/index.html)\n2. [A Programmer’s Guide to Data Mining](http://guidetodatamining.com/)\n2. [Mining of Massive Datasets](http://infolab.stanford.edu/~ullman/mmds/book.pdf)\n2. [A Brief Introduction to Neural Networks](http://www.dkriesel.com/_media/science/neuronalenetze-en-zeta2-2col-dkrieselcom.pdf)\n2. [Deep Learning](http://www.deeplearningbook.org/)\n2. [Natural Language Processing with Python](https://www.researchgate.net/publication/220691633_Natural_Language_Processing_with_Python)\n2. [Machine Learning Yearning](http://www.mlyearning.org/)\n\n\nI am open to your feedback for improving this **kernel**\n\n[go to top](#top)" + }, + { + "metadata": { + "_uuid": "e11b73b618b0f6e4335520ef80267c6d577d1ba5" + }, + "cell_type": "markdown", + "source": "
\n## 2- Machine Learning Workflow\nIf you have already read some [machine learning books](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/tree/master/Ebooks). You have noticed that there are different ways to stream data into machine learning.\n\nMost of these books share the following steps:\n1. Define Problem\n1. Specify Inputs & Outputs\n1. Exploratory data analysis\n1. Data Collection\n1. Data Preprocessing\n1. Data Cleaning\n1. Visualization\n1. Model Design, Training, and Offline Evaluation\n1. Model Deployment, Online Evaluation, and Monitoring\n1. Model Maintenance, Diagnosis, and Retraining\n\nOf course, the same solution can not be provided for all problems, so the best way is to create a **general framework** and adapt it to new problem.\n\n**You can see my workflow in the below image** :\n\n \n\n**Data Science has so many techniques and procedures that can confuse anyone.**\n" + }, + { + "metadata": { + "_uuid": "8f90140a4bce24083d97e3650243145d0d4dcbeb" + }, + "cell_type": "markdown", + "source": "
\n## 2-2 Real world Application Vs Competitions\nWe all know that there are differences between real world problem and competition problem. The following figure that is taken from one of the courses in coursera, has partly made this comparison \n\n\n\nAs you can see, there are a lot more steps to solve in real problems." + }, + { + "metadata": { + "_uuid": "600be852c0d28e7c0c5ebb718904ab15a536342c" + }, + "cell_type": "markdown", + "source": "
\n## 3- Problem Definition\nI think one of the important things when you start a new machine learning project is defining your problem.that means you should understand business problem.( **Problem Formalization**).\n\nProblem definition has four steps that have illustrated in the picture below:\n\n
\n### 3-1 Problem Feature\nWe will use the house prices data set. This dataset contains information about house prices and the target value is:\n\n1. SalePrice\n\n**Why am I using House price dataset:**\n\n1. This is a good project because it is so well understood.\n1. Attributes are numeric and categurical so you have to figure out how to load and handle data.\n1. It is a Regression problem, allowing you to practice with perhaps an easier type of supervised learning algorithm.\n1. This is a perfect competition for data science students who have completed an online course in machine learning and are looking to expand their skill set before trying a featured competition. \n1. Creative feature engineering ." + }, + { + "metadata": { + "_uuid": "2a3a73558906ee81dd633c3ccb95b3aa2366293b" + }, + "cell_type": "markdown", + "source": "
\n#### 3-1-1 Metric\nSubmissions are evaluated on Root-Mean-Squared-Error (RMSE) between the logarithm of the predicted value and the logarithm of the observed sales price. (Taking logs means that errors in predicting expensive houses and cheap houses will affect the result equally.)\n\n
\n### 3-2 Aim\nIt is our job to predict the sales price for each house. for each Id in the test set, you must predict the value of the **SalePrice** variable. \n\n
\n### 3-3 Variables\nThe variables are :\n* SalePrice - the property's sale price in dollars. This is the target variable that you're trying to predict.\n* MSSubClass: The building class\n* MSZoning: The general zoning classification\n* LotFrontage: Linear feet of street connected to property\n* LotArea: Lot size in square feet\n* Street: Type of road access\n* Alley: Type of alley access\n* LotShape: General shape of property\n* LandContour: Flatness of the property\n* Utilities: Type of utilities available\n* LotConfig: Lot configuration\n* LandSlope: Slope of property\n* Neighborhood: Physical locations within Ames city limits\n* Condition1: Proximity to main road or railroad\n* Condition2: Proximity to main road or railroad (if a second is present)\n* BldgType: Type of dwelling\n* HouseStyle: Style of dwelling\n* OverallQual: Overall material and finish quality\n* OverallCond: Overall condition rating\n* YearBuilt: Original construction date\n* YearRemodAdd: Remodel date\n* RoofStyle: Type of roof\n* RoofMatl: Roof material\n* Exterior1st: Exterior covering on house\n* Exterior2nd: Exterior covering on house (if more than one material)\n* MasVnrType: Masonry veneer type\n* MasVnrArea: Masonry veneer area in square feet\n* ExterQual: Exterior material quality\n* ExterCond: Present condition of the material on the exterior\n* Foundation: Type of foundation\n* BsmtQual: Height of the basement\n* BsmtCond: General condition of the basement\n* BsmtExposure: Walkout or garden level basement walls\n* BsmtFinType1: Quality of basement finished area\n* BsmtFinSF1: Type 1 finished square feet\n* BsmtFinType2: Quality of second finished area (if present)\n* BsmtFinSF2: Type 2 finished square feet\n* BsmtUnfSF: Unfinished square feet of basement area\n* TotalBsmtSF: Total square feet of basement area\n* Heating: Type of heating\n* HeatingQC: Heating quality and condition\n* CentralAir: Central air conditioning\n* Electrical: Electrical system\n* 1stFlrSF: First Floor square feet\n* 2ndFlrSF: Second floor square feet\n* LowQualFinSF: Low quality finished square feet (all floors)\n* GrLivArea: Above grade (ground) living area square feet\n* BsmtFullBath: Basement full bathrooms\n* BsmtHalfBath: Basement half bathrooms\n* FullBath: Full bathrooms above grade\n* HalfBath: Half baths above grade\n* Bedroom: Number of bedrooms above basement level\n* Kitchen: Number of kitchens\n* KitchenQual: Kitchen quality\n* TotRmsAbvGrd: Total rooms above grade (does not include bathrooms)\n* Functional: Home functionality rating\n* Fireplaces: Number of fireplaces\n* FireplaceQu: Fireplace quality\n* GarageType: Garage location\n* GarageYrBlt: Year garage was built\n* GarageFinish: Interior finish of the garage\n* GarageCars: Size of garage in car capacity\n* GarageArea: Size of garage in square feet\n* GarageQual: Garage quality\n* GarageCond: Garage condition\n* PavedDrive: Paved driveway\n* WoodDeckSF: Wood deck area in square feet\n* OpenPorchSF: Open porch area in square feet\n* EnclosedPorch: Enclosed porch area in square feet\n* 3SsnPorch: Three season porch area in square feet\n* ScreenPorch: Screen porch area in square feet\n* PoolArea: Pool area in square feet\n* PoolQC: Pool quality\n* Fence: Fence quality\n* MiscFeature: Miscellaneous feature not covered in other categories\n* MiscVal: Value of miscellaneous feature\n* MoSold: Month Sold\n* YrSold: Year Sold\n* SaleType: Type of sale\n* SaleCondition: Condition of sale" + }, + { + "metadata": { + "_uuid": "8bb4dfebb521f83543e1d45db3559216dad8f6fb" + }, + "cell_type": "markdown", + "source": "
\n## 4- Inputs & Outputs\nFor every machine learning problem, you should ask yourself, what are inputs and outputs for the model?\n\n\n
\n### 4-1 Inputs\n* train.csv - the training set\n* test.csv - the test set\n\n
\n\n### 4-2 Outputs\n* sale prices for every record in test.csv" + }, + { + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "cell_type": "markdown", + "source": "
\n## 5 Loading Packages\nIn this kernel we are using the following packages:" + }, + { + "metadata": { + "_uuid": "61f49281fdd8592b44c0867225f57e6fce36342c" + }, + "cell_type": "markdown", + "source": " " + }, + { + "metadata": { + "_uuid": "35dd399b3f532eef15308fa129b1c02cbc81c51e" + }, + "cell_type": "markdown", + "source": "
\n### 5-1 Import" + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.linear_model import Ridge, RidgeCV, ElasticNet, LassoCV, LassoLarsCV\nfrom sklearn.base import BaseEstimator, TransformerMixin, RegressorMixin, clone\nfrom sklearn.linear_model import ElasticNet, Lasso, BayesianRidge, LassoLarsIC\nfrom sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor\nfrom sklearn.model_selection import KFold, cross_val_score, train_test_split\nfrom sklearn.metrics import make_scorer, accuracy_score\nfrom sklearn.ensemble import RandomForestClassifier\nfrom sklearn.model_selection import cross_val_score\nfrom sklearn.metrics import classification_report\nfrom sklearn.model_selection import GridSearchCV\nfrom sklearn.preprocessing import StandardScaler\nfrom sklearn.metrics import mean_squared_error\nfrom sklearn.preprocessing import RobustScaler\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.kernel_ridge import KernelRidge\nfrom sklearn.pipeline import make_pipeline\nfrom sklearn.metrics import accuracy_score\nfrom sklearn.pipeline import Pipeline\nimport matplotlib.pyplot as plt\nfrom scipy.stats import skew\nimport scipy.stats as stats\nimport lightgbm as lgb\nimport seaborn as sns\nimport xgboost as xgb\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport scipy\nimport json\nimport sys\nimport csv\nimport os", + "execution_count": 76, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9298a13104e2d408f1fef3948b956d12c3bfc249" + }, + "cell_type": "markdown", + "source": "
\n### 5-2 Version" + }, + { + "metadata": { + "trusted": true, + "_uuid": "0eb53d55656c33da7c8e75a78e7cca4a9a6d16f5", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))", + "execution_count": 77, + "outputs": [ + { + "output_type": "stream", + "text": "matplotlib: 2.2.3\nsklearn: 0.20.1\nscipy: 1.1.0\nseaborn: 0.9.0\npandas: 0.23.4\nnumpy: 1.15.4\nPython: 3.6.6 |Anaconda, Inc.| (default, Oct 9 2018, 12:34:16) \n[GCC 7.3.0]\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "8a83acbcb529a6187b772b6d5f7e7313b31f3d2b" + }, + "cell_type": "markdown", + "source": "
\n### 5-5-3 Setup\n\nA few tiny adjustments for better **code readability**" + }, + { + "metadata": { + "trusted": true, + "_uuid": "158d655ea9d7fd41fb8ad9936b1ca0ad4b4c8464", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "pd.set_option('display.float_format', lambda x: '%.3f' % x)\nsns.set(style='white', context='notebook', palette='deep')\nwarnings.filterwarnings('ignore')\nsns.set_style('white')\n%matplotlib inline", + "execution_count": 78, + "outputs": [] + }, + { + "metadata": { + "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" + }, + "cell_type": "markdown", + "source": "
\n## 6- Exploratory Data Analysis(EDA)\n In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n \n1. Which variables suggest interesting relationships?\n1. Which observations are unusual?\n\nBy the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations:\n\n1. Data Collection\n1. Visualization\n1. Data Cleaning\n1. Data Preprocessing\n" + }, + { + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "cell_type": "markdown", + "source": "
\n## 6-1 Data Collection\n**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n\n\n> **<< Note >>**\n\n> **The rows being the samples and the columns being attributes**\n" + }, + { + "metadata": { + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# import Dataset to play with it\ntrain = pd.read_csv('../input/train.csv')\ntest= pd.read_csv('../input/test.csv')", + "execution_count": 79, + "outputs": [] + }, + { + "metadata": { + "_uuid": "06138dc1aa7f49b304e1b789a31052b7bfda73a9" + }, + "cell_type": "markdown", + "source": "The **concat** function does all of the heavy lifting of performing concatenation operations along an axis. Let us create all_data." + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "2eabf8d3386083189cb10f341e73be9128c4283a" + }, + "cell_type": "code", + "source": "\nall_data = pd.concat((train.loc[:,'MSSubClass':'SaleCondition'],\n test.loc[:,'MSSubClass':'SaleCondition']))", + "execution_count": 80, + "outputs": [] + }, + { + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "cell_type": "markdown", + "source": "**<< Note 1 >>**\n\n1. Each row is an observation (also known as : sample, example, instance, record)\n1. Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)" + }, + { + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "cell_type": "markdown", + "source": "After loading the data via **pandas**, we should checkout what the content is, description and via the following:" + }, + { + "metadata": { + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type(train),type(test)", + "execution_count": 81, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 81, + "data": { + "text/plain": "(pandas.core.frame.DataFrame, pandas.core.frame.DataFrame)" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "581b90e6a869c3793472c7edd59091d6d6342fb2" + }, + "cell_type": "markdown", + "source": "
\n## 6-1-1 Statistical Summary\n1- Dimensions of the dataset.\n\n2- Peek at the data itself.\n\n3- Statistical summary of all attributes.\n\n4- Breakdown of the data by the class variable.[7]\n\nDon’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects.\n" + }, + { + "metadata": { + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# shape\nprint(train.shape)", + "execution_count": 82, + "outputs": [ + { + "output_type": "stream", + "text": "(1460, 81)\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "52ab14a7403315e4b9181c5578cd53ffe8cefbfd" + }, + "cell_type": "markdown", + "source": "Train has one column more than test why? (yes ==>> **target value**)" + }, + { + "metadata": { + "_uuid": "145f02fa22f216885a59cddee46dc08550426fa9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# shape\nprint(test.shape)", + "execution_count": 83, + "outputs": [ + { + "output_type": "stream", + "text": "(1459, 80)\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "cell_type": "markdown", + "source": "We can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property.\n\n**You should see 1460 instances and 81 attributes for train and 1459 instances and 80 attributes for test**" + }, + { + "metadata": { + "_uuid": "95ee5e18f97bc410df1e54ac74e32cdff2b30755" + }, + "cell_type": "markdown", + "source": "For getting some information about the dataset you can use **info()** command." + }, + { + "metadata": { + "_uuid": "ca840f02925751186f87e402fcb5f637ab1ab8a0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print(train.info())", + "execution_count": 84, + "outputs": [ + { + "output_type": "stream", + "text": "\nRangeIndex: 1460 entries, 0 to 1459\nData columns (total 81 columns):\nId 1460 non-null int64\nMSSubClass 1460 non-null int64\nMSZoning 1460 non-null object\nLotFrontage 1201 non-null float64\nLotArea 1460 non-null int64\nStreet 1460 non-null object\nAlley 91 non-null object\nLotShape 1460 non-null object\nLandContour 1460 non-null object\nUtilities 1460 non-null object\nLotConfig 1460 non-null object\nLandSlope 1460 non-null object\nNeighborhood 1460 non-null object\nCondition1 1460 non-null object\nCondition2 1460 non-null object\nBldgType 1460 non-null object\nHouseStyle 1460 non-null object\nOverallQual 1460 non-null int64\nOverallCond 1460 non-null int64\nYearBuilt 1460 non-null int64\nYearRemodAdd 1460 non-null int64\nRoofStyle 1460 non-null object\nRoofMatl 1460 non-null object\nExterior1st 1460 non-null object\nExterior2nd 1460 non-null object\nMasVnrType 1452 non-null object\nMasVnrArea 1452 non-null float64\nExterQual 1460 non-null object\nExterCond 1460 non-null object\nFoundation 1460 non-null object\nBsmtQual 1423 non-null object\nBsmtCond 1423 non-null object\nBsmtExposure 1422 non-null object\nBsmtFinType1 1423 non-null object\nBsmtFinSF1 1460 non-null int64\nBsmtFinType2 1422 non-null object\nBsmtFinSF2 1460 non-null int64\nBsmtUnfSF 1460 non-null int64\nTotalBsmtSF 1460 non-null int64\nHeating 1460 non-null object\nHeatingQC 1460 non-null object\nCentralAir 1460 non-null object\nElectrical 1459 non-null object\n1stFlrSF 1460 non-null int64\n2ndFlrSF 1460 non-null int64\nLowQualFinSF 1460 non-null int64\nGrLivArea 1460 non-null int64\nBsmtFullBath 1460 non-null int64\nBsmtHalfBath 1460 non-null int64\nFullBath 1460 non-null int64\nHalfBath 1460 non-null int64\nBedroomAbvGr 1460 non-null int64\nKitchenAbvGr 1460 non-null int64\nKitchenQual 1460 non-null object\nTotRmsAbvGrd 1460 non-null int64\nFunctional 1460 non-null object\nFireplaces 1460 non-null int64\nFireplaceQu 770 non-null object\nGarageType 1379 non-null object\nGarageYrBlt 1379 non-null float64\nGarageFinish 1379 non-null object\nGarageCars 1460 non-null int64\nGarageArea 1460 non-null int64\nGarageQual 1379 non-null object\nGarageCond 1379 non-null object\nPavedDrive 1460 non-null object\nWoodDeckSF 1460 non-null int64\nOpenPorchSF 1460 non-null int64\nEnclosedPorch 1460 non-null int64\n3SsnPorch 1460 non-null int64\nScreenPorch 1460 non-null int64\nPoolArea 1460 non-null int64\nPoolQC 7 non-null object\nFence 281 non-null object\nMiscFeature 54 non-null object\nMiscVal 1460 non-null int64\nMoSold 1460 non-null int64\nYrSold 1460 non-null int64\nSaleType 1460 non-null object\nSaleCondition 1460 non-null object\nSalePrice 1460 non-null int64\ndtypes: float64(3), int64(35), object(43)\nmemory usage: 924.0+ KB\nNone\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "b8c23c40749ebc193b55facb2267b488c3a5c7e5" + }, + "cell_type": "markdown", + "source": "**if you want see the type of data and unique value of it you use following script**" + }, + { + "metadata": { + "_uuid": "4b90d165a007106ae99809ad28edd75bd8153dd8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train['Fence'].unique()", + "execution_count": 85, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 85, + "data": { + "text/plain": "array([nan, 'MnPrv', 'GdWo', 'GdPrv', 'MnWw'], dtype=object)" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "8accfbddf2228274ad412c3ad3be72b4107d6f6c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train[\"Fence\"].value_counts()\n", + "execution_count": 86, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 86, + "data": { + "text/plain": "MnPrv 157\nGdPrv 59\nGdWo 54\nMnWw 11\nName: Fence, dtype: int64" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "1e5947af2296afe777c0a87e9559745e4d9cae0b" + }, + "cell_type": "markdown", + "source": "Copy Id for test and train data set" + }, + { + "metadata": { + "trusted": true, + "_uuid": "678050c147b1335649fe6b2f66fc8509935a7c77", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train_id=train['Id'].copy()\ntest_id=test['Id'].copy()", + "execution_count": 87, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "cell_type": "markdown", + "source": "**to check the first 5 rows of the data set, we can use head(5).**" + }, + { + "metadata": { + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.head(5) ", + "execution_count": 88, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 88, + "data": { + "text/plain": " Id MSSubClass MSZoning ... SaleType SaleCondition SalePrice\n0 1 60 RL ... WD Normal 208500\n1 2 20 RL ... WD Normal 181500\n2 3 60 RL ... WD Normal 223500\n3 4 70 RL ... WD Abnorml 140000\n4 5 60 RL ... WD Normal 250000\n\n[5 rows x 81 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IdMSSubClassMSZoningLotFrontageLotAreaStreetAlleyLotShapeLandContourUtilitiesLotConfigLandSlopeNeighborhoodCondition1Condition2BldgTypeHouseStyleOverallQualOverallCondYearBuiltYearRemodAddRoofStyleRoofMatlExterior1stExterior2ndMasVnrTypeMasVnrAreaExterQualExterCondFoundationBsmtQualBsmtCondBsmtExposureBsmtFinType1BsmtFinSF1BsmtFinType2BsmtFinSF2BsmtUnfSFTotalBsmtSFHeating...CentralAirElectrical1stFlrSF2ndFlrSFLowQualFinSFGrLivAreaBsmtFullBathBsmtHalfBathFullBathHalfBathBedroomAbvGrKitchenAbvGrKitchenQualTotRmsAbvGrdFunctionalFireplacesFireplaceQuGarageTypeGarageYrBltGarageFinishGarageCarsGarageAreaGarageQualGarageCondPavedDriveWoodDeckSFOpenPorchSFEnclosedPorch3SsnPorchScreenPorchPoolAreaPoolQCFenceMiscFeatureMiscValMoSoldYrSoldSaleTypeSaleConditionSalePrice
0160RL65.0008450PaveNaNRegLvlAllPubInsideGtlCollgCrNormNorm1Fam2Story7520032003GableCompShgVinylSdVinylSdBrkFace196.000GdTAPConcGdTANoGLQ706Unf0150856GasA...YSBrkr85685401710102131Gd8Typ0NaNAttchd2003.000RFn2548TATAY0610000NaNNaNNaN022008WDNormal208500
1220RL80.0009600PaveNaNRegLvlAllPubFR2GtlVeenkerFeedrNorm1Fam1Story6819761976GableCompShgMetalSdMetalSdNone0.000TATACBlockGdTAGdALQ978Unf02841262GasA...YSBrkr1262001262012031TA6Typ1TAAttchd1976.000RFn2460TATAY29800000NaNNaNNaN052007WDNormal181500
2360RL68.00011250PaveNaNIR1LvlAllPubInsideGtlCollgCrNormNorm1Fam2Story7520012002GableCompShgVinylSdVinylSdBrkFace162.000GdTAPConcGdTAMnGLQ486Unf0434920GasA...YSBrkr92086601786102131Gd6Typ1TAAttchd2001.000RFn2608TATAY0420000NaNNaNNaN092008WDNormal223500
3470RL60.0009550PaveNaNIR1LvlAllPubCornerGtlCrawforNormNorm1Fam2Story7519151970GableCompShgWd SdngWd ShngNone0.000TATABrkTilTAGdNoALQ216Unf0540756GasA...YSBrkr96175601717101031Gd7Typ1GdDetchd1998.000Unf3642TATAY035272000NaNNaNNaN022006WDAbnorml140000
4560RL84.00014260PaveNaNIR1LvlAllPubFR2GtlNoRidgeNormNorm1Fam2Story8520002000GableCompShgVinylSdVinylSdBrkFace350.000GdTAPConcGdTAAvGLQ655Unf04901145GasA...YSBrkr1145105302198102141Gd9Typ1TAAttchd2000.000RFn3836TATAY192840000NaNNaNNaN0122008WDNormal250000
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "cell_type": "markdown", + "source": "1**to check out last 5 row of the data set, we use tail() function**" + }, + { + "metadata": { + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.tail() ", + "execution_count": 89, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 89, + "data": { + "text/plain": " Id MSSubClass MSZoning ... SaleType SaleCondition SalePrice\n1455 1456 60 RL ... WD Normal 175000\n1456 1457 20 RL ... WD Normal 210000\n1457 1458 70 RL ... WD Normal 266500\n1458 1459 20 RL ... WD Normal 142125\n1459 1460 20 RL ... WD Normal 147500\n\n[5 rows x 81 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IdMSSubClassMSZoningLotFrontageLotAreaStreetAlleyLotShapeLandContourUtilitiesLotConfigLandSlopeNeighborhoodCondition1Condition2BldgTypeHouseStyleOverallQualOverallCondYearBuiltYearRemodAddRoofStyleRoofMatlExterior1stExterior2ndMasVnrTypeMasVnrAreaExterQualExterCondFoundationBsmtQualBsmtCondBsmtExposureBsmtFinType1BsmtFinSF1BsmtFinType2BsmtFinSF2BsmtUnfSFTotalBsmtSFHeating...CentralAirElectrical1stFlrSF2ndFlrSFLowQualFinSFGrLivAreaBsmtFullBathBsmtHalfBathFullBathHalfBathBedroomAbvGrKitchenAbvGrKitchenQualTotRmsAbvGrdFunctionalFireplacesFireplaceQuGarageTypeGarageYrBltGarageFinishGarageCarsGarageAreaGarageQualGarageCondPavedDriveWoodDeckSFOpenPorchSFEnclosedPorch3SsnPorchScreenPorchPoolAreaPoolQCFenceMiscFeatureMiscValMoSoldYrSoldSaleTypeSaleConditionSalePrice
1455145660RL62.0007917PaveNaNRegLvlAllPubInsideGtlGilbertNormNorm1Fam2Story6519992000GableCompShgVinylSdVinylSdNone0.000TATAPConcGdTANoUnf0Unf0953953GasA...YSBrkr95369401647002131TA7Typ1TAAttchd1999.000RFn2460TATAY0400000NaNNaNNaN082007WDNormal175000
1456145720RL85.00013175PaveNaNRegLvlAllPubInsideGtlNWAmesNormNorm1Fam1Story6619781988GableCompShgPlywoodPlywoodStone119.000TATACBlockGdTANoALQ790Rec1635891542GasA...YSBrkr2073002073102031TA7Min12TAAttchd1978.000Unf2500TATAY34900000NaNMnPrvNaN022010WDNormal210000
1457145870RL66.0009042PaveNaNRegLvlAllPubInsideGtlCrawforNormNorm1Fam2Story7919412006GableCompShgCemntBdCmentBdNone0.000ExGdStoneTAGdNoGLQ275Unf08771152GasA...YSBrkr1188115202340002041Gd9Typ2GdAttchd1941.000RFn1252TATAY0600000NaNGdPrvShed250052010WDNormal266500
1458145920RL68.0009717PaveNaNRegLvlAllPubInsideGtlNAmesNormNorm1Fam1Story5619501996HipCompShgMetalSdMetalSdNone0.000TATACBlockTATAMnGLQ49Rec102901078GasA...YFuseA1078001078101021Gd5Typ0NaNAttchd1950.000Unf1240TATAY3660112000NaNNaNNaN042010WDNormal142125
1459146020RL75.0009937PaveNaNRegLvlAllPubInsideGtlEdwardsNormNorm1Fam1Story5619651965GableCompShgHdBoardHdBoardNone0.000GdTACBlockTATANoBLQ830LwQ2901361256GasA...YSBrkr1256001256101131TA6Typ0NaNAttchd1965.000Fin1276TATAY736680000NaNNaNNaN062008WDNormal147500
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "cell_type": "markdown", + "source": "to pop up 5 random rows from the data set, we can use **sample(5)** function" + }, + { + "metadata": { + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.sample(5) ", + "execution_count": 90, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 90, + "data": { + "text/plain": " Id MSSubClass MSZoning ... SaleType SaleCondition SalePrice\n1214 1215 85 RL ... WD Normal 134500\n575 576 50 RL ... COD Abnorml 118500\n693 694 30 RL ... WD Abnorml 108480\n1346 1347 20 RL ... WD Normal 262500\n355 356 20 RL ... WD Normal 177500\n\n[5 rows x 81 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IdMSSubClassMSZoningLotFrontageLotAreaStreetAlleyLotShapeLandContourUtilitiesLotConfigLandSlopeNeighborhoodCondition1Condition2BldgTypeHouseStyleOverallQualOverallCondYearBuiltYearRemodAddRoofStyleRoofMatlExterior1stExterior2ndMasVnrTypeMasVnrAreaExterQualExterCondFoundationBsmtQualBsmtCondBsmtExposureBsmtFinType1BsmtFinSF1BsmtFinType2BsmtFinSF2BsmtUnfSFTotalBsmtSFHeating...CentralAirElectrical1stFlrSF2ndFlrSFLowQualFinSFGrLivAreaBsmtFullBathBsmtHalfBathFullBathHalfBathBedroomAbvGrKitchenAbvGrKitchenQualTotRmsAbvGrdFunctionalFireplacesFireplaceQuGarageTypeGarageYrBltGarageFinishGarageCarsGarageAreaGarageQualGarageCondPavedDriveWoodDeckSFOpenPorchSFEnclosedPorch3SsnPorchScreenPorchPoolAreaPoolQCFenceMiscFeatureMiscValMoSoldYrSoldSaleTypeSaleConditionSalePrice
1214121585RL69.00010205PaveNaNIR1LvlAllPubInsideGtlNAmesNormNorm1FamSFoyer5519621962GableCompShgMetalSdMetalSdNone0.000TATACBlockTATAAvBLQ784Unf0141925GasA...YSBrkr99900999101031TA6Typ0NaNAttchd1962.000Unf1300TATAY150720000NaNNaNNaN052006WDNormal134500
57557650RL80.0008480PaveNaNRegLvlAllPubInsideGtlNAmesNormNorm1Fam1.5Fin5519471950GableCompShgMetalSdMetalSdNone0.000TATACBlockTATANoRec442Unf0390832GasA...YSBrkr83238401216001021TA6Typ0NaNDetchd1947.000Unf1336TATAY1580102000NaNNaNNaN0102008CODAbnorml118500
69369430RL60.0005400PaveNaNRegLvlAllPubCornerSevOldTownNormNorm1Fam1Story5619211968GableCompShgMetalSdMetalSdNone0.000TATABrkTilTATANoUnf0Unf010731073GasA...YSBrkr1073001073001021TA4Typ0NaNDetchd1968.000Unf1326TATAY00112000NaNNaNNaN0122006WDAbnorml108480
1346134720RLnan20781PaveNaNIR2LvlAllPubCulDSacGtlNWAmesPosNNorm1Fam1Story7719682003HipCompShgBrkFaceHdBoardNone0.000TATACBlockTATANoBLQ297Rec6812031568GasA...YSBrkr2156002156002031TA9Typ1GdAttchd1968.000RFn2508GdTAY080029000NaNNaNNaN062006WDNormal262500
35535620RL105.00011249PaveNaNIR2LvlAllPubInsideGtlCollgCrNormNorm1Fam1Story6519951995GableCompShgVinylSdVinylSdNone0.000GdGdPConcGdGdNoALQ334BLQ5443221200GasA...YSBrkr1200001200102031Gd6Typ0NaNAttchd1995.000RFn2521TATAY0260000NaNNaNNaN082007WDNormal177500
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "cell_type": "markdown", + "source": "To give a **statistical summary** about the dataset, we can use **describe()" + }, + { + "metadata": { + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.describe() ", + "execution_count": 91, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 91, + "data": { + "text/plain": " Id MSSubClass LotFrontage ... MoSold YrSold SalePrice\ncount 1460.000 1460.000 1201.000 ... 1460.000 1460.000 1460.000\nmean 730.500 56.897 70.050 ... 6.322 2007.816 180921.196\nstd 421.610 42.301 24.285 ... 2.704 1.328 79442.503\nmin 1.000 20.000 21.000 ... 1.000 2006.000 34900.000\n25% 365.750 20.000 59.000 ... 5.000 2007.000 129975.000\n50% 730.500 50.000 69.000 ... 6.000 2008.000 163000.000\n75% 1095.250 70.000 80.000 ... 8.000 2009.000 214000.000\nmax 1460.000 190.000 313.000 ... 12.000 2010.000 755000.000\n\n[8 rows x 38 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IdMSSubClassLotFrontageLotAreaOverallQualOverallCondYearBuiltYearRemodAddMasVnrAreaBsmtFinSF1BsmtFinSF2BsmtUnfSFTotalBsmtSF1stFlrSF2ndFlrSFLowQualFinSFGrLivAreaBsmtFullBathBsmtHalfBathFullBathHalfBathBedroomAbvGrKitchenAbvGrTotRmsAbvGrdFireplacesGarageYrBltGarageCarsGarageAreaWoodDeckSFOpenPorchSFEnclosedPorch3SsnPorchScreenPorchPoolAreaMiscValMoSoldYrSoldSalePrice
count1460.0001460.0001201.0001460.0001460.0001460.0001460.0001460.0001452.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001379.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.000
mean730.50056.89770.05010516.8286.0995.5751971.2681984.866103.685443.64046.549567.2401057.4291162.627346.9925.8451515.4640.4250.0581.5650.3832.8661.0476.5180.6131978.5061.767472.98094.24546.66021.9543.41015.0612.75943.4896.3222007.816180921.196
std421.61042.30124.2859981.2651.3831.11330.20320.645181.066456.098161.319441.867438.705386.588436.52848.623525.4800.5190.2390.5510.5030.8160.2201.6250.64524.6900.747213.805125.33966.25661.11929.31755.75740.177496.1232.7041.32879442.503
min1.00020.00021.0001300.0001.0001.0001872.0001950.0000.0000.0000.0000.0000.000334.0000.0000.000334.0000.0000.0000.0000.0000.0000.0002.0000.0001900.0000.0000.0000.0000.0000.0000.0000.0000.0000.0001.0002006.00034900.000
25%365.75020.00059.0007553.5005.0005.0001954.0001967.0000.0000.0000.000223.000795.750882.0000.0000.0001129.5000.0000.0001.0000.0002.0001.0005.0000.0001961.0001.000334.5000.0000.0000.0000.0000.0000.0000.0005.0002007.000129975.000
50%730.50050.00069.0009478.5006.0005.0001973.0001994.0000.000383.5000.000477.500991.5001087.0000.0000.0001464.0000.0000.0002.0000.0003.0001.0006.0001.0001980.0002.000480.0000.00025.0000.0000.0000.0000.0000.0006.0002008.000163000.000
75%1095.25070.00080.00011601.5007.0006.0002000.0002004.000166.000712.2500.000808.0001298.2501391.250728.0000.0001776.7501.0000.0002.0001.0003.0001.0007.0001.0002002.0002.000576.000168.00068.0000.0000.0000.0000.0000.0008.0002009.000214000.000
max1460.000190.000313.000215245.00010.0009.0002010.0002010.0001600.0005644.0001474.0002336.0006110.0004692.0002065.000572.0005642.0003.0002.0003.0002.0008.0003.00014.0003.0002010.0004.0001418.000857.000547.000552.000508.000480.000738.00015500.00012.0002010.000755000.000
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "031d16ca235837e889734635ecff193be64b27a4" + }, + "cell_type": "markdown", + "source": "To check out how many null info are on the dataset, we can use **isnull().sum()" + }, + { + "metadata": { + "_uuid": "8807b632269e2fa734ad26e8513199400fc09a83", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.isnull().sum().head(2)", + "execution_count": 92, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 92, + "data": { + "text/plain": "Id 0\nMSSubClass 0\ndtype: int64" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "446e6162e16325213047ff31454813455668b574", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.groupby('SaleType').count()", + "execution_count": 93, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 93, + "data": { + "text/plain": " Id MSSubClass ... SaleCondition SalePrice\nSaleType ... \nCOD 43 43 ... 43 43\nCWD 4 4 ... 4 4\nCon 2 2 ... 2 2\nConLD 9 9 ... 9 9\nConLI 5 5 ... 5 5\nConLw 5 5 ... 5 5\nNew 122 122 ... 122 122\nOth 3 3 ... 3 3\nWD 1267 1267 ... 1267 1267\n\n[9 rows x 80 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IdMSSubClassMSZoningLotFrontageLotAreaStreetAlleyLotShapeLandContourUtilitiesLotConfigLandSlopeNeighborhoodCondition1Condition2BldgTypeHouseStyleOverallQualOverallCondYearBuiltYearRemodAddRoofStyleRoofMatlExterior1stExterior2ndMasVnrTypeMasVnrAreaExterQualExterCondFoundationBsmtQualBsmtCondBsmtExposureBsmtFinType1BsmtFinSF1BsmtFinType2BsmtFinSF2BsmtUnfSFTotalBsmtSFHeatingHeatingQCCentralAirElectrical1stFlrSF2ndFlrSFLowQualFinSFGrLivAreaBsmtFullBathBsmtHalfBathFullBathHalfBathBedroomAbvGrKitchenAbvGrKitchenQualTotRmsAbvGrdFunctionalFireplacesFireplaceQuGarageTypeGarageYrBltGarageFinishGarageCarsGarageAreaGarageQualGarageCondPavedDriveWoodDeckSFOpenPorchSFEnclosedPorch3SsnPorchScreenPorchPoolAreaPoolQCFenceMiscFeatureMiscValMoSoldYrSoldSaleConditionSalePrice
SaleType
COD4343433243433434343434343434343434343434343434343434343434342424242434243434343434343434343434343434343434343434315434343434343434343434343434301324343434343
CWD44444414444444444444444444444444444444444444444444444444434444444444444402044444
Con22222202222222222222222222222222222222222222222222222222212222222222222200022222
ConLD99989909999999999999999999999988889899999999999999999999937779977999999902199999
ConLI55545515555555555555555555555555555555555555555555555555534445544555555501155555
ConLw55555505555555555555555555555555555555555555555555555555544445544555555500055555
New122122122121122122712212212212212212212212212212212212212212212212212212211911912212212212212212212212212212212212212212212212212212212212212212212212212212212212212212285120120120122122120120122122122122122122122100122122122122122
Oth33333303333333333333333333333333333333333333333333333333301113311333333301133333
WD12671267126710221267126779126712671267126712671267126712671267126712671267126712671267126712671267126212621267126712671232123212311232126712311267126712671267126712671266126712671267126712671267126712671267126712671267126712676561194119411941267126711941194126712671267126712671267126762624912671267126712671267
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + }, + "cell_type": "markdown", + "source": "to print dataset **columns**, we can use columns atribute" + }, + { + "metadata": { + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.columns", + "execution_count": 94, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 94, + "data": { + "text/plain": "Index(['Id', 'MSSubClass', 'MSZoning', 'LotFrontage', 'LotArea', 'Street',\n 'Alley', 'LotShape', 'LandContour', 'Utilities', 'LotConfig',\n 'LandSlope', 'Neighborhood', 'Condition1', 'Condition2', 'BldgType',\n 'HouseStyle', 'OverallQual', 'OverallCond', 'YearBuilt', 'YearRemodAdd',\n 'RoofStyle', 'RoofMatl', 'Exterior1st', 'Exterior2nd', 'MasVnrType',\n 'MasVnrArea', 'ExterQual', 'ExterCond', 'Foundation', 'BsmtQual',\n 'BsmtCond', 'BsmtExposure', 'BsmtFinType1', 'BsmtFinSF1',\n 'BsmtFinType2', 'BsmtFinSF2', 'BsmtUnfSF', 'TotalBsmtSF', 'Heating',\n 'HeatingQC', 'CentralAir', 'Electrical', '1stFlrSF', '2ndFlrSF',\n 'LowQualFinSF', 'GrLivArea', 'BsmtFullBath', 'BsmtHalfBath', 'FullBath',\n 'HalfBath', 'BedroomAbvGr', 'KitchenAbvGr', 'KitchenQual',\n 'TotRmsAbvGrd', 'Functional', 'Fireplaces', 'FireplaceQu', 'GarageType',\n 'GarageYrBlt', 'GarageFinish', 'GarageCars', 'GarageArea', 'GarageQual',\n 'GarageCond', 'PavedDrive', 'WoodDeckSF', 'OpenPorchSF',\n 'EnclosedPorch', '3SsnPorch', 'ScreenPorch', 'PoolArea', 'PoolQC',\n 'Fence', 'MiscFeature', 'MiscVal', 'MoSold', 'YrSold', 'SaleType',\n 'SaleCondition', 'SalePrice'],\n dtype='object')" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "f19c27cec4367f8b176d2609f12d22afbd7e1e0d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type((train.columns))", + "execution_count": 95, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 95, + "data": { + "text/plain": "pandas.core.indexes.base.Index" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "22bc5d81c18275ee1fb082c0adbb7a65bdbec4cc" + }, + "cell_type": "markdown", + "source": "**<< Note 2 >>**\nin pandas's data frame you can perform some query such as \"where\"" + }, + { + "metadata": { + "_uuid": "8b545ff7e8367c5ab9c1db710f70b6936ac8422c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train[train['SalePrice']>700000]", + "execution_count": 96, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 96, + "data": { + "text/plain": " Id MSSubClass MSZoning ... SaleType SaleCondition SalePrice\n691 692 60 RL ... WD Normal 755000\n1182 1183 60 RL ... WD Abnorml 745000\n\n[2 rows x 81 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IdMSSubClassMSZoningLotFrontageLotAreaStreetAlleyLotShapeLandContourUtilitiesLotConfigLandSlopeNeighborhoodCondition1Condition2BldgTypeHouseStyleOverallQualOverallCondYearBuiltYearRemodAddRoofStyleRoofMatlExterior1stExterior2ndMasVnrTypeMasVnrAreaExterQualExterCondFoundationBsmtQualBsmtCondBsmtExposureBsmtFinType1BsmtFinSF1BsmtFinType2BsmtFinSF2BsmtUnfSFTotalBsmtSFHeating...CentralAirElectrical1stFlrSF2ndFlrSFLowQualFinSFGrLivAreaBsmtFullBathBsmtHalfBathFullBathHalfBathBedroomAbvGrKitchenAbvGrKitchenQualTotRmsAbvGrdFunctionalFireplacesFireplaceQuGarageTypeGarageYrBltGarageFinishGarageCarsGarageAreaGarageQualGarageCondPavedDriveWoodDeckSFOpenPorchSFEnclosedPorch3SsnPorchScreenPorchPoolAreaPoolQCFenceMiscFeatureMiscValMoSoldYrSoldSaleTypeSaleConditionSalePrice
69169260RL104.00021535PaveNaNIR1LvlAllPubCornerGtlNoRidgeNormNorm1Fam2Story10619941995GableWdShnglHdBoardHdBoardBrkFace1170.000ExTAPConcExTAGdGLQ1455Unf09892444GasA...YSBrkr2444187204316013141Ex10Typ2ExAttchd1994.000Fin3832TATAY382500000NaNNaNNaN012007WDNormal755000
1182118360RL160.00015623PaveNaNIR1LvlAllPubCornerGtlNoRidgeNormNorm1Fam2Story10519961996HipCompShgWd SdngImStuccNone0.000GdTAPConcExTAAvGLQ2096Unf03002396GasA...YSBrkr2411206504476103141Ex10Typ2TAAttchd1996.000Fin3813TATAY17178000555ExMnPrvNaN072007WDAbnorml745000
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "85d23b77d7fb1bb3e000535dc2475aca5862f242" + }, + "cell_type": "markdown", + "source": "
\n## 6-1-2 Target Value Analysis\nAs you know **SalePrice** is our target value that we should predict it then now we take a look at it" + }, + { + "metadata": { + "_uuid": "2d891ad744dec398f3920ce0fd9458c00671ed7b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train['SalePrice'].describe()", + "execution_count": 97, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 97, + "data": { + "text/plain": "count 1460.000\nmean 180921.196\nstd 79442.503\nmin 34900.000\n25% 129975.000\n50% 163000.000\n75% 214000.000\nmax 755000.000\nName: SalePrice, dtype: float64" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "09f6d29aa3a63f1d0d3033e7ef6b544fd8035889" + }, + "cell_type": "markdown", + "source": "Flexibly plot a univariate distribution of observations.\n\n" + }, + { + "metadata": { + "_uuid": "c7dceaddee057bb78a930c519221d3ad43eed360", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.set(rc={'figure.figsize':(9,7)})\nsns.distplot(train['SalePrice']);", + "execution_count": 98, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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dOkS9uzZAwA4fPgw6urqACDvbW+99Rb+5E/+BMFgEOl0Gs888wy+853v4JFHHlnl26V86XQal296cc+6Ckgij8miuXQaFR67rxaP3VeLfncQb11z462rw/jpsx/DqFfj05uqsHaNacb0GxFRsckoIG3cuHHGOUOTnnrqqam/S5KE9vb2eR+f77b7778fL7744rxttLiBkRBGA1Fs31ApdylUBGpsRtTYjPhPD63D29fd+NdfXceLl1yo6hnFg1vtqDQvvriciKhQcYiAZrh8c+L4Bq4/ouUQBAEN66xoeWgdPrttDUKROP7j9V4MjITkLo2IaEUYkGiGD7s9cFaVwcrf/EuKIAoIRRML/kmkMnseURBwV60Fjzeug8mgwXNv96Hb5c9t8UREOcBt/jQlGkvi2m0fvvjpWrlLoTyLxpO4dN29YPuuBvuyns+gU6H5gTr8+p1+vHTJhUgsueznICKSE0eQaMq126NIJNNcf0RzCKKAYW940VGm2RvYNGoJj91fi7pqI968MoxXL7vkKZ6IaAU4gkRTPrjphUYlYlMd779GM0XjSVy5NbzoQZA7N9nmfE4lifj8vU48904ffvrcx6izGbFlbUUuSyUiygqOINGUy91ebK6vgFolyV0KKYgoCvjcTieqy/X4wc8vY8gblrskIqIlMSARAMDtG8eQN4xtG7h7jbJPo5bwZOtWCIKA//az9xGKxOUuiYhoUQxIBAB46+owAGDHRq4/otywlevxX57YjhHfOP7xFx/k9V6HRETLxYBESKfTePF9F+6utcBeUdh3W6fitqmuHP9L82Z82DOKp1+8IXc5REQLYkAifNQ3hiFvGI/scMpdCpWAz+104tF7nfjla71TI5dERIWGAYnw0vsD0Gkk7NpSLXcpVCJ+t2kTNjrN+H/PXUE/T9smogLEgFTixqMJvHl1GA802KHVcPca5YdaJeJbv7UdWpWI7//bZYQjCblLIiKagQGpxL1xZQixeAqP7HDM+HwihUUPBZzvYECixcy+nYlGI+E/P94At28cf//0+4jEM7yfCRFRHvCgyBL30vsuOKvKsMFpnvH5aDyBN68MLfrY+Q4GJFrIQrczadxqxyuXB/GjZz7EH7RugygIMlRHRDQTR5BKWL87iJsDfjyywwGBP5RIJhtrLPjUpiq8ddWNn/2aO9uIqDBwBKmEvfS+C5Io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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "b8c91bd9590ebb02f166c6d07a401faa8d263261" + }, + "cell_type": "markdown", + "source": "
\n### 6-1-3 Skewness vs Kurtosis\n1. Skewness\n 1. It is the degree of distortion from the symmetrical bell curve or the normal distribution. It measures the lack of symmetry in data distribution. It differentiates extreme values in one versus the other tail. A symmetrical distribution will have a skewness of 0.\n\n1. Kurtosis\n 1. Kurtosis is all about the tails of the distribution — not the peakedness or flatness. It is used to describe the extreme values in one versus the other tail. It is actually the measure of outliers present in the distribution.\n" + }, + { + "metadata": { + "_uuid": "a4fe40f3d3f57bf1369c7b9847c5c05ec704c0b6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#skewness and kurtosis\nprint(\"Skewness: %f\" % train['SalePrice'].skew())\nprint(\"Kurtosis: %f\" % train['SalePrice'].kurt())", + "execution_count": 99, + "outputs": [ + { + "output_type": "stream", + "text": "Skewness: 1.882876\nKurtosis: 6.536282\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" + }, + "cell_type": "markdown", + "source": "
\n## 6-2 Visualization\n**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns.\n\nWith interactive visualization, you can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data you see and how it’s processed.[SAS]\n\n In this section I show you **11 plots** with **matplotlib** and **seaborn** that is listed in the blew picture:\n \n" + }, + { + "metadata": { + "_uuid": "b0014a7a52e714996bc443981c853095926d20e5" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-1 Scatter plot\n\nScatter plot Purpose To identify the type of relationship (if any) between two quantitative variables\n\n\n" + }, + { + "metadata": { + "_uuid": "af099546eed64ebc796403d4139cb4c977c27b03", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Modify the graph above by assigning each species an individual color.\ncolumns = ['SalePrice','OverallQual','TotalBsmtSF','GrLivArea','GarageArea','FullBath','YearBuilt','YearRemodAdd']\ng=sns.FacetGrid(train[columns], hue=\"OverallQual\", size=5) \\\n .map(plt.scatter, \"OverallQual\", \"SalePrice\") \\\n .add_legend()\ng=g.map(plt.scatter, \"OverallQual\", \"SalePrice\",edgecolor=\"w\").add_legend();\nplt.show()\n", + "execution_count": 100, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeIAAAFcCAYAAAAUKb2mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3Xl4lNXd+P/3LJktQ5bJxiQGwqIYloBCq7a2tiAEBQSLCg9WcW3V1qVVL2214Nf2sUVtK2p9XNqvtc/PVqtWkM1Ewef71epXpYohhH0NScg2MwmTzH7P74/IwJQAAWfOhMzndV1cl7lv5j7HQ+CTc5/P+RxdNBqNIoQQQoiU0Ke6A0IIIUQ6k0AshBBCpJAEYiGEECKFJBALIYQQKSSBWAghhEghCcRCCCFECkkgFkIIIVJIArEQQgiRQsoC8XvvvcecOXOYPXs2l112GdXV1QDs3r2befPmUVlZybx589izZ0/sM6rvCSGEEMpFFdA0LTpp0qTo1q1bo9FoNLp58+bohAkTopFIJHrNNddEly1bFo1Go9Fly5ZFr7nmmtjnVN8TQgghVFM2I9br9Rw8eBCAgwcPUlhYiNvtpq6ujpkzZwIwc+ZM6urqcLlctLe3K70nhBBCpIJRRSM6nY4nnniC2267DZvNRldXF88//zxNTU0UFRVhMBgAMBgMFBYW0tTURDQaVXrP4XCoGAohhBAijpIZcTgc5rnnnuOZZ57hvffe47/+67+466676O7uVtG8EEII0W8pmRFv3ryZlpYWJk6cCMDEiROxWq2YzWaam5uJRCIYDAYikQgtLS04nU6i0ajSeyejvd2Lpp3+h1YVFAyitfVgqruRUjIGMgYgYwCJHYOCgkEJeU66UDIjHjx4MAcOHGDXrl0A7Ny5k/b2doYOHUp5eTkrV64EYOXKlZSXl+NwOMjLy1N6TwghhEgFXTSq5jzit956ixdeeAGdTgfAHXfcwcUXX8zOnTu5//776ezsJCsriyVLljB8+HAA5ff6SmbEA4eMgYwByBiAzIhTSVkgHkgkEA8cMgYyBiBjABKIU0kqawkhhBApJIFYCCGESCEJxEIIIUQKSSAWQgghUkgCsRBCCJFCEoiFEEKIFJJALIQQQqSQBGIhhBAihSQQCyFEGmsMBAlbjWjRKGGrkcZAMNVdSjtKDn0QQgjR/zQGghQ77LxUs5cdbi8jc+0srBhKo8tLsdmU6u6lDZkRCyFEmirMsfFSzV62urxEorDV5eWlmr0U5thS3bW0IoFYCCHSVFGmhR1ub9y1HW4vRZmWFPUoPcmraSGESFPNXX5mjBjMuc5cnHYLTV4/nzW5ae7yS3BQSMZaCCHSVNtBP98aUsAfN+yOrRHfNGEY9W4vg40SHlSRV9NCCJGm8gdZ+OOG3XFrxH/csJv8QfJqWiUJxEIIkaZkjbh/kEAshBBpqrnLz8hce9y1kbl2mrv8KepRepJALIQQaarF083CiqGMctgx6GCUo2cfcYunO9VdSyuyGi+EEGmq2Gyi0eXl6rGlFGVaaO7ySzGPFJAZsRBCpLFiswmjL4xep8PoC0sQTgEJxEIIIUQKSSAWQgghUkgCsRBCCJFCEoiFEEKIFJJALIQQQqSQBGIhhBAihSQQCyGEECmkpKDH/v37+dGPfhT7+uDBg3i9Xj755BN2797N/fffj8fjIScnhyVLllBWVgag/J4QQgihmpIZ8RlnnMHy5ctjv6ZMmcLMmTMBWLx4MQsWLKCqqooFCxawaNGi2OdU3xNCCCFUU/5qOhgMsmLFCubOnUt7ezt1dXWxoDxz5kzq6upwuVzK7wkhhBCpoLzW9Lp16ygqKmLMmDHU1tZSVFSEwWAAwGAwUFhYSFNTE9FoVOk9h8OheiiEEEII9YH4jTfeYO7cuaqbTai8PPuJf9NpoqBgUKq7kHIyBjIGIGMAMgapojQQNzc38+mnn/Loo48C4HQ6aW5uJhKJYDAYiEQitLS04HQ6iUajSu+djPZ2L5oWTcYQKVVQMIjW1oOp7kZKyRjIGICMASR2DCSgnxyla8RvvvkmF110Ebm5uQDk5eVRXl7OypUrAVi5ciXl5eU4HA7l94QQQohU0EWjUWVTu8rKSh544AG+/e1vx67t3LmT+++/n87OTrKysliyZAnDhw9Pyb2+khnxwCFjIGMAMgYgM+JUUhqIBwoJxAOHjIGMAcgYgATiVJLKWkIIIUQKSSAWQgghUkgCsRBCCJFCEoiFEEKIFJJALIQQQqSQBGIhhBAihSQQCyGEECkkgVgIIYRIIQnEQgghRApJIBZCCCFSSAKxEEIIkUISiIUQQogUkkAshBBCpJAEYiGEECKFJBALIYQQKSSBWAghhEghCcRCCCFECkkgFkIIIVJIArEQQgiRQhKIhRAijTUGgoStRrRolLDVSGMgmOoupR1jqjsghBAiNRoDQYoddl6q2csOt5eRuXYWVgyl0eWl2GxKdffShsyIhRAiTRXm2HipZi9bXV4iUdjq8vJSzV4Kc2yp7lpakUAshBBpqijTwg63N+7aDreXokxLinqUniQQCyFEmmru8jMy1x53bWSuneYuf4p6lJ4kEAshRIpowUbs1m7y8zOxW7vRgo1K22/xdLOwYiijHHYMOhjl6FkjbvF0K+1HupNkLSGESAEt2EhObj57Nr2G17Mbe84wysZcicfdiN5UrKQPxWYTjS4vV48tpSjTQnOXXxK1UkBmxEIIkQJZ2Tk9Qdi9E6IaXvdO9mx6jazsHKX9KDabMPrC6HU6jL6wBOEUUBaIA4EAixcvZtq0acyaNYtf/OIXAOzevZt58+ZRWVnJvHnz2LNnT+wzqu8JIYQqlswCvJ7dcde8nt1YMgtS1CORKsoC8WOPPYbZbKaqqooVK1Zw5513ArB48WIWLFhAVVUVCxYsYNGiRbHPqL4nhBCq+LtasecMi7tmzxmGv6s1RT0SqaIkEHd1dbFs2TLuvPNOdDodAPn5+bS3t1NXV8fMmTMBmDlzJnV1dbhcLuX3hBBCpc4OD2VjrsSeOwJ0euy5IygbcyWdHZ5Ud00opiRZq76+npycHJ5++mk+/vhjMjMzufPOO7FYLBQVFWEwGAAwGAwUFhbS1NRENBpVes/hcKgYCiGEAEBvKsbjbmRI+eVYMgvwd7XicbcpS9QS/YeSQByJRKivr2f06NHcd999fPHFF9xyyy0sXbpURfMJl5dnP/FvOk0UFAxKdRdSTsZAxgBSNQajYv9ltRdhtReloA+HyfdBaigJxE6nE6PRGHslPH78eHJzc7FYLDQ3NxOJRDAYDEQiEVpaWnA6nUSjUaX3TkZ7uxdNiyZjqJQqKBhEa+vBVHcjpWQMZAxAxgASOwYS0E+OkjVih8PBeeedxz//+U+gJ3O5vb2dsrIyysvLWblyJQArV66kvLwch8NBXl6e0ntCCCFEKuii0aiSqV19fT0///nP8Xg8GI1G7rrrLi666CJ27tzJ/fffT2dnJ1lZWSxZsoThw4cDKL/XVzIjHjhkDGQMIHVjoAUbycrOia0Rd3Z4UrZGLDPi1FEWiAcSCcQDh4yBjAGkZgyOXVkrNQlbEohTRyprCSFECvSXyloi9SQQCyFECkhlLXGIBGIhhEiBdK2s1drayiWXXMLo0aMZM2YM559/Ph9++GHS2500aRJ///vfARg9ejRbtmzptT/nnXce//M///OV2ho1atSJf9MRJBALIUQKpGtlrauuugpN09iwYQObNm1i8uTJ3HTTTXi93q/0XL//1M5Q/vf+TJkyhVtvvRWPR92fgwRiIYRIgZ7KWm0MKb+ccy/+NUPKLx/wlbU+/vhjGhsbeemllzCZek55euSRR7Barfzyl7/kggsuiP3ef/7zn4wdOxaAvXv38p3vfIcJEyZQUVHB448/DsADDzzAN77xDb7+9a/z9a9/HYBvf/vbjB8/nnHjxrFw4cJT6o/NZuORRx4B4mfP69evj/Xpiy++YOLEibG2vkqBKgnEQgiRInpTMV6fjba2Lrw+24AOwgAfffQRZrOZwYMHx10vLS1l69ateDwe9u7dC8Bzzz3HxIkTAbjhhhu45ppr2LBhA6tWreLFF1+kubkZAJfLxd/+9jdqamoA+Mtf/sIXX3zBp59+ysaNG6mqqjql/mzbtu24/y9Dhw5l7dq1fPHFF7zxxhs899xzaJp2cgPyJQnEQgghUk6v13PWWWfx9NNPA/DZZ59x6623AtDQ0MDSpUupqKhgxowZsVfJACUlJYwYMSL2nIceeoiKigq+9rWv0d3dzaeffnpK/Tl0QNGx+P1+rrzySsaNG8cVV1xBJBI5YfA+FgnEQgiRIlqwEbu1m/z8TOzWbrRgY6q7lFQXXHABgUAgNps9pL6+nrPPPptrrrmG9957j1WrVmE0Gjn//PNjv2ft2rXU1NRQU1PD5s2bqaysBMBsNsd+z0svvcSGDRt477332LhxI06nE5/Pd0r9OfSqW6fTEYlEAOLWse+9915sNhv/+te/qKmpQa/Xn/I6twRiIYRIgUMFPfZtfpPP3v0Z+za/SU5uvvJg3BgIErYa0aJRwlYjjYFg0to677zzcDqdLFy4kGCwp51f/OIX+Hw+7r//fq644gp8Ph+//e1v+eY3vxn7XHFxMffcc0/s6+XLl/f6fJfLhdlsJi8vj9raWpqamk6pP9FolDvvvBOAzMxM3nnnHQD+/Oc/xz7r9XrJz8/HZDLx9NNPn/JraZBALIQQKdEfCno0BoIUO+y8XFvPbW9/zsu19RQ77EkNxq+++ioAEyZMYMyYMVRXV/Pss8+SlZUFwLhx42hoaOD222+PfebFF19k3759jBs3jnHjxvHrX/+612f/4Ac/QK/XM3bsWG688UYKCk68J/vI/pSXl7N8+XLeeecdbDYbAD/96U954YUXGD9+PIFAIPa5++67j08//ZRx48bFZvCnSkpcngIpcTlwyBjIGEBqxiA/P5PP3v0ZRI+YSen0nHvxr2lr61LSh7DVyMu19Wx1HX6lOsph5+qxpRh94VN+7ula4nLLli1cddVVfPe731V6TK+SYxCFEELEO1TQw+veGbt2uKCHTUkfijIt7HDHr2vucHspyrTQ7vtq+3pPR2effXYs+1oleTUthBAp0B8KejR3+RmZa4+7NjLXTnPXqRXHEKdGZsRCCJECPQU9GhlSfnnsGETVBT1aPN0srBjKSzV72eH2MjLXzsKKoTS6vBSbTcr6ke4kEAsh0pbH04rDkY2maej1QVyuDnJy1B260FPQA7y+LsCG3qTmlfQhxWYTjS4vV48tpSjTQnOXX4JwCkggFkKkJY+nlYICB9XV1TQ0NFBSUsK0adNobW1VGoxTrdhsAl8YvV2H0ReWIJwCskYshEhLDkc21dXV1NfXo2ka9fX1VFdX43Bkp7prIs1IIBZCpKXc3FwaGhrirjU0NJCbm5uiHolUmjt3LqNHj2bUqFGxAh6qSCAWQqQlt9tNSUlJ3LWSkhLcbneKeiRS6Xvf+x5/+9vfMBgMytuWQCyESEsuVwfTpk2jtLQUvV5PaWkp06ZNw+XqSHXXxDFs2tVGffNBIlqU+uaDbNrVlrBnX3311YwfPz5hzzsZkqwlhEhLOTkFtLa2MmXKFHJzc3G73bS2utIqUet0smlXG3nZVp58dQN1u9sZPSyPO+ZNYNOuNsYMz091974SmRELIdJWTk4BmmZCr9ejaSYJwv1YVqaZJ1/dwMadbUS0KBt3tvHkqxvIyjSf+MP9nARiIYQQ/V5xgZ263e1x1+p2t1NcYD/GJ04fEoiFEEL0e42tXkYPy4u7NnpYHo2tp39NbAnEQggh+r3OrgB3zJvAuBH5GPQ6xo3I5455E+jsCpz4w31w2WWXUV5eTiQS4fbbb2fcuHEJeW5fSLKWEEKIfm/M8Hw27Wrj1rkVFBfYaWz10t7hS1ii1ltvvZWQ55wKCcRCCCFOC0cG3dKiQcDpee7xv1P2anry5MlMnz6d2bNnM3v2bN5//30ANmzYwGWXXUZlZSU33HAD7e2HF+NV3xNCCJW0YCN2azf5+ZnYrd1owcZUd0mkgNI14ieffJLly5ezfPlyvvWtb6FpGvfeey+LFi2iqqqKSZMm8fjjjwMovyeEECppwUZycvPZt/lNPnv3Z+zb/CY5ufkSjNNQSpO1amtrMZvNTJo0CYD58+fz9ttvp+SeEEKolJWdw55Nr+F174Sohte9kz2bXiMrOyfVXROKKV0jvueee4hGo0ycOJGf/vSnNDU1UVx8+BBsh8OBpml4PB7l93Jy5JtfCKGOJbMAr2d33DWvZ3fPdV9XinolUkFZIH755ZdxOp0Eg0H+8z//k4cffpipU6eqaj6h8vJO/w3khxQUDIxkh69CxkDGANSPgc/bgj1nWM+M+Ev2nGH4u9ooKChU2pdD5PsgNZQFYqfTCYDJZGLBggXceuutXHvttTQ2Hl4Pcblc6PV6cnJycDqdSu+djPZ2L5oWPekx6G8KCgbR2now1d1IKRkDGQNIzRhoQTdlY67seT3t2Y09ZxhlY67E427D67Mq7QskdgwkoJ8cJWvE3d3dHDzY8wccjUZZvXo15eXljB07Fr/fz/r16wF45ZVXmD59OoDye0IIoZLeVIz3YBsjJlzLuRf/hhETrsV7sA29qfjEHxYJt2fPHs4//3zGjBnDuHHj+Na3vsXOnTtP/MEE0EWj0aRP7err67n99tuJRCJomsaIESN48MEHKSws5LPPPmPx4sUEAgFKSkp47LHHyM/v2Sum+l5fyYx44JAxkDGAVM2Ie7Kme5sRpyIYnw4z4u59dRhtWWQ4nIRcTYS7O7ENGZ2QZ+/du5f33nuP6667DoC5c+fi9XqpqqpKyPOPR0kgHmgkEA8cMgYyBpCaMbBbu9m3+c34NeLcEQwpvxyvz6a0L9D/A3H3vjoyBuXRuuoZ/PWbsZSWUzDjNkIH2xMWjI+0ZMkS3njjDT755JOEP/vfSa1pIYRIgeNlTYujGW1ZPUF4by1oEfx7a2ld9QxGW1bC2wqHw7zxxhucd955CX92byQQCyFECvi7WrHnDIu71pM13aq0H42BIGGrES0aJWw10hgIKm2/rzIcTvz1m+Ou+es3k+FwJrytOXPmkJGRwe9///uEP7s3EoiFECIFOjs8lI25EnvuCNDpseeOoGzMlXR2eJT1oTEQpNhh5+Xaem57+3Nerq2n2GHvl8E45GrCUloed81SWk7I1ZTQdubOnUtraytVVVUYjWo2FkkgFkKIFNCbivG42xhSfjnnXvxrhpRfrjxRqzDHxks1e9nq8hKJwlaXl5dq9lKYo36N+kTC3Z0UzLgNy9CxoDdgGTqWghm3Ee7uTFgb8+bNY+/evaxZswa7XV29CDl9SQghUkRvKsbr48tKWjb0JrUBsCjTwrlF2dxy7nAyMwx0hSJ80tBOUaaFdp9XaV9OxDZkNN376siffnMsazqRiVrvvvsuGzZswGg08p3vfAeArKwsPvjgg4Q8/3gkEAshRJryBkKc63Tw7Ge72OH2MjLXzk0ThuENhFLdtV4dGXRN+WdgSuCzL774YrZu3ZrAJ/advJoWQog0ZTDo+eOG3XGvpv+4YTcGg4QGlWS0hRAiTdmMBna4419B73B7sRkNKepRejqpQOx2u1m2bBkvvPACAM3NzRw4cCApHRNCCJFcXaEII3Pjk5JG5trpCkVS1KP01OdA/MknnzB9+nRWrFjBM888A/SUBHvooYeS1TchhBBJtLv9IDdNGMYohx2DDkY5etaId7end6U11fqcrPXII4/wxBNPcMEFF/C1r30NgPHjx1NTU5O0zgkhhEgeLaJh1MOt5w7HlmGgOxQhShQtokkqr0J9HuqGhgYuuOACAHQ6HQAZGRlEIvIKQwghToUWbCQrOwdLZgH+rlY6OzzK9xE/+1lPstYhoxx2rh5bCr6wsn6kuz6/mh4xYgTvv/9+3LUPP/yQs846K+GdEkKIge7Q6Uv7Nr/JZ+/+jH2b3yQnNx8t2HjiDydIUaal12StokyLsj70J9/85jepqKigoqKCiRMnsmrVKiXt9nlGfP/99/PDH/6Q73znO/j9fhYtWsS6deti68VCCHG68XhacTiy0TQNvT6Iy9VBTo6aQxeysnN6jkD88vQlr3sneza99uXpS0q6QHOXn5G59rgZ8chcO81d/rR8M/3666/jdPbUrv7tb3/Lz3/+c2bMmJH0dvs8I54wYQJvvfUWI0eOZO7cuZxxxhm8/vrrVFRUJLN/QgiRFB5PKwUFDtauXcvSpUtZu3YtBQUOPB41hy70h9OXWjzdXD++LC5Z6/rxZbR4upX14WRsbt1BQ+cBNE2jofMAm1t3JPT5h4IwgMejruZ3n3/oCQaDOBwObr755ti1UChEMBjEZEpkfRMhhEg+hyOb6upq6uvrAaivr6e6upopU6agaclvP+jzYM8ZFn8ecc4wgj4PkJH8DnzJqINrxw0h32amrTuAUaes6ZOyuXUHDmsOz37632xp3cHZBSO55WvXsLl1B+UFIxPWTmVlJfv27QPgqaeeSthzj6fPM+Lrr7+eTZs2xV3btGkTN954Y8I7JYQQyZabm0tDQ0PctYaGBnJzc9V0QKenbOxV8acvjb0KdOrqLBXm2Hhhwx4e+D91/HDN5zzwf+p4YcOefnnoQ5bZzrOf/jebWrYRiWpsatnGs5/+N1nmxB7OUFVVxebNm7nyyit58MEHE/rsY+nzjHjbtm2MHz8+7lpFRQVbtmxJeKeEECLZ3G43559/PmeeeSYOhwOXy8X27dtxu92Q0CrGvTNZsti98RWGlM/BklmIv6uFhu1vM2zcfPB2Jb19OH6yVn879MFpL2TLv72K3tK6A6e9MCntPfzww7z66qvs2bOHsrKypLRxSJ8D8aBBg2hra6Og4PD6RVtbG1arNSkdE0KIZOro6GTcuHGsXr2ahoYGSkpKuPTSS2lpaWXQoPykt+/vaiUU6KTuw9/GrtlzR+DvagXUzEibu/zMGDGYc525OO0Wmrx+Pmty98tkrSZvC2cXjGRTy7bYtbMLRtLkbaEka/BXfn5rayuNjY2xCecTTzyBXq9nyJAhX/nZJ9LnsZ42bRp33303Dz74IKWlpezbt4/f/OY3XHLJJcnsnxBCJEV2dhaNjY3MmjULi8WC3++nvr6evLw8JWvEnR0eysZc2ZM57dmNPWcYZWOu/PJMYjWBuO2gn28NKeCPG3bHnb5U7/Yy2Ni/QnFnwMstX7vmqDVil89DSQKe73a7ue666wiHw+h0OsxmM0uWLEGvT/5SgS4ajUb78hsDgQC/+c1v+Mc//kEwGMRsNvO9732P++67D7PZnOx+9ivt7V40rU/D1q8VFAyitTW9S9nJGKTvGOTlZdLd3X3UjNhms9HerubVcKoLeoStRl6ure+1oIfxKxT0KCgYlIjuHWVz6w6yzHac9kKavC10BrwJTdRKlT4H4kOi0Shut5vc3NxYha10I4F44JAxSN8xyMoysXz58ljWNEBpaSmzZ8+mszOYwp6pk5dv57a3PydyxD9nBh08M/0c2ttOfY04WYF4oDruu4f9+/dzxhlnAMR9swJ0dR3+ibG0tDQJXRNCiOQxmUy9Zk33bMdUE4hTPSOWgh79w3HHetasWXz++ecATJ06FZ1Ox79PoHU6HZs3b05eD4UQIgn8fj8lJSVxk4ySkhL8fr+S9rVgIzmOQvbUvnp4jXjsPDyuRmXBuMXTzcKKobxUsze2RrywYiiNLi/FZqkPocpJv5oW8mp6IJExSN8xOHiwDadzMH6/n+zsbDo6OrBYLDQ1HVCSNZ2VGWLPpr/HF/TIHUHZmKvo7FJX0KMxEKQwx0ZRpoXmLj8tnu6vHITl1fTJ6VM6WCQS4eKLLyYYTI91EyHEwBeJRAmHw7zzzjssXbqUd955h3A4TCSi5odskzW31xKXJquigiJfKjabMPrC6HU6jL6wzIRToE+B2GAwYDAYlL2yEUKIZHM4slmzZg319fVomkZ9fT1r1qzB4chW0r4WCWDPGRZ3zZ4zDC0SUNK+6D/6vEHq2muv5Sc/+QmffPIJ+/bto76+PvbrZDz99NOMGjWKbdt6NmVv2LCByy67jMrKSm644Qba29tjv1f1PSFE+kh1ictwyN9rictwSO2EpzEQJGw1okWjhK1GGgPy5lO1PgfiX/7yl/zzn//k2muvZdq0aUydOpWpU6cybdq0Pje2adMmNmzYQElJz/ZrTdO49957WbRoEVVVVUyaNInHH388JfeEEOmlu7s79m/RISUlJXR3qzl5yONqRqczMnTMFZx78a8ZOuYKdDojHlezkvahJwgXO+y8XFvPbW9/zsu19RQ77GkfjK+55hpGjRrFO++8o6S9PgfiLVu29PqrrxnTwWCQhx9+mIceeih2rba2FrPZzKRJkwCYP38+b7/9dkruCSHSS0ZGBpdccgmlpaXo9XpKS0u55JJLyMhQkyilNxVzsKMJY4YN0GHMsHGwo0np9qXCHBsv1exlq8tLJApbXV5eqtnbLw99AOioq6N7/36ikQjd+/fTUVeX8Dbeeusttm/fjsFgSPizj6VPW8U++OADtm/fzujRoznvvPNOqaGlS5dy2WWXxfYlAzQ1NVFcfPibzuFwoGkaHo9H+b2cnJxT+v8SQpyeDgXc2bNnYzKZYsmoPdeTPyPUgo1kOQrZueEvKdu+dDod+tBRV4fZkceOp5+hs24zWaPLGfnj2+ioqyN79OiEtOH1elm8eDEvvPAC1157bUKe2RcnDMTPP/88zzzzDCNHjuTJJ5/knnvu4eqrrz6pRj7//HNqa2u55557Trmj/UleXmKP3Uol2WYgYwDpOQahUIhQKHRUiUu9Xq9kPAK+gp49xF9uX/K6d7Kn9lXKxl6F2armz6PJ6ztmQQ9nP/ueyMjKYsfTz9CxsRaAjo217Hj6GYbfcnPC2rj++uu56KKLYm9NVTlhIH711Vf585//zIQJE/jXv/7FokWLTjoQf/rpp+zcuZMpU6YAcODAAW688UauueYaGhsbY7/P5XKh1+vJycnB6XQqvXcyZB/xwCFjkL5jkJVlYvXq1bGE0/p6xlgbAAAgAElEQVT6elavXs3s2bOVjEd+/jG2L1lylf15tASCxyzo0d9qTVudTjrr4pdCO+s2Y3U6E/L8Q0cevvrqqwl53sk44Rqx2+1mwoQJAEycOJG2traTbuQHP/gBH3zwAevWrWPdunUMHjyYP/3pT9x00034/X7Wr18PwCuvvML06dMBGDt2rNJ7Qgi19B4/WXoD+Xl2svQG9B612cLHL3GZfP1h+1Kx2URHd4DbJg7nv6afw20Th9PRHeiXe4l9TU1kjS6Pu5Y1uhxfU1NCnl9dXY3X62Xs2LGMHj2aSCTCHXfcwbPPPpuQ5x9Pn9aIo9For78OOdVjovR6PY8++iiLFy8mEAhQUlLCY489lpJ7Qgh19B4/WQWDaK7ajq+hE2tJFkWVZ9LZehAtx6KkD8FgsNcSl6oKF0XCIcrGXsWe2r8fsUZ8FZFwSEn7AAfCYUpz7Tzzr139/hjEUGcnI39821FrxAFXYrag/ulPf4r7evTo0SxdupSpU6cm5PnHc8ISl2effXbcKUvRaDT29aH/Trda0/JqeuCQMUjNGGTpDbS+uxNffUfsmrU0m4KLR9CpRZT0ITPTQDQaZdWqVbE14hkzZqDT6ejqSn4fsuwRDEYLEMVgtBAJ+wEdkbCfTq+ajF1rtpVnP9t11DGIt5w7HF+H75Sfm6w19o66OjKysrA6nfiamgh1diYsUevfqQzEJ/yRZ+3atUnvhBAivZhyrfgaOuOu+Ro6MeVaoV1Ntu6BA804nYOZOnVqrNa0Xq9XVms6w2wnEg4SCXdjMJoJh7owGG1kmO3gPfUgeDIyMwy9Zk1nZhhQ04OTc2TQtR2xAycZ6pKwNepYThiI/33Du6ZptLW1UVhYmLROCSEGtqDbh+P8Uuxn5WFy2Ai6uvFuayfoVvfPf3Z2FitWrDjqPOIpU6agaclvX9PCaBE/eze9HvdqWneKS32noisU6TVruiuk5q2E6NHnP/HOzk7uvvtuKioqYtW01q5dy+9///ukdU4IMTD5O7rJrhhM69pd7HjiQ1rX7iK7YjD+DjVVrSD1JS510LM+7N4JUe3L7Ut/R3fCTybO7vaD3DRhGKMcdgy6ntfSN00Yxu729F6uUa3PgXjx4sXY7XbWrVsX2wh/zjnnsGbNmqR1TggxMFmybRxYtbVnjViL4qvv4MCqrViy1VV0SnWJS73B3Ov2Jb3BrKR9gMFGI/VuL7ec25M1fcu5w/tlotZA1+dA/NFHH/Hggw9SWFgYS9ZyOBxyaIIQ4qQdd41YVR9MJiorK+NKXFZWVqrbvhQ+xvalsNrTlwYbjfg6fOh0OnwdPgnCKdDnER80aBButztubbixsZGCgoKkdEwIMXAF3T6sJVnxWdMlWUrXiDMyMqitrWXWrFlYLBb8fj+bN2/mnHPOARQEQ52OYePms3vjK7E14mHj5oNO5ctp0R/0ORBfeeWV3HHHHdx1111omsbnn3/O7373O+bPn5/M/gkhBiCvq4uiyjN73UeMon3E4XCYESNGsGLFitj2pcrKSsLhU68odTL0BhN7695gSPkcLJmF+Lta2L9tNcPG/Qcqal2L/qPPgfjmm2/GbDbz8MMPEw6H+fnPf868efNYuHBhMvsnhBiAtBwLna0HKbh4BKZcK0G3T2kxD+jZAVJVVRVX4rKqqorZs2craT8U6CQU6KTuw9/GrtlzRxAKdHISq4YigUaPHo1er48Vqbr11lu59dZbk95unwOxTqdj4cKFEniFEAmh5Vh6incc2jesMAjDiUpcJn9GGo1Ge301fYIaSyLJfv/73ysp4nGk4wbijz76qE8PueCCCxLSGSGEUCUUCvVa4jIUUlNi0mTJYvfGV3p5NT0fvF1K+nC62berHVumGUdBJq7WLrq7AgwZnpfqbn1lxw3EDzzwwAkfoNPppPqWEOK0E41GmTlzJoFAIFZZy2w2K5uR+rtaMdvik13NtgL8Xa2Aum1cp4t9u9oZlG1hxas17NvtYsgwB7PmVbBvV3tCg/Hdd99NNBplyJAhPP/880dtcUuGE9aaFkeTWtMDh4xB+o5BXl4mPp/vqFrTVquV9vbkz0j1WiODcpzsrvnr4VfTFQs46GlC0xcnvf1/l8jvg2TUmm5r9rL6jY3s2Xl4y2zZiDwunTuO/KLEnBH/xRdfMH78eLxeL/PmzcPn87Fu3bqEPPt4JCNACJGWQqEQq1ator6+Hk3TqK+vZ9WqVcpeTdsHFfQE4SMqa+2u+Sv2QbIltDeOgkz27XbFXdu324WjIDNhbYwfPx4Au93OHXfcwYEDBxL27OPpc7KW1+vlqaee4tNPP8Xtdse9vvmf//mfZPRNCDGA6T1+7I7MWNa019WlNGvaZDKRmZnJwoULcTgcuFwuPv74Y2XJWiZrbq+VtUzWXOhSc/DF6cTV2sWQYY64GfGQYQ5crV0JmRG3t7cTDAZxOp1omsaLL76Iw+H4ys/tiz7PiB966CHq6uq47bbb8Hg8PPjggzidTq677rokdk8IMRAdOo+49d2dPbWm391JVsEg9B6/sj6EQiEuvPBC1q1bx9KlS1m3bh0XXnihshlxf6ms1RgIErYa0aJRwlYjjYH+uYe5uyvArHkVlI3IQ6/XUTYij1nzKujuSsx47dixg8rKSsaNG8f48eNpbGzk+eefT8izT6TPa8QXXHABq1evJjc3l0mTJrF+/Xqam5u55ZZbePPNN5Pdz35F1ogHDhmD1J1H7N3adtTpS/ZR+crOI87KMrF8+fKjTl+aPXs2nZ3JD0Z5eZmEg140LYjZ6iDgc6HXmzCa7ErWqKEnCBc77LxUs5cdbi8jc+0srBhKo8tLsfnUS30m6zzitMyaPpKmaQwa1DO4NpuNgwcPUlBQwN69e5PWOSHEwJSRayFrdOFRlbUMWSZQFIRSvY84HOzqOfLwiCMXdXo94aC6rUuFOTZeqtkbOwZxq8vLSzV7uXpsKfjUVBg7GUcG3Z7X0YlJ0kq1Pgfis88+m08//ZQLLriAiRMn8tBDD5GZmUlZWVkSuyeEGIiiQa0nCH9Za9pX30Fz1Xacs8uV9SEYDPa6jzgYVPdqVosEjz6PWJehrP2iTAs73PHr0TvcXooyLbT7ZJ1alT6vEf/qV7+K7ad68MEHsVgsHDx4kEcffTRpnRNCDEx6s6HX05f0ZoOyPmRkZDBt2rS405emTZsWO+Y12QzGjF7PIzYY1QXi5i4/I3PjZ5Ujc+00d6lbqxd9mBHX1tZiMpk466yzAHC5XDzyyCNs27aNc845B6fTmfROCiEGFi0Q7vX0JS2g7nVod3c3LS0tcacv1dfXY1R0DODxzyNWkzDW4unm+vFlvPjFntga8fXjy9jffvArrRGLk3PCGfEjjzxCW1tb7OsHHniAPXv2MH/+fLZv385jjz2W1A4KIQaeaCRK0fQzsZZmg16HtTSboulnEo2oS4I0mUyUlJSwYsUKnnjiCVasWEFJSYm684gjx8iajqjNmjbq4NpxQ3hm+jlcO24IRjmFUbkT/ui3c+dOJk2aBEBnZyfvv/8+K1asYNiwYUyePJn58+fz0EMPJbufQogBxGDL4MDqrRRMGR7Lmm77YA+DLx0F3WoCUTQapaamhsmTJ8f2EdfU1HDuuecqaR90lI29quf19BFrxKAuEhbm2Hhhw55YshbAKIe93yZrDVQnDMSRSCS2ZrJhwwby8/MZNqznpzin00lnZ+fxPi6EEEfRAhEi3hD7/vx57Jq1NBstoGbrEvSsEZeXl1NdXR0rcXl4jTj5CVt6gwlPw6eMmHAtBqOVSNhHe+NnFA75ppL2QZK1+osTvpoeOXIka9asAWD16tVxJy01NzfHtjQJIURf6Ux6Bs8YFfdqevCMUehM6qruhkIhqqur40pcVldXqyvoEQmSUzianRv+wmfv3s/ODX8hp3A0WkRd1rYka8Xr7OxkxowZjBkzhnHjxnHJJZcoafeEM+J77rmHW2+9lYceegi9Xs9f//rX2L3Vq1crfI0jhBgooiGNjpoDca+mO2oOkDNR3WEHqd5HTDR6OGsaYlnTIydcl/y2v9Ti6ebmCWUEIhr5NjNt3QHMBj172vpnslbD7m3YMu1k5w+mo+0A3V1eSoadlbDnf//73ycjI4ONGzei1+vZtm1bwp59PCcMxJMmTeK9995jz549lJWVYbcf/unpoosu4tJLL01qB4UQA4/eZMD1/+pxfbjviIs6HBeUKutDqvcR643HyJo2qsuaBghH4S8b98VlTfdHDbu3Yc/OZd0b/5umPdtxlp3J5Lk30LB7W0KCcWtrK1u3buWDDz5Ar+95M3Not1Cy9ek9kN1uZ+zYsXFBGGD48OEUFRUlpWNCiIFLC0awlmTFXbOWZKEF1a0R6/V6Kisr4/YRV1ZWxv4RTrb+UGu6MMfGi1/0JGtFoj2VtV78Yg+FOf3vPGRbpp11b/xvGnZtQdMiNOzawro3/je2zMRU11q/fj0Gg4FbbrmF8ePHM2nSJF5++eWEPPtE1GyYA2677Tb279+PXq/HZrPxi1/8gvLycnbv3s3999+Px+MhJyeHJUuWxKp1qb4nhFBDl6Fn8KxRaIEIGdkWQh1+9GYDugx1a8RGo5H29nZmz56NyWQiGAzS0NBAVlbWiT+cAFFgWMWCo84jVlnF/nRK1srOH0zTnu1x15r2bCc7f3BCnh8KhYhEIlRUVPDGG2/w+uuv8+CDDzJlyhQGD05MG8ei7Lt+yZIlvPXWWyxbtowbbriBn//85wAsXryYBQsWUFVVxYIFC1i0aFHsM6rvCSHU0AIR0KClegc7nviQluodoKE0azocDlNYWMjy5ct54oknWL58OYWFhYTDarbttLfsRa83MWLCQs69+DeMmLAQvd5Ee4u6+v2nU7JWR9sBnGVnxl1zlp1JR1tizgweO3YsAL/4xS8AuOKKKzAajXz00UcJef7xKAvER2ZXe71edDod7e3t1NXVMXPmTABmzpxJXV0dLpdL+T0hhDo6HRxYtbWnspYWxVffwYFVW9EpLCahaRobN25k8uTJ3HnnnUyePJmNGzeiadqJP5wAelMx7S17CQU6gSihQGdPcDapS1hr8XSzsGIooxx2DLqePcQLK4bS4ulW1oe+6u7yMnnuDZQMPxu93kDJ8LOZPPcGuhN0dvPw4cPJycmJHX34/vvvEw6H+frXv56Q5x+PslfT0FOV65///CfRaJQ//vGPNDU1UVRUhMHQU1/WYDBQWFhIU1MT0WhU6T1VB0ALIUBvNmKwZzDkunNiWdOuj+vRm42g6ETGVO8jhp5g7PWB19cF2NCb1K7NFptNNLq8XD22lKJMC81d/q98BGKylAw7i4bd2/jO7GtiWdPeDndCs6affPJJfvSjH/GHP/wBvV7Pj3/849gZC8mkNBD/53/+JwDLli3j0Ucf5c4771TZfMLk5Q2Mo7cgeeeGnk5kDNSPQSQYJv/CMprfPuIYxOlnooUiyvoSCARi+4iB2D7i2bNnp9X3RMER/+20W3HarSnry4kcGXRzC4vJTfDzzzvvPNavX5/gp56Y0kB8yJw5c1i0aBGDBw+mubmZSCSCwWAgEonQ0tKC0+kkGo0qvXcy2tu9aJrKlIrkSMWB8P2NjEFqxsCRZe0Jwkceg/j2dpxzypX1JT/fTmZmJgsXLoyVuPz4448xmUxp+T2RyO+DdPpBJhGUrBF3dXXR1NQU+3rdunVkZ2eTl5dHeXk5K1euBGDlypWUl5fjcDiU3xNCqKM3HeMYRJO6YxBDoRAXXngh69atY+nSpaxbt44LL7xQWWUtAC3YiN3aTX5+JnZrN1qwUVnbov/QRaPRpE/t2trauO222/D5fOj1erKzs7nvvvsYM2YMO3fu5P7776ezs5OsrCyWLFnC8OHDAZTf6yuZEQ8cMgapmxE3LdscfwxiaTbOOeW4On1K+pCdbWbZsmVxBT1KS0uZM2cOHR3J38urBRvJyc1nz6bXDh/6MOZKPO42pQlbh8iMOHWUBOKBRgLxwCFjkKJAnGNF6w4ftUastxlxedQE4vx8O0888URclrRer+euu+6irS35e2jt1m72bX4zVuISwJ47giHll+P1qS+oIYE4ddTtnhdC9CudrXsxRA+iaRqG6EE6W9XtX9UbDbR9sIeCKcMZedc3KJgynLYP9qA3qns1fajE5ZFUlri0ZBb0WuLSkllwjE+IgUoCsRBpqLN1L4NLz0Cv7wl8er2BwaVnKAvGWjBC5sg8jJkm0IEx00TmyDylJS4zMjKYPn16XInL6dOnx459Tbagz9Nricugz6OkfdF/pCRrWgiRWoXFTrSIxntv/jlWQP/iK2+msNiJX0Guki5Dj21IDhF/GL3ZSMQfxjYkR2mJy3A4jMFgYOrUqWRnZ9PR0YHBYFBWWQudnrKxV/WcwHRojXjsVcj8KDXWr1/PDTfcEPs6HA6jaRpbtmxJetsSiIVIQ2aLjVX//SQNu3r+kWnYtYV3X3uBGdfcgT+U/EAUDWtEgxFaqnfErRFHDepKa0WjUVatWnVUstbs2bOVtG+yZLF74ysMKZ+DJbMQf1cLDdvfZti4+eDtUtIHcdikSZOoqamJfT1nzhwiETVvaCQQC5GGMsyWXgvoZ5gtcFBNsf/OTS1x5xF3bmohZ1L6nEfs72rFbItfDzbbCvB3tQL97/Sj/qC7vgOjLYOMXCsht49wdwhbaXbC2+nq6mLLli08+uijCX92b+QdiBBpKBTw91pAPxRQU+xfZ9STNbqQ1rW72PHEh7Su3UXW6EJ0RnX/JKU6Wau7y0PhkG+i0/fMh3R6I4VDvkl3l6wR96a7voOMQWZa3t3Zc1DIuzvJGGSm+4gtcIny1FNPYTKZuOyyyxL+7N5IIBYiDQX83Uy54sa4AvpTrriRgF9Nsf9oSKO5anvcoQ/NVduJhtQcuAA9W5UuvfTSuGStSy+9VNl5xPasIrSIn72bXuezd3/G3k2vo0X82LPkjPfeGG0ZvX7PGG2JT65btmwZF110UcKfeyzyalqINNR2oAnnkDK+e/l1ZDkK6HS1YjJbaNq3B3ve0KS33x8qaxmNRurr6486j3jYsGEn/nAi2s+wsOPzP8f2EXvdO9lT+3dGnnMdoK661+kiI9fa6/dMRm5ia2PX1tbidru5++67E/rc45FALNJSZN8usgrziEZsZPo76GxpxzDk5Cqsnc7yBztBBxabHZ1Oh8VmB12U/MFqsqa1YARrSVZ8Za2SLKXbl8LhMHl5eSxfvjx2+lJlZaWyrGm9wdzrPmK9wYwE4qOF3L5ev2dCbh+mvMStqf/ud79j8ODBlJWVJeyZJyKvpkXaiezbRU7JYHY99wIfXfkf7HruBXJKBhPZtyvVXVPGYssk6Pez5uWn+a8Hb2bNy08T9Pux2DKVtK/L0FNUeSbW0mzQ67CWZlNUeabS7UuaplFVVUV9fT2aplFfX09VVZWy84iDPvcx9hG7lbR/ugl3h3r9ngl3J/aHlo8//ph58+Yl9JknIjNikXayCvPY8fQzdGysBaBjYy07nn6G4T+8mXTZNBKNRln7+p/iti+tff1PzLj2DjXthzRCXQGcs8vRmw1ogQiB9i70VnX/JKU6a9rjbqVs7Dz21L56xD7ieXhcLSmpNd3f2Uqz6a7voPDiEbGs6dDBQMKzpjdt2pTQ5/WFBGKRdqzFTjrrNsdd66zbjLXYSZdLTbJSqmWYjrF9yWQBFGxfMoDJYSPiC6E3GYj4QpgcNlC3RBzLmj5yH7HKrGm9qRiPq5Eh5ZdjyezZtiRB+PiODLqmPBumvBR2JoHk1bRIO77GJrJGl8ddyxpdjq+x6RifGHgC/u5ety+pyppGI1bQY8cTH9JSvYNoMALqkqbJyMjoNWtaVYlL6AnGXp+NtrYuvD6bBOE0JYFYpJ3OlnZG/vg2sseNRWcwkD1uLCN/fBudLe2p7poyJpOFyXOvj9u+NHnu9ZhMFmV9aH7737aivL39xB9KoFAoRGNjI7NmzeKuu+5i1qxZNDY2Kj2PWAiQV9MiDRmGDMezbxfDf3gz1mInvsYmPA0H0iprOhwK0u3t5NLv347JYiXo9+FqbcRqU3N8nT7jGNuXMtS9m87IyMDpdLJixYpY1vQll1zy5YxYzetpLdhIVnZO7NV0Z4dHZsVpSAKxSEuGIcPpAmwGA12WbAxDEl8mrz/T6w1k5eaz+v97Knbow7T5P/zyNKbkb9/pD9uXQqEQa9asia0R19fXs2bNGmW1prVgIzm5+ezZ9NrhZK0xV+JxN0owTjPyalqINBTRwlS/8hwNu7agaREadm2h+pXniGiKTh4ywOAZo+K2ogyeMUppstbxs6aTLys7pycIu3dCVOsp6LHpNbKyc5S0L/oPCcRCpEB7ixc0yMuzg/bl1wqZzNZes6ZN5sRWKTqmCHQ3dOC87GxG/uQbOC87m+6GDlA3ISYUCvVaa1rVGrEls6DXgh6WzIJjfEIMVBKIhVCsvcVL0eAs1rxRyyP3rWbNG7UUDc5SGoyDAV+vWdPBgE9J+7oMPdaiQTS9tYUdv/+Qpre2YC0apLSgB0BlZWVc1nRlZaWytv1drb0W9Og5fUmkwtKlS6moqIj9UnX6ki4ajUaVtDSAtLd70bTTf9gKCgbR2now1d1IqZSMgQatBw5SNjIfqy0DX3eIPTvaKBg8SNmPxjnZJiLhEP7urlitaYstE4MxA09H8hOVHFlWmpZtjl8jLs3GOaccV6eaHwby8jLp7u4mFAqRnZ1NR0cHGRkZ2Gw22tuTX9rl2GvEbSlZI07k34WCguQk/e3fvx+r1Upubi5utxufz8cZZ5yRkGdrmkZ5eTlPP/00U6dO5e233+bOO+9k06ZNGI3JTaeSZC0hFMvLy8RizeD1l/7Fvt0uhgxzcPn3zyHTZqLdraa2l0FvIBjx8d6bf45L1lK1fak/HPoQDofZuHEjZ57Z82YgEomwZcsWJk6cqKR9vakYj/vfCnqkKAifDvbv34/dbqe6ujqW5T5t2jT279+fsGCs0+lobe15I9Ha2orRaEx6EAYJxEIoFwxF+Pz/7WP65WPILxpEW/NBPv9/+/j6t9Sc+gMQCgdjyVpALFnr0mtuV9J+f8ia1ul0jB49mqqqqrhDH3Q6nbI+9BT0AK+vC7ChNyXu8IKBxmq1Ul1dHZflXl1dzZQpUxLyfL1ez7333svDDz/Mr371KzRN4+GHH07Is09EArEQipnMBsZNLGHFqzWxGfGseRWYzAYl1SV7+nCcZK2Dye+ELkPP4BlncWDVNnwNnVhLshg84yyla8TRaBSj0cjUqVNjr6aNRiOyWtc/5ebm9prlnpubm5Dn+/1+nnvuORYtWsSCBQv461//yuLFi/nud79LQUFyE+gkWUsIxYKBCCterWHPznY0Lcqene2seLWGYEDdbDDVyVpRTQODnsJpIxl51zconDYSDPqe64ro9XoMhvhX4QaDAb1e/lnsj9xud69Z7m53Yk6rWrNmDd3d3SxYsACABQsWYDAYeP/99xPy/OORGbEQipktRvbtdsVd27fbhdliVDEZBcCgN3LJ1T86OllLb0TJHqIIHHhrS6/JWqpomnbUkYe9XRP9g8/nY9q0aUetEXu9iflLU15eTigU4v/+3//Lt7/9bd577z3C4bCSnAEJxEIo5usOMWSYgz07D9e2HjLMgS/B56oeTxSNSDgUn6w17wcYFCSmQP9I1gJYuXJl3OlLpaWlzJkzR2kfRN+cccYZ7N+/nylTpsSypr1eb8IStc4++2z+4z/+gx/96EexPIGbb76ZoUOHJuT5xyPvYIRQrK3lIJd//xzKRuSh1+soG5HH5d8/h7YWdduoolqU6lefj6+s9erzRBVtyzuUrHUk1claGRkZva45qjx9SZycM844g7y8PPR6PXl5eQkLwoc89NBDbNy4kZqaGmpqarj77rsT+vxjURKI3W43N998M5WVlcyaNYsf//jHuFw9r+Y2bNjAZZddRmVlJTfccAPt7YdnCarvCaGC1WbC4+rmqusn8cCjl3LV9ZPwuLqx2tSUVgTIMB/jPGKzmu1LPclaR5e4VJmsdeg84iOpPI9YiEOUfNfrdDpuuukmqqqqWLFiBaWlpTz++ONomsa9997LokWLqKqqYtKkSTz++OMAyu8JoUpefia5Dhvd3iDRKHR7g+Q6bOTlZyrrQyjo7zVZKxT0K2k/GtIIB0I455T3lLicU044ECIaUrc+azAYmDFjRlxlrRkzZhyVwCVEsikJxDk5OZx33nmxrydMmEBjYyO1tbWYzWYmTZoEwPz583n77bcBlN8TQpVgMEI4rLHytRoeuW81K1+rIRzWCCp8LYtOx5Qrbow7j3jKFTeCqj20ejDaTES6QxCFSHcIo82kdLEsEonQ0NAQdx5xQ0MDkYjCPwchSEGylqZp/O1vf2Py5Mk0NTVRXHy4iozD4UDTNDwej/J7OTly4olQQ6fTUbN+f1xBj5r1+znv2+rOQ9ahw2S28N3Lr4tlTZvMFnSoK2ZBWKOlesfhfcSXngVGtecRFxYWxp1HPG3aNKXnEQsBKQjEv/zlL7HZbHz/+9/nnXfeUd18QuTl2VPdhYRJVk3Y04nqMdA0rdeCHhkmvbK+aJpGJBLGYrOj0+mw2OygA4Mxg4ICc9LbjwTCHFi9LbZ9yVffwYHV23DOKVc2BoFAoNdKTbNnz07bvxfp+v+dakoD8ZIlS9i7dy/PPvsser0ep9NJY2Nj7L7L5UKv15OTk6P83smQQx8GjlSMwSC7JVbQA4gV9Ljq+kkc9KqpNZ2dnUHQ72Pt63+KbV+acsWN6A0GOjqSv40qP99+zO1Lqv488vPtxzyPOB3/XpwOhz4MVMpWZH73u99RW1vLH/7wh9jB22PHjsXv97N+/XoAXnnlFaZPn56Se0KocryCHspEo6x9/U9x25fWvv4nUFTeUQtFcJxfyidf7XUAACAASURBVJDrzmHkT7/JkOvOwXF+KVpI3fpsIBDg/PPPZ+HChfzkJz9h4cKFnH/++QQCAWV96A8aA0HCViNaNErYaqQxkL6v5Z966inGjx/PuHHjmDRpEp988omSdpUcg7h9+3ZmzpxJWVkZFkvP9ogzzjiDP/zhD3z22WcsXryYQCBASUkJjz32GPn5+QDK7/WVzIgHjlTNiP/+4vq4gh5lI/K+nBGryVrOz7fzXw/ejKYdDnx6vYFbf/UCbW3JL+/lyLESDWgcWLX1iFrTo9CZ9bg8asps5uRYCAQCrF69OrZGfOmll2I2m/F41Pw5pFpjIEixw85LNXvZ4fYyMtfOwoqhNLq8FJtPfTvd6Tgjrq+vZ+rUqbzwwgt861vfYvHixbz99tt8/PHHSW9bziM+BRKIB45UjEFeXiYdbt9Ra8TZuVYl5+ACZA0ysPq/n4qdvgRQMvxsLr3mdjoPJn9W2h/OI87ONrNs2bJeK2t1dKTHrDhsNfJybT1bXYd/+BrlsHP12FKMvvApPzdZgbjTtYsMkx1LZj7+rjZCQS9ZjsQkOf7jH/9g8eLFbNy4EYC9e/cybdo01qxZw/DhyU2klMpaIi1F9u0i099BNBIh099BZN8uZW2HghE2/quB6ZeP4edLLmX65WPY+K8GQiqrSpksTJ57fdz2pclzrycjjc4jlspaUJRpYYc7/g3IDreXokw13wcno9O1C7Mlm32b/8Fn7/6MfZv/gdmSTacrMX93L7jgAkKhEP/4xz8A+O1vfwv0bHtNNqk1LdJOZN8uckoGs+PpZ+is20zW6HJG/vg2PPt2YRiS/C1EOnRUTDqDt175IjYjvmz+eKVbh8KhAN3eTi79/u2YLFaCfh+u1kasmYqytvvBecTBYJDzzz+fM888E4fDgcvlYvv27WlVWau5y8/IXHvcjHhkrp3mLn+/Cw4ZJjt7Nr2G170TAK97J3s2vcaQ8u8l5PlOp5O7776bX/3qV/yv//W/GDNmDEAspymZ5NX0KZBX06e3TH8Hu557gY6Nh3/SzR43luE/vJkuS3bS28/Pt/Pmy59z4ZSRsX3EH6zdweVXn6NkfRYgN9tMINBN9SvPHT70Yf4PMZttuBW8ls3LyyTSGaS5antsjbio8kwMWSZlr+fz8jLp7u4+ao3YZrMp60OqnU5rxNGoxmfv/gyiR1Rf0+k59+Jfo9Ml/uXutm3bmDVrFh9++CF5eXkJf/6R5NW0SDvWYicZublMePL3fOMff2fCk78nIzcXa7FTSfsBf5j8wvi96PmFdgL+U1+TO1kRLUz1K8/FH/rwynNENDV9iIY1OutaKJgynJF3fYOCKcPprGshGlZX4jIUCrF69Wrq6+vRNI36+npWr15NKKTuFKxUKzabaHR5uXpsKc9MP4erx5Z+5SCcLP6uNuw5w+Ku2f//9u48Purqavz4Z/aZ7JNJBgKEnUBABAqIFasWNAgNoS4tNupjLYUqCuQRWnmJFVu1fcXS1iKg2NLHannQFhcEKaEWn1r9tSouZQkIhC0kIZN9MpNZMsvvjzQDaYIoTe43Muf9l/3G4V6+jTm59557TtoQ/N7abhvj4MG2nIlQKMSiRYvIzc3t8SAMsjUt4lCgvp5BtxdyZPXaM1vTi+8hUF8P9PzZmNGgY8LlA3nl9x/FtqZvuG0CRoO6rWmzxdZl0wezxYaqpsgpY5xU7zhrRXz9iPN/qBuZzeZz3iOOp8pa/Sxm8IXQJ+kw+kK9MggDtAY9DB7zjbbt6cZjJKUNYfCYbxDwN2HD2S1jLFmyhIqKCiKRCEOGDOG5557rlj/3fCQQi/gTiXLkybWxremmvfs4snotwxfdo2SPKByBV37/UYeCHq/8/iPmfmdyzw/+L8GAj6zBIzpkTWcNHkEwoCZjWWfUozPoceYNx5RqpbXJj86gR2dUt0nX2tra5RlxPK2Iv0hS0ofirj/KwNwbY1nTAX9Tt2VNA5SUlHTbn/V5SCAWcceS4YhtTScM6E/LqQpObX4ZS4aD5vqWHh/fbDEwcmwfbr5jIrYEE76WVvZ+eAqzxQCKjuwNeiN5t3yv0xmxQW8Eej5hKtoaoWnPaZJy2rb9ouEITQdqSJvY7zyf7D56vZ6xY8d2OiPW6+PrxK4yEMSZlhAr6OFqbOm1q+Kzg64tydltK2GtSbLWBZBkrS+2ZPwQjXbamkano1nB1nRaqo3WUAS/t5U0RwKNdS1YE02YjHoamxTdoU0xcvLQPgYMy8ViSyTg83Kq7AADcy6hyd3z58TpaTaiwQiRYDi2ItabDejM6gp6pKSY2bJlS6d7xHPmzMHtjo+t6S9SstbFTFbEIv5ovDUdjUDQH2LbH/d0uL5kTFC3CjGZrex8YX2XlbWg58+IdQY9kUi4Q/elPrNy0BvUrUbljBicaQn8bs+J2PWlT+o9/G7PCW69JBv+g4Ie4vOJrz0YIWjbmnaXHujwzF16AEtGz2dHAkSB1174J8fL6ohEohwvq+O1F/6Jyj2WYMBP1uCOyVFtZ8RqSjtGWyNUt3dfikTxlTdRvf0Q0Va1WdP9+/fv8Kx///5xdUb8RSrocTGTFbGIO77KKlJG53a4R5wyOhdfZRUouEdsthi6bPqg8ozYZLYw87Z7IQoWWwIBXwvo2p5Dz6+EekNlLb/fz4wZMygpKYmdEc+YMQO/3w8q+zJr6ItU0ONiJu9axJ1INELO0iIO/fyJ2BlxztIigs1qomAwEOLG2yYweHhGLFnr+JFaggF1W4GRUCvh1lZ2vnhWstbc7xExqPmREGk9R2Uthd2XqqtrGTAgi4KCAiwWC4FAgGg0yqlTVaSlZSqbh5ZcjS3ccemgbj8jFp+PJGtdAEnW+mKzJxmJBAKEW3xY+zjxV7swJNjQWyw0eHo+GNpTbfj8oU73iG1WIw2KkrU0b/qQaiPiD1P9p0Nnzohn5qC3GqhX9A4aG2vo0yeDHTt2xFbE119/PdXVtXETiOFM1nSfRCvVXn+3ZE1LstbnI2fEQrlyXzkBsxeHI5GA2Uu5r/z8H+pOUTi06pd8ePe9/L8bv8mHd9/LoVW/RNUhbSgSjd0jbj8jfuX3HxFS+Mvdpxb0UEEPOlPbPeLhRVfgzBuOzqRX+hMpPT2VHTt2dKistWPHDtLTe/54ojfpZzFj9IXQ63p3QY+edtNNNzF69GhGjhzJn//859jzv/3tb0yYMIExY8YwYcIE3nnnnW4fWwKxUKrcV07/dCcbPtzErZsXseHDTfRPdyoNxgarpctkLYPVomR8i8XY5RmxxaLupKi9oMfZVBb0IAynXzvIiQ0fcOQX73Biwwecfu2giivMMXa7vcusabvdrm4S4nM5VOemyuMjEo1S5fFxqM59/g99RjfeeCObNm3CYOiYp3DfffdRUFDA/v37KSgooKioqNvGbCeBWCjlTE3n6fefZ7/rEOFohP2uQzz9/vM4U9OVzSHs95MyOrfDs5TRuYT9ajKGg4EwA4d0/PsOHJJOMKCwDaLJQt7c73Vog5g393uYTGp+GekNyVoNDQ1dZk03NDQom4P47A7VubHbLGzcV87CHR+xcV85dpul24Lxrbfeyrhx4zo8O3z4MG63mxUrVgCwYsUK3G43ZWVl3TJmOwnEQql+yU4O1hzp8OxgzRH6JSuskGM0krO0iNSxl6AzGEgdewk5S4vAqGZFqtNBwS3jGDzMgV6vY/AwR1sbRIWJuqFQkKoTh5l56z3c/eivmXnrPVSdOEwopOb+bHsbxLOpboNYX99EXl4e2dnZ6PV6srOzycvLo76+6fwfFsolW0yxO8/h6Jk7z8mWnusfXVpaitlsjrVCNJvNmEwm9u/f363jSNa0UKqy2cWozOHsdx2KPRuVOZzKZhcWEtVMojXE6Z1vMGT+vFiJy9M736Bf/tfUjB8Fk9lA/jcujVXWMpkNys6oAdDp6DckB3+LF7M1AX+Ll35DclD124DOpKfv10Zy+vVPYslafb82su2cWJG0tExqamqYPn06drudhoYGamrq4ypR64vkYr7zLCtioZSrqZ6Fl93BGGcOBp2eMc4cFl52B66m+vN/uJsYbDYMiYmY0+2g02FOt2NITMRgU5OoZLIYKHl1P6FQ2+ovFApT8up+TBZ127JGg4loNMqbrzzL0z9cwJuvPEs0GsVo6LnVxdmioQjo6ZCshR6lbRChLRhHImb0ej2RiFmCcC/Wfuf5bO13nnvK6NGjCQaDBINtO0XBYJDW1lbGjBnTrePIilgoZ9Qb+N6kW3EmZuDy1mLUqwtAAOHWIJlXfJlPileduUd8XxHhVjXbssFAGI87wNOr3oo9GzzMofSMuLU1EOtHDMT6Ec+6fZGaCUTh9NZPOt4jzk4l6+u5n/IhEc+aA61d3nlu8AXISuqZX6JHjBhBcnIyjz32GD/60Y947LHHSE5OZtiwYd06jgRioZQzNZ2/HH2bywZMACAYCfH20fe5fMBEdeV9Q2GaDh5k5P3LMCYmEvJ6ady7D/u/JWr0FL0ebrhtQqd7xCqb/mjdj7g3JGtB213i9PRUIpEIen2Q+vomWRX3UjmOFA7Vubn1kuzYnecGX4AcR8r5P/wZFBQUcPjwYSKRCIsWLcJkMrF3715WrVpFUVERmzdvxmQysXr16m4Z72wSiIVSWcmZfGXQFJ5+/3kO1hxhVOZw7pp8OxkJdurrer4FIYDeYiF11KhOK2K9xQItPT+HcDhK+bH6Dm0Qjx+pZWiOugDQ+q9a0//ej7hVUa3p9mStTpW1FCZrNTbWkJmZzs6dO2MFPfLy8qipqZFg3EudHXSzkmzduhJ+7bXXunx+zTXX8PHHH3fbOF0xPPzwww/36AgXIZ8vyMVQjywx0UJLi+IuM6YwT777P+x3HSJKlBpvHSebKpjcfxyhgJqXatVH+ORnP2+rNR2NEnC58B49iuPLl+Nv7fk5JCdbMJkNvLrxY7b9cQ8VJxqZeMUgEpPM+HxqGg5YbQYGjriE2qpyvE0N9Bsykuk3z8NosRAI9Pw5rdVkIHFIOoEaLyFPENuAVPpcPwL04FcUjBMSTLzxxhuUl5cTjUZxu93U1tYyZkwu0ajalXlv0J0/DxIT1VyDu1jIilgolWC2dXl9KcFsw4dXyRwMNhsmu53xq38Zy5o+tfnltmStlp7flg0Gwmx9cQ/Hy+oAOF5Wx9YX9/DNOyf1+NjtTCYL/1fyO66afSt2Zz8aXJX8o+Qlrpu7AOj5XwYMFhOnd31C5vShmNMTCNa3UPv2cfrOHAmeQI+PD59e0KOuTs33ohAggVgoVuk+x/Ult7rrS+FAgEG3F3Jk9drY1vTwxfcQDqgJABbrOSprWY0qjmeBtspa3uZGNv3qh7Fn/YeOUlZZKxIIEfa0cvLZj2LPbNmpRBQ2vmgv6FFefqaq25mCHvFZ5lFoQ64vCaV6w/UlohGOrF5L0959RMNhmvbu48jqtRBVc3Um4A91WVkr4FcXhAx6Q5eVtQyKMth1FgN9ZozAlp0Keh227FT6zBiBTuEVLinoIXoLWREL5axGM0unLiDRlIC3tQXVDcAMVus5ak1bwdvzW5Jmi4HZcy9l64t7YlnTs+de2taPWNGK2GAyU3PsELNuW4TZaiPo91F1soxBOZegIn29tcGP55PaDlvT7lIXSSMzenzsdlLQQ/QWSgJxcXFxrPn21q1bycnJAeDYsWMsX76cxsZG0tLSKC4uZvDgwZp8Tagx0JGFPxRg3XvPxbKmF172Xwx0ZBFVkzQdqzXdtHdf7JnqWtN7P6jg+hvGkNEnmdrqZvZ+UMFlXxmiZHyAUGuAdGcW23//ZKwf8fSb5xFqVbM976n3kjLaSXXJ4TNtEGeMwF3TDGnqKiW1FfRACnoITSnZmp4+fTobN27sVGB95cqVFBYWUlJSQmFhIQ899JBmXxNqJJptrHvvuQ5NH9a99xyJZkXt9wB0eoYvvqdDrenhi+8BnZqTGoNBx4TLB7Ljlf385P7t7HhlPxMuH4jBoK7YdDQS5S+bN1Bx9CCRSJiKowf5y+YNRBW1YoykWXHXNJN57TCGF11B5rXDcNc0E1EYhIXoLZT85Jk0aRJZWVkdntXV1VFaWkp+fj4A+fn5lJaWUl9fr/xrQh2L0dxl1rTFqC45xmCxcOL5/2XI/Hl8+Y+bGDJ/Hiee/18MFjVXLqJRMBr1fOPbE1nx+Cy+8e2JGI16pVfiTBZrlwU9TBZ1gTCSZsUdCVNb58EdCUsQFnFLszPiqqoq+vTpE+v9aDAYcDqdVFVVEY1GlX4tPV1dC7541+hzd5k13ehzA2oSdcI+H60NDXy8+L9jz1LHXkLYp6gXbxTC4QhBfxiL1YTP24rZasCgsLRWa/AcBT2CarbnhRBnSLLWBXA4ks7/L31BZGYmKx3P7few8LL/6nRGbNQbSc9U814joRAjf7CMkMeDtY8Tf7ULY1ISeouZzMSe/08iGo3y0fsnGfulAeh0YE0wsffDU1x25RAyrWr+/2gN+rnumwv48x+eiZ0RX/fNBeh0OuXfE71FvP69zybvQBuaBeKsrCyqq6sJh8MYDAbC4TAul4usrCyi0ajSr31edXUeIorO0npSZmYyNTXNSsd0ZCTx7D/+wJ1fmsuA5L6caj7Npj1buPfyO5XNxZ5sItIapGzd07F7xCP+ezG6kIm6hp5fFacm2xg5pi+bf/dBLGu64JZxtAbCNDWrWZXbUy0YTSa+esO3SUnPxF1fg9FkQode+fdEb6DFfwu9TXe+Awnon49mgdjhcJCbm8u2bduYM2cO27ZtIzc3N7ZNrPprQo1AKECDv4llOx6JPRvjzCEQUpOtC0AkwuFfro5lTTft3cfhX65m1AP3Kxk+SpQ9u091yJres/sUU65SlzUdjoT408a1Hbam+w8dpa77khAiRhdVcInz0UcfZefOndTW1mK320lLS+P111+nrKyM5cuX43a7SUlJobi4mKFDhwIo/9rnISviC5dsN9Mc8HTamk62JNHcoKbudYYjkb/ffAvR8JmaxjqDgS9vfoFaBaUNHY5Emhp8ne4Rp9ptykorZmQk8ecXn2HiNV+Llbj84P9e57q5C6itVXOZWd/oJyk9EbPdRrDBh6feq1nClqyIZUWsJSWB+GIjgfjCpdothCIhIkRjBT306DDqjTQ1KKoxnGjg4E+KO9wjTh17CaMeuJ8Gb883HEhOsvKH/9kdqzUNbf2Iv3nnJJo9apKlUlNN+L0e/rJ5Q4d7xNbEJJqaer7WtL7RT0pmcpf3iLUIxhKIJRBrSUpcCqUiRGgJBfj5O89Q+Md7+fk7z9ASChBBTXlJAPTnuEesKGv502pNK3OOe8Qo+gUzKT2xLQiXN0Ekiq+8ieqSwySlq6k3LkRvIoFYKBWNwtp3n+1Q0GPtu88qvUNrMJu7vkdsVnOXuTfUmtb6HrHZbsNX4e7wzFfhxmxXWNhFiF5Cri8JpSxGyzkKeljwKGi/BxD2B7q+R+xXszXeG2pNa32PONjgw9Y/pW1F/C+2/ikEFWStC9HbyIpYKOUP+RmVObzDs1GZw/GHFBaS0OkYUbSow9b0iKJFoFNTYvLsWtMPFM/i+hvGsPeDCoKBnj+fbqfT6Zh+87wO3Zem3zwPnaJ34Kn3dtl9yVMvfYBF/JFkrQsgyVoXLjHViLe1pVPWdKIpAW+Tmq1Zh91GJBgkGolgTEgg1NKCTq9HbzYruUeclmrD7w/xyu8/iq2Ib7htAlarkcYmNSvCBGsEnQ6Cfn/sHrHZaiUahRa/mt/PJWu6d5FkLe3I1rRQymqy8JsPNnVR0OPbeFETiCOtrYQ8Ho6sXhsr6DF88T0Yk9X88AiHIhiNevK/cSlpjgQa61owGvWEQ+oS1k6Xl5M1cOC/PdVxuvwkKZmDlMyhvdY0df/aj5da0yJOSSBW7ITLQ5+MJPplJlFZ46G61sMgp9qSmebGMpIGDCMajZCeBJ5TZQTThikZuyXo67KgR0tQ4dlgFI6sXtuhoMeR1WsZ9cByNePrdPzxHNeXVEnJHETVyRPYM9qSxiKRMFUn1QVhIcQZEogVOuHyMKBvCqtf/JjSY3WMHuJg8dzxnDjtVhaMzY1lJPYdRPVLq/CXH8CanYtzThGcVhOMbSYriy//DoFQAGdiBi5vLRajBZvJig81DYkNVgvu0gMdnrlLD2CwWsDb86vyT7u+1KwoWQvagnGYtl68YV0yKbKdKIQmJFlLoT4ZSax+8WP2ltUSjkTZW1bL6hc/pk+GuhVx0oBhuLY8gf/EPoiE8Z/Yh2vLEyQNULMibvC5CUcjrN+9kVs3L2L97o2EoxEafO7zf7ibBBsbSRmd2+FZyuhcgo2NasYPdH19KRhQd31JCNF7SCBWqF9mEqXH6jo8Kz1WRz9FXYcA9NZE/OUdV4P+8gPorYo6H0UjXd4jjkTVnY/6XDXkLC3qkDWds7QIn6tGyfg6dBTcMo7Bwxzo9ToGD3NQcMs4dKjJWBZC9C6yNa1QZY2H0UMc7C2rjT0bPcRBZY0Hq6JfiSJ+L9bs3LYV8b9Ys3OJ+NXsiWYk2ru8R5yRaKfOp+bqStLAbCLBIMMW3hVrg4hOR9LAbCUlLk0WA7s2H+zQ9GHX9oPccOsEiO/EXSHikgRihaprPSyeO77TGfEphWfEnlNlOOcUtW1Pn3VG7DlVBgrOiFuCPkZlDme/61Ds2ajM4WqTtdBxaNUvu6g1rSZZq6nBh8cd4OlVb8WeDR7moEmKWQgRlyQQKzTImcSJ027uvunSWNa0yiAMtCVknS6jz03L0FuTiPg9SrOmbSYrd02+nafffz52j/iuybfHVbLW6aom5nxrHFs2/TN2j3jOt8ZRVdmEQ3EGvRBCexKI41AwbRj1Hsi06aj3oGQl3K6quYZ/nPqgwz3iv514l8sHTMSCmoL/7claZ6+IzyRrmXp8fIcziarKJmbedAmOzCTqajwShIWIY5KspVD79aWnXtrDTfdv5amX9jCgbwonXArvrGjM1VTP9KFXYta3/Q5o1huZPvRKXE315/lk93EfP9llspb7+Ellc3A4k0DfVqUNPRKEhYhjsiJW6OzrS0Ds+tLdN12qdB76+qMkOxxEIwmk6pporqsjkj5U2fihSJj1uzeeVeLyDmVjAyRmZtB04CAj71+GMTGJkNdD4959JGZnI5WOhRCqSSBW6NOuL9XXqVkV6+uPkuLsS83r62LJWplfW4jbdVRJMHamprPuvd/FkrX2uw6x7r3fMe9L34Jgjw8PgDWrL3qTiU+KV50pcXnvQswZDrySMCWEUEy2phVqv750tvbrS6okOxxtQfisgh41r68j2eE4/4e7Qb9kZ5fXl/olO5WMDxD2+TiyZh1Ne/cRDYfbSlyuWUfYJ0FYCKGeBGKF2q8vjR2WgUGvY+ywDBbPHU91rbpAbErP6rKghyk9S8n4lc2uLtsgVja7lIwPYExM7DJr2pioJllMCCHOJoFYoUHOJE796/rSS8WzufumS5VfX2qtr8Ka3bG8ozU7l9b6KiXju5rquWvy7Yxx5mDQ6RnjzOGuybcrTdbyVVR2WeLSV1GpbA5CCNFO+hFfgC9yP+JznxGfVpawVe4rx5maTr9kJ5XNLlxN9WTbspWMDRA+eZS0/n05smZdhzPixorTGAaqS1rrLaQXr7wDkH7EWpJAfAG+yIEYzmRNm9KzaK2vUp413RuETx4lxenA1i8LX2UVblddXAZhkCAE8g5AArGWJGs6DkXSh9IUhUy9gaZoKqSnaj0l5QwDh+IFEgwGvNZUDAPj7x0IIXoHOSMWQgghNCSBWAghhNCQBGIhhBBCQxKIhRBCCA3FZSA+duwYc+fOZcaMGcydO5fjx49rPSUhhBBxKi4D8cqVKyksLKSkpITCwkIeeughrackhBAiTsVdIK6rq6O0tJT8/HwA8vPzKS0tpb5eXWUnIYQQol3cBeKqqir69OmDwWAAwGAw4HQ6qapSU+JRCCGEOJsU9LgADsfF08RdKuDIOwB5ByDvAOQdaCXuAnFWVhbV1dWEw2EMBgPhcBiXy0VW1mfvPvRFL3HZTsr6yTsAeQcg7wCkxKWW4i4QOxwOcnNz2bZtG3PmzGHbtm3k5uaSnp7+mf8MvV7XgzNU62L6u1woeQfyDkDeAcg70EpcNn0oKytj+fLluN1uUlJSKC4uZujQ+Cz4L4QQQltxGYiFEEKI3iLusqaFEEKI3kQCsRBCCKEhCcRCCCGEhiQQCyGEEBqSQCyEEEJoSAKxEEIIoSEJxEIIIYSGJBALIYQQGpJAHGcaGhqYP38+M2bMYPbs2dx7771x3QJyzZo1jBw5kkOHDmk9FeUCgQArV64kLy+P2bNn88Mf/lDrKSn35ptv8vWvf505c+ZQUFDAzp07tZ5SjysuLmbatGmdvu+PHTvG3LlzmTFjBnPnzuX48ePaTTLOSCCOMzqdju9+97uUlJSwdetWsrOzWbVqldbT0sT+/fv5+OOP6d+/v9ZT0cTPfvYzLBZL7HthyZIlWk9JqWg0yg9+8AMef/xxtmzZwuOPP879999PJBLRemo9avr06WzcuLHT9/3KlSspLCykpKSEwsJCHnroIY1mGH8kEMeZtLQ0pkyZEvvf48ePp7KyUsMZaSMYDPLjH/+Yhx9+WOupaMLr9fLqq6+yZMkSdLq2Qv8ZGRkaz0o9vV5Pc3Nbx6Hm5macTid6/cX9Y3HSpEmdus3V1dVRWlpKfn4+APn5+ZSWlsb1bplKcdd9SZwRiUTYtGkT06ZN03oqyv3qV7+ioKCAAQMGaD0VTZSXl5OWlsaaNWt49913SUxMZMmSJUyaNEnrqSmj0+l44oknWLhwIQkJCXi9Xp555hmtp6WJqqoq+vTpg8FgAMBgMOB0OqmqqvpcnenEhbm4f/UTn+qRRx4hISGB2267TeupKPXRRx+xb98+CgsLtZ6KZsLhMOXl5YwePZqXWj+l0wAABzhJREFUX36ZZcuWsWjRIjwej9ZTUyYUCrF+/XrWrVvHm2++yVNPPUVRURFer1frqYk4I4E4ThUXF3PixAmeeOKJi34r7t+9//77lJWVMX36dKZNm8bp06eZN28eb7/9ttZTUyYrKwuj0Rjbihw3bhx2u51jx45pPDN1Dhw4gMvlYuLEiQBMnDgRm81GWVmZxjNTLysri+rqasLhMND2i5rL5eq0hS16Rnz9BBYA/OIXv2Dfvn2sXbsWs9ms9XSUW7BgAW+//Ta7du1i165d9O3blw0bNnDllVdqPTVl0tPTmTJlCu+88w7QljFbV1fHoEGDNJ6ZOn379uX06dMcPXoUaOtTXldXx8CBAzWemXoOh4Pc3Fy2bdsGwLZt28jNzZVtaUWkH3GcOXz4MPn5+QwePBir1QrAgAEDWLt2rcYz0860adN4+umnycnJ0XoqSpWXl/PAAw/Q2NiI0WikqKiIq6++WutpKfXaa6/x61//OpawtnjxYq699lqNZ9WzHn30UXbu3EltbS12u520tDRef/11ysrKWL58OW63m5SUFIqLixk6dKjW040LEoiFEEIIDcnWtBBCCKEhCcRCCCGEhiQQCyGEEBqSQCyEEEJoSAKxEEIIoSEJxEIIIYSGJBALcRF48sknWbZsGQCnTp1i5MiRhEIhJWO/++67XHXVVUrGEuJiJIFYiP/Ayy+/zOzZsxk3bhxTp05l5cqVuN1urafVyZtvvsnNN9/M+PHjmTJlCsuWLaO6ulrraQkhkEAsxAX77W9/y6pVq/j+97/P7t27efHFF6msrOTOO+8kGAx22zj/6cp2x44dLF26lDvuuIN//OMfbNu2DZPJRGFhYa/8pUGIeCOBWIgL4PF4ePLJJ3nwwQe56qqrMJlMDBgwgCeeeIKKigp++9vfcumll9LY2Bj7TGlpKVOmTKG1tRWAzZs3M3PmTCZPnsy8efOoqKiI/bsjR45k48aN5OXlkZeXB7SVJrz66qv50pe+xI033sju3bvPO89oNEpxcTF33303s2fPxmq1kpmZyWOPPYbNZuO5554DOm5tQ+ft7ZdeeomZM2cyYcIEpk+fzgsvvPCfv0QhBCCBWIgL8uGHHxIIBGJBsl1iYiJXX301hw4dYvz48ezcuTP2ta1btzJjxgxMJhNvvPEG69evZ82aNfz9739n4sSJLF26tMOf9cYbb/CHP/yB7du3AzB27FheffVV3nvvPfLz81myZAmBQOBT53n06FEqKyu5/vrrOzzX6/Xk5eV95o5TDoeD9evX8+GHH/LTn/6Un/70p+zfv/8zfVYI8ekkEAtxARoaGrDb7RiNxk5fy8zMpKGhgdmzZ8e62USjUbZv387s2bMBeOGFF1iwYAHDhg3DaDRy1113ceDAgQ6r4gULFpCWlhZrzjFnzpzYmN/5zncIBoPnbVvY0NAAgNPpPOc8P4trrrmGgQMHotPpuOyyy5g6depnWpELIc6v808RIcR52e12GhoaCIVCnYJxTU0NdrudvLw8HnnkEVwuF8ePH0ev1zNp0iQAKisr+clPfkJxcXHsc9FolOrqavr37w/QqRfshg0b2Lx5My6XC51Oh8fjOW8gtdvtALhcLrKzs7uc52fx17/+lbVr13L8+HEikQh+vz/uulUJ0VMkEAtxASZMmIDZbGbnzp3MmjUr9tzr9fLWW29x3333kZqaytSpU9m+fTtHjx5l1qxZsXZ7WVlZ3HXXXRQUFJxzjPZ/F2D37t385je/4dlnn2XEiBHo9XomT57M+ZqnDR06lL59+7Jjxw7mz58fex6JRNi5cyfTpk0DwGaz4ff7Y1+vra2N/XMwGGTx4sUUFxczffp0TCYTCxcuPO/YQojPRramhbgAycnJ3HPPPTz66KO89dZbtLa2curUKYqKiujbty9z5swBYPbs2WzZsoWSkpLYtjTALbfcwjPPPMPhw4cBaG5u5k9/+tM5x/N6vRgMBtLT0wmFQqxZswaPx3Peeep0Ou6//36eeuoptm7dSiAQoKamhhUrVtDQ0MBtt90GQG5uLu+//z6VlZU0Nzezfv362J8RDAYJBoOkp6djNBr561//yjvvvHNB700I0ZmsiIW4QPPnzyctLY3HH3+ckydPkpSUxLXXXsuqVaswm80ATJs2jRUrVtCvXz9GjRoV++x1112H1+vlvvvuo6KiguTkZK644gpmzpzZ5VhXXnklX/nKV5gxYwYJCQnccccdnbauz2XWrFmYzWaeeuopHnzwwdi28vPPPx87O546dSqzZs2ioKAAu93O/Pnz2bVrFwBJSUk8+OCDFBUVEQwG+epXvxpbSQsh/nO6qOwvCRFX3n77bZYuXcqzzz5Lbm6u1tMRIu5JIBYiDu3atYvq6mq+9a1vaT0VIeKeBGIhhBBCQ5KsJYQQQmhIArEQQgihIQnEQgghhIYkEAshhBAakkAshBBCaEgCsRBCCKGh/w8EerQUxBv1mwAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "d1c7b62b5f8cba427bca13049256365141655372" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-2 Box\nIn descriptive statistics, a **box plot** or boxplot is a method for graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram.[wikipedia]" + }, + { + "metadata": { + "_uuid": "ad8774475841cac4bb2559b64b70252b360a9aa8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "data = pd.concat([train['SalePrice'], train['OverallQual']], axis=1)\nf, ax = plt.subplots(figsize=(12, 8))\nfig = sns.boxplot(x='OverallQual', y=\"SalePrice\", data=data)\n", + "execution_count": 101, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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0djYcML1PouSAIgHij0AAEnC4XB84TWAxEaxBwAgSXzta5efcJ3/OY8EkIj48CwAAEnihhuK9dprVQqHw3I6nbrhhmKrI33G6tVPaufOOlPGqqvbIelfHxyNt+zsMaZ+IBbJx7RiP3fuXO3evVtOp1MDBw7Uz3/+c+Xk5Gj79u1asGCBAoGAPB6PysrKNHbsWEky/R4AAHbm8aTpssvytWnTq7rssgJ5PB6rI33Gzp11+uijWg0ePDjuY3WtRNq3b2/cx2pvb4/7GIBpxb6srExDhgyRJL388statGiR/vSnP6mkpETFxcXyer3y+XxaunSpnnrqKUky/R4AAImkquoV+f2VUT2npaVZKSn91NBQH9VMdUHBZOXnT4oyYe8MHjxYEyZMMGUss7z11ltWR0ASMG2NfVepl47/1upwONTc3KyamhoVFhZKkgoLC1VTU6OWlhbT7wEAkAwOHjwot9stt5vVuIDdmPq3evHixdq0aZMMw9Djjz+u+vp6jRgxQi6XS5LkcrmUmZmp+vp6GYZh6r309PSIf46MjPi/PQgAwKn8x38U6j/+ozCq59x1112Sjr+T3helpLisjhA3KSkuDR8+5NQPtEDX695X85kpkV8LU4v9fffdJ0las2aN7r//fs2bN8/M4WOmubld4bBhdQwAAKLW2RmSJO3ff9DiJCfXlc+OOjtDff5176v5zNQXXgun09GriWRL3oe7/vrrtXTpUo0cOVINDQ0KhUJyuVwKhUJqbGxUVlaWDMMw9R4AAACQyExZY3/o0CHV19d3X2/YsEGpqanKyMhQTk6OKioqJEkVFRXKyclRenq66fcAAACARGbKjP2RI0c0b948HTlyRE6nU6mpqfr1r38th8Oh0tJSLViwQKtWrdLQoUN7rPkz+x4AAACQqEwp9sOGDdNzzz130nvjxo3TH//4xz5xDwAAAEhUpm13CQAAACB+KPYAAACADVDsAQAAABug2AMAbC8QaNXy5aUKBAJWRwGAuKHYAwBs77nnntYHH7yv55572uooABA3FHsAgK0FAq2qrvZLkqqrX2XWHoBtUewBALb23HNPyzAMSZJhGMzaA7Atij0AwNZee23TCddVFiUBgPii2AMAbM0wwl94DQB2QbEHANia0+n8wmsAsAu31QEAAIinr33tcm3a9OqnrvMtTINTaWsL6ODBg3rrrbesjhJTBw8e1Bln8MFtxBfTFgAAW7vhhmI5HA5JksPh0A03FFucCADigxl7AICteTxpys29VJs3v67c3K/J4/FYHQlfIDXVoyNHDmvChAlWR4mpt956S6mp/NlDfDFjDwAAANgAxR6ArQQCrVq+vJRDiNAtEGjV5s2vS5I2b/4HfzYA2BbFHoCt+Hzlqq3dKp+v3Ooo6CN6HkjFAVUA7ItiD8A2AoFW+f2VMgxDfn8lM7OQ9NkDqV57zW9REgCIL4o9ANvw+cplGIak44cQMWsPSQqHw194DQB2QbEHYBvV1VUKBoOSpGAwqOpqZmYhuVwODeA/AAAgAElEQVSuL7wGALug2AOwjby8fLndx3fxdbvdyssrsDgR+oJLLvn3HtcTJlxqURIAiC+KPQDb8HqLPnUQkVNeb5HFidAX9OvXr8d1Skq/z3kkACQ2ij0A2/B40lRQMFkOh0MFBZM5iAiSpLfe2nzC9RsWJQGA+KLYA7AVr7dI5533JWbr0S0vL/+Ea5ZoAbAnij0AW/F40rRoUSmz9eg2efJVPa6//vWrPueRAJDY3FYHAAAgGlVVr8jvr4z48fv21fe4/r//d4VGjsyK6LkFBZOVnz8pmngAYBlm7AEAtnbgQNsXXgOAXTBjDwBIKPn5k6KaRf/97x/Xhg0vSTq+DeoVV0zR7Nlz4hUPsFS072h1qavbIUlaseLuqJ7Hu1p9CzP2AABbYxtU4NQ8Hg+fTbIBZuwBALbm8aQpNdWjQKCVbVBhe9G+owV7odgDgE0FAq1atWql5s69PenL7LBhw3Ts2DFm6xNEe3u73nrrrbiP09HRIemzh5jFQ3t7e9zHACj2AGBTPl+5amu3yucrT/o15W53isaMGZv0v+AkguzsMaaN1bWufOTIM00Zz8yfDcmJYg8ANhQItOrVVzfKMAy9+upGeb1FlNo+bPXqJ7VzZ50pY/X2Q5K9lZ09RrNm3Rjx46N57Onqeg0WLiwxbUwgnij2AGBDPl+5gsGgJCkY7GTWvo/bubNOOz7apqyhmXEfa5BzgCTpWOPBuI9Vf6Ax7mMA+BeKPQDY0KZN/hOuX6XY93FZQzN1S97/sTpGTP2m+hmrIwBJhe0uAcCGPJ60HtdpaWmf80gAgF1Q7AHAhpqaei6B2L+fJREAYHcUewAAAMAGKPYAYEMXXHBRj+uvfnW8RUkAAGah2AOADTU01Pe43rev/nMeCQCwC4o9ANjQiUV+3769FiUBAJiFYg8ANnTmmaN7XI8aNfpzHgkAsAuKPQDY0K233nbC9U8sSgIAMAvFHgBsaMyYsRo4cJAkadCgQcrOHmNxIgBAvFHsAcCGAoFWHTt2VJJ09OgxBQIBixMBAOKNYg8ANuTzlcvhcEiSHI7j1wAAe6PYA4ANVVdXKRgMSpKCwaCqq/0WJwIAxJspxb61tVU333yzpk2bpunTp+vHP/6xWlpaJEnvvvuurrvuOk2bNk033XSTmpubu59n9j0AsIu8vPwTrgssSgIAMIspxd7hcOj73/++1q9fr7Vr1+qss87Sgw8+qHA4rDvvvFNLly7V+vXrlZubqwcffFCSTL8HAHYyYcKlPa5zcydalAQAYBa3GYN4PB5NnPiv/1MZP368nnnmGW3ZskX9+/dXbm6uJGnmzJm68sortWLFCtPvAYCd/L//97se10899YTKyn5pURqcSltbQK0HmvWb6mesjhJT9QcaldY/ZHUMIGmYUuw/LRwO65lnntGUKVNUX1+vM888s/teenq6wuGwAoGA6fc8Hk/EP0NGxuDe/vgAYIqTnTw7fPgQi9JYLyXFJUl99jVwuez7kTeXy9lnX/e+/ucC1kjkPxemF/tly5Zp4MCB+va3v62XXnrJ7OFjorm5XeGwYXUMAIjK/v0HrY5gmc7O47PGffU1GDx4qFKGOnRL3v+xOkpM/ab6GfUfPKTPvu59/c8FrNEX/lw4nY5eTSSbOkVQVlamuro6PfTQQ3I6ncrKytLevXu777e0tMjpdMrj8Zh+DwDsJD09o8d1RkbG5zwSAGAXphX7X/ziF9qyZYseffRR9evXT5J0wQUX6OjRo3rzzTclSc8++6yuueYaS+4BgJ20tfU8kIoDqgDA/kxZivPhhx/qscce09ixYzVz5kxJ0ujRo/Xoo4/q/vvvV0lJiY4dO6ZRo0bpgQcekCQ5nU5T7wFAX1ZV9Yr8/sqIHx8KhT5zvWLF3RE9t6BgsvLzJ0UTDwDQB5hS7P/t3/5NH3zwwUnvXXLJJVq7dm2fuAcAdjF06FAdOHDgU9epFqYBAJjB9A/PAgCil58/KapZ9ECgVfPm3Srp+LuVy5bdz+eJAMDmKPYAYEMeT1r3rP1llxVQ6gEknWiXMHapq9shSREvX+zSF5YxUuwBwKYyM0eoszOoG24otjoKACSMRJ4IodgDgE253SkaM2Zsn/0/qdWrn9TOnXWmjNXbGbjeys4eo1mzbjRlLAAnF+0SRjug2AMALLFzZ50+qn1fg8/oF/exHJ/sErRv17a4j9V+pKNXz6s/0KjfVD8T4zSfdfDYIUnSkP6D4j5W/YFGjc1MvNM7gURFsQcAWGbwGf2Ue26m1TFi6s2PGqN+Tnb2mDgkObl9dc2SpGGZI+M+1tjMIab+bECyo9gD6LN688GnroOZUlOjW37SFz70hORl5rKdruVICxeWmDYmAHNQ7AHYStcJq9EWewAAEh3FHkCf1ZsPPjEbCQBIVk6rAwAAAAA4fRR7AAAAwAYo9gAAAIANUOwBAACATwQCrVq+vLR7M4ZEQrEHAAAAPuHzlau2dqt8vnKro0SNYg8AAADo+Gy9318pwzDk91cm3Kw9210CACzR1hbQwSMdvTqptS87eKRDZ7QlVhkAcJzPVy7DMCRJhhGWz1eu2bPnWJwqcszYAwAAAJKqq6sUDAYlScFgUNXVfosTRYcZewCAJVJTPTpyoFm552ZaHSWm3vyokZOPgQSVl5evV1/dqGAwKLfbrby8AqsjRYUZewAAAECS11skh8MhSXI4nPJ6iyxOFB2KPQAAACDJ40lTQcFkORwOFRRMlseTWO++sRQHAAAA+ITXW6Q9e3Yn3Gy9RLEHAAAAunk8aVq0qNTqGL1CsQcAE61e/aR27qwzZay6uh2SpBUr7jZlvOzsMZo160ZTxgJOVFX1ivz+yqie09u/IwUFk5WfPymq5wBmoNgDNhAItGrVqpWaO/f2hFsPmGx27qzThx9+pEFnpMd9LCOcIknau7sl7mMdOhL/MYBY499L2A3FHrCBTx9/nUgHaSSrQWek68J/+4bVMWLqnx+uszoCklx+/iRm0ZH02BUHSHCJfvw1AACIDWbsgQSX6MdfI7m1H+nQmx81xn2cjs6QJKlfiivuY7Uf6Yj7GABwMhR7IMGd7Phrij0SQXb2GNPG6vqQ5Mizxpoynpk/GwB0odgDCS7Rj79G8jJzB52uXU8WLiwxbUwAMBtr7IEEl+jHXwMAgNhgxh5IcF3HX2/c+HJCHn+dbNraAjp0uNl2u8gcOtystjbmigDAShR7wAYS+fhrAAAQGxR7wAYS+fjrZJOa6tGhg2Fb7mOfmsq7RQBgJYo90Mf05lj0trbje9dHW6w4Fh1AMuPUbtgNxR6wga5DqfrqjOnq1U9q5846U8bq2tawaxeUeMvOHmPq7i4AYodTu2E3FHugj+nNseh9fSu/nTvr9PEH72uYK/7/5PQPhyVJBz76MO5jNYWCcR8DQHyceGq311vErD0SHsUegCmGudz6pifd6hgx9UKgxeoIAHqJU7thR+xNBgAAks7JTu0GEh0z9gBgskNHWkzZx76j84gkqV/KGXEf69CRFkn2ekcG9sap3bAjij0AmCg7e4xpY3V9kPjM0aNMGC3d1J8Nx/VmF63efsDcbrtoeb1F3a8dp3bDLij2AGAiM3fQ6esfqoY1+IDocZzaDTui2AMAkKB6s4sW/oVTu2E3FHsAAJCUOLUbdkOxBxB3bW0BNQeDttsesikYlPHJqb8AAFiN7S4BAAAAG2DGHkDcpaZ65Ni/35YHVA1N5QN3AIC+wZQZ+7KyMk2ZMkXnn3++amtru7++fft2zZgxQ9OmTdOMGTO0Y8cOy+4BAAAAicyUYn/llVdq9erVGjWq517KJSUlKi4u1vr161VcXKylS5dadg8AAABIZKYU+9zcXGVlZfX4WnNzs2pqalRYWChJKiwsVE1NjVpaWky/BwAAACQ6y9bY19fXa8SIEXK5XJIkl8ulzMxM1dfXyzAMU++lp0e37jcjY3CsXgbY2GOPPaaPP/7YlLF27aqTJD344L2mjHfOOefoBz/4QcSPT0lxxTGNtVJSXBo+fIjVMU6q63Xvq/nMxGsBIBnw4dleaG5uVzhsWB0DfdwHH3yoD7ZtldvTP+5jhZ1BSdLWfR/Ffaxg4Jg6O0Pav/9gxM/p7AzFMZG1on0tzNT1uvfVfGbitQCQSJxOR68mki0r9llZWWpoaFAoFJLL5VIoFFJjY6OysrJkGIap94B4cXv6K23yaKtjxFRr5W6rIwAAgJOwbB/7jIwM5eTkqKKiQpJUUVGhnJwcpaenm34PAAAASHSmzNjfe++9evHFF9XU1KTvfe978ng8+stf/qLS0lItWLBAq1at0tChQ1VWVtb9HLPvAQAAAInMlGK/ZMkSLVmy5DNfHzdunP74xz+e9Dlm3wMQX02hoF4IxH8XqsPhsCRpoDP+b0g2hYIaGvdRgNgKBFq1atVKzZ17uzweDlgD7IQPzwJx0tYWUDBwzHZr0oOBY2pzB6J6Tnb2mDil+azWuh2SpJFjxsZ9rKEy92cDYsHnK1dt7Vb5fOWaPXuO1XEAxBDFHkDczZp1o2ljrVhxtyRp4cIS08YEEkUg0Cq/v1KGYcjvr5TXW8SsPWAjFHsgTlJTPWoKttpyV5zUVIoAkIh8vnIZxvHtmg0jzKw9YDOW7YoDAIBZgsFO1dXtUCAQ3TIyu6murlIwePzci2AwqOpqv8WJAMQSM/YAgIRSVfWK/P7KqJ6zffvHCoVCKilZoJEjIz+/pKBgsvLzJ0WZsO/Ky8vXq69uVDAYlNvtVl5egdWRAMQQxR4AEkBvyuyOHdt17NgxLVv2c7ndkf9zb7cyGwx2KhQ6fvJsW1tAw4YNj+r1sBOvt6j7z5HD4ZTXW2RtIAAxlZz/sgEmMWtXnPDR42+tOwfE/690MHBMyoj7MIgBp9MhwwirqWl/VLPUfV1+/qSofvH4/e8f144d2xUMBuVyuZSdPTZp15V7PGkqKJisjRtfVkHBZD44C9gMxR6IEzO3Qaz7ZIvHMRlj4z9YBls8WiHaMhsItGr+/NskSYcOHdIPfzgvaUvcydaVJ2uxl47P2u/Zs5vZesCGKPZAnLDFI6zk85V3Lz8JhYJJvfsJ68p78njStGhRqdUxAMQBu+IAgA1VV1cp/MkpvOFwOKl3P/F6i+RwOCSxrhyAvVHsAcCGvvrVC0+4Hm9REut1rSt3OBysKwdgayzFAQAb2rVr5wnXdRYl6RtYVw4gGVDsAcCG9u2rP+F6r0VJ+gbWlQNIBizFAQAbGjhwUI/rQYMGfc4jAQB2wYy9hXpz4Exb2/Hj0FNTo18jardDZwB8vmCws8d1Z2fn5zwSAGAXFPsEEwj0vtib4YEH7tO2bR9F/bxQKNi9z7QZ3G63XK7o/viPG3eu7rxzcZwSAbE1bFim9u791+Fow4dnWpgGAGAGir2Foj1wRur7+5U3Nzfp6JHD6udyRPW8sGHICMcp1MnGC3bIEYp8BrMjZKi5uSmOiYDYamra3+N6//79n/NIAIBdUOxjYPXqJ7Vzpzk7TnSdMNpV8OMtO3tMVActpaZ61P9wk+ZcPCx+oSzwxDtNGtBH3yUBTmbYsOEnzNgPtzANAMAMFPsY2LmzTltrP5RrQFrcxwqHXJKkD3fGf/Y4dLQ17mMAiI+Wlp7/RvCOEwDYH8U+RlwD0jTknKutjhFTBz9+yeoISak3H6ru7Ts5fKDavvLyCrRx48syDEMOh0N5eVdYHQkAEGcU+xhoawsodLTVdkU4dLRVbW38EUkEnKSJE3m9RfL7K9XZ2Sm3283BTACQBGhtQB/Tmw9VAyfyeNJUUDBZGze+rIKCr/PLHwAkAYp9DKSmetTYFrTlUpzebKu5r71TT7wT//W87R0hSdLgfq64j7WvvVNj4z4KEFteb5H27NnNbD0AJAmKfYyYtRQnHDwiSXK6z4j7WMc/PBvd7jbZ2WPiE+YkGj5ZVz4sa2zcxxorc382IBY8njQtWlRqdQwAgEko9jFgZuHr+pDkmGwztpMcFvXPFs3WmKerr+/pb6ZAoFWrVq3U3Lm3s+QCAIAkRbGPAcosrObzlau2dqt8vnLNnj3H6jgAAMACFHsLmbmtocTWhnYVCLTK76+UYRjy+yvl9RYxaw8AQBJyWh0A0fF4PJQ29ODzlcswDEmSYYTl85VbnAgAAFiBGXsLsa3hv/DuRe9VV1cpGAxKkoLBoKqr/SzHAQAgCVHskbB45+K4vLx8vfrqRgWDQbndbuXlFVgdKWY4hRcAgMhR7NEn8O5F73WdMCpJDocz6fcs5xc+AECyotgDCa7nCaOTbVVs+YUPAIDIUewBG+CEUQAA4DC6ttNAxJqb2xUO87IBAAAg9pxOhzIyBkf/vDhkAQAAAGAyij0AAABgAxR7AAAAwAYo9gAAAIANUOwBAAAAG6DYAwAAADZAsQcAAABsgGIPAAAA2ADFHgAAALABij0AAABgAxR7AAAAwAaSsthv375dM2bM0LRp0zRjxgzt2LHD6kgAAADAaUnKYl9SUqLi4mKtX79excXFWrp0qdWRAAAAgNOSdMW+ublZNTU1KiwslCQVFhaqpqZGLS0tFicDAAAAes9tdQCz1dfXa8SIEXK5XJIkl8ulzMxM1dfXKz09PaLv4XQ64hkRAAAASay3XTPpin0spKUNsjoCAAAA0EPSLcXJyspSQ0ODQqGQJCkUCqmxsVFZWVkWJwMAAAB6L+mKfUZGhnJyclRRUSFJqqioUE5OTsTLcAAAAIC+yGEYhmF1CLNt27ZNCxYs0IEDBzR06FCVlZXpnHPOsToWAAAA0GtJWewBAAAAu0m6pTgAAACAHVHsAQAAABug2AMAAAA2QLEHAAAAbIBiDwAAANgAxR4AAACwAbfVARC5srIyrV+/Xnv27NHatWt13nnnWR3JMq2trfqv//ov7dy5U/369dOYMWN0zz33JOVBY3PnztXu3bvldDo1cOBA/fznP1dOTo7VsSz1yCOP6OGHH07qvydTpkxRv3791L9/f0nS/PnzVVBQYHEqaxw7dkzLly/Xa6+9pv79+2v8+PFatmyZ1bFMt3v3bv3oRz/qvj548KDa29v1xhtvWJjKOhs3btTKlStlGIYMw9CPf/xjTZ061epYlqisrNTKlSsVDAaVmpqqFStW6KyzzrI6lik+r1tt375dCxYsUCAQkMfjUVlZmcaOHWtt2EgYSBibN2829u7da3z96183PvjgA6vjWKq1tdX4xz/+0X393//938bChQstTGSdAwcOdP/3Sy+9ZFx//fUWprHeli1bjDlz5iT935Nk//k/bdmyZcZ9991nhMNhwzAMY//+/RYn6hvuvfde4+6777Y6hiXC4bCRm5vb/Xfk/fffN8aPH2+EQiGLk5kvEAgYl156qfHxxx8bhmEYa9asMW666SaLU5nn87rVd77zHWPNmjWGYRx/Tb7zne9YFTEqLMVJILm5ucrKyrI6Rp/g8Xg0ceLE7uvx48dr7969FiayzpAhQ7r/u729XQ6Hw8I01uro6NA999yj0tJSq6Ogjzh06JDWrFmjefPmdf/dGDZsmMWprNfR0aG1a9eqqKjI6iiWcTqdOnjwoKTj715kZmbK6Uy+WlRXV6dhw4bp7LPPliRNmjRJVVVVamlpsTiZOU7WrZqbm1VTU6PCwkJJUmFhoWpqahLiNWEpDhJeOBzWM888oylTplgdxTKLFy/Wpk2bZBiGHn/8cavjWGblypW67rrrNHr0aKuj9Anz58+XYRiaMGGCfvazn2no0KFWRzLdrl275PF49Mgjj+j111/XoEGDNG/ePOXm5lodzVIbNmzQiBEj9JWvfMXqKJZwOBx66KGHNHfuXA0cOFCHDh3Sb37zG6tjWeLss89WU1OT/vnPf+rCCy/U2rVrJUn19fVJubxVOv6zjxgxQi6XS5LkcrmUmZmZEK9J8v1qCttZtmyZBg4cqG9/+9tWR7HMfffdp8rKSv30pz/V/fffb3UcS7zzzjvasmWLiouLrY7SJ6xevVp//vOfVV5eLsMwdM8991gdyRKhUEi7du3Sl7/8Zb3wwguaP3++brvtNrW3t1sdzVLl5eVJPVsfDAb12GOPadWqVdq4caP+53/+R7fffrsOHTpkdTTTDRkyRL/85S+1YsUKffOb31Rzc7OGDh3aXWqRWCj2SGhlZWWqq6vTQw89lJRvoZ7o+uuv1+uvv67W1laro5hu8+bN2rZtm6688kpNmTJF+/bt05w5c1RVVWV1NEt0vbXcr18/FRcX6+2337Y4kTWysrLkdru731K/6KKLlJaWpu3bt1uczDoNDQ3avHmzpk+fbnUUy7z//vtqbGzUhAkTJEkTJkzQGWecoW3btlmczBp5eXl65pln9MILL+jb3/62jh49quzsbKtjWSYrK0sNDQ0KhUKSjk8QNDY2JsRyaJoQEtYvfvELbdmyRY8++qj69etndRxLHDp0SPX19d3XGzZsUGpqqjwej4WprHHLLbeoqqpKGzZs0IYNGzRy5Eg98cQTys/Ptzqa6Q4fPty9dtgwDK1bty5pd0pKT0/XxIkTtWnTJknHd7pobm7WmDFjLE5mnT/96U+aNGmS0tLSrI5imZEjR2rfvn36+OOPJUnbtm1Tc3Nz0pbZ/fv3Szq+tPUXv/iFZs6cqYEDB1qcyjoZGRnKyclRRUWFJKmiokI5OTl9fhmOJDkMwzCsDoHI3HvvvXrxxRfV1NSktLQ0eTwe/eUvf7E6liU+/PBDFRYWauzYsRowYIAkafTo0Xr00UctTmaupqYmzZ07V0eOHJHT6VRqaqruuuuupF03+2lTpkzRr3/966Tc7nLXrl267bbbFAqFFA6HNW7cOC1ZskSZmZlWR7PErl27tGjRIgUCAbndbt1+++2aNGmS1bEsM23aNC1evFhXXHGF1VEs9ec//1m//e1vuz9U/ZOf/ERXXXWVxamssXjxYr399tvq7OzU5ZdfrkWLFnVvlWt3n9ettm3bpgULFujAgQMaOnSoysrKdM4551gd95Qo9gAAAIANsBQHAAAAsAGKPQAAAGADFHsAAADABij2AAAAgA1Q7AEAAAAboNgDAEzx8MMPa/78+ZKk3bt36/zzz1cwGDRl7Ndffz3pt3cEYH8UewCwuRdeeEHTp0/XRRddpMsvv1wlJSU6cOCA1bE+Y+PGjfrP//xPjR8/XhMnTtT8+fPV0NBgdSwASBgUewCwsd/97nd68MEHdeedd+rNN9/UH/7wB+3du1ff+9731NHREbNxTnfm/W9/+5vuuOMOzZ49W//4xz9UUVGhlJQUFRcX98lfQgCgL6LYA4BNtbe36+GHH9aSJUt0xRVXKCUlRaNHj9ZDDz2kPXv26He/+50uvPBCBQKB7ufU1NRo4sSJ6uzslCQ9//zzuvbaa/Xv//7vmjNnjvbs2dP92PPPP1+rV6/W1KlTNXXqVEnHT3GcNGmSLrnkEn3zm9/Um2++ecqchmGorKxMP/zhDzV9+nQNGDBAw4cP13333aczzjhDTz31lKSeS3mkzy7nKS8v17XXXquLL75YV155pZ599tnTfxEBIIFQ7AHApt5++20dO3asu3R3GTRokCZNmqTa2lqNHz9eL774Yve9tWvXatq0aUpJSdHLL7+sxx57TI888ohee+01TZgwQXfccUeP7/Xyyy/rueee07p16yRJX/3qV7VmzRq98cYbKiws1Lx583Ts2LEvzPnxxx9r7969uuaaa3p83el0aurUqaqqqoro583IyNBjjz2mt99+WytWrNCKFSv03nvvRfRcALADij0A2FRra6vS0tLkdrs/c2/48OFqbW3V9OnTVVFRIen4zPm6des0ffp0SdKzzz6rW265RePGjZPb7datt96q999/v8es/S233CKPx6MBAwZIkrxeb/eYN910kzo6OrR9+/ZT5pSkzMzMz80ZicmTJys7O1sOh0OXXnqpLr/88ojeMQAAu/jsv/YAAFtIS0tTa2urgsHgZ8r9/v37lZaWpqlTp2rZsmVqbGzUjh075HQ6lZubK0nau3evli9frrKysu7nGYahhoYGjRo1SpKUlZXV4/s+8cQTev7559XY2CiHw6H29vZTFvO0tDRJUmNjo84666yT5ozEK6+8okcffVQ7duxQOBzW0aNHdd5550X0XACwA4o9ANjUxRdfrH7/f/t2r9JIGIVx/D9+DCgJaqpgKQjJBdgYLYyKOGBsDQipBkRBQiwskjKNwVIIikXAKxBBkxQBg1bJHQgpRAVRsIgDOorZYtlpdl1hG3X2+VXDOx/nMNXDO2dMk2q1imVZ3rrjONTrdTKZDAMDA8RiMY6Pj2m1WliWhWEYwM/QvrKyQiKReLfGr2sBms0m+/v7lEolRkdH6erqYmxsjE6n89c+R0ZGCIfDlMtlbNv21t/e3qhWq8TjcQD6+vp4enryzt/f33vHruuyvr7O1tYW09PT9Pb2srq6+mFtERE/0SiOiIhPBYNB1tbWyOfz1Ot1Xl5euLq6Ip1OEw6HWVxcBGBhYYHDw0MqlYo3hgOwtLTE3t4eFxcXALTbbU5OTt6t5zgO3d3dhEIhXl9f2dnZ4fHx8cM+DcNgc3OTYrHI0dERz8/P3N3dkc1meXh4YHl5GYBoNEqj0eDm5oZ2u83u7q73DNd1cV2XUChET08Pp6ennJ+f/9N7ExH5rrRjLyLiY7ZtMzg4SKFQ4PLykkAgwMzMDNvb25imCUA8HiebzTI8PEwkEvHunZ2dxXEcMpkM19fXBINBxsfHmZ+f/2OtiYkJJicnmZubo7+/n1Qq9duoznssy8I0TYrFIrlczhujOTg48GbvY7EYlmWRSCQYGhrCtm1qtRoAgUCAXC5HOp3GdV2mpqa8nX4Rkf+F0dF3ShER+WLOzs7Y2NigVCoRjUY/ux0RkW9BwV5ERL6kWq3G7e0tyWTys1sREfkWFOxFRERERHxAP8+KiIiIiPiAgrllaA0AAAAvSURBVL2IiIiIiA8o2IuIiIiI+ICCvYiIiIiIDyjYi4iIiIj4gIK9iIiIiIgP/AAcHcvl4U350QAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "7b193e4aa7e6fb337d3f65c334849094addd097a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "ax= sns.boxplot(x=\"OverallQual\", y=\"SalePrice\", data=train[columns])\nax= sns.stripplot(x=\"OverallQual\", y=\"SalePrice\", data=train[columns], jitter=True, edgecolor=\"gray\")\nplt.show()", + "execution_count": 102, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk8AAAG1CAYAAADgJhCMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3Xd4XNWdPvD33jtFGrXRqLvIcrdxL6EIGRsC2CQGkTgJxM4CyYYky2aXFHggJLGdZANrYElIIbspm/zIOoFNvKBgDKbYJrJl3LDBcq9qllVGM2ozmnLv+f0ha+yxZGlG1sy9I72f5+F5ctvM144SvZxz7vdIQggBIiIiIoqIrHcBRERERImE4YmIiIgoCgxPRERERFFgeCIiIiKKAsMTERERURQYnoiIiIiiwPBEREREFAWGJyIiIqIoMDwRERERRYHhiYiIiCgKDE9EREREUWB4IiIiIooCwxMRERFRFEx6F5CIXK5OaJrQuwwiIiK6CrIsITMzJernGJ4GQdMEwxMREdEIxWk7IiIioigwPBERERFFgeGJiIiIKAoMT0RERERRYHgiIiIiigLDExEREVEUGJ6IiIiIosDwRERERBQFhiciIiKiKDA8EREREUWB4YmIiIgoCgxPRERERFFgeCIiIiKKAsMTERERGY7b7cKTT66F2+3Wu5ReTHoXQERERHS5srINOH78KF4t+z/k3HwnPnS2I8Niwh1jszEh3aZrbRx5IiIiIkNxu10oL98GIQQ+aPNhR4MbHUEVdR4f/udkPXyqpmt9DE9ERERkKGVlGyCEAACYR40Lu9alajjn8elRVgjDExERERlKRcV2BINBAICvoTbsmkmSkJds0aOsEIYnIiIiMpTi4hJIkgQA6Ny/HbZ2JwAgzazgMxPyYDMpepbH8ERERETGsmTJraFpu7QbbocnLQsAkJtkwbSMFD1LA8DwRERERAazbds7kCQJloJxSJ11Xej8qXYv9ja36VhZN4YnIiIiMpSKiu0QQsCU4eh1zdkV0KGicAxPREREZCjFxSUwmUzoqj4BEfCHzksAZmRy2o6IiIgoTGnpCkiSBM3TAdfGP2JSigUT05Px+Yn5ujfIBNhhnIiIiAzGbs/EokVLsHXrO7hh6mTcf824gR+KI4YnIiIiMpzS0hWoq6tFaekKvUvpRRI97wJSxJzODmga/9qIiIgSmSxLyMpKjf65GNRCRERENGwxPBERERFFgeGJiIiIKAoMT0RERERRYHgiIiIiigLDExEREVEUGJ6IiIiIosDwRERERBQFhiciIiKiKDA8EREREUWB4YmIiIgoCgxPRERERFEwxeNLamtr8c///M+h4/b2dnR0dGD37t04c+YMHn/8cbjdbtjtdqxbtw5FRUUAEPdrRERERAORhBAi3l/64x//GKqqYvXq1bjvvvuwYsUKlJaWoqysDBs2bMCLL74IAHG/FimnswOaFve/NiIiIhpCsiwhKys1+udiUEu//H4/XnvtNaxYsQJOpxOHDx/G8uXLAQDLly/H4cOH0dLSEvdrRERERJGIy7TdpbZs2YK8vDzMmDEDlZWVyMvLg6IoAABFUZCbm4v6+noIIeJ6zeFwxPuvgoiIiBJQ3MPThg0bsGLFinh/7ZAazBAfERERDQ9xDU8NDQ3Ys2cPnn76aQBAQUEBGhoaoKoqFEWBqqpobGxEQUEBhBBxvRYNrnkiIiJKfAmx5umVV17B4sWLkZmZCQDIysrC9OnTsXHjRgDAxo0bMX36dDgcjrhfIyIiIopEXN+2W7p0Kb773e/ipptuCp07deoUHn/8cbS1tSE9PR3r1q3DhAkTdLkWKY48ERERJb7Bjjzp0qog0TE8ERERJb6EmLYjIiIiSnQMT0RERERRYHgiIiIiigLDExEREVEUGJ6IiIiIosDwRERERBQFhiciIiKiKDA8EREREUWB4YmIiIgoCgxPRERERFFgeCIiIiKKAsMTERERURQYnoiIiIiiwPBEREREFAWGJyIiIqIoMDwRERERRYHhiYiIiCgKDE9EREREUWB4IiIiIooCwxMRERFRFBieiIiIiKLA8EREREQUBYYnIiIioigwPBERERFFgeGJiIiIKAoMT0RERERRYHgiIiIiigLDExERERmKEAKn2jz40NmOrqCqdzm9mPQugIiIiOhS60/W47C7EwCQYlLwteljkJVk0bmqiyQhhNC7iETjdHZA0/jXRkREFK3t299Defm2K15X07PguXZp2Dlz9TEkHd93xWcWLVqCkpLFUdciyxKyslKjfy7qJ4iIiIhiRCi9J8WEyaxDJVfGkadB4MgTERFRbKhC4GeV1Wjq8gMAZAn48tQxKEpLHvLv4sgTERERwe124ckn18Lt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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "743a92c3c2fff1a1f99845518247f7971ad18b7c" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-3 Histogram\nWe can also create a **histogram** of each input variable to get an idea of the distribution.\n\n" + }, + { + "metadata": { + "_uuid": "5da0520ed3e738ee8814b2d91843ed4acec2b6e6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# histograms\ntrain.hist(figsize=(15,20))\nplt.figure()", + "execution_count": 103, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 103, + "data": { + "text/plain": "
" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA34AAARxCAYAAAB+2FVPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3XdUFOfeB/DvsjQRESGAWKLRKCGxraxiQY1YKFKuGmPJxSRqFBMTea3EgghGRUw0VjSxXBOvJsaCIlGvmmBJ4hW719xEsUYQpKiIStmd9w8Oc1mlLFvYwvdzjufIPFOemfntzDwzT5EIgiCAiIiIiIiIzJaFoTNARERERERE+sWCHxERERERkZljwY+IiIiIiMjMseBHRERERERk5ljwIyIiIiIiMnMs+BEREREREZk5FvyM1K5duzBy5EhDZ4OMmLoxcurUKfTu3bsWckSkPl9fX/zyyy+Gzkad5OHhgVu3bhk6G9X666+/4OHhgZKSEkNnhYyATCbDnTt3DJ0NMmGMIRb8NPbtt99iyJAhaNeuHSIjI9Va5vkHnbKbmkwmE/+FhISonYfDhw8jNDQUnTt3hre3N0aPHi0G9MqVK/HGG2+orPurr76q2U6SzhUVFWHWrFno27cvZDIZQkNDkZKSopN1e3h4oFOnTuL5lsvlai+bmpqKESNGwMvLC127dsWIESNw8eJFAKUFTE9PT5VYiomJ0UmeqXrTpk2Dj48POnfuDD8/P+zYsUNMS0hIgK+vL2QyGXr37o2IiAittxcWFob27dtDJpPB29sbkyZNQlZWltbrJe34+vqiQ4cOkMlk6NKlC8aPH4+MjAxDZ0snTp06BQ8PD6xfv16n683KysKcOXPg4+MDmUyGfv36ITIyEmlpaTrdjjmqjXhbuXIlpk2bpjKt/PWn7N+5c+cAAOfOnUPz5s3VWremz0fJyckYMWIEOnbsiLCwMB3ubd1TV2MoLi4OAwcOhEwmg7+/P/bs2aPDPdaepaEzYKpcXV3x4Ycf4vjx4ygsLNRqXadPn4alpfqnoqSkBHfv3sXMmTOxatUqdOvWDQUFBTh58iSkUqk4X0BAAJYuXapV3ki3SkpK4O7ujm+++QZNmjRBSkoKIiIisG/fPjRr1kzr9ScmJqJFixY1ys+zZ88QHh6O6OhoBAQEoLi4GKmpqbC2thbn69SpE7Zt26Z1/qjmJkyYgIULF8La2hppaWkYPXo0PD09cfXqVSQmJmLz5s14+eWXcf/+fRw9elQn24yKisKwYcPw4MEDfPLJJ1i0aBGWLVtWo3WUlJTU6LpG1UtISECPHj1QWFiI6OhoxMbGYs2aNTrdhkKhULmP1IY9e/bA0dERiYmJGD9+vE7WmZeXhxEjRkAmk+Gf//wnmjdvjvz8fPzrX//CL7/8gtatW7+wDGNWVW3EW0XKrj+aunXrlsbPR46Ojhg9ejSuX7+OU6dOaZwHKlUXY6hevXpYu3YtXnnlFVy6dAnjxo3Dyy+/jM6dO2ucH13iFz8NDRw4EP3794ejo6PK9NzcXEyYMAFyuRxdu3bFqFGjoFQqMX36dKSnpyM8PFyjr28eHh7YunUrBg4ciIEDB+L3339Hs2bN0L17d0gkEtjb28PPzw9NmjTR5W6SjtnZ2eHjjz9Gs2bNYGFhgb59+6JZs2b4z3/+I1bJ3LhxI7p37w4fHx/s3LlTXDYvLw/h4eHo3Lkz3nrrLdy+fVujPPj6+mL9+vUIDg5Gp06dcOPGDQBAUFAQpFIpbG1t4ePjg9dee00n+0zaadOmjVgIl0gkkEgkuH37Ni5dugQfHx+8/PLLAAAXFxcMHz5cXG7Xrl3o168fZDIZfH19sXfvXnH6yJEjERcXhy5dusDX17fSr86Ojo7w8/PD1atXAQD5+fmYMWMGunXrhr59+2LNmjVQKpXiekeMGIGFCxfC29sbK1euBAB8//33CAgIgEwmQ2BgIP7zn/+I6//9998RHBwMLy8vREREaP0Sra6wsbGBv7+/+OWqqKgIcXFxePPNN9GjRw9ERUXh2bNn4vxff/01fHx84OPjgx9++EFlXZGRkZg3bx4++OADdOrUCadOnaryPCuVSqxZswZ9+/ZF9+7dMWPGDOTn5wP4Xy2WnTt3ok+fPujSpQu2bduGixcvIjg4GHK5/IXaAk+ePMGBAwcQFRWFW7du4dKlSy/s786dO8X8b9iwAQCQmZmJDh064MGDB+J8V65cgbe3N4qLi7F582bY29sjPj4eL7/8MiQSCRwcHDB06FDxS05Zfnfs2IE333wT7777rranxiw9H28pKSkIDAyETCZDr169xHNSdg/76quvxHvY4cOHkZKSAj8/P3Tt2hUJCQkAgGPHjmHdunX48ccf1a7tVL6KcmRkJObPn4/x48dDJpNh2LBh4j1Rm+ejHj16IDAwEG5ubhodK6pYXYqhTz75BK1bt4aFhQU6duwILy8vnD9/XqPjpg98taVjmzZtgpubG3799VcAwIULFyCRSBAfH48zZ85gwYIF6NGjB4DSm05NHD58GN9//z1sbW1x//59XL9+HQsXLoSvry/at2+P+vXr63x/SL+ys7Nx8+ZNvPrqq8jOzkZ2djby8/Nx7Ngx/PLLL/jkk0/Qv39/NGzYEDExMbCxscGJEyfw119/YezYsRp/Jdy/fz/Wr1+PRo0aoaSkBFKpFDNnzkRgYCA6deqEhg0b6nhPSRvR0dHYvXs3nj17htdffx19+vRBcXExPvvsM7i5ucHb2xuvv/66+DbyyZMnWLBgAX744Qe0atUKWVlZePjwobi+ixcvYvDgwfjtt9/w3XffYfbs2Th+/DgkEonKdnNzc3Hw4EF4enoCAGJjY5Gfn4/Dhw/jwYMHGDt2LFxcXMQ3qxcvXsSgQYNw8uRJlJSU4Mcff8TKlSuxevVqtG/fHrdv31b5ovLjjz/i66+/ho2NDUaOHMm2zWp6+vQpkpOT0bFjRwDA0qVLcfv2bezZsweWlpaYNm0aVq9ejalTp+LYsWPYuHEjNm/ejGbNmmHu3LkvrC8pKQnr16/HunXrUFxcjLlz51Z6nnft2oXdu3djy5YtcHJywsyZMxETE4P4+HhxfRcuXMChQ4dw+vRpTJw4Eb169cLmzZtRUlKCv/3tb/D390fXrl0BAIcOHUL9+vXh7++Pffv2Yc+ePWjfvr1K/k6dOoVDhw7hzp07ePfdd+Hp6YkePXqgU6dOOHToEN5++20AwL59++Dn5wcrKyv8+uuvGDBgACwsqn+/ffr0aSQnJ6s1b130fLzNnj0by5cvh1wux8OHD1WeZbKzs1FYWIhjx45h9+7dmDNnDnr27ImdO3ciIyMDQ4cOxaBBg9C7d29MmDABt27d0rhmUnJyMr766iu8/vrrmDlzJpYtW4Zly5bhjTfe4PORkamrMfTs2TNcvnwZo0aN0ih/+sCrnI5ZWlri/v37SE9Ph5WVFeRy+QsPU8/r1q0b5HI55HK5+NajIuPHj4ejoyNsbW3RvHlzfPPNN8jMzERERAS6deuGyMhIFBQUiPMfOHBAXK9cLkdmZqbO9pO0V1xcjGnTpmHw4MFitSNLS0t89NFHsLKyQp8+fWBnZ4cbN25AoVDg0KFD+OSTT2BnZ4e2bdti8ODBL6xz8ODB4vlesGBBpdsOCwuDu7s7bG1tYW9vj3/+85+QSCSYO3cuunfvjvDwcGRnZ4vzX7hwQSWWjOntVV0QHR2Ns2fPYuvWrRgwYACsra0RGhqKOXPm4MSJEwgLC0OPHj1U2khZWFjg6tWrePbsGVxdXdGmTRsxrUmTJnj77bchlUoxePBg3L9/X+V8L1iwAHK5HKGhoXBxccGnn34KhUKB5ORkTJ06Ffb29mjWrBnef/998UsiUFoFPiwsDJaWlrC1tcUPP/yAcePGoUOHDpBIJGjRogWaNm0qzh8WFgY3Nzc4Ojqib9+++P333/V8JE3bRx99JP4GT548ibFjx0IQBHz//feYNWsWHB0dYW9vjwkTJmD//v0ASgvXQ4YMQdu2bWFnZ4dJkya9sN5+/frBy8sLFhYWsLS0rPI879u3D++99x6aN2+O+vXrY8qUKUhOTlbpgOWjjz6CjY0NfHx8YGdnh6CgIDg7O8PNzQ1yuRxXrlwR592zZw8CAgIglUoRFBSE/fv3o7i4+IX9trOzg4eHB4YMGYKkpCQAQHBwsPh/QRCQnJyM4OBgAKU1JF566SVxHUeOHIFcLodMJsOYMWNU1v/xxx/Dzs4Otra2Gp8bc1RRvAGl96lr167h8ePHaNiwId544w1xGUtLS0ycOBFWVlYIDAxEXl4eRo8eDXt7e7Rp0wavvvoq/vjjjyq3W3b9kcvlFd7nyvTv3x8dOnSApaUlQkJCxOsHn4+MR12PoXnz5sHDwwO9evWq0XHTJ37x07GxY8di1apV4o1l+PDh1bZZ+O2339RqV+Du7q7yd6dOnfDll18CKH3T/n//939ISEjA1KlTAQD+/v5s42eklEolZsyYASsrK5U38I6OjiqxUK9ePTx58gS5ubli+8AyFVU52L17t1pt/J6PpdatW2Px4sUAgLS0NEyfPh0LFy7EF198AQDo2LEj2/gZmFQqhVwux969e7Ft2zaMHj0aISEhCAkJQXFxMQ4fPozp06fD09MTvXr1wrJly7Bx40bMnj0bnTt3xsyZM8UXDOUfiOvVqweg9CthmTlz5rzQPiI7OxvFxcUqcdekSROVm13jxo1VlsnIyBCrolbExcVFJR/sRKZqq1evRo8ePaBQKHDkyBGEhYVhz549ePr0KYYMGSLOJwiCWDUzKysL7dq1E9PKF7zLlL8e5OXlVXmes7KyVNbRtGlTlJSUICcnR5zm7Ows/t/GxuaFv8tiLSMjA6dOncKUKVMAlBZA586di5SUFPTv37/C/DVt2hR//vkngNImF7GxscjKysLNmzdhYWEhdmrl6OiI+/fvi8v169cPqamp2LFjh8rLCuDFuKVSFcXb/v37sWLFCqxduxaff/45PDw8MHXqVMhkMgClx72s5kFZQfr581/+4bkiFV1/KlL+OmZra6tyDePzkXGoyzEUFxeHq1evYsuWLdV+AKpN/OKnY/b29oiMjMSRI0ewdu1abNq0Saz2qa2qAqdDhw4YOHCg2BaHjJcgCJg9ezays7OxcuVKWFlZVbuMk5MTLC0tVXrE0qZ3rKpiqXXr1hgyZAhjyUgpFIoX2ndaWVkhICAAbdu2Fc9br169sGnTJpw4cQKtWrWqsIpfTTRq1AhWVlZIT08Xp2VkZKi0hXk+rtzd3TVui0qVk0qlGDhwICwsLHD+/HnY2tpi//79SE1NRWpqKs6cOSP2Yufq6qpyrSh//ipS3Xl2dXXF3bt3VdZnaWmp8mCmrsTERCiVSkycOBE9e/ZE//79UVRUhN27d6vM93z+XV1dAQANGzZEz549kZycjKSkJAQGBoox2L17dxw+fFgsAFfFmB7KjFH5eDtz5gw6dOiAtWvX4pdffkH//v017k24to47n48Mr67F0IoVK3D8+HFs2LAB9vb2es5dzbDgp6GSkhIUFhZCqVRCoVCgsLAQJSUl+Omnn3Dr1i0IgoAGDRpAKpWKgfnSSy/pbPyQ1NRUfP/99+Jb1rS0NBw9elSsP03Ga968eUhLS0NCQoLaVYukUikGDBiAVatW4enTp7h27doLD0eaSktLw8aNG3Hv3j0ApQ9ZSUlJjCUjkJOTg/3796OgoAAKhQLHjx/H/v370b17d+zatQs///wzHj9+DKVSiZSUFFy7dg0dOnRAdnY2Dh8+jCdPnsDa2hp2dnZat1+SSqXw9/fHsmXL8PjxY9y9exebNm2qskH9W2+9hY0bN+Ly5csQBAG3bt1SKTSQZgRBwOHDh/Ho0SO0adMGw4YNw8KFC8X7QWZmJo4fPw6g9K307t27ce3aNTx9+hSrVq2qct3VneegoCD84x//wJ07d1BQUIBly5YhICBAo94wd+/ejUmTJmHPnj3ivxUrViAlJQV5eXnifGvWrMHTp09x9epV7Nq1C4GBgWJacHAwEhMTcfDgQbGaJwC89957ePToEaZPn47bt29DEAQ8fvyY1Yk1UD7eWrZsib179yI/Px9WVlaoX7++xtcWZ2dn3L17V63CeU1o83xU/nlOqVSisLDwharHVHN1KYbWrVuHpKQkbNq0CY0aNdJpvnSBVT01tHbtWpUb6N69ezFp0iQ0aNAAsbGxyM3NhYODA0aOHIlu3boBKG2jt2DBAsTHx2PixInw8/PTePsODg44evQoli9fjqdPn6JRo0YICAjAuHHjtN430p+7d+/iu+++g7W1NXx8fMTp8+fPr7YXsaioKHz66afo2bMnWrVqhSFDhuiku2l7e3tcuHABmzZtQn5+Pho0aIC+fftixowZWq+btCORSLBt2zbMmzcPSqUSTZs2xaxZs9CvXz8cOnQICQkJSEtLg0KhQNOmTREdHQ25XI6srCxs3rwZM2fOhEQigaenJ6Kjo7XOz9y5cxEbG4v+/fvDxsYGw4YNw9ChQyudPyAgAA8ePMDUqVPFKoJLliypsLohVS88PFysAtW0aVMsXrwYbdq0wfTp07F69Wq8/fbbyMvLg5ubG0aOHIlevXqhT58+ePfdd/Huu+9CIpGIw8dUparzPHToUGRmZuLvf/87CgsL4ePjo9HX5PPnzyM9PR3vvPMOnJycxOn9+vVDixYtsH//frz55psAgK5du2LAgAEQBAFjxoxRuXb6+vpi9uzZaNKkiUpPxE5OTvjuu+/w5ZdfYtSoUSgoKICzszO8vLx08luoCyqKt1atWiE+Ph6xsbFQKBR45ZVXVDr2qQl/f3/s3bsX3t7eaNasmc5eZmrzfJSYmIhPP/1U/LtDhw4YPHiw2BSCaqYuxtAXX3wBKysrDBw4UJw2YcIEhIeH6yRv2pIIgiAYOhNERERERESkP6zqSUREREREZOZY8CMiIiIiIjJzLPgRkUmIi4uDr68vPDw8xO7cgdI2Pv7+/ggNDUVoaKjYqQVQ2o4oJCQEfn5+GDNmjEqX81WlEREREZkbFvyIyCT069cPW7durbBjkBUrViAxMRGJiYniQKlKpRLTp09HVFQUDh48CLlcLo65U1UaERERkTliwY+ITIJcLn9h4PmqXL58GTY2NuKAziNGjMCBAweqTSMiIiIyRxzOgYhM3rRp0yAIAry8vDBlyhQ4ODggIyMDTZo0EedxcnKCUqnEgwcPqkxzdHQ0xC4QERER6ZXJFvzy8gqgVJrGSBTOzvbIyXls6GzUmK7zbWEhQaNG9XW2Pm09H0Omep7KM/d9sLCQvDBt69atcHd3R1FRET777DPExMSw2iaZDHO8DmnKlPbdmO5n5hBDdTHPjCHTYozHRJMYMtmCn1IpmEzBD4BJ5bU8U823OiqKIXPY37q2D2XVP62trTFq1ChMnDhRnJ6eni7Ol5ubCwsLCzg6OlaZVhM5OY9V8uri0gD37+fXaB21ifkrvVE6O9vrdRs1Ya7XIU3V5X3XlLnEEPNsOOYSQ/pmDseEbfyIyGQ9efIE+fmlBQVBEJCcnAxPT08AQLt27fDs2TOkpqYCALZv3w5/f/9q06hu+umnn/C3v/0NoaGhCAkJwaFDhwAAN27cwPDhw+Hn54fhw4fj5s2b4jJVpRERERkbk/3iR0R1y/Ll8UhJ+Qm5uTl4//334ejoiISEBHz88cdQKBRQKpVo3bo15s2bBwCwsLDAkiVLMG/ePBQWFqJp06aIj4+vNo3qHkEQMGPGDGzduhVt27bFf//7X4wcORL9+/fHvHnzMGrUKISGhiIxMRFRUVHYsmULAFSZRkREZGxY8CMikxARMR1Tpsx4oZrenj17Kl2mc+fO2LdvX43TqO6xsLAQvx7n5+fD1dUVeXl5uHLlCjZt2gQACAoKQmxsLHJzcyEIQqVpTk5OBtsPIiKiytS5gl8Dh3qwtal+t58VliD/0dNayBEZi6JiBVxcGlQ7H2ODKsMYMk0SiQTLly/Hhx9+CDs7OxQUFGD9+vXIyMiAm5sbpFIpAEAqlcLV1RUZGRkQBKHSNFMs+Kl7bwQYv8aO1yHSFmPIfNW5gp+tjSWCpyZWO9++z0NhvF0gmJeffvoJX375JQRBgCAImDRpEgYOHIgbN24gMjJS7GI/Li4OLVu2BIAq0zRlbSVlbJBWGEOmqaSkBOvWrcOaNWvg5eWFM2fOICIiAkuWLNH7tivqaEadBy59UCd2gdL4tdVTHg217+aE1yHSFmPIfNW5gh8ZF7atISJD+/3335GVlQUvLy8AgJeXF+rVqwcbGxtkZmZCoVBAKpVCoVAgKysL7u7uEASh0rSaMJaeYWta4NJHHo2919nyjK13WCIidbBXTzK4qtrWBAUFAShtP3PlyhXk5uYiJyen0jQioppq3Lgx7t27h+vXrwMA0tLSkJOTgxYtWsDT0xNJSUkAgKSkJHh6esLJyQnOzs6VphERERkjfvEjg2LbGiIyNBcXF0RHR2Py5MmQSCQAgIULF8LR0RHR0dGIjIzEmjVr4ODggLi4OHG5qtKIiIiMDQt+ZFDG1rZGXcbcDsWY86Yuc9gHMi0hISEICQl5YXrr1q2xY8eOCpepKo2IiMjYsOBHBmVsbWvUZaztUEypjUxlqtoHtqshIiIi0gzb+JFBsW0NEREREZH+8YsfGRTb1hARERER6R8LfmRwbFtDRERERKRfrOpJRERERERk5ljwIyIiItLSTz/9hL/97W8IDQ1FSEgIDh06BAC4ceMGhg8fDj8/PwwfPhw3b94Ul6kqjYhI11jwIyIiItKCIAiYMWMGlixZgsTERCxZsgQzZ86EUqnEvHnzMGrUKBw8eBCjRo1CVFSUuFxVaUREusaCHxEREZGWLCwskJ9fOhRNfn4+XF1dkZeXhytXriAoKAgAEBQUhCtXriA3Nxc5OTmVphER6QM7dyEiIiLSgkQiwfLly/Hhhx/Czs4OBQUFWL9+PTIyMuDm5gapVAoAkEqlcHV1RUZGBgRBqDSNwxMRkT6w4EdERESkhZKSEqxbtw5r1qyBl5cXzpw5g4iICCxZskTv23Z2ttd4WReXBjrMiXaMKS/qMsU8U93Ggh8RERGRFn7//XdkZWXBy8sLAODl5YV69erBxsYGmZmZUCgUkEqlUCgUyMrKgru7OwRBqDStJnJyHkOpFMS/a1IYuX8/v0bb0hcXlwZGkxd1aZtnCwuJVoV2Ik2wjR8RERGRFho3box79+7h+vXrAIC0tDTk5OSgRYsW8PT0RFJSEgAgKSkJnp6ecHJygrOzc6VpRET6oPUXv8LCQixcuBC//vorbGxs0KlTJ8TGxuLGjRuIjIzEgwcP4OjoiLi4OLRs2RIAqkwjIiIiMiUuLi6Ijo7G5MmTIZFIAAALFy6Eo6MjoqOjERkZiTVr1sDBwQFxcXHiclWlERHpmtYFv/j4eNjY2ODgwYOQSCTIzs4G8L8uikNDQ5GYmIioqChs2bKl2jQiIiIiUxMSEoKQkJAXprdu3Ro7duyocJmq0oiIdE2rqp4FBQXYs2ePyhuul156qcouitl9MRERERERUe3S6ovfnTt34OjoiFWrVuHUqVOoX78+Jk+eDFtbW3ZfTEREREREZCS0KvgpFArcuXMHr7/+OmbOnIkLFy4gPDwcX375pa7yV6na6AlJl930mmqXv6aabyIiIiIi+h+tCn7u7u6wtLQUq2127NgRjRo1gq2tba13X6wuQ3RzbIrdFAO6zze7LiYiIiIiMgyt2vg5OTnB29sbJ0+eBFDaW2dOTg5atmzJ7ouJiIiIiIiMhNbj+M2fPx/r1q1DcHAwpkyZgiVLlsDBwQHR0dH49ttv4efnh2+//Rbz588Xl6kqjYiIiIjIHK1atRzDhoWgRw8v/Pnnn+L0GzduYPjw4fDz88Pw4cNx8+ZNrdOInqf1cA7NmzfHN99888J0dl9MRESmgmPSElFt6NXrTQwbNgIfffSBynRNh0HjEGlUE1p/8SMiIjJ15cek3bdvHyZPngzgfw9VBw8exKhRoxAVFSUuU1UaEVFFOnbsBDe3xirTNB0GjUOkUU2x4EdERHUax6QlIkPKyMiodKgzTdOIKqJ1VU8ibbGKFREZEsekJaK6TJse1+vSsF/msK8s+JHBla9iJZFIkJ2dDYB12omodhjbmLSm8HChrzyawr4T6Zq7u7tGw6Dpa4g0Qwx9ZuyMcWg2TYZJY8GPDKqsilVKSkqFVaw2bdoEoLQaVWxsLHJzcyEIQqVpfNNORDVlTGPSGurhoqYFLn3k0RgfrCrDcWlJl8oPdRYaGvrCUGeaphE9j238yKDKV7EaMmQIwsLCkJqayjrt9IJVq5Zj6NBgeHh4sAts0imOSUtEtWX58ngMHhyI+/ez8P7772PQoEEAqh7qjEOkka7wix8ZlLFVsVKXMVdHMua8qauifQgODkB4+Di88847KtPZBTbpwvz58zFr1izExcXB0tJSZUzayMhIrFmzBg4ODoiLixOXqSqNiKgiERHTEREx/YWvxpoOg8Yh0qgmWPAjgzK2KlbqMtbqSKZUVaoyle1DixYesLCQqEzTtEowqwvT8zgmLRERmTtW9SSDYhUr0ga7wCYiIiJSD7/4kcGxihWZKlOsLmzsVYGNPX9ERESmigU/MjhWsSJNsQvsmjH2qsC1kT/2xkj6wjFpicjYsaonEZmsqqr9appGRKSJ8mPS7tu3D5MnTwbwv46kDh48iFGjRiEqKkpcpqo0IiJdY8GPiEzC8uXxCA0NwL1799gFNhEZlbIxaSdPnlzhmLRlHZgFBQXhypUryM3NrTKNiEgfWNWTiExCRMR0TJky44VqeuwCm4gMrfyYtKdOnUL9+vUxefJk2NraVtqRlCAIlaax9gER6QMLfkRERERa4Ji02jOmvKjLFPNMdRsLfkRERERa4Ji02jH2jqcqom2e2dEUGQLb+BERERFpgWPSEpEp4Bc/IiIiIi1xTFoiMnYs+BERERFpiWPSEpGxY1VPIiIiIiIiM8eCHxERERERkZljwY+IiIiIiMjMseBHRERERERk5nRW8Fu1ahU8PDzw559/AgDOnz9Z8gNaAAAgAElEQVSPkJAQ+Pn5YcyYMcjJyRHnrSqNiIiIiIiIdEsnBb///Oc/OH/+PJo2bQoAUCqVmD59OqKionDw4EHI5XIsXbq02jQiIiIiIiLSPa0LfkVFRYiJiUF0dLQ47fLly7CxsYFcLgcAjBgxAgcOHKg2jYiIiIiIiHRP64Lfl19+iZCQEDRr1kyclpGRgSZNmoh/Ozk5QalU4sGDB1WmERERERERke5pNYD7uXPncPnyZUybNk1X+VGbs7O93rfh4tLAKNdVm0w130RERERE9D9aFfxOnz6NtLQ09OvXDwBw7949jB07FmFhYUhPTxfny83NhYWFBRwdHeHu7l5pWk3k5DyGUinUOM81Kcjcv59f4/VXtk1dras26TrfFhaSWimwExFpatWqVVi5ciX27duHtm3b4vz584iKikJhYSGaNm2K+Ph4ODs7A0CVaURERMZGq6qe48ePx4kTJ3D06FEcPXoUjRs3xoYNGzBu3Dg8e/YMqampAIDt27fD398fANCuXbtK04xJUbECLi4Nqv3XwKGeobNKREQ6wI7KiIjInGn1xa8yFhYWWLJkCebNm6fyJrS6NGNibSVF8NTEaufb93koTO9bnnHim3YiMpSyjso+//xzjB49GkDFnZH169cPixYtqjKNiIjIGOm04Hf06FHx/507d8a+ffsqnK+qNKqbKnvTvmjRIsjlcqxZswZLly7FokWLqkwjItKELjsqq2nTBSIiotqgly9+RDXBN+1EZEjG1lGZKXSqpa88msK+ExGZKhb8yOD4pp2IDMmYOiozVGdgNS1w6SOPptQRGjsrIyJTxIIfGZSxvWlXlzG/lTbmvKnLHPaBTMf48eMxfvx48W9fX18kJCTg1Vdfxffff4/U1FTI5fJKOyp7Po2IiMgYseBHBmVsb9rVZaxvpU3pjXllqtoHvmWn2mQOHZURERGVYcGPDIpv2onI2LCjMtIGe6gmImPFgh8ZJb5pJyIiU2NKPVSXjVdcnWeFJch/9LQWckRE+saCHxkVvmknItKdBg71YGvDW31tMLUeqjleMVHdw7sBERGRmbK1sVT74Z60Y6geqmuj3XNtdLhlip16mWKeqW5jwY+IiIhIC4bsoVqbjsrUpe9Ow0yxYzJt88zOysgQWPAjIiIi0oIhe6gmIlKXhaEzQERERGTKxo8fjxMnTuDo0aM4evQoGjdujA0bNmDcuHFiL9QAKu2h+vk0qrt8fX3h7++P0NBQhIaG4vjx4wBKe4ANCQmBn58fxowZg5ycHHGZqtKIyuMXPyIiIiI9YA/VpIkVK1agbdu24t/G3DssmRYW/IiIiIh0iD1Uky4Zc++wZFpY8CMiIiIiMhLTpk2DIAjw8vLClClTaqV3WKobWPAjIpPn6+sLa2tr2NjYACi9afbq1Qvnz59HVFSUSjUqZ2dnAKgyjYiIyBC2bt0Kd3d3FBUV4bPPPkNMTAwGDBig121q07toXRrSwhz2lQU/IjILbBNBRESmzt3dHQBgbW2NUaNGYeLEiRg9erRee4fVZkgQUxuGQ1PGOOSIJkOCsFdPIjJLFbV7OHDgQLVpREREhvDkyRPk55cWLgRBQHJyMjw9PavsAZa9w1JN8IsfEZkFtokgIiJTlpOTg48//hgKhQJKpRKtW7fGvHnz2Dss6QwLfkRk8gzRJgIwzXYRxt5GwdjzR0SkL82bN8eePXsqTGPvsKQLLPgRkckzRJsIwPTaRRhjG4XyaiN/mrSJICIiMgds40dEJo1tIoiIiIiqxy9+RGTS2CaCiIiIqHos+BGRSWObCCIiIqLqaVXVMy8vDx988AH8/PwQHByMSZMmITc3F0Dp4MghISHw8/PDmDFjkJOTIy5XVRoRERERERHpllYFP4lEgnHjxuHgwYPYt28fmjdvjqVLl4qDI0dFReHgwYOQy+VYunQpAFSZRkRERERERLqnVcHP0dER3t7e4t+dOnVCeno6B04mIiKTwdorRERUF+isV0+lUolt27bB19dX44GTqe7hAxcRGRprrxARUV2gs85dYmNjYWdnh7///e/417/+pavVVsqYxmFSZ+wuUx2UWN/5LnvgKvtyHBcXh6VLl2LBggWYPn06Fi1aBLlcjjVr1mDp0qVYtGiR+MBVURoRUU1VVHtl27ZtFdZQ6devHxYtWlRlGpVq4FAPtjbVP2Y8KyxB/qOntZAjIqK6TScFv7i4ONy6dQsJCQmwsLCocnBkfQ2crC59FGSqG3DY2AdNroyu813RwMl84CIiY6KL2is1vZ+ZK1sbSwRPTax2vn2fh8L07pBERKZH64LfF198gcuXL2P9+vWwtrYGoDo4slwur3Tg5OfTqG6rqw9cfCtOZDyMofaKKdQQ0XUey9ZnCvtekby8PMyYMQO3b9+GtbU1WrRogZiYGDg5OeH8+fOIiopSGTPU2dkZAKpMIyLSNa0KflevXsW6devQsmVLjBgxAgDQrFkzrF69mgMnU40ZwwOXunT9cKLuW3FbM65WXJ457AOZHmOovaLrmhb6+i2pk8eabPv+/XyTqh3zfA0WNlsgIlOgVcGvTZs2+OOPPypM48DJVBPG8sClLkM9mJlrteLyqtqHiqoLE+kCa6+QNthsgYhMgc46dzE0davLkfHhAxcRGRJrr5Au1dVmC0Rk/MympFSTRuRkPPjARUSGxtorpEum1GxBXbVR/d4Uq/ibYp6pbjObgh+ZJj5wERGRuTC1Zgvq0ncTAlNspqBtntl0gQyBBT8tFRUr1LrINnCoxx4ZiYiIzBSbLRCRsWPBT0vWVlKOU0RERFSHsdkCEZkCFvyITIS6X5ddXBpwzD8iolrEZgtEZApY8CMyEep+XQb4hZmIiIiIVFkYOgNERERERESkXyz4ERERERERmTkW/IiIiIiIiMwc2/gR6UkDh3qwteFPjIiIiIgMj0+lRHpia2Op9lAfRERERET6xIIfEREREVVI3aGEAHAoISIjx4IfEREREVWIQwkRmQ927kJERERERGTmWPAjIiIiIiIycyz4ERERERERmTm28SMyQ+o2xmdDfCIiIqK6gQU/IjOkbmN8NsQnIiIiqhtY8CMiIjIxDRzqwdaGt3AiIlIf7xpEREQmxtbGUu2v+kRERAA7dyEiIiIiIjJ7/OJHVEPqdpxiCtgJDBEREVHdYLCC340bNxAZGYkHDx7A0dERcXFxaNmypaGyo3c1KSzwIVs9hoqhmnScYuzqeicwde06RLrHGCJtMYZIW4aKIb48Nj0GK/jNmzcPo0aNQmhoKBITExEVFYUtW7YYKjt6p+4DNmC+D9m6VtdiiHSPMUTaYgxpr/zDY1UPkeb68MgYIm0ZKobUfbbduThI7Y8fhUUK2FhLq53PXK8H+maQgl9OTg6uXLmCTZs2AQCCgoIQGxuL3NxcODk5GSJLZGIYQ6QtxhBpizGkG3W55gFjiLRlCjFU048fuixMsoCoyiAFv4yMDLi5uUEqLS3RS6VSuLq6IiMjQ+0gtbCQvDDNtVE9tZY19vnU/XSu7luRwsISPH78TK1tP6+i42xvbwsbNboRf367Fa1LU4yh2l2nzmOymvnKtmXOMaTOvqj9W1PzuAOAQ0M7nZwjcT4tri8V0eU51vf69RFDNWkWYMjri7rH0SDXITVjUtN7GaC7ODL0dchgzy96PKa1SZs8M4a0m9faSoqxCw5VO9/amf109vzi4tLAYPfGimgUQ4IBXLp0SQgMDFSZFhAQIFy+fNkQ2SETxBgibTGGSFuMIdIWY4i0xRiimjDIcA7u7u7IzMyEQqEAACgUCmRlZcHd3d0Q2SETxBgibTGGSFuMIdIWY4i0xRiimjBIwc/Z2Rmenp5ISkoCACQlJcHT09No6iKT8WMMkbYYQ6QtxhBpizFE2mIMUU1IBEEQDLHhtLQ0REZG4tGjR3BwcEBcXBxatWpliKyQiWIMkbYYQ6QtxhBpizFE2mIMkboMVvAjIiIiIiKi2mGQqp5ERERERERUe1jwIyIiIiIiMnMs+BEREREREZk5FvyIiIiIiIjMHAt+NZCXl4cPPvgAfn5+CA4OxqRJk5CbmwsAOH/+PEJCQuDn54cxY8YgJydHXE7TNH1ZtWoVPDw88Oeff5pc3vXhxo0bGD58OPz8/DB8+HDcvHnT0FkCAMTFxcHX11flXAFV51fTNH0xl99MdQwdQ/o4zvqiq+uPuTF0DBmar68v/P39ERoaitDQUBw/ftzQWTI5xhJDVV2PPDw8EBwcLJ7nP/74Q1zu6NGj8Pf3x4ABAxAREYGnT5+qlaYrlcWgOd2rqmMsMaRv5vB8pTHDjh9vWvLy8oTffvtN/Hvx4sXCp59+KigUCqF///7C6dOnBUEQhNWrVwuRkZGCIAgap+nL5cuXhbFjxwp9+/YV/vjjD5PKu76EhYUJe/bsEQRBEPbs2SOEhYUZOEelTp8+LaSnp4vnqkxV+dU0TV/M4TejDkPHkK6Ps77o6vpjjgwdQ4b2/HWOas5YYqiy65EgCELbtm2Fx48fv7DM48ePhR49egg3btwQBEEQZs2aJaxcubLaNF2qKAbN7V5VHWOJIX0zh+crTbHgp4UDBw4I7777rnDhwgVh0KBB4vScnByhU6dOgiAIGqfpQ2FhofD2228Ld+7cEYPdVPKuL9nZ2YKXl5dQUlIiCIIglJSUCF5eXkJOTo6Bc/Y/5S9MVeVX07TaZGq/GXUYy7EtT9vjrA+6vP6YG2OModrGgp92jDmGyq5HglB5wS85OVkYP368+PfFixeFwMDAatN0qaIYNKd7VXWMOYb0xZyer9TFqp4aUiqV2LZtG3x9fZGRkYEmTZqIaU5OTlAqlXjw4IHGafrw5ZdfIiQkBM2aNROnmUre9SUjIwNubm6QSqUAAKlUCldXV2RkZBg4ZxWrKr+aptUWU/zNqMMYjm15ujjO+qDL64+5MbYYMpRp06YhODgY0dHRePTokaGzY1KMNYbKX4/KhIWFITQ0FJ9//jmKiooAvHgtaNKkiZj3qtJ07fkYNKd7VXWMNYZqiyk/X9UEC34aio2NhZ2dHf7+978bOitqOXfuHC5fvoxRo0YZOitUR5nab8ZUGeNx5vWHqrN161bs3bsXO3fuhCAIiImJMXSWSAeevx79/PPP2LVrF7Zu3Ypr165h9erVBs7h/zAGqS5gwU8DcXFxuHXrFpYvXw4LCwu4u7sjPT1dTM/NzYWFhQUcHR01TtO106dPIy0tDf369YOvry/u3buHsWPH4tatW0afd31yd3dHZmYmFAoFAEChUCArKwvu7u4GzlnFqsqvpmm1wRR/M+oy9LEtT1fHWdd0ff0xN8YUQ4ZStq/W1tYYNWoUzp49a+AcmRZjjKHnr0dl+QQAe3t7DBs2TDzPz//e09PTxXmrStOlimLQnO5V1THGGKpNpvp8VVMs+NXQF198gcuXL2P16tWwtrYGALRr1w7Pnj1DamoqAGD79u3w9/fXKk3Xxo8fjxMnTuDo0aM4evQoGjdujA0bNmDcuHFGn3d9cnZ2hqenJ5KSkgAASUlJ8PT0hJOTk4FzVrGq8qtpmr6Z6m9GXcYSQ7o8zrqm6+uPuTGWGDKUJ0+eID8/HwAgCAKSk5Ph6elp4FyZFmOLoYquRw8fPsSzZ88AACUlJTh48KB4nnv16oVLly6JvSFu374dAQEB1abpSmUxaE73quoYWwzVNlN8vtKERBAEwdCZMBVXr15FUFAQWrZsCVtbWwBAs2bNsHr1apw9exbz5s1DYWEhmjZtivj4eLz00ksAoHGaPvn6+iIhIQFt27Y1ubzrWlpaGiIjI/Ho0SM4ODggLi4OrVq1MnS2sGDBAhw6dAjZ2dlo1KgRHB0dsX///irzq2mavpjTb6Yqho4hfRxnfdLF9cfcGDqGDOnOnTv4+OOPoVAooFQq0bp1a8yZMweurq6GzppJMZYYqux6NG7cOERFRUEikaCkpAQymQyzZs1C/fr1AQCHDx9GfHw8lEolPD09sXjxYtjZ2VWbpgtVxaA53auqYywxpG/m8HylKRb8iIiIiIiIzByrehIREREREZk5FvyIiIiIiIjMHAt+REREREREZo4FPxOwa9cujBw5Uvzbw8MDt27d0su2/vrrL3h4eKCkpEQv6yfDOXXqFHr37i3+ff36dYSGhkImk2HLli063x5jqW4SBAGffvopunTpgrfeesvQ2aFqPH9dqA2RkZFYtmxZrW7z+fsoaS89PR0ymUzsxl7XwsLCsGPHDr2sm0zbypUrMW3aNAD6f9YwxDVSn+pkwc/X1xcdOnSATCZDly5dMH78eGRkZOh0G+WDskxYWBjat28PmUwm/jt37pxW24mMjES7du3E9Q0ZMgT//ve/1V7e19cXv/zyi1Z5qGsMGT/P3wS1uSB9/fXX8Pb2xrlz5zB69GjGkpExVJxVdB5r8tB85swZnDx5EikpKfjhhx8AAAkJCfD19YVMJkPv3r0REREhzq+P66I5Kx8XZf9MeaDpU6dO4bXXXhP3xc/PDzt37jR0tug5FcWdVCrFuXPnIJVKDZ09MmEVxVZmZqbG6yt/T/Hy8sI777yDP/74Q+3l9flxxRjUyYIfUPogcu7cOZw4cQLOzs6IjY2tle1GRUXh3Llz4j+ZTKb1OseOHYtz587h7NmzGDlypNglMemPoeJHl9LT09GmTRuVaYwl42KKcXb37l00bdpU7Gp99+7dSExMxObNm3Hu3Dns3LkT3bt3V1lGH9dFc1YWF2X/oqKiDJ0lrbi6uorXnenTp2Pu3Lm4du1ajdbBmgX693zcubm5VTqvIAhQKpW1mDsyZTWJLXWU3VP+/e9/o2vXrpgxY4aOcmr66mzBr4yNjQ38/f2RlpYGAEhJSUFgYCBkMhl69eqFDRs2APjfl5WvvvoK3bt3h4+PDw4fPoyUlBT4+fmha9euSEhIAAAcO3YM69atw48//giZTIaQkJAq81DRZ2pNqjhIJBIEBQXhwYMHyM7OBgDcvn0bo0ePhre3N7y9vTF16lQ8evQIADB9+nSkp6cjPDwcMpkMX331lbiuffv24c0334S3tzfWrl1bo3zUJcYQP+Xt3LkTAQEBkMlk6NevH7Zv317hfKNHj8apU6cQExMDmUyGGzduqKQzloyLMcVZ2fVq9+7dL5zXHTt2YM6cOTh//jxkMhlWrFiBS5cuwcfHBy+//DIAwMXFBcOHD9f1Iarzyr7KxsXFoUuXLvD19UVKSoqY/uDBA3z66afw8fFBly5d8OGHH1a4nrS0NISFhUEul2PQoEE4cuSImFZZ3AHATz/9hNDQUMjlcowYMQL//e9/xbQrV65g8ODBkMlkiIiIQGFhYYXblkgk6N+/PxwcHMSC35EjRzBo0CDI5XKEhYWJvwGg9EvB+vXrERwcjE6dOqGkpAQZGRmYNGkSunXrBm9v7xe+hlZ2fKjmnn92CQsLw7JlyzBixAh07NgRd+7cQX5+PmbNmgUfHx/06tULy5YtE18m7tq1CyNGjEBMTAy8vLzg7++PX3/9tcJtVXX/AVDlef/hhx8QEBCALl26YOzYsbh79y6A0sLpwoUL0b17d3Tu3BnBwcH4888/9XW4qAYqqs2kSa0iqVSKQYMGqVw3Ll68iOHDh0Mul8PHxwcxMTEoKioCALzzzjsAIDaDSU5OFpfbuHGjeF815VoJlobOgKE9ffoUycnJ6NixIwBg9uzZWL58OeRyOR4+fIi//vpLnDc7OxuFhYU4duwYdu/ejTlz5qBnz57YuXMnMjIyMHToUAwaNAi9e/fGhAkTcOvWLSxdurTW9kWhUGDPnj1o1qyZOEioIAiYMGECunTpgsePH+Pjjz/GypUrMXv2bMTHx+PMmTNYsGABevToAQDi/p45cwYHDhzAzZs38dZbb2HgwIFo3bp1re2LqTC2+HF2dsa6devQvHlznD59Gh988AHat2+PN954Q2W+LVu2ICwsDCEhIRg2bNgL62EsGRdjizOg4vM6bNgwSKVS7NixA9u2bQMAJCYm4rPPPoObmxu8vb3x+uuvs2qYnly8eBGDBw/Gb7/9hu+++w6zZ8/G8ePHIZFIMGPGDNjZ2WH//v2ws7OrsDptcXExwsPDMXToUGzYsAFnzpzBhx9+iJ07d6JVq1aVxt2VK1cwa9YsJCQkoF27dti7dy8+/PBDHDhwAADw0Ucf4d1338U777yDI0eOYOrUqRg3btwL21cqlThy5Ajy8/PRtm1b3LhxA1OnTsXq1avRtWtXbN68GeHh4di/fz+sra0BAPv378f69evRqFEjSCQSTJgwAd26dcPRo0chlUpx6dIltY4P6UZiYiK++uorvPLKKxAEAREREXB2dsahQ4fw9OlTTJgwAe7u7hgxYgSA0nPi7++P3377Df/6178wadIkHDlyBI6Ojirrrer+o1AoKj3vhw8fxrp165CQkIAWLVpg/fr1mDp1KrZv344TJ04gNTUVBw8eRIMGDXD9+nU0aNCg1o8Z6U9RURH27dsn3jsBwMLCAp9++inatWuHe/fu4YMPPsA///lPvPfee9i6dSs8PDyQmJiIFi1aACgthGZnZyM/Px/Hjh3DL7/8gk8++QT9+/dHw4YNDbVrGquzX/w++ugjyOVyyOVynDx5EmPHjgUAWFpa4tq1a3j8+DEaNmyo8sBsaWmJiRMnwsrKCoGBgcjLy8Po0aNhb2+PNm3a4NVXX622HvGCBQvE7Q4ePFgn+7Jx40bI5XLIZDIsXLgQkydPFh+sWrRogZ49e8La2hpOTk54//33cfr06WrXOWnSJNja2uK1117Da6+9pvL2lowjfuRyOcLDw1XS33zzTbz88suQSCTo2rUrevbsidTUVLX3i7FkXAwVZ+pQ97yGhoZizpw5OHHiBMLCwtCjRw+sX79eZR59XBfNWfm4kMvl+P777wEATZo0wdtvvw2pVIrBgwfj/v37yM7ORlZWFo4dO4b58+ejYcOGsLKyQteuXV9Y74ULF/DkyROMHz8e1tbW6N69O/r27Yv9+/cDqDzuvvvuOwwfPhwdO3YUt21lZYXz58/jwoULKC4uxrvvvgsrKyv4+/ujffv2KtvNysqCXC5Ht27dsGrVKixZsgStWrVCcnIy+vTpg549e8LKygpjx47Fs2fPVAqtYWFhcHd3h62tLS5evIisrCyxkGtjYwO5XC7OW9nxIfWUj7vKvhgPHjwYbdq0gaWlJR4+fIiUlBTMmjULdnZ2cHZ2xnvvvSfGEwA4OTmJsREYGIhXXnkFP//88wvrrer+U9V53759O8aPH4/WrVvD0tIS4eHh+P3333H37l1YWlqioKAA169fhyAIaN26NVxdXXV/4Kha6sRWTZTdUzp37oxvv/0WkyZNEtPatWuHTp06wdLSEs2aNcPw4cOrfZaxtLTERx99BCsrK/Tp0wd2dnYv1JQyFXX2i9/q1avRo0cPKBQKHDlyBGFhYdi/fz9WrFiBtWvX4vPPP4eHhwemTp0qtjdxdHQUH4JtbW0BlH5hKWNjY4OCgoIqtztnzpwKv7BoY8yYMfi///s/CIKAq1evYsyYMWjYsCH69OmD7OxsfPbZZ0hNTUVBQQEEQYCDg0O16yz7ygMA9erVw5MnT3SaZ1NnLPFz6tQpTJ8+Xfw7JSUFq1evxs2bN6FUKvHs2TO0bdtW7f1iLBkXQ8SZVCpFcXGxyrSSkhJYWqreLmpyXkNCQhASEoLi4mIcPnwY06dPh6enJ3r16gVAP9dFc1YWF+Xt2rXrhXMCAE+ePMHDhw/RsGHDat9OZ2VloXHjxrCw+N874SZNmogdLVQWd+np6dizZw++/fZbcbni4mJkZWVBIpHAzc1N5atakyZNVLbr6uqKY8eOVZif8vNaWFjA3d1dpeMHd3d38f8ZGRlo0qTJC7FaprLjQ+p5Pu7K1zQoU/58pKeno6SkBD4+PuI0pVKpMk9FsZGVlfXCequ6/1R13tPT07Fw4ULExcWJ0wRBQGZmJrp374533nkHMTExuHv3LgYOHIiZM2fC3t5e3UNCOvJ8bJ06dUqr9ZXdU5RKJc6ePYuJEyfim2++wWuvvYYbN25g8eLFuHz5Mp4+fQqFQvFCrajnOTo6qsSXKT/L1NkvfmWkUikGDhwICwsLnDlzBh06dMDatWvxyy+/oH///iq9z9VETaqOlHWC8OzZM3Ha/fv3Ndpm27Zt0blzZ7HtwhdffAGJRIJ9+/bh7NmziI+PhyAINV43VcwY4qdMUVERPvnkE4wZMwYnT55EamoqevfurdH5ZiwZl9qMM3d3d7ENTJm//voLTZs21Wgb5VlZWSEgIABt27bF1atXtV4fqadx48Z4+PChSpuoiri6uuLevXsqnXJkZGSIHS1UFnfu7u4IDw9Hamqq+O/ChQsICgqCi4sLMjMzVa4V6enpauXb1dVVZV5BEFTyA6jGsLu7OzIyMtjRiwGVPx+NGzeGtbU1fvvtNzEuzp49q/LF7/nYyMjIqPCrW1X3n6rOu7u7O+bPn68SmxcvXkTnzp0BlLZ337VrF5KTk3Hz5k18/fXXOjsWpLl69eqpPBMrFArk5ubWeD0WFhaQy+V4+eWXcfLkSQBAdHQ0WrVqhYMHD+Ls2bPiy+66os4X/ARBwOHDh/Ho0SO0bNkSe/fuRX5+PqysrFC/fn2VN5814ezsjLt376rVq5WTkxPc3NyQmJgIhUKBH374AXfu3NFou2lpaTh79ixeffVVAEBBQQHs7OzQoEEDZGZmvnBRe+mllzTeFhlH/JQpKipCUVERnJycYGlpiZSUFPFCpwnGkvGozTgLDAzEP/7xD6SlpUEQBFy6dAk7d+5EYGCgRtvYtWsXfv75Zzx+/BhKpRIpKSm4du0aOnTooNH6qOZcXV3Ru3dvzJ8/Hw8fPkRxcXGFVZs6dOgAW1tbfP311yguLsapU6dw9OhRBAYGoqioqNK4G0bAUPUAACAASURBVDZsGLZv344LFy5AEAQ8efJEPOdlVaq2bNmC4uJiHDp0SKXdXVUCAgKQkpKCX3/9FcXFxdi4cSOsra0r7fW1Q4cOcHFxweeff44nT56gsLAQZ86c0fzAkVZcXV3Rs2dPLF68WPz93759W2WYoNzcXDE2fvzxR6SlpaFPnz4vrKuq+09V533EiBFYv369+KIpPz8fP/74I4DSKqJlVZHr1asHa2trja+lpFuvvPIKCgsL8fPPP6O4uBhr164VO2CpqXPnziEtLU3lWaZ+/fqoX78+0tLSxPboZcz9WabOVvUMDw8Xq0M1bdoUixcvRqtWrRAfH4/Y2FgoFAq88soriI+P12j9/v7+2Lt3L7y9vdGsWTPs3r27yvljY2Mxf/58LFu2DG+99VaNujPfsGEDtmzZAkEQ4OjoiCFDhogNpydNmoSZM2eKbzxCQ0OxefNmcdnx48djwYIFiI+Px8SJE+Hn56fR/tY1xhY/AGBvb485c+YgIiICRUVF6Nu3L3x9fWu0XcaScTFEnL399tt49OgRJk6ciOzsbDRu3BgREREajxdpb2+PhIQEpKWlQaFQoGnTpoiOjlZpe0U1Uz4uAKBHjx7o169flcssWbIEixYtQkBAAIqLi+Ht7Y0uXbqozGNtbY2EhATMnz8f69atg5ubG5YsWYLWrVujqKgIiYmJFcZd+/btERsbi5iYGNy6dQu2trbo3Lkz5HI5rK2tsXLlSsydOxfLly9Hnz59MGDAALX2s3ysZ2ZmwtPTEwkJCWLHLs+TSqVISEjAggUL0LdvXwBAcHAwvLy81Noe6d6SJUuwdOlSBAYGoqCgAM2bN8cHH3wgpnfo0AG3bt1Ct27d8NJLL2HFihVo1KjRC+up6v5T1XkfMGAACgoKMGXKFNy9excNGjRAjx49EBAQgIKCAixcuBB//fUXrK2t4ePjI7ajJsNq0KAB5s2bhzlz5kChUGDcuHFo3Lix2svHxMRg4cKFAEoLchEREeILhZkzZ2Lu3LnYsGEDPD09ERgYiN9++01cdtKkSYiMjMSzZ88QExOj0lTCHEiEuvR9k4iIiIgMbteuXSo9ABOR/vGbNhERERERkZljwY+IiIiIiMjMsaonEREREZGB/fTTT/jyyy8hCAIEQcCkSZMwcOBA3LhxA5GRkXjw4AEcHR0RFxeHli1bAkCVaUTPY8GPiIiIiMiABEFA165dsXXrVrRt2xb//e9/MXLkSJw5cwbvvfcehg4ditDQUCQmJmLnzp3YsmULgNIhKSpLI3oeq3oSERERERmYhYUF8vPzAZQOPeHq6oq8vDxcuXIFQUFBAICgoCBcuXIFubm5yMnJqTSNqCJ1djgHIiIiIiJjIJFIsHz5cnz44Yews7NDQUEB1q9fj4yMDLi5uYlDuEilUri6uiIjIwOCIFSa5uTkZMjdISNlsgW/vLwCKJX/q6Xq7GyPnJzHBsyR8TDWY2FhIUGjRvUNnQ2ROceQuezL8/vBGNIdU8oroLv8Mob0o67l25jiyFxiSF+M9Xg8H0MlJSVYt24d1qxZAy8vL5w5cwYRERFYsmSJAXNJ5sZkC35KpaByoSubRqV4LKpn7jFkLvtizPth6jFkSnkFTC+/6jD1GCqP+TYMc4ohfTGF4/H7778jKysLXl5eAAAvLy/Uq1cPNjY2yMzMhEKhgFQqhUKhQFZWFtzd3SEIQqVpNZGT81jlGLm4NMD9+/k63T9TZqzHw8JCAmdn+5oto6e8EBERERGRGho3box79+7h+vXrAIC0tDTk5OSgRYsW8PT0RFJSEgAgKSkJnp6ecHJygrOzc6VpRBUx2S9+RERERETmwMXFBdHR0Zg8efL/s3fnUU3def/A30koQao0BkUj+tRnbKHxcUaWVLtIF7CilcWZjg8MlfbUrdrq6NSNsRo2lwniWvSov1o7LtWprQMDdUA7tJ3qWAdb0cG9DHZoQdGAFZE1ub8/fLgVgbAkkJvwfp3jOeZ+bsj3Jh8SPvlukMlkAIBVq1ZBpVIhISEBcXFx2LJlCzw8PGAwGMT7WYoR3Y+FHxERERGRnUVERCAiIqLZ8WHDhuHAgQMt3sdSjOh+TlP41dWb0L9/nzbPq6ltQOWt6m5oETka5hBZizlE1mIOkbWYQ0Qd18ejF9yUrZdFjb9Tjv574zSFn+sDCoQvyGjzvMy1kZDe9EySAuYQWYs5RNZiDpG1mENEHeemdOkRvzdc3IWIiIiIiMjJWV34ffbZZ5g0aRIiIyMRERGBw4cPAwCKiooQFRWF0NBQREVF4cqVK+J9LMWIiIiIiIjItqwq/ARBwOLFi5GSkoKMjAykpKRgyZIlMJvNiI+PR0xMDHJychATEwO9Xi/ez1KMiIiIiIiIbMvqHj+5XI7KyrujXSsrK+Hl5YWKigqcO3cOYWFhAICwsDCcO3cO5eXlMBqNrcaIiIiIiIjI9qxa3EUmk2HDhg1444034O7ujqqqKmzfvh2lpaUYMGAAFAoFAEChUMDLywulpaUQBKHVGDecJCIiInJMba2M2MjRV0YkclRWFX4NDQ3Ytm0btmzZgsDAQHz99deYP38+UlJSbNW+Vnl69u70fduzzLGj6wnXSERERNLRU1ZGJHJUVhV+58+fR1lZGQIDAwEAgYGB6NWrF5RKJa5duwaTyQSFQgGTyYSysjJoNBoIgtBqrCOMxtswmwXxdkcKnevXnfvtpn//PpK8RrlcZlXBTkREREREnWPVHL+BAwfi6tWr+Pe//w0AKCwshNFoxMMPPwytVousrCwAQFZWFrRaLdRqNTw9PVuNERH1BI0bLLf1r49HL3s3lYiIiJyEVT1+/fv3R0JCAubNmweZTAYAWLVqFVQqFRISEhAXF4ctW7bAw8MDBoNBvJ+lGBGRs+MGy0RERNTdrCr8ACAiIgIRERHNjg8bNgwHDhxo8T6WYkRERESOpra2FqtWrcLx48ehVCrh5+eH5ORkFBUVIS4uDjdv3oRKpYLBYMDQoUMBwGKMiMjWrN7OgYiIiKinW7NmDZRKJXJycpCZmYl58+YBsLx3Mfc1JqLuxMKPiIiIyApVVVVIT09vMvWlX79+Fvcu5r7GRNTdrB7qSURERNSTFRcXQ6VSIS0tDSdOnMCDDz6IefPmwc3NjfsaE5FksPAjIiIisoLJZEJxcTGGDx+OJUuW4PTp05g1axY2btzY5Y/tqPsad+djc29jortY+BERERFZQaPRwMXFRRy2OXLkSPTt2xdubm49al9jKe6pzL2NiX7COX5EREREVlCr1Rg9ejSOHTsG4O5qnUajEUOHDuW+xkQkGezxIyIiIrJSYmIili5dCoPBABcXF6SkpMDDw4P7GhN1QB+PXnBTtl2e1NQ2oPJWdTe0yLmw8CMih/fGG2/g+++/h1wuh7u7O5YvXw6tVsv9s4io2wwZMgS7d+9udpz7GhO1n5vSBeELMto8L3NtJKQ3gFf6ONSTiByewWDAX/7yF6Snp2Pq1KlYunQpAO6fRURERNSIhR8RObw+fX5aUOD27duQyWTcP4uaSUvbgJdeCoevry8uXbokHi8qKkJUVBRCQ0MRFRWFK1euWB0jIuqo2tpaxMfHY9y4cQgPD8fy5csB8H2IbIeFHxE5hbfffhvPPfcc1q9fD4PBgNLS0lb3yLIUI+cVFPQctmz5f/D29m5yvLM9w+w1JiJbWrNmDZRKJXJycpCZmYl58+YB4PsQ2Q7n+BGRU1i5ciUAID09HSkpKeIHZlfqjqW4u3L/KUfb28ra9o4dG9TsWGPv786dOwHc7f1NTk5GeXk5BEHoVIyrMhJRR1VVVSE9PR1ffPEFZDIZAKBfv36dfo/i+xC1hIUfETmVSZMmQa/XY+DAgZLeP6u9umr/KanubdUaW7VXLpc1uW2p91cQhE7F+AcXEXVUcXExVCoV0tLScOLECTz44IOYN28e3Nzc+D5ENsPCj4gcWlVVFW7duiUWbbm5uXjooYea7JEVGRnZbI8sSzGi7mJNr7HUemyl1p72ctR2k3MxmUwoLi7G8OHDsWTJEpw+fRqzZs3Cxo0bu/yxW3ofcoTfC3u10RGem9aw8CMih1ZdXY158+ahuroacrkcDz30ELZu3QqZTMb9s6hNGo2mUz3DUug1llKPraP1IDfqbLvlclm3DPWmnkOj0cDFxUVcdGzkyJHo27cv3Nzc7PI+ZK/fZ3u9Bzrie29n3odY+BGRQ+vXrx8+/PDDFmPcP4vaYk3PMHuNichW1Go1Ro8ejWPHjmHMmDEoKiqC0WjE0KFD+T5ENsPCj7pcWtoGfPFFLkpLS5CZmQkfHx8AljfQ5sbbRGRrGzaswRdffIbyciNee+01qFQqfPLJJ53uGWavMRHZUmJiIpYuXQqDwQAXFxekpKTAw8OD70NkMyz8qMsFBT2HyZOj8eabM5ocb1yCODIyEhkZGdDr9di1a5dVMSKi1syfvwhvvbW42dCYzvYMs9eYiGxpyJAh2L17d7PjfB8iW+E+ftTlRo70w4ABA5sc6+zm2tx4m4iIiIio46zu8autrcWqVatw/PhxKJVK+Pn5ITk5mUP1yCIuoU5ERERE1H2sLvzWrFkDpVKJnJwcyGQy3LhxAwCH6pH0OdMy6i1xhDa2h7NcBxEREZE9WVX4VVVVIT09HV988QVksrub4vbr108cjrdz504Ad4fjJScno7y8HIIgtBpjj03PYe8l1AHnWUa9JY66tPr97r8OLqFORERE1DlWzfErLi6GSqVCWloafvWrXyE2NhYnT560OIzPUox6jnuXUAfQZAnizsaIiIiIiKhlVvX4mUwmFBcXY/jw4ViyZAlOnz6NWbNmYePGjbZqX6ucfZietaR0jStWrMDhw4dx48YNLqFORERERGQHVhV+Go0GLi4u4gqLI0eORN++feHm5tblQ/WkMkyvj0cvuCnbfhprahtQeavaZo9ridSG+b3++jy8/vq8ZsP0uIQ6EREREVH3sKrwU6vVGD16NI4dO4YxY8agqKgIRqMRQ4cOFYfjRUZGNhuOZynmaNyULghfkNHmeZlrIyGdUoyIHEFdvaldX2p15xdLRERE5JisXtUzMTERS5cuhcFggIuLC1JSUuDh4cGhekREVnJ9QMEvloiIiMgmrC78hgwZgt27dzc7zqF6RERERERE0mDVqp5EREREREQkfSz8iIiIiIiInBwLPyIiIiIiIifHwo+IiIiIiMjJsfAjIiIiIiJyciz8iIiIiGwkLS0Nvr6+uHTpEgAgPz8fERERCA0NxdSpU2E0GsVzLcWIiGyNhR8RERGRDZw9exb5+fnw9vYGAJjNZixatAh6vR45OTnQ6XRITU1tM0ZE1BVY+BERERFZqa6uDklJSUhISBCPFRQUQKlUQqfTAQCio6ORnZ3dZoyIqCuw8CMiIiKy0saNGxEREYHBgweLx0pLSzFo0CDxtlqthtlsxs2bNy3GiIi6gou9G0BERNapqzehf/8+7Tq3prYBlbequ7hFRD3LqVOnUFBQgIULF3b7Y3t69u70fdv7vtEVuvOx7XmdRFLCwo+IyMG5PqBA+IKMdp2buTYSlV3cHqKeJi8vD4WFhQgJCQEAXL16FdOmTUNsbCxKSkrE88rLyyGXy6FSqaDRaFqNdYTReBtmsyDe7kiRc/26bd8N7PnYrenfv0+3PVZHyOUyq4p2os7gUE8icmgVFRWYMWMGQkNDER4ejjlz5qC8vBwAV9Mjou4xc+ZMHD16FLm5ucjNzcXAgQOxY8cOTJ8+HTU1NTh58iQAYP/+/Rg/fjwAYMSIEa3GiIi6Ags/InJoMpkM06dPR05ODjIzMzFkyBCkpqZyNT0isju5XI6UlBQkJiZi3LhxyMvLw4IFC9qMUc/GLUGoq7DwIyKHplKpMHr0aPG2n58fSkpKuJoeEdlNbm4ufHx8AAABAQHIzMzE4cOHsXPnTvTr1088z1KMeiZuCUJdiYUfETkNs9mMffv2ITg4mKvpERGRQ+GWINTVuLgLETmN5ORkuLu7Y8qUKThy5EiXP56jTsxvXIDB0Va6c7T2EhF1hC23BOnoIkHUM7DwIyKnYDAY8N1332Hr1q2Qy+UWV8yTwmp69nT9eqVkV7prja3ay5X0iEiKpLYliCN8ntmrjY7w3LSGhR8RObx169ahoKAA27dvh6urK4CmK+bpdLpWV9O7P0ZERNTdpLYliL2+GLTXliBS3IqkLZ35ItNmc/y4AhER2cPly5exbds2lJWVITo6GpGRkXjzzTe5mh4RETkMbglC3cEmPX6trUC0evVq6HQ6bNmyBampqVi9erXFGBFRRz366KO4ePFii7HGFfM6GiMiIpKCxi8q4+PjUVtbC29vb6xZs6bNGFFLrC78GlcgWrt2LV555RUALa8yFBISgtWrV1uMERERERH1dLm5ueL/+SUm2YrVQz1tuQIRERERERER2Z5VPX5SW4GovXrCKkCOvOIQERERERHZllWFn9RWIGovZ18FSKrLtHMZdSIiIiIi+7BqqCdXICIiIiIiIpK+LtnHjysQERERERERSYdNCz+uQERERERERCQ9XdLjR0RE5EiCg4Ph6uoKpVIJAFi4cCGCgoKQn58PvV7fZISKp6cnAFiMERERSY3V2zkQERE5g02bNiEjIwMZGRkICgqC2WzGokWLoNfrkZOTA51Oh9TUVACwGCMiIpIiFn5EREQtKCgogFKphE6nAwBER0cjOzu7zRgREZEUcagnERER7g7vFAQBgYGBeOutt1BaWopBgwaJcbVaDbPZjJs3b1qMdXR7IiIiou7Awo/sjnNriMje9u7dC41Gg7q6OqxcuRJJSUl44YUXuvxxrdnbtCP7yHYHqbWnvRy13UREHcXCjyRh06ZN8PHxEW83zp9ZvXo1dDodtmzZgtTUVKxevdpijIioMzQaDQDA1dUVMTExmD17Nl555RWUlJSI55SXl0Mul0OlUkGj0bQa6wij8TbMZkG83ZEi5Pr1yg49Vlfq37+PpNrTXp1tt1wus6poJyKyB87xI0ni3Boi6i537txBZeXdP/4FQcChQ4eg1WoxYsQI1NTU4OTJkwCA/fv3Y/z48QBgMUZERCRF7PEjSeDcGiKyF6PRiLlz58JkMsFsNmPYsGGIj4+HXC5HSkoK4uPjmwwrB2AxRkREJEUs/MjuOLemazhCG9vDWa6DpGvIkCFIT09vMRYQEIDMzMwOx4iIiKSGhR/ZHefW2J6jzre53/3XwXk1RERERJ3DOX5kV5xbQ0RERETU9djjR3bFuTVERERERF2PhR/ZFefWEBGRo6uoqMDixYvxn//8B66urnj44YeRlJQEtVrNPWmJSDI41JOIiIjICjKZDNOnT0dOTg4yMzMxZMgQpKamivvO6vV65OTkQKfTITU1FQAsxoiIugILPyIiIiIrqFQqjB49Wrzt5+eHkpIS7klLRJLCwo+IHJ7BYEBwcDB8fX1x6dIl8XhRURGioqIQGhqKqKgoXLlypV0xIqLOMpvN2LdvH4KDgzu9Jy0RUVfgHD8icnghISF45ZVX8PLLLzc5Hh8fj5iYGERGRiIjIwN6vR67du1qM0ZE1FnJyclwd3fHlClTcOTIkS5/PEfdk7Y7H9tR9oPlXFHqaiz8iMjhNQ6VupfRaMS5c+ewc+dOAEBYWBiSk5NRXl4OQRBajanV6m5te3erqzeJfwRZ+mOoprYBlbequ6tZRE7BYDDgu+++w9atWyGXyy3uO+uMe9JKcT9cqe5r29K+tI1zRRuHDRsMBqSmpmLFihVYtGgRVq9eDZ1Ohy1btiA1NRWrV68W54q2FCO6Hws/InJKpaWlGDBgABQKBQBAoVDAy8sLpaWlEASh1ZizF36uDygQviCjzfMy10ZCen8qEUnXunXrUFBQgO3bt8PV1RVA031ndTpdq3vS3h+jnqmluaL79u1rcT5oSEgIVq9ebTFGdD+rCj92SRNRT2bNECtHILXhUVJrD1Gjy5cvY9u2bRg6dCiio6MBAIMHD8bmzZu5Jy11ii3mina095icn1WFH7ukiUiqNBoNrl27BpPJBIVCAZPJhLKyMmg0GgiC0GqsI6wZYuUIpDQ8ylbDtVoaXkVkrUcffRQXL15sMcY9aakzunOuaEvviY7weWavNjrCc9Maqwo/dkkTkVR5enpCq9UiKysLkZGRyMrKglarFYdyWooRERHZS3fPFW3pS0x7ffFnr3miUpyf2pbOfJFps+0cuHwxEdnLihUr8Mwzz+Dq1at47bXXMHHiRABAQkIC9uzZg9DQUOzZsweJiYnifSzFiIiI7KFxrujmzZtbnCsKoNW5ovfHiO5ns8VduHyxtB7XkbuhiTpq2bJlWLZsWbPjw4YNw4EDB1q8j6UYERFRd+NcUepqNin8evLyxVLsGnakpYuJiIiIiHNFqetZPdSTXdJERERERETSZlWPH7ukiYiIiIiIpM+qwo9d0kRERERERNJns8VdiIjIedTVm9o1h7mmtgGVt6q7oUVERERkDRZ+RETUjOsDCoQvyGjzvMy1kZDeUlJERER0P5vt40dERERERETSxB4/IiIiInJYfTx6wU3Z+p+0jcPWOTSdejoWfkRERETksNyULhyaTtQOHOpJRERERETk5NjjR0REncbVP4mIiBwDCz8iIuo0rv5JRETkGDjUk4iIiIiIyMmx8CMiIiIiInJyLPyIiIiIiIicHAs/IiIiIiIiJ8fCj4iIiIiIyMmx8CMiIiIiInJyLPyIiIiIiIicHPfxI3JC3FSbpIY5SUREZF8s/IicEDfVJqlhTtpHH49ecFO2/VHPgpuIyPmx8CMiInJSbkoXFtxERBLV3i/nANt8QWe3wq+oqAhxcXG4efMmVCoVDAYDhg4daq/mkANiDpG1mENkLWfJofYOxQXYO2hrzpJDZD/MIcfV3i/nANt8QWe3wi8+Ph4xMTGIjIxERkYG9Ho9du3aZa/mkANiDpG1mEPSY6kAufe4VIoPe+VQRwq19mjvUFwA+PgPYS0+9v3HpPIaSR3fh8hazCFqL7sUfkajEefOncPOnTsBAGFhYUhOTkZ5eTnUarU9muSQLHUPS/EPJFtiDpG1mEPS5EhzAe2ZQx15nuz52PZ+jaSO70NkLeYQdYRdCr/S0lIMGDAACoUCAKBQKODl5YXS0tJ2J6lcLmt2zKtvr07f1xr2elw3pQumrTjc5nk7lo1DlY0fuzNsef3OlkNdwVmu5d72OVMO2es8ez62Lc9rb49XbW0Dbt+uEW8zh6w/ryPnSv39BehcG211XfbOoa54fXrS32K9e7tB2c75WV31XtQVOdTZ91db6Uk51JHHvf+xO9UOwQ7+9a9/CS+++GKTYxMmTBAKCgrs0RxyQMwhshZziKzFHCJrMYfIWswh6gi7bOCu0Whw7do1mEwmAIDJZEJZWRk0Go09mkMOiDlE1mIOkbWYQ2Qt5hBZizlEHWGXws/T0xNarRZZWVkAgKysLGi1Wo5FpnZjDpG1mENkLeYQWYs5RNZiDlFHyARBEOzxwIWFhYiLi8OtW7fg4eEBg8GAn/3sZ/ZoCjko5hBZizlE1mIOkbWYQ2Qt5hC1l90KPyIiIiIiIuoedhnqSURERERERN2HhR8REREREZGTY+FHRERERETk5Fj4EREREREROTkWfkRERERERE7O4Qu/oqIiREVFITQ0FFFRUbhy5Yq9m2Q3FRUVmDFjBkJDQxEeHo45c+agvLzc3s2SPGfJIYPBgODgYPj6+uLSpUv2bo5VHC2XpZBDrb3+ltrW2Zi1LL2++fn5iIiIQGhoKKZOnQqj0Sjer7MxRyCFHGqJpdfK19cX4eHhiIyMRGRkJC5evCjeLzc3F+PHj8cLL7yA+fPno7q6utvbHhwcjPHjx4vt+/LLLwE4bx5JNYfswdE+Q6SCOfQTp80hwcHFxsYK6enpgiAIQnp6uhAbG2vnFtlPRUWF8NVXX4m3//CHPwi///3v7dgix+AsOZSXlyeUlJQIzz//vHDx4kV7N8cqjpbLUsih1l5/S23rbMxarb2+JpNJGDt2rJCXlycIgiBs3rxZiIuLEwRB6HTMUUghh1pi6XfRx8dHuH37drP73L59W3jqqaeEoqIiQRAEYenSpcI777zTLe29V0vvhc6cR1LNIXtwtM8QqWAO/cRZc8ihC78bN24IgYGBQkNDgyAIgtDQ0CAEBgYKRqPRzi2ThuzsbOHVV1+1dzMkzRlzyBkKv/tJOZellkP3vv6W2tbZWFdofH1Pnz4tTJw4UTxuNBoFPz8/QRCETsccgdRyyJJ7fxdbK/wOHTokzJw5U7x95swZ4cUXX+yuJopaei901jxypByyByl/hkgFc8gyZ8khhx7qWVpaigEDBkChUAAAFAoFvLy8UFpaaueW2Z/ZbMa+ffsQHBxs76ZIGnNI+qSey1LOIUtt62zM1u59fUtLSzFo0CAxplarYTabcfPmzU7HHIGUc+heLf0uxsbGIjIyEmvXrkVdXR0ANHs9Bg0aZLdrWbhwIcLDw5GQkIBbt245bR45Sg7Zg9Q/Q6SCOdQ6Z8ohhy78qHXJyclwd3fHlClT7N0UIqswl50bX1/Hcf9r9fnnn+PgwYPYu3cvvv32W2zevNnOLWxq7969+Mtf/oKPP/4YgiAgKSnJ3k0iO+B7DFnLmXLIoQs/jUaDa9euwWQyAQBMJhPKysqg0Wjs3DL7MhgM+O6777BhwwbI5Q79Enc55pC0OUIuSzmHLLWtszFbuv/11Wg0KCkpEePl5eWQy+VQqVSdjjkCKedQo5Z+Fxvb17t3b0yePBnffPONePze16OkpMQu19L4mK6uroiJicE333zjtHnkCDlkD47wGSIVzKGWOVsOOfQVeHp6QqvVIisrCwCQlZUFrVYLtVpt55bZz7p161BQUIDNmzfD1dXV3s2RPOaQdDlKLks5hyy1rbMxmGXHywAAIABJREFUW2np9R0xYgRqampw8uRJAMD+/fsxfvx4q2KOQMo5BLT8Wv3444+oqakBADQ0NCAnJwdarRYAEBQUhH/961/iioD79+/HhAkTurXNd+7cQWVlJQBAEAQcOnQIWq3WafNI6jlkD47yGSIVzKHmnDGHZIIgCPZuhDUKCwsRFxeHW7duwcPDAwaDAT/72c/s3Sy7uHz5MsLCwjB06FC4ubkBAAYPHiy54TdS4yw5tGLFChw+fBg3btxA3759oVKp8Mknn9i7WZ3iaLkshRxq7fW31LbOxqxl6fX95ptvEB8fj9raWnh7e2PNmjXo168fAHQ65gikkEMtae21mj59OvR6PWQyGRoaGuDv74+lS5fiwQcfBAB8+umnWLNmDcxmM7RaLf7whz/A3d2929pdXFyMuXPnwmQywWw2Y9iwYVi2bBm8vLycNo+kmkP24GifIVLBHPqJs+aQwxd+REREREREZJlDD/UkIiIiIiKitrHwIyIiIiIicnIs/IiISBJ8fX3x3Xff2bsZ1E7+/v4oLi62dzPIAR08eBC/+c1vxNtff/01xo0bB39/f3z66ac2f7wTJ07gmWeesfnPJcfw/fffw9fXFw0NDfZuit2x8LvHJ598gsmTJ8PPzw9PPvkkJk+ejL1790Kq0yDfeecd+Pr64vTp0/ZuCv0fR8qhM2fOYMaMGdDpdBg1ahR+/etf4+OPP7Z3s3o8R8ihAwcOYMKECeKG3QBQUVGBJ598En//+99bvM+JEyfw2GOPwd/fH/7+/ggKCsKmTZtafYy4uDisX7/e5m3v6TqaX5Zeh1OnTmHIkCHtfuyDBw/C19cXhw4d6lTbSVqCg4Pxj3/8o8mx+wu69tq0aRNefvllnDp1CmPHjkVsbCx+/vOfw9/fH4GBgXj55Zdx8eLFdv88fonUM7WUk9QUC7//895772HlypWYNm0ajh49in/84x9ITEzEN998g/r6+g79rO74RkEQBKSnp0OlUiE9Pd3u7SHHyqFTp07h1VdfxeOPP47Dhw/jxIkTSEhIaPWPdksEQYDZbO6CVvY8jpJDkydPxoABA5qsbrZq1So8++yzLX6r3tgWLy8vnDp1CqdOncIHH3yAjz76qEu+3aeWdTS/GvfzspU///nP/MyiFpWUlODRRx9tckyv1+PUqVP45z//iVGjRmHx4sV2ah2R82DhB6CyshKbNm1CfHw8xo8fj969e0Mmk2H48OFYu3YtXF1d8fnnn2PSpEkICAjAs88+i3feeUe8f2MX8oEDB/Dcc8/h1VdfBQD89re/xdNPPy1+W3X58mXxPhUVFZg1axYCAgLw0ksvYf369U2+JSssLMRrr72GUaNGITQ0tNk3pCdPnsT169fx9ttv49ChQ02+eT948CCio6OxatUqjB49WmzrRx99hAkTJuDxxx/HtGnT8MMPP4j3WbFiBZ599lkEBATgV7/6lbiPEbWPo+VQSkoKJk2ahJkzZ0KtVkMmk2HEiBHYuHEjgLt7dL3++ut44okn8Pjjj+P111/H1atXxfvHxsZi/fr1iI6OxsiRI1FcXIyDBw8iJCQE/v7+CA4Oxl/+8pcue76dkaPl0IoVK/DBBx/g/Pnz+PLLL3H8+HH8/ve/B/DTsKrt27fj6aefFo/fa8iQIfD398e3337bLPanP/0JmZmZ2LFjB/z9/TFr1izrn+Aerj35FRcXh/j4eMyYMQN+fn44ceKExZ/Z2Kty+vRpPP30000KxSNHjiA8PFy8/cMPPyAvLw9JSUk4evQorl+/LsZay5fPPvsMkZGR0Ol0iI6OxoULF8T7bN++HWPHjoW/vz9efPFFHDlyxFZPFdlIe1+jsWPHori4GLNmzYK/v3+Tv2cAQKFQYOLEiSgsLBSPnTlzBlFRUdDpdBgzZgySkpLE+7388ssAgMjISPj7+zd533rvvffw5JNPYsyYMRzh4sRMJhMMBgNGjx6NkJAQfPHFF/ZuknQIJHzxxReCVqsV6uvrWz3nq6++Ei5cuCCYTCbh/PnzwpNPPikcOXJEEARBKC4uFnx8fIRFixYJVVVVQnV1tSAIgnDgwAGhsrJSqK2tFVasWCFERESIP2/+/PnC/PnzhTt37giXL18WnnnmGSE6OloQBEGoqqoSnnnmGeGjjz4S6uvrhbNnzwqjRo0SLl++LN7/97//vfDb3/5WqKurE0aNGiVkZ2eLsY8//ljQarXCrl27hPr6eqG6ulo4cuSIMHbsWOHbb78V6uvrhc2bNwtRUVHifdLT04Xy8nKhvr5e2LFjh/DUU08JNTU1tnmCewBHyqE7d+4Ijz32mHD8+PFW21peXi5kZ2cLd+7cESorK4W5c+cKs2fPFuNTpkwRnn32WeHSpUtCfX29cOvWLcHf318oLCwUBEEQrl27Jly6dKnzT2gP5Eg51GjXrl3CpEmThOeff15sR2M7tVqtkJKSItTW1grV1dXCV199JQQFBYnnFBUVCWPGjBH+8Y9/iMd8fHyEK1euCIIgCEuWLBHWrVtnzVNK92hPfi1ZskQICAgQTp48KZhMJqGmpsbi63Dv6xUSEiIcPXpUjM2dO1fYtm2beDstLU146aWXBEEQhLCwMGHHjh1irKV8OXv2rPDEE08I+fn5QkNDg3Dw4EHh+eefF2prawVBEIRDhw4JV69eFUwmk/DJJ58II0eOFK5du9b5J4g67PnnnxeOHTvW5NjHH38svodYeo3uPa+lnzVlyhThww8/FARBEGpra4V169YJMTExYvxf//qXcOrUKaG+vl4oLi4Wxo8fL+zcuVOM35ubgvBTjm3YsEGoq6sTPv/8c+EXv/iFcPPmTds9IWR3jXn0wQcfCKGhoUJJSYlQUVEhTJkyRfDx8bH4/tdTsMcPd7/17tu3L1xcXMRj0dHR0Ol0+MUvfoG8vDyMHj0avr6+kMvleOyxxzBx4kT885//bPJz5s6dC3d3d3Gjx1//+tfo3bs3XF1dMXfuXFy4cAGVlZUwmUw4fPgw5s6di169euGRRx7BpEmTxJ/z+eefw9vbGy+99BJcXFwwfPhwhIaGIjs7GwBQXV2N7OxshIeH44EHHkBoaGizoTNeXl6IjY2Fi4sL3NzcsH//fsycORPDhg2Di4sLZs2ahfPnz4u9fpGRkeJzMHXqVNTV1aGoqKhLnm9n5Eg5dOvWLZjNZvTv37/V6+nbty9CQ0PRq1cv9O7dG7Nnz0ZeXl6Tc375y1/i0UcfhYuLCxQKBeRyOS5fvoyamhp4eXk1G7ZDljlSDjWaMmUKXFxcoNVqMXbs2CbtkMvl+O1vfwtXV1exLWVlZdDpdAgICEBoaChGjhyJwMBAmz+X1Fx78gsAQkJCEBgYCLlcDqVS2e6fP3HiRGRlZQEAbt++jb///e+YOHGiGM/IyEBYWBgAICwsrNln1v358qc//QlRUVEYOXIkFAoFfvnLX+KBBx5Afn4+AGDChAkYMGAA5HI5XnzxRTz88MM4c+ZM554c6rQ333wTOp1O/JeYmCjGrH2NVqxYIb5f7NmzB3PmzBFjI0aMgJ+fH1xcXDB48GBERUU1+4y6n4uLC95880088MADePbZZ+Hu7s6/c5zUX//6V7z66qvQaDRQqVR4/fXX7d0kyXBp+xTnp1KpUFFRgYaGBvFDcf/+/QCAZ555BmazGadPn0ZqaiouX76M+vp61NXVYfz48U1+zsCBA8X/m0wmrF+/HtnZ2SgvL4dcfrfGrqioQE1NDRoaGqDRaMTz7/3/Dz/8gDNnzkCn0zX5eREREQDuDqFxcXER59KEh4fjtddeQ3l5OdRqdbO2AHfHz69atQoGg0E8JggCrl27Bm9vb+zYsQMfffQRysrKIJPJcPv2bVRUVHTyGe15HCmHPDw8IJfLcf36dQwbNqzF66mursbq1avx5Zdf4scffwQAVFVVwWQyQaFQNHs8d3d3rF+/Hu+99x7efvttBAQEYMmSJa3+fGrOkXKokUwmw7BhwzBgwIBm19O3b99mhYOXl5c4j7SyshIJCQmIi4vDunXrOvZkUYe1J7+ApjnQEeHh4YiOjkZiYiKOHDmC4cOHw9vbG8DdFRu///57sRAMCwvD+vXrcf78eWi1WgDN86WkpATp6enYs2ePeKy+vh5lZWUAgPT0dOzcuVP88vLOnTv8zLKDzZs346mnnhJvHzx4EAcOHABg/Wu0bNkyTJ48GWazGd988w1mz56N3bt347HHHkNRURH+8Ic/oKCgANXV1TCZTPif//kfiz9PpVI1+eKjV69euHPnTkculxxEWVlZk/eyQYMG2bE10sLCD3eXpHZ1dcXf/vY3hIaGtnjOggULMGXKFLz77rtQKpVYuXJlszcwmUwm/j8zMxN/+9vfsHPnTgwePBiVlZV4/PHHIQgC1Go1XFxccPXqVfz3f/83AKC0tFS8r0ajweOPP46dO3e22Jb09HTcuXMHzz//PIC7BVx9fT0yMzPFeT33tqXxZ86aNavJH22NTp48iXfffRfvv/8+Hn30UcjlcrGt1D6OlkN+fn44fPgwnnjiiRbj7733HoqKivDhhx+if//+OH/+PCZNmtQkJ+7PsaCgIAQFBaGmpgYbNmzA8uXL8cEHH1h41uhejpZDbbk/P+7Xp08fhIeH43e/+12n7k8d0578ssYjjzyCQYMG4e9//zuysrLE3j3g7meWIAhNepSBu4u9NBZ+rX1mzZ49u9lj/fDDD1i2bBnef/99+Pv7Q6FQIDIy0ubXRJ1ny9dILpdDp9Phv/7rv3Ds2DE89thjSEhIEOen9u7dG++//z5ycnJsfBXkqPr379/k8+ze//d0HOoJwMPDA2+++SYSExORnZ2N27dvw2w24/z586iurgZwt7fjoYceglKpxJkzZ8QhLa2pqqqCq6sr+vbti+rq6ibfaCsUCrzwwgtIS0tDdXU1CgsLkZGRIcafe+45XLlyBenp6aivr0d9fT3OnDmDwsJCXLt2DcePH8fWrVuRnp6O9PR0ZGRkYMaMGU1+xv2io6Oxfft2cWGHyspK/PWvfxXbqlAooFar0dDQgLS0NNy+fbvTz2dP5Eg5BACLFi3Cn//8Z7z77rti4XDhwgXxj/CqqioolUp4eHjg5s2bSEtLs9jWGzdu4NNPP8WdO3fg6uoKd3d3sXeJ2sfRcshaVVVV+OSTT/DII4+0GPf09MT3339vk8ei9uVXa8xmM2pra8V/9y++0SgsLAx//OMfkZeXJ/ZE19bW4q9//SuSkpLEz6z09HQsX74cWVlZra7gOXnyZOzfvx+nT5+GIAi4c+cOPv/8c9y+fRvV1dWQyWTiCJePP/64yaJFZH+2fo1OnTqFwsJC8f2iqqoKDz74IB588EEUFhZi3759Tc7v168f95jswSZMmIDdu3fj6tWr+PHHH7F9+3Z7N0ky+JfZ/5kxYwbi4uLw7rvv4umnn8ZTTz0FvV6PhQsXwt/fH/Hx8di0aRP8/f2xefNmTJgwweLPmzRpEgYNGoSgoCBMnDgRfn5+TeJ6vR6VlZV4+umnsXjxYkycOBGurq4AgN69e2PHjh04dOgQgoKCMGbMGKSmpqKurg4ZGRnQarUYM2YM+vfvL/6LjY3FxYsXcenSpRbb88ILL2D69Ol46623EBAQgLCwMHHI1ZgxYxAUFITQ0FAEBwdDqVR2erhPT+YoOQQAAQEB+OMf/4ivvvoKY8eOxahRo7B8+XI8++yzAIBXX30VtbW1eOKJJxAVFYWgoCCLbTWbzXj//fcRFBSEUaNGIS8vDwkJCZ18JnsuR8qhzigrKxP38QsODsaPP/6I1NTUFs/99a9/jW+//RY6nQ5vvPFGpx+TftJWfrVm+/bt+MUvfiH+axxZcr+wsDDk5eXhiSeeEP/g//TTT+Hm5oZJkyY1+cx66aWXYDKZ8OWXX7b4s37+858jOTkZSUlJePzxxzFu3DgcPHgQwN3exalTpyI6OhpPPfUULl26hICAACufHbIlW7xGSUlJ4vvF4sWLMX/+fPEzasmSJcjKykJAQACWL1+OF198scl958yZg7i4OOh0Ou4b2QP97//+L8aMGYPIyEj88pe/xLhx4+zdJMmQCRzPJwlr1qzBjRs3mszBI+oI5hBZizlERETkvNjjZyeFhYW4cOECBEHAmTNn8NFHH+GFF16wd7PIgTCHyFrMISIiop6Di7vYSVVVFRYsWICysjJ4enpi6tSpCAkJsXezyIEwh8hazCEiIqKeg0M9iYiIiIiInByHehIRERERETk5DvUkIiIiIrIzg8GAnJwc/PDDD8jMzISPjw8AIDg4GK6urlAqlQCAhQsXiqtt5+fnQ6/Xo7a2Ft7e3lizZg08PT3tdg0kbezxIyIiIiKys5CQEOzduxfe3t7NYps2bUJGRgYyMjLEos9sNmPRokXQ6/XIycmBTqdrdYscIsCBe/wqKqpgNv80PdHTszeMRm463hKpPDdyuQx9+z5o72aInDmHnOVa7r8O5lDX6EntlnoO2ZtUc0Fq7ZJSHjnL+1BLnPlaWsohnU7XoZ9ZUFAApVIp3i86OhohISFYvXp1h36OM+eQLUnteenM+5DDFn5ms9Dsw1JKH55Sw+emOWfPIWe5FilfhzPlENttHy3lkL1JrT2NpNoue3Om96GW8FruWrhwIQRBQGBgIN566y14eHigtLQUgwYNEs9Rq9Uwm824efMmVCpVh9rlzDlkS47+vDhs4UdERERE5Oz27t0LjUaDuro6rFy5EklJSTYd0unp2bvZsf79+9js5zsTR39eWPgREREREUmURqMBALi6uiImJgazZ88Wj5eUlIjnlZeXQy6Xd6i3DwCMxttNerL69++D69crbdBy5yK150Uul7VYtFu8Txe1hYiIiIiIrHDnzh1UVt4tNgRBwKFDh6DVagEAI0aMQE1NDU6ePAkA2L9/P8aPH2+3tpL0scfPSn08esFN2fbTWFPbgMpb1d3QIsfz2WefYePGjRAEAYIgYM6cORg3bhyKiooQFxcnjlU3GAwYOnQoAFiMEVBXb2rXcATmJTmqPh69ALQ97MZZc5yfPdQavv87rhUrVuDw4cO4ceMGXnvtNahUKmzduhVz586FyWSC2WzGsGHDEB8fDwCQy+VISUlBfHx8k+0crNXeHKqtM0HpqrDZeV3xM219nsdD7nZ5XMA2v7Ms/KzkpnRB+IKMNs/LXBsJ6XQOS4cgCFi8eDH27t0LHx8fXLhwAb/5zW8wduxYxMfHIyYmBpGRkcjIyIBer8euXbsAwGKMANcHFMxLcmo9/b23p18/tY7v/45r2bJlWLZsWbPj6enprd4nICAAmZmZNm1HR3LIlud1xc90lvMaz7X2d5ZDPcnu5HK5OIyhsrISXl5eqKiowLlz5xAWFgYACAsLw7lz51BeXg6j0dhqjIiIiIiImmOPH9mVTCbDhg0b8MYbb8Dd3R1VVVXYvn07SktLMWDAACgUd7u/FQoFvLy8UFpaCkEQWo2p1Wp7Xg4RERERkSSx8CO7amhowLZt27BlyxYEBgbi66+/xvz585GSktLlj83li++S+jVLvX1EUsb5XkRE1IiFH9nV+fPnUVZWhsDAQABAYGAgevXqBaVSiWvXrsFkMkGhUMBkMqGsrAwajQaCILQa6whnXr64I8WSlK/5/tekraWL09LS8M477yAzMxM+Pj7Iz8+HXq9vMund09MTACzGiJwF53sREVEjzvEjuxo4cCCuXr2Kf//73wCAwsJCGI1GPPzww9BqtcjKygIAZGVlQavVQq1Ww9PTs9UY9Vxnz55Ffn4+vL29AQBmsxmLFi2CXq9HTk4OdDqduOGtpRgRERGRM2LhR3bVv39/JCQkYN68eYiIiMDvfvc7rFq1CiqVCgkJCdizZw9CQ0OxZ88eJCYmivezFKOep66uDklJSUhISBCPFRQUQKlUQqfTAQCio6ORnZ3dZoyIiIjIGXGoJ9ldREQEIiIimh0fNmwYDhw40OJ9LMWo59m4cSMiIiIwePBg8VhpaSkGDRok3lar1TCbzbh586bFmEql6ta2ExEREXUHFn5E5NBOnTqFgoICLFy4sNsf25kWCHLUdreHM18bERFRe7HwIyKHlpeXh8LCQoSEhAAArl69imnTpiE2NhYlJSXieeXl5ZDL5VCpVNBoNK3GOsJZFghyxHZ3dgGjthYIIiIiclac40dEDm3mzJk4evQocnNzkZubi4EDB2LHjh2YPn06ampqcPLkSQDA/v37MX78eADAiBEjWo0REXXGZ599hkmTJiEyMhIRERE4fPgwAKCoqAhRUVEIDQ1FVFQUrly5It7HUoyIyNbY40dETkkulyMlJQXx8fFNtmxoK0ZE1FGCIGDx4sXYu3cvfHx8cOHCBfzmN7/B2LFjER8fj5iYGERGRiIjIwN6vR67du0CAIsxIiJbY+FHRE4lNzdX/H9AQAAyMzNbPM9SjIioo+RyOSor7w4rrqyshJeXFyoqKnDu3Dns3LkTABAWFobk5GSUl5dDEIRWY9yeiIi6Ags/IiIiIivIZDJs2LABb7zxBtzd3VFVVYXt27ejtLQUAwYMgEKhAAAoFAp4eXmhtLQUgiC0GmPhR0RdgYUfERERkRUaGhqwbds2bNmyBYGBgfj6668xf/58pKSkdPljW7NYkSOseOsIbWwvZ7oWckws/IiIiIiscP78eZSVlSEwMBAAEBgYiF69ekGpVOLatWswmUxQKBQwmUwoKyuDRqOBIAitxjqipdWF20vqq/k64orDrbn/WrjCMNkDV/UkIiIissLAgQNx9epV/Pvf/wYAFBYWwmg04uGHH4ZWq0VWVhYAICsrC1qtFmq1Gp6enq3GiIi6Anv8iIiIiKzQv39/JCQkYN68eZDJZACAVatWQaVSISEhAXFxcdiyZQs8PDxgMBjE+1mKERHZGgs/IiIiIitFREQgIiKi2fFhw4bhwIEDLd7HUoyIyNZsNtQzLS0Nvr6+uHTpEgAgPz8fERERCA0NxdSpU2E0GsVzLcWIiIiIiIjItmxS+J09exb5+fnw9vYGAJjNZixatAh6vR45OTnQ6XRITU1tM0ZERERERES2Z3XhV1dXh6SkJCQkJIjHCgoKoFQqodPpAADR0dHIzs5uM0ZERERERES2Z3Xht3HjRkRERGDw4MHisdLSUgwaNEi8rVarYTabcfPmTYsxIiIiIiIisj2rFnc5deoUCgoKsHDhQlu1p91a2vtE6htj2rN9Un9uiIiIiIio61hV+OXl5aGwsBAhISEAgKtXr2LatGmIjY1FSUmJeF55eTnkcjlUKhU0Gk2rsY5oacNSe2zy6QgbpUplA1RuVkpEREREZB9WDfWcOXMmjh49itzcXOTm5mLgwIHYsWMHpk+fjpqaGpw8eRIAsH//fowfPx4AMGLEiFZjREREREREZHtdso+fXC5HSkoK4uPjUVtbC29vb6xZs6bNGBEREREREdmeTQu/3Nxc8f8BAQHIzMxs8TxLMep5amtrsWrVKhw/fhxKpRJ+fn5ITk5GUVER4uLicPPmTahUKhgMBgwdOhQALMaIiIiIiKgpm23gTtRZa9asgVKpRE5ODjIzMzFv3jwAQHx8PGJiYpCTk4OYmBjo9XrxPpZiRESdlZaWBl9fX1y6dAkAkJ+fj4iICISGhmLq1KkwGo3iuZZiREREUsPCj+yqqqoK6enpmDdvHmQyGQCgX79+MBqNOHfuHMLCwgAAYWFhOHfuHMrLyy3GiIg66+zZs8jPz4e3tzcAwGw2Y9GiRdDr9cjJyYFOp0NqamqbMSIiIili4Ud2VVxcDJVKhbS0NPzqV79CbGwsTp48idLSUgwYMAAKhQIAoFAo4OXlhdLSUosxIqLOqKurQ1JSEhISEsRjBQUFUCqV0Ol0AIDo6GhkZ2e3GSMiIpKiLlnchai9TCYTiouLMXz4cCxZsgSnT5/GrFmzsHHjxi5/bEfcC7IrSP2a29O+N954A99//z3kcjnc3d2xfPlyaLVazhOldtu4cSMiIiIwePBg8VhpaSkGDRok3lar1TCbzbh586bFWEe3JyIiIuoOLPzIrjQaDVxcXMRhmyNHjkTfvn3h5uaGa9euwWQyQaFQwGQyoaysDBqNBoIgtBrrCKnsBdkVHGF/yfa4/zVpbS9Ig8GAPn3uXvOnn36KpUuX4s9//rM4FzQyMhIZGRnQ6/XYtWsXAFiMUc9y6tQpFBQUYOHChd3+2FLa27TxfUOqXwZJtV1EtmIwGJCTk4MffvgBmZmZ8PHxAWD5i0p+iUkdwcKP7EqtVmP06NE4duwYxowZg6KiIhiNRgwdOhRarRZZWVmIjIxEVlYWtFot1Go1AFiMUc/TWPQBwO3btyGTycS5oDt37gRwdy5ocnIyysvLIQhCqzHmUc+Tl5eHwsJChISEAACuXr2KadOmITY2FiUlJeJ55eXlkMvlUKlU0Gg0rcY64v4voNqrK4qg69crJfsFmNTa1dqXUETWCAkJwSuvvIKXX365yXF+iUm2wjl+ZHeJiYnYtm0bwsPD8dZbbyElJQUeHh5ISEjAnj17EBoaij179iAxMVG8j6UY9Uxvv/02nnvuOaxfvx4Gg4HzRKndZs6ciaNHjyI3Nxe5ubkYOHAgduzYgenTp6OmpgYnT54EAOzfvx/jx48HAIwYMaLVGBFRZ+h0umajl7jYHdkSe/zI7oYMGYLdu3c3Oz5s2DAcOHCgxftYilHPtHLlSgBAeno6UlJSxG1BupIzzRN11Ha3R2evTS6XIyUlBfHx8aitrYW3tzfWrFnTZoyIyFYsfVEpCEKrMY5eoZaw8CMipzJp0iTo9XoMHDiQ80TbyRHb3dl5rO0Zopebmyv+PyAgAJmZmS2eZylGPU9tbS1WrVqF48ePQ6lUws/PD8nJyZyfRZLHYcuOw9ovaTnUk4gcWlVVVZMhmrm5uXjooYfg6ekpzgUF0GSx93spAAAgAElEQVQuqKUYEVFnrFmzBkqlEjk5OcjMzBRHHTTOwcrJyUFMTAz0er14H0sxIuDuIniNX1QCaPJFpaVYRxiNt3H9eqX4j6Tr3tfJaLzd4fuz8CMih1ZdXY158+YhPDwckZGReP/997F161bIZDLOEyWiblFVVYX09HTMmzcPMpkMANCvXz/OzyKr8UtMsiUO9SQih9avXz98+OGHLcY4T5SIukNxcTFUKhXS0tJw4sQJPPjgg5g3bx7c3Nw4P4vabcWKFTh8+DBu3LiB1157DSqVCp988gkSEhIQFxeHLVu2wMPDAwaDQbyPpRjR/Vj4EREREVnBZDKhuLgYw4cPx5IlS3D69GnMmjULGzdu7PLHtmZ+liMs6uQIbWyvtq5l2bJlWLZsWbPj/BKTbIWFHxEREZEVNBoNXFxcxGGbI0eORN++feHm5maXRabaS+rzuRxx4anW3H8t3AuS7IFz/IiIiIisoFarMXr0aBw7dgzA3dU6jUYjhg4dyvlZRCQZ7PEjIiIislJiYiKWLl0Kg8EAFxcXpKSkwMPDg/OziEgyWPgRERERWWnIkCHYvXt3s+Ocn0VEUsGhnkRERERERE6OhR8REREREZGTY+FHRERERETk5DjHrxV9PHrBTcmnh4iIiMge6upN7dqeoqa2AZW3qruhRUSOjZVNK9yULghfkNHmeZlrI7uhNUREREQ9i+sDinb/LeYcu/0RdS0O9SQiIiIiInJyLPyIiIiIiIicHAs/IiIiIiIiJ8fCj4iIiIiIyMmx8CMiIiIiInJyLPyIiIiIiIicHAs/koy0tDT4+vri0qVLAID8/HxEREQgNDQUU6dOhdFoFM+1FCMiIiIioqZY+JEknD17Fvn5+fD29gYAmM1mLFq0CHq9Hjk5OdDpdEhNTW0zRkREREREzbHwI7urq6tDUlISEhISxGMFBQVQKpXQ6XQAgOjoaGRnZ7cZo56noqICM2bMQGhoKMLDwzFnzhyUl5cDYK8xERERUSMWfmR3GzduREREBAYPHiweKy0txaBBg8TbarUaZrMZN2/etBijnkcmk2H69OnIyclBZmYmhgwZgtTUVPYaExEREd3Dxd4N6Cnq6k3o379Pu86tqW1A5a3qLm6RNJw6dQoFBQVYuHBhtz+2p2fvZsfa+xo5E6lfc1vtU6lUGD16tHjbz88P+/bta7FnOCQkBKtXr7YYIyIiInJGLPy6iesDCoQvyGjXuZlrI1HZxe2Riry8PBQWFiIkJAQAcPXqVUybNg2xsbEoKSkRzysvL4dcLodKpYJGo2k11hFG422YzYJ4u3//Prh+3Tme+Y4Uc1K+5vtfE7lc1mLB3shsNmPfvn0IDg7udK9xR/OIiOheaWlpeOedd5CZmQkfHx/k5+dDr9ejtrYW3t7eWLNmDTw9PQHAYoyIyNZY+JFdzZw5EzNnzhRvBwcHY+vWrXjkkUfw4Ycf4uTJk9DpdNi/fz/Gjx8PABgxYgRqampajFHPlpycDHd3d0yZMgVHjhzp8sdzpl5jR213ezjztZG0tLZQ2erVq6HT6bBlyxakpqZi9erVFmNERF2BhR9JklwuR0pKCuLj45t8E9pWjHoug8GA7777Dlu3boVcLrfYM8xe46Ycsd2d7dVuq9eYqLMaFypbu3YtXnnlFQAtL0bGIedEZC8s/EhScnNzxf8HBAQgMzOzxfMsxaSij0cvuCnb/hXrSXM6u8q6detQUFCA7du3w9XVFYDlnmH2GretvflbW2eC0lXR5nnMc3J2tlyojEPOiagrsPAj6iJuSpd2zevsSXM6u8Lly5exbds2DB06FNHR0QCAwYMHY/Pmzew1tkJH8teWed7egpNISqS2UFl7OdMwaEe4FkdoIzk3qz5dKyoqsHjxYvznP/+Bq6srHn74YSQlJUGtVnMyMxF1i0cffRQXL15sMebovcY9UUcKTiKpkNpCZe0l9SHeznYtHHZO9mbVPn7cP4uIiIh6upkzZ+Lo0aPIzc1Fbm4uBg4ciB07dmD69OnisHIArQ45vz9GRNQVrCr8Wto/q6SkpMUJy9nZ2QBanujcGCMiIiJyFo3DyhMTEzFu3Djk5eVhwYIFbcaIiLqCzSZScP8sIiIiIudaqIyInIfNCj/un2Vbtr4WZ3puiIhsifPViYioJ7BJ4eeM+2fZu1Cy9bVIYdIzJzITkRQ1zldvnLpgMBiQmpqKFStWcPNtIiJyGlbN8QN+2j9r8+bNLe6fBXAyMxERSRfnqxMRUU9gVY8f988iIiJnwvnqRCRVwcHBcHV1hVKpBAAsXLgQQUFBHHZO7WZV4cf9s4iIyJlIYb66vTROcbD3VIfWSLVdRN1p06ZN8PHxEW9z2Dl1hM0WdyEiInJkUpiv3l5dUQRdv14pmTnh95NauzhnnaSipWHnISEhLPyoRVbP8SMiInJ0nK9ORI5g4cKFCA8PR0JCAm7dumVx2DnR/djjR0REPRrnqwN19aZ2D/WsqW1A5a3q7mgWEd1j79690Gg0qKurw8qVK5GUlIQXXnjB6p/L3mvHYe1ojx5X+PXx6AU3ZY+7bCIiagXnqwOuDygQviCjXedmro2EdAZdEvUcGo0GAODq6oqYmBjMnj0br7zyitXDzlvaIo2k6d4h750Zct7jKiA3pUu7Ptwy10Z2Q2uIiHqGe3uUiIioY+7cuQOTyYQ+ffpAEAQcOnQIWq22ybBznU7HYedkUY8r/IiIqPu1t0eJX7oRETVnNBoxd+5cmEwmmM1mDBs2DPHx8U437Jy6Fgs/IiIiIiIJGzJkCNLT01uMOdOwc+paXNWTiIiIiIjIybHwIyIiIiIicnIs/MiuKioqMGPGDISGhiI8PBxz5sxBeXk5ACA/Px8REREIDQ3F1KlTYTQaxftZihERERERUVMs/MiuZDIZpk+fjpycHGRmZmLIkCFITU2F2WzGokWLoNfrkZOTA51Oh9TUVACwGCMiIiIiouZY+JFdqVQqjB49Wrzt5+eHkpISFBQUQKlUQqfTAQCio6ORnZ0NABZj1DMZDAYEBwfD19cXly5dEo8XFRUhKioKoaGhiIqKwpUrV9oVIyIiInI2LPxIMsxmM/bt24fg4GCUlpZi0KBBYkytVsNsNuP/s3fvYVGVa//AvwwE5AFHUHTUyvJNxChBAUtFDUzQQCwzfAkzrTRLOhgmpYGihih5DLe5M9v9ZOuubWIgiZZpdtBgmwfS1HzVNBDlFIgcZOb5/cHrekFhmBOz5vD9XBfXxaxnZta91rpnrXU/61ReXq61jexTSEgI0tPT0bNnzybDExMTER0djZycHERHRyMhIUGnNiIiffCyBSKyBnycA1mMRYsWoV27doiJicGePXvafHweHh1uGybXA6blfLC1pT9UW5f4bh79baykpAQnTpzApk2bAADh4eFYtGgRSktLIYRosc3d3d20E0BENu/mZQs3z2BJSUlBamoqFi9ejDlz5iA5ORn+/v5Yt24dUlNTkZycLF220FwbEVFbYOFHFiElJQUXLlzA+vXroVAooFKpUFBQILWXlpZCoVBAqVRqbdNHSck1aDRCet21a0dcvVpp/MQ0+j5dmXK8co/blG5dJgqFQ7MFe3MKCwvRrVs3ODo6AgAcHR3h6emJwsJCCCFabGPhR0T6au6yhS1btjR7aUJISAiSk5O1thERtQUWfiS7FStWID8/Hxs2bICzszMAwMfHBzU1NcjLy4O/vz+2bt2KsLCwVtuIzMmSjhoby1rj1oUtTxtZHlNctqBvRyYRkS5Y+JGszpw5gw8//BC9e/fGpEmTAAC9evVCWloali1bhsTERNTW1qJnz55Yvnw5AEChULTYRm2jo9udcHVpfXVRU1uPyopqM0TUOpVKhaKiIqjVajg6OkKtVuPKlStQqVQQQrTYpo+2PmpsLs3FbUvFkqFHjYkMYQmXLejKln7n1jAt1hAj2TYWfhao7oZap5WDJe1kG+r+++/HqVOnmm0bOHAgMjMz9W4j03N1cULEmztafV/m+5GwlLLHw8MD3t7eyMrKQmRkJLKysuDt7S2dyqmtzZa1VMRzh4TIeJZy2YKuLL2jytamhZ1QJDcWfhbI+Q5Hq9vJJpLT4sWLsXv3bhQXF2Pq1KlQKpXYuXMnFixYgPj4eKxbtw5ubm5ISUmRPqOtzZbpU8QTke542QIRWToWfkRk9ebPn4/58+ffNrxPnz74/PPPm/2MtjYiueh6WjVZFl62QETWgFsXIiIiC8EjstaJly0QkTXgA9yJiIiIiIhsHAs/IiIiIiIiG2czp3rqeidMIiIiIiIie2MzhZ8+d8IkIiIiIiKyJzzVk4iIiIiIyMax8CMiIiIiIrJxLPyIiIiIiIhsnM1c42ePdL2hTd0NtRmiISK58KHfRERE1BruKVgx3tCGyLbpU9Dpsi4AuD4gIiKyVyz8iP6XrkdQa2rrUVlRbYaIyN65ujixc4csDteVRETWiYUf0f/S5whqpRniISKyRFxXEhFZJ97chYiIiIiIyMax8CMiIiIiIrJxPNWTiMjMeBdOIiIiMjfueRARmRlv2kJERETmxlM9iYiIiIiIbBwLPyIiIiIiIhsnW+F37tw5REVFITQ0FFFRUTh//rxcoZCVYg6RsZhDZCzmEBmLOUTGYg6RrmQr/BITExEdHY2cnBxER0cjISFBrlDISjGHyFjMITIWc6hlNx/03tpfR7c75Q5VVswhMhZziHQly81dSkpKcOLECWzatAkAEB4ejkWLFqG0tBTu7u5yhGTTbm58W1NTW4/KimozRGQ85hAZqy1ySNffGtkGroe044PeW8ccsm763KG57oa6TWJgDpE+ZCn8CgsL0a1bNzg6OgIAHB0d4enpicLCQp2TVKFwuG2YZ2fdeg0t/X2m/k7nOxzx/OLdrb7vb3NDdNppra1Tw8XZsfX31dbj2rUa6XVzy8xQcueQrtNi6u/ThyVPS4cOrnDRYWNZd0Pd5PssPYd0/a1tnD/aZtYv1vA+a8ohwPLnp6m/U9cOE7dO7Qza9rQFU+WR3DnUFtseU7PkaXF1cdJpnQ80rPfbYl0kdw5Z+vrFlt4HmGB7JmRw/PhxMXbs2CbDxowZI/Lz8+UIh6wQc4iMxRwiYzGHyFjMITIWc4j0Ics1fiqVCkVFRVCrGw57q9VqXLlyBSqVSo5wyAoxh8hYzCEyFnOIjMUcImMxh0gfshR+Hh4e8Pb2RlZWFgAgKysL3t7ePBeZdMYcImMxh8hYzCEyFnOIjMUcIn04CCGEHCM+e/Ys4uPjUVFRATc3N6SkpOC+++6TIxSyUswhMhZziIzFHCJjMYfIWMwh0pVshR8RERERERGZh2zP8SMiIiIiIiLzYOFHRERERERk41j4ERERERER2TgWfkRERERERDbO6gu/c+fOISoqCqGhoYiKisL58+flDqnNpaSkIDg4GF5eXjh9+rQ0XNu8MLTNHtjK9JeVleHFF19EaGgoIiIiMGvWLJSWlsodllE++OCD2/LcXFr6ne3btw9PPPEEIiIiEBMTg4sXL0ptlvA7MyTu4OBghIWFITIyEpGRkThw4IDUduTIEYwbNw6hoaGYNm0aSkpK2iRubfmrLQZD2+yBNczTW3/jlhKXNbKVbRnQ8nrM2ljbdtmWcqg1drsvLe/z4403efJkkZGRIYQQIiMjQ0yePFnmiNpebm6uKCgoEI8++qg4deqUNFzbvDC0zR7YyvSXlZWJgwcPSq+XLl0q3n77bRkjMk5+fr54/vnnb8tzc2nud1ZeXi4CAwPF//zP/wghGvJl2rRp0mcs4XdmSNwtzWO1Wi1GjRolcnNzhRBCpKWlifj4+DaJu6X81RaDoW32wtLn6a2/cUuJy1rZyrZMiJb3c6yNtW2XbSmHWmOv+9JWXfgVFxeLQYMGifr6eiGEEPX19WLQoEGipKRE5sjMo3GyapsXhrbZA1ue/l27dokpU6bIHYZBamtrxdNPPy0uXrwo+4a/8fiPHj0qxo4dK7WVlZWJvn37WuTvTNe4b31vY0ePHhWPP/649LqkpET4+vq2WcyN3cxfbTEY2mavLGmeNvcbt4S4rJWtbsvkXv+bmiVvl201h1pjb/vSVn2qZ2FhIbp16wZHR0cAgKOjIzw9PVFYWChzZOanbV4Y2mYPbHX6NRoNtmzZguDgYLlDMcjq1asxbtw49OrVS+5Qmrj33ntRXFyMY8eOAQAyMzMBwOJ/Z9rivikuLg4RERFYsGABKioqpPYePXpI73F3d4dGo0F5eXmbxts4f7XFYGibPbK0edrcb9wS4rJWcq9jqHWWvl1mDtnHvrRVF35E1LxFixahXbt2iImJkTsUvf3yyy/Iz89HdHS03KHcpmPHjli5ciWSk5Px5JNPoqSkBG5ubtLK3lK1Fnd6ejq+/PJLbNu2DUIIJCUlyRqvNeevpbKkeWrJv3GitmJJv0GyX05yB2AMlUqFoqIiqNVqODo6Qq1W48qVK1CpVHKHZnba5oUQwqA2e2CLOZSSkoILFy5g/fr1UCisr28nNzcXZ8+eRUhICADg8uXLeP7555GcnIxhw4bJHB0wZMgQDBkyBABQXFyMjRs34u6770Z1dbVF/85aihuAFIezszOio6Mxc+ZMaXhBQYH0HaWlpVAoFFAqlW0W5635qy0GQ9vsjaXN05Z+45MnT+ayNpAtbstsiTVsl5lD9rEvbZnZpyMPDw94e3sjKysLAJCVlQVvb2+4u7vLHJn5aZsXhrbZA1ub/hUrViA/Px9paWlwdnaWOxyDTJ8+Hd9//z327t2LvXv3onv37ti4caNFFH0AcPXqVQANp+2sWLECkyZNQrt27Sz+d9ZS3NevX0dlZSUAQAiB7OxseHt7AwB8fHxQU1ODvLw8AMDWrVsRFhbWZjE2l7/aYjC0zZ5Y4jxt6Tf+wgsvcFkbyBLWMdQ8a9kuM4fsY1/aQQgh5A7CGGfPnkV8fDwqKirg5uaGlJQU3HfffXKH1aYWL16M3bt3o7i4GJ07d4ZSqcTOnTu1zgtD2+yBrUz/mTNnEB4ejt69e8PV1RUA0KtXL6SlpckcmXGCg4Oxfv169O3b16zjbel3Nm/ePBw+fBg3btzA0KFD8c4778DFxQWAZfzO9I374sWLiI2NhVqthkajQZ8+fTB//nx4enoCAA4fPozExETU1taiZ8+eWL58Obp06WLyuLXlr7YYDG2zB9YyTxv/xi0pLmtjK9syoOX1mLWxtu2yLeVQa+x1X9rqCz8iIiIiIiLSzqpP9SQiIiIiIqLWsfAjIiIiIiKycSz8iIiIiIiIbBwLv0YKCgrg5+cHtVqt92fXrl2LuLi4NoiqdfHx8Vi5cqUs4yYiIiIyFS8vL1y4cEG2zxPZMrss/IKDg/Hjjz9Kr3fu3ImAgABcunQJv/zyi/RQ48mTJ+Pzzz+XK8zbTJ48GQEBAairqzPp9+7cuRMTJ06Er68vHnnkEUycOBHp6engfX/a1q15qIuWNmgXL15Ev379kJiYaKrwSAamyIlDhw6hX79+8PPzk/5eeuklU4cKgJ1OZBhd82b9+vWYN2+eGSKixoKDg+Hj44PS0tImw8ePHw8vLy9cunQJly9fRmxsLAYPHoxBgwYhPDwcX3zxhfTezz//HGFhYfDz88OQIUPw4osv4tq1ayaJ78qVK3jnnXcwbNgw+Pn5ISwsDGvWrMH169dN8v1kHF3yxxAJCQl46623bhv+22+/wcfHB+Xl5QZ9701ttY9taeyy8Gts+/btSEpKwocffojAwEC5w2nRpUuXkJeXBwcHB3zzzTcm+96PP/4YS5YswfPPP4/vv/8eP/74IxYuXCjd9r05hhwRpba1Y8cOdOrUCV999ZXWlVZ9fb0ZoyK5eHp64pdffpH+1q9f3+z7mA/Wy5BOAl3V1dXh/fffx8iRI/HQQw9h9OjR2LhxY5t0BmrrqHjppZewZMkSnb6noqICb7/9NoYOHQo/Pz+EhoZiw4YNUruXlxd8fX2lcfj7+5t8WmxJz549mzw+4dSpU6iurpZez5kzB927d8e3336LQ4cOYdmyZfDw8AAA/Pzzz1i5ciVWrFiBX375BdnZ2Rg7dqxJ4iovL8ekSZNQW1uLrVu34pdffsGmTZtQUVGBP/74wyTjIOO1lj+GeOKJJ7Bnz57bCvwdO3bg0UcfhVKp1Ov7Gm//9NnHtvZ9YLsu/LZu3YqlS5fio48+wsCBA3Hp0iV4eXmhvr4eK1euRF5eHpKSkuDn54ekpCQADc9kmTp1KgIDAzFkyJAmO1Q3btzAW2+9BT8/Pzz++OM4fvy41FZUVITY2Fg8/PDDCA4Oxqeffiq1rV27Fq+99lqLnwWAjIwMDBgwAE888QQyMjJum5aysjJMnToVfn5+iImJwZ9//gkASExMREpKSpP3zpw5E5s2bUJlZSXWrFmDxMREhIWFoUOHDnBwcED//v3x/vvvSw8ajY+PR2JiIl588UX4+vri0KFDRs550uazzz7DY489hsDAQLz00ksoKioCADzzzDMAgMjISPj5+SE7OxtAw0O3MzIy8Nprr8HJyQl79+5t8n1eXl5IT0/H6NGjMXr0aAANz5u5mcehoaHSdwHAvn37MH78eAwcOBAjRozA2rVrzTHZpIW+OdGStWvX4tVXX0VcXBwGDhyI7du3o66uDkuWLMGwYcMwbNgwLFmyROo8OHToEIYPH46PP/4YjzzyCIYNG4Zt27YBAP71r38hMzMTGzdubLKzvmHDBowaNQp+fn4YO3Ys9uzZI41frVZj6dKlGDx4MIKDg7F582ZpnQsAlZWVUk9+UFAQVq5cafUbWWv06quv4qeffsKGDRtw+PBhLFu2DP/617+wdOnSNhmfrh0V2iQnJ+P69evIzs7Gf/7zH6xbtw533313k/fs2LFDGsfNh71T8yIjI5vsa2RkZGD8+PHS6/z8fDz55JNo164dnJyc0L9/f4wYMQIAcPz4cfj6+qJ///4AAKVSiSeeeAIdOnQAcPvZVF988QX++7//u8n49+/fj5CQEAwePBgpKSnQaDQAgE2bNqF9+/ZYvnw5evXqBQBQqVSYP38++vXrd9t0aNue1dbWIi4uDoMHD4a/vz8mTJiA4uJiKaaQkBD4+fkhODgYX375peEz0w61lj+GLBc/Pz94enpi9+7d0nvVajUyMzMRGRkJoPX96eDgYGzYsAERERHw9fWVtj3a9rGb2weuq6tDSkoKRo4ciSFDhiAhIQE1NTUAgL/++gszZszAww8/jICAAMyYMQOXL1824dw1krBDjz76qJg1a5Z45JFHxMmTJ6XhFy9eFH379hU3btwQQggRExMjPvvsM6m9srJSDB06VGzcuFHU1NSIyspKceTIESGEEGvWrBE+Pj5i3759or6+XqSmpoqJEycKIYRQq9XiiSeeEGvXrhW1tbXijz/+EMHBweK7775r9bM3jRo1SmzevFkcP35c9O/fX1y9elVqmzt3rvD19RU///yzqK2tFYsWLRKTJk0SQgjx888/i+HDhwuNRiOEEKK8vFw8+OCD4vLly2L//v3C29tbmt6WzJ07VwwcOFDk5eUJtVotampqDJrv1NSjjz4qfvjhhybDfvzxRxEYGCjy8/NFbW2tSEpKEtHR0VJ73759xfnz55t8Jjc3VzzwwAOivLxcJCUliRkzZjRp79u3r3juuedEWVmZqK6uFlVVVWL48OHi3//+t7hx44b49ddfRWBgoDhz5owQQoiDBw+K3377TajVanHy5EnxyCOPiD179rTRXKDGTJETBw8eFEFBQc1+/5o1a0T//v3Fnj17hFqtFtXV1WLVqlVi4sSJori4WJSUlIioqCixcuVK6bu8vb3FqlWrRF1dndi3b5946KGHRHl5uRCiYd2wYsWKJuPIzs4Wly9fFmq1WuzcuVMMGDBAFBUVCSGE+Oc//ynGjBkjCgsLRXl5uZgyZUqTde7LL78s3n33XVFVVSWKi4vFhAkTxJYtW4ycq7apuVwRQoh//etfYtSoUSIgIEDMmDFDXL58WQghxOrVq0VSUpIQQoi6ujoxYMAAsXTpUiGEENXV1cLHx0eUlZWJH3/8Ufj4+IiCgoIm33vkyBHRr18/8ccffzQ7/jVr1og333xTeh0bGyuGDBkiBg4cKKKjo8Xp06eltsZ501q+3vzOm9vnL774QowYMUIEBgaKdevWSe99/PHHta6nmlt3UvNuLtvRo0eL33//XdTX14ugoCBx6dIl0bdvX3Hx4kUxZcoUERUVJbKyssSff/7Z5PO5ubniwQcfFKtXrxZ5eXmitra2Sfut+1bbtm2T9lmEaFhWMTExoqysTPz5559i9OjR0vsnTpwoVq9erTX+xsta2/Zsy5YtYsaMGeL69euivr5eHD9+XFRWVoqqqirh5+cnzp49K4QQoqioqEn+kna65I8hy0UIIdatWyemTJkijeu7774TgwcPFnV1dUKI1venH330UTFu3DhRUFAgqqurpeGt7WPfug+8ZMkSMWPGDFFWViYqKyvFjBkzRGpqqhBCiNLSUrFr1y5x/fp1UVlZKWJjY8XMmTPbbH7ry26P+P3www8YMGAA+vbtq/Nn9u3bhy5dumDatGlwcXFBhw4dMGDAAKl90KBBGDFiBBwdHREZGYnffvsNQEPvV2lpKWbNmgVnZ2fcddddePrpp5v0zrf0WQDIy8tDQUEBxowZAx8fH9x1113IyspqEtvIkSMREBAAZ2dnvPHGGzhy5AgKCwvh7+8PBwcHqXczJycHvr6+6NatG8rKytC5c2c4OTlJ3zNp0iT4+/vjoYceQm5urjQ8JCQEgwYNgkKhgIuLi87zjPSTmZmJCRMm4IEHHoCzszNmz56NI0eOaD0nfvv27Rg+fDg6deqE8PBwHDhwACUlJU3eM336dCiVSri6umLfvn3o2bMnJkyYIPXUhoaGYteuXQCAwYMHwyIrBLoAACAASURBVMvLCwqFAv369cPjjz+On3/+uU2nm1pmSE5cuXIF/v7+0l/jdY2vry9GjRoFhUIBV1dXZGZm4pVXXoGHhwfc3d3xyiuvNOnddnJywiuvvII77rgDI0aMQLt27XDu3LkWxz1mzBh069YNCoUCY8eOxT333INjx44BAL766is8++yz6N69Ozp16oTp06dLnysuLsb+/fvxzjvvoF27dvDw8MBzzz3X5HQh0u6nn37C+++/j1WrVuH7779Hz549MXv2bABAQECA9Ds+fvw4unTpIm0XfvnlF9x7771QKpXStlGlUjX57gEDBqB79+746aefdIpl+PDhyMnJwU8//YT+/fub7OZn//nPf7Br1y784x//QFpaGs6ePSvFt3LlSmzbtg3nz583ybjs3c2jNj/88AP69OmDbt26SW2rV6+Gv78/1q1bh5CQEERGRkq/c39/f6xduxYnTpzAjBkzMHjwYCQnJ+t19P7FF1+EUqlEjx498Oyzz0r7POXl5ejatavO36Nte+bk5ITy8nJcuHABjo6O8PHxkY5KKhQKnDlzBjU1NfD09MT999+v8zipgbb8MXS5REZGIjc3VzqClpGRgfDwcNxxxx3Sd2vbnwYajjirVCq4uroC0G0fu/E+sLOzMz777DO88847UCqV6NChA2bMmCFtqzp37ozQ0FDceeed6NChA2bOnNlkf1puTq2/xTYtWLAAf/vb3zBv3jy89957cHBwaPUzhYWFt5060liXLl2k/11dXVFbW4v6+nr8+eef0o7YTWq1usnrlj7r5OSEjIwMDB06FO7u7gCA8PBwbN++Hc8995z0me7du0v/t2/fHp06dcKVK1egUqkwduxYZGVlISAgAJmZmRg3bhyAhtMvysrKpPEADae/Ag0b7ZunVgC4bSeA2saVK1fwwAMPSK/bt28PpVKJoqIi6bSWxmpqarBr1y4sXrwYAODn5weVSoXMzMwm+dF4+f355584duzYbfl4My+OHj2K1NRUnDlzBjdu3EBdXR3CwsJMPamkI31zAmg4de67775rtq3xuuLm9/fo0UN63aNHD1y5ckV6rVQqm3QO3XnnnVpvopCRkYFNmzZJp5tfv34dZWVl0rga52LjWAoKClBfX49hw4ZJwzQaDdc9emjcSQAAs2fPRmBgIC5dugQ/Pz+cP38eZWVlyMvLw1NPPYV//vOfqKqqQm5urnSNe1lZWYs71l27dr3thg0teeqpp6T/Y2NjERAQgMrKSnTs2PG29966fUxKSmrxmrBZs2bB1dUV/fr1Q79+/fDbb7+hT58+ePfdd/HJJ58gPT0dCQkJ6NGjB+bPny+dfgg0XCOkUDT0d48fPx7z58/XaVrsVWRkJGJiYnDp0iXpVLqbOnXqhLi4OMTFxaG0tBTLli3DK6+8gu+++w4ODg4YMWIERowYAY1Gg0OHDuG1117Dvffei0mTJuk07sa/+549e0rrJKVSiatXr+o8Ddq2Z5GRkbh8+TJmz56NiooKjBs3Dm+88QbatWuHlStX4uOPP8a8efMwcOBAzJ07F3369NF5vKQ9fwxZLnfccQd69OgBf39/fPnll3jmmWfwzTffYPPmzU2+W9v+NHD7/qwu+9iNP1NaWorq6mo8+eST0jAhhLTPXF1djeTkZBw4cAB//fUXAKCqqgpqtVq6eaSc7Lbw69KlCz755BNMnjwZCxYswMKFC1v9jEqlavUampY+16tXrybnJeuqpqYGX331FTQaDYYOHQqg4cL7iooK/Pbbb9I57Y3PH66qqsJff/0FT09PAA1JPG3aNEyfPh3Hjh1DWloagIYiwdnZGd988w1CQ0P1jo1Mz9PTU9phBhp2msvLy5v0lDW2Z88eXLt2DQsXLpSKv4qKCmRkZDRZaTXu2FCpVAgICMCmTZua/c4333wTMTEx+Oijj+Di4oIlS5ZIO+5kfvrmRGtu7eTy9PREQUGB1KNdWFgorTv0/a4///wT8+fPxyeffAI/Pz+px/Wmrl27NllXNf6/e/fucHZ2xsGDB5sUmqS71joJfHx8kJubi9zcXLz00ks4efIkDh8+jNzcXMTExABo6K1u6Vb4V69eRefOnVuNQ61WY+XKldi1axdKS0ulYqusrKzZwk9bR8WtGu/UNe6EcHV1xUsvvYSXXnoJ165dw4YNG/D666/j22+/lW76sH37dtxzzz06jYcaCq5evXph//79Wm+y4+7ujmnTpmH79u0oLy9vkiMKhQKPPPIIHn74YZw5cwZAw3JrfKOPm9fVNVZYWCitkwoKCqR10iOPPII9e/Zg1qxZUl5po217dscdd2DWrFmYNWsWLl26hOnTp+Pee+/FxIkTERQUhKCgINTU1GDVqlV499138c9//lOHuUY3acsfQ5cL0NCB8/e//x1du3aV1mv6aLzd0nUfu7HOnTvD1dUVO3fubHY7/PHHH+PcuXP47LPP0LVrV5w8eRLjx4+3mDvl2+2pngDQrVs3fPLJJzhw4ADee++929q7dOmCixcvSq9HjhyJq1ev4pNPPkFdXR2uXbuGo0ePtjqehx56CO3bt8eGDRtQU1MDtVqN06dPS6dFaPP111/D0dERO3fuREZGBjIyMpCdnQ1/f/8mF6Du378feXl5qKurw+rVq5ucqtO/f3907twZ8+fPx7Bhw+Dm5gYAcHNzwyuvvIKFCxdi165duHbtGjQaDU6ePGn03ZdINzdu3EBtba30d/OW2CdPnkRdXR1WrFiBhx56SDqyc2tOZmRkYMKECcjMzJTyY8uWLfjtt99w6tSpZsc5cuRInD9/HhkZGbhx4wZu3LiBY8eOSadMVVVVoVOnTnBxccGxY8duO+WB2paxOaGvxx9/HH/7299QWlqK0tJSpKWlISIiQqfPenh4NDnltLq6Gg4ODlLP6bZt26SdPaDhNNBPP/0URUVFqKiowN///nepzdPTE0OHDsXSpUulddEff/zB04z10FonQWBgIA4ePIiTJ0/iwQcfRGBgIL7//nscO3YMAQEBAIAhQ4bg6NGjKCwsbPLdR48eRUFBgfS+W3feGx+FyczMxDfffINNmzbhP//5j3TDKXPt+Nw89er69esG3zqeGixZsgT/+Mc/0K5duybDly9fjtOnT6O+vh7Xrl3Dli1bcM8996Bz5874+uuvsXPnTvz1118QQuDYsWP4+eefpUtjvL29sWfPHlRXV+PChQv497//fdt4N27ciL/++guFhYX49NNPpSPAU6dORVVVFebOnSvlelFREZKTk287pQ/Qvj07ePAgTp06BbVajQ4dOsDJyQkKhQLFxcX4+uuvcf36dTg7O6Ndu3Y6FZl0u5byx5DlctPo0aNRUFCAtWvXNrlhjCF03cduTKFQYOLEiXjvvfeky2qKiopw4MABadpcXFzg5uaG8vJyfPDBB0bFaGp2n8k9evTAP/7xD+Tk5GDFihVN2p599lnk5OQgICAAixcvRocOHfDxxx/j22+/xdChQxEaGqrTHS4dHR2xfv16/PbbbwgJCcHDDz+M+fPn6/RMm+3bt+PJJ59Ejx490LVrV+nvmWeeQWZmpnRHovDwcKSlpWHw4MH49ddfsXz58ibfEx4ejh9//BHh4eFNhr/44ouIj4/HRx99hKFDh0p3J4qLi4Ofn1+r8ZFxpk+fjoceekj6u3lKTGxsLIYNG4aLFy82ed7VrFmzEB8fD39/f2zfvh0//fQTpkyZ0iQ3fHx8EBQU1OJKq0OHDti4cSOys7MRFBSEYcOGITU1VbqTY2JiItasWQM/Pz+kpaVhzJgxZpkX1MCYnDDkjISXX34ZPj4+GDduHMaNG4cHHngAL7/8sk6ffeqpp/D777/D398fL7/8Mv7rv/4L06ZNw6RJkzBkyBCcPn0aAwcOlN7/9NNPY+jQoRg3bhzGjx+PESNGwMnJSTr9ZdmyZbhx4wbGjh2LgIAAvPrqq3qd1mVv9O0kCAgIQEZGBvr06QNnZ2cEBgbi888/R69evaRifciQIXjkkUcQGxuLM2fOQK1W48iRI5gzZw7Gjx+P++67DwDQr18/ZGdn48aNGzh+/DhycnKkuKqqquDs7IzOnTujurr6tm1rW0hLS8OxY8dQV1eH2tpafPrpp3Bzc8O9997b5uO2ZXfffTcefPDB24bX1NRg1qxZCAgIwKhRo1BQUIC//e1vABpOA/3ss88wevRoDBw4EHPmzMHzzz8vXU4wZcoU3HHHHRgyZAjmzp3bbEdTSEgInnzySYwfPx4jR46UTh1WKpXYsmULnJyc8PTTT8PPzw9TpkxBx44dmz2aq217VlxcjFdffRWDBg3C2LFjERgYiMjISGg0GnzyyScICgpCYGAgcnNzsWDBAlPMTrvTUv4YslxuateuHUJDQ3H58mWdOylbous+9q3mzJmDe+65B08//TQGDhyI5557Trr2fcqUKaitrcXDDz+MqKgoBAUFGRWjqTkISzn2SEREdmX//v1YsGABvv32W7lDsTrBwcFNju4BDc+96969OzZu3IiKigr4+flh4cKF0rWUVVVVCAwMxMyZMzFr1iwIITBkyBCMHj26yeUOtbW1WLNmDbKyslBcXIz6+nrExMRg7ty50mN+Ll68iNmzZ+P3339HQEAA7r77bpSXlyM1NRVVVVWIi4vDwYMHoVQq8dprr2Hu3LnYvXs37rnnHsTHx6Nbt2544403cOjQIcyZM6fZUz3Xrl2LCxcuIDU1FZcuXUJISAh+/fVX6VTgyZMnY9y4cZg4cSLWrVuH7OxsFBQUwMnJCV5eXnjjjTekjgcvLy9p/ERE9oqFHxERmUVNTQ0OHTqEoUOHoqSkBLGxsRgwYADmzZsnd2ikxdy5c3HlyhV8+OGHUuFHRETWh4UfmUVKSgpycnLw559/IjMzU3qMRnBwMJydnaVHRMTFxUmHxY8cOYKEhATU1taiZ8+eWL58OTw8PFptIyLLVF1djZiYGPzP//wPXF1dMXLkSMybN0+6VTdZphs3bmDTpk0IDAyEr6+v3OEQEZGBWPiRWeTl5aFnz5545plnsH79+iaFX+PXN2k0GoSGhiI5OVl6VtDFixeRnJystY2IqCXsgCIiIntm9zd3IfPw9/fX63lc+fn5cHFxkZ7tNGnSJOkB49raiIhaEhISgvT0dPTs2fO2tjVr1mDHjh3YsWOHVPRpNBrMmTMHCQkJyMnJgb+/P1JTU1ttIyIiskQs/Eh2cXFxiIiIwIIFC1BRUQGg4Rk+jR8q7e7uDo1Gg/Lycq1tREQtYQcUERHZMxZ+JKv09HR8+eWX2LZtG4QQSEpKkjskIrJD7IAiIiJb5yR3AIYqK6uCRvN/lyd6eHRASUnrz8WzB5Y6LxQKh9uG3ex9d3Z2RnR0NGbOnCkNLygokN5XWloKhUIBpVKptU0fjXPIUueZrqw5fn1iVygc0Llz+zaOSHe3rofMyZKWuTXF0tx6KD09HSqVCnV1dViyZAmSkpLMdtqmtW/LrC1ewDQxW9K6qK3WQ3ItW3sZryXnkDX+rk3JWqbfkByy2sJPoxG3rejk2gGzRNYwL65fvw61Wo2OHTtCCIHs7Gx4e3sDAHx8fFBTU4O8vDz4+/tj69atCAsLa7VNH7fmkDXMM22sOX5rjb259ZC5x28prDkWOTugbGFbZm3xAtYZc0vacj0k13yyt/HKzRbWQ6Zmq9NvtYUfWZdVq5Zj//5vUVpagqlTp0KpVGL9+vWIjY2FWq2GRqNBnz59kJiYCABQKBRYtmwZEhMTm9wxr7U2IiJ9yN0BRbajtrYW7733Hn766Se4uLjA19cXixYtwrlz5xAfH4/y8nIolUqkpKSgd+/eAKC1jYjI1Kz2cQ4lJdeaVONdu3bE1auVMkZkOSx1XigUDvDwsJzndTXOIUudZ7qy5vj1id2Sc8jcLGmZW0ssjTugOnfu3GIH1Pz58+Hp6QkAOHz48G2dTF26dGm1TVfWvi2ztngB08Tc3Lpo8eLFUCgUePvtt+Hg4IDi4mJ06dIFzz77LCZMmIDIyEjs2LED27Ztw6effgoAWtt01VbrIbmWrb2M15K2Z9a+HjI1a5l+Q3KIhZ8NstR5YUkrOYCFn6Vg4WcYS1rm1hSLpeeQJc1LXVhbvEDbFH5VVVUYMWIE9u/fj/bt/++am5KSEoSGhuLQoUNwdHSEWq3G4MGDsXv3bgghWmxzd3fXORYWftY5XktaF1n7esjUrGX6DckhnupppI5ud8LVpfXZWFNbj8qKajNERIbisiRzYa5RS+puqNG1a8dW38fcsCwXL16EUqnEBx98gEOHDqF9+/Z47bXX4Orqim7dusHR0REA4OjoCE9PTxQWFkII0WKbPoXfrbh+IWNxPWS7WPgZydXFCRFv7mj1fZnvR8Ly+w7sG5clmQtzjVrifIcjc8MKqdVqXLx4Ef3798fcuXNx9OhRvPTSS1i9enWbj7u5Hn9dc8i1lZ17XXb+24K9jdfScD1ku1j4ERERERlBpVLByckJ4eHhAIABAwagc+fOcHV1RVFREdRqtXQ655UrV6BSqSCEaLFNH82dpqcrbaez2cspl3KN15JO9ST7wQe4ExERERnB3d0dgwcPxg8//ACg4W6dJSUl6N27N7y9vZGVlQUAyMrKgre3N9zd3eHh4dFiGxFRW2DhR0RWr7a2FomJiRg9ejQiIiLw7rvvAmjY+YqKikJoaCiioqJw/vx56TPa2oiI9LVw4UJ8+OGHiIiIwOzZs7Fs2TK4ublhwYIF2Lx5M0JDQ7F582YsXLhQ+oy2NrJNH3ywChMnjsOQIYNw+vRpabih2ytuy0gfPNWTiKze8uXL4eLigpycHOk26gCQmJiI6Oho6VbpCQkJ0q3StbUREenrrrvuwv/7f//vtuF9+vTB559/3uxntLWRbQoKGomJEyfhlVdebDLc0O0Vt2WkDx7xIyKrVlVVhYyMDLz22mtwcHAAAHTp0gUlJSU4ceKEdM1NeHg4Tpw4gdLSUq1tREREbWXAAF9069a9yTBDt1fclpG+eMSPiKyaJd1GnYiISF+FhYUGba+4LSN9sfAjIqtmabdRNzVtd+izpFuPMxYiIutkzLbMVte3tjpdLPyIyKpZ0m3UdWWK263Ldcvz5lhTLLyFOhFZGpVKZdD2ytIfCWKtLGmbpo0h2zNe40dEVo23USciImumbZtkaBtRc3jEj4is3sKFC/HOO+8gJSUFTk5OTW6jHh8fj3Xr1sHNzQ0pKSnSZ7S1ERERtYVVq5Zj//5vUVpagqlTp0KpVGLnzp0Gb6+4LSN9sPAjIqvH26gTEZE1eP31OXj99Tm3naZn6PaK2zLSB0/1JCIiIiIisnEs/IiIiIiIiGwcCz8iIiIiIiIbx8KPiIiIiIjIxrHwIyIiIiIisnEs/IiIiIiIiGwcCz8iIiIiIiIbx8KPiIiIiIjIxrHwIyIiIiIisnEs/IiIiIiIiGwcCz8iIiIiIiIbx8KPiIiIiIjIxrHwIyIiIiIisnEs/IiIiIiIiGwcCz8iIiIiIiIbx8KPiIiIiIjIxrVa+KWkpCA4OBheXl44ffq0NPzcuXOIiopCaGgooqKicP78eaPbiIiIiIiIyPRaLfxCQkKQnp6Onj17NhmemJiI6Oho5OTkIDo6GgkJCUa3ERERERERkem1Wvj5+/tDpVI1GVZSUoITJ04gPDwcABAeHo4TJ06gtLTU4DayXR98sAoTJ47DkCGDeNSYiIiIiEgGBl3jV1hYiG7dusHR0REA4OjoCE9PTxQWFhrcRrYrKGgkPvhgA7p3b9qBwKPGRGROH3ywChMmRPDSBSKySJcuXUJkZKT0FxwcjMDAQABAcHAwwsLCpLYDBw5Inzty5AjGjRuH0NBQTJs2DSUlJXJNAlk4J7kDMJSHR4fbhnXt2lGGSHRnzvgsaV6MGhUEAHB0/L9+hptHfzdt2gSg4ejvokWLUFpaCiGEQW3u7u5mnjIisiZBQSMRFfXfmDVrepPhNzuTIiMjsWPHDiQkJODTTz81qo2ISF+9evXCjh07pNdLliyBWq2WXq9ZswZ9+/Zt8hmNRoM5c+YgOTkZ/v7+WLduHVJTU5GcnGy2uMl6GFT4qVQqFBUVQa1Ww9HREWq1GleuXIFKpYIQwqA2fZWUXINGI6TXXbt2xNWrlYZMjlH0KbDMFZ9c86I1arVG+l/b0V8hhEFtLPyISJsBA3yhUDg0GcZOKCKyRHV1dcjMzMTGjRu1vi8/Px8uLi7w9/cHAEyaNAkhISEs/KhZBhV+Hh4e8Pb2RlZWFiIjI5GVlQVvb29pY2doG5E5NXfUWFeWdET1JkuMSVfWHDtZN7k7oWxhPWQpcejDGmMm+7J3715069YNDzzwgDQsLi4OQggMGjQIs2fPhpubGwoLC9GjRw/pPe7u7tBoNCgvL4dSqZQjdLJgrRZ+ixcvxu7du1FcXIypU6dCqVRi586dWLBgAeLj47Fu3Tq4ubkhJSVF+oyhbWQ/LO2osb47AZZ2RNVSj/LqQp/YFQoHo3aUiSxNc2ev6MoSfvPWuO4xRcza1kUffPAB1q5di8zMTPTt2xdHjhxBQkICamtr0bNnTyxfvhweHh4AoLWN7Nu2bdswYcIE6XV6ejpUKhXq6uqwZMkSJCUlITU11STjsoUOKFOz1elqtfCbP38+5s+ff9vwPn364PPPP2/2M4a2kf3gUWMisgSW0AlFtuPXX3/FkSNHpEdgabv+itdmUUuKioqQm5uLZcuWScNurlucnZ0RHR2NmTNnSsMLCgqk95WWlkKhUOh1tM/aO6BMzVo6tAzpDDforp5E+li1ajmeeGIsrl69gqlTp+Lxxx8H0HD0d/PmzQgNDcXmzZuxcOFC6TOGthER6aNxJxSAJp1JhraRfaqrq0NSUhIWLFggDWvu+qtdu3a12kb2bfv27RgxYgQ6d+4MALh+/ToqKxsKESEEsrOz4e3tDQDw8fFBTU0N8vLyAABbt25FWFiYPIGTxbPau3qS9Xj99Tl4/fU5t/VM8KgxEZnTqlXLsX//tygtLeGlC2Ryq1evxrhx49CrVy9pmLbrr3htFrVk+/btmDdvnvS6pKQEsbGxUKvV0Gg06NOnDxITEwEACoUCy5YtQ2JiYpNThomaw8KPiGwGr60hbV5/fQ5mz37rtlNj2AlFxvrll1+Qn5+PuLg4s4+7La/Pkus6J3sb761ycnKavL7rrruQkZHR4vsHDhyIzMzMtg6LbAALPyKyCby2hojkkpubi7NnzyIkJAQAcPnyZTz//POYPHlyi9dfmeLaLKDtrs+S8zFZ9jBe3qyM5MBr/IjI6vHaGiKS0/Tp0/H9999j79692Lt3L7p3746NGzfihRdeaPH6K16bRUTmxiN+RGT1eG0NEVkibddf8dosIjI3Fn5EZNWs9doaXWk7bctSrkcBGAtRY3v37pX+13b9Fa/NIiJzYuFHRFbNkq6t0ZUprsGxpOcMWVMsvK6GiIjsFa/xIyKrxmtriIiIiFrHI35EZJN4bQ0RERHR/2HhR0Q2hdfWEBGZTke3O+HqotvuYk1tPSorqts4IiIyFAs/IiIiImqWq4sTIt7codN7M9+PhGVc7UtEzeE1fkRERERERDaOhR8REREREZGNY+FHRERERERk41j4ERERERER2TgWfkRERERERDaOhR8REREREZGNY+FHRERERERk41j4ERERERER2TgWfkRERERERDbOSe4AiIiIiIgICA4OhrOzM1xcXAAAcXFxCAoKwpEjR5CQkIDa2lr07NkTy5cvh4eHBwBobSNqjEf8iIiIiIgsxJo1a7Bjxw7s2LEDQUFB0Gg0mDNnDhISEpCTkwN/f3+kpqYCgNY2olux8CMiIiIislD5+flwcXGBv78/AGDSpEnYtWtXq21Et+KpnkREREREFiIuLg5CCAwaNAizZ89GYWEhevToIbW7u7tDo9GgvLxca5tSqZQjfLJgLPyIiCxU3Q01unbt2GL7zbaa2npUVlSbKywiImoj6enpUKlUqKurw5IlS5CUlITHHnusTcfp4dHB4M9q20ZZM1udLhZ+REQWyvkOR0S8uaPV92W+H4lKM8RDRERtS6VSAQCcnZ0RHR2NmTNn4tlnn0VBQYH0ntLSUigUCiiVSqhUqhbbdFVScg0ajZBe61P0XL1qe1ufrl07WsV0KRQOehftvMaPiIiIiEhm169fR2VlQ8EhhEB2dja8vb3h4+ODmpoa5OXlAQC2bt2KsLAwANDaRnQrHvEjIiIiIpJZSUkJYmNjoVarodFo0KdPHyQmJkKhUGDZsmVITExs8sgGAFrbiG7Fwo+IiIiISGZ33XUXMjIymm0bOHAgMjMz9W4jaoynehIREREREdk4Fn5EREREREQ2joUfERERERGRjTP6Gr/g4GA4OzvDxcUFQMNDJ4OCgnDkyBEkJCQ0udDUw8MDALS2ERERERERkWmZ5IjfmjVrsGPHDuzYsQNBQUHQaDSYM2cOEhISkJOTA39/f6SmpgKA1jayT8HBwQgLC0NkZCQiIyNx4MABAA0dBOPGjUNoaCimTZuGkpIS6TPa2oiIiIiIqKk2OdUzPz8fLi4u8Pf3BwBMmjQJu3btarWN7Bc7D4hITuyAIiIiW2eSwi8uLg4RERFYsGABKioqUFhYiB49ekjt7u7u0Gg0KC8v19pGdBM7D4jI3NgBRUREtszoa/zS09OhUqlQV1eHJUuWICkpCY899pgpYtPKw6PDbcO6du3Y5uM1hjnjs/R5cau4uDgIITBo0CDMnj3b4M4DpVIpR/hEZIOa62QKCQlBcnKy1jayP2VlZXjrrbfwxx9/wNnZGffccw+SkpLg7u7Oex4QkcUwuvBTqVQAAGdnZ0RHR2PmzJl49tlnUVBQIL2ntLQUCoUCSqUSKpWqxTZ9lJRcg0YjpNddu3bE1auVRk6N/vQpsMwVn1zzojUKhUOzq9weswAAIABJREFUBbsldR7oyhILa0uMSVfWHDvZDjk6oGxhPWQpcejD1DE7ODjghRdewODBgwEAKSkpSE1NxeLFizFnzhwkJyfD398f69atQ2pqKpKTk6Wjxs21ERG1BaMKv+vXr0OtVqNjx44QQiA7Oxve3t7w8fFBTU0N8vLy4O/vj61btyIsLAwAtLaRfbKEzgN9dwIsrbC21GJfF/rE3lznAXvayRTk6oBqrhNTV5bwm7fGdY8pYr51XaRUKqWiDwB8fX2xZcsWHjUmIoti1DV+JSUlmDx5MiIiIhAeHo5z584hMTERCoUCy5Ytw8KFCzF69Gjk5ubizTffbBihljayP9evX0dlZcMGuKXOAwAtdh7c2kb252ZPe05ODjIzM3HXXXchNTWV12eRXm7tgDp8+LDWTiZTdUCR7dFoNNiyZQuCg4N5zwMisihGHfG76667kJGR0WzbwIEDkZmZqXcb2ZeSkhLExsZCrVZDo9GgT58+TToPEhMTmxyRAaC1jewPe9rJWDx7hUxp0aJFaNeuHWJiYrBnz542H19bni5syCmxpjiNVq7Th63xtGUifRh9jR+RMdh5QKZkip52Y47YdHS7E64uXK1aG3ZAkamkpKTgwoULWL9+PRQKhVmOGrfV6cI3T4k196UQct6zwZzjbem+B0RtiXsoRGQzLKGnPeLNHa1+LvP9SJPHIndPtdzjb0zfWNgBRaawYsUK5OfnY8OGDXB2dgag/cgwjxoTkbmx8CMim2BtPe2mJucNNizpBh+txcJedmoLZ86cwYcffojevXtj0qRJAIBevXohLS2NR42JyGKw8CMiq8eediKS0/33349Tp04128ajxkRkKVj4EZFVY087ERERUetY+BGRVWNPOxEREVHrWPgRERER2Zm6G+o2eZwDGa6srAxvvfUW/vjjDzg7O+Oee+5BUlIS3N3d4eXlhb59+0KhaHgE97Jly+Dl5QUA2Lt3L5YtWwa1Wo0HHngAycnJuPPOO+WcFLJQLPyIiIiI7IzzHY6y3YWYmufg4IAXXnhBejZtSkoKUlNT8d577wEAtm7divbt2zf5TFVVFd59912kp6ejd+/emDdvHjZu3IhZs2aZPX6yfAq5AyAiIiIisndKpVIq+gDA19e3yR2om/Pdd9/Bx8cHvXv3BgBMmjQJX331VVuGSVaMR/yIiIiIiCyIRqPBli1bEBwcLA2bPHky1Go1hg8fjtjYWDg7O6OwsBA9evSQ3tOjRw8UFhbKETJZARZ+REREREQWZNGiRWjXrh1iYmIAAPv27YNKpcK1a9cwZ84cpKWl4Y033jDJuIx5tqmtXgdqq9PFwo+IiIiIyEKkpKTgwoULWL9+vXQzF5VKBQDo0KEDJk6ciE2bNknDDx06JH22oKBAeq+uSkquQaMR0mt9ip6rVyv1Gpc16Nq1o1VMl0LhoHfRzmv8iIiIiIgswIoVK5Cfn4+0tDQ4OzsDAP766y/U1NQAAOrr65GTkwNvb28AQFBQEI4fP47z588DaLgBzJgxY2SJnSwfj/gREREREcnszJkz+PDDD9G7d29MmjQJANCrVy+88MILSEhIgIODA+rr6+Hn54fXXnsNQMMRwKSkJMyYMQMajQbe3t6YN2+enJNBFoyFHxERERGRzO6//36cOnWq2bbMzMwWPzdq1CiMGjWqrcJqkS7PggSAmtp6VFZUmyEiag0LPyIiIiIi0os+z4K0/Cvm7AOv8SMiIiIiIrJxLPyIiIiIiIhsHAs/IiIiIiIiG8dr/IiIiIjIaLzZB5FlY+FHREREREbjzT6ILBsLPyIiIiKyOB3d7oSrS+u7qjyCSKQbFn5EREREZHFcXZx4BJHIhHhzFyIiIiIiIhvHwo+IiIiIiMjG8VRPIiIiIqL/xWsLyVax8CMiIiIi+l+8tpBsFQs/IiIiIjKb1p73p8uzAMl66Pp8R4BHUdsaCz8iIiIiMht9nvdH1k/X5Q3wKGpb481diIiIiIiIbByP+BERWTmeRkNEZH5c95K1YeFHRGTleBoNEZH5cd1L1oaFnxXTdrvhxj1Q7GUiIiIiIrJvLPysGG83TEREREREupDt5i7nzp1DVFQUQkNDERUVhfPnz8sVClkp5hAZizlExmIOkbGYQ2QsW8qhm9dNtvbX0e1OuUO1SrId8UtMTER0dDQiIyOxY8cOJCQk4NNPP5UrHLJCcuWQrhdz8xRby8f1EBmLOUTGYg6RsWwph3S9bnLb0nDuixlAlsKvpKQEJ06cwKZNmwAA4eHhWLRoEUpLS+Hu7q7TdygUDjoNMwfPzrr1OrRFfHKOW1+mjKGtckiX+el8hyOeX7y71fdtnD8aVWac75awjA2la+y2kkNyvk/Xjova2npcu1aj03cClpV/2mKxpRyylHluKXHow9iYTTXNcueQqd8n57hNsUwaf0dbzJvG388cMu69bb0vZg3rNYNiFDI4fvy4GDt2bJNhY8aMEfn5+XKEQ1aIOUTGYg6RsZhDZCzmEBmLOUT64APciYiIiIiIbJwshZ9KpUJRURHUajUAQK1W48qVK1CpVHKEQ1aIOUTGYg6RsZhDZCzmEBmLOUT6kKXw8/DwgLe3N7KysgAAWVlZ8Pb21vlcZCLmEBmLOUTGYg6RsZhDZCzmEOnDQQgh5Bjx2bNnER8fj4qKCri5uSElJQX33XefHKGQlWIOkbGYQ2Qs5hAZizlExmIOka5kK/yIiIiIiIjIPHhzFyIiIiIiIhvHwo+IiIiIiMjGsfAjIiIiIiKycSz8iIiIiIiIbJzVF37nzp1DVFQUQkNDERUVhfPnz8sdkmzKysrw4osvIjQ0FBEREZg1axZKS0vlDsuiyZU/KSkpCA4OhpeXF06fPq1TPOZua4m2PDty5AjGjRuH0NBQTJs2DSUlJdLnzN1mzUydH8Zoi+VtqJdffhnjxo3D+PHjER0djZMnTwKQZ76YmiXGqW3Ze3l5ISIiApGRkYiMjMSpU6ekz+3duxdhYWF47LHH8Prrr6O6utpsMQcHByMsLEyK68CBAwDscz2iD0PmmyHkWLe1NM6Wphmw35ywxPWQscy5v2UVhJWbPHmyyMjIEEIIkZGRISZPnixzRPIpKysTBw8elF4vXbpUvP322zJGZPnkyp/c3FxRUFAgHn30UXHq1Cmd4jF3W0tayjO1Wi1GjRolcnNzhRBCpKWlifj4eCGEMHubtTN1fhjD1MvbGBUVFdL/e/bsEePHjxdCyDNfTM0S49S2Tenbt6+4du3abZ+5du2aGDJkiDh37pwQQoh33nlHrF271izxCiFu+80IYb/rEX3oO98MJce6raVxNjfNQth3TljieshY5tzfsgZWXfgVFxeLQYMGifr6eiGEEPX19WLQoEGipKRE5sgsw65du8SUKVPkDsNiWUL+NF4RaYvH3G36uJlnR48eFY8//rg0vKSkRPj6+gohhNnbbIUp8sPUjF3eprJ9+3bxxBNPWMx8MYa1xNl4m9JS4ZednS2mT58uvT527JgYO3asuUJsdmde7ly1BvrON1OOz1y/YV0LP3vNCWtZDxmqrfe3rIWT3EccjVFYWIhu3brB0dERAODo6AhPT08UFhbC3d1d5ujkpdFosGXLFgQHB8sdisWytPzRFo8Qwqxtuk5/4zwrLCxEjx49pDZ3d3doNBqUl5ebvU2pVOo1762Boflhylw2xfI2dtnMmzcPP/zwA4QQ+OijjyxivhjL0tZFzWlumzJ58mSo1WoMHz4csbGxcHZ2vm3Z9+jRA4WFhWaNNS4uDkIIDBo0CLNnz+Z6REf6zDdTzhs5f8O3TrObm5vd5oQ1rIdMpS32t6xlHln9NX7UvEWLFqFdu3aIiYmROxSyYcwz+2IJy3vJkiXYt28f3njjDSxbtky2OOzNrct+3759+OKLL5Ceno7ff/8daWlpMkfYID09HV9++SW2bdsGIQSSkpLkDskq2ON8s8dpJrLqwk+lUqGoqAhqtRoAoFarceXKFahUKpkjk1dKSgouXLiAVatWQaGw6kXcpiwtf7TFY+42XdyaZyqVCgUFBVJ7aWkpFAoFlEql2dtsUVsuS12Yanmbyvjx43Ho0CF0795d1vliCpYeZ3PblJuxdejQARMnTsThw4el4Y2XfUFBgVmn4+a4nJ2dER0djcOHD8ueq9ZA3/lm6nHL8RtubppvDrfHnLD09ZApybXfZAmsuirw8PCAt7c3srKyAABZWVnw9va2msOtbWHFihXIz89HWloanJ2d5Q7Holla/miLx9xtrWkuz3x8fFBTU4O8vDwAwNatWxEWFiZLmy1qq2WpC1Mub0NVVVU1OWVw79696NSpk6zzxVQsOc7mlv1ff/2FmpoaAEB9fT1ycnLg7e0NAAgKCsLx48elO91t3boVY8aMMUus169fR2VlJQBACIHs7Gx4e3tzPdIKQ+abKcnxG25pmgH7zQlLXg+Zmhz7TZbCQQgh5A7CGGfPnkV8fDwqKirg5uaGlJQU3HfffXKHJYszZ84gPDwcvXv3hqurKwCgV69eFnMKjiWSK38WL16M3bt3o7i4GJ07d4ZSqcTOnTu1xmPutpZoy7PDhw8jMTERtbW16NmzJ5YvX44uXboAgNnbrJmp88MYbbG8DVFcXIyXX34Z1dXVUCgU6NSpE+bOnYsHHnhAlvliapYYZ0vL/oUXXkBCQgIcHBxQX18PPz8/vPPOO2jfvj0A4Ouvv8by5cuh0Wjg7e2NpUuXol27dm0e78WLFxEbGwu1Wg2NRoM+ffpg/vz58PT0tMv1iK4MnW+GkGPd1tw4169f3+I0A/abE5a4HjKWOfe3rIHVF35ERERERESknVWf6klEREREREStY+FHRERERERk41j4ERERERER2TgWfm0sISFB1purxMfHY+XKlbKNnyxba/nh5eWFCxcumDEisjXMIfu0du1axMXFAQAuXboELy8v1NfXmz2OQ4cOYfjw4WYfL5mOnLnE/LEeXFa6YeFnhODgYPj4+KC0tLTJ8PHjx8PLywuXLl1CUlISXnnlFYO+/8iRI/D19UVVVdVtbePHj8fmzZsN+l6yLLrkkTZ1dXVYunQphg8fDj8/PwQHB2PJkiVtGTKZ0BdffIGIiAgMGDAAQ4cORWJiIioqKtp8vMHBwXjooYfg5+eHIUOGID4+vtl1TVtqLXcbx3jzr6ioyKwxWhu58klfBw4cwDPPPAM/Pz88/PDDiImJwTfffCN3WNSIteTSt99+i6eeegq+vr4YPHgw4v4/e3ceF2W9////waCgpoZ4BMelLEvlZCYyqWlqoikmSMc+nsy0juaeS7lySiFFM8xscUn9VR4tTx6tgMAFM0tNPSYupdlqpikIBVhugMzM7w+/XkeUfRtmeN5vN283ud7X8rpmXnNd7/f1fl/XNWWKjhNOoKLOQUOGDOHee+8lOzu7zNftjNTwK6XGjRuzYcMG4+/vv/+eS5culcm627Zti6+vLwkJCbmm//DDD/z000/07du3TLYjjleaPFqxYgVHjhxh/fr1HDhwgNWrV3PXXXeVV6hSht555x0WLFjA1KlTSUxM5D//+Q9JSUkMHTq0Qk5Sy5Yt4+DBg0RHR3PkyBHefPPNYq+jNFfei5K7V2O8+s/X17fE23N1FZVPpe1t2bx5MxMnTuThhx9mx44d7N69mwkTJvDZZ5+VUYRSWs6US5MnT+bJJ5/kv//9L/Hx8VSvXp1BgwZVykaq5FYW56CCnDp1isTERNzc3Aq9sHT1peyuTg2/UgoNDSUmJsb4OyYmhocfftj4+9qhdOnp6YwaNQqLxUL79u0ZNGgQNpsNgOTkZMaNG0fHjh3p0KEDs2fPBuBvf/tbrvVf3Ua3bt2oV68eABMmTKBz584EBATw+OOP8+OPP5brPkvZKyyPzp07x7Rp0+jYsSPdu3dn6dKlRu4cPnyYnj174uvri5ubG02aNMm17LFjxxgyZAgWi4W+ffsWePB76623uP/++7n//vv54IMPymFP5arz58+zaNEiZsyYQdeuXalevTpNmjThtdde4/Tp03z88ccsWrSICRMm8Mwzz+Dv78/f/vY3vvvuO2MdKSkpjB8/no4dOxIYGMjq1auNskWLFjFx4kSmTZuGv78/ffv25fDhw3nG4uvrS5cuXYxjR0pKCqNHj6Z9+/Y8+OCDrFu3Ltd6J0yYwJQpU2jXrh3R0dFYrVaWLVtGz5498ff3p3///rletr5792569eqFxWJh1qxZXH2LUGG5K0VXWD698847tGnThrNnzxrLHD16lA4dOnD58mUAPvjgA/r06cO9997LU089xenTp415W7ZsyZo1a+jVqxe9evUCrrwfq1u3brRr147+/fsbL7wuiN1u56WXXmLs2LEMGDCAOnXqYDKZaN++PXPmzAHAZrOxdOlSunfvzn333ce0adOMl21fHeoXHR3NAw88QIcOHXJVFjMzMwkLC+Pee+/loYceyjfnJX/OlEtRUVGMGTOGkJAQatSoQYMGDZg7dy41a9Y0jofXDhWFG4eLfvjhh/Tp0wd/f3969OjB2rVrS/8hSrFcew4q6PyTnZ3N3LlzjXrK3LlzC7wQERMTwz333JNnXTosLIyIiAhGjBhB27Zt2bt3L9nZ2URFRfHAAw/QqVMnwsPDyczMBOCPP/5g1KhRdOzYkXvvvZdRo0Zx5syZ8vlAypEafqXUtm1bzp8/z7Fjx7BarWzYsIF+/frlOe/KlSvx9fVlz5497Nq1i0mTJuHm5obVamXUqFE0atSIbdu2sWPHDh566CHgSoMgMTHRqETZbDbi4+P529/+Zqy3a9euJCQksGfPHv7617/mOsCJcygsjyIjIzl37hxbt27l3XffJTY2lg8//BCAe+65h3/961+sWbOG77//nmtfzXn58mVGjx5N586d2b17NzNmzGDKlCn8/PPPN8SwY8cO3nnnHd555x22bNnCnj17yn/Hq7ADBw6QlZVlVHyuuummm+jWrRu7d+8G4NNPPyUoKIgvv/yS4OBgxo4dy+XLl7HZbIwZM4aWLVuyY8cOVq1axapVq9i5c6exrm3bttG3b18SExMJDAwkMjIyz1iSk5PZsWMHfn5+AEyaNImGDRuyc+dO3njjDRYuXJgrH67GlJiYSEhICCtXrmTDhg2sWLGCAwcO8OKLLxov/Ab4/PPP+eCDD/j444/ZtGmTEWNBuSvFU1g+/fDDD7Rt25YtW7YYZXFxcfTu3Zvq1auzdetWli9fzuLFi9mzZw8BAQFMnjw517q2bt3KunXr2LhxIwB33303MTExRm5OnDiRrKysAuP8+eefSU5Opnfv3vnO89FHHxEdHc3q1avZunUrFy9eNC6GXrV//342b97MqlWrWLJkCceOHQNg8eLFnDx5kk8++YS33377hsqeFM6ZcikpKYmgoKBc000mE7169eKLL74o0v7Wr1+f5cuXc+DAAebNm8e8efP45ptvirSslI1rz0EFnX/efPNNvvrqK2JjY/n44485fPgwS5cuzXe9sbGxhISEEBISwhdffMHvv/+eqzw+Pp7Ro0dz4MABAgICWLBgAcePHycmJoYtW7aQmppqPKfDZrPRv39/PvvsMz777DM8PT1vOC45AzX8ysDV3ppdu3bRvHnzfIciVatWjd9++42kpCSqV6+OxWLBzc2Nr7/+mtTUVKZNm0atWrXw9PTEYrEAYDabad++PbGxsQDs2bOH7OxsunXrZqz3//7v/6hduzYeHh6MHz+e7777zrg6Ks4jvzyy2Wxs3LiRyZMnU7t2bZo0acLQoUP5+OOPARg1ahQjRowgLi6ORx55hC5duhAdHQ3AV199xcWLFxk5ciQeHh7cd999dO/ePdew0qs2bdpE//79adGiBbVq1WLcuHEVt/NVUEZGBvXq1aNatWo3lDVo0ICMjAwA7rrrLoKCgqhevboxzOqrr77i8OHDpKenM27cODw8PGjatCl///vfjYoUQEBAAN26dcPd3Z3Q0NBcvYUATz/9NBaLhUGDBnHvvfcyevRokpOTOXDgAFOmTMHT0xM/Pz8GDBhgHIPgyoWKnj17YjKZqFGjBuvXr2fixIncfvvtuLm50apVK2NEAsCIESOoW7cujRo1okOHDkYcBeXu9TFaLBbGjh1b+g/eRRUln0JCQoiPjweu9JZs3LiRkJAQANauXcvIkSNp3rw51apVY/To0Xz77be5empGjhyJl5eX0agPDQ01tjls2DCys7M5fvx4gXFe7SXy8fHJd564uDj+8Y9/0LRpU2666SYmTZrExo0bcw0LHDduHDVq1KBVq1a0atXKyKlNmzYxevRovLy8MJvNDBkypCgfn1zDWXLp6jEyr1y69hhamAceeIBbbrkFNzc32rdvT+fOnYvU4yild/056NFHHy3w/BMXF8fTTz9N/fr18fb25umnnzbqQtdLTEwkKSmJPn360Lp1a5o2bWrk7FU9evQgICAAk8mEh4cH69at47nnnsPLy4vatWszatQoo75Ur149evfuTc2aNalduzZjxoxh37595fsBlYMbf9VSbKGhoQwePJhTp04RGhqa73xPPfUUixcvZtiwYQA8+uijjBw5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xo3UrFmT7du3k5GRke8j84vDbrczZswYzp07xyuvvEKrVq2w2+3s3r2b7du3c999992wjHIvf+WRY8UxduxYxo4di81m49///jcTJkzgiy++KPftRkZG4u7uTkJCAjfddBM///wzx48fzzXP5s2by/Sdga7IYrGwYsUKrFYr7u7upKamkpOTw7fffptr2okTJ7BYLOUay7Jly+jUqRPnzp3jyy+/ZO7cuXz99dfMmzev3LY5evRoHnvsMZYtWwbA4cOHufa5hz4+PuzYsaPctl8VPf/88wQHB7Nr1y46d+5MVlYWM2fOZPr06WX6RNer7yQcNWoU48ePx2az8Z///Ifx48eze/fuYtV/XIV6/Iro6skkODgYd3d3atSowf3330+rVq04efIkTzzxBB06dKBDhw5MnjyZP//8M8/12Gw2VqxYQc+ePenQoQMTJ07k7Nmzec7r7+/PHXfcYbxotmXLlqxZs4ZevXrRq1cvY9qJEycAyMzM5KWXXqJ79+4EBATw2GOPGe/pOnToEAMHDsRisdCvXz/27t1bpp9PVVZQbgCsW7eOPn364O/vz0MPPcQ333wDYPTohoSE0LZtW3JyckhJSWH8+PF07NiRwMBAVq9ebWynoNy52lscHR3NAw88QIcOHXjzzTfzjLd69er87W9/47fffiMjIwObzcbSpUvp3r079913H9OmTTPeaXN1vevXr+eBBx7gySefBP7Xw2mxWOjWrRsfffSRsf4///yTkSNH4u/vz4ABAzh58mQZf+KuJTMzk1mzZnH//ffTtWtXoqKiuHz5MhkZGYwbN45ff/3VuFKZkZGRa9nq1asTHBzMr7/+yvnz54H/9YwsXbqUDh060KVLF7Zv387WrVuN3HnnnXeMdezfv5+HH36Ydu3a0blzZ1555ZVc24iJieGJJ57glltuyfNq/8GDBwkKCqJ9+/bMnDmT7OxsAHr06JFriHtWVhYWi4WffvqJzz//nAMHDrB06VLuvvtuqlevjoeHBw888ABhYWHGMp07d+btt9+mb9++BAQEAPD111/Tr18//P39mTJlCpcvXy7lN+D6iptj+/fvZ8CAAVgsFu6//35efPFFcnJyCt2OyWQiODiY3377zTg2HTt2jMcee4yAgAA6duzItGnTgP/1yL3//vv07NmTdu3asXTpUn7++Wf+7//+j4CAACZPnkxOTk6+cR4+fJiQkBDq1KmDyWTijjvuKFXvZVV19913Gw09uHJ879ChA7fddluuabfccgu+vr4cOHCARx55hICAgBt6eFNSUhg9ejTt27fnwQcfZN26dUZZZmYmYWFh3HvvvTz00EMFjlSoU6cOPXr04LXXXiM6OpoffvgBuDJSICoqigceeIBOnToRHh5u1HPgymtoQkNDadeuHT179syzwZaamkpISAhvvfUW6enpnDp1ir///e94eHjg4eFBQEBAuTdwq7p69eoxY8YMZs6cycWLF1m8eDFNmzalf//+2Gw2li1bZpyvnn32Wf744w/gSj1owoQJdO7cGYvFwpAhQzh27Jix3ilTpjBr1iyeeuop2rZte0PPnslkIiQkhPT0dNLT0wF49dVXc513Tpw4QcuWLY2/H3vssVx1nKsGDx4MXKn7+fv7k5CQUHYfUDlSw6+IbrvtNtzd3Zk+fTrbt283khCuXL0eNWoUO3fuZNOmTZw5c4ZFixbluZ53332XrVu38t5777Fz505uvvlmZs+efcN8drud/fv389NPP/HXv/7VmL5161bWrVvHxo0bb1gmKiqKb775hrVr1/Lll18ydepUTCYTKSkpjBo1ijFjxvDll18yffp0JkyYYCS9lE5BubFp0yYWLVpEVFQUBw4c4M0338TLy8so37BhAytWrCAxMRGTycSYMWNo2bIlO3bsYNWqVaxatYqdO3cCRcud/fv3s3nzZlatWsWSJUtyHRCvys7O5qOPPsJsNuPt7c1HH31EdHQ0q1evZuvWrVy8ePGG9e7bt4+NGzfy9ttvc/r0aUaMGMHgwYPZs2cPMTExuV64u3HjRsaNG8e+ffu45ZZbdM9fId544w2+//57Pv74Yz766CO+/PJL3nrrLerVq2ecDA8ePMjBgwdv6G3Lzs4mNjaWBg0aGO/fAzh9+jTVqlVj165djBw5kueee46EhAQ+/vhjVq5cyauvvmq81DoyMpJRo0Zx4MABEhIScr1f7fjx4xw6dIiQkBBCQkKIjo6+If4NGzawatUqNm/ezNGjR3nrrbcA6Nu3r/EiYIDPP/+cxo0bc8cdd7B7927atWtXpHcebdy4kXfeeYe9e/eSmZnJ2LFjefTRR/nyyy/p2rUr27ZtK94HXgUVN8eqV6/OzJkz2bt3L//+97/57LPPinR/VE5ODjExMdx2223c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MqwGu60SERER0f1Y+JFVWLlyJQAgOzsbaWlpSEhIMPs+PT1d27xuawaBseT2LLlva98eERERUUfEwo+syvjx45GSkgI/Pz8UFxdDp9NBJpNBp9OhpKQESqUSgiA0GTOEVlsBvV4QHxtSYFy71vJ1MlNvzxD28lq8vd3qbU8qlRhVsBMRERF1VLzHjyyqsrISGo1GfJyfnw8PDw94enoiKCgIubm5AIDc3FwEBQVBoVA0GyMiIiIiooZ4xY8sqqqqCgkJCaiqqoJUKoWHhweysrIgkUiwbNkyJCUlITMzE+7u7lCr1eJ6zcWIiIiIiKg+Fn5kUV5eXtixY0ejscDAQOzcudPgGBERERER1ceunkRERERERHaOhR8REREREZGdM7qr5/z583H58mVIpVK4uLhg6dKlCAoKwvnz55GUlITy8nLI5XKo1WoEBAQAQLMxIiIiIiIiMi2jr/ip1Wp89tlnyM7ORlxcHJKTkwEAqampiI2NRV5eHmJjY5GSkiKu01yMiIiIiIiITMvows/N7bf5vSoqKiCRSKDValFYWIjIyEgAQGRkJAoLC1FaWtpsjIiIiIiIiEzPJKN6LlmyBIcOHYIgCNi0aRM0Gg18fX0hk8kAADKZDD4+PtBoNBAEockY52EjIiIiIiIyPZMUfitXrgQAZGdnIy0tDQkJCabYbLM8PV0bPOft7dbIktanI7XTVl4rEREREZE9M+k8fuPHj0dKSgr8/PxQXFwMnU4HmUwGnU6HkpISKJVKCILQZMwQWm0F9HpBfOzt7YZr126Z8uWYhT2005Bi7v5tSKWSRgt2IiIiIiIyL6Pu8ausrIRGoxEf5+fnw8PDA56enggKCkJubi4AIDc3F0FBQVAoFM3GiIiIiIiIyPSMuuJXVVWFhIQEVFVVQSqVwsPDA1lZWZBIJFi2bBmSkpKQmZkJd3d3qNVqcb3mYkRERERERGRaRhV+Xl5e2LFjR6OxwMBA7Ny50+AYERERERERmZbR0zkQERERERGRdWPhR0REREREZOdY+BEREREREdk5Fn5ERERERER2joUfERERERGRnWPhR0REREREZOdY+BEREREREdk5Fn5ERERERER2joUfERERERGRnWPhR0REREREZOdY+BEREREREdk5Fn5ERERERER2joUfERERERGRnXOwdAPIeri5d4az028p4e3tZsHW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\n" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "4757fe5eb0f6348eca563a95c7f949a8cfd0773c", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "mini_train=train[columns]\nf,ax=plt.subplots(1,2,figsize=(20,10))\nmini_train[mini_train['SalePrice']>100000].GarageArea.plot.hist(ax=ax[0],bins=20,edgecolor='black',color='red')\nax[0].set_title('SalePrice>100000')\nx1=list(range(0,85,5))\nax[0].set_xticks(x1)\nmini_train[mini_train['SalePrice']<100000].GarageArea.plot.hist(ax=ax[1],color='green',bins=20,edgecolor='black')\nax[1].set_title('SalePrice<100000')\nx2=list(range(0,85,5))\nax[1].set_xticks(x2)\nplt.show()", + "execution_count": 104, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABJ8AAAJRCAYAAADrvxaPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3X2Y1XWdP/7nDDYYAk7QAAP6zRYFKTfvSNZK3bBVtzXNyksis7XFLNPcDMpLEYhUGiS3LJRKa7uxKGvTMJNSunEr71KuQsu01FQGGAcsQYGYc35/+HNWEmSAec84M4/Hdc314bzf5/M+rzkO+Jrn5+bUVKvVagAAAACggNruLgAAAACA3kv4BAAAAEAxwicAAAAAihE+AQAAAFCM8AkAAACAYoRPAAAAABQjfAK2y8SJE/PLX/6yyNoHHnhgHnnkkSJrAwD0ZHowoCcTPkEfdeedd2bSpEk5+OCDc8ghh2TSpEn5zW9+02nrP/rooxk7dmwOPPDAHHjggZk4cWK+8IUvvOA+d999d/bcc89Oq+GF3HDDDZk0aVL233//vPvd737e/O9+97u87W1vy/7775+3ve1t+d3vftc+V61Wc8kll2TChAmZMGFCLrnkklSr1eL7AgA9nx5MDwZ9kfAJ+qC1a9fm/e9/f04++eTcfvvt+fnPf54zzzwzdXV1nf5ad9xxR+6+++586lOfyvz58/Pzn//8ec/ZtGlTp73e448/3qHn1dfX55RTTslpp532vLmNGzfmjDPOyHHHHZc77rgjb33rW3PGGWdk48aNSZJvfetbuemmm3Ldddfl+9//fn7yk59k4cKFxfcFAHq23tyDvZDn9md6MOibhE/QBz344INJkmOPPTb9+vXLrrvumje84Q3Zd9998+c//zmnnHJK+1Ghj3zkI/nrX/+6xXUqlUq+8IUv5E1velMmTJiQs88+O0888cQWn3vggQdm7733zv33358kGTt2bK6++uocddRROeqoo9rHHn744STJ+vXr88lPfjJvfOMbc/DBB+ed73xn1q9fnyRZunRpJk2alPHjx+e4447Lbbfd1v46n/3sZ/PmN785V155ZVpaWrb6Hrzuda/Lm9/85gwfPvx5c7fffns2bdqU97znPamrq8spp5ySarWaW2+9NUly7bXX5r3vfW9GjBiR4cOH59RTT833vve94vsCAD1bb+7B/t7TTz+da6+9NqecckpOOeWU9nE9GPRNwifog175ylemX79++djHPpaf/exn+ctf/tI+V61Wc/rpp+eWW27JD3/4w6xYsSKf/exnt7jO1772tdx00035+te/nltuuSW77757Zs+e/bznVavV/PrXv84DDzyQV73qVe3jN910U7797W/nhhtueN4+TU1Nueeee7Jw4cLcfvvtmTZtWmpra7Ny5cqcfvrp+cAHPpDbb789H/vYx/KhD30oq1evTpLMnDkz06dPz3333Zdjjjkm73//+/PjH/84f/vb3zr8/jzwwAMZO3Zsampq2sfGjh2bBx54IEly//33Z999922f23fffdsbupL7AgA9W2/uwZ519913Z/r06Tn88MNz3XXX5R3veEf+53/+p0Pvjx4Meq9dursAoOsNHDgw3/jGN/LFL34xF1xwQR5//PEcfvjhufDCC/OKV7wir3jFK5IkQ4YMyamnnprPfe5zW1xn4cKFmTFjRkaMGJEkOfPMM/PGN75xs1O4/+mf/ik1NTV5+ctfno985CM59NBD2+fe9773pb6+/nnrViqVfPe73823v/3t9qNiBx10UJLkuuuuy+GHH54jjjgiSfL6178+++23X372s5/lhBNOSG1tbV73utflda97XdauXZsbb7wx//3f/50ZM2bkpJNOyn/+539u8/1Zt25dBg0a9Lz3bN26dUmSp556KgMHDmyfGzRoUJ566qlUq9Wi+wIAPVtv7sFuuOGGXHbZZalWqznhhBOyaNGi9vo6Sg8GvZfwCfqo0aNH55Of/GSS5I9//GOmTZuWiy++OOedd14uuuii3HnnnVm3bl2q1WoGDx68xTWWL1+eD37wg6mt/b+TKGtra9Pa2tr++NZbb80uu2z5n5rGxsYtjq9ZsyYbNmzY4o0vly9fnhtvvDE/+clP2sc2bdqUCRMmPO+5AwcOzNixYzNu3Lj84Q9/aD/VfVt22223rF27drOxdevWZbfddkuSDBgwYLNmZO3atRkwYEBqamqK7gsA9Hy9tQdbuXJlVq5cmSOOOCL77rtvXv7yl2/jnXg+PRj0Xi67AzJ69Oi87W1vy/33359LL700NTU1WbRoUe66667nfRLIc40YMSJf/OIXc+edd7Z//fa3v93iNfxb8txTm5/rZS97Wfr377/Fj/xtbGzM8ccfv9lrLl26NO973/van7NixYp84QtfyJvf/Oacc845ednLXpbrrrsun/nMZzpU195775377rtvs+/7vvvuy957750k2WefffL73/++fe73v/999tlnn+L7AgC9S2/qwU499dTccsstOfTQQ7NgwYIcccQRufjii3Pvvfd28N3Qg0FvJnyCPuiPf/xjvvSlL2XFihVJkubm5lx//fXZf//9s27dugwYMCCDBg3KypUrc+WVV251nXe+85359Kc/ncceeyxJsnr16tx00007XV9tbW3e/va3Z86cOVm5cmXa2tpy9913Z+PGjTnuuOPyk5/8JLfcckva2tqyYcOG3Hbbbe3fy2c/+9n827/9Wx588MF8/OMfz49+9KN88IMfzMiRIzd7jWf33bRpUyqVSjZs2NB+X6hDDjkk/fr1y1e/+tVs3LgxX//615M8c/p6khx//PH58pe/3H6E78tf/nJOOOGE4vsCAD1bb+7BkmfOOj/ppJOycOHCfO1rX0v//v3z/ve/P+95z3van6MHgz6qCvQ5K1asqH7oQx+qvuENb6juv//+1Te84Q3VCy64oPrkk09W//CHP1RPOOGE6gEHHFA97rjjqldddVX1sMMOa9/3jW98Y/UXv/hFtVqtVtva2qpf+tKXqkcddVT1gAMOqB555JHVT33qU9VqtVp95JFHqmPGjKn+7W9/22INY8aMqT700ENbHXv66aerF154YfUNb3hD9aCDDqpOnjy5+vTTT1er1Wp16dKl1Xe9613V1772tdUJEyZUTzvttOpjjz1WrVar1Xvvvbe6bt26bb4H3/3ud6tjxozZ7OtjH/tY+/w999xTPeGEE6r/+I//WH3rW99aveeee9rnKpVKtampqfra1762+trXvrba1NRUrVQqxfcFAHq23tyDbU1bW1v1rrvuan+sB4O+qaZa3cq5nAAAAACwk1x2BwAAAEAxwicAAAAAihE+AQAAAFCM8AkAAACAYoRPAAAAABQjfAIAAACgmF26u4DS1qxZl0ql2unrDh06MEnS2ro2Q4cObN9ua2xH9mltXdvp9QNAT1dbW5OXvWy37i6DLSjZf/19z7StbfL8PmtH9wEAdqwH6/XhU6VSLdL8PHf95263NbYj+5SsHwCgs5Xsv/6+P9rWtrP3AQC2n8vuAAAAAChG+AQAAABAMcInAAAAAIoR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sTvvvDNXXHFFrrrqqiLFAQCwdTvTn9XU1GTKlCmZMGFCkqSpqSnz5s3LhRdemGnTpmXOnDkZP358Lr/88sybNy9z5swp+r0AAL1Xh898Wrp0afbff//Nxvbff//cfffdnV4UAADbtjP9WX19fXvwlCQHHHBAli9fnmXLlqV///7tgdakSZNy4403dm7hAECf0uEzn171qlfl0ksvzdlnn51dd90169evz2WXXZZx48aVrA8AgK3orP6sUqnkm9/8ZiZOnJjm5uaMHDmyfW7IkCGpVCp54oknUl9f36H1hg7t+Z+219AwaItbOpf3FaBv6HD4NGfOnEydOjXjx4/P4MGD89e//jX77bff8z7iFwCArtFZ/dknPvGJDBgwICeffHJ+/OMf73Rdra1rU6lUd3qd7tTS8mQaGgZttqXzeV8Bep7a2prtPtDU4fBpjz32yMKFC9Pc3JxVq1aloaFhs6NiAAB0rc7oz5qamvLwww9nwYIFqa2tTWNjY5YvX94+v3r16tTW1nb4rCcAgL/X4Xs+Jc98Ksptt92W22+/PSNHjszKlSuzYsWKUrUBALANO9OfXXrppVm2bFnmz5+furq6JMl+++2X9evX584770ySLFy4MMccc0yx+gGA3q/D4dPtt9+eY445JosWLcrll1+eJHn44Ycza9asUrUBAPACdqY/u//++/P5z38+q1atyqRJk3L88cfngx/8YGprazN37tx8/OMfz1FHHZU77rgjH/nIRwp/JwBAb9bhy+4uvvjifPrTn86hhx6a1772tUme+TSV3/zmN8WKAwBg63amP9tnn31y3333bXHuoIMOyqJFizq1VgCg7+rwmU+PPfZYDj300CRJTU1NkuQlL3lJ2traylQGAMAL0p8BAD1Bh8On0aNH55Zbbtls7Je//GXGjBnT6UUBALBt+jMAoCfo8GV35557bk4//fT88z//c9avX58ZM2ZkyZIl7fcXAACga+nPAICeoMNnPh1wwAH5/ve/n7333jtvf/vbs8cee+Q73/lOXvOa15SsDwCArdCfAQA9QYfOfGpra8u///u/56qrrsppp51WuiYAALZBfwYA9BQdCp/69euXRx99NJVKpXQ90OUOfvXeeaRlVXeXAQDbRX8GAPQUHb7s7oMf/GBmzZqVxx57LG1tbalUKu1f0JM90rIq1aTIFwCUpD8DAHqC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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "9fe54fd42ea5055cca47338078553c1111cded65", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": " \nmini_train[['SalePrice','OverallQual']].groupby(['OverallQual']).mean().plot.bar()\n ", + "execution_count": 105, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 105, + "data": { + "text/plain": "" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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7tOIESO0e/duH6/OdYmJiVq8eHG7+vtwPm+//bb69++vUaNG6Z///KdGjx7t/P+Rl5fn6+W57NixY5o6dap+/OMf66abbtLkyZOVmJioxx57TI2Njb5eXsDifXw8JCUlRTk5Ob5ehktmzpypnj17ql+/fnr11VfVuXNnPfnkk7LZbBo7dqw2b97s6yW6ZNKkSbr99ttVXV2tFStW6A9/+INSU1OVl5en9evXa926db5eokuuvPJKxcfH68y/msXFxerevbssFoveffddH67OPb/61a/01ltvSZIeeugh2e12paWladu2bTpy5IiefPJJH6/QNampqdq6dask6ZZbbtHs2bN17bXX6vDhw8rIyNCmTZt8vELXDB06VMOHD1dOTo5iY2N18803KyUlReHh4b5emlvGjh2r7OxsVVVVacaMGVq1apX69++vgoICZWRktJvPWZMnT9avf/1rDRkyRFu3blVFRYV++9vfavny5erQoYOysrJ8vUS3VVRU6MSJE5Kk2NhYRUZG+nhF57L5egHt2ff967uiosKLK7kwhYWFeuqppyRJI0aM0EMPPaTf/e53evbZZ328MvfU1tZq2LBhkqQVK1YoNTVV0jef7L+drz2YMWOG/vGPf+jBBx9Ujx49JH0zQ3v6l+y3zoy3Tz75RG+++aaCg4N1xRVXKCUlxYcrc09DQ4Pz17W1tbr22mslSZdeeqlOnz7tq2W5LTw8XA888IDmzJmjd999V5s2bdKyZct0ww03aNy4cRo0aJCvl+iyvn37SpI6d+6s/v37S5L69OnjyyW57euvv3Z+npo8ebLGjRunmTNnatGiRRo1apSPV+eeo0eP6o9//KPy8/PVrVs3SVJJSYmuuuoqPfjgg7rkkkt8u8AzED4XIDk5+Zx/mX+rsrLSBytqnTM/cVssFmVlZSk7O1vp6elnfcL3d2f+f/jvT+B2u93by2m1GTNmKD8/X/fee6/GjBmjiRMnymKx+HpZrdLY2KiCggI5HA5ZLBYFBwc7t1mt7edO+09+8hM99thjmjVrlhITE7V9+3aNHj1ae/bsUUREhK+X57bg4GCNGjVKo0aNUnFxsd566y0tWrRIO3bs8PXSXGKxWFRQUKCqqiqdOnVK+/btU79+/XT48GHnD7FuD2w2m44ePaqLL75Y+/fvV4cOHSR983fDZmtfX57vu+8+paWl6cUXX3T+3bbb7crJydHcuXP12muv+XiF/9G+PrJ+Jj4+Xq+88oq6d+9+zrYhQ4b4YEWt06tXL3388ccaOHCg87G5c+dq+fLl+tOf/uTDlbknPj5eNTU16tKlixYvXux8/MSJE+rYsaMPV+a+q666SuvXr9dTTz2l2267rV1dVThTfX290tPTnVH67S27mpqadhU+DzzwgJYsWaLBgwcrIiJCa9eu1X333afExEQ98sgjvl6ey873j7Tu3btr+vTpmj59ug9W1DozZ87UxIkTZbVa9cQTT2jFihUqLS3ViRMntHDhQl8vz2UzZ87Ub37zG8XExKi0tFRPPPGEJOnkyZPOq1jtRWVlpfPq1besVqvGjBmjVatW+WhV58drfC5Adna2RowYcd4/oIsXL9aCBQt8sCr3VVZWymKxnPc+/5dffqnLLrvMB6tqO6dOnVJdXZ2io6N9vZRW2bdvnz766COlp6f7eiltpq6uTidPnlSvXr18vRS3nDp1SkePHpXdbldcXJxfvn7h+xw7dkzx8fG+Xkaba25u1oEDBxQbG6uLLrrI18txS1VVlY4cOaJLL71UXbp08fVyWm3ChAmaNGmSfvnLXzqvUDscDuXk5Ojll1/W66+/7uMV/gfhAwAALkhhYaGysrJ04MAB512Q4uJiXXnllVq4cKF69+7t4xX+B+EDAADaRHl5uYqKiiRJcXFxioqK8vGKzkX4AAAAj/G3t3fhxc0AAOCCfNfbuzgcDr97exfCBwAAXJD29PYuhA8AALgg7entXdrPG2kAAAC/NHLkSB07duy820aMGOHl1Xw/XtwMAACMwRUfAABgDMIHAAAYg/ABAADGIHwABKSnn35as2fPliR99dVX6tu3r5qamrxy7g8//FCDBw/2yrkAuIfwAdCmNm3apJSUFF133XUaNGiQsrKyVFVV5etlneOvf/2rxo0bp379+ikxMVGzZ89WcXGxr5cFwMMIHwBtZu3atVq6dKnmzJmjvXv36rXXXtPx48d1++23q7Gxsc3Oc6FXbnbs2KGMjAzdeuut+vvf/67c3FwFBwcrLS3NLyMNQNshfAC0iZqaGj399NNasGCBBg8erODgYPXs2VNPPvmkjh07prVr1+raa689611c8/PzlZiYqNOnT0uS3nzzTd14440aOHCg7rjjjrPeF6Rv377asGGDRo4cqZEjR0qSFi9erCFDhqh///666aabtHfv3hbX6XA4lJ2drTvvvFMpKSkKDQ1VTEyMHn74YXXs2FHr16+XdPatMunc22V//vOfdeONN+r666/XsGHDtHHjxgv/IALwOMIHQJv49NNP1dDQ4IySb3Xu3FlDhgzRwYMH1a9fP+3atcu5LScnR0lJSQoODtY777yj1atX65lnntEHH3ygH/7wh8rIyDjrud555x29/vrr2r59uyTpmmuu0ebNm/XRRx8pOTlZs2bNUkNDw/eu89ChQzp+/LhGjRp11uNWq1UjR47U7t27XZo3Ojpaq1ev1qeffqpHH31WYr4GAAADjklEQVRUjz76qD7//HOXjgXgO4QPgDZRUVGhyMhI2Wzn/iScmJgYVVRUKCUlRbm5uZK+ufKyfft2paSkSJI2btyo9PR09enTRzabTdOnT9eBAwfOuuqTnp6uiIgIhYaGSpLGjBnjPOeUKVPU2Niow4cPt7hOSerWrdt3rtMVN9xwgy6++GJZLBb96Ec/0qBBg1y64gTAt/hZXQDaRGRkpCoqKtTU1HRO/JSWlioyMlIjR47UokWLVFJSosLCQlmtVg0YMECSdPz4cT3yyCPKzs52HudwOFRcXKz4+HhJUlxc3FnPu2bNGr355psqKSmRxWJRTU1Ni+ESGRkpSSopKVGvXr3Ou05XvPfee1q5cqUKCwtlt9tVX1+vK664wqVjAfgO4QOgTVx//fXq0KGDdu3apdGjRzsfr62t1fvvv697771X4eHhGjRokLZv365Dhw5p9OjRslgskr6JmunTpys1NfU7z/HtvpK0d+9evfDCC1q3bp0uv/xyWa1WDRw48Lw/HfpMvXv3VmxsrHbs2KFp06Y5H7fb7dq1a5eGDh0qSerYsaPq6+ud20+ePOn8dWNjo2bOnKns7GwNGzZMwcHBuuuuu1o8NwDf41YXgDYRFham3//+91q8eLHef/99nT59Wl999ZXuuecexcbGasyYMZKklJQUbdmyRTt37nTe5pKkCRMm6Pnnn9cXX3whSaqurtZf/vKX7zxfbW2tgoKCFBUVpaamJj3zzDOqqalpcZ0Wi0Vz587VqlWrlJOTo4aGBpWWlmr+/PmqqKjQpEmTJEkJCQn6+OOPdfz4cVVXV2v16tXO52hsbFRjY6OioqJks9n03nvvac+ePa36uAHwLq74AGgz06ZNU0REhJYsWaKjR4+qS5cuGj58uJYuXaoOHTpIkoYOHar58+erR48euvLKK53HjhgxQrW1tbr33nt17NgxhYWF6ac//aluvPHG857rZz/7mX7+858rKSlJnTp10q233nrOrbDvMnr0aHXo0EGrVq3SggULnLepXnrpJedrfwYNGqTRo0crNTVVkZGRmjZtmvLy8iRJXbp00YIFC3TPPfeosbFRv/jFL5xXigD4N346OwDj7d69WxkZGVq3bp0SEhJ8vRwAHkT4AICkvLw8FRcXa+LEib5eCgAPInwAAIAxeHEzAAAwBuEDAACMQfgAAABjED4AAMAYhA8AADAG4QMAAIzx/wFF6m+wLdDksQAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "8e33e2dd71bafabc2d78c6ee250d5beeefabe841", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train['OverallQual'].value_counts().plot(kind=\"bar\");", + "execution_count": 106, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "b4e3de19781686010c6038f0e3076eb678398169" + }, + "cell_type": "markdown", + "source": "It looks like perhaps two of the input variables have a Gaussian distribution. This is useful to note as we can use algorithms that can exploit this assumption.\n\n" + }, + { + "metadata": { + "_uuid": "3bbff56707484f88625eb8ef309b712ba03f939e" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-4 Multivariate Plots\nNow we can look at the interactions between the variables.\n\nFirst, let’s look at scatterplots of all pairs of attributes. This can be helpful to spot structured relationships between input variables." + }, + { + "metadata": { + "_uuid": "eb4e5d117e4ef40d7668632f42130206a5537bd0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n# scatter plot matrix\npd.plotting.scatter_matrix(train[columns],figsize=(10,10))\nplt.figure()", + "execution_count": 107, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 107, + "data": { + "text/plain": "
" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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n8/GjRupqanhrrvumrF2Dd6wnn/+eSRJ4sILL2TJkiXEYjHeeustJEni/vvvn7H25YJTfWzlguPto4cffhhFUVi9ejU+n6/gxst0GGqF2CePPPIIvb292Gw2gsEgDz/8MGVlZdx000089dRTM9q2Qr9uC739UyHffntOjqhpGr///e8pKSnJxe4Kjng8zrPPPsvmzZuJRqOZk3rdddfh9XqntO97772X5uZmLr/88qzJ89577+Xb3/523rZ7sqiqCsArr7zCU089hSiKfOYzn+Ezn/nMSTn+aAy9YSUSCb761a/y1ltv0dXVxf3338+ll17KDTfcMGPtyxXTObZyyUyO0+Ptox07dvCLX/wi671CGS9Dx/28efOIxWL8+te/5ne/+92UDLVC7JNt27Zl2rxr1y7uvPNO7rnnnhlulUWhXLdjMVH78+G+NF3k27nLiQH46KOP5mI3Bctdd93Fpz71KT796U9nndSvf/3r/PCHP5zSvo8ePTqifxctWsT1118/pf3C9LZ7suzfv5977rmHw4cPoygKTqcTgHQ6fVKOPxpDb1gbNmzgjTfeYPXq1Tz++OO88MILvP322yxatGjG2pcrpnNs5ZKZHKfH20dLlizhwQcfZPXq1Xi9XmKxWMGMl+ky1AqxT3RdR1EU7HY7LS0tPP7449x9993s27dvpptWMNftWEzU/ny4L00X+XbuTu311pNEKBRi7dq1iKJVVScQCLB27Vp+9rOfTXnfF198MbfffjtnnXUWXq+XaDTK+++/z4UXXjjlfU9nuyfLr371KwDuvPNOJEkCrBWfO++886S1YThDb1jnnXceu3bt4qmnnsLr9dLX18d1112X1zevyTKdYyuXzOQ4Pd4+uu+++/jggw/YvHkzra2teL3eghkv02WoFWKffOMb3yAajWZi2QOBAD/4wQ944YUXZrhlhXPdjsVE7c+H+9J0kW/nLqdZwB9Wnn/+eZ599lmam5szJ3Xfvn1ce+21fPKTn5zy/vv7+9m2bRuxWAyv18vSpUspKyvL+3YXMoM3rGg0itfrZcWKFWiallfJKblgusZWLpnpcVoIfZQrBsf94G89/fTT89pQ+7BS6GNyvPbP9PU+3eTTuSsagDlC0zRaW1uJRqP4fD6amppyEtQ5GDS6adMmIpEIgUAgp0Gj09XuQsYwjBHvmabJrbfeyhNPPDEDLZoepnts5ZKZGqeF1Ee5YPv27SN+a75n637YKPQxOZn2D17vkUgEn8/H7NmzC+K3TUS+nbuiAZgD4vE4zz333IiTmoug1bvvvpuFCxeOyKDbtWtXTpJApqvdhczy5ctHlHowTZM9e/bw7rvvzlCrcs90jq1cMpPjtFD6KBc8/PDDqKrKqlWrCiZb98NIoY/Jido/mB0L8Nprr2VKg33sYx9DEIQZbv3UyLtzZxaZMrfffrv5xz/+0QwGg6amaWYoFDL/+Mc/mrfffvuU9/2Zz3zmuN4/Hqaz3YXMVVddZUYikRHv33zzzTPQmuljOsdWLpnJcVoofZQLrr/++uN6P1/53ve+Z951112maZpmW1ubuXDhQlNV1Wk51jvvvGOed95507LvsSj0MTlR+2+88UbTNE3z29/+tvnggw+ar7/+uvnd737XvPfee09aG6eLfDt3hb+mmgcUk0BOLX74wx/icDhGvP+jH/1oBlozfeRbQPJYFFISSCGTj9m6F110Eb29vZkEMYAXXniB6urqE9rfjTfeyObNm5FlGVEUaWlp4cEHH6S5uXlS2zc3N/PSSy/R1NR0QsfPBYU+Jifb/k2bNvHzn/8cgDVr1nDjjTfORHNzSr6du6ILOAcUk0CKFCr5FJA8FjM9Tguhj3JFviWBXHTRRfzDP/wDq1evnvQ2jz32GK2trXz729/myJEjXHzxxezYsQNZlrnxxhv55Cc/ybXXXouu6zz++OO8+uqr/O53v5vUvocbgO+++y53330369atO6Hfd6IMjsnBmNhCG5PjXVNnnnkmCxcuZP/+/bz88sv4/X4Mw+Caa67h17/+9Qy3fOrk03xSXAHMAVdccQUf//jHpy0JZP369VnxT8lkMidBo9PZ7iL5z3SOrVwydJye7KDwQumjXGEYBrquo6pq5v/5xmhG14kYipIk8YlPfCJrZX/r1q384z/+I/v378fpdHLZZZdx7733YrfbM/UQP/WpTyEIAv/4j/+YKRPz05/+lB/96EdIksTXvvY1Pv3pT+fo145OT08P7e3tRKNRKioq0DRtWo+XSya6pt5///0R26TTaR5++OEZaG1uybf55NSbwWaA6QxSv/fee1m4cCFXXHHFtCiBFJNAPrxM59jKJYNB4fPmzeO1115j/fr1Jy0ovFD6KBcMTQKZP39+zpRA8hVFUXj++eezEr5EUeS+++5jyZIldHZ2ctttt/HMM89w880384tf/ILm5mZ+97vfZa0A9vb2Eo1GWbduHW+99RZf/epXueSSSwgEAtPS7m9/+9ukUilaWlrYu3cvhw8fZvPmzaxcuZIrr7xyWo6ZSyZzTe3evTtzX6qoqOCjH/0oLS0tM9zyqZNv80nRAMwBg5XLr7766oJUApmOdhfJf/KtKv1YfOUrX+Gpp57iO9/5DpFIhIsvvpiNGzeybt06/umf/mlaj10ofZQL8lWy7ctf/nImBvCss87is5/97JT29w//8A/88z//M6lUCofDweOPP575bMmSJZn/NzQ0cN1117F+/XpuvvnmMfcnyzJf/vKXkWWZ888/H7fbzcGDBzn99NOn1M6x2LZtWyb+9ZprruFzn/scTzzxBDfffHNBGIATXVOFbuCOR77NJ0UDMAcUk0Cmn/HieqabmYrzmW4uuuiirLEVi8VYv3593gaTz0RQeKH10VTIxyQQgO9///tZrt2plmK6//77ufbaazEMg40bN/LFL36Rp59+mpaWFg4ePMgjjzzC9u3bSSaT6LrO4sWLx91fSUlJ1jzkcrlIJBJTauN4lJeX8+///u80Nzezfv165s2bB5CX7vrRGOuauuiii4DCN3DHY6LffrIpGoA54IYbbuDGG28cEaSeC6v+lltu4aqrrsoEjdbU1HD11VfnJGh0Mu3+9a9/zRNPPMHhw4fxer1ccskl3HXXXZk6TfnCa6+9xve//3327duHw+HgvPPO4+677z7hbMEPA7feeitXX30127ZtY8eOHcyaNYsvfelLead28sEHH3DDDTewb9++jDvYMAzi8fi0H7tQ+igXjCXZlm/xZS6Xi1QqlXmt6zr9/f3HvR9RFDnzzDOZNWsWb775Ji0tLXzzm99k0aJFfOc738Hr9fLkk0/y4osv5rL5U+bRRx/l5ZdfZs+ePZx++ukZ4+GrX/3qDLdsctx6660sX76cffv24fV6qamp4aqrrqKtrQ0ofAN3PCb67SebogGYA07VJJCf/vSn/PjHP+aRRx5h1apVdHV18a1vfYvPfe5z/PKXv8Rut0/594FV9X0qv+WFF17gG9/4Bt/61re49NJLiUaj/Mu//AvXX389v/nNb/LOWM0XbrnlFn7yk59w8OBBtmzZQmlpKU8//TQ1NTXcddddM928DO+//z579uxBkqTM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\n" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "de7fea7986071fafbe0b93933e3beda445cbe373" + }, + "cell_type": "markdown", + "source": "Note the diagonal grouping of some pairs of attributes. This suggests a high correlation and a predictable relationship." + }, + { + "metadata": { + "_uuid": "e0f696ec021ec99c1058a62e22c8b73082fe6fa7" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-5 violinplots" + }, + { + "metadata": { + "_uuid": "e352d2f8340609adf4bf6718b1d2ecee0fa730b5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# violinplots on petal-length for each species\nsns.violinplot(data=train,x=\"Functional\", y=\"SalePrice\")", + "execution_count": 108, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 108, + "data": { + "text/plain": "" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk8AAAG1CAYAAADgJhCMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3XmcU+W9P/DPc5ask8zGAMO+K4iCgqitv2utVrR1a3t7QVuXemvrbb1VW63WDa9tbd21LsVaW2uvVSu9LqCAC2DZQQTZZRgYYJh9zSQzWc/5/ZHJLDBLMiQ5yZzP25cvkpwk52HIJJ88y/cRuq7rICIiIqK4SEY3gIiIiCibMDwRERERJYDhiYiIiCgBDE9ERERECWB4IiIiIkoAwxMRERFRAhieiIiIiBLA8ERERESUAIYnIiIiogQwPBERERElgOGJiIiIKAEMT0REREQJYHgiIiIiSoBidAOyUWOjD5qmG90MIiIiOgGSJJCf70z4cQxPA6BpOsMTERGRSXHYjoiIiCgBDE9ERERECWB4IiIiIkoAwxMRERFRAhieiIiIiBLA8ERERESUAIYnIiIiogQwPBERERElIG3haeXKlbjyyitxxRVX4PLLL8cHH3wAADh48CDmzZuHuXPnYt68eSgrK+t4TLqPEREREfVH6Lqe8lLZuq5jzpw5ePXVVzFlyhTs3bsXV111FbZs2YLrr78e3/72t3HFFVfgnXfewT//+U+88sorAIBrr702rcfiVV/vZYVxIiKiLCdJAoWFOYk/LgVt6flEkoSWlhYAQEtLC4YOHYrGxkbs3r0bl156KQDg0ksvxe7du9HQ0ID6+vq0HiMiIiKKR1r2thNC4KmnnsKPf/xjOBwO+Hw+/PGPf0RlZSWGDRsGWZYBALIsY+jQoaisrISu62k9VlBQEPffZyAplYiIiAaHtISncDiMF154Ac8//zxmzZqFLVu24NZbb8UjjzySjtMnHYftiIiIst9Ah+3SEp727NmDmpoazJo1CwAwa9Ys2O12WK1WVFdXIxKJQJZlRCIR1NTUoLi4GLqup/VYNgqFQgiHw7Db7UY3hYiIyDTSMudp+PDhqKqqwoEDBwAApaWlqK+vx9ixYzF16lQsWbIEALBkyRJMnToVBQUFKCwsTOuxbPTMM4/jgQd+aXQziIiITCUtq+0A4N1338WLL74IIQQA4Kc//SkuvPBClJaW4q677oLH44Hb7cbDDz+MCRMmAEDaj8UrU4btrrtuHgDgr399w+CWEBERZZ+BDtulLTwNJgxPRERE2S/jSxUQERERDQYMT0REREQJYHgiIiIiSgDDExEREVECGJ6IiIiIEsDwRERERJQAhiciIiKiBDA8ERERESWA4YmIiIgoAQxPRERERAlgeCIiIiJKAMMTERERUQIYnoiIiIgSwPBERERElACGJyIiIqIEMDwRERERJYDhiYiIiCgBDE9ERERECWB4IiIiIkoAwxMRERFRAhieiIiIiBLA8ERERESUAIYnIiIiogQwPBERERElgOGJiIiIKAEMT0REREQJYHgiIiIiSgDDExEREVECGJ6IiIiIEsDwRERERJQAhiciIiKiBDA8ERERESWA4YmIiIgoAQxPRERERAlgeCIiIiJKAMMTERERUQIYnoiIiIgSwPBERERElACGJyIiIqIEMDwRERERJYDhiYiIiCgBDE9ERERECWB4IiKihHg8HjQ1NRrdDCLDKEY3gIiIsst99/0CHo8Hf/nL341uCpEhGJ6IiCgh7HUis+OwHREREVECGJ6IiIiIEsDwRERERJQAhiciIiKiBDA8ERHRgOi6bnQTiAzB8ERERAPC8ERmxfBEREQDEolEjG4CkSEYnoiIaEAYnsisGJ6IiGhANE0zuglEhmB4IiKiAdE09jyROTE8ERFR3Lr2NoXDDE9kTgxPREQUt67znNjzRGbF8ERERHHrGpg4YZzMiuGJiIji1nWojuGJzIrhiYiI4tY1MDE8kVkxPBERUdzC4XCPl4nMhOGJiIjiFomEe7xMZCYMT0REFDcO2xExPBERUQIYnogYnoiIKAGc80TE8ERERAnoPueJPU9kTgxPREQUN/Y8ETE8ERFRArr2NjE8kVkxPBERUdy6BiaWKiCzYngiIqK4cbUdURrDUyAQwIIFC3DRRRfhsssuw3333QcAOHjwIObNm4e5c+di3rx5KCsr63hMuo8REVHfus95ChnYEiLjpC08Pfroo7BarVi+fDkWL16MW265BQCwYMECXH311Vi+fDmuvvpq3H///R2PSfcxIiLqW9ehuq6bBBOZSVrCk8/nw9tvv41bbrkFQggAwJAhQ1BfX4/du3fj0ksvBQBceuml2L17NxoaGtJ+jIiI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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "0ed35bceb87051e56316d35a630334518e8b8c64" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-6 pairplot" + }, + { + "metadata": { + "_uuid": "b80350add6f9a742f10bffc4b497562f8bebea95", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Using seaborn pairplot to see the bivariate relation between each pair of features\nsns.set()\ncolumns = ['SalePrice','OverallQual','TotalBsmtSF','GrLivArea','GarageArea','FullBath','YearBuilt','YearRemodAdd']\nsns.pairplot(train[columns],size = 2 ,kind ='scatter')\nplt.show()", + "execution_count": 109, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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6gN/JkZERERERERE1ED4MoiIiIiIiIiIqIHwZ2IFkG090csN3Ct9I597LtmuzYyWJjQFs996sbiGIHthK4pqjdNcx1WNx81jKi9xbrV0jjzW8qrFPFJOjX7+AGPETSOeczblvB689qZauw61mkd4XLlJhmEYlT4IIiIiIiIiIiIqD/5MjIiIiIiIiIiogfBlEBERERERERFRA+HLICIiIiIiIiKiBsKXQUREREREREREDYQvg4iIiIiIiIiIGghfBhERERERERERNRC+DCIiIiIiIiIiaiB8GURERERERERE1ED4MoiIiIiIiIiIqIHwZRARERERERERUQPhyyAiIiIiIiIiogbCl0FERERERERERA2EL4OIiIiIiIiIiBoIXwYRERERERERETUQvgwiIiIiIiIiImogfBlERERERERERNRA+DKIiIiIiIiIiKiB8GUQEREREREREVED4csgIiIiIiIiIqIGwpdBREREREREREQNhC+DiIiIiIiIiIgaCF8GERERERERERE1EL4MIiIiIiIiIiJqIHwZRERERERERETUQHyVPoBaNDw8Bl030NYWwshItNKHUxHVfu4dHeGK7l/ESC2q9rKdilznUsk4yRYj1VgGjXpMlY6Rww5rrrrr7qUaY8RLMY+10jFSS3mknKrp/Bkj1aNaz7laY6SYqvXal1uh16FaY6Ray7URj6uQGOE3g6bB51MqfQgV08jnXu/qqWxr9Vyq8bh5TJVRS+fIY60ujXCO2TT6+eejEa9RI55zteC1N9XbdajW8+Fx5Ycvg4iIiIiIiIiIGghfBhERERERERERNRC+DCIiIiIiIiIiaiDsQLoKKIoMFYCmG1BkCT4AmqZX+rCIapa4p4ZGooAi1+U9FZ7ZjKZg9hQ+GVMxemiiTEdEVF9YN1MujJHa0QjtAqo9zCHkpVyxUfUvg2KxGFavXo3nnnsOwWAQJ510Em6//Xb8+c9/Rm9vLw4ePIjW1lbcddddWLBgAQAUPK8SFEXGSDSB1QODGBqZQGdbM1b1RNAW8jMZEBWgUe6ppqAPF1z/SNZlNqy5CKNlOh6ietIoeYQKxxipHSwrqkaMS/JSztio+p+JfeUrX0EwGMTjjz+ODRs2YOXKlQCAW265BcuXL8fjjz+O5cuX4+abb7bWKXReJaiAVdAAMDQygdUDg1ArelREtYv3FBFNF/MI5cIYqR0sK6pGjEvyUs7YqOqXQePj43j44YexcuVKSJIEAJg9ezaGh4fx6quv4oMf/CAA4IMf/CBeffVVHDhwoOB5laLphlXQwtDIBDTdqNAREdU23lNENF3MI5QLY6R2sKyoGjEuyUs5Y6OqXwbt2rULra2t+OY3v4lLLrkEH/nIR7Blyxbs3r0bc+bMgaIoAABFUdDZ2Yndu3cXPK9SFFlCZ1uzY1pnWzMUWarQERHVNt5TRDRdzCOUC2OkdrCsqBoxLslLOWOjqvsM0jQNu3btwvHHH48bb7wR//3f/42Pf/zjWLt2bUWPq729xfrc0RGe1rZ03cDnP3oavvTD563fBH7+o6dhdmsIcpUng+meez2zx0gtquWyrZV7KleMFKsMilmW1RgX1XhMxSJipJbOsV6OlXmkPpTy/BkjtaNWyqpSytlmbYR4y0dHR7im4rJW80itHlc5Y6OqXwbNnTsXPp/P+lnX3/7t36KtrQ1NTU3Yu3cvNE2DoijQNA1DQ0OYO3cuDMMoaN5UDA+PQdcNdHSEsW/f9LtnPazJh/5PnO7oLXx4eGza2y2lYp17qVT65hcxUouqvWzzIe4pSBJgGJ73VCXjJFuM5FMG+R57scqyGuOiHMdU6Rhpb2+puuvupRpjxEs+x5pv3VzpGJlOHqln5Th/xkjtyLddUCnVGiPF1Ejxlo39OkzlGbBaY6Ray7XWj6uQ9wOFxEhV/0xs1qxZOO200/Dss88CMEcCGx4exoIFC3Dcccfh0UcfBQA8+uijOO644zBr1iy0t7cXNK+SNE2HpOnwGQYkTWcP8kTTJO6pzrYQ7ykiKgjrZsqFMVI72C6gasQcQl7KFRtV/c0gAPjiF7+IVatW4a677oLP58OXv/xlzJw5E7feeit6e3vxb//2b5g5cybuuusua51C5xERERERERER1buqfxk0b948/Pu//3vG9KOPPho/+9nPXNcpdB4RERERERERUb2r6p+JERERERERERFRcfFlEBERERERERFRA+HLICIiIiIiIiKiBsKXQUREREREREREDYQvg4iIiIiIiIiIGghfBhERERERERERNZCSvAw644wzHH/ffffdpdgNERERERERERFNUUleBo2Pjzv+fuCBB0qxGyIiIiIiIiIimqKSvAySJMnxt2EYpdgNERERERERERFNka8UGzUMA0NDQ46XQOl/z5kzpxS7JiIiIiIiIiKiLEryMmhiYgJnnXWW4+XPmWeeaX2WJAnbtm0rxa6JiIiIiIiIiCiLkrwMeumll0qxWSIiIiIiIiIimqaS9BkUCAQy/lNVFbt27YIkSQgEAqXYLRERERERERER5VCSl0EDAwPYuHGj9fdzzz2HM888Ex/4wAdw1lln4eWXXy7FbomIiIiIiIiIKIeSvAy6//778c53vtP6+7bbbsM//uM/4rnnnsOyZcuwZs2aUuyWiIiIiIiIiIhyKMnLoH379uHoo48GAPzv//4vdu3ahU9+8pNoa2vDxz/+cXYeTURERERERERUISV5GRQMBjE+Pg4AePHFF7Fw4UK0tLQAABRFQSKRKMVuiYiIiIiIiIgoh5K8DDrjjDNw22234T//8z9x77334txzz7Xm/fGPf8Thhx9eit0SEREREREREVEOJXkZ1NfXB1VVcdttt+GYY47BRz/6UWvek08+ifPPP78UuyUiIiIiIiIiohx8pdhoa2sr1qxZg4MHD6K1tdUx71Of+hQOHTpUit0SEREREREREVEOJflmkLBkyRLX6eecc04pd0tERERERERERB5K+jLIMIyMadFoFJIklXK3RERERERERETkoSQ/EzvvvPMgSRJisVhG/0DDw8Oe3xgiIiIiIiIiIqLSKsnLoC984QswDAOf/vSn8fnPf96aLkkSZs+ejWOPPXbK2/zmN7+Jb3zjG9iwYQOOOeYY/OEPf8DNN9+MWCyGI488El/5ylfQ3t4OAAXPIyIiIiIiIiKqdyX5mdjixYtx5pln4umnn8bixYut/84444yCXgS98sor+MMf/oAjjzwSAKDrOj73uc/h5ptvxuOPP45TTz0Vd99997TmERERERERERE1gpJ8M0iYOXMmfvWrX2Hbtm2IRqOOefZvDGUTj8dx2223Yc2aNbjiiisAAC+//DKCwSBOPfVUAEB3dzeWLl2K/v7+gucRERERERERETWCkr4MuvHGG/HSSy/h9NNPRzAYLGgba9euxYUXXoh3vOMd1rTdu3fjiCOOsP6eNWsWdF3HwYMHC57X2tpa0PEREREREREREdWSkr4Meuqpp7Bp0ybMnDmzoPW3bt2Kl19+GTfccEORj2x62ttbrM8dHeEKHkllNfK552KPkVpUT2VbreeSK0aKddzFPP9qvJbVeEzFImKkls6Rx1pe5cojtarRzx9gjLhpxHPOppxtVl57U61dh1rNIzyu3Er6MmjBggWIRqMFvwzavHkz3nzzTSxduhQAsGfPHlx11VX4yEc+grfeesta7sCBA5BlGa2trZg7d25B86ZieHgMum6goyOMfftGCzq3Wlft517pm0zESC2q9rKdilznUsk4yRYj+ZRBvsderLKsxrgoxzFVOkba21uq7rp7qcYY8VLMY610jEwnj9Szajp/xkj1qNZzrtYYKaZqvfblVuh1qNYYqdZybcTjKiRGSvoy6Mtf/jI+//nP46yzzsoYsev9739/zvWvueYaXHPNNdbfS5YswXe+8x28613vwgMPPIAtW7bg1FNPxfr16/G+970PAHDiiSdicnJyyvOIiIiIiIiIiBpBSV8G/frXv8bvf/977Nmzx9FnkCRJeb0M8iLLMr785S/jlltucQwRP515RERERERERESNoKQvg37wgx/g5z//eUHDybt58sknrc8nn3wyNmzY4LpcofOIiIiIiIiIiOqdXMqNt7W1YcGCBaXcBRERERERERERTUFJXwZdddVV6O3txbZt27B3717Hf0REREREREREVH4l/ZnYrbfeCsDsO8hOkiRs27atlLsmIiIiIiIiIiIXJX0Z9NJLL5Vy80RERERERERENEUl/ZlYIBBw/HfgwAEcPHgQgUCglLttOIoiw1BkqJIEQ5GhKIUXazG3RZQPf0CBoSjJmFPgDyiVPiSihlPu3M+6pjGUopwZO1QIETdDI9Gyxg3jtfHkKnNdNxgTdWS693ilc0RJvxnU29uLZcuWoaurC7/4xS+watUqSJKE22+/HR/60IdKueuapigyVACabkCRJfgAaJruuexINIHVA4MYGplAZ1szVvVE0Bbye66Tbb/F2hZRPvwBBftH4+i3xVxfTwSzwwEk4lrB2xX30NBIFFDkrPcQUaMrd+4vx/6mUo9SaZSinMU273viNSxdNB+HtQTQFg6iOaBMq86g+lap9q2iyBhPaNh7IIqmgA+TcRVzZoUww68wH9WpXLGmKDJ27jmEL/3webSFm9B93jE4YnYL/IoCBQbjosZMN7dkWx9AWdoxJX319Mwzz+CEE04AYA4z/8Mf/hAPPPAAvv3tb5dytzVNBEXfvz2La/o3oe/fnsVINPH/2Dv38CjKs/9/5rCHbLIkyxkREJCTEDRA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CzXN+++/j/DwcPzyyy81XRWCE71795aNSxEREbh582al7zds2DB06NABERERiIqKwosvvohz5855fH14eDguXbpU6ecT7p1p06YhJSVFdiwzMxMxMTHIycmp8mc5zlMGDx6Mo0ePenz96tWrMWjQIJfjdrsd4eHh+Ouvv6qyurWammrX6OhojBo1ChcvXqzSZ1QlBw8eRHh4OFavXl3TVSkTYgzyUQoKCjBu3Di89NJLyMzMxL59+zBhwgRoNJoqf1ZWVhaOHz+Od999Fx9++CH27dvnUqa6PvoJrmzcuBHx8fHo1KkTYmNjMXfuXNy9e7emq+XCDz/8gL/97W/o3LkzYmJiMG3atHua/BHcc/z4cem/++67Dx9//LH0t9IEpqpJTk7G8ePHcezYMTz33HOYNGmS158JAAsXLgTP89ixYweOHj2KDz/8EA888ICszHfffSf9FgcOHKiWetVWVq9ejcWLF+OVV17BTz/9hIMHD2L+/PnIzs6GzWZzKc+ybJU+f9OmTQgODsbmzZvLLEfGH+9TUVkoi+poL57nsXnzZiI/PozjuHT8+HGEhYXd0/3++c9/4vjx48jMzER0dDTefPPNKqopoTqYNWsW9u3bJ43LFosFc+bMwfTp0xEaGlplzxHHqVdffVWapzz//POYOHGizxq2azM11a779u1Dw4YNMWfOnCp7RlXj6RynpiHGIB9FtHQOHDgQDMNAp9OhR48eaN26NS5fvoyXX34ZMTExiImJwdSpU90aBziOw8qVK/HUU08hJiYGkydPxp07dxTLRkRE4OGHH8b58+cBCCsp69atQ9++fdG3b1/pmLi6YjabsXTpUjz55JOIiorC0KFDYTabAQA///wzkpKS0KVLFwwaNMit6xuhbFavXo133nkHb7zxBo4ePYqvv/4a165dw8iRI2G1WqvsOfc6Wf7uu+8wdepUDB8+HIcPH8bWrVuhVqvxwgsv+KThqq5jNpsxf/589OjRAz179kRaWhpsNhuMRiMmTJiAK1euSCtmRqNRmix16dIFPXr0wJIlSzySCZqmMXDgQNy6dUvSKxcuXMDQoUMRFRWFxx57TJqwi54769evx1NPPYXIyEh89NFH+OOPP/C3v/0NUVFRmDp1Kux2u9t6/vrrr4iPj0dgYCBomsbDDz98T15O9RmTyYQVK1Zg7ty56NevHwICAkBRFNq2bYt3330XGo0GM2bMwNy5czFmzBh07ty5XD0ujg+//PILYmNjZcaj77//HvHx8dLfV69eRVZWFhYsWICffvoJt27dks6JnoArV65EbGystOr4ww8/ICEhAV26dEFSUhLOnj0rXSOOcxEREXjmmWfw/fffV9VPVefxRBb27t2LZ599FpGRkejVqxfef/996XrRU/Sbb77BE088geHDhwMAJk2ahNjYWMmTQ5xbAIKX37hx4xAZGYkhQ4Zg+fLlGDp0qHT+woULGDlyJKKjoxEXF+fiPXb06FHcunULs2bNwvbt22Xj4caNG5GUlIQlS5YgJiZGquv//d//oX///ujatSteeeUVXL16Vbpm0aJF6NWrFyIjIyvsRUDwDCUP38qENWAYBgMGDMCFCxekYydOnEBiYqI0hi1YsECSiRdffBEAkJCQgIiICJksrV69Gt26dUOPHj2wYcOGyr4awQMMBgNmz56NOXPmoKioCB988AGaNWuGwYMHg+M4fPzxx9K3ypQpU5Cfnw9A+I4RdUmXLl0wbNgwWdtPmzYN8+fPxyuvvILOnTu79F2aphEfH4/bt2/j9u3bAIDly5djxowZUplLly4hPDxc+tvdlp+XXnoJgPBtFhERgR07dlTdD1RLqal21el06N+/P86cOSM7/s0336Bfv37o2rUrRo8ejevXrwMo9er66quvpLnCBx98gD///BN///vfERkZiddff122+LF+/Xo8/fTTiImJQXJysszTad++fYiLi0NUVBQWLVrkYmgsKCjA999/j7lz5+LChQsu9dy4cSOefPJJxMTEuOzKKS4uxhtvvIGuXbtiwIABOHnyZEWbpUIQY5CP0rJlSzAMg+nTp+PHH3+UOg8grIi9+uqr2L9/P/73v//hxo0bsomZI1988QV27dqFL7/8Evv370eDBg2wYMECl3I8z+PYsWP4/fff0bZtW+n4rl278N///lfRjT8tLQ2nTp1Ceno6MjMz8cYbb4Cmady8eROvvvoqxo8fj8zMTEyfPh2TJk2SlDDBMwoKCvD+++9j9uzZ6NmzJ9RqNR544AH861//wtWrV7F69Wp07NhRZtw7ffo0YmJiJGVW1uRXydhXmQkxz/NIS0vD+PHjER8fD51Oh8aNG2Px4sXw8/PD559/DkC+zQxw3Wq2YcMG9O/fHxEREejTpw/S09Pv/Ues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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "2544d3c2dd34a360d295019d8cb597c7ef8f66bc" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-7 kdeplot" + }, + { + "metadata": { + "_uuid": "1d07222b89303b386e9e824d52cc73c045667f25", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# seaborn's kdeplot, plots univariate or bivariate density estimates.\n#Size can be changed by tweeking the value used\ncolumns = ['SalePrice','OverallQual','TotalBsmtSF','GrLivArea','GarageArea','FullBath','YearBuilt','YearRemodAdd']\nsns.FacetGrid(train[columns], hue=\"OverallQual\", size=5).map(sns.kdeplot, \"YearBuilt\").add_legend()\nplt.show()", + "execution_count": 110, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "560d8e8f17bacefaf8c3855a9648f26b82fdee9b" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-8 jointplot" + }, + { + "metadata": { + "_uuid": "4adb4da16ea61e0f1a12bc9925dfbbaaa81e0360", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Use seaborn's jointplot to make a hexagonal bin plot\n#Set desired size and ratio and choose a color.\ncolumns = ['SalePrice','OverallQual','TotalBsmtSF','GrLivArea','GarageArea','FullBath','YearBuilt','YearRemodAdd']\nsns.jointplot(x=\"OverallQual\", y=\"SalePrice\", data=train[columns], size=10,ratio=10, kind='hex',color='green')\nplt.show()", + "execution_count": 111, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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Vss7Vjw26Y0iTdy6++M7e1m1bro/Tc4ita6LzbtdN+VMu32K1rrufhdjGd8+WePqrDVvziK1route95lyclYVl9rlpw901NXXU3sRHM7v1hK/HLg4o+u6co398+IhiZUtJR4FbVG/3Y57+aaKzD3f0IfmECBAnVtV571Gj3vfOPLyiqwwaL51tVtu7JWz8g30vBGX9NxoNHpTCl6d5TM2DQfmc4999xz+t3f/V0988wzun37tt70pjfpS77kS1zW10hHRycKw+KztdfraDjsSzLyvM2fPuM706YGdlNcmtjlxxbN2aZaXeZsU62rcqaJi2LrrjVLzjbVWlbOPHHxP5teazx/lbVmzRnnqtZAgcZ2fLE8vF38IV++OqazduVCY83i6yoZc8brrXMsQ4Wam/na7zd78tSxi+3Q9GPIRfMtnY9ltpzWSqPTmabj8r4ifOvWMPVj//dz/0cPeLdKy12HLK83krrpnk6nMsao2+1e3DabzWStVa+3WysLldF093odXbs2SN28RLLsWKtiq45rQ8421VpGTmptRs421VpGzjbVmjW2LbVaWc3sTFNN5clT13QzLRPuWe+iKXVd63Js3riZmSlUmDrOt746518EaPpYhjZcfA0o4ax3mpyj07kmo3mmuFVoujdL/Z3uH/qhH9JnPvOZS7d95jOf0Y/8yI9kTgqlOrOdJNqpsu5cy/GuY+JxddSaNbZIrW3cPnniov/yxlcRE49j3pWfM29cG2vd1rE0MuqZngYaqGd6mRpuSbIm3wmnOsYyNKEmmmRquCVdfP2k6fMu+q53kZxeXUskelYjndSUvD6pN/dnP/tZveY1r7l029/5O39Hf/7nf156UQAAANhO/8/n/l+dzo7rLqNyqZvu4XCoF1544dJtL7zwgvb29kovCgAAANgmqZvu7/iO79C//Jf/Up/97Gc1Go30P//n/9Q73vEOfed3fqfL+gAAAIDWS910v/3tb9erXvUqfe/3fq++8Ru/UW9+85v1t//239bP/MzPuKwPAAAAaL3U1+nu9/t67LHH9Oijj+ru3bu6ceNG7l8yAAAAAHbJ2qb7r//6r/VlX/ZlkqSnn3760n2np6cXf/9bf+tvOSgNAAAA2A5rm+7v+q7v0qc+9SlJ0utf//orF32XFpec+bM/+zN3FQIAgNJYWU00UUcd+fI3B7TUuoVwtomR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8OUvf5mbbroJYwwAZ5xxRsxZSSc4jsPMzAwAMzMzrFu3DsdReTBoLrnkEjZs2LDkZydOnGD//v1s3boVgK1bt7J//359qxwTL+4ERABKpRL/9E//xMaNG+NORTrgr/7qr7juuus4++yz405FOuSll15ifHyc+++/n+9+97uMjIxw0003cckll8SdmrTBGMO9997Lhz/8YYaHh8lkMnzqU5+KOy3pkCNHjnDmmWfiui4Aruuybt06jhw5wpo1a2LO7vSjU1npC5/4xCcYHh7mve99b9ypSJv+67/+ix/84Afs2LEj7lSkg3zf56WXXuJNb3oTX/ziF7ntttv4gz/4A2ZnZ+NOTdpQLBZ56KGH+Ju/+Rsef/xxHnzwQW6++WYymUzcqYmcclR0S+x27drFj3/8Y+699159pXkKePrppzlw4ACbNm1i48aN/PSnP+UDH/gATz75ZNypSRs2bNiA53mVr6nf8pa3MDExwcGDB2POTNrxwx/+kGPHjnHxxRcDcPHFFzM0NMSBAwdizkw6YcOGDRw9ehTf94Hg5PnYsWMrbkOR3lCFI7H6y7/8S37wgx/wwAMPkEwm405HOuDGG2/kySef5LHHHuOxxx5j/fr1fOYzn+GKK66IOzVpw5o1a7jsssv49re/DQRPRDhx4gTnnXdezJlJO9avX89Pf/pTXnjhBQAOHDjAiRMnOPfcc2POTDphcnKSqakp9uzZA8CePXuYmprSrSUxMdZaG3cScnr60Y9+xNatW3n9619POp0G4Oyzz+aBBx6IOTPppI0bN/K3f/u3XHDBBXGnIm166aWX+OM//mNee+01PM/j5ptv5qqrroo7LWnTV7/6VT796U9X/oLsRz7yEa6++uqYs5Kw7rrrLvbt28fx48eZmJhgfHycr33taxw4cIDbb7+d6elpVq1axa5duzj//PPjTve0pKJbRERERKTLdHuJiIiIiEiXqegWEREREekyFd0iIiIiIl2moltEREREpMtUdIuIiIiIdJmKbhERERGRLlPRLSIywO677z5uu+02AF5++WUuvPBCisViT9r+7ne/y5VXXtmTtkREBp2KbhGRCL74xS+ybds23vKWt3D55Zezc+dOpqen405rhccff5xf//Vf56KLLuKyyy7jtttu4+jRo3GnJSJy2lHRLSIS0mc/+1nuuece/vAP/5BnnnmGRx55hMOHD/P+97+ffD7fsXbavWL99a9/nVtvvZX3ve99fOc732HPnj0kEgl27NjRlycIIiKnMhXdIiIhzM7Oct9993HHHXdw5ZVXkkgkOPvss7n33ns5dOgQn/3sZ3nzm9/Ma6+9VonZv38/l112GYVCAYAvfOELXHPNNVx66aV84AMf4NChQ5X3XnjhhTz88MNs3ryZzZs3A8HyzldddRVve9vbeM973sMzzzzTNE9rLbt27eJ3f/d32bZtG+l0mrVr1/Jnf/ZnDA0N8Q//8A/A0ttTYOUtKv/6r//KNddcw1vf+lY2bdrE5z//+fY3oojIaUhFt4hICM8++yy5XK5SEJeNjIxw1VVX8fzzz3PRRRexb9++ymu7d+9my5YtJBIJvvGNb/DQQw9x//338x//8R9cfPHF3HrrrUt+1ze+8Q3++Z//mUcffRSAX/iFX+DLX/4yTz31FFu3buWmm24il8s1zPOFF17g8OHDvOtd71ryc8dx2Lx5M08++WRLn3dycpKHHnqIZ599lk9+8pN88pOf5LnnnmspVkREFqnoFhEJ4eTJk0xMTOB53orX1q5dy8mTJ9m2bRt79uwBgivOjz76KNu2bQPg85//PDfeeCNveMMb8DyPD33oQ/zwhz9ccrX7xhtvZHx8nHQ6DcD1119fafN3fud3yOfzHDx4sGmeAOvWraubZyve+c53cu6552KM4Rd/8Re5/PLLW7rSLiIiS608aoiISF0TExOcPHmSYrG4ovB+5ZVXmJiYYPPmzXziE5/g2LFjvPjiiziOwyWXXALA4cOH+fM//3N27dpVibPWcvToUc466ywANmzYsOT3fuYzn+ELX/gCx44dwxjD7Oxs06J5YmICgGPHjnHOOefUzLMV3/rWt3jggQd48cUXKZVKZLNZLrjggpZiRURkkYpuEZEQ3vrWt5JMJtm3bx/XXntt5eeZTIYnnniCW265hdWrV3P55Zfz6KOP8sILL3DttddijAGCgvpDH/oQ1113Xd02yu8FeOaZZ/i7v/s7Pve5z/HzP//zOI7DpZdeirW2YZ7nn38+69ev5+tf/zo33HBD5eelUol9+/axceNGAIaGhshms5XXjx8/Xvn/fD7PRz7yEXbt2sWmTZtIJBJ8+MMfbtq2iIispNtLRERCGBsb4/d+7/e46667eOKJJygUCrz88svcfPPNrF+/nuuvvx6Abdu28ZWvfIW9e/dWbi0B+I3f+A0+9alP8aMf/QiAmZkZ/u3f/q1ue5lMBtd1WbNmDcVikfvvv5/Z2dmmeRpj+OhHP8qDDz7I7t27yeVyvPLKK3zsYx/j5MmTvPe97wVgamqKp59+msOHDzMzM8NDDz1U+R35fJ58Ps+aNWvwPI9vfetbfPvb34603URETne60i0iEtINN9zA+Pg4d999Nz/5yU8YHR3l6quv5p577iGZTAKwceNGPvaxj/G6172ON77xjZXYX/3VXyWTyXDLLbdw6NAhxsbGeMc73sE111xTs60rrriCX/7lX2bLli0MDw/zvve9b8XtJ/Vce+21JJNJHnzwQe64447KrSH/+I//WLnX+/LLL+faa6/luuuuY2JightuuIHHHnsMgNHRUe644w5uvvlm8vk8v/Irv1K5Qi4iIuEYq+8JRUROC08++SS33norn/vc55iamoo7HRGR04qKbhGR08hjjz3G0aNH+c3f/M24UxEROa2o6BYRERER6TL9RUoRERERkS5T0S0iIiIi0mUqukVEREREukxFt4iIiIhIl6noFhERERHpMhXdIiIiIiJd9v8B9LrccublWNIAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "263eaa9d2bfad0f8c68b6e8e874bdc11a6e802ac", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# we will use seaborn jointplot shows bivariate scatterplots and univariate histograms with Kernel density \n# estimation in the same figure\ncolumns = ['SalePrice','OverallQual','TotalBsmtSF','GrLivArea','GarageArea','FullBath','YearBuilt','YearRemodAdd']\nsns.jointplot(x=\"SalePrice\", y=\"YearBuilt\", data=train[columns], size=6, kind='kde', color='#800000', space=0)", + "execution_count": 112, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 112, + "data": { + "text/plain": "" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "8e73333289d17dd648b7b2112d7fe3fe7ea444d0" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-9 Heatmap" + }, + { + "metadata": { + "_uuid": "3100955ca9dc61ac7d435e9c064d10d06f26afa7", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure(figsize=(7,4)) \ncolumns = ['SalePrice','OverallQual','TotalBsmtSF','GrLivArea','GarageArea','FullBath','YearBuilt','YearRemodAdd']\nsns.heatmap(train[columns].corr(),annot=True,cmap='cubehelix_r') #draws heatmap with input as the correlation matrix calculted by(iris.corr())\nplt.show()", + "execution_count": 113, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "b81dbdd5dd8cb92a86b1f7114ffb6f088458a527" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-10 radviz" + }, + { + "metadata": { + "_uuid": "33fed3027d7242227d612a84bbb42b012356091b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from pandas.tools.plotting import radviz\ncolumns = ['SalePrice','OverallQual','TotalBsmtSF','GrLivArea','GarageArea','FullBath','YearBuilt','YearRemodAdd']\nradviz(train[columns], \"OverallQual\")", + "execution_count": 114, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 114, + "data": { + "text/plain": "" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "03279670a5b71b7189f50571f1aaaaa45cca9881" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-12 Factorplot" + }, + { + "metadata": { + "trusted": true, + "_uuid": "68b7bc84f1966b1b1cf4e3dbb335c98153ea9398", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.factorplot('OverallQual','SalePrice',hue='Functional',data=train)\nplt.show()", + "execution_count": 115, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "54ecb0d0a7985d86fac77ee4171f13fedbffa0a2" + }, + "cell_type": "markdown", + "source": "
\n## 6-3 Data Preprocessing\n**Data preprocessing** refers to the transformations applied to our data before feeding it to the algorithm.\n \nData Preprocessing is a technique that is used to convert the raw data into a clean data set. In other words, whenever the data is gathered from different sources it is collected in raw format which is not feasible for the analysis.\nthere are plenty of steps for data preprocessing and we just listed some of them :\n1. removing Target column (id)\n1. Sampling (without replacement)\n1. Making part of iris unbalanced and balancing (with undersampling and SMOTE)\n1. Introducing missing values and treating them (replacing by average values)\n1. Noise filtering\n1. Data discretization\n1. Normalization and standardization\n1. PCA analysis\n1. Feature selection (filter, embedded, wrapper)\n" + }, + { + "metadata": { + "_uuid": "1d8efac2b4fe6c3eda41bc93e4f3ff53381034e5" + }, + "cell_type": "markdown", + "source": "
\n## 6-3-1 Noise filtering (Outliers)\nAn outlier is a data point that is distant from other similar points. Further simplifying an outlier is an observation that lies on abnormal observation amongst the normal observations in a sample set of population.\n\nIn statistics, an outlier is an observation point that is distant from other observations.\n" + }, + { + "metadata": { + "trusted": true, + "_uuid": "262e8777242c798eb2eed85935dac05a81586260", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Looking for outliers, as indicated in https://ww2.amstat.org/publications/jse/v19n3/decock.pdf\nplt.scatter(train.GrLivArea, train.SalePrice, c = \"blue\", marker = \"s\")\nplt.title(\"Looking for outliers\")\nplt.xlabel(\"GrLivArea\")\nplt.ylabel(\"SalePrice\")\nplt.show()\n\ntrain = train[train.GrLivArea < 4000]", + "execution_count": 116, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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dODAAa1YsUInnXSSBg4cKEn68MMP9eWXXwbDVElJiTZv3qxPPvkkeP/MzMwOYW3Xrl364x//qMLCwuDX119/HawuLVmyJDilV1hYqM8//1yNjY0R9R2A83p0/yMAEF8jR45UWlqaXn31VRUXF8f88U844QQNGDBAb775pqqrq4NVJulQ0DEMQ5MmTepwn8WLF6ugoECS5PP5OrTl5eVp+vTpuuaaazod66uvvtLtt9+uP/3pTxo5cqRSU1M1ceLEmD8nAPah8gTA9fr27avrrrtOd955p1566SW1tLQoEAjok08+0b59+7q8byAQ0P79+4NfbeuODldSUqL/+q//0urVqzV27FhJ0v79+/Xiiy9q7ty5WrJkSfDrjjvuUHV1ddgz6y688EItWrRIH330kQzD0LfffqvXX39dLS0t2rdvn3w+n7KysiRJzzzzjD7//PMoRgeA06g8AUgIV155pfr166cFCxbolltu0RFHHKFjjjlGs2fP1siRI7V48eKQ93vyySf15JNPBr8/5ZRT9PTTT3f6uZKSEj3wwAM644wzgsHmlVdeUe/evTVp0iT17Nkz+LOTJ0/WI488orfeekt9+vTp9Fg//vGPNW/ePM2dO1c7duxQ7969dcopp6iwsFAnnHCCLrvsMk2ZMkU+n0+TJk3SKaecEu3wAHCQzwi3uxwAAAA6YdoOAADAAsITAACABYQnAAAACwhPAAAAFhCeAAAALCA8AQAAWEB4AgAAsIDwBAAAYAHhCQAAwIL/B53pUPsVeaoyAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "32b02ba7e2e34bc732eab6d1b21033bb1205b6a6" + }, + "cell_type": "markdown", + "source": "2 extreme outliers on the bottom right" + }, + { + "metadata": { + "trusted": true, + "_uuid": "e186d46c36a020801ab5b6ad4ca9600aa1073f85", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#deleting points\ntrain.sort_values(by = 'GrLivArea', ascending = False)[:2]\ntrain = train.drop(train[train['Id'] == 1299].index)\ntrain = train.drop(train[train['Id'] == 524].index)", + "execution_count": 117, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "0c8c82494f314ec22b7bba34e91a0602095a65d4", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#log transform skewed numeric features:\nnumeric_feats = all_data.dtypes[all_data.dtypes != \"object\"].index\nskewed_feats = train[numeric_feats].apply(lambda x: skew(x.dropna())) #compute skewness\nskewed_feats = skewed_feats[skewed_feats > 0.75]\nskewed_feats = skewed_feats.index\n\nall_data[skewed_feats] = np.log1p(all_data[skewed_feats])", + "execution_count": 118, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "1acb24ba9286dab9f63f83032aaa0d4d9ec3666f", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "all_data = pd.get_dummies(all_data)", + "execution_count": 119, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "1513e3c446c7e3227d4b421632b1816909122b5c", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Log transform the target for official scoring\n#The key point is to to log_transform the numeric variables since most of them are skewed.\ntrain.SalePrice = np.log1p(train.SalePrice)\ny = train.SalePrice", + "execution_count": 120, + "outputs": [] + }, + { + "metadata": { + "_uuid": "975d56d86e8e49b5836f9664856a4c37b6a9e61b" + }, + "cell_type": "markdown", + "source": "Taking logs means that errors in predicting expensive houses and cheap houses will affect the result equally." + }, + { + "metadata": { + "trusted": true, + "_uuid": "954c46bfaa026de09b864082f3052a0d95e5cf30", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.scatter(train.GrLivArea, train.SalePrice, c = \"blue\", marker = \"s\")\nplt.title(\"Looking for outliers\")\nplt.xlabel(\"GrLivArea\")\nplt.ylabel(\"SalePrice\")\nplt.show()", + "execution_count": 121, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj0AAAG/CAYAAACzAWZPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3Xt8VPWd//H3TEhEmkAAEwjIT0EXFhUkksqiW9sCFopYcH1QqYiWVpSiYLVUqFLutQZbaqV2KaW13V28rFuBBqJcRCpgZbGgqKVKQREC5IKhZARFkvn9wc6YZG5nZs45c86c1/Px4PEgM5mZ73xnMuc9n+/l+ILBYFAAAABZzp/pBgAAANiB0AMAADyB0AMAADyB0AMAADyB0AMAADyB0AMAADyB0AMgLRMmTNCzzz4b9brbb79dK1eutORxn3zySV111VUqLS1VfX29JY+Rqu3bt+uaa64J/3zddddp+/btGWwRAInQA3jKkCFD9Morr9j2eMuXL9cNN9xg+v1++umnevjhh/Xb3/5Wu3btUseOHU1/jGT06dNHBw4ciHn92rVrNWjQIBtbBCAaQg8A1zl27Jg++eQTXXzxxUnfNhgMqqmpyYJWme/MmTOZbgKQVQg9ACRJ//3f/61rr71WV155pSZPnqzq6urwdTt37tSNN96ogQMH6sYbb9TOnTuj3kdNTY2uv/56LV++XFLLoa/nnntO3/jGN1ReXq7Pf/7zGjJkiP70pz+Fb3vw4EGNHz9epaWl+uY3v6l58+Zp+vTpEY/x3nvvacSIEZKkz3/+87r11lsTtnHChAn62c9+pnHjxunyyy/XwYMHI+533759mjBhgsrKynTdddfpxRdfbHH75kN4oeciSePHj5ckjR49WqWlpaqsrIy47+YVtqamJi1btkzDhg3ToEGDdM899+j48eOSpEOHDqlPnz569tln9aUvfUm33XabPvnkE02fPl2DBg1SWVmZbrzxRtXV1UXtfwDxEXoA6M9//rN++tOf6tFHH9XWrVvVvXt33XfffZKk48eP684779SECRO0fft2TZw4UXfeeWfEPJqDBw9qwoQJuuWWW3T77bdHfZzdu3erZ8+eevXVV3X77bfrwQcfVOhMONOnT1f//v21fft23X333Vq9enXU++jZs6fWrFkjSdqxY4f+4z/+w1AbV69erQULFmjnzp3q1q1bi/v89NNPNXnyZF199dV65ZVXNGvWLE2fPl379+9P2HcrVqwI3/+uXbs0cuTIuL//n//5n9q4caP+67/+S1u2bFGHDh00f/78Fr+zY8cOVVZW6je/+Y1WrlypQCCgzZs3a/v27Zo3b57atm2bsF0AIhF6AKiiokI33nijLr30UuXl5em+++7T66+/rkOHDmnz5s264IILNGbMGLVp00ajRo1Sr1699NJLL4Vv//e//1233Xabpk6dqptuuinm43Tr1k1f//rXlZOToxtuuEG1tbWqq6vT4cOH9eabb2ratGnKy8tTWVmZhgwZYrj9Rtp4ww036J/+6Z/Upk0b5ebmtrj9G2+8oZMnT+qOO+5QXl6eBg8erC9/+ctau3ZtEr1ozNNPP617771XXbt2VV5enu6++26tW7euxVDW1KlT1a5dO7Vt21Zt2rTR8ePHdeDAAeXk5Oiyyy5Tfn6+6e0CvKBNphsAIPNqamp06aWXhn/+3Oc+p8LCQlVXV6umpiaiMtKtW7cWw18VFRX6f//v/2n48OFxH+e8884L///cc8+VJJ08eVL19fXq0KFD+DJJKikp0ZEjRwy3P1EbS0pK4t6+a9eu8vs/+x7Y+vZmOXz4sO66664Wj+X3+3Xs2LHwz127dg3/f/To0Tp69Kjuu+8+nThxQl/72td07733RgQ3AIlR6QGg4uJiVVVVhX8+efKkjh8/ri5duqi4uFiHDx9u8ftHjhxRly5dwj/ffffd6tixo773ve+psbEx6ccvKirSP/7xD506darFYyTT/kRt9Pl8cW9/9OjRFhOcm9/+3HPPbdG2dObUdO3aVb/+9a/12muvhf+9+eabMduam5uru+++W5WVlXr66ae1efNmrVq1KuXHB7yM0AN4zKeffqpPPvkk/O/MmTMaNWqUnnvuOe3Zs0enT5/W4sWL1b9/f51//vn64he/qPfff18VFRU6c+aMKisr9fe//11f+tKXwveZm5urn//85zp16pTuv//+pFdHde/eXZdddpmWLFmi06dPa9euXS2GphIx0sZ4+vfvr7Zt22r58uX69NNPtX37dm3atCk8P6dv377asGGDTp06pQMHDuh//ud/Wtz+vPPOizo5OppvfOMbevTRR8Mh88MPP9TGjRtj/v6rr76qd955R42NjcrPz1ebNm1a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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "ba90a0973c207b683b2cb5f871238cab674c74da" + }, + "cell_type": "markdown", + "source": "
\n## 6-4 Data Cleaning\nWhen dealing with real-world data, dirty data is the norm rather than the exception. We continuously need to predict correct values, impute missing ones, and find links between various data artefacts such as schemas and records. We need to stop treating data cleaning as a piecemeal exercise (resolving different types of errors in isolation), and instead leverage all signals and resources (such as constraints, available statistics, and dictionaries) to accurately predict corrective actions." + }, + { + "metadata": { + "_uuid": "067f2cee5b48555d0ede873e28445531efd55c10" + }, + "cell_type": "markdown", + "source": "
\n## 6-4-1 Handle missing values\nFirstly, understand that there is NO good way to deal with missing data\n" + }, + { + "metadata": { + "trusted": true, + "_uuid": "568d77bd198855749b3d0c235873bf2ef0f65c28", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#filling NA's with the mean of the column:\nall_data = all_data.fillna(all_data.mean())", + "execution_count": 122, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7650b640ca94172c6f202806109b2213c99a5042" + }, + "cell_type": "markdown", + "source": "
\n## 7- Model Deployment\nIn this section have been applied plenty of ** learning algorithms** that play an important rule in your experiences and improve your knowledge in case of ML technique.\n\n> **<< Note 3 >>** : The results shown here may be slightly different for your analysis because, for example, the neural network algorithms use random number generators for fixing the initial value of the weights (starting points) of the neural networks, which often result in obtaining slightly different (local minima) solutions each time you run the analysis. Also note that changing the seed for the random number generator used to create the train, test, and validation samples can change your results.\n\n[go to top](#top)" + }, + { + "metadata": { + "_uuid": "c4c099ed0f9a7a38406e60509ee0e9bdf54fa41d" + }, + "cell_type": "markdown", + "source": "
\n## 7-1 Families of ML algorithms\nThere are several categories for machine learning algorithms, below are some of these categories:\n* Linear\n * Linear Regression\n * Logistic Regression\n * Support Vector Machines\n* Tree-Based\n * Decision Tree\n * Random Forest\n * GBDT\n* KNN\n* Neural Networks\n\n-----------------------------\nAnd if we want to categorize ML algorithms with the type of learning, there are below type:\n* Classification\n\n * k-Nearest \tNeighbors\n * LinearRegression\n * SVM\n * DT \n * NN\n \n* clustering\n\n * K-means\n * HCA\n * Expectation Maximization\n \n* Visualization \tand\tdimensionality \treduction:\n\n * Principal \tComponent \tAnalysis(PCA)\n * Kernel PCA\n * Locally -Linear\tEmbedding \t(LLE)\n * t-distributed\tStochastic\tNeighbor\tEmbedding \t(t-SNE)\n \n* Association \trule\tlearning\n\n * Apriori\n * Eclat\n* Semisupervised learning\n* Reinforcement Learning\n * Q-learning\n* Batch learning & Online learning\n* Ensemble Learning\n\n**<< Note >>**\n> Here is no method which outperforms all others for all tasks\n\n" + }, + { + "metadata": { + "_uuid": "178ed7d38b21204bf12510521211b971ca291ffa" + }, + "cell_type": "markdown", + "source": "
\n## 7-2 Accuracy and precision\nOne of the most important questions to ask as a machine learning engineer when evaluating our model is how to judge our own model?\neach machine learning model is trying to solve a problem with a different objective using a different dataset and hence, it is important to understand the context before choosing a metric.\n\n
\n### 7-2-1 RMSE\nRoot-Mean-Squared-Error (RMSE) between the logarithm of the predicted value and the logarithm of the observed sales price. (Taking logs means that errors in predicting expensive houses and cheap houses will affect the result equally.)\n\n \n [go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "74a78a50b810c95c0c72bcba1d89890c9002e527", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#creating matrices for sklearn:\nX_train = all_data[:train.shape[0]]\nX_test = all_data[train.shape[0]:]\ny = train.SalePrice", + "execution_count": 123, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "09779eedc5526a0f0e180b825aa069a758a61ad4", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "X_train.info()", + "execution_count": 124, + "outputs": [ + { + "output_type": "stream", + "text": "\nInt64Index: 1456 entries, 0 to 1455\nColumns: 288 entries, MSSubClass to SaleCondition_Partial\ndtypes: float64(25), int64(11), uint8(252)\nmemory usage: 779.2 KB\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "60eadfc578b68b1a71af67ef704e96c86e72507d" + }, + "cell_type": "markdown", + "source": "
\n## 7-3 Ridge " + }, + { + "metadata": { + "trusted": true, + "_uuid": "5c4b4a3e4c8e9e8a85a314c787dcadb14d18aafb", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def rmse_cv(model):\n rmse= np.sqrt(-cross_val_score(model, X_train, y, scoring=\"neg_mean_squared_error\", cv = 5))\n return(rmse)", + "execution_count": 125, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "439962cf50b059393d957bad5eee66dbaac32c84", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "model_ridge = Ridge()", + "execution_count": 126, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "5fbbd633cb8298f95ff07734c96bd1cbda6f5257", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "alphas = [0.05, 0.1, 0.3, 1, 3, 5, 10, 15, 30, 50, 75]\ncv_ridge = [rmse_cv(Ridge(alpha = alpha)).mean() for alpha in alphas]", + "execution_count": 127, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e8d509d57506669573420cb9eb9549c0db2b8bb0" + }, + "cell_type": "markdown", + "source": "
\n## 7-3-1 Root Mean Squared Error" + }, + { + "metadata": { + "trusted": true, + "_uuid": "8ed4ca82d0854fdd0b5be4bbb9a7e3e078f0a472", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "cv_ridge = pd.Series(cv_ridge, index = alphas)\ncv_ridge.plot(title = \"Validation\")\nplt.xlabel(\"alpha\")\nplt.ylabel(\"rmse\")", + "execution_count": 128, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 128, + "data": { + "text/plain": "Text(0,0.5,'rmse')" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAG/CAYAAAC5XcgdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3Xl8lOW99/HvbFkngWTIMglLWAQCiYBSqKAIigVrMOh5NB6OS48IevRI9dEesEcJSi3Gtvp4aBFxo1RrrceKGEBkcwEBgaIGQkQhrJksJMSQPZnM80dgIKwBMksyn/fr5cvMPffc+f0I4Nfruu7rNrhcLpcAAAACmNHXBQAAAPgagQgAAAQ8AhEAAAh4BCIAABDwCEQAACDgEYgAAEDAIxABaFcOHjyofv36qbGxUZJ033336YMPPmjVuRdq/vz5+u///u+LrhVA+0EgAuB1kydP1ksvvXTa8VWrVmnkyJEXFGBee+013XLLLZdc06ZNmzRq1KgWxx544AE9++yzl3xtAP6PQATA62655RYtWbJEp+4Lu2TJEk2YMEFms9lHlQEIVAQiAF43duxYlZeXa8uWLe5jP/74o9auXauJEyfq008/1cSJE3XFFVfo2muv1dy5c896rbvuukvvvfeeJMnpdCorK0vDhw/X9ddfr88++6zFue+//75uvPFGDRkyRNdff73+9re/SZKqq6s1ZcoUFRcXa8iQIRoyZIiKioo0d+5cPf744+7Pr169WjfddJOGDh2qu+66S7t373a/d9111+n111/XhAkTdOWVV+qRRx5RXV1dm/x6AfA8AhEArwsJCdGNN96oxYsXu48tX75cvXr1Uv/+/RUaGqqsrCxt2bJFr7zyit555x2tWrXqvNf9+9//rrVr12rx4sV6//339fHHH7d432az6ZVXXtE///lPzZkzR3PmzNGOHTsUFhamV199VbGxsdq2bZu2bdumuLi4Fp/Nz8/XY489pl//+tfasGGDRo0apQceeED19fUtenjttde0evVqfffdd/rHP/5xib9SALyFQATAJyZOnKgVK1a4R1EWL17sXgs0fPhw9evXT0ajUf3799dNN92kr7766rzXXL58ue655x7Z7XZ17txZ999/f4v3R48ere7du8tgMGjYsGEaOXJki1Gqc1m2bJmuvfZajRw5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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "d4f4820db8df421a27e446261b576a3cf521a448", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# steps\nsteps = [('scaler', StandardScaler()),\n ('ridge', Ridge())]\n\n# Create the pipeline: pipeline\npipeline = Pipeline(steps)\n\n# Specify the hyperparameter space\nparameters = {'ridge__alpha':np.logspace(-4, 0, 50)}\n\n# Create the GridSearchCV object: cv\ncv = GridSearchCV(pipeline, parameters, cv=3)\n\n# Fit to the training set\ncv.fit(X_train, y)\n\n#predict on train set\ny_pred_train=cv.predict(X_train)\n\n# Predict test set\ny_pred_test=cv.predict(X_test)\n\n# rmse on train set\nrmse = np.sqrt(mean_squared_error(y, y_pred_train))\nprint(\"Root Mean Squared Error: {}\".format(rmse))", + "execution_count": 129, + "outputs": [ + { + "output_type": "stream", + "text": "Root Mean Squared Error: 0.32811446712445086\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "87a909211fee484cfcc56c6276c1e341d8401da9" + }, + "cell_type": "markdown", + "source": "
\n## 7-4 RandomForestClassifier\nA random forest is a meta estimator that fits a number of decision tree classifiers on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting. The sub-sample size is always the same as the original input sample size but the samples are drawn with replacement if bootstrap=True (default)." + }, + { + "metadata": { + "trusted": true, + "_uuid": "bb9f798b06e81170ce088194fbc27bc0eef80b41", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "num_test = 0.3\nX_train, X_test, y_train, y_test = train_test_split(X_train, y, test_size=num_test, random_state=100)", + "execution_count": 130, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "b93bae48f72970284af7435d52c1b7dcdea402bd", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Fit Random Forest on Training Set\nfrom sklearn.ensemble import RandomForestRegressor\nregressor = RandomForestRegressor(n_estimators=300, random_state=0)\nregressor.fit(X_train, y_train)\n\n# Score model\nregressor.score(X_train, y_train)", + "execution_count": 131, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 131, + "data": { + "text/plain": "0.877294261920777" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "e4791d2948ded22007d21e6a0773441e15c04d43" + }, + "cell_type": "markdown", + "source": "
\n## 7-5 XGBoost\nXGBoost is one of the most popular machine learning algorithm these days. Regardless of the type of prediction task at hand; regression or classification.\n
\n### 7-5-1 But what makes XGBoost so popular?\n\n1. Speed and performance : Originally written in C++, it is comparatively faster than other ensemble classifiers.\n\n1. Core algorithm is parallelizable : Because the core XGBoost algorithm is parallelizable it can harness the power of multi-core computers. It is also parallelizable onto GPU’s and across networks of computers making it feasible to train on very large datasets as well.\n\n1. Consistently outperforms other algorithm methods : It has shown better performance on a variety of machine learning benchmark datasets.\n\n1. Wide variety of tuning parameters : XGBoost internally has parameters for cross-validation, regularization, user-defined objective functions, missing values, tree parameters, scikit-learn compatible API etc.[10]\n\n> XGBoost (Extreme Gradient Boosting) belongs to a family of boosting algorithms and uses the gradient boosting (GBM) framework at its core. It is an optimized distributed gradient boosting library. But wait, what is boosting? Well, keep on reading." + }, + { + "metadata": { + "trusted": true, + "_uuid": "3258e23b29e9c23598ab9136b7c1ecdb04054400", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Initialize model\nfrom xgboost.sklearn import XGBRegressor\nXGB_Regressor = XGBRegressor() \n\n# Fit the model on our data\nXGB_Regressor.fit(X_train, y_train)", + "execution_count": 132, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 132, + "data": { + "text/plain": "XGBRegressor(base_score=0.5, booster='gbtree', colsample_bylevel=1,\n colsample_bytree=1, gamma=0, learning_rate=0.1, max_delta_step=0,\n max_depth=3, min_child_weight=1, missing=None, n_estimators=100,\n n_jobs=1, nthread=None, objective='reg:linear', random_state=0,\n reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=None,\n silent=True, subsample=1)" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "9e7e9bbb9d5351a1a89c1fbe970a5db5ca3a6859", + "_kg_hide-input": true, + "_kg_hide-output": false + }, + "cell_type": "code", + "source": "# Score model\nXGB_Regressor.score(X_train, y_train)", + "execution_count": 133, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 133, + "data": { + "text/plain": "0.4598271920204544" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "7df15df393b4d5189abfaf3f416baa9fd2db009b" + }, + "cell_type": "markdown", + "source": "## 7-6 LassoCV\nLasso linear model with iterative fitting along a regularization path.\nThe best model is selected by cross-validation." + }, + { + "metadata": { + "trusted": true, + "_uuid": "dcb36f09e08f1ddd244811a31eaaf708d246713c" + }, + "cell_type": "code", + "source": "lasso=LassoCV()", + "execution_count": 134, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "6fcebb4d53c7e2b2203ddeddd98ec2f2bad60809" + }, + "cell_type": "code", + "source": "# Fit the model on our data\nlasso.fit(X_train, y_train)", + "execution_count": 135, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 135, + "data": { + "text/plain": "LassoCV(alphas=None, copy_X=True, cv='warn', eps=0.001, fit_intercept=True,\n max_iter=1000, n_alphas=100, n_jobs=None, normalize=False,\n positive=False, precompute='auto', random_state=None,\n selection='cyclic', tol=0.0001, verbose=False)" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "16f58225e3b38a272757af326c3c8f7d3f87b617" + }, + "cell_type": "code", + "source": "# Score model\nlasso.score(X_train, y_train)", + "execution_count": 136, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 136, + "data": { + "text/plain": "0.1171814974164107" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "c977567b54c997e6008fb371043c8254bcb4e798" + }, + "cell_type": "markdown", + "source": "## 7-7 GradientBoostingRegressor\nGB builds an additive model in a forward stage-wise fashion; it allows for the optimization of arbitrary differentiable loss functions. In each stage a regression tree is fit on the negative gradient of the given loss function." + }, + { + "metadata": { + "trusted": true, + "_uuid": "4cc4d3975b45d5d761e6384d432fb730f3b402a6" + }, + "cell_type": "code", + "source": "boostingregressor=GradientBoostingRegressor()", + "execution_count": 137, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "8559c70a82ecf81b947abd70311c8dd5badac395" + }, + "cell_type": "code", + "source": "# Fit the model on our data\nboostingregressor.fit(X_train, y_train)", + "execution_count": 138, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 138, + "data": { + "text/plain": "GradientBoostingRegressor(alpha=0.9, criterion='friedman_mse', init=None,\n learning_rate=0.1, loss='ls', max_depth=3, max_features=None,\n max_leaf_nodes=None, min_impurity_decrease=0.0,\n min_impurity_split=None, min_samples_leaf=1,\n min_samples_split=2, min_weight_fraction_leaf=0.0,\n n_estimators=100, n_iter_no_change=None, presort='auto',\n random_state=None, subsample=1.0, tol=0.0001,\n validation_fraction=0.1, verbose=0, warm_start=False)" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "195d3e5e3da66e76cb6be99fdf2dd60f89b8a6fe" + }, + "cell_type": "code", + "source": "# Score model\nboostingregressor.score(X_train, y_train)", + "execution_count": 139, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 139, + "data": { + "text/plain": "0.4931895744123065" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "ae25656cc7c6651faedc52b47186389d4796eaf9" + }, + "cell_type": "markdown", + "source": "## 7-8 DecisionTree" + }, + { + "metadata": { + "trusted": true, + "_uuid": "ffd91677eaf00f0e0d963901c37df6ad1b5e8a26" + }, + "cell_type": "code", + "source": "from sklearn.tree import DecisionTreeRegressor\n\n# Define model. Specify a number for random_state to ensure same results each run\ndt = DecisionTreeRegressor(random_state=1)\n\n", + "execution_count": 140, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "fb13c45de324208d180e6676b3d8fc02d04647f3" + }, + "cell_type": "code", + "source": "# Fit model\ndt.fit(X_train, y_train)", + "execution_count": 141, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 141, + "data": { + "text/plain": "DecisionTreeRegressor(criterion='mse', max_depth=None, max_features=None,\n max_leaf_nodes=None, min_impurity_decrease=0.0,\n min_impurity_split=None, min_samples_leaf=1,\n min_samples_split=2, min_weight_fraction_leaf=0.0,\n presort=False, random_state=1, splitter='best')" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "9faf3fe20b625474b786e4839a04981086463f75" + }, + "cell_type": "code", + "source": "dt.score(X_train, y_train)", + "execution_count": 142, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 142, + "data": { + "text/plain": "0.9999999994606554" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "97adc471c068fbd8d36ca19a4db0d98b0924c731" + }, + "cell_type": "markdown", + "source": "-----------------\n
\n## 8- Conclusion\nThis kernel is not completed yet, I will try to cover all the parts related to the process of ML with a variety of Python packages and I know that there are still some problems then I hope to get your feedback to improve it." + }, + { + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "cell_type": "markdown", + "source": "You can follow me on:\n
\n> ###### [ GitHub](https://github.com/mjbahmani)\n
\n--------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated** " + }, + { + "metadata": { + "_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0", + "_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a", + "collapsed": true + }, + "cell_type": "markdown", + "source": "
\n# 9- References\n1. [Https://skymind.ai/wiki/machine-learning-workflow](https://skymind.ai/wiki/machine-learning-workflow)\n1. [Problem-define](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n1. [Sklearn](http://scikit-learn.org/)\n1. [Machine-learning-in-python-step-by-step](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n1. [Data Cleaning](http://wp.sigmod.org/?p=2288)\n1. [Kaggle kernel](https://www.kaggle.com/serigne/stacked-regressions-top-4-on-leaderboard)\n1. [Choosing-the-right-metric-for-machine-learning-models-part](https://medium.com/usf-msds/choosing-the-right-metric-for-machine-learning-models-part-1-a99d7d7414e4)\n1. [Unboxing outliers in machine learning](https://medium.com/datadriveninvestor/unboxing-outliers-in-machine-learning-d43fe40d88a6)\n1. [How to handle missing data](https://towardsdatascience.com/how-to-handle-missing-data-8646b18db0d4)\n1. [Datacamp](https://www.datacamp.com/community/tutorials/xgboost-in-python)" + }, + { + "metadata": { + "_uuid": "76cc4a1db38546a9c77007f59bd48329b0b8beed" + }, + "cell_type": "markdown", + "source": "Go to first step: [**Course Home Page**](https://www.kaggle.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\nGo to next step : [**Titanic**](https://www.kaggle.com/mjbahmani/a-comprehensive-ml-workflow-with-python)" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/20 ML Algorithms For House Prices Prediction/Machine Learning Workflow for House Prices.ipynb b/20 ML Algorithms For House Prices Prediction/Machine Learning Workflow for House Prices.ipynb new file mode 100644 index 0000000..07a0b1d --- /dev/null +++ b/20 ML Algorithms For House Prices Prediction/Machine Learning Workflow for House Prices.ipynb @@ -0,0 +1,1730 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "cell_type": "markdown", + "source": " ##
Machine Learning Workflow for House Prices
\n\n ###
Quite Practical and Far from any Theoretical Concepts
\n\n\n
last update: 12/21/2018
\n\n---------------------------------------------------------------------\n\n>###### You may be interested have a look at 10 Steps to Become a Data Scientist: \n\n1. [Leren Python](https://www.kaggle.com/mjbahmani/the-data-scientist-s-toolbox-tutorial-1)\n2. [Python Packages](https://www.kaggle.com/mjbahmani/the-data-scientist-s-toolbox-tutorial-2)\n3. [Mathematics and Linear Algebra](https://www.kaggle.com/mjbahmani/linear-algebra-for-data-scientists)\n4. [Programming & Analysis Tools](https://www.kaggle.com/mjbahmani/20-ml-algorithms-15-plot-for-beginners)\n5. [Big Data](https://www.kaggle.com/mjbahmani/a-data-science-framework-for-quora)\n6. [Data visualization](https://www.kaggle.com/mjbahmani/top-5-data-visualization-libraries-tutorial)\n7. [Data Cleaning](https://www.kaggle.com/mjbahmani/machine-learning-workflow-for-house-prices)\n8. [How to solve a Problem?](https://www.kaggle.com/mjbahmani/the-data-scientist-s-toolbox-tutorial-2)\n9. [Machine Learning](https://www.kaggle.com/mjbahmani/a-comprehensive-ml-workflow-with-python)\n10. [Deep Learning](https://www.kaggle.com/mjbahmani/top-5-deep-learning-frameworks-tutorial)\n\n--------------------------------------------------------------------------------\n\nyou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/Machine-Learning-Workflow-with-Python)\n\n\n-----------------------------\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n \n -----------" + }, + { + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "cell_type": "markdown", + "source": "
\n## Notebook Content\n1. [Introduction](#1)\n 1. [Courses](#11)\n 1. [Kaggle kernels](#12)\n 1. [Ebooks](#13)\n1. [Machine learning workflow](#2)\n1. [Problem Definition](#3)\n 1. [Problem feature](#4)\n 1. [Aim](#41)\n 1. [Variables](#42)\n 1. [ Inputs & Outputs](#43)\n 1. [Inputs ](#431)\n 1. [Outputs](#432)\n1. [Loading Packages](#5)\n1. [Exploratory data analysis](#6)\n 1. [Data Collection](#61)\n 1. [Visualization](#62)\n 1. [Scatter plot](#621)\n 1. [Box](#622)\n 1. [Histogram](#623)\n 1. [Multivariate Plots](#624)\n 1. [Violinplots](#625)\n 1. [Pair plot](#626)\n 1. [Kde plot](#627)\n 1. [Joint plot](#628)\n 1. [Andrews curves](#629)\n 1. [Heatmap](#6210)\n 1. [Radviz](#6211)\n 1. [Data Preprocessing](#63)\n 1. [Data Cleaning](#64)\n1. [Model Deployment](#7)\n1. [Conclusion](#8)\n1. [References](#9)" + }, + { + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "cell_type": "markdown", + "source": "
\n## 1- Introduction\nThis is a **A Comprehensive ML Workflow for House Prices** data set, it is clear that everyone in this community is familiar with house prices dataset but if you need to review your information about the dataset please visit this [link](https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data).\n\nI have tried to help **Fans of Machine Learning** in Kaggle how to face machine learning problems. and I think it is a great opportunity for who want to learn machine learning workflow with python **completely**.\n\nI want to covere most of the methods that are implemented for house prices until **2018**, you can start to learn and review your knowledge about ML with a simple dataset and try to learn and memorize the workflow for your journey in Data science world.\n\nBefore we get into the notebook, let me introduce some helpful resources." + }, + { + "metadata": { + "_uuid": "e4801c3bbcda26c28aa7d145689d5261d5c37370" + }, + "cell_type": "markdown", + "source": "
\n## 1-1 Courses\nThere are a lot of Online courses that can help you develop your knowledge, here I have just listed some of them:\n\n1. [Machine Learning Certification by Stanford University (Coursera)](https://www.coursera.org/learn/machine-learning/)\n\n2. [Machine Learning A-Z™: Hands-On Python & R In Data Science (Udemy)](https://www.udemy.com/machinelearning/)\n\n3. [Deep Learning Certification by Andrew Ng from deeplearning.ai (Coursera)](https://www.coursera.org/specializations/deep-learning)\n\n4. [Python for Data Science and Machine Learning Bootcamp (Udemy)](Python for Data Science and Machine Learning Bootcamp (Udemy))\n\n5. [Mathematics for Machine Learning by Imperial College London](https://www.coursera.org/specializations/mathematics-machine-learning)\n\n6. [Deep Learning A-Z™: Hands-On Artificial Neural Networks](https://www.udemy.com/deeplearning/)\n\n7. [Complete Guide to TensorFlow for Deep Learning Tutorial with Python](https://www.udemy.com/complete-guide-to-tensorflow-for-deep-learning-with-python/)\n\n8. [Data Science and Machine Learning Tutorial with Python – Hands On](https://www.udemy.com/data-science-and-machine-learning-with-python-hands-on/)\n\n9. [Machine Learning Certification by University of Washington](https://www.coursera.org/specializations/machine-learning)\n\n10. [Data Science and Machine Learning Bootcamp with R](https://www.udemy.com/data-science-and-machine-learning-bootcamp-with-r/)\n11. [Creative Applications of Deep Learning with TensorFlow](https://www.class-central.com/course/kadenze-creative-applications-of-deep-learning-with-tensorflow-6679)\n12. [Neural Networks for Machine Learning](https://www.class-central.com/mooc/398/coursera-neural-networks-for-machine-learning)\n13. [Practical Deep Learning For Coders, Part 1](https://www.class-central.com/mooc/7887/practical-deep-learning-for-coders-part-1)\n14. [Machine Learning](https://www.cs.ox.ac.uk/teaching/courses/2014-2015/ml/index.html)" + }, + { + "metadata": { + "_uuid": "942f87c3d0feb55c83c4cbafa31c8c48df36901f" + }, + "cell_type": "markdown", + "source": "
\n## 1-2 Kaggle kernels\nI want to thanks **Kaggle team** and all of the **kernel's authors** who develop this huge resources for Data scientists. I have learned from The work of others and I have just listed some more important kernels that inspired my work and I've used them in this kernel:\n\n1. [Comprehensive Data Exploration with python](https://www.kaggle.com/pmarcelino/comprehensive-data-exploration-with-python)\n1. [A study on Regression applied to the Ames dataset](https://www.kaggle.com/juliencs/a-study-on-regression-applied-to-the-ames-dataset)\n1. [Regularized Linear Models](https://www.kaggle.com/apapiu/regularized-linear-models)" + }, + { + "metadata": { + "_uuid": "2352e37c41b407378cc25f127ebaa36c99f00801" + }, + "cell_type": "markdown", + "source": "
\n## 1-3 Ebooks\nSo you love reading , here is **10 free machine learning books**\n1. [Probability and Statistics for Programmers](http://www.greenteapress.com/thinkstats/)\n2. [Bayesian Reasoning and Machine Learning](http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/091117.pdf)\n2. [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/)\n2. [Understanding Machine Learning](http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/index.html)\n2. [A Programmer’s Guide to Data Mining](http://guidetodatamining.com/)\n2. [Mining of Massive Datasets](http://infolab.stanford.edu/~ullman/mmds/book.pdf)\n2. [A Brief Introduction to Neural Networks](http://www.dkriesel.com/_media/science/neuronalenetze-en-zeta2-2col-dkrieselcom.pdf)\n2. [Deep Learning](http://www.deeplearningbook.org/)\n2. [Natural Language Processing with Python](https://www.researchgate.net/publication/220691633_Natural_Language_Processing_with_Python)\n2. [Machine Learning Yearning](http://www.mlyearning.org/)\n\n\nI am open to your feedback for improving this **kernel**\n\n[go to top](#top)" + }, + { + "metadata": { + "_uuid": "e11b73b618b0f6e4335520ef80267c6d577d1ba5" + }, + "cell_type": "markdown", + "source": "
\n## 2- Machine Learning Workflow\nIf you have already read some [machine learning books](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/tree/master/Ebooks). You have noticed that there are different ways to stream data into machine learning.\n\nMost of these books share the following steps:\n1. Define Problem\n1. Specify Inputs & Outputs\n1. Exploratory data analysis\n1. Data Collection\n1. Data Preprocessing\n1. Data Cleaning\n1. Visualization\n1. Model Design, Training, and Offline Evaluation\n1. Model Deployment, Online Evaluation, and Monitoring\n1. Model Maintenance, Diagnosis, and Retraining\n\nOf course, the same solution can not be provided for all problems, so the best way is to create a **general framework** and adapt it to new problem.\n\n**You can see my workflow in the below image** :\n\n \n\n**Data Science has so many techniques and procedures that can confuse anyone.**\n" + }, + { + "metadata": { + "_uuid": "8f90140a4bce24083d97e3650243145d0d4dcbeb" + }, + "cell_type": "markdown", + "source": "
\n## 2-2 Real world Application Vs Competitions\nWe all know that there are differences between real world problem and competition problem. The following figure that is taken from one of the courses in coursera, has partly made this comparison \n\n\n\nAs you can see, there are a lot more steps to solve in real problems." + }, + { + "metadata": { + "_uuid": "600be852c0d28e7c0c5ebb718904ab15a536342c" + }, + "cell_type": "markdown", + "source": "
\n## 3- Problem Definition\nI think one of the important things when you start a new machine learning project is defining your problem.that means you should understand business problem.( **Problem Formalization**).\n\nProblem definition has four steps that have illustrated in the picture below:\n\n
\n### 3-1 Problem Feature\nWe will use the house prices data set. This dataset contains information about house prices and the target value is:\n\n1. SalePrice\n\n**Why am I using House price dataset:**\n\n1. This is a good project because it is so well understood.\n1. Attributes are numeric and categurical so you have to figure out how to load and handle data.\n1. It is a Regression problem, allowing you to practice with perhaps an easier type of supervised learning algorithm.\n1. This is a perfect competition for data science students who have completed an online course in machine learning and are looking to expand their skill set before trying a featured competition. \n1. Creative feature engineering ." + }, + { + "metadata": { + "_uuid": "2a3a73558906ee81dd633c3ccb95b3aa2366293b" + }, + "cell_type": "markdown", + "source": "
\n#### 3-1-1 Metric\nSubmissions are evaluated on Root-Mean-Squared-Error (RMSE) between the logarithm of the predicted value and the logarithm of the observed sales price. (Taking logs means that errors in predicting expensive houses and cheap houses will affect the result equally.)\n\n
\n### 3-2 Aim\nIt is our job to predict the sales price for each house. for each Id in the test set, you must predict the value of the **SalePrice** variable. \n\n
\n### 3-3 Variables\nThe variables are :\n* SalePrice - the property's sale price in dollars. This is the target variable that you're trying to predict.\n* MSSubClass: The building class\n* MSZoning: The general zoning classification\n* LotFrontage: Linear feet of street connected to property\n* LotArea: Lot size in square feet\n* Street: Type of road access\n* Alley: Type of alley access\n* LotShape: General shape of property\n* LandContour: Flatness of the property\n* Utilities: Type of utilities available\n* LotConfig: Lot configuration\n* LandSlope: Slope of property\n* Neighborhood: Physical locations within Ames city limits\n* Condition1: Proximity to main road or railroad\n* Condition2: Proximity to main road or railroad (if a second is present)\n* BldgType: Type of dwelling\n* HouseStyle: Style of dwelling\n* OverallQual: Overall material and finish quality\n* OverallCond: Overall condition rating\n* YearBuilt: Original construction date\n* YearRemodAdd: Remodel date\n* RoofStyle: Type of roof\n* RoofMatl: Roof material\n* Exterior1st: Exterior covering on house\n* Exterior2nd: Exterior covering on house (if more than one material)\n* MasVnrType: Masonry veneer type\n* MasVnrArea: Masonry veneer area in square feet\n* ExterQual: Exterior material quality\n* ExterCond: Present condition of the material on the exterior\n* Foundation: Type of foundation\n* BsmtQual: Height of the basement\n* BsmtCond: General condition of the basement\n* BsmtExposure: Walkout or garden level basement walls\n* BsmtFinType1: Quality of basement finished area\n* BsmtFinSF1: Type 1 finished square feet\n* BsmtFinType2: Quality of second finished area (if present)\n* BsmtFinSF2: Type 2 finished square feet\n* BsmtUnfSF: Unfinished square feet of basement area\n* TotalBsmtSF: Total square feet of basement area\n* Heating: Type of heating\n* HeatingQC: Heating quality and condition\n* CentralAir: Central air conditioning\n* Electrical: Electrical system\n* 1stFlrSF: First Floor square feet\n* 2ndFlrSF: Second floor square feet\n* LowQualFinSF: Low quality finished square feet (all floors)\n* GrLivArea: Above grade (ground) living area square feet\n* BsmtFullBath: Basement full bathrooms\n* BsmtHalfBath: Basement half bathrooms\n* FullBath: Full bathrooms above grade\n* HalfBath: Half baths above grade\n* Bedroom: Number of bedrooms above basement level\n* Kitchen: Number of kitchens\n* KitchenQual: Kitchen quality\n* TotRmsAbvGrd: Total rooms above grade (does not include bathrooms)\n* Functional: Home functionality rating\n* Fireplaces: Number of fireplaces\n* FireplaceQu: Fireplace quality\n* GarageType: Garage location\n* GarageYrBlt: Year garage was built\n* GarageFinish: Interior finish of the garage\n* GarageCars: Size of garage in car capacity\n* GarageArea: Size of garage in square feet\n* GarageQual: Garage quality\n* GarageCond: Garage condition\n* PavedDrive: Paved driveway\n* WoodDeckSF: Wood deck area in square feet\n* OpenPorchSF: Open porch area in square feet\n* EnclosedPorch: Enclosed porch area in square feet\n* 3SsnPorch: Three season porch area in square feet\n* ScreenPorch: Screen porch area in square feet\n* PoolArea: Pool area in square feet\n* PoolQC: Pool quality\n* Fence: Fence quality\n* MiscFeature: Miscellaneous feature not covered in other categories\n* MiscVal: Value of miscellaneous feature\n* MoSold: Month Sold\n* YrSold: Year Sold\n* SaleType: Type of sale\n* SaleCondition: Condition of sale" + }, + { + "metadata": { + "_uuid": "8bb4dfebb521f83543e1d45db3559216dad8f6fb" + }, + "cell_type": "markdown", + "source": "
\n## 4- Inputs & Outputs\nFor every machine learning problem, you should ask yourself, what are inputs and outputs for the model?\n\n\n
\n### 4-1 Inputs\n* train.csv - the training set\n* test.csv - the test set\n\n
\n\n### 4-2 Outputs\n* sale prices for every record in test.csv" + }, + { + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "cell_type": "markdown", + "source": "
\n## 5 Loading Packages\nIn this kernel we are using the following packages:" + }, + { + "metadata": { + "_uuid": "61f49281fdd8592b44c0867225f57e6fce36342c" + }, + "cell_type": "markdown", + "source": " " + }, + { + "metadata": { + "_uuid": "35dd399b3f532eef15308fa129b1c02cbc81c51e" + }, + "cell_type": "markdown", + "source": "
\n### 5-1 Import" + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.linear_model import Ridge, RidgeCV, ElasticNet, LassoCV, LassoLarsCV\nfrom sklearn.base import BaseEstimator, TransformerMixin, RegressorMixin, clone\nfrom sklearn.linear_model import ElasticNet, Lasso, BayesianRidge, LassoLarsIC\nfrom sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor\nfrom sklearn.model_selection import KFold, cross_val_score, train_test_split\nfrom sklearn.metrics import make_scorer, accuracy_score\nfrom sklearn.ensemble import RandomForestClassifier\nfrom sklearn.model_selection import cross_val_score\nfrom sklearn.metrics import classification_report\nfrom sklearn.model_selection import GridSearchCV\nfrom sklearn.preprocessing import StandardScaler\nfrom sklearn.metrics import mean_squared_error\nfrom sklearn.preprocessing import RobustScaler\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.kernel_ridge import KernelRidge\nfrom sklearn.pipeline import make_pipeline\nfrom sklearn.metrics import accuracy_score\nfrom sklearn.pipeline import Pipeline\nimport matplotlib.pyplot as plt\nfrom scipy.stats import skew\nimport scipy.stats as stats\nimport lightgbm as lgb\nimport seaborn as sns\nimport xgboost as xgb\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport scipy\nimport json\nimport sys\nimport csv\nimport os", + "execution_count": 1, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9298a13104e2d408f1fef3948b956d12c3bfc249" + }, + "cell_type": "markdown", + "source": "
\n### 5-2 Version" + }, + { + "metadata": { + "trusted": true, + "_uuid": "0eb53d55656c33da7c8e75a78e7cca4a9a6d16f5", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))", + "execution_count": 2, + "outputs": [ + { + "output_type": "stream", + "text": "matplotlib: 2.2.3\nsklearn: 0.20.1\nscipy: 1.1.0\nseaborn: 0.9.0\npandas: 0.23.4\nnumpy: 1.15.4\nPython: 3.6.6 |Anaconda, Inc.| (default, Oct 9 2018, 12:34:16) \n[GCC 7.3.0]\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "8a83acbcb529a6187b772b6d5f7e7313b31f3d2b" + }, + "cell_type": "markdown", + "source": "
\n### 5-5-3 Setup\n\nA few tiny adjustments for better **code readability**" + }, + { + "metadata": { + "trusted": true, + "_uuid": "158d655ea9d7fd41fb8ad9936b1ca0ad4b4c8464", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "pd.set_option('display.float_format', lambda x: '%.3f' % x)\nsns.set(style='white', context='notebook', palette='deep')\nwarnings.filterwarnings('ignore')\nsns.set_style('white')\n%matplotlib inline", + "execution_count": 3, + "outputs": [] + }, + { + "metadata": { + "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" + }, + "cell_type": "markdown", + "source": "
\n## 6- Exploratory Data Analysis(EDA)\n In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n \n1. Which variables suggest interesting relationships?\n1. Which observations are unusual?\n\nBy the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations:\n\n1. Data Collection\n1. Visualization\n1. Data Cleaning\n1. Data Preprocessing\n" + }, + { + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "cell_type": "markdown", + "source": "
\n## 6-1 Data Collection\n**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n\n\n> **<< Note >>**\n\n> **The rows being the samples and the columns being attributes**\n" + }, + { + "metadata": { + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# import Dataset to play with it\ntrain = pd.read_csv('../input/train.csv')\ntest= pd.read_csv('../input/test.csv')", + "execution_count": 4, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "2caae2ff6748172c46f772965581c325afc18e36" + }, + "cell_type": "code", + "source": "train.head()", + "execution_count": 5, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 5, + "data": { + "text/plain": " Id MSSubClass MSZoning ... SaleType SaleCondition SalePrice\n0 1 60 RL ... WD Normal 208500\n1 2 20 RL ... WD Normal 181500\n2 3 60 RL ... WD Normal 223500\n3 4 70 RL ... WD Abnorml 140000\n4 5 60 RL ... WD Normal 250000\n\n[5 rows x 81 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IdMSSubClassMSZoningLotFrontageLotAreaStreetAlleyLotShapeLandContourUtilitiesLotConfigLandSlopeNeighborhoodCondition1Condition2BldgTypeHouseStyleOverallQualOverallCondYearBuiltYearRemodAddRoofStyleRoofMatlExterior1stExterior2ndMasVnrTypeMasVnrAreaExterQualExterCondFoundationBsmtQualBsmtCondBsmtExposureBsmtFinType1BsmtFinSF1BsmtFinType2BsmtFinSF2BsmtUnfSFTotalBsmtSFHeating...CentralAirElectrical1stFlrSF2ndFlrSFLowQualFinSFGrLivAreaBsmtFullBathBsmtHalfBathFullBathHalfBathBedroomAbvGrKitchenAbvGrKitchenQualTotRmsAbvGrdFunctionalFireplacesFireplaceQuGarageTypeGarageYrBltGarageFinishGarageCarsGarageAreaGarageQualGarageCondPavedDriveWoodDeckSFOpenPorchSFEnclosedPorch3SsnPorchScreenPorchPoolAreaPoolQCFenceMiscFeatureMiscValMoSoldYrSoldSaleTypeSaleConditionSalePrice
0160RL65.0008450PaveNaNRegLvlAllPubInsideGtlCollgCrNormNorm1Fam2Story7520032003GableCompShgVinylSdVinylSdBrkFace196.000GdTAPConcGdTANoGLQ706Unf0150856GasA...YSBrkr85685401710102131Gd8Typ0NaNAttchd2003.000RFn2548TATAY0610000NaNNaNNaN022008WDNormal208500
1220RL80.0009600PaveNaNRegLvlAllPubFR2GtlVeenkerFeedrNorm1Fam1Story6819761976GableCompShgMetalSdMetalSdNone0.000TATACBlockGdTAGdALQ978Unf02841262GasA...YSBrkr1262001262012031TA6Typ1TAAttchd1976.000RFn2460TATAY29800000NaNNaNNaN052007WDNormal181500
2360RL68.00011250PaveNaNIR1LvlAllPubInsideGtlCollgCrNormNorm1Fam2Story7520012002GableCompShgVinylSdVinylSdBrkFace162.000GdTAPConcGdTAMnGLQ486Unf0434920GasA...YSBrkr92086601786102131Gd6Typ1TAAttchd2001.000RFn2608TATAY0420000NaNNaNNaN092008WDNormal223500
3470RL60.0009550PaveNaNIR1LvlAllPubCornerGtlCrawforNormNorm1Fam2Story7519151970GableCompShgWd SdngWd ShngNone0.000TATABrkTilTAGdNoALQ216Unf0540756GasA...YSBrkr96175601717101031Gd7Typ1GdDetchd1998.000Unf3642TATAY035272000NaNNaNNaN022006WDAbnorml140000
4560RL84.00014260PaveNaNIR1LvlAllPubFR2GtlNoRidgeNormNorm1Fam2Story8520002000GableCompShgVinylSdVinylSdBrkFace350.000GdTAPConcGdTAAvGLQ655Unf04901145GasA...YSBrkr1145105302198102141Gd9Typ1TAAttchd2000.000RFn3836TATAY192840000NaNNaNNaN0122008WDNormal250000
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "e669d2e650ef7506af64b12b13329b5093ed9051" + }, + "cell_type": "code", + "source": "test.head()", + "execution_count": 6, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 6, + "data": { + "text/plain": " Id MSSubClass MSZoning ... YrSold SaleType SaleCondition\n0 1461 20 RH ... 2010 WD Normal\n1 1462 20 RL ... 2010 WD Normal\n2 1463 60 RL ... 2010 WD Normal\n3 1464 60 RL ... 2010 WD Normal\n4 1465 120 RL ... 2010 WD Normal\n\n[5 rows x 80 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IdMSSubClassMSZoningLotFrontageLotAreaStreetAlleyLotShapeLandContourUtilitiesLotConfigLandSlopeNeighborhoodCondition1Condition2BldgTypeHouseStyleOverallQualOverallCondYearBuiltYearRemodAddRoofStyleRoofMatlExterior1stExterior2ndMasVnrTypeMasVnrAreaExterQualExterCondFoundationBsmtQualBsmtCondBsmtExposureBsmtFinType1BsmtFinSF1BsmtFinType2BsmtFinSF2BsmtUnfSFTotalBsmtSFHeatingHeatingQCCentralAirElectrical1stFlrSF2ndFlrSFLowQualFinSFGrLivAreaBsmtFullBathBsmtHalfBathFullBathHalfBathBedroomAbvGrKitchenAbvGrKitchenQualTotRmsAbvGrdFunctionalFireplacesFireplaceQuGarageTypeGarageYrBltGarageFinishGarageCarsGarageAreaGarageQualGarageCondPavedDriveWoodDeckSFOpenPorchSFEnclosedPorch3SsnPorchScreenPorchPoolAreaPoolQCFenceMiscFeatureMiscValMoSoldYrSoldSaleTypeSaleCondition
0146120RH80.00011622PaveNaNRegLvlAllPubInsideGtlNAmesFeedrNorm1Fam1Story5619611961GableCompShgVinylSdVinylSdNone0.000TATACBlockTATANoRec468.000LwQ144.000270.000882.000GasATAYSBrkr896008960.0000.0001021TA5Typ0NaNAttchd1961.000Unf1.000730.000TATAY1400001200NaNMnPrvNaN062010WDNormal
1146220RL81.00014267PaveNaNIR1LvlAllPubCornerGtlNAmesNormNorm1Fam1Story6619581958HipCompShgWd SdngWd SdngBrkFace108.000TATACBlockTATANoALQ923.000Unf0.000406.0001329.000GasATAYSBrkr13290013290.0000.0001131Gd6Typ0NaNAttchd1958.000Unf1.000312.000TATAY393360000NaNNaNGar21250062010WDNormal
2146360RL74.00013830PaveNaNIR1LvlAllPubInsideGtlGilbertNormNorm1Fam2Story5519971998GableCompShgVinylSdVinylSdNone0.000TATAPConcGdTANoGLQ791.000Unf0.000137.000928.000GasAGdYSBrkr928701016290.0000.0002131TA6Typ1TAAttchd1997.000Fin2.000482.000TATAY212340000NaNMnPrvNaN032010WDNormal
3146460RL78.0009978PaveNaNIR1LvlAllPubInsideGtlGilbertNormNorm1Fam2Story6619981998GableCompShgVinylSdVinylSdBrkFace20.000TATAPConcTATANoGLQ602.000Unf0.000324.000926.000GasAExYSBrkr926678016040.0000.0002131Gd7Typ1GdAttchd1998.000Fin2.000470.000TATAY360360000NaNNaNNaN062010WDNormal
41465120RL43.0005005PaveNaNIR1HLSAllPubInsideGtlStoneBrNormNormTwnhsE1Story8519921992GableCompShgHdBoardHdBoardNone0.000GdTAPConcGdTANoALQ263.000Unf0.0001017.0001280.000GasAExYSBrkr12800012800.0000.0002021Gd5Typ0NaNAttchd1992.000RFn2.000506.000TATAY082001440NaNNaNNaN012010WDNormal
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "678050c147b1335649fe6b2f66fc8509935a7c77", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "y_id=test['Id'].copy()", + "execution_count": 7, + "outputs": [] + }, + { + "metadata": { + "_uuid": "06138dc1aa7f49b304e1b789a31052b7bfda73a9" + }, + "cell_type": "markdown", + "source": "The **concat** function does all of the heavy lifting of performing concatenation operations along an axis. Let us create all_data." + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "2eabf8d3386083189cb10f341e73be9128c4283a" + }, + "cell_type": "code", + "source": "\nall_data = pd.concat((train.loc[:,'MSSubClass':'SaleCondition'],\n test.loc[:,'MSSubClass':'SaleCondition']))", + "execution_count": 8, + "outputs": [] + }, + { + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "cell_type": "markdown", + "source": "**<< Note 1 >>**\n\n1. Each row is an observation (also known as : sample, example, instance, record)\n1. Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)" + }, + { + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "cell_type": "markdown", + "source": "After loading the data via **pandas**, we should checkout what the content is, description and via the following:" + }, + { + "metadata": { + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type(train),type(test)", + "execution_count": 9, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 9, + "data": { + "text/plain": "(pandas.core.frame.DataFrame, pandas.core.frame.DataFrame)" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "581b90e6a869c3793472c7edd59091d6d6342fb2" + }, + "cell_type": "markdown", + "source": "
\n## 6-1-1 Statistical Summary\n1- Dimensions of the dataset.\n\n2- Peek at the data itself.\n\n3- Statistical summary of all attributes.\n\n4- Breakdown of the data by the class variable.[7]\n\nDon’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects.\n" + }, + { + "metadata": { + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# shape\nprint(train.shape)", + "execution_count": 10, + "outputs": [ + { + "output_type": "stream", + "text": "(1460, 81)\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "52ab14a7403315e4b9181c5578cd53ffe8cefbfd" + }, + "cell_type": "markdown", + "source": "Train has one column more than test why? (yes ==>> **target value**)" + }, + { + "metadata": { + "_uuid": "145f02fa22f216885a59cddee46dc08550426fa9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# shape\nprint(test.shape)", + "execution_count": 11, + "outputs": [ + { + "output_type": "stream", + "text": "(1459, 80)\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#columns*rows\ntrain.size,test.size", + "execution_count": 12, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 12, + "data": { + "text/plain": "(118260, 116720)" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "cell_type": "markdown", + "source": "\nWe can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property.\n\n**You should see 1460 instances and 81 attributes for train and 1459 instances and 80 attributes for test**" + }, + { + "metadata": { + "_uuid": "95ee5e18f97bc410df1e54ac74e32cdff2b30755" + }, + "cell_type": "markdown", + "source": "for getting some information about the dataset you can use **info()** command" + }, + { + "metadata": { + "_uuid": "ca840f02925751186f87e402fcb5f637ab1ab8a0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print(train.info())", + "execution_count": 13, + "outputs": [ + { + "output_type": "stream", + "text": "\nRangeIndex: 1460 entries, 0 to 1459\nData columns (total 81 columns):\nId 1460 non-null int64\nMSSubClass 1460 non-null int64\nMSZoning 1460 non-null object\nLotFrontage 1201 non-null float64\nLotArea 1460 non-null int64\nStreet 1460 non-null object\nAlley 91 non-null object\nLotShape 1460 non-null object\nLandContour 1460 non-null object\nUtilities 1460 non-null object\nLotConfig 1460 non-null object\nLandSlope 1460 non-null object\nNeighborhood 1460 non-null object\nCondition1 1460 non-null object\nCondition2 1460 non-null object\nBldgType 1460 non-null object\nHouseStyle 1460 non-null object\nOverallQual 1460 non-null int64\nOverallCond 1460 non-null int64\nYearBuilt 1460 non-null int64\nYearRemodAdd 1460 non-null int64\nRoofStyle 1460 non-null object\nRoofMatl 1460 non-null object\nExterior1st 1460 non-null object\nExterior2nd 1460 non-null object\nMasVnrType 1452 non-null object\nMasVnrArea 1452 non-null float64\nExterQual 1460 non-null object\nExterCond 1460 non-null object\nFoundation 1460 non-null object\nBsmtQual 1423 non-null object\nBsmtCond 1423 non-null object\nBsmtExposure 1422 non-null object\nBsmtFinType1 1423 non-null object\nBsmtFinSF1 1460 non-null int64\nBsmtFinType2 1422 non-null object\nBsmtFinSF2 1460 non-null int64\nBsmtUnfSF 1460 non-null int64\nTotalBsmtSF 1460 non-null int64\nHeating 1460 non-null object\nHeatingQC 1460 non-null object\nCentralAir 1460 non-null object\nElectrical 1459 non-null object\n1stFlrSF 1460 non-null int64\n2ndFlrSF 1460 non-null int64\nLowQualFinSF 1460 non-null int64\nGrLivArea 1460 non-null int64\nBsmtFullBath 1460 non-null int64\nBsmtHalfBath 1460 non-null int64\nFullBath 1460 non-null int64\nHalfBath 1460 non-null int64\nBedroomAbvGr 1460 non-null int64\nKitchenAbvGr 1460 non-null int64\nKitchenQual 1460 non-null object\nTotRmsAbvGrd 1460 non-null int64\nFunctional 1460 non-null object\nFireplaces 1460 non-null int64\nFireplaceQu 770 non-null object\nGarageType 1379 non-null object\nGarageYrBlt 1379 non-null float64\nGarageFinish 1379 non-null object\nGarageCars 1460 non-null int64\nGarageArea 1460 non-null int64\nGarageQual 1379 non-null object\nGarageCond 1379 non-null object\nPavedDrive 1460 non-null object\nWoodDeckSF 1460 non-null int64\nOpenPorchSF 1460 non-null int64\nEnclosedPorch 1460 non-null int64\n3SsnPorch 1460 non-null int64\nScreenPorch 1460 non-null int64\nPoolArea 1460 non-null int64\nPoolQC 7 non-null object\nFence 281 non-null object\nMiscFeature 54 non-null object\nMiscVal 1460 non-null int64\nMoSold 1460 non-null int64\nYrSold 1460 non-null int64\nSaleType 1460 non-null object\nSaleCondition 1460 non-null object\nSalePrice 1460 non-null int64\ndtypes: float64(3), int64(35), object(43)\nmemory usage: 924.0+ KB\nNone\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "b8c23c40749ebc193b55facb2267b488c3a5c7e5" + }, + "cell_type": "markdown", + "source": "**if you want see the type of data and unique value of it you use following script**" + }, + { + "metadata": { + "_uuid": "4b90d165a007106ae99809ad28edd75bd8153dd8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train['Fence'].unique()", + "execution_count": 14, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 14, + "data": { + "text/plain": "array([nan, 'MnPrv', 'GdWo', 'GdPrv', 'MnWw'], dtype=object)" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "8accfbddf2228274ad412c3ad3be72b4107d6f6c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train[\"Fence\"].value_counts()\n", + "execution_count": 15, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 15, + "data": { + "text/plain": "MnPrv 157\nGdPrv 59\nGdWo 54\nMnWw 11\nName: Fence, dtype: int64" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "cell_type": "markdown", + "source": "**to check the first 5 rows of the data set, we can use head(5).**" + }, + { + "metadata": { + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.head(5) ", + "execution_count": 16, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 16, + "data": { + "text/plain": " Id MSSubClass MSZoning ... SaleType SaleCondition SalePrice\n0 1 60 RL ... WD Normal 208500\n1 2 20 RL ... WD Normal 181500\n2 3 60 RL ... WD Normal 223500\n3 4 70 RL ... WD Abnorml 140000\n4 5 60 RL ... WD Normal 250000\n\n[5 rows x 81 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IdMSSubClassMSZoningLotFrontageLotAreaStreetAlleyLotShapeLandContourUtilitiesLotConfigLandSlopeNeighborhoodCondition1Condition2BldgTypeHouseStyleOverallQualOverallCondYearBuiltYearRemodAddRoofStyleRoofMatlExterior1stExterior2ndMasVnrTypeMasVnrAreaExterQualExterCondFoundationBsmtQualBsmtCondBsmtExposureBsmtFinType1BsmtFinSF1BsmtFinType2BsmtFinSF2BsmtUnfSFTotalBsmtSFHeating...CentralAirElectrical1stFlrSF2ndFlrSFLowQualFinSFGrLivAreaBsmtFullBathBsmtHalfBathFullBathHalfBathBedroomAbvGrKitchenAbvGrKitchenQualTotRmsAbvGrdFunctionalFireplacesFireplaceQuGarageTypeGarageYrBltGarageFinishGarageCarsGarageAreaGarageQualGarageCondPavedDriveWoodDeckSFOpenPorchSFEnclosedPorch3SsnPorchScreenPorchPoolAreaPoolQCFenceMiscFeatureMiscValMoSoldYrSoldSaleTypeSaleConditionSalePrice
0160RL65.0008450PaveNaNRegLvlAllPubInsideGtlCollgCrNormNorm1Fam2Story7520032003GableCompShgVinylSdVinylSdBrkFace196.000GdTAPConcGdTANoGLQ706Unf0150856GasA...YSBrkr85685401710102131Gd8Typ0NaNAttchd2003.000RFn2548TATAY0610000NaNNaNNaN022008WDNormal208500
1220RL80.0009600PaveNaNRegLvlAllPubFR2GtlVeenkerFeedrNorm1Fam1Story6819761976GableCompShgMetalSdMetalSdNone0.000TATACBlockGdTAGdALQ978Unf02841262GasA...YSBrkr1262001262012031TA6Typ1TAAttchd1976.000RFn2460TATAY29800000NaNNaNNaN052007WDNormal181500
2360RL68.00011250PaveNaNIR1LvlAllPubInsideGtlCollgCrNormNorm1Fam2Story7520012002GableCompShgVinylSdVinylSdBrkFace162.000GdTAPConcGdTAMnGLQ486Unf0434920GasA...YSBrkr92086601786102131Gd6Typ1TAAttchd2001.000RFn2608TATAY0420000NaNNaNNaN092008WDNormal223500
3470RL60.0009550PaveNaNIR1LvlAllPubCornerGtlCrawforNormNorm1Fam2Story7519151970GableCompShgWd SdngWd ShngNone0.000TATABrkTilTAGdNoALQ216Unf0540756GasA...YSBrkr96175601717101031Gd7Typ1GdDetchd1998.000Unf3642TATAY035272000NaNNaNNaN022006WDAbnorml140000
4560RL84.00014260PaveNaNIR1LvlAllPubFR2GtlNoRidgeNormNorm1Fam2Story8520002000GableCompShgVinylSdVinylSdBrkFace350.000GdTAPConcGdTAAvGLQ655Unf04901145GasA...YSBrkr1145105302198102141Gd9Typ1TAAttchd2000.000RFn3836TATAY192840000NaNNaNNaN0122008WDNormal250000
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "cell_type": "markdown", + "source": "1**to check out last 5 row of the data set, we use tail() function**" + }, + { + "metadata": { + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.tail() ", + "execution_count": 17, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 17, + "data": { + "text/plain": " Id MSSubClass MSZoning ... SaleType SaleCondition SalePrice\n1455 1456 60 RL ... WD Normal 175000\n1456 1457 20 RL ... WD Normal 210000\n1457 1458 70 RL ... WD Normal 266500\n1458 1459 20 RL ... WD Normal 142125\n1459 1460 20 RL ... WD Normal 147500\n\n[5 rows x 81 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IdMSSubClassMSZoningLotFrontageLotAreaStreetAlleyLotShapeLandContourUtilitiesLotConfigLandSlopeNeighborhoodCondition1Condition2BldgTypeHouseStyleOverallQualOverallCondYearBuiltYearRemodAddRoofStyleRoofMatlExterior1stExterior2ndMasVnrTypeMasVnrAreaExterQualExterCondFoundationBsmtQualBsmtCondBsmtExposureBsmtFinType1BsmtFinSF1BsmtFinType2BsmtFinSF2BsmtUnfSFTotalBsmtSFHeating...CentralAirElectrical1stFlrSF2ndFlrSFLowQualFinSFGrLivAreaBsmtFullBathBsmtHalfBathFullBathHalfBathBedroomAbvGrKitchenAbvGrKitchenQualTotRmsAbvGrdFunctionalFireplacesFireplaceQuGarageTypeGarageYrBltGarageFinishGarageCarsGarageAreaGarageQualGarageCondPavedDriveWoodDeckSFOpenPorchSFEnclosedPorch3SsnPorchScreenPorchPoolAreaPoolQCFenceMiscFeatureMiscValMoSoldYrSoldSaleTypeSaleConditionSalePrice
1455145660RL62.0007917PaveNaNRegLvlAllPubInsideGtlGilbertNormNorm1Fam2Story6519992000GableCompShgVinylSdVinylSdNone0.000TATAPConcGdTANoUnf0Unf0953953GasA...YSBrkr95369401647002131TA7Typ1TAAttchd1999.000RFn2460TATAY0400000NaNNaNNaN082007WDNormal175000
1456145720RL85.00013175PaveNaNRegLvlAllPubInsideGtlNWAmesNormNorm1Fam1Story6619781988GableCompShgPlywoodPlywoodStone119.000TATACBlockGdTANoALQ790Rec1635891542GasA...YSBrkr2073002073102031TA7Min12TAAttchd1978.000Unf2500TATAY34900000NaNMnPrvNaN022010WDNormal210000
1457145870RL66.0009042PaveNaNRegLvlAllPubInsideGtlCrawforNormNorm1Fam2Story7919412006GableCompShgCemntBdCmentBdNone0.000ExGdStoneTAGdNoGLQ275Unf08771152GasA...YSBrkr1188115202340002041Gd9Typ2GdAttchd1941.000RFn1252TATAY0600000NaNGdPrvShed250052010WDNormal266500
1458145920RL68.0009717PaveNaNRegLvlAllPubInsideGtlNAmesNormNorm1Fam1Story5619501996HipCompShgMetalSdMetalSdNone0.000TATACBlockTATAMnGLQ49Rec102901078GasA...YFuseA1078001078101021Gd5Typ0NaNAttchd1950.000Unf1240TATAY3660112000NaNNaNNaN042010WDNormal142125
1459146020RL75.0009937PaveNaNRegLvlAllPubInsideGtlEdwardsNormNorm1Fam1Story5619651965GableCompShgHdBoardHdBoardNone0.000GdTACBlockTATANoBLQ830LwQ2901361256GasA...YSBrkr1256001256101131TA6Typ0NaNAttchd1965.000Fin1276TATAY736680000NaNNaNNaN062008WDNormal147500
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "cell_type": "markdown", + "source": "to pop up 5 random rows from the data set, we can use **sample(5)** function" + }, + { + "metadata": { + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.sample(5) ", + "execution_count": 18, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 18, + "data": { + "text/plain": " Id MSSubClass MSZoning ... SaleType SaleCondition SalePrice\n452 453 60 RL ... WD Normal 204000\n1246 1247 60 FV ... New Partial 186500\n830 831 20 RL ... WD Normal 166000\n708 709 60 RL ... New Partial 179540\n877 878 60 RL ... WD Normal 350000\n\n[5 rows x 81 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IdMSSubClassMSZoningLotFrontageLotAreaStreetAlleyLotShapeLandContourUtilitiesLotConfigLandSlopeNeighborhoodCondition1Condition2BldgTypeHouseStyleOverallQualOverallCondYearBuiltYearRemodAddRoofStyleRoofMatlExterior1stExterior2ndMasVnrTypeMasVnrAreaExterQualExterCondFoundationBsmtQualBsmtCondBsmtExposureBsmtFinType1BsmtFinSF1BsmtFinType2BsmtFinSF2BsmtUnfSFTotalBsmtSFHeating...CentralAirElectrical1stFlrSF2ndFlrSFLowQualFinSFGrLivAreaBsmtFullBathBsmtHalfBathFullBathHalfBathBedroomAbvGrKitchenAbvGrKitchenQualTotRmsAbvGrdFunctionalFireplacesFireplaceQuGarageTypeGarageYrBltGarageFinishGarageCarsGarageAreaGarageQualGarageCondPavedDriveWoodDeckSFOpenPorchSFEnclosedPorch3SsnPorchScreenPorchPoolAreaPoolQCFenceMiscFeatureMiscValMoSoldYrSoldSaleTypeSaleConditionSalePrice
45245360RLnan9303PaveNaNIR1LvlAllPubCornerGtlTimberNormNorm1Fam2Story6519961997HipCompShgVinylSdVinylSdBrkFace42.000GdTAPConcExTANoALQ742Unf0130872GasA...YSBrkr88886801756102131TA7Typ0NaNAttchd1996.000Fin2422TATAY1441220000NaNNaNNaN072007WDNormal204000
1246124760FV65.0008125PaveNaNRegLvlAllPubInsideGtlSomerstNormNorm1Fam2Story7520052006GableCompShgVinylSdVinylSdNone0.000GdTAPConcGdTANoUnf0Unf0756756GasA...YSBrkr75679701553002131Gd6Typ0NaNAttchd2005.000RFn2615TATAY0450000NaNNaNNaN032006NewPartial186500
83083120RL80.00011900PaveNaNIR1LvlAllPubCornerGtlNAmesNormNorm1Fam1Story6519571957GableCompShgHdBoardHdBoardBrkFace387.000TATACBlockTATANoRec1040Unf03521392GasA...YFuseA1392001392101131TA6Typ2GdAttchd1957.000RFn2458TATAY00001920NaNNaNNaN062008WDNormal166000
70870960RL65.0009018PaveNaNIR1LvlAllPubInsideGtlGilbertNormNorm1Fam2Story7520072007HipCompShgVinylSdVinylSdNone0.000GdTAPConcGdTAAvUnf0Unf0728728GasA...YSBrkr72872801456002131Gd8Typ1GdAttchd2007.000Fin2400TATAY100240000NaNNaNNaN072007NewPartial179540
87787860RL74.0008834PaveNaNRegLvlAllPubInsideGtlNridgHtNormNorm1Fam2Story9520042005HipCompShgVinylSdVinylSdStone216.000GdTAPConcExTANoGLQ1170Unf02921462GasA...YSBrkr146276202224102141Ex10Typ1GdAttchd2004.000Fin3738TATAY18400000NaNNaNNaN062009WDNormal350000
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "cell_type": "markdown", + "source": "To give a **statistical summary** about the dataset, we can use **describe()" + }, + { + "metadata": { + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.describe() ", + "execution_count": 19, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 19, + "data": { + "text/plain": " Id MSSubClass LotFrontage ... MoSold YrSold SalePrice\ncount 1460.000 1460.000 1201.000 ... 1460.000 1460.000 1460.000\nmean 730.500 56.897 70.050 ... 6.322 2007.816 180921.196\nstd 421.610 42.301 24.285 ... 2.704 1.328 79442.503\nmin 1.000 20.000 21.000 ... 1.000 2006.000 34900.000\n25% 365.750 20.000 59.000 ... 5.000 2007.000 129975.000\n50% 730.500 50.000 69.000 ... 6.000 2008.000 163000.000\n75% 1095.250 70.000 80.000 ... 8.000 2009.000 214000.000\nmax 1460.000 190.000 313.000 ... 12.000 2010.000 755000.000\n\n[8 rows x 38 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IdMSSubClassLotFrontageLotAreaOverallQualOverallCondYearBuiltYearRemodAddMasVnrAreaBsmtFinSF1BsmtFinSF2BsmtUnfSFTotalBsmtSF1stFlrSF2ndFlrSFLowQualFinSFGrLivAreaBsmtFullBathBsmtHalfBathFullBathHalfBathBedroomAbvGrKitchenAbvGrTotRmsAbvGrdFireplacesGarageYrBltGarageCarsGarageAreaWoodDeckSFOpenPorchSFEnclosedPorch3SsnPorchScreenPorchPoolAreaMiscValMoSoldYrSoldSalePrice
count1460.0001460.0001201.0001460.0001460.0001460.0001460.0001460.0001452.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001379.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.0001460.000
mean730.50056.89770.05010516.8286.0995.5751971.2681984.866103.685443.64046.549567.2401057.4291162.627346.9925.8451515.4640.4250.0581.5650.3832.8661.0476.5180.6131978.5061.767472.98094.24546.66021.9543.41015.0612.75943.4896.3222007.816180921.196
std421.61042.30124.2859981.2651.3831.11330.20320.645181.066456.098161.319441.867438.705386.588436.52848.623525.4800.5190.2390.5510.5030.8160.2201.6250.64524.6900.747213.805125.33966.25661.11929.31755.75740.177496.1232.7041.32879442.503
min1.00020.00021.0001300.0001.0001.0001872.0001950.0000.0000.0000.0000.0000.000334.0000.0000.000334.0000.0000.0000.0000.0000.0000.0002.0000.0001900.0000.0000.0000.0000.0000.0000.0000.0000.0000.0001.0002006.00034900.000
25%365.75020.00059.0007553.5005.0005.0001954.0001967.0000.0000.0000.000223.000795.750882.0000.0000.0001129.5000.0000.0001.0000.0002.0001.0005.0000.0001961.0001.000334.5000.0000.0000.0000.0000.0000.0000.0005.0002007.000129975.000
50%730.50050.00069.0009478.5006.0005.0001973.0001994.0000.000383.5000.000477.500991.5001087.0000.0000.0001464.0000.0000.0002.0000.0003.0001.0006.0001.0001980.0002.000480.0000.00025.0000.0000.0000.0000.0000.0006.0002008.000163000.000
75%1095.25070.00080.00011601.5007.0006.0002000.0002004.000166.000712.2500.000808.0001298.2501391.250728.0000.0001776.7501.0000.0002.0001.0003.0001.0007.0001.0002002.0002.000576.000168.00068.0000.0000.0000.0000.0000.0008.0002009.000214000.000
max1460.000190.000313.000215245.00010.0009.0002010.0002010.0001600.0005644.0001474.0002336.0006110.0004692.0002065.000572.0005642.0003.0002.0003.0002.0008.0003.00014.0003.0002010.0004.0001418.000857.000547.000552.000508.000480.000738.00015500.00012.0002010.000755000.000
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "031d16ca235837e889734635ecff193be64b27a4" + }, + "cell_type": "markdown", + "source": "To check out how many null info are on the dataset, we can use **isnull().sum()" + }, + { + "metadata": { + "_uuid": "8807b632269e2fa734ad26e8513199400fc09a83", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.isnull().sum().head(2)", + "execution_count": 20, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 20, + "data": { + "text/plain": "Id 0\nMSSubClass 0\ndtype: int64" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "446e6162e16325213047ff31454813455668b574", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.groupby('SaleType').count()", + "execution_count": 21, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 21, + "data": { + "text/plain": " Id MSSubClass ... SaleCondition SalePrice\nSaleType ... \nCOD 43 43 ... 43 43\nCWD 4 4 ... 4 4\nCon 2 2 ... 2 2\nConLD 9 9 ... 9 9\nConLI 5 5 ... 5 5\nConLw 5 5 ... 5 5\nNew 122 122 ... 122 122\nOth 3 3 ... 3 3\nWD 1267 1267 ... 1267 1267\n\n[9 rows x 80 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IdMSSubClassMSZoningLotFrontageLotAreaStreetAlleyLotShapeLandContourUtilitiesLotConfigLandSlopeNeighborhoodCondition1Condition2BldgTypeHouseStyleOverallQualOverallCondYearBuiltYearRemodAddRoofStyleRoofMatlExterior1stExterior2ndMasVnrTypeMasVnrAreaExterQualExterCondFoundationBsmtQualBsmtCondBsmtExposureBsmtFinType1BsmtFinSF1BsmtFinType2BsmtFinSF2BsmtUnfSFTotalBsmtSFHeatingHeatingQCCentralAirElectrical1stFlrSF2ndFlrSFLowQualFinSFGrLivAreaBsmtFullBathBsmtHalfBathFullBathHalfBathBedroomAbvGrKitchenAbvGrKitchenQualTotRmsAbvGrdFunctionalFireplacesFireplaceQuGarageTypeGarageYrBltGarageFinishGarageCarsGarageAreaGarageQualGarageCondPavedDriveWoodDeckSFOpenPorchSFEnclosedPorch3SsnPorchScreenPorchPoolAreaPoolQCFenceMiscFeatureMiscValMoSoldYrSoldSaleConditionSalePrice
SaleType
COD4343433243433434343434343434343434343434343434343434343434342424242434243434343434343434343434343434343434343434315434343434343434343434343434301324343434343
CWD44444414444444444444444444444444444444444444444444444444434444444444444402044444
Con22222202222222222222222222222222222222222222222222222222212222222222222200022222
ConLD99989909999999999999999999999988889899999999999999999999937779977999999902199999
ConLI55545515555555555555555555555555555555555555555555555555534445544555555501155555
ConLw55555505555555555555555555555555555555555555555555555555544445544555555500055555
New122122122121122122712212212212212212212212212212212212212212212212212212211911912212212212212212212212212212212212212212212212212212212212212212212212212212212212212212285120120120122122120120122122122122122122122100122122122122122
Oth33333303333333333333333333333333333333333333333333333333301113311333333301133333
WD12671267126710221267126779126712671267126712671267126712671267126712671267126712671267126712671267126212621267126712671232123212311232126712311267126712671267126712671266126712671267126712671267126712671267126712671267126712676561194119411941267126711941194126712671267126712671267126762624912671267126712671267
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + }, + "cell_type": "markdown", + "source": "to print dataset **columns**, we can use columns atribute" + }, + { + "metadata": { + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.columns", + "execution_count": 22, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 22, + "data": { + "text/plain": "Index(['Id', 'MSSubClass', 'MSZoning', 'LotFrontage', 'LotArea', 'Street',\n 'Alley', 'LotShape', 'LandContour', 'Utilities', 'LotConfig',\n 'LandSlope', 'Neighborhood', 'Condition1', 'Condition2', 'BldgType',\n 'HouseStyle', 'OverallQual', 'OverallCond', 'YearBuilt', 'YearRemodAdd',\n 'RoofStyle', 'RoofMatl', 'Exterior1st', 'Exterior2nd', 'MasVnrType',\n 'MasVnrArea', 'ExterQual', 'ExterCond', 'Foundation', 'BsmtQual',\n 'BsmtCond', 'BsmtExposure', 'BsmtFinType1', 'BsmtFinSF1',\n 'BsmtFinType2', 'BsmtFinSF2', 'BsmtUnfSF', 'TotalBsmtSF', 'Heating',\n 'HeatingQC', 'CentralAir', 'Electrical', '1stFlrSF', '2ndFlrSF',\n 'LowQualFinSF', 'GrLivArea', 'BsmtFullBath', 'BsmtHalfBath', 'FullBath',\n 'HalfBath', 'BedroomAbvGr', 'KitchenAbvGr', 'KitchenQual',\n 'TotRmsAbvGrd', 'Functional', 'Fireplaces', 'FireplaceQu', 'GarageType',\n 'GarageYrBlt', 'GarageFinish', 'GarageCars', 'GarageArea', 'GarageQual',\n 'GarageCond', 'PavedDrive', 'WoodDeckSF', 'OpenPorchSF',\n 'EnclosedPorch', '3SsnPorch', 'ScreenPorch', 'PoolArea', 'PoolQC',\n 'Fence', 'MiscFeature', 'MiscVal', 'MoSold', 'YrSold', 'SaleType',\n 'SaleCondition', 'SalePrice'],\n dtype='object')" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "f19c27cec4367f8b176d2609f12d22afbd7e1e0d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type((train.columns))", + "execution_count": 23, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 23, + "data": { + "text/plain": "pandas.core.indexes.base.Index" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "22bc5d81c18275ee1fb082c0adbb7a65bdbec4cc" + }, + "cell_type": "markdown", + "source": "**<< Note 2 >>**\nin pandas's data frame you can perform some query such as \"where\"" + }, + { + "metadata": { + "_uuid": "8b545ff7e8367c5ab9c1db710f70b6936ac8422c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train[train['SalePrice']>700000]", + "execution_count": 24, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 24, + "data": { + "text/plain": " Id MSSubClass MSZoning ... SaleType SaleCondition SalePrice\n691 692 60 RL ... WD Normal 755000\n1182 1183 60 RL ... WD Abnorml 745000\n\n[2 rows x 81 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
IdMSSubClassMSZoningLotFrontageLotAreaStreetAlleyLotShapeLandContourUtilitiesLotConfigLandSlopeNeighborhoodCondition1Condition2BldgTypeHouseStyleOverallQualOverallCondYearBuiltYearRemodAddRoofStyleRoofMatlExterior1stExterior2ndMasVnrTypeMasVnrAreaExterQualExterCondFoundationBsmtQualBsmtCondBsmtExposureBsmtFinType1BsmtFinSF1BsmtFinType2BsmtFinSF2BsmtUnfSFTotalBsmtSFHeating...CentralAirElectrical1stFlrSF2ndFlrSFLowQualFinSFGrLivAreaBsmtFullBathBsmtHalfBathFullBathHalfBathBedroomAbvGrKitchenAbvGrKitchenQualTotRmsAbvGrdFunctionalFireplacesFireplaceQuGarageTypeGarageYrBltGarageFinishGarageCarsGarageAreaGarageQualGarageCondPavedDriveWoodDeckSFOpenPorchSFEnclosedPorch3SsnPorchScreenPorchPoolAreaPoolQCFenceMiscFeatureMiscValMoSoldYrSoldSaleTypeSaleConditionSalePrice
69169260RL104.00021535PaveNaNIR1LvlAllPubCornerGtlNoRidgeNormNorm1Fam2Story10619941995GableWdShnglHdBoardHdBoardBrkFace1170.000ExTAPConcExTAGdGLQ1455Unf09892444GasA...YSBrkr2444187204316013141Ex10Typ2ExAttchd1994.000Fin3832TATAY382500000NaNNaNNaN012007WDNormal755000
1182118360RL160.00015623PaveNaNIR1LvlAllPubCornerGtlNoRidgeNormNorm1Fam2Story10519961996HipCompShgWd SdngImStuccNone0.000GdTAPConcExTAAvGLQ2096Unf03002396GasA...YSBrkr2411206504476103141Ex10Typ2TAAttchd1996.000Fin3813TATAY17178000555ExMnPrvNaN072007WDAbnorml745000
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "85d23b77d7fb1bb3e000535dc2475aca5862f242" + }, + "cell_type": "markdown", + "source": "
\n## 6-1-2 Target Value Analysis\nAs you know **SalePrice** is our target value that we should predict it then now we take a look at it" + }, + { + "metadata": { + "_uuid": "2d891ad744dec398f3920ce0fd9458c00671ed7b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train['SalePrice'].describe()", + "execution_count": 25, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 25, + "data": { + "text/plain": "count 1460.000\nmean 180921.196\nstd 79442.503\nmin 34900.000\n25% 129975.000\n50% 163000.000\n75% 214000.000\nmax 755000.000\nName: SalePrice, dtype: float64" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "09f6d29aa3a63f1d0d3033e7ef6b544fd8035889" + }, + "cell_type": "markdown", + "source": "Flexibly plot a univariate distribution of observations.\n\n" + }, + { + "metadata": { + "_uuid": "c7dceaddee057bb78a930c519221d3ad43eed360", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.set(rc={'figure.figsize':(9,7)})\nsns.distplot(train['SalePrice']);", + "execution_count": 26, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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dOkS9uzZAwA4fPgw6urqACDvbW+99Rb+5E/+BMFgEOl0Gs888wy+853v4JFHHlnl26V86XQal296cc+6Ckgij8miuXQaFR67rxaP3VeLfncQb11z462rw/jpsx/DqFfj05uqsHaNacb0GxFRsckoIG3cuHHGOUOTnnrqqam/S5KE9vb2eR+f77b7778fL7744rxttLiBkRBGA1Fs31ApdylUBGpsRtTYjPhPD63D29fd+NdfXceLl1yo6hnFg1vtqDQvvriciKhQcYiAZrh8c+L4Bq4/ouUQBAEN66xoeWgdPrttDUKROP7j9V4MjITkLo2IaEUYkGiGD7s9cFaVwcrf/EuKIAoIRRML/kmkMnseURBwV60Fjzeug8mgwXNv96Hb5c9t8UREOcBt/jQlGkvi2m0fvvjpWrlLoTyLxpO4dN29YPuuBvuyns+gU6H5gTr8+p1+vHTJhUgsueznICKSE0eQaMq126NIJNNcf0RzCKKAYW940VGm2RvYNGoJj91fi7pqI968MoxXL7vkKZ6IaAU4gkRTPrjphUYlYlMd779GM0XjSVy5NbzoQZA7N9nmfE4lifj8vU48904ffvrcx6izGbFlbUUuSyUiygqOINGUy91ebK6vgFolyV0KKYgoCvjcTieqy/X4wc8vY8gblrskIqIlMSARAMDtG8eQN4xtG7h7jbJPo5bwZOtWCIKA//az9xGKxOUuiYhoUQxIBAB46+owAGDHRq4/otywlevxX57YjhHfOP7xFx/k9V6HRETLxYBESKfTePF9F+6utcBeUdh3W6fitqmuHP9L82Z82DOKp1+8IXc5REQLYkAifNQ3hiFvGI/scMpdCpWAz+104tF7nfjla71TI5dERIWGAYnw0vsD0Gkk7NpSLXcpVCJ+t2kTNjrN+H/PXUE/T9smogLEgFTixqMJvHl1GA802KHVcPca5YdaJeJbv7UdWpWI7//bZYQjCblLIiKagQGpxL1xZQixeAqP7HDM+HwihUUPBZzvYECixcy+nYlGI+E/P94At28cf//0+4jEM7yfCRFRHvCgyBL30vsuOKvKsMFpnvH5aDyBN68MLfrY+Q4GJFrIQrczadxqxyuXB/GjZz7EH7RugygIMlRHRDQTR5BKWL87iJsDfjyywwGBP5RIJhtrLPjUpiq8ddWNn/2aO9uIqDBwBKmEvfS+C5Io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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "b8c91bd9590ebb02f166c6d07a401faa8d263261" + }, + "cell_type": "markdown", + "source": "
\n### 6-1-3 Skewness vs Kurtosis\n1. Skewness\n 1. It is the degree of distortion from the symmetrical bell curve or the normal distribution. It measures the lack of symmetry in data distribution. It differentiates extreme values in one versus the other tail. A symmetrical distribution will have a skewness of 0.\n\n1. Kurtosis\n 1. Kurtosis is all about the tails of the distribution — not the peakedness or flatness. It is used to describe the extreme values in one versus the other tail. It is actually the measure of outliers present in the distribution.\n" + }, + { + "metadata": { + "_uuid": "a4fe40f3d3f57bf1369c7b9847c5c05ec704c0b6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#skewness and kurtosis\nprint(\"Skewness: %f\" % train['SalePrice'].skew())\nprint(\"Kurtosis: %f\" % train['SalePrice'].kurt())", + "execution_count": 27, + "outputs": [ + { + "output_type": "stream", + "text": "Skewness: 1.882876\nKurtosis: 6.536282\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" + }, + "cell_type": "markdown", + "source": "
\n## 6-2 Visualization\n**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns.\n\nWith interactive visualization, you can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data you see and how it’s processed.[SAS]\n\n In this section I show you **11 plots** with **matplotlib** and **seaborn** that is listed in the blew picture:\n \n" + }, + { + "metadata": { + "_uuid": "b0014a7a52e714996bc443981c853095926d20e5" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-1 Scatter plot\n\nScatter plot Purpose To identify the type of relationship (if any) between two quantitative variables\n\n\n" + }, + { + "metadata": { + "_uuid": "af099546eed64ebc796403d4139cb4c977c27b03", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Modify the graph above by assigning each species an individual color.\ncolumns = ['SalePrice','OverallQual','TotalBsmtSF','GrLivArea','GarageArea','FullBath','YearBuilt','YearRemodAdd']\ng=sns.FacetGrid(train[columns], hue=\"OverallQual\", size=5) \\\n .map(plt.scatter, \"OverallQual\", \"SalePrice\") \\\n .add_legend()\ng=g.map(plt.scatter, \"OverallQual\", \"SalePrice\",edgecolor=\"w\").add_legend();\nplt.show()\n", + "execution_count": 28, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "d1c7b62b5f8cba427bca13049256365141655372" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-2 Box\nIn descriptive statistics, a **box plot** or boxplot is a method for graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram.[wikipedia]" + }, + { + "metadata": { + "_uuid": "ad8774475841cac4bb2559b64b70252b360a9aa8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "data = pd.concat([train['SalePrice'], train['OverallQual']], axis=1)\nf, ax = plt.subplots(figsize=(12, 8))\nfig = sns.boxplot(x='OverallQual', y=\"SalePrice\", data=data)\n", + "execution_count": 29, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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0djYcML1PouSAIgHij0AAEnC4XB84TWAxEaxBwAgSXzta5efcJ3/OY8EkIj48CwAAEnihhuK9dprVQqHw3I6nbrhhmKrI33G6tVPaufOOlPGqqvbIelfHxyNt+zsMaZ+IBbJx7RiP3fuXO3evVtOp1MDBw7Uz3/+c+Xk5Gj79u1asGCBAoGAPB6PysrKNHbsWEky/R4AAHbm8aTpssvytWnTq7rssgJ5PB6rI33Gzp11+uijWg0ePDjuY3WtRNq3b2/cx2pvb4/7GIBpxb6srExDhgyRJL388statGiR/vSnP6mkpETFxcXyer3y+XxaunSpnnrqKUky/R4AAImkquoV+f2VUT2npaVZKSn91NBQH9VMdUHBZOXnT4oyYe8MHjxYEyZMMGUss7z11ltWR0ASMG2NfVepl47/1upwONTc3KyamhoVFhZKkgoLC1VTU6OWlhbT7wEAkAwOHjwot9stt5vVuIDdmPq3evHixdq0aZMMw9Djjz+u+vp6jRgxQi6XS5LkcrmUmZmp+vp6GYZh6r309PSIf46MjPi/PQgAwKn8x38U6j/+ozCq59x1112Sjr+T3helpLisjhA3KSkuDR8+5NQPtEDX695X85kpkV8LU4v9fffdJ0las2aN7r//fs2bN8/M4WOmubld4bBhdQwAAKLW2RmSJO3ff9DiJCfXlc+OOjtDff5176v5zNQXXgun09GriWRL3oe7/vrrtXTpUo0cOVINDQ0KhUJyuVwKhUJqbGxUVlaWDMMw9R4AAACQyExZY3/o0CHV19d3X2/YsEGpqanKyMhQTk6OKioqJEkVFRXKyclRenq66fcAAACARGbKjP2RI0c0b948HTlyRE6nU6mpqfr1r38th8Oh0tJSLViwQKtWrdLQoUN7rPkz+x4AAACQqEwp9sOGDdNzzz130nvjxo3TH//4xz5xDwAAAEhUpm13CQAAACB+KPYAAACADVDsAQAAABug2AMAbC8QaNXy5aUKBAJWRwGAuKHYAwBs77nnntYHH7yv55572uooABA3FHsAgK0FAq2qrvZLkqqrX2XWHoBtUewBALb23HNPyzAMSZJhGMzaA7Atij0AwNZee23TCddVFiUBgPii2AMAbM0wwl94DQB2QbEHANia0+n8wmsAsAu31QEAAIinr33tcm3a9OqnrvMtTINTaWsL6ODBg3rrrbes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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "7b193e4aa7e6fb337d3f65c334849094addd097a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "ax= sns.boxplot(x=\"OverallQual\", y=\"SalePrice\", data=train[columns])\nax= sns.stripplot(x=\"OverallQual\", y=\"SalePrice\", data=train[columns], jitter=True, edgecolor=\"gray\")\nplt.show()", + "execution_count": 30, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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UVdXh8PhYNWqVQwZMsTYYAE0YRq7du3SSkpKtHnz5mlffvml0eEEpba2Vvvggw/av/7Nb36j/fKXvzQwot5paGho//cbb7yhXX755QZG0zv79u3Trr/++n79/urPsZ/qgQce0B566CHN7/drmqZplZWVBkfUew8++KB2//33Gx1GUPx+vzZlypT299aBAwe0CRMmaD6fz+DI9Kmrq9MuvPBC7ciRI5qmadq6deu0H/7whwZHFZjuPv++973vaevWrdM0re31fO973zMqxA5k2s5EpkyZQkZGhtFh9IrD4WDatGntX0+YMIGSkhIDI+qduLi49n87nU4UpX82hXa73fz617/mvvvuMzqUc15TUxPr1q3j1ltvbX8/paSkGBxV77jdbjZs2MCVV15pdChBU1WVxsZGoG0ULS0tDVXtXx+RBQUFpKSkMHToUADmzJnD9u3bqampMTiynnX1+VddXc3+/fvJzc0FIDc3l/3795vi9ci0nQgZv9/PP/7xD+bPn290KL1yzz338N5776FpGs8++6zR4QTl8ccfZ+nSpWRmZhodSq/deeedaJrG5MmTuf3224mPjzc6JF2OHz+Ow+HgySefZOfOncTExHDrrbcyZcoUo0ML2pYtW0hPT2fs2LFGhxIURVF47LHHWL58OdHR0TQ1NfHHP/7R6LB0Gzp0KFVVVezdu5fx48ezYcMGAEpLS/vl0onS0lLS09OxWCwAWCwW0tLSTPF6+ldaLfqVBx54gOjoaK655hqjQ+mVhx56iLfffpuf/exnPPLII0aHo9vHH3/Mvn37WLZsmdGh9NqaNWt4+eWXWbt2LZqm8etf/9rokHTz+XwcP36c8847j5deeok777yTn/70pzidTqNDC9ratWv79aiT1+tl9erVPP3002zdupVnnnmG2267jaamJqND0yUuLo7f//73rFy5kiuuuILq6mri4+Pbkw/RdyR5EiGxatUqCgoKeOyxx/rd0Hd3Lr/8cnbu3Eltba3Roeiya9cuDh8+zIIFC5g/fz5lZWVcf/31bN++3ejQdDsxrG+321m2bBl79uwxOCL9MjIysFqt7VMRF1xwAYmJiRw9etTgyIJTXl7Orl27WLJkidGhBO3AgQNUVFQwefJkACZPnkxUVBSHDx82ODL9pk+fzj/+8Q9eeuklrrnmGlpbW8nOzjY6rKBkZGRQXl6Oz+cD2v7wqKioMMXylrPjU02YyqOPPsq+fft46qmnsNvtRocTtKamJkpLS9u/3rJlCwkJCTgcDgOj0u/GG29k+/btbNmyhS1btjBgwACee+45Zs6caXRoujQ3N7evSdE0jU2bNvXLnY9JSUlMmzaN9957D2jbTVRdXc3gwYMNjiw4//nPf5gzZw6JiYlGhxK0AQMGUFZWxpEjRwA4fPgw1dXV/TLpqKysBNqWTTz66KNcffXVREdHGxxVcJKTk8nJyWHjxo0AbNy4kZycHMOn7AAUTdM0o4MQbR588EE2b95MVVUViYmJOBwOXnnlFaPD0iU/P5/c3FyGDBlCZGQkAJmZmTz11FMGR6ZfVVUVy5cvp6WlBVVVSUhI4Be/+EW/Xddxwvz58/nDH/7Q70oVHD9+nJ/+9Kf4fD78fj/Dhw9nxYoVpKWlGR2absePH+fuu++mrq4Oq9XKbbfdxpw5c4wOKyiLFi3innvuYfbs2UaH0isvv/wyf/rTn9oX8d9yyy1cfPHFBkel3z333MOePXvweDzMmDGDu+++u720h5l19/l3+PBh7rrrLhoaGoiPj2fVqlUMGzbM6HAleRJCCCGE0EOm7YQQQgghdJDkSQghhBBCB0mehBBCCCF0kORJCCGEEEIHSZ6EEEIIIXSQ5EkIIYQQQgdJnoQQohtPPPEEd955JwBFRUWMHj0ar9cblufeuXNnv6+dJMTZSpInIYTpvPTSSyxZsoQLLriAGTNmcO+999LQ0GB0WJ1s3bqVb37zm0yYMIFp06Zx5513Ul5ebnRYQogQk+RJCGEqf/7zn/nd737Hz3/+c3bv3s0///lPSkpKuO6663C73X32PL0dQXrttde44447uPbaa/nggw/YuHEjNpuNZcuWmTLRE0L0HUmehBCm4XQ6eeKJJ1ixYgWzZ8/GZrORmZnJY489RnFxMX/+858ZP348dXV17ffs37+fadOm4fF4AHjxxRe57LLLmDp1Ktdffz3FxcXt144ePZo1a9awcOFCFi5cCLS1hZgzZw6TJk3iiiuuYPfu3T3GqWkaq1at4sc//jFLliwhMjKS1NRUHnroIaKiovjrX/8KdJz2g85Tf2vXruWyyy5j4sSJLFiwgBdeeKH3/xOFECEnyZMQwjT27NmDy+VqT2xOiImJYc6cORw8eJAJEyawefPm9nMbNmxg0aJF2Gw23nzzTVavXs2TTz7Jjh07mDx5MnfccUeHx3rzzTf517/+xaZNmwA4//zzWbduHR9++CG5ubnceuutuFyuM8Z55MgRSkpKuPTSSzscV1WVhQsXsn379oBeb3JyMqtXr2bPnj2sXLmSlStX8vnnnwd0rxDCOJI8CSFMo7a2lsTERKxWa6dzqamp1NbWsmTJkvYu65qmsWnTJpYsWQLACy+8wI033sjw4cOxWq3cdNNNHDhwoMPo04033ojD4WhvXJ2Xl9f+nD/84Q9xu90cPXq0xziBLpsSn4gzEHPnziU7OxtFUbjwwguZMWNGQCNfQghjdf4NJYQQBklMTKS2thav19spgaqsrCQxMZGFCxfywAMPUFFRwbFjx1BVlSlTpgBQUlLCww8/zKpVq9rv0zSN8vJyBg0aBEBGRkaHx33uued48cUXqaioQFEUnE5nj8lPYmIiABUVFWRlZXUZZyDeeecdnnrqKY4dO4bf76e1tZVRo0YFdK8QwjiSPAkhTGPixInY7XY2b97M4sWL2483NTXx7rvvcvvtt5OQkMCMGTPYtGkTR44cYfHixSiKArQlRjfddBNLly7t9jlOXAuwe/dunn32WZ5//nlGjhyJqqpMnToVTdPOGOewYcMYMGAAr732GjfccEP7cb/fz+bNm5k/fz4AUVFRtLa2tp+vqqpq/7fb7eaWW25h1apVLFiwAJvNxvLly3t8biGE8WTaTghhGnFxcdx88808+OCDvPvuu3g8HoqKirjtttsYMGAAeXl5ACxZsoT169fz+uuvt0/ZAVx99dX88Y9/JD8/H4DGxkZeffXVbp+vqakJi8VCUlISXq+XJ598EqfT2WOciqLwi1/8gmeeeYYNGzbgcrmorKzknnvuoba2lmuuuQaAnJwcdu3aRUlJCY2Njaxevbr9MdxuN263m6SkJKxWK++88w7vvfdeUP/fhBDhJSNPQghTueGGG3A4HDzyyCMUFhYSGxvLxRdfzO9+9zvsdjsA8+fP55577mHgwIGMGTOm/d5LLrmEpqYmbr/9doqLi4mLi2P69OlcdtllXT7XzJkzmTVrFosWLSI6Opprr72207RedxYvXozdbueZZ55hxYoV7VNuf/vb39rXQs2YMYPFixezdOlSEhMTueGGG9iyZQsAsbGxrFixgttuuw232828efPaR6yEEOamaDJGLIQQvbZ9+3buuOMOnn/+eXJycowORwgRQpI8CSFEH9myZQvl5eV85zvfMToUIUQISfIkhBBCCKGDLBgXQgghhNBBkichhBBCCB0keRJCCCGE0EGSJyGEEEIIHSR5EkIIIYTQQZInIYQQQggd/j+pnUGvnqVNmQAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "743a92c3c2fff1a1f99845518247f7971ad18b7c" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-3 Histogram\nWe can also create a **histogram** of each input variable to get an idea of the distribution.\n\n" + }, + { + "metadata": { + "_uuid": "5da0520ed3e738ee8814b2d91843ed4acec2b6e6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# histograms\ntrain.hist(figsize=(15,20))\nplt.figure()", + "execution_count": 31, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 31, + "data": { + "text/plain": "
" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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+YS33377hsqeFM6ZcikpKYmgoKBc000mE7169eKLL74o0v7Wr1+f5cuXc+DAAebNm8e8efP45ptvirSslI1rz0EFnX/efPNNvvrqK2JjY/n44485fPgwS5cuzXe9sbGxhISEEBISwhdffMHvv/+eqzw+Pp7Ro0dz4MABAgICWLBgAcePHycmJoYtW7aQmppqPKfDZrPRv39/PvvsMz777DM8PT1vOC45AzX8ysDV3ppdu3bRvHnzfIciVatWjd9++42kpCSqV6+OxWLBzc2Nr7/+mtTUVKZNm0atWrXw9PTEYrEAYDabad++PbGxsQDs2bOH7OxsunXrZqz3//7v/6hduzYeHh6MHz+e7777zrg6Ks4jvzyy2Wxs3LiRyZMnU7t2bZo0acLQoUP5+OOPARg1ahQjRowgLi6ORx55hC5duhAdHQ3AV199xcWLFxk5ciQeHh7cd999dO/ePdew0qs2bdpE//79adGiBbVq1WLcuHEVt/NVUEZGBvXq1aNatWo3lDVo0ICMjAwA7rrrLoKCgqhevboxzOqrr77i8OHDpKenM27cODw8PGjatCl///vfjYoUQEBAAN26dcPd3Z3Q0NBcvYUATz/9NBaLhUGDBnHvvfcyevRokpOTOXDgAFOmTMHT0xM/Pz8GDBhgHIPgyoWKnj17YjKZqFGjBuvXr2fixIncfvvtuLm50apVK2NEAsCIESOoW7cujRo1okOHDkYcBeXu9TFaLBbGjh1b+g/eRRUln0JCQoiPjweu9JZs3LiRkJAQANauXcvIkSNp3rw51apVY/To0Xz77be5empGjhyJl5eX0agPDQ01tjls2DCys7M5fvx4gXFe7SXy8fHJd564uDj+8Y9/0LRpU2666SYmTZrExo0bcw0LHDduHDVq1KBVq1a0atXKyKlNmzYxevRovLy8MJvNDBkypCgfn1zDWXLp6jEyr1y69hhamAceeIBbbrkFNzc32rdvT+fOnYvU4yild/056NFHHy3w/BMXF8fTTz9N/fr18fb25umnnzbqQtdLTEwkKSmJPn360Lp1a5o2bWrk7FU9evQgICAAk8mEh4cH69at47nnnsPLy4vatWszatQoo75Ur149evfuTc2aNalduzZjxoxh37595fsBlYMbf9VSbKGhoQwePJhTp04RGhqa73xPPfUUixcvZtiwYQA8+uijjBw5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xo3UrFmT7du3k5GRke8j84vDbrczZswYzp07xyuvvEKrVq2w2+3s3r2b7du3c999992wjHIvf+WRY8UxduxYxo4di81m49///jcTJkzgiy++KPftRkZG4u7uTkJCAjfddBM///wzx48fzzXP5s2by/Sdga7IYrGwYsUKrFYr7u7upKamkpOTw7fffptr2okTJ7BYLOUay7Jly+jUqRPnzp3jyy+/ZO7cuXz99dfMmzev3LY5evRoHnvsMZYtWwbA4cOHufa5hz4+PuzYsaPctl8VPf/88wQHB7Nr1y46d+5MVlYWM2fOZPr06WX6RNer7yQcNWoU48ePx2az8Z///Ifx48eze/fuYtV/XIV6/Iro6skkODgYd3d3atSowf3330+rVq04efIkTzzxBB06dKBDhw5MnjyZP//8M8/12Gw2VqxYQc+ePenQoQMTJ07k7Nmzec7r7+/PHXfcYbxotmXLlqxZs4ZevXrRq1cvY9qJEycAyMzM5KWXXqJ79+4EBATw2GOPGe/pOnToEAMHDsRisdCvXz/27t1bpp9PVVZQbgCsW7eOPn364O/vz0MPPcQ333wDYPTohoSE0LZtW3JyckhJSWH8+PF07NiRwMBAVq9ebWynoNy52lscHR3NAw88QIcOHXjzzTfzjLd69er87W9/47fffiMjIwObzcbSpUvp3r079913H9OmTTPeaXN1vevXr+eBBx7gySefBP7Xw2mxWOjWrRsfffSRsf4///yTkSNH4u/vz4ABAzh58mQZf+KuJTMzk1mzZnH//ffTtWtXoqKiuHz5MhkZGYwbN45ff/3VuFKZkZGRa9nq1asTHBzMr7/+yvnz54H/9YwsXbqUDh060KVLF7Zv387WrVuN3HnnnXeMdezfv5+HH36Ydu3a0blzZ1555ZVc24iJieGJJ57glltuyfNq/8GDBwkKCqJ9+/bMnDmT7OxsAHr06JFriHtWVhYWi4WffvqJzz//nAMHDrB06VLuvvtuqlevjoeHBw888ABhYWHGMp07d+btt9+mb9++BAQEAPD111/Tr18//P39mTJlCpcvXy7lN+D6iptj+/fvZ8CAAVgsFu6//35efPFFcnJyCt2OyWQiODiY3377zTg2HTt2jMcee4yAgAA6duzItGnTgP/1yL3//vv07NmTdu3asXTpUn7++Wf+7//+j4CAACZPnkxOTk6+cR4+fJiQkBDq1KmDyWTijjvuKFXvZVV19913Gw09uHJ879ChA7fddluuabfccgu+vr4cOHCARx55hICAgBt6eFNSUhg9ejTt27fnwQcfZN26dUZZZmYmYWFh3HvvvTz00EMFjlSoU6cOPXr04LXXXiM6OpoffvgBuDJSICoqigceeIBOnToRHh5u1HPgymtoQkNDadeuHT179syzwZaamkpISAhvvfUW6enpnDp1ir///e94eHjg4eFBQEBAuTdwq7p69eoxY8YMZs6cycWLF1m8eDFNmzalf//+2Gw2li1bZpyvnn32Wf744w/gSj1owoQJdO7cGYvFwpAhQzh27Jix3ilTpjBr1iyeeuop2rZte0PPnslkIiQkhPT0dNLT0wF49dVXc513Tpw4QcuWLY2/H3vssVx1nKsGDx4MXKn7+fv7k5CQUHYfUDlSw6+IbrvtNtzd3Zk+fTrbt283khCuXL0eNWoUO3fuZNOmTZw5c4ZFixbluZ53332XrVu38t5777Fz505uvvlmZs+efcN8drud/fv389NPP/HXv/7VmL5161bWrVvHxo0bb1gmKiqKb775hrVr1/Lll18ydepUTCYTKSkpjBo1ijFjxvDll18yffp0JkyYYCS9lE5BubFp0yYWLVpEVFQUBw4c4M0338TLy8so37BhAytWrCAxMRGTycSYMWNo2bIlO3bsYNWqVaxatYqdO3cCRcud/fv3s3nzZlatWsWSJUtyHRCvys7O5qOPPsJsNuPt7c1HH31EdHQ0q1evZuvWrVy8ePGG9e7bt4+NGzfy9ttvc/r0aUaMGMHgwYPZs2cPMTExuV64u3HjRsaNG8e+ffu45ZZbdM9fId544w2+//57Pv74Yz766CO+/PJL3nrrLerVq2ecDA8ePMjBgwdv6G3Lzs4mNjaWBg0aGO/fAzh9+jTVqlVj165djBw5kueee46EhAQ+/vhjVq5cyauvvmq81DoyMpJRo0Zx4MABEhIScr1f7fjx4xw6dIiQkBBCQkKIjo6+If4NGzawatUqNm/ezNGjR3nrrbcA6Nu3r/EiYIDPP/+cxo0bc8cdd7B7927atWtXpHcebdy4kXfeeYe9e/eSmZnJ2LFjefTRR/nyyy/p2rUr27ZtK94HXgUVN8eqV6/OzJkz2bt3L//+97/57LPPinR/VE5ODjExMdx2223c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MqwGu60SERER0f1Y+JFVWLlyJQAgOzsbaWlpSEhIMPs+PT1d27xuawaBseT2LLlva98eERERUUfEwo+syvjx45GSkgI/Pz8UFxdDp9NBJpNBp9OhpKQESqUSgiA0GTOEVlsBvV4QHxtSYFy71vJ1MlNvzxD28lq8vd3qbU8qlRhVsBMRERF1VLzHjyyqsrISGo1GfJyfnw8PDw94enoiKCgIubm5AIDc3FwEBQVBoVA0GyMiIiIiooZ4xY8sqqqqCgkJCaiqqoJUKoWHhweysrIgkUiwbNkyJCUlITMzE+7u7lCr1eJ6zcWIiIiIiKg+Fn5kUV5eXtixY0ejscDAQOzcudPgGBERERER1ceunkRERERERHaOhR8REREREZGdM7qr5/z583H58mVIpVK4uLhg6dKlCAoKwvnz55GUlITy8nLI5XKo1WoEBAQAQLMxIiIiIiIiMi2jr/ip1Wp89tlnyM7ORlxcHJKTkwEAqampiI2NRV5eHmJjY5GSkiKu01yMiIiIiIiITMvows/N7bf5vSoqKiCRSKDValFYWIjIyEgAQGRkJAoLC1FaWtpsjIiIiIiIiEzPJKN6LlmyBIcOHYIgCNi0aRM0Gg18fX0hk8kAADKZDD4+PtBoNBAEockY52EjIiIiIiIyPZMUfitXrgQAZGdnIy0tDQkJCabYbLM8PV0bPOft7dbIktanI7XTVl4rEREREZE9M+k8fuPHj0dKSgr8/PxQXFwMnU4HmUwGnU6HkpISKJVKCILQZMwQWm0F9HpBfOzt7YZr126Z8uWYhT2005Bi7v5tSKWSRgt2IiIiIiIyL6Pu8ausrIRGoxEf5+fnw8PDA56enggKCkJubi4AIDc3F0FBQVAoFM3GiIiIiIiIyPSMuuJXVVWFhIQEVFVVQSqVwsPDA1lZWZBIJFi2bBmSkpKQmZkJd3d3qNVqcb3mYkRERERERGRaRhV+Xl5e2LFjR6OxwMBA7Ny50+AYERERERERmZbR0zkQERERERGRdWPhR0REREREZOdY+BEREREREdk5Fn5ERERERER2joUfERERERGRnWPhR0REREREZOdY+BEREREREdk5Fn5ERERERER2joUfERERERGRnWPhR0REREREZOdY+BEREREREdk5Fn5ERERERER2joUfERERERGRnXOwdAPIeri5d4az028p4e3tZsHW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\n" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "4757fe5eb0f6348eca563a95c7f949a8cfd0773c", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "mini_train=train[columns]\nf,ax=plt.subplots(1,2,figsize=(20,10))\nmini_train[mini_train['SalePrice']>100000].GarageArea.plot.hist(ax=ax[0],bins=20,edgecolor='black',color='red')\nax[0].set_title('SalePrice>100000')\nx1=list(range(0,85,5))\nax[0].set_xticks(x1)\nmini_train[mini_train['SalePrice']<100000].GarageArea.plot.hist(ax=ax[1],color='green',bins=20,edgecolor='black')\nax[1].set_title('SalePrice<100000')\nx2=list(range(0,85,5))\nax[1].set_xticks(x2)\nplt.show()", + "execution_count": 32, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABJ8AAAJRCAYAAADrvxaPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3X2Y1XWdP/7nDDYYAk7QAAP6zRYFKTfvSNZK3bBVtzXNyksis7XFLNPcDMpLEYhUGiS3LJRKa7uxKGvTMJNSunEr71KuQsu01FQGGAcsQYGYc35/+HNWEmSAec84M4/Hdc314bzf5/M+rzkO+Jrn5+bUVKvVagAAAACggNruLgAAAACA3kv4BAAAAEAxwicAAAAAihE+AQAAAFCM8AkAAACAYoRPAAAAABQjfAK2y8SJE/PLX/6yyNoHHnhgHnnkkSJrAwD0ZHowoCcTPkEfdeedd2bSpEk5+OCDc8ghh2TSpEn5zW9+02nrP/rooxk7dmwOPPDAHHjggZk4cWK+8IUvvOA+d999d/bcc89Oq+GF3HDDDZk0aVL233//vPvd737e/O9+97u87W1vy/7775+3ve1t+d3vftc+V61Wc8kll2TChAmZMGFCLrnkklSr1eL7AgA9nx5MDwZ9kfAJ+qC1a9fm/e9/f04++eTcfvvt+fnPf54zzzwzdXV1nf5ad9xxR+6+++586lOfyvz58/Pzn//8ec/ZtGlTp73e448/3qHn1dfX55RTTslpp532vLmNGzfmjDPOyHHHHZc77rgjb33rW3PGGWdk48aNSZJvfetbuemmm3Ldddfl+9//fn7yk59k4cKFxfcFAHq23tyDvZDn9md6MOibhE/QBz344INJkmOPPTb9+vXLrrvumje84Q3Zd9998+c//zmnnHJK+1Ghj3zkI/nrX/+6xXUqlUq+8IUv5E1velMmTJiQs88+O0888cQWn3vggQdm7733zv33358kGTt2bK6++uocddRROeqoo9rHHn744STJ+vXr88lPfjJvfOMbc/DBB+ed73xn1q9fnyRZunRpJk2alPHjx+e4447Lbbfd1v46n/3sZ/PmN785V155ZVpaWrb6Hrzuda/Lm9/85gwfPvx5c7fffns2bdqU97znPamrq8spp5ySarWaW2+9NUly7bXX5r3vfW9GjBiR4cOH59RTT833vve94vsCAD1bb+7B/t7TTz+da6+9NqecckpOOeWU9nE9GPRNwifog175ylemX79++djHPpaf/exn+ctf/tI+V61Wc/rpp+eWW27JD3/4w6xYsSKf/exnt7jO1772tdx00035+te/nltuuSW77757Zs+e/bznVavV/PrXv84DDzyQV73qVe3jN910U7797W/nhhtueN4+TU1Nueeee7Jw4cLcfvvtmTZtWmpra7Ny5cqcfvrp+cAHPpDbb789H/vYx/KhD30oq1evTpLMnDkz06dPz3333Zdjjjkm73//+/PjH/84f/vb3zr8/jzwwAMZO3Zsampq2sfGjh2bBx54IEly//33Z999922f23fffdsbupL7AgA9W2/uwZ519913Z/r06Tn88MNz3XXX5R3veEf+53/+p0Pvjx4Meq9dursAoOsNHDgw3/jGN/LFL34xF1xwQR5//PEcfvjhufDCC/OKV7wir3jFK5IkQ4YMyamnnprPfe5zW1xn4cKFmTFjRkaMGJEkOfPMM/PGN75xs1O4/+mf/ik1NTV5+ctfno985CM59NBD2+fe9773pb6+/nnrViqVfPe73823v/3t9qNiBx10UJLkuuuuy+GHH54jjjgiSfL6178+++23X372s5/lhBNOSG1tbV73utflda97XdauXZsbb7wx//3f/50ZM2bkpJNOyn/+539u8/1Zt25dBg0a9Lz3bN26dUmSp556KgMHDmyfGzRoUJ566qlUq9Wi+wIAPVtv7sFuuOGGXHbZZalWqznhhBOyaNGi9vo6Sg8GvZfwCfqo0aNH55Of/GSS5I9//GOmTZuWiy++OOedd14uuuii3HnnnVm3bl2q1WoGDx68xTWWL1+eD37wg6mt/b+TKGtra9Pa2tr++NZbb80uu2z5n5rGxsYtjq9ZsyYbNmzY4o0vly9fnhtvvDE/+clP2sc2bdqUCRMmPO+5AwcOzNixYzNu3Lj84Q9/aD/VfVt22223rF27drOxdevWZbfddkuSDBgwYLNmZO3atRkwYEBqamqK7gsA9Hy9tQdbuXJlVq5cmSOOOCL77rtvXv7yl2/jnXg+PRj0Xi67AzJ69Oi87W1vy/33359LL700NTU1WbRoUe66667nfRLIc40YMSJf/OIXc+edd7Z//fa3v93iNfxb8txTm5/rZS97Wfr377/Fj/xtbGzM8ccfv9lrLl26NO973/van7NixYp84QtfyJvf/Oacc845ednLXpbrrrsun/nMZzpU195775377rtvs+/7vvvuy957750k2WefffL73/++fe73v/999tlnn+L7AgC9S2/qwU499dTccsstOfTQQ7NgwYIcccQRufjii3Pvvfd28N3Qg0FvJnyCPuiPf/xjvvSlL2XFihVJkubm5lx//fXZf//9s27dugwYMCCDBg3KypUrc+WVV251nXe+85359Kc/ncceeyxJsnr16tx00007XV9tbW3e/va3Z86cOVm5cmXa2tpy9913Z+PGjTnuuOPyk5/8JLfcckva2tqyYcOG3Hbbbe3fy2c/+9n827/9Wx588MF8/OMfz49+9KN88IMfzMiRIzd7jWf33bRpUyqVSjZs2NB+X6hDDjkk/fr1y1e/+tVs3LgxX//615M8c/p6khx//PH58pe/3H6E78tf/nJOOOGE4vsCAD1bb+7BkmfOOj/ppJOycOHCfO1rX0v//v3z/ve/P+95z3van6MHgz6qCvQ5K1asqH7oQx+qvuENb6juv//+1Te84Q3VCy64oPrkk09W//CHP1RPOOGE6gEHHFA97rjjqldddVX1sMMOa9/3jW98Y/UXv/hFtVqtVtva2qpf+tKXqkcddVT1gAMOqB555JHVT33qU9VqtVp95JFHqmPGjKn+7W9/22INY8aMqT700ENbHXv66aerF154YfUNb3hD9aCDDqpOnjy5+vTTT1er1Wp16dKl1Xe9613V1772tdUJEyZUTzvttOpjjz1WrVar1Xvvvbe6bt26bb4H3/3ud6tjxozZ7OtjH/tY+/w999xTPeGEE6r/+I//WH3rW99aveeee9rnKpVKtampqfra1762+trXvrba1NRUrVQqxfcFAHq23tyDbU1bW1v1rrvuan+sB4O+qaZa3cq5nAAAAACwk1x2BwAAAEAxwicAAAAAihE+AQAAAFCM8AkAAACAYoRPAAAAABQjfAIAAACgmF26u4DS1qxZl0ql2unrDh06MEnS2ro2Q4cObN9ua2xH9mltXdvp9QNAT1dbW5OXvWy37i6DLSjZf/19z7StbfL8PmtH9wEAdqwH6/XhU6VSLdL8PHf95263NbYj+5SsHwCgs5Xsv/6+P9rWtrP3AQC2n8vuAAAAAChG+AQAAABAMcInAAAAAIoR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sTvvvDNXXHFFrrrqqiLFAQCwdTvTn9XU1GTKlCmZMGFCkqSpqSnz5s3LhRdemGnTpmXOnDkZP358Lr/88sybNy9z5swp+r0AAL1Xh898Wrp0afbff//Nxvbff//cfffdnV4UAADbtjP9WX19fXvwlCQHHHBAli9fnmXLlqV///7tgdakSZNy4403dm7hAECf0uEzn171qlfl0ksvzdlnn51dd90169evz2WXXZZx48aVrA8AgK3orP6sUqnkm9/8ZiZOnJjm5uaMHDmyfW7IkCGpVCp54oknUl9f36H1hg7t+Z+219AwaItbOpf3FaBv6HD4NGfOnEydOjXjx4/P4MGD89e//jX77bff8z7iFwCArtFZ/dknPvGJDBgwICeffHJ+/OMf73Rdra1rU6lUd3qd7tTS8mQaGgZttqXzeV8Bep7a2prtPtDU4fBpjz32yMKFC9Pc3JxVq1aloaFhs6NiAAB0rc7oz5qamvLwww9nwYIFqa2tTWNjY5YvX94+v3r16tTW1nb4rCcAgL/X4Xs+Jc98Ksptt92W22+/PSNHjszKlSuzYsWKUrUBALANO9OfXXrppVm2bFnmz5+furq6JMl+++2X9evX584770ySLFy4MMccc0yx+gGA3q/D4dPtt9+eY445JosWLcrll1+eJHn44Ycza9asUrUBAPACdqY/u//++/P5z38+q1atyqRJk3L88cfngx/8YGprazN37tx8/OMfz1FHHZU77rgjH/nIRwp/JwBAb9bhy+4uvvjifPrTn86hhx6a1772tUme+TSV3/zmN8WKAwBg63amP9tnn31y3333bXHuoIMOyqJFizq1VgCg7+rwmU+PPfZYDj300CRJTU1NkuQlL3lJ2traylQGAMAL0p8BAD1Bh8On0aNH55Zbbtls7Je//GXGjBnT6UUBALBt+jMAoCfo8GV35557bk4//fT88z//c9avX58ZM2ZkyZIl7fcXAACga+nPAICeoMNnPh1wwAH5/ve/n7333jtvf/vbs8cee+Q73/lOXvOa15SsDwCArdCfAQA9QYfOfGpra8u///u/56qrrsppp51WuiYAALZBfwYA9BQdCp/69euXRx99NJVKpXQ90OUOfvXeeaRlVXeXAQDbRX8GAPQUHb7s7oMf/GBmzZqVxx57LG1tbalUKu1f0JM90rIq1aTIFwCUpD8DAHqC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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "9fe54fd42ea5055cca47338078553c1111cded65", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": " \nmini_train[['SalePrice','OverallQual']].groupby(['OverallQual']).mean().plot.bar()\n ", + "execution_count": 33, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 33, + "data": { + "text/plain": "" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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7tOIESO0e/duH6/OdYmJiVq8eHG7+vtwPm+//bb69++vUaNG6Z///KdGjx7t/P+Rl5fn6+W57NixY5o6dap+/OMf66abbtLkyZOVmJioxx57TI2Njb5eXsDifXw8JCUlRTk5Ob5ehktmzpypnj17ql+/fnr11VfVuXNnPfnkk7LZbBo7dqw2b97s6yW6ZNKkSbr99ttVXV2tFStW6A9/+INSU1OVl5en9evXa926db5eokuuvPJKxcfH68y/msXFxerevbssFoveffddH67OPb/61a/01ltvSZIeeugh2e12paWladu2bTpy5IiefPJJH6/QNampqdq6dask6ZZbbtHs2bN17bXX6vDhw8rIyNCmTZt8vELXDB06VMOHD1dOTo5iY2N18803KyUlReHh4b5emlvGjh2r7OxsVVVVacaMGVq1apX69++vgoICZWRktJvPWZMnT9avf/1rDRkyRFu3blVFRYV++9vfavny5erQoYOysrJ8vUS3VVRU6MSJE5Kk2NhYRUZG+nhF57L5egHt2ff967uiosKLK7kwhYWFeuqppyRJI0aM0EMPPaTf/e53evbZZ328MvfU1tZq2LBhkqQVK1YoNTVV0jef7L+drz2YMWOG/vGPf+jBBx9Ujx49JH0zQ3v6l+y3zoy3Tz75RG+++aaCg4N1xRVXKCUlxYcrc09DQ4Pz17W1tbr22mslSZdeeqlOnz7tq2W5LTw8XA888IDmzJmjd999V5s2bdKyZct0ww03aNy4cRo0aJCvl+iyvn37SpI6d+6s/v37S5L69OnjyyW57euvv3Z+npo8ebLGjRunmTNnatGiRRo1apSPV+eeo0eP6o9//KPy8/PVrVs3SVJJSYmuuuoqPfjgg7rkkkt8u8AzED4XIDk5+Zx/mX+rsrLSBytqnTM/cVssFmVlZSk7O1vp6elnfcL3d2f+f/jvT+B2u93by2m1GTNmKD8/X/fee6/GjBmjiRMnymKx+HpZrdLY2KiCggI5HA5ZLBYFBwc7t1mt7edO+09+8hM99thjmjVrlhITE7V9+3aNHj1ae/bsUUREhK+X57bg4GCNGjVKo0aNUnFxsd566y0tWrRIO3bs8PXSXGKxWFRQUKCqqiqdOnVK+/btU79+/XT48GHnD7FuD2w2m44ePaqLL75Y+/fvV4cOHSR983fDZmtfX57vu+8+paWl6cUXX3T+3bbb7crJydHcuXP12muv+XiF/9G+PrJ+Jj4+Xq+88oq6d+9+zrYhQ4b4YEWt06tXL3388ccaOHCg87G5c+dq+fLl+tOf/uTDlbknPj5eNTU16tKlixYvXux8/MSJE+rYsaMPV+a+q666SuvXr9dTTz2l2267rV1dVThTfX290tPTnVH67S27mpqadhU+DzzwgJYsWaLBgwcrIiJCa9eu1X333afExEQ98sgjvl6ey873j7Tu3btr+vTpmj59ug9W1DozZ87UxIkTZbVa9cQTT2jFihUqLS3ViRMntHDhQl8vz2UzZ87Ub37zG8XExKi0tFRPPPGEJOnkyZPOq1jtRWVlpfPq1besVqvGjBmjVatW+WhV58drfC5Adna2RowYcd4/oIsXL9aCBQt8sCr3VVZWymKxnPc+/5dffqnLLrvMB6tqO6dOnVJdXZ2io6N9vZRW2bdvnz766COlp6f7eiltpq6uTidPnlSvXr18vRS3nDp1SkePHpXdbldcXJxfvn7h+xw7dkzx8fG+Xkaba25u1oEDBxQbG6uLLrrI18txS1VVlY4cOaJLL71UXbp08fVyWm3ChAmaNGmSfvnLXzqvUDscDuXk5Ojll1/W66+/7uMV/gfhAwAALkhhYaGysrJ04MAB512Q4uJiXXnllVq4cKF69+7t4xX+B+EDAADaRHl5uYqKiiRJcXFxioqK8vGKzkX4AAAAj/G3t3fhxc0AAOCCfNfbuzgcDr97exfCBwAAXJD29PYuhA8AALgg7entXdrPG2kAAAC/NHLkSB07duy820aMGOHl1Xw/XtwMAACMwRUfAABgDMIHAAAYg/ABAADGIHwABKSnn35as2fPliR99dVX6tu3r5qamrxy7g8//FCDBw/2yrkAuIfwAdCmNm3apJSUFF133XUaNGiQsrKyVFVV5etlneOvf/2rxo0bp379+ikxMVGzZ89WcXGxr5cFwMMIHwBtZu3atVq6dKnmzJmjvXv36rXXXtPx48d1++23q7Gxsc3Oc6FXbnbs2KGMjAzdeuut+vvf/67c3FwFBwcrLS3NLyMNQNshfAC0iZqaGj399NNasGCBBg8erODgYPXs2VNPPvmkjh07prVr1+raa689611c8/PzlZiYqNOnT0uS3nzzTd14440aOHCg7rjjjrPeF6Rv377asGGDRo4cqZEjR0qSFi9erCFDhqh///666aabtHfv3hbX6XA4lJ2drTvvvFMpKSkKDQ1VTEyMHn74YXXs2FHr16+XdPatMunc22V//vOfdeONN+r666/XsGHDtHHjxgv/IALwOMIHQJv49NNP1dDQ4IySb3Xu3FlDhgzRwYMH1a9fP+3atcu5LScnR0lJSQoODtY777yj1atX65lnntEHH3ygH/7wh8rIyDjrud555x29/vrr2r59uyTpmmuu0ebNm/XRRx8pOTlZs2bNUkNDw/eu89ChQzp+/LhGjRp11uNWq1UjR47U7t27XZo3Ojpaq1ev1qeffqpHH31WYr4GAAADjklEQVRUjz76qD7//HOXjgXgO4QPgDZRUVGhyMhI2Wzn/iScmJgYVVRUKCUlRbm5uZK+ufKyfft2paSkSJI2btyo9PR09enTRzabTdOnT9eBAwfOuuqTnp6uiIgIhYaGSpLGjBnjPOeUKVPU2Niow4cPt7hOSerWrdt3rtMVN9xwgy6++GJZLBb96Ec/0qBBg1y64gTAt/hZXQDaRGRkpCoqKtTU1HRO/JSWlioyMlIjR47UokWLVFJSosLCQlmtVg0YMECSdPz4cT3yyCPKzs52HudwOFRcXKz4+HhJUlxc3FnPu2bNGr355psqKSmRxWJRTU1Ni+ESGRkpSSopKVGvXr3Ou05XvPfee1q5cqUKCwtlt9tVX1+vK664wqVjAfgO4QOgTVx//fXq0KGDdu3apdGjRzsfr62t1fvvv697771X4eHhGjRokLZv365Dhw5p9OjRslgskr6JmunTpys1NfU7z/HtvpK0d+9evfDCC1q3bp0uv/xyWa1WDRw48Lw/HfpMvXv3VmxsrHbs2KFp06Y5H7fb7dq1a5eGDh0qSerYsaPq6+ud20+ePOn8dWNjo2bOnKns7GwNGzZMwcHBuuuuu1o8NwDf41YXgDYRFham3//+91q8eLHef/99nT59Wl999ZXuuecexcbGasyYMZKklJQUbdmyRTt37nTe5pKkCRMm6Pnnn9cXX3whSaqurtZf/vKX7zxfbW2tgoKCFBUVpaamJj3zzDOqqalpcZ0Wi0Vz587VqlWrlJOTo4aGBpWWlmr+/PmqqKjQpEmTJEkJCQn6+OOPdfz4cVVXV2v16tXO52hsbFRjY6OioqJks9n03nvvac+ePa36uAHwLq74AGgz06ZNU0REhJYsWaKjR4+qS5cuGj58uJYuXaoOHTpIkoYOHar58+erR48euvLKK53HjhgxQrW1tbr33nt17NgxhYWF6ac//aluvPHG857rZz/7mX7+858rKSlJnTp10q233nrOrbDvMnr0aHXo0EGrVq3SggULnLepXnrpJedrfwYNGqTRo0crNTVVkZGRmjZtmvLy8iRJXbp00YIFC3TPPfeosbFRv/jFL5xXigD4N346OwDj7d69WxkZGVq3bp0SEhJ8vRwAHkT4AICkvLw8FRcXa+LEib5eCgAPInwAAIAxeHEzAAAwBuEDAACMQfgAAABjED4AAMAYhA8AADAG4QMAAIzx/wFF6m+wLdDksQAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "8e33e2dd71bafabc2d78c6ee250d5beeefabe841", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train['OverallQual'].value_counts().plot(kind=\"bar\");", + "execution_count": 34, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "b4e3de19781686010c6038f0e3076eb678398169" + }, + "cell_type": "markdown", + "source": "It looks like perhaps two of the input variables have a Gaussian distribution. This is useful to note as we can use algorithms that can exploit this assumption.\n\n" + }, + { + "metadata": { + "_uuid": "3bbff56707484f88625eb8ef309b712ba03f939e" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-4 Multivariate Plots\nNow we can look at the interactions between the variables.\n\nFirst, let’s look at scatterplots of all pairs of attributes. This can be helpful to spot structured relationships between input variables." + }, + { + "metadata": { + "_uuid": "eb4e5d117e4ef40d7668632f42130206a5537bd0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n# scatter plot matrix\npd.plotting.scatter_matrix(train[columns],figsize=(10,10))\nplt.figure()", + "execution_count": 35, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 35, + "data": { + "text/plain": "
" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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n8/GjRupqanhrrvumrF2Dd6wnn/+eSRJ4sILL2TJkiXEYjHeeustJEni/vvvn7H25YJTfWzlguPto4cffhhFUVi9ejU+n6/gxst0GGqF2CePPPIIvb292Gw2gsEgDz/8MGVlZdx000089dRTM9q2Qr9uC739UyHffntOjqhpGr///e8pKSnJxe4Kjng8zrPPPsvmzZuJRqOZk3rdddfh9XqntO97772X5uZmLr/88qzJ89577+Xb3/523rZ7sqiqCsArr7zCU089hSiKfOYzn+Ezn/nMSTn+aAy9YSUSCb761a/y1ltv0dXVxf3338+ll17KDTfcMGPtyxXTObZyyUyO0+Ptox07dvCLX/wi671CGS9Dx/28efOIxWL8+te/5ne/+92UDLVC7JNt27Zl2rxr1y7uvPNO7rnnnhlulUWhXLdjMVH78+G+NF3k27nLiQH46KOP5mI3Bctdd93Fpz71KT796U9nndSvf/3r/PCHP5zSvo8ePTqifxctWsT1118/pf3C9LZ7suzfv5977rmHw4cPoygKTqcTgHQ6fVKOPxpDb1gbNmzgjTfeYPXq1Tz++OO88MILvP322yxatGjG2pcrpnNs5ZKZHKfH20dLlizhwQcfZPXq1Xi9XmKxWMGMl+ky1AqxT3RdR1EU7HY7LS0tPP7449x9993s27dvpptWMNftWEzU/ny4L00X+XbuTu311pNEKBRi7dq1iKJVVScQCLB27Vp+9rOfTXnfF198MbfffjtnnXUWXq+XaDTK+++/z4UXXjjlfU9nuyfLr371KwDuvPNOJEkCrBWfO++886S1YThDb1jnnXceu3bt4qmnnsLr9dLX18d1112X1zevyTKdYyuXzOQ4Pd4+uu+++/jggw/YvHkzra2teL3eghkv02WoFWKffOMb3yAajWZi2QOBAD/4wQ944YUXZrhlhXPdjsVE7c+H+9J0kW/nLqdZwB9Wnn/+eZ599lmam5szJ3Xfvn1ce+21fPKTn5zy/vv7+9m2bRuxWAyv18vSpUspKyvL+3YXMoM3rGg0itfrZcWKFWiallfJKblgusZWLpnpcVoIfZQrBsf94G89/fTT89pQ+7BS6GNyvPbP9PU+3eTTuSsagDlC0zRaW1uJRqP4fD6amppyEtQ5GDS6adMmIpEIgUAgp0Gj09XuQsYwjBHvmabJrbfeyhNPPDEDLZoepnts5ZKZGqeF1Ee5YPv27SN+a75n637YKPQxOZn2D17vkUgEn8/H7NmzC+K3TUS+nbuiAZgD4vE4zz333IiTmoug1bvvvpuFCxeOyKDbtWtXTpJApqvdhczy5ctHlHowTZM9e/bw7rvvzlCrcs90jq1cMpPjtFD6KBc8/PDDqKrKqlWrCiZb98NIoY/Jido/mB0L8Nprr2VKg33sYx9DEIQZbv3UyLtzZxaZMrfffrv5xz/+0QwGg6amaWYoFDL/+Mc/mrfffvuU9/2Zz3zmuN4/Hqaz3YXMVVddZUYikRHv33zzzTPQmuljOsdWLpnJcVoofZQLrr/++uN6P1/53ve+Z951112maZpmW1ubuXDhQlNV1Wk51jvvvGOed95507LvsSj0MTlR+2+88UbTNE3z29/+tvnggw+ar7/+uvnd737XvPfee09aG6eLfDt3hb+mmgcUk0BOLX74wx/icDhGvP+jH/1oBlozfeRbQPJYFFISSCGTj9m6F110Eb29vZkEMYAXXniB6urqE9rfjTfeyObNm5FlGVEUaWlp4cEHH6S5uXlS2zc3N/PSSy/R1NR0QsfPBYU+Jifb/k2bNvHzn/8cgDVr1nDjjTfORHNzSr6du6ILOAcUk0CKFCr5FJA8FjM9Tguhj3JFviWBXHTRRfzDP/wDq1evnvQ2jz32GK2trXz729/myJEjXHzxxezYsQNZlrnxxhv55Cc/ybXXXouu6zz++OO8+uqr/O53v5vUvocbgO+++y53330369atO6Hfd6IMjsnBmNhCG5PjXVNnnnkmCxcuZP/+/bz88sv4/X4Mw+Caa67h17/+9Qy3fOrk03xSXAHMAVdccQUf//jHpy0JZP369VnxT8lkMidBo9PZ7iL5z3SOrVwydJye7KDwQumjXGEYBrquo6pq5v/5xmhG14kYipIk8YlPfCJrZX/r1q384z/+I/v378fpdHLZZZdx7733YrfbM/UQP/WpTyEIAv/4j/+YKRPz05/+lB/96EdIksTXvvY1Pv3pT+fo145OT08P7e3tRKNRKioq0DRtWo+XSya6pt5///0R26TTaR5++OEZaG1uybf55NSbwWaA6QxSv/fee1m4cCFXXHHFtCiBFJNAPrxM59jKJYNB4fPmzeO1115j/fr1Jy0ovFD6KBcMTQKZP39+zpRA8hVFUXj++eezEr5EUeS+++5jyZIldHZ2ctttt/HMM89w880384tf/ILm5mZ+97vfZa0A9vb2Eo1GWbduHW+99RZf/epXueSSSwgEAtPS7m9/+9ukUilaWlrYu3cvhw8fZvPmzaxcuZIrr7xyWo6ZSyZzTe3evTtzX6qoqOCjH/0oLS0tM9zyqZNv80nRAMwBg5XLr7766oJUApmOdhfJf/KtKv1YfOUrX+Gpp57iO9/5DpFIhIsvvpiNGzeybt06/umf/mlaj10ofZQL8lWy7ctf/nImBvCss87is5/97JT29w//8A/88z//M6lUCofDweOPP575bMmSJZn/NzQ0cN1117F+/XpuvvnmMfcnyzJf/vKXkWWZ888/H7fbzcGDBzn99NOn1M6x2LZtWyb+9ZprruFzn/scTzzxBDfffHNBGIATXVOFbuCOR77NJ0UDMAcUk0Cmn/HieqabmYrzmW4uuuiirLEVi8VYv3593gaTz0RQeKH10VTIxyQQgO9///tZrt2plmK6//77ufbaazEMg40bN/LFL36Rp59+mpaWFg4ePMgjjzzC9u3bSSaT6LrO4sWLx91fSUlJ1jzkcrlIJBJTauN4lJeX8+///u80Nzezfv165s2bB5CX7vrRGOuauuiii4DCN3DHY6LffrIpGoA54IYbbuDGG28cEaSeC6v+lltu4aqrrsoEjdbU1HD11VfnJGh0Mu3+9a9/zRNPPMHhw4fxer1ccskl3HXXXZk6TfnCa6+9xve//3327duHw+HgvPPO4+677z7hbMEPA7feeitXX30127ZtY8eOHcyaNYsvfelLead28sEHH3DDDTewb9++jDvYMAzi8fi0H7tQ+igXjCXZlm/xZS6Xi1QqlXmt6zr9/f3HvR9RFDnzzDOZNWsWb775Ji0tLXzzm99k0aJFfOc738Hr9fLkk0/y4osv5rL5U+bRRx/l5ZdfZs+ePZx++ukZ4+GrX/3qDLdsctx6660sX76cffv24fV6qamp4aqrrqKtrQ0ofAN3PCb67SebogGYA07VJJCf/vSn/PjHP+aRRx5h1apVdHV18a1vfYvPfe5z/PKXv8Rut0/594FV9X0qv+WFF17gG9/4Bt/61re49NJLiUaj/Mu//AvXX389v/nNb/LOWM0XbrnlFn7yk59w8OBBtmzZQmlpKU8//TQ1NTXcddddM928DO+//z579uxBkqTM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\n" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "de7fea7986071fafbe0b93933e3beda445cbe373" + }, + "cell_type": "markdown", + "source": "Note the diagonal grouping of some pairs of attributes. This suggests a high correlation and a predictable relationship." + }, + { + "metadata": { + "_uuid": "e0f696ec021ec99c1058a62e22c8b73082fe6fa7" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-5 violinplots" + }, + { + "metadata": { + "_uuid": "e352d2f8340609adf4bf6718b1d2ecee0fa730b5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# violinplots on petal-length for each species\nsns.violinplot(data=train,x=\"Functional\", y=\"SalePrice\")", + "execution_count": 36, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 36, + "data": { + "text/plain": "" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk8AAAG1CAYAAADgJhCMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3XmcU+W9P/DPc5ask8zGAMO+K4iCgqitv2utVrR1a3t7QVuXemvrbb1VW63WDa9tbd21LsVaW2uvVSu9LqCAC2DZQQTZZRgYYJh9zSQzWc/5/ZHJLDBLMiQ5yZzP25cvkpwk52HIJJ88y/cRuq7rICIiIqK4SEY3gIiIiCibMDwRERERJYDhiYiIiCgBDE9ERERECWB4IiIiIkoAwxMRERFRAhieiIiIiBLA8ERERESUAIYnIiIiogQwPBERERElgOGJiIiIKAEMT0REREQJYHgiIiIiSoBidAOyUWOjD5qmG90MIiIiOgGSJJCf70z4cQxPA6BpOsMTERGRSXHYjoiIiCgBDE9ERERECWB4IiIiIkoAwxMRERFRAhieiIiIiBLA8ERERESUAIYnIiIiogQwPBERERElIG3haeXKlbjyyitxxRVX4PLLL8cHH3wAADh48CDmzZuHuXPnYt68eSgrK+t4TLqPEREREfVH6Lqe8lLZuq5jzpw5ePXVVzFlyhTs3bsXV111FbZs2YLrr78e3/72t3HFFVfgnXfewT//+U+88sorAIBrr702rcfiVV/vZYVxIiKiLCdJAoWFOYk/LgVt6flEkoSWlhYAQEtLC4YOHYrGxkbs3r0bl156KQDg0ksvxe7du9HQ0ID6+vq0HiMiIiKKR1r2thNC4KmnnsKPf/xjOBwO+Hw+/PGPf0RlZSWGDRsGWZYBALIsY+jQoaisrISu62k9VlBQEPffZyAplYiIiAaHtISncDiMF154Ac8//zxmzZqFLVu24NZbb8UjjzySjtMnHYftiIiIst9Ah+3SEp727NmDmpoazJo1CwAwa9Ys2O12WK1WVFdXIxKJQJZlRCIR1NTUoLi4GLqup/VYNgqFQgiHw7Db7UY3hYiIyDTSMudp+PDhqKqqwoEDBwAApaWlqK+vx9ixYzF16lQsWbIEALBkyRJMnToVBQUFKCwsTOuxbPTMM4/jgQd+aXQziIiITCUtq+0A4N1338WLL74IIQQA4Kc//SkuvPBClJaW4q677oLH44Hb7cbDDz+MCRMmAEDaj8UrU4btrrtuHgDgr399w+CWEBERZZ+BDtulLTwNJgxPRERE2S/jSxUQERERDQYMT0REREQJYHgiIiIiSgDDExEREVECGJ6IiIiIEsDwRERERJQAhiciIiKiBDA8ERERESWA4YmIiIgoAQxPRERERAlgeCIiIiJKAMMTERERUQIYnoiIiIgSwPBERERElACGJyIiIqIEMDwRERERJYDhiYiIiCgBDE9ERERECWB4IiIiIkoAwxMRERFRAhieiIiIiBLA8ERERESUAIYnIiIiogQwPBERERElgOGJiIiIKAEMT0REREQJYHgiIiIiSgDDExEREVECGJ6IiIiIEsDwRERERJQAhiciIiKiBDA8ERERESWA4YmIiIgoAQxPRERERAlgeCIiIiJKAMMTERERUQIYnoiIiIgSwPBERERElACGJyIiIqIEMDwRERERJYDhiYiIiCgBDE9ERERECWB4IiKihHg8HjQ1NRrdDCLDKEY3gIiIsst99/0CHo8Hf/nL341uCpEhGJ6IiCgh7HUis+OwHREREVECGJ6IiIiIEsDwRERERJQAhiciIiKiBDA8ERHRgOi6bnQTiAzB8ERERAPC8ERmxfBEREQDEolEjG4CkSEYnoiIaEAYnsisGJ6IiGhANE0zuglEhmB4IiKiAdE09jyROTE8ERFR3Lr2NoXDDE9kTgxPREQUt67znNjzRGbF8ERERHHrGpg4YZzMiuGJiIji1nWojuGJzIrhiYiI4tY1MDE8kVkxPBERUdzC4XCPl4nMhOGJiIjiFomEe7xMZCYMT0REFDcO2xExPBERUQIYnogYnoiIKAGc80TE8ERERAnoPueJPU9kTgxPREQUN/Y8ETE8ERFRArr2NjE8kVkxPBERUdy6BiaWKiCzYngiIqK4cbUdURrDUyAQwIIFC3DRRRfhsssuw3333QcAOHjwIObNm4e5c+di3rx5KCsr63hMuo8REVHfus95ChnYEiLjpC08Pfroo7BarVi+fDkWL16MW265BQCwYMECXH311Vi+fDmuvvpq3H///R2PSfcxIiLqW9ehuq6bBBOZSVrCk8/nw9tvv41bbrkFQggAwJAhQ1BfX4/du3fj0ksvBQBceuml2L17NxoaGtJ+jIiI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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "0ed35bceb87051e56316d35a630334518e8b8c64" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-6 pairplot" + }, + { + "metadata": { + "_uuid": "b80350add6f9a742f10bffc4b497562f8bebea95", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Using seaborn pairplot to see the bivariate relation between each pair of features\nsns.set()\ncolumns = ['SalePrice','OverallQual','TotalBsmtSF','GrLivArea','GarageArea','FullBath','YearBuilt','YearRemodAdd']\nsns.pairplot(train[columns],size = 2 ,kind ='scatter')\nplt.show()", + "execution_count": 37, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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6gN/JkZERERERERE1ED4MoiIiIiIiIiIqIHwZ2IFkG090csN3Ct9I597LtmuzYyWJjQFs996sbiGIHthK4pqjdNcx1WNx81jKi9xbrV0jjzW8qrFPFJOjX7+AGPETSOeczblvB689qZauw61mkd4XLlJhmEYlT4IIiIiIiIiIiIqD/5MjIiIiIiIiIiogfBlEBERERERERFRA+HLICIiIiIiIiKiBsKXQUREREREREREDYQvg4iIiIiIiIiIGghfBhERERERERERNRC+DCIiIiIiIiIiaiB8GURERERERERE1ED4MoiIiIiIiIiIqIHwZRARERERERERUQPhyyAiIiIiIiIiogbCl0FERERERERERA2EL4OIiIiIiIiIiBoIXwYRERERERERETUQvgwiIiIiIiIiImogfBlERERERERERNRA+DKIiIiIiIiIiKiB8GUQEREREREREVED4csgIiIiIiIiIqIGwpdBREREREREREQNhC+DiIiIiIiIiIgaCF8GERERERERERE1EL4MIiIiIiIiIiJqIHwZRERERERERETUQHyVPoBaNDw8Bl030NYWwshItNKHUxHVfu4dHeGK7l/ESC2q9rKdilznUsk4yRYj1VgGjXpMlY6Rww5rrrrr7qUaY8RLMY+10jFSS3mknKrp/Bkj1aNaz7laY6SYqvXal1uh16FaY6Ray7URj6uQGOE3g6bB51MqfQgV08jnXu/qqWxr9Vyq8bh5TJVRS+fIY60ujXCO2TT6+eejEa9RI55zteC1N9XbdajW8+Fx5Ycvg4iIiIiIiIiIGghfBhERERERERERNRC+DCIiIiIiIiIiaiDsQLoKKIoMFYCmG1BkCT4AmqZX+rCIapa4p4ZGooAi1+U9FZ7ZjKZg9hQ+GVMxemiiTEdEVF9YN1MujJHa0QjtAqo9zCHkpVyxUfUvg2KxGFavXo3nnnsOwWAQJ510Em6//Xb8+c9/Rm9vLw4ePIjW1lbcddddWLBgAQAUPK8SFEXGSDSB1QODGBqZQGdbM1b1RNAW8jMZEBWgUe6ppqAPF1z/SNZlNqy5CKNlOh6ietIoeYQKxxipHSwrqkaMS/JSztio+p+JfeUrX0EwGMTjjz+ODRs2YOXKlQCAW265BcuXL8fjjz+O5cuX4+abb7bWKXReJaiAVdAAMDQygdUDg1ArelREtYv3FBFNF/MI5cIYqR0sK6pGjEvyUs7YqOqXQePj43j44YexcuVKSJIEAJg9ezaGh4fx6quv4oMf/CAA4IMf/CBeffVVHDhwoOB5laLphlXQwtDIBDTdqNAREdU23lNENF3MI5QLY6R2sKyoGjEuyUs5Y6OqXwbt2rULra2t+OY3v4lLLrkEH/nIR7Blyxbs3r0bc+bMgaIoAABFUdDZ2Yndu3cXPK9SFFlCZ1uzY1pnWzMUWarQERHVNt5TRDRdzCOUC2OkdrCsqBoxLslLOWOjqvsM0jQNu3btwvHHH48bb7wR//3f/42Pf/zjWLt2bUWPq729xfrc0RGe1rZ03cDnP3oavvTD563fBH7+o6dhdmsIcpUng+meez2zx0gtquWyrZV7KleMFKsMilmW1RgX1XhMxSJipJbOsV6OlXmkPpTy/BkjtaNWyqpSytlmbYR4y0dHR7im4rJW80itHlc5Y6OqXwbNnTsXPp/P+lnX3/7t36KtrQ1NTU3Yu3cvNE2DoijQNA1DQ0OYO3cuDMMoaN5UDA+PQdcNdHSEsW/f9LtnPazJh/5PnO7oLXx4eGza2y2lYp17qVT65hcxUouqvWzzIe4pSBJgGJ73VCXjJFuM5FMG+R57scqyGuOiHMdU6Rhpb2+puuvupRpjxEs+x5pv3VzpGJlOHqln5Th/xkjtyLddUCnVGiPF1Ejxlo39OkzlGbBaY6Ray7XWj6uQ9wOFxEhV/0xs1qxZOO200/Dss88CMEcCGx4exoIFC3Dcccfh0UcfBQA8+uijOO644zBr1iy0t7cXNK+SNE2HpOnwGQYkTWcP8kTTJO6pzrYQ7ykiKgjrZsqFMVI72C6gasQcQl7KFRtV/c0gAPjiF7+IVatW4a677oLP58OXv/xlzJw5E7feeit6e3vxb//2b5g5cybuuusua51C5xERERERERER1buqfxk0b948/Pu//3vG9KOPPho/+9nPXNcpdB4RERERERERUb2r6p+JERERERERERFRcfFlEBERERERERFRA+HLICIiIiIiIiKiBsKXQUREREREREREDYQvg4iIiIiIiIiIGghfBhERERERERERNZCSvAw644wzHH/ffffdpdgNERERERERERFNUUleBo2Pjzv+fuCBB0qxGyIiIiIiIiIimqKSvAySJMnxt2EYpdgNERERERERERFNka8UGzUMA0NDQ46XQOl/z5kzpxS7JiIiIiIiIiKiLEryMmhiYgJnnXWW4+XPmWeeaX2WJAnbtm0rxa6JiIiIiIiIiCiLkrwMeumll0qxWSIiIiIiIiIimqaS9BkUCAQy/lNVFbt27YIkSQgEAqXYLRERERERERER5VCSl0EDAwPYuHGj9fdzzz2HM888Ex/4wAdw1lln4eWXXy7FbomIiIiIiIiIKIeSvAy6//778c53vtP6+7bbbsM//uM/4rnnnsOyZcuwZs2aUuyWiIiIiIiIiIhyKMnLoH379uHoo48GAPzv//4vdu3ahU9+8pNoa2vDxz/+cXYeTURERERERERUISV5GRQMBjE+Pg4AePHFF7Fw4UK0tLQAABRFQSKRKMVuiYiIiIiIiIgoh5K8DDrjjDNw22234T//8z9x77334txzz7Xm/fGPf8Thhx9eit0SEREREREREVEOJXkZ1NfXB1VVcdttt+GYY47BRz/6UWvek08+ifPPP78UuyUiIiIiIiIiohx8pdhoa2sr1qxZg4MHD6K1tdUx71Of+hQOHTpUit0SEREREREREVEOJflmkLBkyRLX6eecc04pd0tERERERERERB5K+jLIMIyMadFoFJIklXK3RERERERERETkoSQ/EzvvvPMgSRJisVhG/0DDw8Oe3xgiIiIiIiIiIqLSKsnLoC984QswDAOf/vSn8fnPf96aLkkSZs+ejWOPPXbK2/zmN7+Jb3zjG9iwYQOOOeYY/OEPf8DNN9+MWCyGI488El/5ylfQ3t4OAAXPIyIiIiIiIiKqdyX5mdjixYtx5pln4umnn8bixYut/84444yCXgS98sor+MMf/oAjjzwSAKDrOj73uc/h5ptvxuOPP45TTz0Vd99997TmERERERERERE1gpJ8M0iYOXMmfvWrX2Hbtm2IRqOOefZvDGUTj8dx2223Yc2aNbjiiisAAC+//DKCwSBOPfVUAEB3dzeWLl2K/v7+gucRERERERERETWCkr4MuvHGG/HSSy/h9NNPRzAYLGgba9euxYUXXoh3vOMd1rTdu3fjiCOOsP6eNWsWdF3HwYMHC57X2tpa0PEREREREREREdWSkr4Meuqpp7Bp0ybMnDmzoPW3bt2Kl19+GTfccEORj2x62ttbrM8dHeEKHkllNfK552KPkVpUT2VbreeSK0aKddzFPP9qvJbVeEzFImKkls6Rx1pe5cojtarRzx9gjLhpxHPOppxtVl57U61dh1rNIzyu3Er6MmjBggWIRqMFvwzavHkz3nzzTSxduhQAsGfPHlx11VX4yEc+grfeesta7sCBA5BlGa2trZg7d25B86ZieHgMum6goyOMfftGCzq3Wlft517pm0zESC2q9rKdilznUsk4yRYj+ZRBvsderLKsxrgoxzFVOkba21uq7rp7qcYY8VLMY610jEwnj9Szajp/xkj1qNZzrtYYKaZqvfblVuh1qNYYqdZybcTjKiRGSvoy6Mtf/jI+//nP46yzzsoYsev9739/zvWvueYaXHPNNdbfS5YswXe+8x28613vwgMPPIAtW7bg1FNPxfr16/G+970PAHDiiSdicnJyyvOIiIiIiIiIiBpBSV8G/frXv8bvf/977Nmzx9FnkCRJeb0M8iLLMr785S/jlltucQwRP515RERERERERESNoKQvg37wgx/g5z//eUHDybt58sknrc8nn3wyNmzY4LpcofOIiIiIiIiIiOqdXMqNt7W1YcGCBaXcBRERERERERERTUFJXwZdddVV6O3txbZt27B3717Hf0REREREREREVH4l/ZnYrbfeCsDsO8hOkiRs27atlLsmIiIiIiIiIiIXJX0Z9NJLL5Vy80RERERERERENEUl/ZlYIBBw/HfgwAEcPHgQgUCglLttOIoiw1BkqJIEQ5GhKIUXazG3RZQPf0CBoSjJmFPgDyiVPiSihlPu3M+6pjGUopwZO1QIETdDI9Gyxg3jtfHkKnNdNxgTdWS693ilc0RJvxnU29uLZcuWoaurC7/4xS+watUqSJKE22+/HR/60IdKueuapigyVACabkCRJfgAaJruuexINIHVA4MYGplAZ1szVvVE0Bbye66Tbb/F2hZRPvwBBftH4+i3xVxfTwSzwwEk4lrB2xX30NBIFFDkrPcQUaMrd+4vx/6mUo9SaZSinMU273viNSxdNB+HtQTQFg6iOaBMq86g+lap9q2iyBhPaNh7IIqmgA+TcRVzZoUww68wH9WpXLGmKDJ27jmEL/3webSFm9B93jE4YnYL/IoCBQbjosZMN7dkWx9AWdoxJX319Mwzz+CEE04AYA4z/8Mf/hAPPPAAvv3tb5dytzVNBEXfvz2La/o3oe/fnsVINPH/2Dv38CjKs/9/5rCHbLIkyxkREJCTEDRA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CzXN+++/j/DwcPzyyy81XRWCE71795aNSxEREbh582al7zds2DB06NABERERiIqKwosvvohz5855fH14eDguXbpU6ecT7p1p06YhJSVFdiwzMxMxMTHIycmp8mc5zlMGDx6Mo0ePenz96tWrMWjQIJfjdrsd4eHh+Ouvv6qyurWammrX6OhojBo1ChcvXqzSZ1QlBw8eRHh4OFavXl3TVSkTYgzyUQoKCjBu3Di89NJLyMzMxL59+zBhwgRoNJoqf1ZWVhaOHz+Od999Fx9++CH27dvnUqa6PvoJrmzcuBHx8fHo1KkTYmNjMXfuXNy9e7emq+XCDz/8gL/97W/o3LkzYmJiMG3atHua/BHcc/z4cem/++67Dx9//LH0t9IEpqpJTk7G8ePHcezYMTz33HOYNGmS158JAAsXLgTP89ixYweOHj2KDz/8EA888ICszHfffSf9FgcOHKiWetVWVq9ejcWLF+OVV17BTz/9hIMHD2L+/PnIzs6GzWZzKc+ybJU+f9OmTQgODsbmzZvLLEfGH+9TUVkoi+poL57nsXnzZiI/PozjuHT8+HGEhYXd0/3++c9/4vjx48jMzER0dDTefPPNKqopoTqYNWsW9u3bJ43LFosFc+bMwfTp0xEaGlplzxHHqVdffVWapzz//POYOHGizxq2azM11a779u1Dw4YNMWfOnCp7RlXj6RynpiHGIB9FtHQOHDgQDMNAp9OhR48eaN26NS5fvoyXX34ZMTExiImJwdSpU90aBziOw8qVK/HUU08hJiYGkydPxp07dxTLRkRE4OGHH8b58+cBCCsp69atQ9++fdG3b1/pmLi6YjabsXTpUjz55JOIiorC0KFDYTabAQA///wzkpKS0KVLFwwaNMit6xuhbFavXo133nkHb7zxBo4ePYqvv/4a165dw8iRI2G1WqvsOfc6Wf7uu+8wdepUDB8+HIcPH8bWrVuhVqvxwgsv+KThqq5jNpsxf/589OjRAz179kRaWhpsNhuMRiMmTJiAK1euSCtmRqNRmix16dIFPXr0wJIlSzySCZqmMXDgQNy6dUvSKxcuXMDQoUMRFRWFxx57TJqwi54769evx1NPPYXIyEh89NFH+OOPP/C3v/0NUVFRmDp1Kux2u9t6/vrrr4iPj0dgYCBomsbDDz98T15O9RmTyYQVK1Zg7ty56NevHwICAkBRFNq2bYt3330XGo0GM2bMwNy5czFmzBh07ty5XD0ujg+//PILYmNjZcaj77//HvHx8dLfV69eRVZWFhYsWICffvoJt27dks6JnoArV65EbGystOr4ww8/ICEhAV26dEFSUhLOnj0rXSOOcxEREXjmmWfw/fffV9VPVefxRBb27t2LZ599FpGRkejVqxfef/996XrRU/Sbb77BE088geHDhwMAJk2ahNjYWMmTQ5xbAIKX37hx4xAZGYkhQ4Zg+fLlGDp0qHT+woULGDlyJKKjoxEXF+fiPXb06FHcunULs2bNwvbt22Xj4caNG5GUlIQlS5YgJiZGquv//d//oX///ujatSteeeUVXL16Vbpm0aJF6NWrFyIjIyvsRUDwDCUP38qENWAYBgMGDMCFCxekYydOnEBiYqI0hi1YsECSiRdffBEAkJCQgIiICJksrV69Gt26dUOPHj2wYcOGyr4awQMMBgNmz56NOXPmoKioCB988AGaNWuGwYMHg+M4fPzxx9K3ypQpU5Cfnw9A+I4RdUmXLl0wbNgwWdtPmzYN8+fPxyuvvILOnTu79F2aphEfH4/bt2/j9u3bAIDly5djxowZUplLly4hPDxc+tvdlp+XXnoJgPBtFhERgR07dlTdD1RLqal21el06N+/P86cOSM7/s0336Bfv37o2rUrRo8ejevXrwMo9er66quvpLnCBx98gD///BN///vfERkZiddff122+LF+/Xo8/fTTiImJQXJysszTad++fYiLi0NUVBQWLVrkYmgsKCjA999/j7lz5+LChQsu9dy4cSOefPJJxMTEuOzKKS4uxhtvvIGuXbtiwIABOHnyZEWbpUIQY5CP0rJlSzAMg+nTp+PHH3+UOg8grIi9+uqr2L9/P/73v//hxo0bsomZI1988QV27dqFL7/8Evv370eDBg2wYMECl3I8z+PYsWP4/fff0bZtW+n4rl278N///lfRjT8tLQ2nTp1Ceno6MjMz8cYbb4Cmady8eROvvvoqxo8fj8zMTEyfPh2TJk2SlDDBMwoKCvD+++9j9uzZ6NmzJ9RqNR544AH861//wtWrV7F69Wp07NhRZtw7ffo0YmJiJGVW1uRXydhXmQkxz/NIS0vD+PHjER8fD51Oh8aNG2Px4sXw8/PD559/DkC+zQxw3Wq2YcMG9O/fHxEREejTpw/S09Pv/Ues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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "2544d3c2dd34a360d295019d8cb597c7ef8f66bc" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-7 kdeplot" + }, + { + "metadata": { + "_uuid": "1d07222b89303b386e9e824d52cc73c045667f25", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# seaborn's kdeplot, plots univariate or bivariate density estimates.\n#Size can be changed by tweeking the value used\ncolumns = ['SalePrice','OverallQual','TotalBsmtSF','GrLivArea','GarageArea','FullBath','YearBuilt','YearRemodAdd']\nsns.FacetGrid(train[columns], hue=\"OverallQual\", size=5).map(sns.kdeplot, \"YearBuilt\").add_legend()\nplt.show()", + "execution_count": 38, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaAAAAFcCAYAAACOZmo7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3XlgVPW5+P/3OWfW7AuTjYRFNiObVaxFBS2yqdFQLOJFb++3Kt62/LTXXlut17JUrRdvN2u1LlVaL15tqXVJpICIC6gVF2SLIEIgLCH7NklmO+f8/phkIGabwEwymOf1j2Tm5HyeE3CePJ/zfD5HMU3TRAghhOhn6kAHIIQQYnCSBCSEEGJASAISQggxICQBCSGEGBCSgIQQQgwISUBCCCEGhCQgIYQQA0ISkBBCiAEhCUgIIcSAkAQkhBBiQEgCEkIIMSAkAQkhhBgQloEOIFw1NW4Mo+t9U1NT46ira+nniHoXi3HFYkwQm3HFYkwQm3HFYkwwMHG5XIn9Ot6Z7CtRAVks2kCH0KVYjCsWY4LYjCsWY4LYjCsWY4LYjUsEfSUSkBBCiDOPJCAhhBADQhKQEEKIASEJSAghxICQBCSEEGJASAISQggxICQBCSGEGBCSgIQQQgwISUBCCCEGhCQgIYQQA0ISkBAi6kzTRPc3Y5pd7+coBidJQEKIqGup28nRXb+iqeqDgQ5FxBBJQEKIqPO2HAPA13xkgCMRsUQSkBAi6gKeagD8nqoBjkTEEklAQoioC3jrAPB7a+U+kAiRBCSEiDpdb3sonKljGt6BDUbEDElAQoioMk0DU/disacBoPubBzgiESskAQkhosoItAJgtQ8BQA9IAhJBkoCEEFFl6MEEZHEEE5AhCUi0kQQkhIiqUAXkSAdAD7QMZDgihoSVgEpLS1m4cCFz5sxh4cKFHDx4sNMxW7ZsYf78+UyYMIGVK1d2eZ4DBw4wefLkbt8XQnz1hCogWwoApu4ZyHBEDAkrAS1btoxFixaxfv16Fi1axNKlSzsdk5eXxwMPPMDNN9/c5Tl0XWfZsmXMnDnz9CIWQpxRDMMPgGZJABQMXbrgRFCvCaimpoaSkhIKCgoAKCgooKSkhNra2g7HDR8+nPz8fCwWS5fnefLJJ7nssssYMWLE6UcthDhjmIYPAEWzoWoOSUAipOtscZLy8nIyMzPRNA0ATdPIyMigvLyctLS0sAbZs2cPW7Zs4dlnn+Wxxx47pUDT0xN6fN/lSjyl80ZbLMYVizFBbMYVizFBbMbVXUxGi0It4MpIo/qAE5tV79f4Y/FnJYJ6TUCny+/387Of/YwHH3wwlMRORU2NG8PoegW1y5VIVVXTKZ87WmIxrliMCWIzrliMCWIzrp5iamoMvl5b68PERmuzu9/iH4iflSS88PWagLKzs6moqEDXdTRNQ9d1Kisryc7ODmuAqqoqysrKuPXWWwFobGzENE3cbjf33Xff6UUvhIh5puEDRUVRNVTNjmFIE4II6jUBpaenk5+fT3FxMYWFhRQXF5Ofnx/29FtOTg4ffHBiC/ZHHnmElpYW7rrrrlOPWghxxjB0H6pqA0DV7AS8DQMckYgVYXXBLV++nNWrVzNnzhxWr17NihUrAFi8eDE7d+4E4KOPPmL69OmsWrWKF154genTp7N58+boRS6EOCOYhg+lLQEpqi3UlCBEWPeARo0axZo1azq9/tRTT4X+PGXKFN55551ez3Xbbbf1ITwhxJnONPwo2okE1N6WLYTshCCEiCrDOGkKTrVKBSRCJAEJIaLKNPwoanCyJTgF55dnAglAEpAQIspMI4CitCcgK2BimoGBDUrEBElAQoioMk09lIDUtntBptwHEkgCEkJEmWkEOkzBBV+T+0BCEpAQIspMMwAdpuDA1KUCEpKAhBDRdlIFpLYlIEMqIIEkICFElJlmAEUJ7gMpU3DiZJKAhBBR1fEeUPC/pqkPZEgiRkgCEkJEjWmabRVQWwJq+69pSBu2kAQkhIgqA6CLCkgSkJAEJISIovZKRyog0RVJQEKIqAklILW9CUEqIHGCJCAhRNS0JxqpgERXJAEJIaLmRAXU8R4Q0gUnkAQkhIii9nbr9sqHtvVAUgEJkAQkhIii0BRcewWkKKBocg9IAJKAhBBR9OUuuPY/SwUkQBKQECKa2hNNWxccBKshqYAESAISQkTRl7vg2v8sFZAASUBCiCgKNSGoJyUgVRKQCJIEJISImm7vAckUnEASkBAiir7cBRf8syYVkAAkAQkhoqj7CkgWogpJQEKIKPryTgjtf5YpOAGSgIQQUSRdcKInkoCEEFETqnSUEx81UgGJdpKAhBBRYxrBp6EqinLiRamARBtJQEKIqDFNHU66/wNt94MkAQnCTEClpaUsXLiQOXPmsHDhQg4ePNjpmC1btjB//nwmTJjAypUrO7z36KOPctVVV3H11Vczf/58Nm/eHJHghRAxzgigKFqHlxTZjFS0sfR+CCxbtoxFixZRWFjIK6+8wtKlS3n22Wc7HJOXl8cDDzzAunXr8Pl8Hd6bNGkSN910E06nkz179nDjjTeyZcsWHA5H5K5ECBFzTFPvnIBkJwTRptcKqKamhpKSEgoKCgAoKCigpKSE2traDscNHz6c/Px8LJbOOW3atGk4nU4Axo0bh2ma1NfXRyJ+IUQM6zIBta0DMk1zgKISsaLXCqi8vJzMzEw0LfiPSNM0MjIyKC8vJy0trc8DvvzyywwbNoysrKw+fV96ekKP77tciX2OpT/EYlyxGBPEZlyxGBPEZlxdxdR0TMXwWTu8F2iKp7HCxDUkHkXVOn1Pf8QlYkNYU3CRsnXrVh5++GGeeeaZPn9vTY0bw+j6NyaXK5GqqqbTDS/iYjGuWIwJYjOuWIwJYjOu7mLyeLzohtLhvZaW4C4IlZV1qJp9QOKK9pgiPL1OwWVnZ1NRUYGuB//R6LpOZWUl2dnZfRpo27Zt/PjHP+bRRx/lrLPOOrVohRBnlO7uAYE8lluEkYDS09PJz8+nuLgYgOLiYvLz8/s0/bZjxw7uuOMOfve73zF+/PhTj1YIcUYxDb3DIlQglJCkE06E1Ya9fPlyVq9ezZw5c1i9ejUrVqwAYPHixezcuROAjz76iOnTp7Nq1SpeeOEFpk+fHmq3XrFiBR6Ph6VLl1JYWEhhYSF79+6N0iUJIWJGTxWQbEg66IV1D2jUqFGsWbOm0+tPPfVU6M9TpkzhnXfe6fL7X3zxxVMMTwhxJjNNHVX90n2e9opIEtCgJzshCCGixjQN6GIhKrRNz4lBTRKQECJ6ulwH1JaAMAYiIhFDJAEJIaKmqy640BScVECDniQgIUTUmKbe/RSc3AMa9CQBCSGix9Q77XYgCUi0kwQkhIiarqfg2r6WBDToSQISQkRNcAquu4Wo0oQw2EkCEkJEj9F9E4JMwQlJQEKIqDFNo9s2bJmCE5KAhBBREXzeTxcJSJUpOBEkCUgIER3tFU43TQiDbQquubmZpUuXcvnllzNr1ixuueUWDh06FPVx//Vf/5VPP/0UgBkzZlBVVdVlPDfffDP79+8/rbEmTpzYp+MlAQkhoqI9wSjdNCEMtim4pUuXEggE2LBhA6+//jpXXHEFN910Ez6f77TOGwic2q7iX47nyiuv5Oabb8bj8ZxWPH0hCUgIERUnEpCsAzp8+DCbNm3innvuCT1d+tprryUzM5NXXnmFf//3fw8de/DgQa688koA6uvrueOOO7j22mspLCzk9ddfB+Dvf/873/ve9/jud7/L/PnzAbj99tuZP38+V111FY8++ugpxZOTk8Orr74KdKyWjhw5wty5c4HgU7JvuOEGvvWtb3H11Vfz5ptvnvLPpV+fiCqEGETa7/F8+bHb7V1wg2grnn379jF8+HASEhI6vD5hwgT27dvH3r17qa+vJyUlheLiYq666ioAfvGLX3DdddcxdepUGhoa+Pa3v83UqVMB2LlzJ0VFRaFns61YsYLU1FQCgQA33ngjM2fOZNy4cacUT09SU1N5+umncTgcVFdXc/3113PZZZehKEqffy6SgIQQUdFbBTTYpuC6o6oqM2fOZP369SxcuJC1a9fy+OOPA7B58+YOz07z+/0cPXoUgIsuuqjDg0Gff/551q9fj2EYVFZW8sUXX3SbgHqLpyeBQID777+f3bt3o6oqFRUVVFdX43K5+jyWJCAhRFR0n4BUQBlUXXBjxozh0KFDuN3uDlXH7t27mT9/PqNHj+aXv/wlkyZNIj4+nmHDhgFgGAb/93//R3x8fIfz7d69G6fTGfp669atvPnmmzz//PPExcXxn//5n3i93lOK58YbbwRA0zQMI/h3dPK5/vSnP5GQkMDLL7+MpmlMmzatx7F6IveAhBDRYXTTBQegqIPqHlBeXh6XXXYZ//3f/42uB6/75Zdfpry8nIKCAiZPnkxFRQVPP/00BQUFoe+bNm0af/rTn0Jf79q1q8vzNzU1kZSURFxcHBUVFWzZsuWU4tF1nZkzZwKQm5vL7t27AVi/fn2HsVwuF5qm8fbbb1NZWdn3H0gbSUBCiKjorgIKvTaIEhDAfffdB8Ds2bOZNWsWRUVF/PGPf8RuDz4x9oorrmDt2rWhBgSAe++9lwMHDnD11Vdz1VVX8fDDD3d57mnTpmGxWJg7dy733HMPF1xwQZ/imTZtGs888wzPPPMMVqsVgNtuu42VK1cyf/78DhXODTfcwNq1a7n66qt54403GDFixCn9PAAUM7haLObV1LgxjK5DdbkSqapq6ueIeheLccViTBCbccViTBCbcXUVk7f5KBWfP43rrOtxJo/t8N6RHf9DXOoE0vKu6Pe4os3lSuzX8SKhqqqKW265hQULFoSm4PqD3AMSQkRHdwtR214bTFNwsc7lcvHKK6/0+7gyBSeEiAqZghO9kQQkhIiKHhOQKhWQkAQkhIiW7haiwqDrghNdkwQkhIiK3qfgBs86INE1SUBCiKjobjPS4GsyBSckAQkhosTsbSHqINoLLtatXLmSGTNmMG7cOD7//PN+G1cSkBAiSoJTbN1OwSEJKFZcfvnlPPfccwwdOrRfx5V1QEKIqGivcLpLQIZ+avuHicibMmXKgIwrCUgIERU9NSEEF6JKEwLApo/KeH1rWVTOPevrw5gxZVhUzh0JYU3BlZaWsnDhQubMmcPChQs5ePBgp2O2bNnC/PnzmTBhAitXruzwnq7rrFixgpkzZzJr1izWrFkTkeCFEDGsh50QZCGqgDAroGXLlrFo0SIKCwt55ZVXWLp0Kc8++2yHY/Ly8njggQdYt25dp0fMFhUVUVZWxoYNG6ivr2fevHlMnTqV3NzcyF2JECKm9NyGLeuA2s2YEttVSjT1WgHV1NRQUlIS2iK8oKCAkpISamtrOxw3fPhw8vPzsVg657S1a9eyYMECVFUlLS2NmTNnsm7dughdghAiFoUSTBdt2LIXnIAwKqDy8nIyMzNDzw3XNI2MjAzKy8s7PI2vt3Pk5OSEvs7Ozub48eN9CjQ9PaHH92N1B9pYjCsWY4LYjCsWY4LYjOvLMfnqLTQpGhkZSZ2Oba504G8x++U6YvFnFWvuv/9+NmzYQHV1Nd/97ndJSUnhtddei/q4Z0wTgjyOITJiMSaIzbhiMSaIzbi6iqm5uQUUtctYvR4DXQ9E/TrkcQzhuffee7n33nv7fdxep+Cys7OpqKgIPTVP13UqKyvJzs4Oe5Ds7GyOHTsW+rq8vJysrKxTCFcIcaYwTaPrRagAshmpIIwElJ6eTn5+PsXFxQAUFxeTn58f9vQbwNy5c1mzZg2GYVBbW8vGjRuZM2fOqUcthIh9pt51CzZt2/NIAhr0wmrDXr58OatXr2bOnDmsXr2aFStWALB48WJ27twJwEcffcT06dNZtWoVL7zwAtOnT2fz5s0AFBYWkpuby+zZs7nuuutYsmQJeXl5UbokIUQsMI2eEpAmW/GI8O4BjRo1qsu1O0899VToz1OmTOGdd97p8vs1TQslLSHE4GD2UAEFO+MMTNNEUZR+jUvEDtkLTggRHabedQs2J68Nkt0QBjNJQEKIqOixAmr76JHteAY3SUBCiKgwTaP7e0DtT0mVRoRB7YxZBySEOMOYeteP4+bEFJxUQAOvrq6On/zkJ5SVlWGz2Rg+fDg///nP+9TpfKqkAhJCREVwCq6bj5j216UCGnCKonDLLbewfv16ioqKyMvL45e//GW/jC0VkBAiKkxTR1WtXb4nFdAJTTveomn7pqicO3HyDBInXdbjMSkpKVx44YWhr88991yef/75qMTzZVIBCSGio6edEEJNCFIBxRLDMHj++eeZMWNGv4wnFZAQIip6W4jadlA/RhSbEidd1muV0l/uu+8+4uLiuPHGG/tlPElAQoio6KkNu/3ekFRAsWPlypUcOnSIxx9/HFXtn8kxSUBCiOgw9e6n4KQCiim//vWv2bVrF08++SQ2m63fxpUEJISICqmAzgz79u3jiSeeYMSIEVx//fUA5Obm8uijj0Z9bElAQoioCKcNW7rgBt6YMWPYu3fvgIwtXXBCiOgwdVC7/h33RBOCVECDmSQgIURUmKaO0s1HjCIVkEASkBAiSkxTP7Hn25dJBSSQBCSEiALTNHtciCoVkABJQEKIqAgmlu4fSCdt2EISkBAiCtofty1t2KIn0oYthIi89sTSyxNRZQouNvzgBz/gyJEjqKpKXFwcP/vZz8jPz4/6uJKAhBAR117ZdD8FJ49jiCUrV64kMTERgI0bN3LPPffw0ksvRX1cmYITQkRce2XT22akUgHFhvbkA+B2u1EUpV/GlQpICBF5oSk4qYB683bpP3mz9L2onPubIy/i0pHfCOvY//qv/+Ldd9/FNE3++Mc/RiWeL5MKSAgRcb1NwUkFFHseeOAB3nrrLe644w4eeuihfhlTKiAhRMSFElC3C1GlC67dpSO/EXaV0h/mzZvH0qVLqaurIzU1NapjSQUkhIi8MLvg2tcLiYHT3NxMeXl56OtNmzaRnJxMSkpK1MeWCkgIEXG9dsGhdDhODJzW1lZ++MMf0traiqqqJCcn8/jjj/dLI4IkICFExPW+EFUJVkeGJKCBNmTIEP76178OyNgyBSeEiDizty44gslJmhAGN0lAQojI63UKDlBUTLkHNKiFNQVXWlrK3XffTX19PSkpKaxcuZIRI0Z0OEbXde6//342b96MoijceuutLFiwAICamhp++tOfUl5eTiAQ4MILL+Tee+/FYpEZQCG+inpbiBp6T+4BDWphVUDLli1j0aJFrF+/nkWLFrF06dJOxxQVFVFWVsaGDRv4y1/+wiOPPMKRI0cAePzxxxk1ahRFRUW8+uqr7N69mw0bNkT2SoQQMaP3JgSZghNhJKCamhpKSkooKCgAoKCggJKSEmprazsct3btWhYsWICqqqSlpTFz5kzWrVsHBG84Njc3YxgGPp8Pv99PZmZmFC5HCBET2iub7tYBQbAJQSqgQa3XObDy8nIyMzPRtOA/JE3TyMjIoLy8nLS0tA7H5eTkhL7Ozs7m+PHjQHCn1dtuu41LLrmE1tZWbrjhBs4///w+BZqentDj+y5XYo/vD5RYjCsWY4LYjCsWY4LYjOvkmBSflRogPT0Ju7PrWCssVmw2NerXEos/KxHULzdh1q1bx7hx4/jzn/9Mc3MzixcvZt26dcydOzfsc9TUuDEMs8v3XK5EqqqaIhVuxMRiXLEYE8RmXLEYE8RmXF+OqamxBYC6ulY0d9cfM7oBHo83qtcyED8rSXjh63UKLjs7m4qKCnQ9WCrruk5lZSXZ2dmdjjt27Fjo6/LycrKysgBYvXo111xzDaqqkpiYyIwZM/jggw8ieR1CiFgSThs2mjwRNcb8/ve/Z9y4cXz++ef9Ml6vCSg9PZ38/HyKi4sBKC4uJj8/v8P0G8DcuXNZs2YNhmFQW1vLxo0bmTNnDgC5ubm88847APh8Pt5//33GjBkT6WsRQsSI3haiBt9TZSeEGLJ7924+/fRThg4d2m9jhjUFt3z5cu6++24ee+wxkpKSWLlyJQCLFy/m9ttvZ+LEiRQWFrJ9+3Zmz54NwJIlS8jLywPgnnvuYdmyZVx99dXous6FF17IddddF6VLEkIMtHC64IJNCFIBVW56i4o3NkXl3JmXzyBjxmW9Hufz+fj5z3/Or371K77zne9EJZauhJWARo0axZo1azq9/tRTT4X+rGkaK1as6PL7hw0bxqpVq04xRCHEGaeXzUihvQ1bKqBY8PDDD3PNNdeQm5vbr+PKSlAhRMQFE4uC0kMCkjbsoIwZl4VVpUTLtm3b2LVrF3feeWe/jy1b8QghIs409Z6n35AKKFZ8+OGH7N+/n8svv5wZM2Zw/Phxbr75ZrZs2RL1saUCEkJEnmn0vAgVgnvByT2gAXfrrbdy6623hr6eMWMGjz/+OGPHjo362FIBCSEiLtwKSJoQBjepgIQQERdeApI27Fi0aVN0OvK6IhWQECLyTL3HRahA8H2pgAY1SUBCiIgzDamARO8kAQkhIi44BdfLx4s8jmHQkwQkhIg4M4wpOEXWAQ16koCEEJFnGmGuA5IKaDCTBCSEiLhwuuBkJwQhbdhCiMgzdVB6/nhRZCFqzJgxYwY2mw273Q7AnXfeybRp06I+riQgIUTEmaaOqtp6PkjRAAPTNFEUpV/iEt373e9+1y+7H5xMpuCEEBFnmjpKL1vxnOiSkyposJIKSAgReaYRRhec1naojqL1cr/oK2z7R0f4dGtZVM597teHMXlKeI9YuPPOOzFNk/PPP58f/ehHJCUlRSWmk0kFJISIuLCbEEB2Q4gBzz33HK+++iovvvgipmny85//vF/GlQpICBFx4e2E0FYBDfJOuMlTcsOuUqIlOzsbAJvNxqJFi/j+97/fL+NKBSSEiLj2hai6rnPgwD4Mo4sqp60CMuUe0IBqaWmhqakJANM0Wbt2Lfn5+f0ytlRAQojIa5uCO3hwP++++xb19XWcd97XOxwSqpAGeQU00GpqarjtttvQdR3DMBg1ahTLli3rl7ElAQkhIq59L7jy8qMA7Nr1KTk5uWRl5YSOOTEFJxXQQMrLy+Pll18ekLFlCk4IEXHtU3Dl5UcZOnQYSUnJbNnyZsepuFATglRAg5UkICFERJmmCaaOz+entbWFvLzhjB8/mZaWZpqb3aHjpAISkoCEEBFmAtDkbgYgO3soSUnJwdeaGk8cJhXQoCf3gIQQEdXeVt3U1ER8fAIJCYlobQtNT05AStvvv1IBDV5SAQkhIqstATU2ucnKykFRFJzOODRN65iAZB3QoCcJSAgRUaYRTCiBQIDMzOACR0VRSEhI6mYKTiqgwUoSkBAiotorGsNQQvd+ABITE6UCEh3IPSAhRGS1VTSmCQkJiaGXExOTOH782InHL0gFFDO8Xi+/+MUveP/997Hb7Zx77rncd999UR9XEpAQIqLaKxpT0XA640KvJyYmEQgE8HhacTrjpA07hvzP//wPdrud9evXoygK1dXV/TJuWAmotLSUu+++m/r6elJSUli5ciUjRozocIyu69x///1s3rwZRVG49dZbWbBgQej9tWvX8oc//CH028+qVasYMmRIRC9GCDHw2hOQ3e7s8KC5xMTg9v5NTY3BxNS+F9wgn4Lb88m7lHy0OSrnPmfKNM4+7+Iej2lububll1/m7bffDv199ddnc1gJaNmyZSxatIjCwkJeeeUVli5dyrPPPtvhmKKiIsrKytiwYQP19fXMmzePqVOnkpuby86dO/n973/Pn//8Z1wuF01NTdhsvTwtUQhxZgoloLgOLycknEhAGRlZJ+0FJxXQQDp8+DApKSn8/ve/54MPPiA+Pp4f/vCHTJkyJepj95qAampqKCkpYdWqVQAUFBRw3333UVtbS1paWui4tWvXsmDBAlRVJS0tjZkzZ7Ju3TpuueUW/vSnP3HTTTfhcrmA4M1IIcRXk2kGAHA44ju83n4/qL0RQZEKCICzz7u41yolmnRd5/Dhw5xzzjncddddbN++ne9973u8/vrrJCQkRHXsXhNQeXk5mZmZoYVkmqaRkZFBeXl5hwRUXl5OTs6JjQazs7M5fvw4APv37yc3N5cbbriBlpYWZs2axfe///0+PQc+Pb3nH4TLFZtJLRbjisWYIDbjisWYIDbjao+pxgj+f52altopzsTERPz+VlyuRHwenWNAQoItqtcTiz+rWJKdnY3FYqGgoACAyZMnk5qaSmlpKRMnTozq2P3ShKDrOnv37mXVqlX4fD5uueUWcnJymDdvXtjnqKlxYxhml++5XIlUVTVFKtyIicW4YjEmiM24YjEmiM24To6psrwSAEWxd4ozPj6R6upaqqqa0P2tADQ1NkOUrmcgflZnWsJLS0vjwgsv5N133+WSSy6htLSUmpoahg8fHvWxe10HlJ2dTUVFBboeLJN1XaeysjL0BL2Tjzt27Fjo6/LycrKysgDIyclh7ty52Gw2EhISuPzyy9mxY0ckr0MIESM8rcENR53xnT+IExIScbvbEoJ0wcWMFStW8MQTT3D11Vfzox/9iIceeoikpKSoj9trAkpPTyc/P5/i4mIAiouLyc/P7zD9BjB37lzWrFmDYRjU1tayceNG5syZAwTvG23ZsgXTNPH7/fzzn//k7LPPjsLlCCEGmqc1uAlpfFznBORwOPF6PW3dsLIZaazIy8vjf//3fykqKuKll17i0ksv7Zdxw5qCW758OXfffTePPfYYSUlJrFy5EoDFixdz++23M3HiRAoLC9m+fTuzZ88GYMmSJeTl5QFw1VVXsWvXLq688kpUVeWSSy7h29/+dpQuSQgxkDyeZhwWsNqdnd4zbA50w8Dv92G1SAU02IWVgEaNGsWaNWs6vf7UU0+F/qxpGitWrOjy+1VV5ac//Sk//elPTzFMIcSZwuttAQuoqjX0WqMvwNrDVexodZKdnIXH04q1bV2QVECDl+wFJ4SIKJ832FygKMHfb03T5JnPj1JS10ycCrVpubS2tp7Uhi0V0GAlCUgIETHB+7weABQ1OMVW6fFR2erjymFDuDgtDq8jkYNNwSSFokkFNIhJAhJCRIwvbbWWAAAgAElEQVTH0xpKKO0V0Gd1waaEc1ISOHdIIqruZ7vb33aMKhXQICYJSAgRMW53E6rStl6vrc36s/pmcuPtJNksJMXFk1x/nEN+BU9AB0Ub9DshDGayG7YQImLc7iaCG5yoKIpCkz/A4WYPM4emA8FmpWRvI3UoHGvxYlNU2QtugB05coQlS5aEvm5qasLtdrN169aojy0JSAgRMW53E6pqoqjBj5Y99cHpt/yUE/vCpRDcK+5Yi5eRUgENuNzcXF555ZXQ1w888EBo44Fokyk4IUTEuN1NWC1aaKfr0sZWEq0aWc4Tu98nWC3YjADlLd62KTipgGKFz+ejqKiIa6+9tl/GkwpICBExbncTGXGW0MNOj7V4GRrv6LDxsMPhJM7XwrGWOBRVHfRdcI27K2jcWRGVcydNzCRpfGbYx2/atInMzEzGjx8flXi+TCogIUTEuN1NWK0WFMWCTzeo8vjIibN3OMbhcGD3NFHV6kPHiolUQLHixRdf7LfqB6QCEkJEiGEYNDe7sVpUUDWOt3oxoYsE5MRaeQwjZSjVZiK5g7wCShrftyolWioqKvjwww956KGH+m1MqYCEEBHR0tKCYRhYLCqKYuFYixfoKgE5sLUGH0pXbSTLPaAY0b4JaWpqar+NKQlICBERbncwqVg0FUXRONbsxampJNs6TrQ4HE6sfg92VaHKSBz094BixUsvvdSv028gU3BCiAhpf86Pqga34Slv8ZITb+/05GO73YECuKwq1YF4qYBixPr16/t9TKmAhBARcXICMrByvLVzAwIEKyCARNWgwXDKOqBBTBKQECIi3O4m4uLiwdSpNeLRTZOcOEen4xyO4GtxZoBW04rPUDodIwYHSUBCiIhwu5tITEwCU6fGSAAgK87W6bj2Csih+wCo1ztXSWJwkAQkhIgIt7uJhIRETCNAreFEBdLtnROQpmlYrVZsbY9taDAkAQ1WkoCEEKctEAjQ0tIcTEBmgFrdQZrDikXtenrN4XCieYL7xDXonafpxOAgCUgIcdoaG4Mt2MEEpFMbcJDh6Fz9tLPbHeieFhxKgAZTEtBgJQlICHHaTk5AAV2nXrficvacgHw+LymanwbD2V9hihgjCUgIcdoaGhqAYAKqN+MwUHqpgOx4vcEE1GjG9VeYohtvvvkm8+bNo7CwkGuuuYYNGzb0y7iyEFUIcdoaGhpQVRWnM456I/jsn54rIDter4cUS4C93gR0w0Tr5n6RiC7TNPnJT37Cc889x9ixY9mzZw//8i//wsyZM1HV6NYokoCEEKetoaGB+PhEFAzqSAbA1cs9IL/fT7IWwESl3ucnvYfjv8p2797Nrl27onLuCRMmhPVoBVVVaWoKLiRuamoiIyMj6skHJAEJISKgoaEh1IBQZyaRpOnYlO4rGpst2HqdpAbXAtV6B28CGmiKovDb3/6WH/zgB8TFxdHc3MyTTz7ZL2NLAhJCnLaGhgaGDRuJaQSoN5NIbW2l8a+7sQ5PwXFeFqq940eN3R5MQImKH4Aar58x/R51bBg/fny/PQCuK4FAgCeeeILHHnuM888/n48//pj/+I//4LXXXiM+Pr73E5wGaUIQQpwWv9+Hx+MJdsAFvNSTRJrfhyU7Ed++GjzbOz/t024Ptl47TB8qOnVef3+HLdp89tlnVFZWcv755wNw/vnn43Q62b9/f9THlgQkhDgtbrcbCHbAVZfWEMBCRoqV+EuHYx2Zgu+LWkxfxw1H26fgDMMkgRYaJAENmKysLI4fP86BAwcA2L9/PzU1NQwbNizqY8sUnBDitLQ/Byg+LpFDew5CeiqZmcHWanu+C/+Benz7a7Hnu0Lf0z4FFwjoJCgt1PsC/R63CHK5XCxfvpwf/vCHoUdn/OIXvyAlJSXqY0sCEkKclvbHMDhbVWra+g4yHFYALEPi0FxxeD+rxnb2kNAHXPsUnK4bJNBChSSgAXXNNddwzTXX9Pu4YU3BlZaWsnDhQubMmcPChQs5ePBgp2N0XWfFihXMnDmTWbNmsWbNmk7HHDhwgMmTJ7Ny5crTDlwIERvc7iasVivKkRZq7BYceIi3WkPv288egtHkQ69oDr1mtVpRFIWAbpBAM41+Hd00ByJ8MYDCSkDLli1j0aJFrF+/nkWLFrF06dJOxxQVFVFWVsaGDRv4y1/+wiOPPMKRI0dC7+u6zrJly5g5c2bkohdCDLjGxkaSk5MJlDVS57STSiOKeiIBWYYmAhCocIdeUxQFu92O3x8gQWnBBJqkChp0ek1ANTU1lJSUUFBQAEBBQQElJSXU1tZ2OG7t2rUsWLAAVVVJS0tj5syZrFu3LvT+k08+yWWXXcaIESMiewVCiAHV2NhAki0Bw6dTo1lIVRo6JCDVbkFNdRA4qQKCYCOCP6CTSPB1uQ80+PR6D6i8vJzMzEw0TQOCz/LIyMigvLyctLS0Dsfl5OSEvs7Ozub48eMA7Nmzhy1btvDss8/y2GOPnVKg6ekJPb7vciWe0nmjLRbjisWYIDbjisWYIHbi0nUdt7uRYfYMPPEWPKZKitrIkCEp2JwnxTgylYYdFQxJi0fRgr/3JiTEY5r1JCgtABh2S1SuK1Z+VqKzqDch+P1+fvazn/Hggw+GktipqKlxYxhdzxG7XIlUVTWd8rmjJRbjisWYIDbjisWYILbiamioxzRNnE0KdTlxQIBUGqmt96G5T8ToS7JhBgyO76nEkhFc3KiqFlo9PlKdwQR0uKaJs2zWroY5ZQPxs5KEF75eE1B2djYVFRXouo6maei6TmVlJdnZ2Z2OO3bsGJMmTQJOVERVVVWUlZVx6623AsH5YtM0cbvd3HfffVG4JCFEf2lsrAfA6bFyNMUGnkBwCk7p+NHSnnQCFc2hP9tsdrxNAaxKAKcG9V6Zghtsek1A6enp5OfnU1xcTGFhIcXFxeTn53eYfgOYO3cua9asYfbs2dTX17Nx40aee+45cnJy+OCDD0LHPfLII7S0tHDXXXdF/mqEEP0q9BgGHNQ6VGxeg3haO9wDAlCdVtRke7ARYWIGEGzFbqoJJp1kq0K9TxajDpS33nqLhx9+mEAgQHJyMg8++CB5eXlRHzesLrjly5ezevVq5syZw+rVq1mxYgUAixcvZufOnQAUFhaSm5vL7Nmzue6661iyZEm/XIAQYuA0NtZjV2044pxU6TppFj+KqoXW+5zMkhlPoLIZs20q3W4PNiEAJFmgQZoQBkRDQwN33XUXv/71rykqKmLBggUsX768X8YO6x7QqFGjulzX89RTT4X+rGlaKDH15LbbbutDeEKIWNbY2EACDpx5yRxv9TLS6kU1ur6PY3HF4/u8FqPRi5biwGazY5jBRJVsMSlrlQQ0EA4dOsSQIUMYOXIkAJdeeik/+clPqK2t7TTTFWmyE4IQ4pQ1NtSToSei5yTQXNHCEEcrCl0nIC0t+Ohtva4VLcWB3e7AbEtAiRYDjw4eXcdxGs1KZ6KaYx9RffTDqJx7yNALSM+Z0uMxI0eOpLq6mh07djBp0iSKiooAOnU6R4MkICHEKfH5vHi8HhJwUZtqhwoYojWjmF0nIDXZDgrotR4YGZyCM4zge8maAag0+AI4nIMrAQ20xMREfvOb3/Dggw/i9XqZPn06SUlJp9W1HC5JQEKIU9LY2NaAYI3nOMFMkq66O3XAtVM0FTXFgV7XCgSbENqn4JIsOmCh3hsg02mPfvAxJD1nSq9VSrRddNFFXHTRRQBUV1fz9NNP98tu2PI4BiHEKWloCLZgJ2ekc8ztId6i4eyiA+5kWqoTvc4DtFVA7VNwWvD+j+yGMDCqqqoAMAyDX//611x//fXExcVFfVypgIQQp6SuqhrFVEjOcXGkqZWsOBum4e8lATnwH6jD8ASw2ey07z8arwRQgQZpxR4Qv/3tb/nkk0/w+/1cfPHF3Hnnnf0yriQgIcQpqamoJAkn1uxEyg8c5QJXMmZLANXa/RSalnqiEcGalYBpBidhFAIk2SxSAQ2QBx54YEDGlSk4IUSfmaZJXVMdyVoC9Q4Vn2GS6bRhmL1UQGltzwGq9aAoClabo+2EOimSgAYdSUBCiD5zu5vwGX7SUtKpaA1Om2U57ZhGAEXpPgGpTiuKwxJqRLDZgxWRaQRIsVnl0dyDjCQgIUSfVR8N7nQ/JCuTYy0eVAUynMF7QGoPFRAEqyAj1AnnxDTBNHWS7RYa/QEMeTDdoCEJSAjRZzVHj6OYkD4yhyPNXnITndg0FdPwoag931rWUp3o9V5Mwwy1YptmgBSbBd0Et1/vp6sQA00SkBCiz2pqq0lU47CkxnGk2cOI5HhM0wh2wWk9r+NRk+1gmBhuHw5HcDcE09BJbnsUg2xKOnhIAhJC9IlhGNS1NpAal0KdL4BHNxiZEodp+ABQe0lAWkqw8cCo92C3O9ANQhUQyFqgwUQSkBCiT9xV9fjwkz7ExWF3cFHpyJR4DL0tAam9JKDktk64Bm/bfnCgB/yhBNQgzwUaNCQBCSH6pKr0CABD8nI40uzBpipkJzgwdS9Ar1Nwik1DcVrQGzw4HMF7QLruw2HRsGuqTMENgJUrVzJjxgzGjRvH559/Hnq9tLSUhQsXMmfOHBYuXMjBgwcjOq4kICFEn5SXH0VDZciwbI40exka70BVFAwjmIBU1dbrObQUR2gKzjAU9ECwepK1QAPj8ssv57nnnmPo0KEdXl+2bBmLFi1i/fr1LFq0iKVLl0Z0XNkJQQgRNtM0qXBX4XKmgapxrMXLRZkpABhtFVBv94Ag2Ijg21+H3Z6CYYKhB6ueFJtl0D2Y7r0jNbx7pCYq5744N52LctN7PW7KlM6bodbU1FBSUsKqVasAKCgo4L777ovoc4KkAhJChK3heDXNpods11CONHvQTZO8+OA9nfYmhN6m4KDtPpDfwGZomKaCYQQTULLNKlNwMaK8vJzMzMzQYxk0TSMjI4Py8vKIjSEVkBAibEe/OAhA7ugRfNLYggKMSgruZmDowYaE3poQANS2TjhLq4JhKhhGsOpJsVloCRj4dAObNjh+P74ozCrlq2hw/A0LISKi/PhRnIqd5BwXXzS2MDTejtMS/A3ZCAR3N1Atzl7PoyUHk5TqDrStA2pLQHZpxY4V2dnZVFRUoOvBhcG6rlNZWUl2dnbExpAEJIQIix7QqWytISvBhd+Ew80eRiWdeGaMEWgBRUUJowlBcVhQ7BpGow8UC6YZ/JBrX4wqj2UYeOnp6eTn51NcXAxAcXEx+fn5EX1MtyQgIURYju8/RACdnKF5lDa1Ypgw+qQEpOutqFociqL0ei5FUVCT7ej1HhRVg7YEFFoLJBVQv7r//vuZPn06x48f57vf/S5XXXUVAMuXL2f16tXMmTOH1atXs2LFioiOK/eAhBBhOfDFPjRTJS9/NK/XubEoCsMSHKH3jUALWhjTb+20ZAf+sgbUFAsQnL5LslpQkCm4/nbvvfdy7733dnp91KhRrFmzJmrjSgUkRITpukFzk5fa6mb8X5GNNXVd50jtUXJsLmyJTj5vaGFEogOreuIjxAi0hnX/p52a7MD06iiKBcU0ANBUhUSrRTrhBgmpgES/MEyTd3eUs2nbUY5UurFaVM4elsrcC4cxNi+lX2Np8fhZv/UwH3xWQVV9K4lxNr42ZggFU0eQnuzo/QTdqDjWyO5tx9i/p4qAP/iBqiiQnpFA/uRszp6UhcVyZv7Od6TsEH4zwIis4VS0eqny+PhGhqvDMXqgGaszI+xzailtjQhooJx4BEOKzUK9bMczKEgCElHX4vHz6Eu7+OxQHcMyE5h1QR4en84nn1fx3899wswpufx/C8/rl1j2ltXx+Ku7aXT7GH9WGhecnUF1g4f3dh3ng5IKbr16POeOGdKncwb8Ov98u5SdHx3FatMYc04GrqxErDaNupoWDh+oY/OGfXz87iGmzR7DWeP6dv5YcGDPXmymhZwxI9lS60YBxqcmhN43TRPd14AzeUzY52zfE041LKiKiWEYqKpKst3CsWZvpC9BxCBJQCKqfH6dX/1lO2UVTfzb3HFMn5wTukl9/YzRrHlrPxs/OkKzV+f/zRmLta2lty9M08SoP4Ze8QVG5QH0mjJMdy2mpxFMQNVQEtJwW9P4+Eg8uc5RXPv/LmFEVlLoHFX1rfzh5V088vcdLPnWRM4b6+p+wJO0NPso/ssOaiqbmXj+UC68dCRWW8dr+Pq0ERwra+C9TftZ/9Juzp6UxbRZo7FY+36tA8Hn83G0+ijD1QxsOUnsKiljeIKDJNuJj4+ArxnTDGCxJod9XiXeChYV1dBQFROfz4vD4STFZuWzumYM00QNo6FBnLkkAYmoMU2TVf/Yw8HyRpbM7/yhbrNq3DBrLK4UJy+8sQ+Px8+Sb01EVXv/0DFNE6OqlEDpR/gPfIjZVNV20jg01wi0YZNRnEmgqpgBP/UV5TQdK+VqZwPwMdrWT/FPmoNl+HkoioIrxclPFn2NX77wKU+8upul/zYFlyuxxxha3D5efX47TY0erlwwgeGjul5MqCgKQ4enMP87X+PDLQfZ9v5h6mtbuOLaCTicPT89NBaUlZVimAbDs4ZT5fVT0eqjYFjHv0ufpxYAzRb+dKqiKGjJdlS/gqJAa2tLWwKyEDBNmgM6iVb5iPoqk79dETVvfHyED0oquPbSs3qsKGZfkEdiop2nXt7FC2/sY9GssV0eZ5oGRuUB/Ac+JFD6Eaa7BhQNLXc8lq8VYMkai5KciaJ0vM9ytLqZ+9/7CFfyRfx43gjsRz/Bt3sjng2PoOXkY7/4X9FSc3DYLNx27SSWPv0BT7xawu/Gdn8/w+cNUPSXHTQ1erhqwURyhvX+watpKt+49CyGZCTwRvEeXlr9Kdf8yyTiE3rfOWAgHdj7OXGmnczReWypbQI6Tr8BNDccBsDmzOzTudVkB2pLsBL0epqB9A6PZZAE9NUmf7siKmoaPLz49gEmnpXOld8Y3uvx10wbxaGjDWz48DA5rnguOze4K69pGugVXxA48CGB0o8xm2tBtaDljsc65VtYhn8NxR7f7XlbPAF+/+IO7BaV/1gwicQkB6TPxTphNv49b+Hd+jdaXlyK/eIbsZ59KcnxNm66Mp+H/7aD//3HHq7+xrBO5zRNk03Fe6irbqZg4aSwks/JRudnEBdv47U1O3n1+R0ULppMXHzvizcHQmtrC8dryhmj5GAZmsS2vUcYmegkuS1JmIZOffkmmqs/QrMmodnCn4KDYCOC1hBMQD5vMwDJ9hNPRs3l1JtCROwLKwGVlpZy9913U19fT0pKCitXrmTEiBEdjtF1nfvvv5/NmzejKAq33norCxYsAODRRx9l7dq1qKqK1WrljjvuYNq0aRG/GBEbTNNk9Ya9mJj86+yxYS1MBLjum6M5VtPM/23Yy0itgsyG3QQOfozZUg+aBUvuRCxf/zaW4eei2OJ6PZ9hmjxVtJvqBg8//pevkZZ04sNMUVVs58zAMnIKnjefxLv5TxiVB7BP+w6TRw9h+uQcXnlnP+ePTidnSMcE9/F7ZZTuq+HimaPIHZHatx9Om5xhKVy1YCKv/XUnRS/sYN4Nk7E7Ym867uDB/QAMH5JHmc9PrdfPjJwTK+HdNR/TVPk+qmolJWdG2H/X7dRkBxbDik57BSSLUQeTsBJQ+zMhCgsLeeWVV1i6dCnPPvtsh2OKioooKytjw4YN1NfXM2/ePKZOnUpubi6TJk3ipptuwul0smfPHm688Ua2bNmCwyG/3XwV7TxQy/b9NVz3zdEMSQlvXYhpmpi1ZSwe+hkNde+S/L4bn2bFmjcJy1kXYBk2GcUW/hoTgFe3lLJ9fw03zBrbbau36kzCOfdH+D5+Cd+2IkxPE46ZP2D+pWfx8d5KXti0jx9dd27o+PIjDXy05SBjx2cy8fyhXZ4zXDnDUrji2xN47a87WffibgoWTkKLsTbtA/v2kWTGkT5qKEXVDdhVlQknTb+11O/F4hjC5Ol3UVXV1Ofza8kOLIYdHfB43AA4NRWrqshi1EGg13/t7c+EKCgoAILPhCgpKaG2trbDcWvXrmXBggWoqkpaWhozZ85k3bp1AEybNg2nM/jhMW7cOEzTpL6+PtLXImKAYZq8+PZ+XCkOZk7J7fV409eKb9dGjjz5H7T8fRmUbCQuazjPt07jCetNWC9fgnX0N/qcfLZ/Uc2r7x7k4glZzDiv50ShqCr2C67FftGNBA5to3X9wyTaFa6fPY5dB2rZsT/4rBafN8AbRXtISHIwbfboPv+235XcEal886pxHDvcwKbX9mCaZu/f1E+am93U1FeTo6Rj5CWxq9bNxLSE0C7VpmniazmGI2HEKY+hJtpQzWDl521LQIqikGq3UuuVxahfdb1WQD09E+LkTenKy8vJyckJfZ2dnc3x48c7ne/ll19m2LBhZGVl9SnQ9PSEHt/vrWNpoMRiXNGM6e1PjnC40s1/LjqP7Kzu7wcEmuqo/+fLuD99A9PXij1nDEPm3kp8/lS0uCSmf3qUh/73I1569yA/uHZyn2Ior27mj699xllDk7njxinYw213/ua3aExNpPq1P2C+/yeuLLid194tpfj9g8y4cDjFa3bgbvTwb0suYmjuqU29dcV1WSIY8MZre3BlJjLr6nN6/55++Hd1+PA+AEbljeCwCj7D5PLRWbjSgv8v+jz1HDa8pA7JO62YGhLiaAVMwxs6R06Sk4pmb0SuMxb/HxRB/dqEsHXrVh5++GGeeeaZPn9vTY0bw+j6t0OXK/GUyv9oi8W4ohmTbhg8u7aEXFcC+XnJXY5jBrz4PinCt3MDGDqWUV/HNmEmWePPpaqqCW8z0NzE2UOTmHvhMP7x3kEykx1Mn5zTecAutHoDPLj6YzBN/v3qc2isb+nbRQy9ENvXq2neugZLYjpXXPgNVq3dw4uv7qbkg8Oce2EezgRrxH+GYyZkUFHeyPtvHUC1KEzqoXrsr39XJZ+WkGg6SRyZzYulFQxxWEkKGKGxPY2HAPAGgh/wpxyTMzgV39LsDp0jUVHY1eylorLxtNYCDcT/g5LwwtdrAjr5mRCapnX7TIjs7GyOHTvGpEmTgM4V0bZt2/jxj3/MY489xllnnRXhyxCx4OO9VVTWtfKDeRO6/NAIHC3B884qzKYqLKO+gf2C+ahJ3bc6X3vpWZRVNLF6w14yU52MG9Zz1eEP6Dzy4g7Ka1r44YJJuMK8//RltslXYjbX0vDBq1ww3cVryXZ2vHuItBQHUy7pvaPvVCiKwsUzR9Pc5OXdjftJTHYwso87MkSSx+Ohsq6SMWoOjS4nB0uqmD00vcO0Y8Af/GDXbEndnSYslqR40MHvbw29lm63ETBNGnwBUu2x15whIqPXe0DhPhNi7ty5rFmzBsMwqK2tZePGjcyZMweAHTt2cMcdd/C73/2O8ePHR+EyxEAzTZO17x8iKy2O88Z1XPNjGjrerX+j9bWHQFVxFtyN8/Lv9Zh8ADRV5XuFE3ClOPnNmu2UHKzt9thWb4BHX9rFnrJ6broqnwkje37CZKOviU8qd/DiviKe2PFnfvvJ4/zmkz/w5M5neWX/P9gzejIMPwf/u88yNRksuknepCysUdy9QFUVLr8mH1dWIhtf/Yyq4wNXPR8uPYCJSV7uCD6pa0IBvjakY6LR2xOQpefp8d5oycHvNwIeDCO4h156W0dgjUfuA32VhTUFt3z5cu6++24ee+wxkpKSWLlyJQCLFy/m9ttvZ+LEiRQWFrJ9+3Zmz54NwJIlS8jLC84Nr1ixAo/Hw9KlS0PnfOihhxg3blykr0cMkN2ltZRVuvnuFWd3qH5MbzOtGx9FP1qC9ezp2C+6EcUS/pqXBKeVnyw6j1++sI3frtnOwhlj+ObXhnbYLaG8ppnHXt5FeXUL35k7jqnju76/WO9tYOvxT/jw+DaONQfvT1pVK0OcacRZ4lAUqGiuZFf1Z+imjtVuYXzyUPQvfDRb4INDtUy/qOcKyDQMjNZWzEAATBPFbkd1OMJuWLBaNa749nj+/uw2/vG3Xcz/znkkJPX/QtVDn3+B07ThmjSCbYcrGZMcF1r7004PuFFUG6p2emuYLCkJUAuqGlx3FB+fwJD2BOT1MZreW+7FmSmsBNTdMyGeeuqp0J81Tev2YUUvvvjiKYYnzhRr/3mI1EQ73zjpw99oqaf1H7/CqDuGY/pNWM+efkrnTo63cdei83iyaDfPvf45mz45wvnjXDjtFkrLm9j2eRUOm8YdCyczfkTHytw0TfbV7+eNsnfYXRNcm3RW8nDmjbqS0SlnMSxxKJrasarxGwFKGw5R0vgZB3YFsGoBbGP/yaf7zufQ8dEMz0rEDATwlB3CU3oA76FD+Cor8FdVojc2wpc72TQNS2oqtsws7HnDcI4dR9zYsaiOrqcI4xPsXPntCby0+lPW/m0n8244F5u9/27X+n1+KhoqGR6XwyELNPgDXDGk83Sg4XejWU//focaH0wwmmqGElCi1YJFUaQC+oqTnRDEadt/rIE9ZfUsnDEaa9s6FqO5jpaiBzFbGnDOvQNL7oTTGiPBaeWOBZP5cE8lr390mNfeP4RpQlK8jRnn5XLl1OEkn7SbgG7obKvcwcbD73C46SgJ1njmjJjBhVnnkxHX870Vq2phbOooHDWplLt3kjy2jA/iGhky7i3++eJ+LHqAlr17Mb0eALTEJGzZ2cRPnIQlOQUtPgHFagUFDK8Xo7kZf3U1vuPl1L2+nrp1a1EsFuInTSZp6kXET/4aitpxNjw9I4HZ885h7ZqdbHz1M+ZeOyGsPfIi4eju/egYDBt9Fu9VN+LUVM5J6bzbhO5vQrOe3vQbEKqgVNWkpSW4GFVVFNIdVqqlFfsrTRKQOG3rPigjzm7h0nODTSdGayOtrz2E2dpI3FU/RsscHZFxFEXh6/mZfD0/E39Axx8wcdq1DtNbnoCH945tZdPhLdR56zqTEc0AACAASURBVMmMc7Fo3LVckHUeNi38m9nuJi8biz8jJy+JSzOGc8Ha99CrWlHNSmqT43FNnUr82efgOGsUltTUsKfYDK8Xz4H9uLd9QtNHW3F/8jFWl4vU2XNJnnYpiuXE/5LDzkrjkllj2LxhH++9sZ9LZkXm59ibsn1foKGRevZISnYfZoorCYva+Xax7ndjiwuvO7EniqKAqaGdlIAA0u1WqqQC+kqTBCROS2VdC5/sreLKqcNx2CyYvlZa1/4So6kG55X/GbHk82VWi8bJ+1TWext46/C7bDn2T1oDHkanjOS6sYVMGJKPqvRtdwHTNHm7aBcBr5+RW5+j8s1qLKmpOLJ9bBqRxNbhFs5O83HzhAlYrX3rtFPtduLyzyEu/xySv/UtDr+zgaPbP2DPO3/D/+Gr+B0WTBMMU8dmd2KPSyJniJN920rQOM7Xv3lhn8brK//xJo63VpGdlsnuplYCpsn5Qzp3uZmmiR5wR6QCAlAUK5pi0tLgDr02xGFjb0OLPJbhK0wSkDgtGz4sQ0toJDmvkhc/303toY/xWxswx4/HUfMhiU17SLIlkhnnIichC5czvc8JoTu6oVNSu5f3jn3IrprPME2Tr2VM5PJh0xmR1HkT0d6YpklLyW5K1m+lzDeK0bWf4JowhpTL/h3H6NEEPt/C/LefpvZYPvvUAzzy6ZMsOfcWEqzdb4b6ZX5vK2V7t3H4821UHtmHaRgoVpWElEwctQ3EVzbjyMgkfsJEAhh4mhtprDlOnOUAZTs/40jJS4w4exI5o75G9sjxqFpku/IqPtn//7f35vFVVef+/3vvM88n88mcAIEwhkAEEZFBBFRQC1KHagfH/qxaa2kvrbZ+a723tb1a9VVt1dbbWm2tFouAAziADCrzTBgCIWQeTpIzT3v4/XEgEIEkIAjY/X69Doectc/ez9p7nf3Za61nPQ9RIUHBoAEsa/PjsRjJsR7vBKEqcVQlcUbmgABEnQGDqBDyHfX8SzMbkDVX7K80mgBpnDKqqrKno4q1DVtYq27FMCTOvw+CHgGXnMDoSkOvg7ZgA4F4kIgU7fquQTSQbcsiz55NriOHfHsuuXYP0LcbmT8eYF/HAXZ4K9nl3UMwEcJhsDMlfwITci8m3dKz+/UJ66MohLZuxvv2EoKH6tlWOBu3TWL2/95HQDl649MPvJT47s/4ZtNulgrXsTb0Kc9sfoH7Rt6Jw9hzT8Df3syejcupqdyALMVxpGQyaNRksvsNJTWrAL3BiCpJdCx7D++ihYgH2vHcfie24cl1deFgiCV//4Bo8CD11Xs5sHMjZquDkvLL6D/iUkyWvovgyZBaw9S31oMAhoxs6qpauDo//YTDi3Ii2VM5Yz0gnRGDGMV7TA8o7bDotEXjmgB9RdEESKPPKKrCltYdvHfwQ+qDjejQI/vTmTNyPMPi7djW/BPT4MmYLv1mt5tWTI7TFGqmIdhEQ6iJumAjW9t28knj+q5t0q2puI0u0sypWA0WDKIBvagnJsUISWF8MT91hwUNwKa3MiStlPLMYQxLG3ycJ1tfUGWZwIZ1tL+9hHhDPYaMDOouvplEq8DUG0dhTkslcMwqekEQSJl6B95X51O2ezUjZn+HP+36G09t+iMPjPruCUWos7WBHZ++Q33VNnQ6A4WDK+g3fBypnsLjbuyCXk/qVTOxlZXT+OIfqX/md6RePYu0a67Dardx9U0zWPDyJkIKjJtmpm7vWraveZvKde9TPGwcg0ZNwuY6dQGG5ENFdHMjTWInGWmZ7AzEEQUoSzvxg0HXGqAzKUC6GJHo0cgVGZakc0JLJE6J64sLrMb5hyZAGn1if+dB/rn339QHG8m0pnPzwLm8sTDMwAwXl6e4CS988XByt28cd2M16YwUOvMpdOZ3faaqKp0xH3XBBuoCDfgVH/WdLezt2E9EihJX4iiqglE0YDVYcRjtDE0tJdeRTZEznyJnwWkP5amShP/TNbS/8zaJ1haMOTl47rgLX+YgDry+g5Fj88nwnPjGK9pSCAydQ8HOv9OweRvfG3Mbz279M89tfYnvl9+FWX84rEygk22rF1FTuRGD0cSQsdMpKb8Ms7X3np4pN5eCn/6Mllf/RvuSRcTr6/HceTc2h4mrrh/Owle3sHG9wnXfuJOQr5k9Gz+iausqqrasoqB0NEPGXIEz7dRiLUoNAXyNbfiEEOUFw1nkDVDqsmE/SUI4WUo+CIhfcBHqEUTRgF4vEJFiqKqKIAg4DHrseh2NkdgZOYbG+YcmQBo9Ek5EeOvAu6yu/4wUk5tvD7mJ0VllrNnehD+4mxnT0ol88AyCxYF56j0IYt+alCAIpJjdpJjdDE8fcsKYXYqqnLH5IgAlHse3eiUd772D1N6OqaCQ7Hvuwz6ynFhMZvmfN+BKtfQabqdo3FS27PyE4pqlOMdcyu3DbuGF7S/zwvaXuXvYt6jeuoadn76LosiUVkyh9KKppzxEJhqNeL5zO6b8fFr/+Q/qnvwtufd+n/QsO3NuHcU/X1rP8nf2cMW1gxk74xaGj7+aPRuXs3/bJ9RUbiCvpIwhY6eRktmHiOSqSmRjI80mP8QhnuohVO9jdMbJQ+wcHYI7M3NAgmhAb4AEEolABKMzuTYo22qiKRw/I8fQOP/QBEjjpNQFGnhh+19pj3YyJX8CVxdPw6w3oaoqy9bXkpdupV/NW0iBNiyz5iOaz2wQxjPmrBAO4Vv5MR3L3kP2+zEPKCHrm9/GOnQ4giCgqior3tlDJJxg9vXDeg23I4oiUsXNxNb9L+1L/8iwr/8/bimdy1vr/s6CdT9HF4qQ028o5ZPmYHd/sXhuKVOnoXe5afrzC9Q+/j/kPvAgA4cUM3ZiMZ+tqCYrx0nZmDysjhTKJ81m8Jgr2LvpY6q2rKRu3xY8haWUlE8ku3jwcanKjxCv6kDpiNLk8pNiS2NXSMKu1zGwh2EvOREAQYeoOzM5vQTRwJFnl2BDO6mHBchjNfFJcyeyqqLTPOG+cmgCpHFCNrds5+Vdr2HRW/jh6Hsodh3tFeysbqe+NcSPR3ciVa/HOGYues/Ac2jtiYnVHqJz+Yf4P/sUNR7HOngoqXfPwjJwULdhwu0b66ne52Xc5H4nHXr7PKPKBvDK2vHM8S8nuHExQnuQsv0JIkYJ20UjmTDhtjNWD8dFY9A5nTT8/mkO/c9juB79GSPH5tNc7+fT5fvJyLaTczjhntnqYMSlMymtmELV1lXs27KKVQufx+ZMpXBwBfkDR+FKz+6qvxKXiW5qJJGmo63dy6ARFaz1hRif5e7xhi8nki7YZyInEpAM6SMmI0gEWzpILU323DwWI7Kq0haNk2X58kMSaZxdNAHS6IaiKrxT/QHvHvyAYmcBdw7/Ji5T96GYd9ceotThJ7fmHXT5IzCWXXmOrD0eKeAnuHkT/k/WEK3ah2Aw4Bh7Me7Jl2MuLDpu+7qDHXzy4X6KStIoG9P7cNUR9DqR7FGTWLt2N8HV7xNHR+lFU9mdLrGi8TPSa1czOf/SM1Yv66BS8uc/RP1TT7DjoUfIeeCHTL66lAV/3cT7b1Uy99ujsdqPRoIwmq0MGTud0oqp1O3bQvXOtVSue59da5dhsbnIzC/BnZlHekcG+qhCQ0EY2qHdlorSmWCAGKWldh/xWIRELEIiFiURT77LUgKX8xCiAFXb1mBzpmK39p7DqCdEnRGBZAbUTm87R5zosw+7gDeGY5oAfQXRBEiji6gU5eXK19nauoOLPRXcWDobw+fmdKrqfRyoaeYXnpUIBgfmyXeedGjny0BVVRKtrYR3bCOwcQORvXtAVTFkZpE+9wZc4yegs594orzDG2bZwl2406xcPrP0lJ7m49EwDu9KaqUQNhEu8jjJGX81wwUBnxRkwb7FpJhcjMwcfqaqiik3j/wf/5SGp35L3RO/Iff+B5n+tSG8+fJmlr21i2tuKjsuXI+o01FQOpqC0tFEQn4aD+yk6dAemmv30r6vmizXNdTEKtlW2Qaqwvr6RqyyxKZVx8d+BNDpDej0BoaMMBEMS+zZ8U8AVr4JztQscvoNo3BwBe6MU0tXLupMqEocnSDiD/pRFRVBFMgwG9EJQnIe6PQc/DTOYzQB0gCgLeLl+W1/pTHUzJySWUzOu/SEN+RFqw5wi3MtlkQn5hlnft7nZKiShOT3Ifv9SD4fsbpaogf2Ez2wHzmQdF4wZueQevVM7KMqMOUX9Cgo/s4Ii1/biigKXHX9sFMK9tlwYAcb3v8n0XAAwTOG6qYoE/2riW99F1P5TL495Cae2fw8f9n1D+43OejnKvqi1e/CkJHB8P95jK0//Rl1T/0vufc9wMQZA/lwyW7Wrazm4kknz7VlsTnpN3wc/YaPQ5UV/Iv3oEQSiIPzUfcESc0vYrctnfGGIGWzbsdgsmA0WzAYLRhMFgxGc9fC17ptvyW9YAgDx11CsLONqL+R6t072LNpObs3fEiqp5DBY64gt/+wPj2gJOeSFNw2O4FAGMUXRZdiQScKZFqMNGmecF9JNAG6gOmMJWiMxIjLKiUuK1b96a2K39NexZ93vIKKyr0j76A0teSE2+1v8JHS+CkjbNUYL7r+jMz7yOFkoM6OQ3F8tU3IPl83oTnyrhwTI+wIRk82tuFlmPv3x1IyCFNO3+KS+ToiLH5tG1JC4dqby3D2MXFdLBJi84o3qalcjystm0uvuxO93cN//fFTakwtFG78N/rCkRhT87h7xLd5YuOz/HHbX/jh6O+RZc3o/QB9xJSeRv6Pf0LdE7+l/uknyf3efQwZmc3mz2rJznNROKD3rkJsewuqL459chGdNRsxGAwkikag9waZMmwElh7akqpIKHIEvdGB1ZGC1ZFCRsYoCoZeRiwS5NDuTezZtJw1i/6EOyOX8slzyMzrOSTTEWcGd4qdhkAbUnMIXUryungsRqr8p5jZVuOCQBOgCxBFVVnd1MkH9V6kw6H/TTqRydkpXOpJ6XPcLFVV+bj+ExbsW0ymNYO7h3+rx0jRn378GddZNyDkjcBYdtUp2azKMrHaQ0T27iFaU0OitZl4SwtKMHjctoLJjN7lQud0YszJwVI6GL3Tic7lQu88/HmWB53t1BcnNtX7eXfBDlRFZeYNI0jL7H0di6qqHNqzic3LFxCPhRkydjpDxk5Dp0+uzp9akcfzn43ksawGoiv+hPW6h3EY7dxTdjtPbHyW57b8mXkV9/YaLeFU0Lvc5P9oPnVP/paG3z9D2R3/H82ZNj5cspuv3zYau/Pk3mlSa4jotmYMxW6kDCM1K6vpVzKIDzpCDEmx9Sg+cHQN0IkS0Zks9mR0hrLxHNq9ie1rlrD89WcoGDSaUVPmYLKc+BwIhwXImWJnf20D0bpOTKXJtphjNbHZG8AXT+AyahERvkpoAnSBoagq/zzQxPb2IEPcNi7LTqapXtHYwXt1XnxxiZkFGb3OZ0iKxD/3LOSTxnUMTx/Mt4bchEV/8pvWwZpGLu1chGR24J5yV5+GVRLtXgLr1xHetZNIVVVX+gJ9airGLA+O0RUYMrMwpKeTXphDQDWgd7oQTWd+sllVVSq3NrL6g/3Y7Eau/vpw3Km9JzoL+dvZ+OEbNFbvJNVTyKQr7sWd0b2nNWNsAR9tqudj4yQmty0hvuUdTKOuIdOazndHfIenNz/PH7b9H98vvxvTF0zediw6h4O8ef9F/VNP0PLic4y/+U7e3aiy7K1Krr25DJ3u+GukxCRCH9cg2oxYxuby6YbVqKqCmDuAaGPghIFHP09fwvCIoo6iIReRV1LG7vUfULnufZpr93LR1BvIHTDi+O2PCJA9+d7R3IpT6Y8gChQfdsmuDkQYmaYJ0FcJTYAuMJbVedneHmRabhoTs4+mAbh1gJl3a9tY3dyJRa9jau7Jh2H88QAvbv8bB3wHmVE4hav7TetxzY2iyAQ+eJ48MYLpivkI5pPfeCS/n+CGdQTWryOyby8Axtw8nJdcgrVkEJaBA9G7U477njPDQaz17KSgDgfjrHp/Hwf2tJFXlMLUa0qxWHsWAikRY/2Hy9n48duoKoyc9DVKRk5EPEFaApvZwIwx+fx7lcS4YaNg01voC8vRpeVT7CrgO0Nv5sXtL/N/O//OXcO/eUYX1+psNnIf/BENz/yO0CvPM+bq21iz28/aj6u5ZEr/btuqikp41SHUiITtygG0draxf/9ehg4tY1tIxmXU09/ZuyifyiJUvcHIsEuuIq9kJGuXvsLqRX+iZORllE28Dp3u6O3niABZD1+XoBRGbg2hz7LjsRix6EQO+COMTOtdIDUuHDQBuoDY3h5gZVMHYzJc3cQHkpEFrsxPJyIrfNTQTqHdfML4WQfaD/H4+ucIJcLcNvQbjM4q6/W4NR8toEg+SE3hTIblnXjeJ3qohs73l+Ff9xnIMsacXNKum43jorEYs7JOv9JfAEVR2bmpgXWrqpEkhbETiym/OL/H3qGiKBzcuZYdn7xDJOQjb0AZZROvw95LjLWpFfm8v6GOf/hGc5upiujyF7Be9zCC3kRZxlDmDryW1/cu5I29b/H1gdedsfUzADqLhdwHfkjD75+Gt19iwCXfYuu6Ojy5TvoNSs49qapK+JNapPoAlovzUJx61r63CqvVRu6g4SyorOfynNQ+Dd+eThw4d0YOU296kG2rF7N343K8TTVcMvM72JzJDLZHBMhsFBAEgSAREg0B9Fl2REGgyGHhQCByqqdG4zxHE6ALhGBC4q2aVnKtJmYVnniITRAErinM4FAwyr+qm7l/aCG2Y1b1r23cyGt738Smt/HD0feQ7+jdVTZWvYm0/e9QKfRn1BVf61amKgqh7dvoeH8pkd2VCCYT7omTcF02CVNePqqq0tYcpGb1QVqagnS0hYjHZQDsdhPuNAs5BW4KB6SRkXFmvema6nysWlZFW0uQvKIUJkwb0OOQm6Io1FdtZednS/G1NZCWXcRVt3wPva1vMdUsJj1fm1DM35btpWbCHAp2/oXo6pcxT7wDQRCYmHcJ7dEOPjj0MWa9mWv6zTijIiSaTOTc9wANf3mGAVnLsLgH8eESEVeqldRUC5F1DST2d2AemYVaaOP9ZUvw+TqZMmUGm9pDiAJclOHq07HkhB8QEfWnNgen0+kpn/g1MnL6sW7pqyz7228Ye+Wt5PQbiu5wSgtVjmK3OwnGEkgNQShPfrefw0JlZ4jOWAK3Fhn7K4MmQBcAqqryVk0rMVnh+n5ZPa5QN4giN/b38NyuWt6qaeHmAdkk5AT/2reI1Q1rGZJRwjcH3dSnCXG5rYbwh3+gQU7DMvUO9IddcJVYDP8na+j4YBmJ5ib0Kamkz/k6rssmorPZiEUltq6rY8emevydyXmflHQrGR4HJoseVAj6YzTW+amqbIWl+ygakMaAIZkUD0xHrz/9IarWpgDrVx2kZn87NoeRadcNod+gE6cUAIhFghysXE/V5lUEfW3Y3RlcMvM75JWMJDPTeVx8up6YODKXlVsbeWlLnEcrZiJtXUwisz/GIVMAuLb/lUSkKMtqlqMTRGb2m97j/pRIArk1jByIoYYSqHLS4cSbZiUmqOjTrIhuM8LhtT+i0Yjp8gIUf5gCaqhvTOfjN3dyea4b1RvBODSDJleITe8sJxIJM3nydDI8uWzYWs0Qtx2nsW+3AynuQ2d0nvb6r7ySMtwZOaxZ8n+sWvg8g8dMY+i4K0HQoUghXC4X/tYO5LYwSlRCNOvpd8w8ULkmQF8ZNAG6ANjWHmRnR5AZeWl9Wg2ebTVxeU4qy+q9fNrUyMra1zkUqOeKgkncNvZ62r29u7QqoQ6C7/yOoGRgvWcu3x6YTaKjg86PPsD38QqUcAhTUTGeu76LY1QFgl5PhzfM9jX72LO9CSmh4MlzMvqSQgoHpGI0iURDfiJBH9GQH1mWUBUdwYBIS2OA5vpmPt6/kzVGC4Ul2ZSWFeLJ692Z4ghtzUE2rKmhem8bJrOeMZcVMaIiD4PxeI+uWCRIw4Gd1Fdto7F6F4oik+op5JIJ15A7YMQJ53n6gigK3DJtIP/9t40s9A3ja/k1xNa8iujMQp83FFEQuXHQ11BVhXcPfoiAwFXFV3TVUVVV5LYwiRofiVo/iv+YtS96EUEvgqrSvtd79HOdgC7Vgi7dii7VRDRYjclYTCxWzbjsWuy+XOJtIfxDDOxpWUfbrhbc7hSuuOJqMjM9rG/1EZUVLs7sW+8HQIp3ojf2ffsTYXdnMPXGH7Dpo39RuW4Z7U01DBhkQZbCuFxZNNTXoaCSOJj0hss6Mg8UiFDeB0cJjQsDTYDOcwIJiUU1LeTbzFzqOX7y/mRM8KSwvrWVRYdaSUQD3D38W4zIGNqnvDlqNEj43SeRoiFejl3Nd0tTafzT8wTWrwNFwT5qNClTp2MeMABBEGiq87F5bS0H93nR6aB4gJnsHBk5doimvWvYvaaBWOR4d+tjEQGHAVChZW/yBSIGkx27243V7sZsd2KxOTHbnFhsLhAttLXIVO3ppLk+hNGkp2J8ISMuysNoEpHiMfztfsKBDvzeZnxtDbQ1VuP3NgFgsbsZMHICxUMvPs6z7XTpn+ti6ug8PthYR/mcGygM/YHI+7/Heu1P0aXmIwoiN5XOQVFV3jn4AcFEmOuLr0aq9hPb04bSEQVRQO+xYSxJRZ9pQ3SZEI9ZKJueZqf5gBfZG0b2hpHaIsT3tSMZ21AHxBD3paFL86NmRamprmSbM4GwO4rNZmfcuMvo338goigiqyofN3aQYzVR7Oh7anE57sPsOPmC176i0xu4aNpNpOUUsfHDN/B4XAi6NlJTh6KoCgFnAsO+dkyl6YiCwACXlcrOEJKiohe1wKRfBTQBOo9RVZWFB1tIKCrXF2f1eX1POBHm9b2LONRxEIfta4zw3MqIjJ5TDHQdMx4m/O4TSN56ltYN5mvqRrxPLkQ0m3FPvpyUy6/AkJGBqqoc3Odly7pamuvasJi8FGT7SERqaa/2016ddMV1ZeSQ038YNmcqFpsLi92F2eZEb0h6OyWf/gVcLhPNja3EoxFCgQB11U001zUTDAcIR6IY9IcQiKIq0RPanWoEAZGazTpqNgvI0vEh/I1mK2meIgoHV+ApKCUlq2eHhNNlzqT+7Khu58/LDvL/brgP4b1fEXnnCayz5iO6PIiCyDcGX0+K4kDY4aN93XYMig4xxYzl4jyMxW6EE/TcjiCIAjqXCZ3LBP2SDyWqotJZ8yF0CjhHVxBKmAn6VrPHY0IXEYh05GCPp1FYMKCrh7fVG6A9luCWAdl9Pg+qIiMnAui+YA/oWPoNG4c7I4+Gypfwtx1EtRQjCAKtjgiueiOSN4w+zUp5mpPt7UH2+kIMSTlza6o0zh2aAJ3HbPEGqOwMcVV+eld2yJ5QVZXNrdv5195FBBJBZhROwWhMZXljJ5WdQQa7e/7RqtEgvtd/TWhfPe0teirknRg92bhvvgXHuPHoLBZiUYntG+vZsWE/EV8VFmMDKcZWUFViQQuewkFkFgwiNasAV3p2N1fbnkjNcCALRx0RSsqS9WluCHBwXxvelhB+XxRVltDpYtjsCg67gssNRqOCqsgoiowiy6iqit5gRG80YbY5sdrdOFKzMFsdZ0VwPo/JoOPOWUP41Ssb+cOyeh6Y/iDxd39LePGvsc6aj6pLJba9hUurclHVbLZYDnIoy8c1F12DydL3Xu6xCKJALHEIozUHn0lh07ZDDMmBoQMzKE4bzda/LGZ72MGbzy7nylvGYM9wsryhnWyricHuvjsTSAkfAHqj+7TsPBmpWfnI4TKC3u2sW/lvjJlDaQw1M0B0E69qR59mpcRlxa7XsanNrwnQVwRNgM5TfHGJxYdaKbSbuSSr9x97U6iZN/YuYnfHPnLt2Xx3xLcpcOYhKSqVnWEWHmwhf6iZEwWESXR04F/1If6P3iMRlFAQaEnNo+KW2TiHD0vuv97Pzo27qdu3DT2HMIht2PQqzpRs8gZMI7t4MKmeQsRTTI2tygooKnJMQolJCKKAcNhzTxAEPLlOPLkX3ph/cbaTb80o5c9vV/LaJhs3X/0jIkteJLBwNapQAoKAcUAqpmEZuCM6llS+zs4NT/OtITcyNK30lI+nSFHioXpCSjHr1y7CbreDaCHbLWAvLmbcT+7C9re3WNeSyut/Xk/KxRl47dZT6v1AcvgN+MJzQCfCaElDp1MZNXk2G9atoUMRCLqjOA50opZnozPqGJnm4NOWTsKSfNqhpzTOHzQBOg+RFJV/VDWiqCpzehl680baeffgh6xt2ohJZ+LrA6/j0pyxXXM9elFgbj8Pf9hVyz8PNPHjbDeqohA9eJDQti2Etm0ldqgGAINdYEfuULakjeIH3xlPuDPGtqU7ObR3K0r8IAaxBYuoYnWkUzRkGgWDkrllToSqqqgxGcUfQwnEkANx1HACJSKhRpMvJSqBpADgO/bLehHRokewGBAdRnQuE6LLnHx3mLq8vs53xg/PpqE1SOXmRvZ3ppLF9YCEIG/BfPEQTIOT6R/KHcPJsXv4845XeG7rS0zKG8/MftN7jExxLIlEnIN7V2FCZW91JyUlI6iouBh/w7tEfHuSkQ7MZkbeeQPZG3fw7ooaNpvN2NtC6GMHUS4ZelwU7ZMeK5p0gNCbUk/rnPTEkV5VUelQTO4cVqxawfr6FUyyTiO4sRbHuCLK052sbu5kQ6u/KwqIxoWLJkDnGaqqsuRQK4dCUW7s7yHdfOKht/pgIytqV/NZ00ZEQWRi7iVML5pyQvdqj1HHDCss8Ud48S9vUvbBYuRgAAQBU1YKjjwQczP4U2ASEg5GZ1hY8tICSNRgEJrRCypGm5uiwVMoGjIad0bucU/NakJGagkhtyUnxWVvGDUiHd1AAMGsTwqLWY/otGIw6xFMehAF7A4zwVAMZAU1IqFEJJRIAqkxSGJ/R9duFEFFcBgwupOT8zqXCdFuRDDqIaQYLQAAF71JREFUEUw6BKMu6S12jlEiCeIHOpjul7ki3UUonGCPw0D55FwSq94hvmo5auskTONuQjCYyLJmMG/0vSzc/zYf133C5pbtzB14LSMzhnU714lEAq/XS319Mz5fBy0tzTQ01NIv00tWisi4y+aQmZl8KDA7BxBq30o8XI/Jlg9AxqihqDY3oi9E+q5WPkwYWbX6A/KzLeQMKyQt04nVbsRqM57QgzARbUHQmdAZznyvVG9OLvZNxNrILyrFsmEdOruFhrZ9ZO/pT5VaQ/GYSxjosrK8sZ1R6Q7sBu0WdiGjXb3zCFVVeb/ey7pWHxM8KYxI7b44MybH2d66k9UNa9nXeQCDqOfSnLFMK5xMijnZs0l0dJBoaiRWX0estpZYXS3xhnrSEgkGTriSDUNGkZh4Hf2CYYK+VoIxAx1kEvSqeMRmjOI2Io3NGFEwWl0UDp5E0eDRx03Yq6qK3B5BaggkXy1hUJLrVESXCX22I+ke7DIhOoxJkThBbLIjpGQ4kD635iaRiNPa2kJrUxMtzU10+jqIxCMQADEg4Ki1kKG6yCcDB8d4cYnCUTEy6dG5zUlbUs3oUixnTaDkQAypPkCizo/UEAAVdBlWLONy+aiugyXraimJxrj76h9g2/sO8a3vItXvxHTxjeiLRmHUGfj6wOu4KGsUr+1+k39ufIM14iqKjbmIUfD7O4nFuqclsNsdFBf3J8fWgcVeQkbm0R5p0lNNIOLf3yVA79W2sS8QYVZRFhVD89n97ifsq2yjpi6V/Y0Huu3bYNRhthgwW/SYLQZMZj1F2dUIoovtG+oxWwwYTTqMJj1STCEciWEw6jGadCeMQ9cbBnMGIBCPNGN1DyYvr4ADB/aROvUS1FWdsDPE2zseY/iYK6mS01hW52V28bmJsqFxZhBU9XA45fMcrzeIopzY1IwMxyktGPyyOBW7ZEXlvbo21jR3clGGk2sLMxEFgXAizO6OKra17GBX4w6MwSgeycooczHFQiq6QJhEu5dESwuJ1hbUeBwFgYjBScSVTTQtn5A5jaBgxR+B1lIXYY8VR7WfjOr9GPTNCGoLJjE5CGa2uSgoHUXBwHJSPYXdREeJJJAaAiQagkgNAdRosocjppgx5DjQ5zjQZ1i75nBOhdRUK1VVh2hra6GtrZW2thZ8vk6ONE+3O4W0tAxsNjs6nY5YLEZbWwutrc2oqkp2iofB2YNIN7lRYzJqPPlSIhJyRwQSyaE+BNClWdFn2dBn2dBl2rq5OPf1+qmKiuKLIrWFkVvDSC0hFF9SHESHEUO+C2NJKjr30WG0tbua+b93KxEQuObSIiblhFA++ztKRx26rBL0ZVfSok9j//591NfXIkkJABKijGKCtJR0CtMLKczLQVH0OBxOLBYr0WANLfv+Slrh17Cldk+A17T3JVAVsgbezsqmDpbWebk408WsYwLWqopCqHIXTavX4a2qJSqJxPVWJGc6sj0VyWghIZiQBJVxYz7mwME89uzr2Q1bFAUMRl1SxMwG7E4TDpcZh8uEK9VKpsfRLYPrERoqn0NvdJPZ/2aCwQBvvfU6ubn5jMseReSzetrEBja2vktzySSasoZxncfGmIKTR/Q4F/eGMx3V46tMnwSourqa+fPn09nZidvt5vHHH6eoqKjbNrIs89hjj7Fq1SoEQeCuu+5i7ty5vZb1la+iAKmShBwM0NDuY1FHjAZFZHjEy9DazYQ6Woj5O1GDQawRBXtEwSB1r7+CSNSRQcSdQ8SRRcjgJqCYCcQEFOXodg67gNPQhjFejSq3saf/xbR4hmDvrCWnaiUuk41BQ8vILh6COyOna4W7EpeRm4NITSGkpgBye9IFWjDr0WfbMeQ60Gc7EK3Hr0xXVRVFUZDlpHeaLHd/xeMxOjs76Oxs73qXpKSgmUwm0tMzSUvLIDPTQ3p6JkbjiYcio9EIe/bsYs+enUSjUTyeHEaMGEVWVna3BZ5KKIHSHkFqCyM1J4cKu3psKYd7SG4zos2AYDYg6AVSUmy0twSOilkogeKPovhjyP541/yVYNShy7AmRTjPic558sXCbZ0R/v7BPrZUtWG3GJg4wkOZsIu22l0cUhxEBSNGnUBBTi65/UpJS89km6+Sj+vWUBdsQCfoKPMMpr+jP4NTB5JpSaej7h1C3q3kDp+H+Llo277Gj2lu/JQNjm+wozPK8BQ7N/T3nHReUZVlIvuriOzZTWR/FbG6WuTOzuR56mfFeKWH+NutSAErii0FxeZEMdkQ7XYiigFZb0IWDUiiAVnQI6k64rJAMKIQDCZIHA7FBGBzmMj02MnIdpCV4yQz20Gw5X1C7VuSdRENbN++mc2b1zNlygzS2ozEtjYje3TsjGxklb2QkDObwU2bGJ2ViqdwMClZed0iNGgCdH7TJwH65je/yZw5c7j22mt56623WLBgAS+//HK3bRYuXMjixYt58cUX6ezs5LrrruPvf/87eXl5PZb1lfNBgBRFIRQK4vN1dr38/k4i4RCyLKMXdViMRsw6HSZVwKE3IAfiEJWR4xIxWSamJoiqCiGDSJvLTbs7E78zHZ2UoLhmN9mtLZjiCjpJQaeAKBoRLQ4Es5O43kJEMBCUdASjKuGwhKqqCCQQiGO3y9jNEUy6AAbFhxJvJxrzE1FA5fDNGIFOJYXOvHJCxaUoosiwFDsjHFYKJQGDL4bcEUFuj3QJDqKAPtOa7OHkJIfWjtzcFUUhGPTT2Zk8F8nz0oHP10kikej1nJrNFtzuFHJyPNhsbtLTM7HbT91dOpFIsG9fJTt3biUSiZCenkm/fiUUFBRhtR7vZqxKSnK+qjmUnLvqiHSfszoRAog2Y3LuyWlCl2ZBl25DdBpPyV5FUdi65xDrtlSSCLXgNMZQVTAIegbQwsDoXnQoYLKhy+yHmJKLLiWXBoPI+lANu0KHaA63A5BvtHODDToN6URSLyLV7CbVnILL5KI1KrO1pYV1bUEk9EzLTeeyzwWx7ZO90Six5iY62hYjqwFMB4pRAkGkQAA5GECJhCEaJREMgiyfdD8qIOnNhB1ZBK1Z+I1p+HQuQl3Dpyr5mR2MKN9OoLUEs64/dpeZTw5uJxyNMmLIcPopOSR2eRFMehL9bbwiB2kRTdg7asio24I76iUjMxd3Rh6OlAxyCwuQBRsWu/u0I1ycKpoA9Z1eBcjr9TJ9+nTWrl2LTqdDlmXGjh3LsmXLSE096glz1113MXv2bGbMmAHAo48+Sk5ODnfccUePZX2loyN0UgFKS7Pj9XZfad9YvZOgrx1QQYVYU2Myq6aqoqoqkgL+mJj8VXD4KVkQiBn0qId/nyqgCqAXzUiiiiwoXWUAOkXApOoxqnpEQUQVVBIoxAWJOBIcs62kM9LsKUHW6VF0BmRdsteglyRyfJ1kdrahKDHCxEgIR3/EgipgwYgNE0b06NAhIiKqAioqKgqqqiTfUVFVBQUFUAD18L8iCYwIOgNmkwmjTkAvCsRV2G+z02CzkdDrQFWxJiRMsoRJVTHqVHQ6AVEvIgjJaAWKLCV7MZJEQkoQj8c4tgkZ9EZMJhMmkwm93oAoiknXakFM/h8BURQQRRGTyYJenxz+stqMhENHF4+erp+brKp0drTh9bYRPZx/yGgwHrbHiE4vJm0RRARBQOCoOKMqqIqajLmmgsGgQ5JlEAUQklGa1T7cvJPX4cj/kkNckiQhyRKSJBGLxVDVZO/JZLKAwUokYSQQkYnEJUQ5Tr49QYFDQo36UWPBrt7aEaKiSDQ9HaMQRwEq4yoSBgSMIFrQiU4EwQCqSqrQxDhxN4oQIyCYEUQdxa4ibIajwVmPvw2ox5TJJCKNxIK1uHOmYE0Zdlyd09LstLUFUCUJNRpBiUSQo1HUaLTr/0okghqNIseS5WokghyNEYvE8csmfKqNoN5B0dgOnK4wVfsLqGvwIApxTI4WBEscZDDGdQwRCkg3uZAF2OYQ2JJmJK4X0UsSpTvfRol1Hj77SQRAJ+oxiHr0h1+iqEMURERBONw2dYg6EVN2LjqzGWdqFp6iwb1e7xOdC42+0asTQmNjI1lZWegOB6LU6XRkZmbS2NjYTYAaGxvJOSYlcnZ2Nk1NTb2W9ZWUlJ4Xy33+oqeljT2l/Wt8leh7z/o/g+HAFWf9KOnpR578z4x7dNnEvm03AJh97AdXjDwjx9c4+5x7f1UNDQ0Njf9IehWg7OxsmpubkQ+P7cqyTEtLC9nZ2cdt19DQ0PV3Y2MjHo+n1zINDQ0Njf9MehWgtLQ0Bg8ezJIlSwBYsmQJgwcP7jb8BjBjxgzeeOMNFEWhvb2dDz74gOnTp/dapqGhoaHxn0mfvOD279/P/Pnz8fv9OJ1OHn/8cfr168edd97J/fffz/Dhw5FlmUcffZQ1a9YAcOedd3LDDTcA9FimoaGhofGfyQWzEFVDQ0ND46uF5oSgoaGhoXFO0ARIQ0NDQ+OcoAmQhoaGhsY5QRMgDQ0NDY1zwnmXjuHxxx9n6dKl1NfXs3jxYgYOHAjA8uXLefrpp5OJzlSVe++9l2nTpgEwZcoUjMZkuBWAefPmMWHCBAC2bNnCz3/+c2KxGLm5ufz2t78lLS3trNtVV1fH9773va7vBwIBgsEg69at69XmL2rTihUrePrpp5EkCZfLxa9+9Svy85Ph+HsKLNuXoLNnw66Ojg5+/OMfc+jQIYxGI4WFhTz66KNdrv6DBg1i4MCBXbG8fvOb3zBo0KCzfq7OZbs6mV1fRrvq6Xr0VO/TLTubdlVXV/Pzn/+c1tZW9Ho9w4cP55FHHsFsNlNXV8e0adMoKSnpOsZf/vIXUlK0RHdfGup5xvr169WGhgZ18uTJ6p49e1RVVVVFUdSKioquvysrK9WRI0eqsiyrqqp22/ZYZFlWp06dqq5fv15VVVV99tln1fnz539pdh3LY489pv7iF7/o+vtkNn9Rmzo7O9UxY8aoBw4cUFVVVRcuXKjedtttXd+59dZb1YULF3aV3XrrrX0qO5t2dXR0qJ999lnX93/961+rP/nJT7r+HjhwoBoMBk/LltO1SVXPXbvqza5jORvt6mTXo6d6n27Z2bartrZW3blzZ5cd3//+99Xf//73XWVjxow5ZTs0zhzn3RBcRUXFcVEWAERRJBBIRrwOBAJkZmb2Gt12x44dmEwmKioqALjxxht57733vnS74vE4ixcvZs6cOad17FOxqaamhvT0dIqLiwGYOHEiq1evpr29Ha/Xy65du5g5cyYAM2fOZNeuXb2WnW273G43Y8cejd03cuTIbpEzzgSnalNPnO121Ve7zla7Otn16Knep1t2tu3Ky8tjyJAhQPK3OmLEiDPetjROn/NuCO5ECILAU089xT333IPVaiUUCvHCCy9022bevHmoqsro0aN58MEHcTqdxwVBTU1NRVGUriGmL8MugI8++oisrCyGDh3aq81flOLiYtra2ti2bRsjRoxg8eLFQDL8kaqqJw0s21PZ56NenGm7jt2/oij84x//YMqUKd2+f+uttyLLMpdddhn33XffSfMDnWmbzkW76uu5+jLa1bHXo6d6n27Z6Z6vvtp17P6j0SgLFizgwQcf7PosFAoxe3YylOlVV13F7bfffsrpKjROn/OuB3QiJEni+eef57nnnmP58uX84Q9/4IEHHiAUCgHw6quvsmjRIhYsWICqqjz66KPnhV1HWLBgwXFPqWfLZofDwe9+9zt+9atfMXv2bLxeL06ns0tYzhV9teuXv/wlVquVW265peuzFStW8Oabb/Lqq69SVVXFs88++6XYdK7aVV/P1ZfRrk50Pc4HTtUuSZL4wQ9+wMUXX8zll18OQGZmJh9//DFvvvkmL774IsuWLeNf//rX2TRb43NcEAJUWVlJS0sLo0ePBmD06NFYLBb2798P0DWEYTQaufnmm9m0aVPX58d2t9vb2xFF8Yw8pfbFLoDm5mbWr1/PrFmzun33ZDafCS655BL+8Y9/8Oabb3LLLbcQjUYpKCjoMbBsX4POng27jvD4449TU1PDU0891W0Y84gNdruduXPnfinn6tjjftntqje74MtpV5+/Hj3V+3TLzrZdkGzL8+bNw+Vy8fDDD3dtZzQauxwh0tLSmDVr1hltWxq9c0EIkMfjoampiQMHDgDJ2HRer5eCggLC4XDXHIyqqrzzzjsMHpxMIjVs2DCi0SgbNmwA4LXXXutKine27TrCv//9byZOnNjNs6Ynm88Era2tQHKY4sknn+TGG2/EarX2GFi2r0Fnz4ZdAE8++SQ7duzg2Wef7Ta85vP5iEaTieUkSWLp0qVfyrk6l+2qJ7uOcLbb1YmuR0/1Pt2ys22XoijMnz8fnU7Hf//3f3cbXvN6vV1ZeyORCB999BGlpaWnZZfG6XHexYJ77LHHWLZsGW1tbaSkpOB2u3n77bdZtGgRL774YlcDuv/++5k6dSq1tbXcd999yLKMoij079+fhx9+mMzMTAA2bdrEI4880s09Mz09/azbdYTp06fz0EMPcdlll3V91pvNX9Smhx56iE2bNpFIJBg/fjw//elPu9xyTxZYtreys2nXvn37mDlzJkVFRZjNZiA5efzss8+yefNmfv7znyMIApIkUV5ezk9/+lNstp4TFH5Rm851u+rpGsLZbVc9XY+e6n26ZWfTrhUrVnD33Xd3c+MfNWoUjzzyCMuWLeOZZ55BFEUkSWLSpEn88Ic/POfD1f9JnHcCpKGhoaHxn8EFMQSnoaGhofHVQxMgDQ0NDY1zgiZAGhoaGhrnBE2ANDQ0NDTOCZoAaWhoaGicEzQB0tA4TW677TYWLVoEwBtvvMGtt956ji3S0Liw0ARI47xi3rx5/OQnP+n22bp16xg7diwtLS1n/FjDhg2jvLyc8vJyZs+e3bWYsS+89NJLXHPNNcd9LkkSgwYNoq6u7kyaq6HxlUMTII3zioceeoiVK1eyZs0aAGKxGD/72c/4r//6r1NeUNkTR0IO3X333WzevJmNGzcyd+5c7rvvPrSlcRoaXw6aAGmcV6SkpPDwww/zs5/9jHA4zO9//3vy8/OZPXs2iqLwxz/+kalTpzJ27Fh+8IMf4PP5gGTIlfvvv5/x48dTUVHBrbfe2i0m37x58/jFL37B7bffzsiRI4/r6YiiyKxZs2hvb+9Ke/C73/2O+fPnd21TU1PTLRHeTTfdxJtvvnlcHY4EyJw5cybl5eUsXbr0zJ0gDY2vEJoAaZx3XHnllQwdOpQHH3yQ119/nV/+8pdAMlvlihUrePXVV1m5ciVWq5XHHnus63uTJk1i6dKlrFmzhpKSEn70ox912++SJUu499572bRpE+Xl5d3KZFlm4cKFFBQUfOGMmK+88krX8TZv3sz06dO/0P40NL6qaAKkcV7yyCOPsHbtWu65556uCM+vvfYaDz74IFlZWZhMJu69917ee+89FEVBFEVmz56N3W7vKtu5cyfhcLhrn1OnTqW8vBxRFLsCWb7wwgtUVFQwcuRIHn/8cR544IFeEx1qaGicGS6IhHQa/3mkp6eTkpJCSUlJ12cNDQ1897vfPU4gvF4vqampPPHEEyxdupSOjo6ubTo6OrqiSJ8otcRdd93VNe+zZ88e7rjjDtxuN+PHjz+LtdPQ0ABNgDQuIDweD0888QRlZWXHlS1YsICVK1fy17/+ldzcXDo6Ohg3blw3h4KeMl0KgkBpaSllZWWsWLGC8ePHY7VaiUQiXdscSZHQG1pGTQ2NvqGNNWhcMNx44408+eSTXcnHvF4vH374IZBMrWw0GnG73UQiEZ566qlT3n9VVRWbN2/u6nWVlpayfv16Ghsb8fv9vPjii33aj06nw+12U1tbe8o2aGj8J6EJkMYFw3e+8x0mTJjAt7/9bcrLy7nxxhvZvn07ALNnzyYzM5MJEyZ0eZ/1heeff75rHdCdd97J3Llzuf766wG47LLLmDp1KrNmzWLu3LlMmTKlz7bef//9zJs3j4qKCpYtW3bqldXQ+A9AywekoaGhoXFO0HpAGhoaGhrnBE2ANDQ0NDTOCZoAaWhoaGicEzQB0tDQ0NA4J2gCpKGhoaFxTtAESENDQ0PjnKAJkIaGhobGOUETIA0NDQ2Nc4ImQBoaGhoa54T/H4HOuotqoDtvAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "560d8e8f17bacefaf8c3855a9648f26b82fdee9b" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-8 jointplot" + }, + { + "metadata": { + "_uuid": "4adb4da16ea61e0f1a12bc9925dfbbaaa81e0360", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Use seaborn's jointplot to make a hexagonal bin plot\n#Set desired size and ratio and choose a color.\ncolumns = ['SalePrice','OverallQual','TotalBsmtSF','GrLivArea','GarageArea','FullBath','YearBuilt','YearRemodAdd']\nsns.jointplot(x=\"OverallQual\", y=\"SalePrice\", data=train[columns], size=10,ratio=10, kind='hex',color='green')\nplt.show()", + "execution_count": 39, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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Vss7Vjw26Y0iTdy6++M7e1m1bro/Tc4ita6LzbtdN+VMu32K1rrufhdjGd8+WePqrDVvziK1route95lyclYVl9rlpw901NXXU3sRHM7v1hK/HLg4o+u6co398+IhiZUtJR4FbVG/3Y57+aaKzD3f0IfmECBAnVtV571Gj3vfOPLyiqwwaL51tVtu7JWz8g30vBGX9NxoNHpTCl6d5TM2DQfmc4999xz+t3f/V0988wzun37tt70pjfpS77kS1zW10hHRycKw+KztdfraDjsSzLyvM2fPuM706YGdlNcmtjlxxbN2aZaXeZsU62rcqaJi2LrrjVLzjbVWlbOPHHxP5teazx/lbVmzRnnqtZAgcZ2fLE8vF38IV++OqazduVCY83i6yoZc8brrXMsQ4Wam/na7zd78tSxi+3Q9GPIRfMtnY9ltpzWSqPTmabj8r4ifOvWMPVj//dz/0cPeLdKy12HLK83krrpnk6nMsao2+1e3DabzWStVa+3WysLldF093odXbs2SN28RLLsWKtiq45rQ8421VpGTmptRs421VpGzjbVmjW2LbVaWc3sTFNN5clT13QzLRPuWe+iKXVd63Js3riZmSlUmDrOt746518EaPpYhjZcfA0o4ax3mpyj07kmo3mmuFVoujdL/Z3uH/qhH9JnPvOZS7d95jOf0Y/8yI9kTgqlOrOdJNqpsu5cy/GuY+JxddSaNbZIrW3cPnniov/yxlcRE49j3pWfM29cG2vd1rE0MuqZngYaqGd6mRpuSbIm3wmnOsYyNKEmmmRquCVdfP2k6fMu+q53kZxeXUskelYjndSUvD6pN/dnP/tZveY1r7l029/5O39Hf/7nf156UQAAANhO/8/n/l+dzo7rLqNyqZvu4XCoF1544dJtL7zwgvb29kovCgAAANgmqZvu7/iO79C//Jf/Up/97Gc1Go30P//n/9Q73vEOfed3fqfL+gAAAIDWS910v/3tb9erXvUqfe/3fq++8Ru/UW9+85v1t//239bP/MzPuKwPAAAAaL3U1+nu9/t67LHH9Oijj+ru3bu6ceNG7l8yAAAAAHbJ2qb7r//6r/VlX/ZlkqSnn3760n2np6cXf/9bf+tvOSgNAAAA2A5rm+7v+q7v0qc+9SlJ0utf//orF32XFpec+bM/+zN3FQIAgNJYWU00UUcd+fI3B7TUuoVwtomR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8OUvf5mbbroJYwwAZ5xxRsxZSSc4jsPMzAwAMzMzrFu3DsdReTBoLrnkEjZs2LDkZydOnGD//v1s3boVgK1bt7J//359qxwTL+4ERABKpRL/9E//xMaNG+NORTrgr/7qr7juuus4++yz405FOuSll15ifHyc+++/n+9+97uMjIxw0003cckll8SdmrTBGMO9997Lhz/8YYaHh8lkMnzqU5+KOy3pkCNHjnDmmWfiui4Aruuybt06jhw5wpo1a2LO7vSjU1npC5/4xCcYHh7mve99b9ypSJv+67/+ix/84Afs2LEj7lSkg3zf56WXXuJNb3oTX/ziF7ntttv4gz/4A2ZnZ+NOTdpQLBZ56KGH+Ju/+Rsef/xxHnzwQW6++WYymUzcqYmcclR0S+x27drFj3/8Y+699159pXkKePrppzlw4ACbNm1i48aN/PSnP+UDH/gATz75ZNypSRs2bNiA53mVr6nf8pa3MDExwcGDB2POTNrxwx/+kGPHjnHxxRcDcPHFFzM0NMSBAwdizkw6YcOGDRw9ehTf94Hg5PnYsWMrbkOR3lCFI7H6y7/8S37wgx/wwAMPkEwm405HOuDGG2/kySef5LHHHuOxxx5j/fr1fOYzn+GKK66IOzVpw5o1a7jsssv49re/DQRPRDhx4gTnnXdezJlJO9avX89Pf/pTXnjhBQAOHDjAiRMnOPfcc2POTDphcnKSqakp9uzZA8CePXuYmprSrSUxMdZaG3cScnr60Y9+xNatW3n9619POp0G4Oyzz+aBBx6IOTPppI0bN/K3f/u3XHDBBXGnIm166aWX+OM//mNee+01PM/j5ptv5qqrroo7LWnTV7/6VT796U9X/oLsRz7yEa6++uqYs5Kw7rrrLvbt28fx48eZmJhgfHycr33taxw4cIDbb7+d6elpVq1axa5duzj//PPjTve0pKJbRERERKTLdHuJiIiIiEiXqegWEREREekyFd0iIiIiIl2moltEREREpMtUdIuIiIiIdJmKbhERERGRLlPRLSIywO677z5uu+02AF5++WUuvPBCisViT9r+7ne/y5VXXtmTtkREBp2KbhGRCL74xS+ybds23vKWt3D55Zezc+dOpqen405rhccff5xf//Vf56KLLuKyyy7jtttu4+jRo3GnJSJy2lHRLSIS0mc/+1nuuece/vAP/5BnnnmGRx55hMOHD/P+97+ffD7fsXbavWL99a9/nVtvvZX3ve99fOc732HPnj0kEgl27NjRlycIIiKnMhXdIiIhzM7Oct9993HHHXdw5ZVXkkgkOPvss7n33ns5dOgQn/3sZ3nzm9/Ma6+9VonZv38/l112GYVCAYAvfOELXHPNNVx66aV84AMf4NChQ5X3XnjhhTz88MNs3ryZzZs3A8HyzldddRVve9vbeM973sMzzzzTNE9rLbt27eJ3f/d32bZtG+l0mrVr1/Jnf/ZnDA0N8Q//8A/A0ttTYOUtKv/6r//KNddcw1vf+lY2bdrE5z//+fY3oojIaUhFt4hICM8++yy5XK5SEJeNjIxw1VVX8fzzz3PRRRexb9++ymu7d+9my5YtJBIJvvGNb/DQQw9x//338x//8R9cfPHF3HrrrUt+1ze+8Q3++Z//mUcffRSAX/iFX+DLX/4yTz31FFu3buWmm24il8s1zPOFF17g8OHDvOtd71ryc8dx2Lx5M08++WRLn3dycpKHHnqIZ599lk9+8pN88pOf5LnnnmspVkREFqnoFhEJ4eTJk0xMTOB53orX1q5dy8mTJ9m2bRt79uwBgivOjz76KNu2bQPg85//PDfeeCNveMMb8DyPD33oQ/zwhz9ccrX7xhtvZHx8nHQ6DcD1119fafN3fud3yOfzHDx4sGmeAOvWraubZyve+c53cu6552KM4Rd/8Re5/PLLW7rSLiIiS608aoiISF0TExOcPHmSYrG4ovB+5ZVXmJiYYPPmzXziE5/g2LFjvPjiiziOwyWXXALA4cOH+fM//3N27dpVibPWcvToUc466ywANmzYsOT3fuYzn+ELX/gCx44dwxjD7Oxs06J5YmICgGPHjnHOOefUzLMV3/rWt3jggQd48cUXKZVKZLNZLrjggpZiRURkkYpuEZEQ3vrWt5JMJtm3bx/XXntt5eeZTIYnnniCW265hdWrV3P55Zfz6KOP8sILL3DttddijAGCgvpDH/oQ1113Xd02yu8FeOaZZ/i7v/s7Pve5z/HzP//zOI7DpZdeirW2YZ7nn38+69ev5+tf/zo33HBD5eelUol9+/axceNGAIaGhshms5XXjx8/Xvn/fD7PRz7yEXbt2sWmTZtIJBJ8+MMfbtq2iIispNtLRERCGBsb4/d+7/e46667eOKJJygUCrz88svcfPPNrF+/nuuvvx6Abdu28ZWvfIW9e/dWbi0B+I3f+A0+9alP8aMf/QiAmZkZ/u3f/q1ue5lMBtd1WbNmDcVikfvvv5/Z2dmmeRpj+OhHP8qDDz7I7t27yeVyvPLKK3zsYx/j5MmTvPe97wVgamqKp59+msOHDzMzM8NDDz1U+R35fJ58Ps+aNWvwPI9vfetbfPvb34603URETne60i0iEtINN9zA+Pg4d999Nz/5yU8YHR3l6quv5p577iGZTAKwceNGPvaxj/G6172ON77xjZXYX/3VXyWTyXDLLbdw6NAhxsbGeMc73sE111xTs60rrriCX/7lX2bLli0MDw/zvve9b8XtJ/Vce+21JJNJHnzwQe64447KrSH/+I//WLnX+/LLL+faa6/luuuuY2JightuuIHHHnsMgNHRUe644w5uvvlm8vk8v/Irv1K5Qi4iIuEYq+8JRUROC08++SS33norn/vc55iamoo7HRGR04qKbhGR08hjjz3G0aNH+c3f/M24UxEROa2o6BYRERER6TL9RUoRERERkS5T0S0iIiIi0mUqukVEREREukxFt4iIiIhIl6noFhERERHpMhXdIiIiIiJd9v8B9LrccublWNIAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "263eaa9d2bfad0f8c68b6e8e874bdc11a6e802ac", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# we will use seaborn jointplot shows bivariate scatterplots and univariate histograms with Kernel density \n# estimation in the same figure\ncolumns = ['SalePrice','OverallQual','TotalBsmtSF','GrLivArea','GarageArea','FullBath','YearBuilt','YearRemodAdd']\nsns.jointplot(x=\"SalePrice\", y=\"YearBuilt\", data=train[columns], size=6, kind='kde', color='#800000', space=0)", + "execution_count": 40, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 40, + "data": { + "text/plain": "" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "8e73333289d17dd648b7b2112d7fe3fe7ea444d0" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-9 Heatmap" + }, + { + "metadata": { + "_uuid": "3100955ca9dc61ac7d435e9c064d10d06f26afa7", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure(figsize=(7,4)) \ncolumns = ['SalePrice','OverallQual','TotalBsmtSF','GrLivArea','GarageArea','FullBath','YearBuilt','YearRemodAdd']\nsns.heatmap(train[columns].corr(),annot=True,cmap='cubehelix_r') #draws heatmap with input as the correlation matrix calculted by(iris.corr())\nplt.show()", + "execution_count": 41, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "b81dbdd5dd8cb92a86b1f7114ffb6f088458a527" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-10 radviz" + }, + { + "metadata": { + "_uuid": "33fed3027d7242227d612a84bbb42b012356091b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from pandas.tools.plotting import radviz\ncolumns = ['SalePrice','OverallQual','TotalBsmtSF','GrLivArea','GarageArea','FullBath','YearBuilt','YearRemodAdd']\nradviz(train[columns], \"OverallQual\")", + "execution_count": 42, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 42, + "data": { + "text/plain": "" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "03279670a5b71b7189f50571f1aaaaa45cca9881" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-12 Factorplot" + }, + { + "metadata": { + "trusted": true, + "_uuid": "68b7bc84f1966b1b1cf4e3dbb335c98153ea9398", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.factorplot('OverallQual','SalePrice',hue='Functional',data=train)\nplt.show()", + "execution_count": 43, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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F0LcXLJazDsJLm3QmuAihOjYJLh4J8NiQgghVCfBRQghhOokuAghhFCdBBchhBCqk+AihBBCdRJchBBCqE6CixBCCNVJcBFCCKE6CS5CCCFUJ1kO20ArGYiFEMIrSf8ihBBCdTIsJoQQQnUSXIQQQqhOgosQQgjVSXARQgihOgkuQgghVCfBRQghhOokuAghhFCdBBchhBCqk+AihBBCdZL+xUeSk5PZtGkT2dnZrF27lt69e/ukn9LSUn7961+TkZGB0WgkNjaWl19+mdDQUNX7WrhwIVlZWWi1WsxmM//5n/9JQkKC6v1ctmLFCt58802f/fySkpIwGo34+fkBsHjxYsaPH696P7W1tfzxj39k3759+Pn5kZiYyLJly1TtIysri6efftrz54qKCiorKzl48KCq/Wzfvp033ngDRVFQFIWf//znTJs2TdU+AHbs2MEbb7yB0+kkJCSEV199la5du7b7us39Xp4/f54XX3yRsrIyLBYLycnJdO/evd393dYU4ROHDh1ScnJylEmTJimnT5/2WT+lpaXK/v37PX/+r//6L+U3v/mNT/oqLy/3vN6yZYsyf/58n/SjKIqSJ+plMwAACgRJREFUkpKiPP744z79+fn6/81ly5YtU1555RXF7XYriqIohYWFPu9z+fLlyh/+8AdVr+l2u5Vhw4Z5fmanTp1SEhMTFZfLpWo/ZWVlyogRI5T09HRFURRlzZo1ymOPPabKtZv7vXz44YeVNWvWePp7+OGHVenvdibDYj4ybNgwoqOjfd6PxWJh5MiRnj8nJiaSk5Pjk76CgoI8rysrK9FofJPA02638/LLL/P73//eJ9e/kWw2G2vWrOHZZ5/1/LzCw8N92qfdbmft2rXce++9ql9bq9VSUVEB1D0dRUZGotWq+zFy8eJFwsPD6dGjBwATJkxg9+7dlJSUtPvaTf1eFhcXk5qayuzZswGYPXs2qampqvR3O5NhsQ7E7XbzySefkJSU5LM+lixZwp49e1AUhffee88nfbzxxhvMnTuXLl26+OT6V1u8eDGKojB06FCee+45goODVb1+ZmYmFouFFStWcODAAQICAnj22WcZNmyYqv1cbdu2bXTq1In+/furel2NRsPrr7/OwoULMZvN2Gw23nnnHVX7AOjRowdFRUUcP36cQYMGsXbtWgByc3N9Mtybm5tLp06d0Ol0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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "54ecb0d0a7985d86fac77ee4171f13fedbffa0a2" + }, + "cell_type": "markdown", + "source": "
\n## 6-3 Data Preprocessing\n**Data preprocessing** refers to the transformations applied to our data before feeding it to the algorithm.\n \nData Preprocessing is a technique that is used to convert the raw data into a clean data set. In other words, whenever the data is gathered from different sources it is collected in raw format which is not feasible for the analysis.\nthere are plenty of steps for data preprocessing and we just listed some of them :\n1. removing Target column (id)\n1. Sampling (without replacement)\n1. Making part of iris unbalanced and balancing (with undersampling and SMOTE)\n1. Introducing missing values and treating them (replacing by average values)\n1. Noise filtering\n1. Data discretization\n1. Normalization and standardization\n1. PCA analysis\n1. Feature selection (filter, embedded, wrapper)\n" + }, + { + "metadata": { + "_uuid": "1d8efac2b4fe6c3eda41bc93e4f3ff53381034e5" + }, + "cell_type": "markdown", + "source": "
\n## 6-3-1 Noise filtering (Outliers)\nAn outlier is a data point that is distant from other similar points. Further simplifying an outlier is an observation that lies on abnormal observation amongst the normal observations in a sample set of population.\n\nIn statistics, an outlier is an observation point that is distant from other observations.\n" + }, + { + "metadata": { + "trusted": true, + "_uuid": "262e8777242c798eb2eed85935dac05a81586260", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Looking for outliers, as indicated in https://ww2.amstat.org/publications/jse/v19n3/decock.pdf\nplt.scatter(train.GrLivArea, train.SalePrice, c = \"blue\", marker = \"s\")\nplt.title(\"Looking for outliers\")\nplt.xlabel(\"GrLivArea\")\nplt.ylabel(\"SalePrice\")\nplt.show()\n\ntrain = train[train.GrLivArea < 4000]", + "execution_count": 44, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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dODAAa1YsUInnXSSBg4cKEn68MMP9eWXXwbDVElJiTZv3qxPPvkkeP/MzMwOYW3Xrl364x//qMLCwuDX119/HawuLVmyJDilV1hYqM8//1yNjY0R9R2A83p0/yMAEF8jR45UWlqaXn31VRUXF8f88U844QQNGDBAb775pqqrq4NVJulQ0DEMQ5MmTepwn8WLF6ugoECS5PP5OrTl5eVp+vTpuuaaazod66uvvtLtt9+uP/3pTxo5cqRSU1M1ceLEmD8nAPah8gTA9fr27avrrrtOd955p1566SW1tLQoEAjok08+0b59+7q8byAQ0P79+4NfbeuODldSUqL/+q//0urVqzV27FhJ0v79+/Xiiy9q7ty5WrJkSfDrjjvuUHV1ddgz6y688EItWrRIH330kQzD0LfffqvXX39dLS0t2rdvn3w+n7KysiRJzzzzjD7//PMoRgeA06g8AUgIV155pfr166cFCxbolltu0RFHHKFjjjlGs2fP1siRI7V48eKQ93vyySf15JNPBr8/5ZRT9PTTT3f6uZKSEj3wwAM644wzgsHmlVdeUe/evTVp0iT17Nkz+LOTJ0/WI488orfeekt9+vTp9Fg//vGPNW/ePM2dO1c7duxQ7969dcopp6iwsFAnnHCCLrvsMk2ZMkU+n0+TJk3SKaecEu3wAHCQzwi3uxwAAAA6YdoOAADAAsITAACABYQnAAAACwhPAAAAFhCeAAAALCA8AQAAWEB4AgAAsIDwBAAAYAHhCQAAwIL/B53pUPsVeaoyAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "32b02ba7e2e34bc732eab6d1b21033bb1205b6a6" + }, + "cell_type": "markdown", + "source": "2 extreme outliers on the bottom right" + }, + { + "metadata": { + "trusted": true, + "_uuid": "e186d46c36a020801ab5b6ad4ca9600aa1073f85", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#deleting points\ntrain.sort_values(by = 'GrLivArea', ascending = False)[:2]\ntrain = train.drop(train[train['Id'] == 1299].index)\ntrain = train.drop(train[train['Id'] == 524].index)", + "execution_count": 45, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "0c8c82494f314ec22b7bba34e91a0602095a65d4", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#log transform skewed numeric features:\nnumeric_feats = all_data.dtypes[all_data.dtypes != \"object\"].index\nskewed_feats = train[numeric_feats].apply(lambda x: skew(x.dropna())) #compute skewness\nskewed_feats = skewed_feats[skewed_feats > 0.75]\nskewed_feats = skewed_feats.index\n\nall_data[skewed_feats] = np.log1p(all_data[skewed_feats])", + "execution_count": 46, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "1acb24ba9286dab9f63f83032aaa0d4d9ec3666f", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "all_data = pd.get_dummies(all_data)", + "execution_count": 47, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "1513e3c446c7e3227d4b421632b1816909122b5c", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Log transform the target for official scoring\n#The key point is to to log_transform the numeric variables since most of them are skewed.\ntrain.SalePrice = np.log1p(train.SalePrice)\ny = train.SalePrice", + "execution_count": 48, + "outputs": [] + }, + { + "metadata": { + "_uuid": "975d56d86e8e49b5836f9664856a4c37b6a9e61b" + }, + "cell_type": "markdown", + "source": "Taking logs means that errors in predicting expensive houses and cheap houses will affect the result equally." + }, + { + "metadata": { + "trusted": true, + "_uuid": "954c46bfaa026de09b864082f3052a0d95e5cf30", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.scatter(train.GrLivArea, train.SalePrice, c = \"blue\", marker = \"s\")\nplt.title(\"Looking for outliers\")\nplt.xlabel(\"GrLivArea\")\nplt.ylabel(\"SalePrice\")\nplt.show()", + "execution_count": 49, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj0AAAG/CAYAAACzAWZPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3Xt8VPWd//H3TEhEmkAAEwjIT0EXFhUkksqiW9sCFopYcH1QqYiWVpSiYLVUqFLutQZbaqV2KaW13V28rFuBBqJcRCpgZbGgqKVKQREC5IKhZARFkvn9wc6YZG5nZs45c86c1/Px4PEgM5mZ73xnMuc9n+/l+ILBYFAAAABZzp/pBgAAANiB0AMAADyB0AMAADyB0AMAADyB0AMAADyB0AMAADyB0AMgLRMmTNCzzz4b9brbb79dK1eutORxn3zySV111VUqLS1VfX29JY+Rqu3bt+uaa64J/3zddddp+/btGWwRAInQA3jKkCFD9Morr9j2eMuXL9cNN9xg+v1++umnevjhh/Xb3/5Wu3btUseOHU1/jGT06dNHBw4ciHn92rVrNWjQIBtbBCAaQg8A1zl27Jg++eQTXXzxxUnfNhgMqqmpyYJWme/MmTOZbgKQVQg9ACRJ//3f/61rr71WV155pSZPnqzq6urwdTt37tSNN96ogQMH6sYbb9TOnTuj3kdNTY2uv/56LV++XFLLoa/nnntO3/jGN1ReXq7Pf/7zGjJkiP70pz+Fb3vw4EGNHz9epaWl+uY3v6l58+Zp+vTpEY/x3nvvacSIEZKkz3/+87r11lsTtnHChAn62c9+pnHjxunyyy/XwYMHI+533759mjBhgsrKynTdddfpxRdfbHH75kN4oeciSePHj5ckjR49WqWlpaqsrIy47+YVtqamJi1btkzDhg3ToEGDdM899+j48eOSpEOHDqlPnz569tln9aUvfUm33XabPvnkE02fPl2DBg1SWVmZbrzxRtXV1UXtfwDxEXoA6M9//rN++tOf6tFHH9XWrVvVvXt33XfffZKk48eP684779SECRO0fft2TZw4UXfeeWfEPJqDBw9qwoQJuuWWW3T77bdHfZzdu3erZ8+eevXVV3X77bfrwQcfVOhMONOnT1f//v21fft23X333Vq9enXU++jZs6fWrFkjSdqxY4f+4z/+w1AbV69erQULFmjnzp3q1q1bi/v89NNPNXnyZF199dV65ZVXNGvWLE2fPl379+9P2HcrVqwI3/+uXbs0cuTIuL//n//5n9q4caP+67/+S1u2bFGHDh00f/78Fr+zY8cOVVZW6je/+Y1WrlypQCCgzZs3a/v27Zo3b57atm2bsF0AIhF6AKiiokI33nijLr30UuXl5em+++7T66+/rkOHDmnz5s264IILNGbMGLVp00ajRo1Sr1699NJLL4Vv//e//1233Xabpk6dqptuuinm43Tr1k1f//rXlZOToxtuuEG1tbWqq6vT4cOH9eabb2ratGnKy8tTWVmZhgwZYrj9Rtp4ww036J/+6Z/Upk0b5ebmtrj9G2+8oZMnT+qOO+5QXl6eBg8erC9/+ctau3ZtEr1ozNNPP617771XXbt2VV5enu6++26tW7euxVDW1KlT1a5dO7Vt21Zt2rTR8ePHdeDAAeXk5Oiyyy5Tfn6+6e0CvKBNphsAIPNqamp06aWXhn/+3Oc+p8LCQlVXV6umpiaiMtKtW7cWw18VFRX6f//v/2n48OFxH+e8884L///cc8+VJJ08eVL19fXq0KFD+DJJKikp0ZEjRwy3P1EbS0pK4t6+a9eu8vs/+x7Y+vZmOXz4sO66664Wj+X3+3Xs2LHwz127dg3/f/To0Tp69Kjuu+8+nThxQl/72td07733RgQ3AIlR6QGg4uJiVVVVhX8+efKkjh8/ri5duqi4uFiHDx9u8ftHjhxRly5dwj/ffffd6tixo773ve+psbEx6ccvKirSP/7xD506darFYyTT/kRt9Pl8cW9/9OjRFhOcm9/+3HPPbdG2dObUdO3aVb/+9a/12muvhf+9+eabMduam5uru+++W5WVlXr66ae1efNmrVq1KuXHB7yM0AN4zKeffqpPPvkk/O/MmTMaNWqUnnvuOe3Zs0enT5/W4sWL1b9/f51//vn64he/qPfff18VFRU6c+aMKisr9fe//11f+tKXwveZm5urn//85zp16pTuv//+pFdHde/eXZdddpmWLFmi06dPa9euXS2GphIx0sZ4+vfvr7Zt22r58uX69NNPtX37dm3atCk8P6dv377asGGDTp06pQMHDuh//ud/Wtz+vPPOizo5OppvfOMbevTRR8Mh88MPP9TGjRtj/v6rr76qd955R42NjcrPz1ebNm1a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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "ba90a0973c207b683b2cb5f871238cab674c74da" + }, + "cell_type": "markdown", + "source": "
\n## 6-4 Data Cleaning\nWhen dealing with real-world data, dirty data is the norm rather than the exception. We continuously need to predict correct values, impute missing ones, and find links between various data artefacts such as schemas and records. We need to stop treating data cleaning as a piecemeal exercise (resolving different types of errors in isolation), and instead leverage all signals and resources (such as constraints, available statistics, and dictionaries) to accurately predict corrective actions." + }, + { + "metadata": { + "_uuid": "067f2cee5b48555d0ede873e28445531efd55c10" + }, + "cell_type": "markdown", + "source": "
\n## 6-4-1 Handle missing values\nFirstly, understand that there is NO good way to deal with missing data\n" + }, + { + "metadata": { + "trusted": true, + "_uuid": "568d77bd198855749b3d0c235873bf2ef0f65c28", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#filling NA's with the mean of the column:\nall_data = all_data.fillna(all_data.mean())", + "execution_count": 50, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7650b640ca94172c6f202806109b2213c99a5042" + }, + "cell_type": "markdown", + "source": "
\n## 7- Model Deployment\nIn this section have been applied plenty of ** learning algorithms** that play an important rule in your experiences and improve your knowledge in case of ML technique.\n\n> **<< Note 3 >>** : The results shown here may be slightly different for your analysis because, for example, the neural network algorithms use random number generators for fixing the initial value of the weights (starting points) of the neural networks, which often result in obtaining slightly different (local minima) solutions each time you run the analysis. Also note that changing the seed for the random number generator used to create the train, test, and validation samples can change your results.\n\n[go to top](#top)" + }, + { + "metadata": { + "_uuid": "c4c099ed0f9a7a38406e60509ee0e9bdf54fa41d" + }, + "cell_type": "markdown", + "source": "
\n## 7-1 Families of ML algorithms\nThere are several categories for machine learning algorithms, below are some of these categories:\n* Linear\n * Linear Regression\n * Logistic Regression\n * Support Vector Machines\n* Tree-Based\n * Decision Tree\n * Random Forest\n * GBDT\n* KNN\n* Neural Networks\n\n-----------------------------\nAnd if we want to categorize ML algorithms with the type of learning, there are below type:\n* Classification\n\n * k-Nearest \tNeighbors\n * LinearRegression\n * SVM\n * DT \n * NN\n \n* clustering\n\n * K-means\n * HCA\n * Expectation Maximization\n \n* Visualization \tand\tdimensionality \treduction:\n\n * Principal \tComponent \tAnalysis(PCA)\n * Kernel PCA\n * Locally -Linear\tEmbedding \t(LLE)\n * t-distributed\tStochastic\tNeighbor\tEmbedding \t(t-SNE)\n \n* Association \trule\tlearning\n\n * Apriori\n * Eclat\n* Semisupervised learning\n* Reinforcement Learning\n * Q-learning\n* Batch learning & Online learning\n* Ensemble Learning\n\n**<< Note >>**\n> Here is no method which outperforms all others for all tasks\n\n" + }, + { + "metadata": { + "_uuid": "178ed7d38b21204bf12510521211b971ca291ffa" + }, + "cell_type": "markdown", + "source": "
\n## 7-2 Accuracy and precision\nOne of the most important questions to ask as a machine learning engineer when evaluating our model is how to judge our own model?\neach machine learning model is trying to solve a problem with a different objective using a different dataset and hence, it is important to understand the context before choosing a metric.\n\n
\n### 7-2-1 RMSE\nRoot-Mean-Squared-Error (RMSE) between the logarithm of the predicted value and the logarithm of the observed sales price. (Taking logs means that errors in predicting expensive houses and cheap houses will affect the result equally.)\n\n \n [go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "74a78a50b810c95c0c72bcba1d89890c9002e527", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#creating matrices for sklearn:\nX_train = all_data[:train.shape[0]]\nX_test = all_data[train.shape[0]:]\ny = train.SalePrice", + "execution_count": 51, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "09779eedc5526a0f0e180b825aa069a758a61ad4", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "X_train.info()", + "execution_count": 52, + "outputs": [ + { + "output_type": "stream", + "text": "\nInt64Index: 1456 entries, 0 to 1455\nColumns: 288 entries, MSSubClass to SaleCondition_Partial\ndtypes: float64(25), int64(11), uint8(252)\nmemory usage: 779.2 KB\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "60eadfc578b68b1a71af67ef704e96c86e72507d" + }, + "cell_type": "markdown", + "source": "
\n## 7-3 Ridge " + }, + { + "metadata": { + "trusted": true, + "_uuid": "5c4b4a3e4c8e9e8a85a314c787dcadb14d18aafb", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def rmse_cv(model):\n rmse= np.sqrt(-cross_val_score(model, X_train, y, scoring=\"neg_mean_squared_error\", cv = 5))\n return(rmse)", + "execution_count": 53, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "439962cf50b059393d957bad5eee66dbaac32c84", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "model_ridge = Ridge()", + "execution_count": 54, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "5fbbd633cb8298f95ff07734c96bd1cbda6f5257", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "alphas = [0.05, 0.1, 0.3, 1, 3, 5, 10, 15, 30, 50, 75]\ncv_ridge = [rmse_cv(Ridge(alpha = alpha)).mean() for alpha in alphas]", + "execution_count": 55, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e8d509d57506669573420cb9eb9549c0db2b8bb0" + }, + "cell_type": "markdown", + "source": "
\n## 7-3-1 Root Mean Squared Error" + }, + { + "metadata": { + "trusted": true, + "_uuid": "8ed4ca82d0854fdd0b5be4bbb9a7e3e078f0a472", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "cv_ridge = pd.Series(cv_ridge, index = alphas)\ncv_ridge.plot(title = \"Validation\")\nplt.xlabel(\"alpha\")\nplt.ylabel(\"rmse\")", + "execution_count": 56, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 56, + "data": { + "text/plain": "Text(0,0.5,'rmse')" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAG/CAYAAAC5XcgdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3Xl8lOW99/HvbFkngWTIMglLWAQCiYBSqKAIigVrMOh5NB6OS48IevRI9dEesEcJSi3Gtvp4aBFxo1RrrceKGEBkcwEBgaIGQkQhrJksJMSQPZnM80dgIKwBMksyn/fr5cvMPffc+f0I4Nfruu7rNrhcLpcAAAACmNHXBQAAAPgagQgAAAQ8AhEAAAh4BCIAABDwCEQAACDgEYgAAEDAIxABaFcOHjyofv36qbGxUZJ033336YMPPmjVuRdq/vz5+u///u+LrhVA+0EgAuB1kydP1ksvvXTa8VWrVmnkyJEXFGBee+013XLLLZdc06ZNmzRq1KgWxx544AE9++yzl3xtAP6PQATA62655RYtWbJEp+4Lu2TJEk2YMEFms9lHlQEIVAQiAF43duxYlZeXa8uWLe5jP/74o9auXauJEyfq008/1cSJE3XFFVfo2muv1dy5c896rbvuukvvvfeeJMnpdCorK0vDhw/X9ddfr88++6zFue+//75uvPFGDRkyRNdff73+9re/SZKqq6s1ZcoUFRcXa8iQIRoyZIiKioo0d+5cPf744+7Pr169WjfddJOGDh2qu+66S7t373a/d9111+n111/XhAkTdOWVV+qRRx5RXV1dm/x6AfA8AhEArwsJCdGNN96oxYsXu48tX75cvXr1Uv/+/RUaGqqsrCxt2bJFr7zyit555x2tWrXqvNf9+9//rrVr12rx4sV6//339fHHH7d432az6ZVXXtE///lPzZkzR3PmzNGOHTsUFhamV199VbGxsdq2bZu2bdumuLi4Fp/Nz8/XY489pl//+tfasGGDRo0apQceeED19fUtenjttde0evVqfffdd/rHP/5xib9SALyFQATAJyZOnKgVK1a4R1EWL17sXgs0fPhw9evXT0ajUf3799dNN92kr7766rzXXL58ue655x7Z7XZ17txZ999/f4v3R48ere7du8tgMGjYsGEaOXJki1Gqc1m2bJmuvfZajRw5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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "d4f4820db8df421a27e446261b576a3cf521a448", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# steps\nsteps = [('scaler', StandardScaler()),\n ('ridge', Ridge())]\n\n# Create the pipeline: pipeline\npipeline = Pipeline(steps)\n\n# Specify the hyperparameter space\nparameters = {'ridge__alpha':np.logspace(-4, 0, 50)}\n\n# Create the GridSearchCV object: cv\ncv = GridSearchCV(pipeline, parameters, cv=3)\n\n# Fit to the training set\ncv.fit(X_train, y)\n\n#predict on train set\ny_pred_train=cv.predict(X_train)\n\n# Predict test set\ny_pred_test=cv.predict(X_test)\n\n# rmse on train set\nrmse = np.sqrt(mean_squared_error(y, y_pred_train))\nprint(\"Root Mean Squared Error: {}\".format(rmse))", + "execution_count": 57, + "outputs": [ + { + "output_type": "stream", + "text": "Root Mean Squared Error: 0.32811446712445086\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "87a909211fee484cfcc56c6276c1e341d8401da9" + }, + "cell_type": "markdown", + "source": "
\n## 7-4 RandomForestClassifier\nA random forest is a meta estimator that fits a number of decision tree classifiers on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting. The sub-sample size is always the same as the original input sample size but the samples are drawn with replacement if bootstrap=True (default)." + }, + { + "metadata": { + "trusted": true, + "_uuid": "bb9f798b06e81170ce088194fbc27bc0eef80b41", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "num_test = 0.3\nX_train, X_test, y_train, y_test = train_test_split(X_train, y, test_size=num_test, random_state=100)", + "execution_count": 58, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "b93bae48f72970284af7435d52c1b7dcdea402bd", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Fit Random Forest on Training Set\nfrom sklearn.ensemble import RandomForestRegressor\nregressor = RandomForestRegressor(n_estimators=300, random_state=0)\nregressor.fit(X_train, y_train)\n\n# Score model\nregressor.score(X_train, y_train)", + "execution_count": 59, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 59, + "data": { + "text/plain": "0.877294261920777" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "e4791d2948ded22007d21e6a0773441e15c04d43" + }, + "cell_type": "markdown", + "source": "
\n## 7-5 XGBoost\nXGBoost is one of the most popular machine learning algorithm these days. Regardless of the type of prediction task at hand; regression or classification.\n
\n### 7-5-1 But what makes XGBoost so popular?\n\n1. Speed and performance : Originally written in C++, it is comparatively faster than other ensemble classifiers.\n\n1. Core algorithm is parallelizable : Because the core XGBoost algorithm is parallelizable it can harness the power of multi-core computers. It is also parallelizable onto GPU’s and across networks of computers making it feasible to train on very large datasets as well.\n\n1. Consistently outperforms other algorithm methods : It has shown better performance on a variety of machine learning benchmark datasets.\n\n1. Wide variety of tuning parameters : XGBoost internally has parameters for cross-validation, regularization, user-defined objective functions, missing values, tree parameters, scikit-learn compatible API etc.[10]\n\n> XGBoost (Extreme Gradient Boosting) belongs to a family of boosting algorithms and uses the gradient boosting (GBM) framework at its core. It is an optimized distributed gradient boosting library. But wait, what is boosting? Well, keep on reading." + }, + { + "metadata": { + "trusted": true, + "_uuid": "3258e23b29e9c23598ab9136b7c1ecdb04054400", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Initialize model\nfrom xgboost.sklearn import XGBRegressor\nXGB_Regressor = XGBRegressor() \n\n# Fit the model on our data\nXGB_Regressor.fit(X_train, y_train)", + "execution_count": 60, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 60, + "data": { + "text/plain": "XGBRegressor(base_score=0.5, booster='gbtree', colsample_bylevel=1,\n colsample_bytree=1, gamma=0, learning_rate=0.1, max_delta_step=0,\n max_depth=3, min_child_weight=1, missing=None, n_estimators=100,\n n_jobs=1, nthread=None, objective='reg:linear', random_state=0,\n reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=None,\n silent=True, subsample=1)" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "9e7e9bbb9d5351a1a89c1fbe970a5db5ca3a6859", + "_kg_hide-input": true, + "_kg_hide-output": false + }, + "cell_type": "code", + "source": "# Score model\nXGB_Regressor.score(X_train, y_train)", + "execution_count": 61, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 61, + "data": { + "text/plain": "0.4598271920204544" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "7df15df393b4d5189abfaf3f416baa9fd2db009b" + }, + "cell_type": "markdown", + "source": "## 7-6 LassoCV\nLasso linear model with iterative fitting along a regularization path.\nThe best model is selected by cross-validation." + }, + { + "metadata": { + "trusted": true, + "_uuid": "dcb36f09e08f1ddd244811a31eaaf708d246713c" + }, + "cell_type": "code", + "source": "lasso=LassoCV()", + "execution_count": 62, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "6fcebb4d53c7e2b2203ddeddd98ec2f2bad60809" + }, + "cell_type": "code", + "source": "# Fit the model on our data\nlasso.fit(X_train, y_train)", + "execution_count": 63, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 63, + "data": { + "text/plain": "LassoCV(alphas=None, copy_X=True, cv='warn', eps=0.001, fit_intercept=True,\n max_iter=1000, n_alphas=100, n_jobs=None, normalize=False,\n positive=False, precompute='auto', random_state=None,\n selection='cyclic', tol=0.0001, verbose=False)" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "16f58225e3b38a272757af326c3c8f7d3f87b617" + }, + "cell_type": "code", + "source": "# Score model\nlasso.score(X_train, y_train)", + "execution_count": 64, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 64, + "data": { + "text/plain": "0.1171814974164107" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "c977567b54c997e6008fb371043c8254bcb4e798" + }, + "cell_type": "markdown", + "source": "## 7-7 GradientBoostingRegressor\nGB builds an additive model in a forward stage-wise fashion; it allows for the optimization of arbitrary differentiable loss functions. In each stage a regression tree is fit on the negative gradient of the given loss function." + }, + { + "metadata": { + "trusted": true, + "_uuid": "4cc4d3975b45d5d761e6384d432fb730f3b402a6" + }, + "cell_type": "code", + "source": "boostingregressor=GradientBoostingRegressor()", + "execution_count": 65, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "8559c70a82ecf81b947abd70311c8dd5badac395" + }, + "cell_type": "code", + "source": "# Fit the model on our data\nboostingregressor.fit(X_train, y_train)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "195d3e5e3da66e76cb6be99fdf2dd60f89b8a6fe" + }, + "cell_type": "code", + "source": "# Score model\nboostingregressor.score(X_train, y_train)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "97adc471c068fbd8d36ca19a4db0d98b0924c731" + }, + "cell_type": "markdown", + "source": "-----------------\n
\n## 8- Conclusion\nThis kernel is not completed yet, I will try to cover all the parts related to the process of ML with a variety of Python packages and I know that there are still some problems then I hope to get your feedback to improve it." + }, + { + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "cell_type": "markdown", + "source": "You can follow me on:\n
\n> ###### [ GitHub](https://github.com/mjbahmani)\n
\n--------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated** " + }, + { + "metadata": { + "_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0", + "_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a", + "collapsed": true + }, + "cell_type": "markdown", + "source": "
\n# 9- References\n1. [Https://skymind.ai/wiki/machine-learning-workflow](https://skymind.ai/wiki/machine-learning-workflow)\n1. [Problem-define](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n1. [Sklearn](http://scikit-learn.org/)\n1. [Machine-learning-in-python-step-by-step](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n1. [Data Cleaning](http://wp.sigmod.org/?p=2288)\n1. [Kaggle kernel](https://www.kaggle.com/serigne/stacked-regressions-top-4-on-leaderboard)\n1. [Choosing-the-right-metric-for-machine-learning-models-part](https://medium.com/usf-msds/choosing-the-right-metric-for-machine-learning-models-part-1-a99d7d7414e4)\n1. [Unboxing outliers in machine learning](https://medium.com/datadriveninvestor/unboxing-outliers-in-machine-learning-d43fe40d88a6)\n1. [How to handle missing data](https://towardsdatascience.com/how-to-handle-missing-data-8646b18db0d4)\n1. [Datacamp](https://www.datacamp.com/community/tutorials/xgboost-in-python)" + }, + { + "metadata": { + "_uuid": "76cc4a1db38546a9c77007f59bd48329b0b8beed" + }, + "cell_type": "markdown", + "source": "you may be interested have a look at it: [**Course Home Page**](https://www.kaggle.com/mjbahmani/10-steps-to-become-a-data-scientist)" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/20 ML Algorithms For House Prices Prediction/data_description.txt b/20 ML Algorithms For House Prices Prediction/data_description.txt new file mode 100644 index 0000000..cba0710 --- /dev/null +++ b/20 ML Algorithms For House Prices Prediction/data_description.txt @@ -0,0 +1,523 @@ +MSSubClass: Identifies the type of dwelling involved in the sale. + + 20 1-STORY 1946 & NEWER ALL STYLES + 30 1-STORY 1945 & OLDER + 40 1-STORY W/FINISHED ATTIC ALL AGES + 45 1-1/2 STORY - UNFINISHED ALL AGES + 50 1-1/2 STORY FINISHED ALL AGES + 60 2-STORY 1946 & NEWER + 70 2-STORY 1945 & OLDER + 75 2-1/2 STORY ALL AGES + 80 SPLIT OR MULTI-LEVEL + 85 SPLIT FOYER + 90 DUPLEX - ALL STYLES AND AGES + 120 1-STORY PUD (Planned Unit Development) - 1946 & NEWER + 150 1-1/2 STORY PUD - ALL AGES + 160 2-STORY PUD - 1946 & NEWER + 180 PUD - MULTILEVEL - INCL SPLIT LEV/FOYER + 190 2 FAMILY CONVERSION - ALL STYLES AND AGES + +MSZoning: Identifies the general zoning classification of the sale. + + A Agriculture + C Commercial + FV Floating Village Residential + I Industrial + RH Residential High Density + RL Residential Low Density + RP Residential Low Density Park + RM Residential Medium Density + +LotFrontage: Linear feet of street connected to property + +LotArea: Lot size in square feet + +Street: Type of road access to property + + Grvl Gravel + Pave Paved + +Alley: Type of alley access to property + + Grvl Gravel + Pave Paved + NA No alley access + +LotShape: General shape of property + + Reg Regular + IR1 Slightly irregular + IR2 Moderately Irregular + IR3 Irregular + +LandContour: Flatness of the property + + Lvl Near Flat/Level + Bnk Banked - Quick and significant rise from street grade to building + HLS Hillside - Significant slope from side to side + Low Depression + +Utilities: Type of utilities available + + AllPub All public Utilities (E,G,W,& S) + NoSewr Electricity, Gas, and Water (Septic Tank) + NoSeWa Electricity and Gas Only + ELO Electricity only + +LotConfig: Lot configuration + + Inside Inside lot + Corner Corner lot + CulDSac Cul-de-sac + FR2 Frontage on 2 sides of property + FR3 Frontage on 3 sides of property + +LandSlope: Slope of property + + Gtl Gentle slope + Mod Moderate Slope + Sev Severe Slope + +Neighborhood: Physical locations within Ames city limits + + Blmngtn Bloomington Heights + Blueste Bluestem + BrDale Briardale + BrkSide Brookside + ClearCr Clear Creek + CollgCr College Creek + Crawfor Crawford + Edwards Edwards + Gilbert Gilbert + IDOTRR Iowa DOT and Rail Road + MeadowV Meadow Village + Mitchel Mitchell + Names North Ames + NoRidge Northridge + NPkVill Northpark Villa + NridgHt Northridge Heights + NWAmes Northwest Ames + OldTown Old Town + SWISU South & West of Iowa State University + Sawyer Sawyer + SawyerW Sawyer West + Somerst Somerset + StoneBr Stone Brook + Timber Timberland + Veenker Veenker + +Condition1: Proximity to various conditions + + Artery Adjacent to arterial street + Feedr Adjacent to feeder street + Norm Normal + RRNn Within 200' of North-South Railroad + RRAn Adjacent to North-South Railroad + PosN Near positive off-site feature--park, greenbelt, etc. + PosA Adjacent to postive off-site feature + RRNe Within 200' of East-West Railroad + RRAe Adjacent to East-West Railroad + +Condition2: Proximity to various conditions (if more than one is present) + + Artery Adjacent to arterial street + Feedr Adjacent to feeder street + Norm Normal + RRNn Within 200' of North-South Railroad + RRAn Adjacent to North-South Railroad + PosN Near positive off-site feature--park, greenbelt, etc. + PosA Adjacent to postive off-site feature + RRNe Within 200' of East-West Railroad + RRAe Adjacent to East-West Railroad + +BldgType: Type of dwelling + + 1Fam Single-family Detached + 2FmCon Two-family Conversion; originally built as one-family dwelling + Duplx Duplex + TwnhsE Townhouse End Unit + TwnhsI Townhouse Inside Unit + +HouseStyle: Style of dwelling + + 1Story One story + 1.5Fin One and one-half story: 2nd level finished + 1.5Unf One and one-half story: 2nd level unfinished + 2Story Two story + 2.5Fin Two and one-half story: 2nd level finished + 2.5Unf Two and one-half story: 2nd level unfinished + SFoyer Split Foyer + SLvl Split Level + +OverallQual: Rates the overall material and finish of the house + + 10 Very Excellent + 9 Excellent + 8 Very Good + 7 Good + 6 Above Average + 5 Average + 4 Below Average + 3 Fair + 2 Poor + 1 Very Poor + +OverallCond: Rates the overall condition of the house + + 10 Very Excellent + 9 Excellent + 8 Very Good + 7 Good + 6 Above Average + 5 Average + 4 Below Average + 3 Fair + 2 Poor + 1 Very Poor + +YearBuilt: Original construction date + +YearRemodAdd: Remodel date (same as construction date if no remodeling or additions) + +RoofStyle: Type of roof + + Flat Flat + Gable Gable + Gambrel Gabrel (Barn) + Hip Hip + Mansard Mansard + Shed Shed + +RoofMatl: Roof material + + ClyTile Clay or Tile + CompShg Standard (Composite) Shingle + Membran Membrane + Metal Metal + Roll Roll + Tar&Grv Gravel & Tar + WdShake Wood Shakes + WdShngl Wood Shingles + +Exterior1st: Exterior covering on house + + AsbShng Asbestos Shingles + AsphShn Asphalt Shingles + BrkComm Brick Common + BrkFace Brick Face + CBlock Cinder Block + CemntBd Cement Board + HdBoard Hard Board + ImStucc Imitation Stucco + MetalSd Metal Siding + Other Other + Plywood Plywood + PreCast PreCast + Stone Stone + Stucco Stucco + VinylSd Vinyl Siding + Wd Sdng Wood Siding + WdShing Wood Shingles + +Exterior2nd: Exterior covering on house (if more than one material) + + AsbShng Asbestos Shingles + AsphShn Asphalt Shingles + BrkComm Brick Common + BrkFace Brick Face + CBlock Cinder Block + CemntBd Cement Board + HdBoard Hard Board + ImStucc Imitation Stucco + MetalSd Metal Siding + Other Other + Plywood Plywood + PreCast PreCast + Stone Stone + Stucco Stucco + VinylSd Vinyl Siding + Wd Sdng Wood Siding + WdShing Wood Shingles + +MasVnrType: Masonry veneer type + + BrkCmn Brick Common + BrkFace Brick Face + CBlock Cinder Block + None None + Stone Stone + +MasVnrArea: Masonry veneer area in square feet + +ExterQual: Evaluates the quality of the material on the exterior + + Ex Excellent + Gd Good + TA Average/Typical + Fa Fair + Po Poor + +ExterCond: Evaluates the present condition of the material on the exterior + + Ex Excellent + Gd Good + TA Average/Typical + Fa Fair + Po Poor + +Foundation: Type of foundation + + BrkTil Brick & Tile + CBlock Cinder Block + PConc Poured Contrete + Slab Slab + Stone Stone + Wood Wood + +BsmtQual: Evaluates the height of the basement + + Ex Excellent (100+ inches) + Gd Good (90-99 inches) + TA Typical (80-89 inches) + Fa Fair (70-79 inches) + Po Poor (<70 inches + NA No Basement + +BsmtCond: Evaluates the general condition of the basement + + Ex Excellent + Gd Good + TA Typical - slight dampness allowed + Fa Fair - dampness or some cracking or settling + Po Poor - Severe cracking, settling, or wetness + NA No Basement + +BsmtExposure: Refers to walkout or garden level walls + + Gd Good Exposure + Av Average Exposure (split levels or foyers typically score average or above) + Mn Mimimum Exposure + No No Exposure + NA No Basement + +BsmtFinType1: Rating of basement finished area + + GLQ Good Living Quarters + ALQ Average Living Quarters + BLQ Below Average Living Quarters + Rec Average Rec Room + LwQ Low Quality + Unf Unfinshed + NA No Basement + +BsmtFinSF1: Type 1 finished square feet + +BsmtFinType2: Rating of basement finished area (if multiple types) + + GLQ Good Living Quarters + ALQ Average Living Quarters + BLQ Below Average Living Quarters + Rec Average Rec Room + LwQ Low Quality + Unf Unfinshed + NA No Basement + +BsmtFinSF2: Type 2 finished square feet + +BsmtUnfSF: Unfinished square feet of basement area + +TotalBsmtSF: Total square feet of basement area + +Heating: Type of heating + + Floor Floor Furnace + GasA Gas forced warm air furnace + GasW Gas hot water or steam heat + Grav Gravity furnace + OthW Hot water or steam heat other than gas + Wall Wall furnace + +HeatingQC: Heating quality and condition + + Ex Excellent + Gd Good + TA Average/Typical + Fa Fair + Po Poor + +CentralAir: Central air conditioning + + N No + Y Yes + +Electrical: Electrical system + + SBrkr Standard Circuit Breakers & Romex + FuseA Fuse Box over 60 AMP and all Romex wiring (Average) + FuseF 60 AMP Fuse Box and mostly Romex wiring (Fair) + FuseP 60 AMP Fuse Box and mostly knob & tube wiring (poor) + Mix Mixed + +1stFlrSF: First Floor square feet + +2ndFlrSF: Second floor square feet + +LowQualFinSF: Low quality finished square feet (all floors) + +GrLivArea: Above grade (ground) living area square feet + +BsmtFullBath: Basement full bathrooms + +BsmtHalfBath: Basement half bathrooms + +FullBath: Full bathrooms above grade + +HalfBath: Half baths above grade + +Bedroom: Bedrooms above grade (does NOT include basement bedrooms) + +Kitchen: Kitchens above grade + +KitchenQual: Kitchen quality + + Ex Excellent + Gd Good + TA Typical/Average + Fa Fair + Po Poor + +TotRmsAbvGrd: Total rooms above grade (does not include bathrooms) + +Functional: Home functionality (Assume typical unless deductions are warranted) + + Typ Typical Functionality + Min1 Minor Deductions 1 + Min2 Minor Deductions 2 + Mod Moderate Deductions + Maj1 Major Deductions 1 + Maj2 Major Deductions 2 + Sev Severely Damaged + Sal Salvage only + +Fireplaces: Number of fireplaces + +FireplaceQu: Fireplace quality + + Ex Excellent - Exceptional Masonry Fireplace + Gd Good - Masonry Fireplace in main level + TA Average - Prefabricated Fireplace in main living area or Masonry Fireplace in basement + Fa Fair - Prefabricated Fireplace in basement + Po Poor - Ben Franklin Stove + NA No Fireplace + +GarageType: Garage location + + 2Types More than one type of garage + Attchd Attached to home + Basment Basement Garage + BuiltIn Built-In (Garage part of house - typically has room above garage) + CarPort Car Port + Detchd Detached from home + NA No Garage + +GarageYrBlt: Year garage was built + +GarageFinish: Interior finish of the garage + + Fin Finished + RFn Rough Finished + Unf Unfinished + NA No Garage + +GarageCars: Size of garage in car capacity + +GarageArea: Size of garage in square feet + +GarageQual: Garage quality + + Ex Excellent + Gd Good + TA Typical/Average + Fa Fair + Po Poor + NA No Garage + +GarageCond: Garage condition + + Ex Excellent + Gd Good + TA Typical/Average + Fa Fair + Po Poor + NA No Garage + +PavedDrive: Paved driveway + + Y Paved + P Partial Pavement + N Dirt/Gravel + +WoodDeckSF: Wood deck area in square feet + +OpenPorchSF: Open porch area in square feet + +EnclosedPorch: Enclosed porch area in square feet + +3SsnPorch: Three season porch area in square feet + +ScreenPorch: Screen porch area in square feet + +PoolArea: Pool area in square feet + +PoolQC: Pool quality + + Ex Excellent + Gd Good + TA Average/Typical + Fa Fair + NA No Pool + +Fence: Fence quality + + GdPrv Good Privacy + MnPrv Minimum Privacy + GdWo Good Wood + MnWw Minimum Wood/Wire + NA No Fence + +MiscFeature: Miscellaneous feature not covered in other categories + + Elev Elevator + Gar2 2nd Garage (if not described in garage section) + Othr Other + Shed Shed (over 100 SF) + TenC Tennis Court + NA None + +MiscVal: $Value of miscellaneous feature + +MoSold: Month Sold (MM) + +YrSold: Year Sold (YYYY) + +SaleType: Type of sale + + WD Warranty Deed - Conventional + CWD Warranty Deed - Cash + VWD Warranty Deed - VA Loan + New Home just constructed and sold + COD Court Officer Deed/Estate + Con Contract 15% Down payment regular terms + ConLw Contract Low Down payment and low interest + ConLI Contract Low Interest + ConLD Contract Low Down + Oth Other + +SaleCondition: Condition of sale + + Normal Normal Sale + Abnorml Abnormal Sale - trade, foreclosure, short sale + AdjLand Adjoining Land Purchase + Alloca Allocation - two linked properties with separate deeds, typically condo with a garage unit + Family Sale between family members + Partial Home was not completed when last assessed (associated with New Homes) diff --git a/20 ML Algorithms For House Prices Prediction/sample_submission.csv b/20 ML Algorithms For House Prices Prediction/sample_submission.csv new file mode 100644 index 0000000..a5547c9 --- /dev/null +++ b/20 ML Algorithms For House Prices Prediction/sample_submission.csv @@ -0,0 +1,1460 @@ +Id,SalePrice +1461,169277.0524984 +1462,187758.393988768 +1463,183583.683569555 +1464,179317.47751083 +1465,150730.079976501 +1466,177150.989247307 +1467,172070.659229164 +1468,175110.956519547 +1469,162011.698831665 +1470,160726.247831419 +1471,157933.279456005 +1472,145291.245020389 +1473,159672.017631819 +1474,164167.518301885 +1475,150891.638244053 +1476,179460.96518734 +1477,185034.62891405 +1478,182352.192644656 +1479,183053.458213802 +1480,187823.339254278 +1481,186544.114327568 +1482,158230.77520516 +1483,190552.829321091 +1484,147183.67487199 +1485,185855.300905493 +1486,174350.470676986 +1487,201740.620690863 +1488,162986.378895754 +1489,162330.199085679 +1490,165845.938616539 +1491,180929.622876974 +1492,163481.501519718 +1493,187798.076714233 +1494,198822.198942566 +1495,194868.409899858 +1496,152605.298564403 +1497,147797.702836811 +1498,150521.96899297 +1499,146991.630153739 +1500,150306.307814534 +1501,151164.372534604 +1502,151133.706960953 +1503,156214.042540726 +1504,171992.760735142 +1505,173214.912549738 +1506,192429.187345783 +1507,190878.69508543 +1508,194542.544135519 +1509,191849.439072822 +1510,176363.773907793 +1511,176954.185412429 +1512,176521.216975696 +1513,179436.704810176 +1514,220079.756777048 +1515,175502.918109444 +1516,188321.073833569 +1517,163276.324450004 +1518,185911.366293097 +1519,171392.830997252 +1520,174418.207020775 +1521,179682.709603774 +1522,179423.751581665 +1523,171756.918091777 +1524,166849.638174419 +1525,181122.168676666 +1526,170934.462746566 +1527,159738.292580329 +1528,174445.759557658 +1529,174706.363659627 +1530,164507.672539365 +1531,163602.512172832 +1532,154126.270249525 +1533,171104.853481351 +1534,167735.39270528 +1535,183003.613338104 +1536,172580.381161499 +1537,165407.889104689 +1538,176363.773907793 +1539,175182.950898522 +1540,190757.177789246 +1541,167186.995771991 +1542,167839.376779276 +1543,173912.421165137 +1544,154034.917445551 +1545,156002.955794336 +1546,168173.94329857 +1547,168882.437104132 +1548,168173.94329857 +1549,157580.177551642 +1550,181922.15256011 +1551,155134.227842592 +1552,188885.573319552 +1553,183963.193012381 +1554,161298.762306335 +1555,188613.66763056 +1556,175080.111822945 +1557,174744.400305232 +1558,168175.911336919 +1559,182333.472575006 +1560,158307.206742274 +1561,193053.055502348 +1562,175031.089987177 +1563,160713.294602908 +1564,173186.215014436 +1565,191736.7598055 +1566,170401.630997116 +1567,164626.577880222 +1568,205469.409444832 +1569,209561.784211885 +1570,182271.503072356 +1571,178081.549427793 +1572,178425.956138831 +1573,162015.318511503 +1574,181722.420373045 +1575,156705.730169433 +1576,182902.420342386 +1577,157574.595395085 +1578,184380.739100813 +1579,169364.469225677 +1580,175846.179822063 +1581,189673.295302136 +1582,174401.317715566 +1583,179021.448718583 +1584,189196.845337149 +1585,139647.095720655 +1586,161468.198288911 +1587,171557.32317862 +1588,179447.36804185 +1589,169611.619017694 +1590,172088.872655744 +1591,171190.624128768 +1592,154850.508361878 +1593,158617.655719941 +1594,209258.33693701 +1595,177939.027626751 +1596,194631.100299584 +1597,213618.871562568 +1598,198342.504228533 +1599,138607.971472497 +1600,150778.958976731 +1601,146966.230339786 +1602,162182.59620952 +1603,176825.940961269 +1604,152799.812402444 +1605,180322.322067129 +1606,177508.027228367 +1607,208029.642652019 +1608,181987.282510201 +1609,160172.72797397 +1610,176761.317654248 +1611,176515.497545231 +1612,176270.453065471 +1613,183050.846258475 +1614,150011.102062216 +1615,159270.537808667 +1616,163419.663729346 +1617,163399.983345859 +1618,173364.161505756 +1619,169556.835902417 +1620,183690.595995738 +1621,176980.914909382 +1622,204773.36222471 +1623,174728.655998442 +1624,181873.458244461 +1625,177322.000823979 +1626,193927.939041863 +1627,181715.622732304 +1628,199270.841200324 +1629,177109.589956218 +1630,153909.578271486 +1631,162931.203336223 +1632,166386.7567182 +1633,173719.30379824 +1634,179757.925656704 +1635,179007.601964376 +1636,180370.808623106 +1637,185102.616730563 +1638,198825.563452058 +1639,184294.576009142 +1640,200443.7920562 +1641,181294.784484153 +1642,174354.336267919 +1643,172023.677781517 +1644,181666.922855025 +1645,179024.491269586 +1646,178324.191575907 +1647,184534.676687694 +1648,159397.250378784 +1649,178430.966728182 +1650,177743.799385967 +1651,179395.305519087 +1652,151713.38474815 +1653,151713.38474815 +1654,168434.977996215 +1655,153999.100311019 +1656,164096.097354123 +1657,166335.403036551 +1658,163020.725375757 +1659,155862.510668829 +1660,182760.651095509 +1661,201912.270622883 +1662,185988.233987516 +1663,183778.44888032 +1664,170935.85921771 +1665,184468.908382254 +1666,191569.089663229 +1667,232991.025583822 +1668,180980.721388278 +1669,164279.13048219 +1670,183859.460411109 +1671,185922.465682076 +1672,191742.778119363 +1673,199954.072465842 +1674,180690.274752587 +1675,163099.3096358 +1676,140791.922472443 +1677,166481.86647592 +1678,172080.434496773 +1679,191719.161659178 +1680,160741.098612515 +1681,157829.546854733 +1682,196896.748596341 +1683,159675.423990355 +1684,182084.790901946 +1685,179233.926374487 +1686,155774.270901623 +1687,181354.326716058 +1688,179605.563663918 +1689,181609.34866147 +1690,178221.531623281 +1691,175559.920735795 +1692,200328.822792041 +1693,178630.060559899 +1694,177174.535221728 +1695,172515.687368714 +1696,204032.992922943 +1697,176023.232787689 +1698,202202.073341595 +1699,181734.480075862 +1700,183982.158993126 +1701,188007.94241481 +1702,185922.966763517 +1703,183978.544874918 +1704,177199.618638821 +1705,181878.647956764 +1706,173622.088728263 +1707,180728.168562655 +1708,176477.026606328 +1709,184282.266697609 +1710,162062.47538448 +1711,182550.070992189 +1712,180987.949624695 +1713,178173.79762147 +1714,179980.635948606 +1715,173257.637826205 +1716,177271.291059307 +1717,175338.355442312 +1718,177548.140549508 +1719,175969.91662932 +1720,175011.481953462 +1721,185199.372568143 +1722,188514.050228937 +1723,185080.145268797 +1724,157304.402574096 +1725,194260.859481297 +1726,181262.329995106 +1727,157003.292706732 +1728,182924.499359899 +1729,181902.586375439 +1730,188985.371708134 +1731,185290.904495068 +1732,177304.425752748 +1733,166274.900490809 +1734,177807.420530107 +1735,180330.624816201 +1736,179069.112234629 +1737,175943.371816948 +1738,185199.050609653 +1739,167350.910824524 +1740,149315.311876449 +1741,139010.847766793 +1742,155412.151845447 +1743,171308.313985441 +1744,176220.543265638 +1745,177643.434991809 +1746,187222.653264601 +1747,185635.132083154 +1748,206492.534215854 +1749,181681.021081956 +1750,180500.198072685 +1751,206486.17086841 +1752,161334.301195429 +1753,176156.558313965 +1754,191642.223478994 +1755,191945.808027777 +1756,164146.306037354 +1757,179883.057071096 +1758,178071.137668844 +1759,188241.637896875 +1760,174559.656173171 +1761,182347.363042264 +1762,191507.251872857 +1763,199751.865597358 +1764,162106.416145131 +1765,164575.982314367 +1766,179176.352180931 +1767,177327.403857584 +1768,177818.083761781 +1769,186965.204048443 +1770,178762.742169197 +1771,183322.866146283 +1772,178903.295931891 +1773,186570.129421778 +1774,199144.242829024 +1775,172154.713310956 +1776,177444.019201603 +1777,166200.938073485 +1778,158995.770555632 +1779,168273.282454755 +1780,189680.453052788 +1781,181681.021081956 +1782,160277.142643643 +1783,197318.54715833 +1784,162228.935604196 +1785,187340.455456083 +1786,181065.347037275 +1787,190233.609102705 +1788,157929.594852031 +1789,168557.001935469 +1790,160805.584645628 +1791,221648.391978216 +1792,180539.88079815 +1793,182105.616283853 +1794,166380.852603154 +1795,178942.155617426 +1796,162804.747800461 +1797,183077.684392615 +1798,171728.4720292 +1799,164786.741540638 +1800,177427.267170302 +1801,197318.54715833 +1802,178658.114178223 +1803,185437.320523764 +1804,169759.652489529 +1805,173986.635055186 +1806,168607.664289468 +1807,194138.519145183 +1808,192502.440921994 +1809,176746.969818601 +1810,177604.891703134 +1811,193283.746584832 +1812,181627.061006609 +1813,169071.62025834 +1814,167398.006470987 +1815,150106.505141704 +1816,159650.304285848 +1817,179471.23597476 +1818,177109.589956218 +1819,166558.113328453 +1820,153796.714319583 +1821,174520.152570658 +1822,196297.95829524 +1823,169100.681601175 +1824,176911.319164431 +1825,169234.6454828 +1826,172386.297919134 +1827,156031.904802362 +1828,168202.892306596 +1829,166505.984017547 +1830,176507.37022149 +1831,180116.752553161 +1832,183072.740591406 +1833,189595.964677698 +1834,167523.919076265 +1835,210817.775863413 +1836,172942.930813351 +1837,145286.278144089 +1838,176468.653371492 +1839,159040.069562187 +1840,178518.204332507 +1841,169163.980786825 +1842,189786.685274579 +1843,181246.728523853 +1844,176349.927153587 +1845,205266.631009142 +1846,187397.993362224 +1847,208943.427726113 +1848,165014.532907657 +1849,182492.037566236 +1850,161718.71259042 +1851,180084.118941162 +1852,178534.950802179 +1853,151217.259961305 +1854,156342.717587562 +1855,188511.443835239 +1856,183570.337896789 +1857,225810.160292177 +1858,214217.401131694 +1859,187665.64101603 +1860,161157.177744039 +1861,187643.992594193 +1862,228156.372839158 +1863,220449.534665317 +1864,220522.352084222 +1865,156647.763531624 +1866,187388.833374873 +1867,178640.723791573 +1868,180847.216739049 +1869,159505.170529478 +1870,164305.538020654 +1871,180181.19673723 +1872,184602.734989972 +1873,193440.372174434 +1874,184199.788209911 +1875,196241.892907637 +1876,175588.618271096 +1877,179503.046546829 +1878,183658.076582555 +1879,193700.976276404 +1880,165399.62450704 +1881,186847.944787446 +1882,198127.73287817 +1883,183320.898107934 +1884,181613.606696657 +1885,178298.791761954 +1886,185733.534000593 +1887,180008.188485489 +1888,175127.59621604 +1889,183467.176862723 +1890,182705.546021743 +1891,152324.943593181 +1892,169878.515981342 +1893,183735.975076576 +1894,224118.280105941 +1895,169355.202465146 +1896,180054.276407441 +1897,174081.601977368 +1898,168494.985022146 +1899,181871.598843299 +1900,173554.489658383 +1901,169805.382165577 +1902,176192.990728755 +1903,204264.39284654 +1904,169630.906956928 +1905,185724.838807268 +1906,195699.036281861 +1907,189494.276162169 +1908,149607.905673439 +1909,154650.199045978 +1910,151579.558140433 +1911,185147.380531144 +1912,196314.53120359 +1913,210802.395364155 +1914,166271.2863726 +1915,154865.359142973 +1916,173575.5052865 +1917,179399.563554274 +1918,164280.776562049 +1919,171247.48948121 +1920,166878.587182445 +1921,188129.459710994 +1922,183517.34369691 +1923,175522.026925727 +1924,190060.105331152 +1925,174179.824771856 +1926,171059.523675194 +1927,183004.186769318 +1928,183601.647387418 +1929,163539.327185998 +1930,164677.676391525 +1931,162395.073865424 +1932,182207.6323195 +1933,192223.939790304 +1934,176391.829390125 +1935,181913.179121348 +1936,179136.097888261 +1937,196595.568243212 +1938,194822.365690957 +1939,148356.669440918 +1940,160387.604263899 +1941,181276.500571809 +1942,192474.817899346 +1943,157699.907796437 +1944,215785.540813051 +1945,181824.300998793 +1946,221813.00948166 +1947,165281.292597397 +1948,255629.49047034 +1949,173154.590990955 +1950,183884.65246539 +1951,200210.353608489 +1952,186599.221265342 +1953,192718.532696106 +1954,178628.665952764 +1955,180650.342418406 +1956,206003.107947263 +1957,166457.67844853 +1958,202916.221653487 +1959,192463.969983091 +1960,171775.497189898 +1961,175249.222149411 +1962,147086.59893993 +1963,149709.672100371 +1964,171411.404533743 +1965,178188.964799425 +1966,156491.711373235 +1967,180953.241201168 +1968,203909.759061135 +1969,175470.149087545 +1970,205578.333622415 +1971,199428.857699441 +1972,187599.163869476 +1973,192265.198109864 +1974,196666.554897677 +1975,155537.862252682 +1976,169543.240620935 +1977,202487.010170501 +1978,208232.716273485 +1979,173621.195202569 +1980,172414.608571812 +1981,164400.75641556 +1982,160480.424024781 +1983,156060.853810389 +1984,157437.192820581 +1985,158163.720929772 +1986,154849.043268978 +1987,152186.609341561 +1988,180340.215399228 +1989,178344.62451356 +1990,190170.382266827 +1991,168092.975480832 +1992,178757.912566805 +1993,174518.256882082 +1994,198168.490116289 +1995,176882.693978902 +1996,183801.672896251 +1997,196400.046680661 +1998,172281.605004025 +1999,196380.366297173 +2000,198228.354306682 +2001,195556.581268962 +2002,186453.264469043 +2003,181869.381196234 +2004,175610.840124147 +2005,183438.730800145 +2006,179584.488673295 +2007,182386.152242034 +2008,160750.367237054 +2009,182477.505046008 +2010,187720.359207171 +2011,187201.942081511 +2012,176385.102235149 +2013,175901.787841278 +2014,182584.280198283 +2015,195664.686104237 +2016,181420.346494222 +2017,176676.04995228 +2018,181594.678867334 +2019,178521.747964951 +2020,175895.883726231 +2021,168468.005916477 +2022,200973.129447888 +2023,197030.641992202 +2024,192867.417844592 +2025,196449.247639381 +2026,141684.196398607 +2027,153353.334123901 +2028,151143.549016705 +2029,163753.087114229 +2030,158682.460013921 +2031,144959.835250915 +2032,160144.390548579 +2033,156286.534303521 +2034,165726.707619571 +2035,182427.481047359 +2036,173310.56154032 +2037,173310.56154032 +2038,151556.01403002 +2039,158908.146068683 +2040,209834.383092536 +2041,192410.516550815 +2042,174026.247294886 +2043,195499.830115336 +2044,200918.018812493 +2045,207243.616023976 +2046,196149.783851876 +2047,192097.914850217 +2048,178570.948923671 +2049,228617.968325428 +2050,199929.884438451 +2051,160206.365612859 +2052,179854.431885567 +2053,185987.340461822 +2054,161122.505607926 +2055,175949.342720138 +2056,183683.590595324 +2057,176401.34762338 +2058,205832.532527897 +2059,177799.799849436 +2060,167565.362080406 +2061,186348.958436557 +2062,179782.759465081 +2063,169837.623333323 +2064,178817.275675758 +2065,174444.479149339 +2066,192834.968917174 +2067,196564.717984981 +2068,206977.567039357 +2069,157054.253944128 +2070,175142.948078577 +2071,159932.1643654 +2072,182801.408333628 +2073,181510.375176825 +2074,181613.035129451 +2075,186920.512597635 +2076,157950.170625222 +2077,176115.159022876 +2078,182744.514344465 +2079,180660.683691591 +2080,160775.629777099 +2081,186711.715848082 +2082,223581.758190888 +2083,172330.943236652 +2084,163474.633393212 +2085,175308.263299874 +2086,187462.725306432 +2087,180655.101535034 +2088,152121.98603454 +2089,159856.233909727 +2090,186559.854936737 +2091,183962.550959411 +2092,162107.168699296 +2093,162582.288981283 +2094,154407.701597409 +2095,181625.666399474 +2096,164810.609473548 +2097,176429.401241704 +2098,179188.089925259 +2099,145997.635377703 +2100,218676.768270367 +2101,188323.861214226 +2102,168690.0722914 +2103,165088.746797705 +2104,191435.007885166 +2105,168864.404664512 +2106,176041.882371574 +2107,215911.674390325 +2108,167388.238629016 +2109,163854.786753017 +2110,163299.477980171 +2111,178298.214633119 +2112,176376.586164775 +2113,170211.043976522 +2114,170818.344786366 +2115,174388.867432503 +2116,161112.987374671 +2117,172179.082325307 +2118,157798.309713876 +2119,169106.151422924 +2120,170129.531364292 +2121,157680.227412949 +2122,162690.209131977 +2123,146968.379365095 +2124,181507.721372455 +2125,191215.589752983 +2126,189432.689844522 +2127,207271.484957719 +2128,170030.807488363 +2129,148409.806476335 +2130,193850.613979055 +2131,193808.319298263 +2132,166300.235380627 +2133,163474.633393212 +2134,177473.606564978 +2135,157443.925537187 +2136,180681.007992057 +2137,183463.17030026 +2138,182481.763081195 +2139,193717.15117887 +2140,182782.55099007 +2141,175530.651633287 +2142,177804.057884623 +2143,159448.670848577 +2144,181338.976717529 +2145,178553.558537021 +2146,162820.928264556 +2147,188832.479997186 +2148,164682.185899437 +2149,181549.735943801 +2150,199158.097008868 +2151,152889.520990566 +2152,181150.551679116 +2153,181416.732376013 +2154,164391.238182305 +2155,185421.046498812 +2156,193981.327550004 +2157,178824.324789223 +2158,209270.051606246 +2159,177801.266806344 +2160,179053.762236101 +2161,178762.170601992 +2162,184655.300458183 +2163,191284.655779772 +2164,179598.085818785 +2165,167517.628078595 +2166,182873.903794044 +2167,177484.91371363 +2168,188444.597319524 +2169,179184.153848562 +2170,184365.175780982 +2171,184479.322005212 +2172,182927.863869391 +2173,178611.639373646 +2174,181943.343613558 +2175,175080.614768394 +2176,190720.794649138 +2177,198422.868144723 +2178,184482.11308349 +2179,139214.952187861 +2180,169233.113601757 +2181,180664.118686848 +2182,178818.742632666 +2183,180422.049969947 +2184,178601.93645581 +2185,183083.159775993 +2186,173163.101499699 +2187,185968.161159774 +2188,171226.050683054 +2189,281643.976116786 +2190,160031.711281258 +2191,162775.979779394 +2192,160735.445970193 +2193,166646.109048572 +2194,188384.548444549 +2195,165830.697255197 +2196,182138.358533039 +2197,171595.397975647 +2198,160337.079183809 +2199,191215.088671543 +2200,166956.093232213 +2201,186581.830878692 +2202,176450.548582099 +2203,193743.194909801 +2204,198882.566078408 +2205,176385.102235149 +2206,162447.639333636 +2207,193782.555676777 +2208,183653.890897141 +2209,210578.623546866 +2210,158527.164107319 +2211,163081.025723456 +2212,174388.867432503 +2213,191905.870131966 +2214,174388.867432503 +2215,161642.711648983 +2216,186939.507215101 +2217,172482.165792649 +2218,159695.999763546 +2219,157230.369671007 +2220,179188.089925259 +2221,157972.82120994 +2222,156804.951429181 +2223,211491.972463654 +2224,186537.246201062 +2225,200468.161070551 +2226,182241.340444154 +2227,157342.225898399 +2228,182022.387105998 +2229,181244.510876788 +2230,178556.671573788 +2231,189547.199876284 +2232,187948.65165563 +2233,194107.287565956 +2234,183521.710369283 +2235,183682.123638416 +2236,178483.353073443 +2237,184003.879764736 +2238,171318.59033449 +2239,162039.754313997 +2240,154846.252190699 +2241,194822.365690957 +2242,169788.738771463 +2243,178891.554489941 +2244,152084.772428865 +2245,139169.86642879 +2246,192439.536044606 +2247,161067.859766557 +2248,158762.648504781 +2249,175569.690441774 +2250,183659.795012187 +2251,280618.132617258 +2252,180051.809151659 +2253,176519.18031559 +2254,179028.429210291 +2255,177161.583857224 +2256,180081.508849842 +2257,205895.254584712 +2258,183389.78131415 +2259,178543.647859512 +2260,194798.320499104 +2261,162845.613675766 +2262,148103.867006579 +2263,201016.171121215 +2264,277936.12694354 +2265,249768.279823405 +2266,161596.052159825 +2267,158011.114889899 +2268,194089.683858004 +2269,181733.336941451 +2270,182852.32772198 +2271,189893.003058465 +2272,194650.210979875 +2273,187904.461286262 +2274,171774.925622692 +2275,177998.685921479 +2276,175648.484325498 +2277,196918.071362067 +2278,184299.838071218 +2279,182379.855682734 +2280,184050.725802482 +2281,158296.975970284 +2282,175053.355553278 +2283,162293.376090644 +2284,186328.880047186 +2285,151422.116936538 +2286,181969.358707768 +2287,189122.67702416 +2288,185645.475220346 +2289,182829.898109257 +2290,195848.788183328 +2291,198785.059550672 +2292,181676.126555428 +2293,194131.012663328 +2294,201416.004864508 +2295,185096.577205616 +2296,195158.972598372 +2297,184795.783735112 +2298,189168.263864671 +2299,216855.260149095 +2300,184946.642483576 +2301,189317.51282069 +2302,180803.277842406 +2303,175061.18585763 +2304,179074.839090732 +2305,145708.764336107 +2306,142398.022752011 +2307,161474.534863641 +2308,157025.945155458 +2309,163424.037827357 +2310,164692.778645345 +2311,152163.2443541 +2312,192383.215486656 +2313,182520.230322476 +2314,187254.507549722 +2315,176489.659740359 +2316,181520.466841293 +2317,186414.978214721 +2318,185197.764639705 +2319,178657.794083741 +2320,179731.198023759 +2321,161748.271317074 +2322,158608.749069322 +2323,178807.370559878 +2324,184187.158803897 +2325,181686.10402108 +2326,190311.050228337 +2327,192252.496354076 +2328,193954.849525775 +2329,181044.201560887 +2330,180258.131219792 +2331,199641.657313834 +2332,197530.775205517 +2333,191777.196949138 +2334,195779.543033588 +2335,202112.046522999 +2336,192343.34807661 +2337,185191.359443218 +2338,186760.207965688 +2339,177733.78193528 +2340,164430.391189608 +2341,185299.601552401 +2342,186414.012339254 +2343,176401.921054593 +2344,182381.322639642 +2345,176334.184710805 +2346,184901.735847457 +2347,180085.766885029 +2348,184901.735847457 +2349,183967.561548763 +2350,193046.301574659 +2351,168538.969495849 +2352,170157.842016969 +2353,196559.709259637 +2354,177133.709361852 +2355,181553.279576244 +2356,185770.606634739 +2357,177017.595099274 +2358,184123.358536806 +2359,165970.357492196 +2360,158151.985049452 +2361,177086.476441481 +2362,196373.896176551 +2363,172465.707083115 +2364,168590.782409896 +2365,158820.474171061 +2366,151611.37057651 +2367,152125.028585543 +2368,158404.073081048 +2369,160692.078640755 +2370,170175.22684199 +2371,169854.436591138 +2372,183410.785819008 +2373,180347.194026928 +2374,178930.528374292 +2375,153346.220086301 +2376,182675.204270589 +2377,180770.649792036 +2378,188714.148087543 +2379,191393.608594076 +2380,174016.157494425 +2381,183189.685319552 +2382,183621.508757866 +2383,168991.29635758 +2384,185306.650665866 +2385,189030.680303208 +2386,179208.665698449 +2387,174901.452792889 +2388,168337.406544343 +2389,158234.96461859 +2390,179562.453368834 +2391,174176.391640607 +2392,173931.531845427 +2393,184111.729429665 +2394,179374.482001188 +2395,207348.811884535 +2396,186983.419339031 +2397,206779.094049527 +2398,177472.074683935 +2399,156727.948324862 +2400,157090.568462479 +2401,160387.032696693 +2402,172410.28005086 +2403,191603.365657467 +2404,182152.207151253 +2405,180161.697340702 +2406,169652.235284283 +2407,182503.520140218 +2408,179714.630677039 +2409,180282.570719908 +2410,192600.338060371 +2411,166115.491248565 +2412,186379.553524443 +2413,184361.992258449 +2414,186220.965458121 +2415,198176.47090687 +2416,168437.776500131 +2417,178003.582312015 +2418,179180.469244588 +2419,191930.561104806 +2420,175590.266214964 +2421,176713.19307219 +2422,180159.090947005 +2423,188090.100808026 +2424,186184.717727913 +2425,223055.588672278 +2426,158270.753116401 +2427,184733.12846644 +2428,199926.378957429 +2429,175075.785166001 +2430,180917.925148076 +2431,182067.760625207 +2432,178238.60191545 +2433,173454.944606532 +2434,176821.936262814 +2435,183642.191304235 +2436,177254.582741058 +2437,168715.950111702 +2438,180096.931198144 +2439,160620.728178758 +2440,175286.544392273 +2441,153494.783276297 +2442,156407.65915545 +2443,162162.525245786 +2444,166809.886827197 +2445,172929.156408918 +2446,193514.330894137 +2447,181612.141603756 +2448,191745.386377068 +2449,171369.325038261 +2450,184425.470567051 +2451,170563.252355189 +2452,184522.369240168 +2453,164968.947931153 +2454,157939.621592364 +2455,151520.381580069 +2456,176129.508722531 +2457,171112.978971478 +2458,169762.081624282 +2459,162246.828936295 +2460,171339.303381589 +2461,189034.753653813 +2462,175758.873595981 +2463,163351.721489893 +2464,189806.546645026 +2465,175370.990918319 +2466,196895.599900301 +2467,176905.917994834 +2468,176866.557227858 +2469,163590.677170026 +2470,212693.502958393 +2471,192686.931747717 +2472,181578.684951827 +2473,166475.457581812 +2474,185998.255166219 +2475,185527.714877908 +2476,159027.118197683 +2477,181169.654933769 +2478,176732.915304722 +2479,191619.294648838 +2480,189114.303789324 +2481,180934.635330334 +2482,164573.372223048 +2483,173902.011270196 +2484,165625.127741229 +2485,179555.219570787 +2486,196899.720661579 +2487,207566.12470446 +2488,163899.981149274 +2489,189179.428177786 +2490,193892.880023125 +2491,178980.874331431 +2492,179749.876244365 +2493,197999.674975598 +2494,203717.470295797 +2495,185249.261156892 +2496,201691.208274848 +2497,181956.548314794 +2498,171895.936275806 +2499,187245.168439419 +2500,157816.77461318 +2501,191702.912573325 +2502,198599.420028908 +2503,187193.313676329 +2504,220514.993999535 +2505,181814.527595192 +2506,183750.755371907 +2507,183000.431679579 +2508,185830.971906573 +2509,185497.872344187 +2510,179613.437681321 +2511,164454.967963631 +2512,185127.237217638 +2513,178750.613844623 +2514,160927.61044889 +2515,192562.808057836 +2516,180990.24148554 +2517,180064.941503122 +2518,196070.997393789 +2519,180352.919019023 +2520,183367.953769362 +2521,176734.841494027 +2522,180848.220765939 +2523,187806.059368823 +2524,180521.52640004 +2525,181502.754496154 +2526,174525.87942676 +2527,188927.984063168 +2528,184728.870431253 +2529,179857.975518011 +2530,180962.868071609 +2531,179194.066390078 +2532,179591.789259484 +2533,180638.463702549 +2534,185846.215131922 +2535,195174.031139141 +2536,192474.56829063 +2537,164200.595496827 +2538,178403.094096818 +2539,170774.84018302 +2540,179879.945898337 +2541,177668.192752792 +2542,180174.328610725 +2543,170643.303572141 +2544,165448.004289838 +2545,195531.754886222 +2546,165314.177682121 +2547,172532.757660882 +2548,203310.218069877 +2549,175090.062515883 +2550,230841.338626282 +2551,155225.19006632 +2552,168322.342441945 +2553,165956.259265265 +2554,193956.817564124 +2555,171070.367893827 +2556,166285.243628001 +2557,182875.801346628 +2558,218108.536769738 +2559,174378.777632042 +2560,164731.316372391 +2561,156969.695083273 +2562,173388.854342604 +2563,177559.628685119 +2564,194297.789279905 +2565,174894.588364005 +2566,196544.144075798 +2567,179036.158528149 +2568,211423.986511149 +2569,208156.398935188 +2570,159233.941347257 +2571,210820.115134931 +2572,140196.10979821 +2573,198678.469082978 +2574,186818.610760803 +2575,175044.797633861 +2576,180031.162892704 +2577,176889.171525162 +2578,159638.856165666 +2579,154287.264375509 +2580,191885.618181273 +2581,177503.378612934 +2582,166548.31684976 +2583,164475.14942856 +2584,167484.744857879 +2585,188683.160555403 +2586,162243.399502668 +2587,180807.213919103 +2588,176279.079637039 +2589,163438.959094218 +2590,161495.5393685 +2591,216032.303722443 +2592,176632.181541401 +2593,168743.001567144 +2594,183810.11848086 +2595,156794.36054728 +2596,169136.43011395 +2597,183203.318752456 +2598,213252.926930889 +2599,190550.327866959 +2600,234707.209860273 +2601,135751.318892816 +2602,164228.45886894 +2603,153219.437030419 +2604,164210.746523801 +2605,163883.229117973 +2606,154892.776269956 +2607,197092.08733832 +2608,228148.376399122 +2609,178680.587503997 +2610,165643.341167808 +2611,222406.642660249 +2612,184021.843582599 +2613,170871.094939159 +2614,189562.873697309 +2615,170591.884966356 +2616,172934.351682851 +2617,186425.069879189 +2618,218648.131133006 +2619,183035.606761141 +2620,178378.906069427 +2621,184516.716597846 +2622,181419.5253183 +2623,196858.923438425 +2624,189228.701486278 +2625,208973.380761028 +2626,180269.86896412 +2627,159488.713683953 +2628,191490.299507521 +2629,228684.245137946 +2630,201842.998700429 +2631,209242.82289186 +2632,202357.62258493 +2633,168238.61218265 +2634,202524.12465369 +2635,170588.771929588 +2636,198375.31512987 +2637,170636.827889889 +2638,181991.079479377 +2639,183994.54251844 +2640,182951.482193584 +2641,174126.297156192 +2642,170575.496742588 +2643,175332.239869971 +2644,167522.061539111 +2645,168095.583738538 +2646,154406.415627461 +2647,170996.973346087 +2648,159056.890245639 +2649,181373.6165193 +2650,152272.560975937 +2651,168664.346821336 +2652,211007.008292301 +2653,182909.515032911 +2654,203926.829353303 +2655,179082.825442944 +2656,206260.099795032 +2657,181732.443415757 +2658,189698.740693148 +2659,203074.34678979 +2660,201670.634365666 +2661,173756.812589691 +2662,181387.076390881 +2663,184859.155270535 +2664,158313.615666777 +2665,151951.955409666 +2666,162537.52704471 +2667,178998.337067854 +2668,186732.584943041 +2669,187323.318406165 +2670,199437.232798284 +2671,185546.680858653 +2672,161595.015798593 +2673,154672.422763036 +2674,159355.710116165 +2675,155919.014077746 +2676,182424.87095604 +2677,178100.589622319 +2678,202577.900044456 +2679,177862.778940605 +2680,182056.024744887 +2681,191403.199177104 +2682,196264.754980043 +2683,209375.003419718 +2684,196691.81930173 +2685,192458.431539585 +2686,182242.80926507 +2687,183259.503900506 +2688,188108.243748841 +2689,171418.640195797 +2690,194698.882220432 +2691,174841.84007522 +2692,172965.476488899 +2693,189386.323677132 +2694,185682.618340257 +2695,176412.012719061 +2696,174976.489722867 +2697,180718.581707643 +2698,186131.188248242 +2699,165220.786354033 +2700,164115.893800435 +2701,182125.729127024 +2702,182285.140233276 +2703,196325.442210366 +2704,164865.215329881 +2705,182694.492209823 +2706,185425.485520958 +2707,171414.7041191 +2708,183433.472466085 +2709,176844.981155794 +2710,180568.187753206 +2711,185948.625475832 +2712,189388.291715481 +2713,142754.489165865 +2714,156106.800760811 +2715,155895.397617561 +2716,159851.977738548 +2717,185157.832305524 +2718,180716.291710805 +2719,176901.093954071 +2720,181017.222455218 +2721,183269.159407668 +2722,193550.830097069 +2723,170625.842699726 +2724,182012.405942725 +2725,179162.507290733 +2726,183269.159407668 +2727,180589.836175042 +2728,181465.935198741 +2729,196053.029878304 +2730,183421.020319014 +2731,167926.839083612 +2732,168027.530997889 +2733,182164.26685407 +2734,172469.071592608 +2735,181059.374300472 +2736,182997.570115536 +2737,166140.504179894 +2738,198515.546934075 +2739,193789.648503294 +2740,173550.025727531 +2741,176487.943174734 +2742,188813.302559147 +2743,178531.911979192 +2744,182145.731469001 +2745,179196.465024103 +2746,169618.349900686 +2747,170010.168655046 +2748,181739.671652174 +2749,172846.934955574 +2750,195560.8830172 +2751,180358.114292956 +2752,211817.702818093 +2753,176170.128686742 +2754,234492.248263699 +2755,182450.956536015 +2756,174902.068073146 +2757,173684.174293738 +2758,147196.673677562 +2759,175231.189709791 +2760,193417.64740633 +2761,183313.601249761 +2762,180882.250849082 +2763,186735.697979808 +2764,172922.865411247 +2765,202551.677190573 +2766,190485.634074173 +2767,173439.49362151 +2768,196613.598849219 +2769,178152.259700828 +2770,174519.904825949 +2771,172627.796932837 +2772,173732.689486435 +2773,209219.844787023 +2774,181059.374300472 +2775,188515.443002459 +2776,182164.26685407 +2777,188137.901597981 +2778,158893.54306269 +2779,189579.65066771 +2780,165229.803505847 +2781,162186.071220207 +2782,166374.879866351 +2783,161665.184974757 +2784,175079.328798445 +2785,203840.874021305 +2786,152129.078861057 +2787,181012.141380101 +2788,161305.53503837 +2789,203326.392972343 +2790,168385.571141831 +2791,183564.365159986 +2792,163784.619440861 +2793,171989.192193993 +2794,180839.95616829 +2795,170895.923185907 +2796,174071.054808518 +2797,259423.859147546 +2798,188000.824679588 +2799,179171.703565498 +2800,171022.241447762 +2801,174126.297156192 +2802,187625.573271948 +2803,199567.946369234 +2804,205328.078219268 +2805,166231.535025379 +2806,154743.91606057 +2807,159714.537012622 +2808,185563.069082422 +2809,171500.796725006 +2810,180983.443844799 +2811,183141.236914997 +2812,178498.634450214 +2813,224323.710512388 +2814,218200.642127877 +2815,182283.177756557 +2816,190054.639237419 +2817,160192.453934518 +2818,171289.393581756 +2819,151131.098733642 +2820,181721.458225594 +2821,172725.053851858 +2822,222438.699143414 +2823,235419.373448928 +2824,185150.926027596 +2825,184772.239624699 +2826,180658.216435809 +2827,209673.316647174 +2828,205939.810625621 +2829,165633.573325837 +2830,186030.317211014 +2831,160312.319589212 +2832,190702.440251029 +2833,175122.810326699 +2834,183783.13937519 +2835,178290.666302221 +2836,181605.343963015 +2837,187992.451444752 +2838,188885.11781517 +2839,189959.344795118 +2840,179258.619211334 +2841,181518.750275669 +2842,193008.659237315 +2843,186313.89385619 +2844,181499.39185067 +2845,174126.297156192 +2846,183918.612062767 +2847,184114.270899227 +2848,158540.947801398 +2849,197034.759055859 +2850,185170.284452595 +2851,221134.533635148 +2852,184306.637575967 +2853,199792.302740996 +2854,143237.803559736 +2855,177294.838897736 +2856,182368.620883855 +2857,176487.943174734 +2858,183849.408762071 +2859,184964.141507413 +2860,196395.969632434 +2861,188374.936650438 +2862,176261.296806135 +2863,163628.142248426 +2864,180618.032628904 +2865,161647.329794081 +2866,167129.598867773 +2867,174750.988352687 +2868,177560.202116333 +2869,192577.796112839 +2870,199202.898960871 +2871,182818.156667308 +2872,148217.262540651 +2873,188997.797082492 +2874,185807.928877601 +2875,177030.477842021 +2876,175942.474593632 +2877,172912.518576433 +2878,198359.248864591 +2879,184379.133036383 +2880,194255.566948886 +2881,209449.651603064 +2882,169979.323958443 +2883,188206.281858748 +2884,186412.438609167 +2885,196761.386409959 +2886,208353.269558209 +2887,166548.067241044 +2888,175942.474593632 +2889,166790.457916434 +2890,160515.850579067 +2891,192167.621096362 +2892,178751.551083369 +2893,198678.894117024 +2894,164553.120272354 +2895,156887.932862327 +2896,164185.777305524 +2897,212992.120630876 +2898,197468.550532521 +2899,180106.84373966 +2900,183972.071056674 +2901,245283.198337927 +2902,170351.963410756 +2903,195596.307707478 +2904,189369.756330412 +2905,223667.404551664 +2906,169335.310624364 +2907,167411.02835165 +2908,187709.555003968 +2909,196526.002998991 +2910,137402.569855589 +2911,165086.775061735 +2912,188506.431412274 +2913,172917.456816012 +2914,166274.325225982 +2915,167081.220948984 +2916,164788.778231138 +2917,219222.423400059 +2918,184924.279658997 +2919,187741.866657478 diff --git a/20 ML Algorithms For House Prices Prediction/test.csv b/20 ML Algorithms For House Prices Prediction/test.csv new file mode 100644 index 0000000..a19c5c7 --- /dev/null +++ b/20 ML Algorithms For House Prices Prediction/test.csv @@ -0,0 +1,1460 @@ +Id,MSSubClass,MSZoning,LotFrontage,LotArea,Street,Alley,LotShape,LandContour,Utilities,LotConfig,LandSlope,Neighborhood,Condition1,Condition2,BldgType,HouseStyle,OverallQual,OverallCond,YearBuilt,YearRemodAdd,RoofStyle,RoofMatl,Exterior1st,Exterior2nd,MasVnrType,MasVnrArea,ExterQual,ExterCond,Foundation,BsmtQual,BsmtCond,BsmtExposure,BsmtFinType1,BsmtFinSF1,BsmtFinType2,BsmtFinSF2,BsmtUnfSF,TotalBsmtSF,Heating,HeatingQC,CentralAir,Electrical,1stFlrSF,2ndFlrSF,LowQualFinSF,GrLivArea,BsmtFullBath,BsmtHalfBath,FullBath,HalfBath,BedroomAbvGr,KitchenAbvGr,KitchenQual,TotRmsAbvGrd,Functional,Fireplaces,FireplaceQu,GarageType,GarageYrBlt,GarageFinish,GarageCars,GarageArea,GarageQual,GarageCond,PavedDrive,WoodDeckSF,OpenPorchSF,EnclosedPorch,3SsnPorch,ScreenPorch,PoolArea,PoolQC,Fence,MiscFeature,MiscVal,MoSold,YrSold,SaleType,SaleCondition +1461,20,RH,80,11622,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Feedr,Norm,1Fam,1Story,5,6,1961,1961,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,468,LwQ,144,270,882,GasA,TA,Y,SBrkr,896,0,0,896,0,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1961,Unf,1,730,TA,TA,Y,140,0,0,0,120,0,NA,MnPrv,NA,0,6,2010,WD,Normal +1462,20,RL,81,14267,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1958,1958,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,108,TA,TA,CBlock,TA,TA,No,ALQ,923,Unf,0,406,1329,GasA,TA,Y,SBrkr,1329,0,0,1329,0,0,1,1,3,1,Gd,6,Typ,0,NA,Attchd,1958,Unf,1,312,TA,TA,Y,393,36,0,0,0,0,NA,NA,Gar2,12500,6,2010,WD,Normal +1463,60,RL,74,13830,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,5,5,1997,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,GLQ,791,Unf,0,137,928,GasA,Gd,Y,SBrkr,928,701,0,1629,0,0,2,1,3,1,TA,6,Typ,1,TA,Attchd,1997,Fin,2,482,TA,TA,Y,212,34,0,0,0,0,NA,MnPrv,NA,0,3,2010,WD,Normal +1464,60,RL,78,9978,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,6,1998,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,20,TA,TA,PConc,TA,TA,No,GLQ,602,Unf,0,324,926,GasA,Ex,Y,SBrkr,926,678,0,1604,0,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,1998,Fin,2,470,TA,TA,Y,360,36,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1465,120,RL,43,5005,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,1992,1992,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,No,ALQ,263,Unf,0,1017,1280,GasA,Ex,Y,SBrkr,1280,0,0,1280,0,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,1992,RFn,2,506,TA,TA,Y,0,82,0,0,144,0,NA,NA,NA,0,1,2010,WD,Normal +1466,60,RL,75,10000,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1993,1994,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,763,763,GasA,Gd,Y,SBrkr,763,892,0,1655,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1993,Fin,2,440,TA,TA,Y,157,84,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1467,20,RL,NA,7980,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,1Story,6,7,1992,2007,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Gd,PConc,Gd,TA,No,ALQ,935,Unf,0,233,1168,GasA,Ex,Y,SBrkr,1187,0,0,1187,1,0,2,0,3,1,TA,6,Typ,0,NA,Attchd,1992,Fin,2,420,TA,TA,Y,483,21,0,0,0,0,NA,GdPrv,Shed,500,3,2010,WD,Normal +1468,60,RL,63,8402,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,789,789,GasA,Gd,Y,SBrkr,789,676,0,1465,0,0,2,1,3,1,TA,7,Typ,1,Gd,Attchd,1998,Fin,2,393,TA,TA,Y,0,75,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1469,20,RL,85,10176,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,1Story,7,5,1990,1990,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,Gd,GLQ,637,Unf,0,663,1300,GasA,Gd,Y,SBrkr,1341,0,0,1341,1,0,1,1,2,1,Gd,5,Typ,1,Po,Attchd,1990,Unf,2,506,TA,TA,Y,192,0,0,0,0,0,NA,NA,NA,0,2,2010,WD,Normal +1470,20,RL,70,8400,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,5,1970,1970,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,804,Rec,78,0,882,GasA,TA,Y,SBrkr,882,0,0,882,1,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1970,Fin,2,525,TA,TA,Y,240,0,0,0,0,0,NA,MnPrv,NA,0,4,2010,WD,Normal +1471,120,RH,26,5858,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,NAmes,Norm,Norm,TwnhsE,1Story,7,5,1999,1999,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,1051,BLQ,0,354,1405,GasA,Ex,Y,SBrkr,1337,0,0,1337,1,0,2,0,2,1,Gd,5,Typ,1,Fa,Attchd,1999,Fin,2,511,TA,TA,Y,203,68,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1472,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,5,1971,1971,Gable,CompShg,HdBoard,HdBoard,BrkFace,504,TA,TA,CBlock,TA,TA,No,Rec,156,Unf,0,327,483,GasA,TA,Y,SBrkr,483,504,0,987,0,0,1,1,2,1,TA,5,Typ,0,NA,Detchd,1971,Unf,1,264,TA,TA,Y,275,0,0,0,0,0,NA,NA,NA,0,2,2010,COD,Normal +1473,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,5,5,1971,1971,Gable,CompShg,HdBoard,HdBoard,BrkFace,492,TA,TA,CBlock,TA,TA,No,Rec,300,Unf,0,225,525,GasA,TA,Y,SBrkr,525,567,0,1092,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1997,Unf,1,320,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal +1474,160,RL,24,2280,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NPkVill,Norm,Norm,Twnhs,2Story,6,6,1975,1975,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,TA,TA,No,ALQ,514,Unf,0,341,855,GasA,TA,Y,SBrkr,855,601,0,1456,0,0,2,1,3,1,Gd,6,Typ,1,TA,Attchd,1975,Unf,2,440,TA,TA,Y,173,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1475,120,RL,24,2280,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NPkVill,Norm,Norm,Twnhs,1Story,7,6,1975,1975,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,836,836,GasA,Ex,Y,SBrkr,836,0,0,836,0,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1975,Unf,1,308,TA,TA,Y,0,30,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1476,60,RL,102,12858,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2009,2010,Gable,CompShg,VinylSd,VinylSd,Stone,162,Ex,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1590,1590,GasA,Ex,Y,SBrkr,1627,707,0,2334,0,0,2,1,3,1,Ex,10,Typ,1,Gd,Attchd,2009,Fin,3,751,TA,TA,Y,144,133,0,0,0,0,NA,NA,NA,0,1,2010,New,Partial +1477,20,RL,94,12883,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2009,2010,Gable,CompShg,VinylSd,VinylSd,Stone,256,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1544,1544,GasA,Ex,Y,SBrkr,1544,0,0,1544,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2009,RFn,3,868,TA,TA,Y,0,35,0,0,0,0,NA,NA,NA,0,6,2010,New,Partial +1478,20,RL,90,11520,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,PosN,Norm,1Fam,1Story,9,5,2005,2005,Hip,CompShg,VinylSd,VinylSd,BrkFace,615,Gd,TA,PConc,Ex,TA,No,GLQ,110,Unf,0,1588,1698,GasA,Ex,Y,SBrkr,1698,0,0,1698,0,0,2,0,3,1,Ex,7,Typ,1,Gd,Attchd,2005,Fin,3,730,TA,TA,Y,192,74,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1479,20,RL,79,14122,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2005,2006,Hip,CompShg,CemntBd,CmentBd,BrkFace,240,Gd,TA,PConc,Ex,TA,No,GLQ,28,Unf,0,1794,1822,GasA,Ex,Y,SBrkr,1822,0,0,1822,0,0,2,0,3,1,Ex,8,Typ,1,Gd,Attchd,2005,RFn,3,678,TA,TA,Y,0,119,0,0,0,0,NA,NA,NA,0,2,2010,WD,Normal +1480,20,RL,110,14300,Pave,NA,Reg,HLS,AllPub,Inside,Mod,NridgHt,Norm,Norm,1Fam,1Story,9,5,2003,2004,Hip,CompShg,VinylSd,VinylSd,BrkFace,1095,Ex,TA,PConc,Ex,TA,Gd,GLQ,1373,Unf,0,1473,2846,GasA,Ex,Y,SBrkr,2696,0,0,2696,1,0,2,1,3,1,Ex,10,Typ,2,Gd,Attchd,2003,Fin,3,958,TA,TA,Y,220,150,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1481,60,RL,105,13650,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,232,Gd,TA,PConc,Gd,TA,Gd,GLQ,578,Unf,0,1093,1671,GasA,Ex,Y,SBrkr,1687,563,0,2250,1,0,2,1,3,1,Gd,7,Typ,1,Ex,Attchd,2002,Fin,3,756,TA,TA,Y,238,130,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1482,120,RL,41,7132,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,Stone,178,Gd,TA,PConc,Gd,TA,Mn,GLQ,24,Unf,0,1346,1370,GasA,Ex,Y,SBrkr,1370,0,0,1370,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2006,RFn,2,484,TA,TA,Y,120,49,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1483,20,RL,100,18494,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,1Story,6,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1324,1324,GasA,Ex,Y,SBrkr,1324,0,0,1324,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2005,Fin,2,430,TA,TA,Y,36,23,0,0,0,0,NA,NA,NA,0,1,2010,WD,Normal +1484,120,RL,43,3203,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,14,Gd,TA,PConc,Gd,TA,Av,GLQ,16,Unf,0,1129,1145,GasA,Ex,Y,SBrkr,1145,0,0,1145,0,0,2,0,2,1,Gd,6,Typ,0,NA,Attchd,2006,Fin,2,437,TA,TA,Y,100,116,0,0,0,0,NA,NA,NA,0,1,2010,WD,Normal +1485,80,RL,67,13300,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,326,Unf,0,58,384,GasA,Ex,Y,SBrkr,744,630,0,1374,1,0,2,1,3,1,Gd,7,Typ,1,Gd,BuiltIn,2004,Fin,2,400,TA,TA,Y,100,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1486,60,RL,63,8577,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,847,847,GasA,Ex,Y,SBrkr,847,886,0,1733,0,0,2,1,3,1,Gd,7,Typ,1,Gd,BuiltIn,2004,Fin,2,433,TA,TA,Y,144,48,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1487,60,RL,60,17433,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1998,1998,Hip,CompShg,VinylSd,VinylSd,BrkFace,114,Gd,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1629,1629,GasA,Ex,Y,SBrkr,1645,830,0,2475,0,0,2,1,4,1,Gd,7,Typ,1,TA,Attchd,1998,Fin,3,962,TA,TA,Y,23,172,0,0,256,0,NA,NA,NA,0,1,2010,WD,Normal +1488,20,RL,73,8987,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,226,Gd,TA,PConc,Gd,TA,NA,Unf,0,Unf,0,1595,1595,GasA,Ex,Y,SBrkr,1595,0,0,1595,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2005,RFn,3,880,TA,TA,Y,144,0,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1489,20,FV,92,9215,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2009,2010,Hip,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1218,1218,GasA,Ex,Y,SBrkr,1218,0,0,1218,0,0,2,0,2,1,Gd,4,Typ,0,NA,Attchd,2009,RFn,2,676,TA,TA,Y,0,136,0,0,0,0,NA,NA,NA,0,4,2010,New,Partial +1490,20,FV,84,10440,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,1Fam,1Story,6,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,No,GLQ,1414,Unf,0,54,1468,GasA,Ex,Y,SBrkr,1468,0,0,1468,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2005,Fin,2,528,TA,TA,Y,0,102,0,0,216,0,NA,NA,NA,0,5,2010,WD,Normal +1491,60,RL,70,11920,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,122,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,831,831,GasA,Ex,Y,SBrkr,831,828,0,1659,0,0,2,1,3,1,Gd,8,Typ,0,NA,Attchd,2004,RFn,2,484,TA,TA,Y,144,68,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1492,30,RH,70,9800,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,SawyerW,Feedr,Norm,1Fam,1Story,5,5,1920,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Fa,BrkTil,TA,TA,No,Unf,0,Unf,0,816,816,GasA,TA,N,FuseA,1012,0,0,1012,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1920,Unf,1,429,TA,TA,Y,121,0,80,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1493,20,RL,39,15410,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,RRNe,Norm,1Fam,1Story,6,6,1974,2002,Hip,CompShg,Plywood,Plywood,BrkCmn,250,TA,Gd,CBlock,TA,TA,Gd,BLQ,126,GLQ,859,223,1208,GasA,Ex,Y,SBrkr,1494,0,0,1494,1,0,2,0,3,1,TA,7,Typ,2,Fa,Attchd,1974,Fin,2,461,TA,TA,Y,296,0,186,0,0,0,NA,GdPrv,NA,0,4,2010,WD,Abnorml +1494,60,RL,85,13143,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1993,1993,Gable,CompShg,HdBoard,ImStucc,BrkFace,504,Gd,TA,PConc,Gd,TA,No,LwQ,250,GLQ,981,0,1231,GasA,Ex,Y,SBrkr,1251,1098,0,2349,1,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1993,RFn,3,762,TA,TA,Y,32,130,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1495,60,RL,88,11134,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1992,1993,Gable,CompShg,HdBoard,HdBoard,BrkFace,180,Gd,TA,PConc,Gd,TA,No,GLQ,1129,Unf,0,261,1390,GasA,Ex,Y,SBrkr,1402,823,0,2225,1,0,2,1,4,1,Gd,7,Typ,1,TA,Attchd,1992,RFn,3,713,TA,TA,Y,198,30,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1496,120,FV,25,4835,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,7,5,2004,2005,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Ex,TA,Av,GLQ,1298,Unf,0,190,1488,GasA,Ex,Y,SBrkr,1488,0,0,1488,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2004,Fin,2,506,TA,TA,Y,168,50,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal +1497,160,FV,39,3515,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,840,840,GasA,Ex,Y,SBrkr,840,840,0,1680,0,0,2,1,2,1,Gd,3,Typ,0,NA,Attchd,2004,RFn,2,588,TA,TA,Y,0,111,0,0,0,0,NA,NA,NA,0,1,2010,WD,Normal +1498,160,FV,30,3215,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,7,5,2004,2004,Gable,CompShg,MetalSd,MetalSd,BrkFace,120,Gd,TA,PConc,Gd,TA,Av,GLQ,280,Unf,0,320,600,GasA,Ex,Y,SBrkr,600,600,0,1200,0,0,2,1,2,1,Gd,4,Typ,0,NA,Detchd,2004,RFn,2,480,TA,TA,Y,0,172,0,0,0,0,NA,NA,NA,0,4,2010,ConLD,Normal +1499,160,FV,24,2544,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,2Story,7,5,2004,2005,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,368,ALQ,42,190,600,GasA,Ex,Y,SBrkr,600,600,0,1200,1,0,2,1,2,1,Gd,4,Typ,0,NA,Detchd,2004,RFn,2,480,TA,TA,Y,0,172,0,0,0,0,NA,NA,NA,0,2,2010,WD,Normal +1500,160,FV,24,2544,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,2Story,6,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,216,Gd,TA,PConc,Gd,TA,No,GLQ,376,Unf,0,224,600,GasA,Ex,Y,SBrkr,600,636,0,1236,1,0,2,1,2,1,Gd,4,Typ,0,NA,Detchd,2005,RFn,2,480,TA,TA,Y,0,166,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1501,160,FV,NA,2980,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,6,5,2000,2000,Gable,CompShg,MetalSd,MetalSd,BrkFace,1159,Gd,TA,PConc,Gd,TA,No,GLQ,466,Unf,0,290,756,GasA,Ex,Y,SBrkr,756,756,0,1512,1,0,2,1,2,1,Gd,5,Typ,0,NA,Detchd,2000,Unf,2,440,TA,TA,Y,0,32,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1502,160,FV,NA,2403,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,244,Unf,0,286,530,GasA,Ex,Y,SBrkr,530,550,0,1080,0,0,2,1,2,1,Gd,4,Typ,0,NA,Attchd,2003,RFn,2,496,TA,TA,Y,0,50,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1503,20,FV,57,12853,Pave,Pave,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2010,2010,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Ex,Po,No,GLQ,1032,Unf,0,610,1642,GasA,Ex,Y,SBrkr,1418,0,0,1418,1,0,1,1,1,1,Gd,6,Typ,1,Gd,Attchd,2010,RFn,3,852,TA,TA,Y,160,192,0,224,0,0,NA,NA,NA,0,4,2010,New,Partial +1504,60,FV,68,7379,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,484,Unf,0,491,975,GasA,Ex,Y,SBrkr,975,873,0,1848,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,2000,RFn,2,592,TA,TA,Y,280,184,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1505,20,FV,80,8000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,833,Unf,0,659,1492,GasA,Ex,Y,SBrkr,1492,0,0,1492,1,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2002,RFn,2,596,TA,TA,Y,277,137,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1506,20,RL,NA,10456,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,6,1967,1967,Hip,CompShg,HdBoard,HdBoard,BrkFace,120,TA,TA,CBlock,TA,TA,No,GLQ,506,Unf,0,1323,1829,GasA,Gd,Y,SBrkr,1829,0,0,1829,1,0,2,0,4,1,TA,8,Typ,0,NA,Attchd,1967,RFn,2,535,TA,TA,Y,0,76,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1507,60,RL,80,10791,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,6,5,1993,1993,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,Gd,TA,Mn,GLQ,1137,Unf,0,143,1280,GasA,Ex,Y,SBrkr,1280,1215,0,2495,1,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1993,Unf,2,660,TA,TA,Y,224,32,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal +1508,50,RL,NA,18837,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1.5Fin,6,5,1978,1978,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,Gd,TA,Mn,ALQ,687,LwQ,46,491,1224,GasA,TA,Y,SBrkr,1287,604,0,1891,0,1,3,0,3,1,TA,7,Typ,1,TA,Attchd,1978,RFn,2,678,TA,TA,Y,0,69,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1509,60,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,6,6,1971,1971,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,329,Unf,0,386,715,GasA,TA,Y,SBrkr,930,715,0,1645,0,0,1,2,4,1,TA,7,Typ,0,NA,Attchd,1971,RFn,2,441,TA,TA,Y,0,78,0,0,0,0,NA,GdWo,NA,0,6,2010,WD,Normal +1510,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1966,1966,Hip,CompShg,VinylSd,VinylSd,BrkFace,172,TA,TA,CBlock,TA,TA,No,Rec,698,Unf,0,534,1232,GasA,TA,Y,SBrkr,1232,0,0,1232,1,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1966,RFn,2,490,TA,TA,Y,0,224,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1511,20,RL,90,9900,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1966,1966,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,No,BLQ,1059,Unf,0,150,1209,GasA,Gd,Y,SBrkr,1209,0,0,1209,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1966,RFn,2,504,TA,TA,Y,0,0,120,0,0,0,NA,NA,NA,0,4,2010,ConLD,Normal +1512,20,RL,88,9680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1967,1967,Gable,CompShg,Wd Sdng,Plywood,BrkFace,268,TA,TA,CBlock,TA,TA,No,BLQ,1010,Unf,0,500,1510,GasA,Ex,Y,SBrkr,1510,0,0,1510,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1967,RFn,2,517,TA,TA,Y,0,40,0,0,204,0,NA,GdPrv,NA,0,4,2010,WD,Normal +1513,80,RL,NA,10600,Pave,Pave,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,6,5,1964,1964,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,533,533,GasA,TA,Y,SBrkr,1131,644,0,1775,0,0,2,0,3,1,TA,8,Typ,0,NA,Attchd,1964,Unf,2,480,TA,TA,Y,0,172,0,0,0,0,NA,NA,NA,0,5,2010,COD,Family +1514,90,RL,98,13260,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,Duplex,1Story,5,6,1962,2001,Hip,CompShg,HdBoard,HdBoard,BrkFace,144,TA,TA,CBlock,TA,TA,No,BLQ,1500,Unf,0,228,1728,GasA,TA,Y,SBrkr,1728,0,0,1728,2,0,2,0,6,2,TA,10,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,1,2010,Oth,Abnorml +1515,50,RL,68,9724,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1.5Fin,5,7,1952,2002,Gable,CompShg,MetalSd,MetalSd,BrkFace,265,Gd,TA,CBlock,TA,TA,No,LwQ,670,Unf,0,470,1140,GasA,Gd,Y,SBrkr,1929,532,0,2461,0,0,2,0,3,1,TA,7,Min2,2,Gd,Detchd,1994,Unf,2,400,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,3,2010,WD,Normal +1516,50,RL,120,17360,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Artery,Norm,1Fam,1.5Fin,6,6,1949,1950,Gable,CompShg,MetalSd,MetalSd,Stone,340,TA,Gd,CBlock,TA,TA,No,Rec,300,Unf,0,482,782,GasA,TA,Y,SBrkr,1019,537,0,1556,0,0,2,0,3,1,TA,6,Typ,1,Gd,Attchd,1949,Unf,2,470,TA,TA,Y,0,0,150,0,0,0,NA,NA,NA,0,1,2010,WD,Normal +1517,85,RL,75,11380,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SFoyer,6,8,1966,2008,Gable,CompShg,HdBoard,HdBoard,BrkFace,216,TA,TA,CBlock,TA,TA,Gd,GLQ,944,Unf,0,136,1080,GasA,Gd,Y,SBrkr,1128,0,0,1128,1,0,1,0,2,1,Gd,5,Typ,1,Gd,Attchd,1966,Unf,1,315,TA,TA,Y,238,0,0,0,0,0,NA,NA,Shed,1500,1,2010,WD,Normal +1518,90,RL,70,8267,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Feedr,Norm,Duplex,1Story,5,5,1958,1958,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1604,1604,GasA,TA,Y,SBrkr,1604,0,0,1604,0,0,2,0,4,2,TA,8,Typ,0,NA,Attchd,1958,Unf,2,576,TA,TA,Y,42,0,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal +1519,20,RL,70,8197,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,7,5,2003,2009,Gable,CompShg,VinylSd,VinylSd,BrkFace,506,Gd,TA,PConc,Gd,TA,No,GLQ,1188,Unf,0,292,1480,GasA,Ex,Y,SBrkr,1480,0,0,1480,1,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2003,RFn,2,620,TA,TA,Y,252,73,0,0,0,0,NA,MnPrv,Shed,300,2,2010,WD,Normal +1520,20,RL,NA,8050,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1959,1959,Hip,CompShg,MetalSd,MetalSd,BrkFace,150,TA,TA,CBlock,TA,TA,No,BLQ,856,Rec,162,125,1143,GasA,TA,Y,SBrkr,1143,0,0,1143,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1959,RFn,1,308,TA,TA,Y,0,0,0,0,0,0,NA,GdPrv,NA,0,5,2010,WD,Normal +1521,20,RL,87,10725,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1959,1959,Hip,CompShg,MetalSd,MetalSd,BrkFace,91,TA,TA,CBlock,TA,TA,No,Rec,936,Unf,0,270,1206,GasA,Fa,Y,SBrkr,1206,0,0,1206,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1959,RFn,1,312,TA,TA,Y,0,21,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1522,20,RL,80,10032,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1959,1959,Gable,CompShg,Wd Sdng,Wd Sdng,Stone,432,TA,TA,CBlock,TA,TA,No,Rec,734,Unf,0,510,1244,GasA,Ex,Y,SBrkr,1580,0,0,1580,1,0,1,1,3,1,TA,6,Typ,2,Gd,Attchd,1956,Unf,2,440,TA,TA,Y,0,28,0,0,160,0,NA,GdWo,NA,0,6,2010,WD,Normal +1523,50,RL,60,8382,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1.5Fin,4,5,1956,1956,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,832,832,GasA,TA,Y,FuseA,832,505,0,1337,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1956,Unf,1,263,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,2,2010,WD,Normal +1524,20,RL,60,10950,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1952,1952,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,339,Unf,0,525,864,GasA,TA,Y,SBrkr,1064,0,0,1064,0,1,1,0,2,1,Fa,4,Typ,0,NA,Detchd,1952,Unf,1,318,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1525,20,RL,119,10895,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1955,1955,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,Rec,648,Unf,0,324,972,GasA,TA,Y,SBrkr,972,0,0,972,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1955,Unf,1,305,TA,TA,Y,0,0,205,0,0,0,NA,GdWo,NA,0,6,2010,WD,Normal +1526,190,RL,70,13587,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,2fmCon,1Story,5,5,1958,1958,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,Av,Rec,532,Unf,0,456,988,GasA,TA,Y,SBrkr,988,0,0,988,1,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1958,Unf,1,264,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Abnorml +1527,30,RL,65,7898,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,7,1920,1994,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,576,576,GasA,Gd,Y,SBrkr,985,0,0,985,0,1,1,0,2,1,TA,4,Typ,0,NA,Detchd,1989,Unf,2,676,TA,TA,N,0,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1528,50,RL,60,8064,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Artery,Norm,1Fam,1.5Fin,6,8,1948,2004,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,TA,No,ALQ,481,Rec,174,161,816,GasA,TA,Y,SBrkr,816,408,0,1224,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1950,Unf,1,280,TA,TA,Y,414,0,0,0,0,0,NA,GdWo,NA,0,5,2010,WD,Normal +1529,20,RL,81,7635,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1960,1960,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,588,LwQ,350,237,1175,GasA,Ex,Y,SBrkr,1175,0,0,1175,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1960,RFn,2,484,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1530,20,RL,80,9760,Pave,NA,Reg,Lvl,AllPub,Inside,Mod,NAmes,Norm,Norm,1Fam,1Story,6,7,1963,1984,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,218,TA,TA,CBlock,TA,TA,Gd,BLQ,717,LwQ,263,415,1395,GasA,TA,Y,SBrkr,1395,0,0,1395,1,0,1,0,2,1,TA,7,Min1,1,TA,Attchd,1963,RFn,2,440,TA,TA,Y,657,0,113,0,240,0,NA,NA,NA,0,5,2010,WD,Normal +1531,50,RM,60,4800,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,4,5,1900,1954,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,771,TA,TA,PConc,TA,TA,No,ALQ,48,Unf,0,661,709,GasA,TA,Y,SBrkr,1157,687,0,1844,1,0,1,0,3,1,TA,9,Min2,2,Gd,Basment,1900,Unf,1,240,TA,TA,Y,84,0,0,0,0,0,NA,NA,NA,0,1,2010,COD,Abnorml +1532,30,RM,56,4485,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1Story,5,7,1920,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,BLQ,579,Unf,0,357,936,GasA,TA,Y,SBrkr,936,0,0,936,1,0,1,0,2,1,TA,5,Typ,1,Gd,NA,NA,NA,0,0,NA,NA,P,51,0,135,0,0,0,NA,MnPrv,NA,0,5,2010,WD,Normal +1533,20,RM,69,5805,Pave,Grvl,Reg,Bnk,AllPub,Inside,Mod,OldTown,Norm,Norm,1Fam,1Story,5,7,1957,1957,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,Mn,BLQ,274,Rec,1073,0,1347,GasA,Gd,Y,SBrkr,1347,0,0,1347,1,1,1,0,3,1,Gd,6,Typ,0,NA,Detchd,1957,Unf,2,551,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1534,45,RM,50,6900,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,6,7,1938,2000,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,827,827,GasA,Gd,Y,SBrkr,827,424,0,1251,0,0,1,0,3,1,Fa,6,Typ,0,NA,Detchd,1938,Unf,1,240,Fa,TA,N,0,0,0,0,0,0,NA,NA,NA,0,1,2010,WD,Normal +1535,50,RM,69,11851,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1.5Fin,5,7,1948,2009,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,BrkTil,TA,TA,No,BLQ,780,Unf,0,247,1027,GasA,Ex,Y,SBrkr,1027,606,0,1633,0,0,1,0,3,1,Gd,7,Typ,1,Gd,Detchd,1948,Unf,1,240,TA,TA,Y,0,100,126,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1536,50,RM,NA,8239,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1.5Fin,5,6,1920,1962,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Rec,176,Unf,0,832,1008,GasA,TA,Y,SBrkr,1060,185,0,1245,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1962,Unf,1,315,TA,TA,Y,0,0,334,0,0,0,NA,NA,NA,0,3,2010,WD,Normal +1537,30,RM,68,9656,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,2,2,1923,1970,Gable,CompShg,AsbShng,AsbShng,None,0,TA,Fa,BrkTil,Fa,Fa,No,Unf,0,Unf,0,678,678,GasA,TA,N,SBrkr,832,0,0,832,0,0,1,0,2,1,TA,5,Typ,1,Gd,Detchd,1928,Unf,2,780,Fa,Fa,N,0,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Abnorml +1538,70,RM,60,9600,Pave,Grvl,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,2Story,8,9,1900,2003,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,Gd,BrkTil,TA,TA,No,Unf,0,Unf,0,930,930,GasW,TA,N,SBrkr,930,636,0,1566,0,0,2,0,3,1,Gd,7,Typ,0,NA,Detchd,1930,Unf,1,288,TA,TA,Y,54,228,246,0,0,0,NA,NA,NA,0,4,2010,WD,Abnorml +1539,70,RM,50,9000,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,8,9,1890,2002,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,Gd,Stone,Fa,Fa,No,Unf,0,Unf,0,346,346,GasA,Ex,Y,SBrkr,1157,1111,0,2268,0,0,3,0,3,1,Gd,7,Typ,0,NA,Detchd,2003,Unf,2,624,TA,TA,N,0,108,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1540,190,RM,100,9045,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,2fmCon,2Story,5,3,1910,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Fa,BrkTil,TA,TA,Mn,Unf,0,Unf,0,840,840,Grav,Fa,N,FuseF,1128,1128,0,2256,0,0,2,0,4,2,Fa,12,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,18,18,0,0,0,NA,NA,NA,0,6,2010,WD,Abnorml +1541,70,RM,60,10560,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,6,7,1922,1994,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,Fa,TA,No,Rec,283,Unf,0,455,738,GasA,Ex,Y,SBrkr,868,602,0,1470,0,0,1,1,2,1,TA,6,Min1,0,NA,Detchd,1970,Unf,2,624,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1542,50,RM,53,5830,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,BrkSide,Feedr,Feedr,1Fam,1.5Fin,5,6,1950,1997,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,Rec,788,Unf,0,200,988,GasA,Ex,Y,SBrkr,1030,582,0,1612,0,0,1,1,3,1,TA,7,Typ,0,NA,Detchd,1950,Unf,1,363,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,3,2010,WD,Normal +1543,75,RL,NA,7793,Pave,NA,IR1,Bnk,AllPub,Corner,Gtl,BrkSide,Norm,Norm,1Fam,2.5Unf,7,7,1922,2005,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Gd,TA,No,BLQ,474,Unf,0,634,1108,GasA,TA,N,FuseA,1160,908,0,2068,0,0,1,1,3,1,Gd,8,Typ,1,Gd,Detchd,1928,Unf,1,315,TA,TA,Y,0,0,60,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1544,30,RM,50,5000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Feedr,Norm,1Fam,1Story,4,7,1925,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Rec,188,Unf,0,577,765,GasA,TA,N,FuseF,765,0,0,765,1,0,1,0,2,1,Gd,4,Typ,0,NA,Detchd,1926,Unf,1,200,Fa,TA,P,135,0,41,0,0,0,NA,MnPrv,NA,0,4,2010,WD,Normal +1545,50,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,7,1939,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,Gd,No,BLQ,452,LwQ,12,144,608,GasA,TA,Y,SBrkr,608,524,0,1132,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1939,Unf,1,240,TA,TA,Y,0,0,128,0,0,0,NA,MnPrv,NA,0,4,2010,WD,Abnorml +1546,50,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,6,1940,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,LwQ,264,Unf,0,308,572,GasA,Ex,Y,FuseA,848,348,0,1196,0,1,1,1,3,1,TA,6,Typ,2,Gd,Detchd,1973,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal +1547,50,RM,53,6360,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,BrkSide,Feedr,Norm,1Fam,1.5Fin,5,6,1942,1950,Gable,CompShg,MetalSd,MetalSd,Stone,300,TA,TA,CBlock,TA,TA,No,Rec,360,LwQ,159,316,835,GasA,TA,Y,FuseA,955,498,0,1453,0,0,1,1,3,1,Gd,7,Min2,2,Fa,Detchd,1942,Unf,1,240,TA,TA,Y,0,0,35,0,148,0,NA,NA,NA,0,3,2010,WD,Normal +1548,50,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,7,1948,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,300,Unf,0,480,780,GasA,TA,Y,SBrkr,780,636,0,1416,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1948,Unf,1,312,TA,TA,P,221,0,48,0,0,0,NA,NA,NA,0,3,2010,WD,Normal +1549,50,RM,52,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,7,1936,1980,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,Fa,No,Rec,276,Unf,0,252,528,GasA,Gd,Y,SBrkr,548,492,0,1040,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1979,Fin,2,624,TA,TA,P,306,0,32,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1550,50,RM,52,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,5,1930,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,LwQ,448,Unf,0,480,928,GasA,TA,Y,FuseF,928,608,0,1536,0,0,2,0,4,1,TA,7,Typ,1,Gd,Detchd,1930,Unf,2,480,TA,TA,Y,0,10,0,0,0,0,NA,MnPrv,NA,0,3,2010,WD,Normal +1551,30,RM,51,6120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1Story,6,5,1923,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Fa,Fa,No,ALQ,960,Unf,0,164,1124,GasA,TA,Y,SBrkr,1068,0,0,1068,1,0,1,0,2,1,TA,5,Typ,1,Gd,Detchd,1923,Unf,1,288,TA,TA,Y,0,0,128,0,0,0,NA,NA,NA,0,3,2010,WD,Normal +1552,50,RM,57,8094,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,4,5,1915,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Fa,CBlock,TA,TA,No,Unf,0,Unf,0,888,888,GasA,Ex,Y,SBrkr,888,1074,0,1962,0,0,1,1,4,1,TA,9,Typ,1,TA,Detchd,1915,Unf,2,572,TA,TA,Y,160,0,364,0,0,0,NA,GdPrv,NA,0,6,2010,WD,Normal +1553,70,RM,60,12900,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,6,8,1912,2009,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,Gd,PConc,TA,TA,No,Unf,0,Unf,0,780,780,GasA,Ex,Y,SBrkr,780,780,0,1560,0,0,1,1,3,1,Gd,7,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,344,0,0,0,168,0,NA,NA,NA,0,5,2010,WD,Normal +1554,70,RM,52,3068,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,6,8,1920,1993,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,BrkTil,TA,TA,No,Unf,0,Unf,0,662,662,GasA,Ex,Y,SBrkr,662,662,0,1324,0,1,1,0,3,1,TA,6,Typ,0,NA,Detchd,1920,Unf,1,180,TA,TA,Y,0,0,112,0,0,0,NA,GdPrv,NA,0,2,2010,WD,Normal +1555,20,RL,100,15263,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,ClearCr,Feedr,Norm,1Fam,1Story,5,5,1959,1959,Gable,CompShg,HdBoard,HdBoard,BrkFace,90,TA,TA,CBlock,Gd,TA,No,Rec,766,Unf,0,656,1422,GasA,Gd,Y,SBrkr,1675,0,0,1675,0,0,2,0,3,1,TA,8,Typ,2,Gd,Attchd,1959,Unf,1,365,TA,TA,Y,0,132,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1556,50,RL,72,10632,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,ClearCr,Norm,Norm,1Fam,1.5Fin,5,3,1917,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Gd,Fa,No,Unf,0,Unf,0,689,689,GasA,Gd,N,SBrkr,725,499,0,1224,0,0,1,1,3,1,NA,6,Mod,0,NA,Detchd,1917,Unf,1,180,Fa,Fa,N,0,0,248,0,0,0,NA,NA,NA,0,1,2010,COD,Normal +1557,190,RL,60,9900,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,2fmCon,1.5Fin,5,4,1915,1950,Gable,CompShg,Wd Sdng,Wd Shng,None,0,Fa,Fa,BrkTil,TA,TA,No,Rec,1026,Unf,0,186,1212,GasA,TA,N,SBrkr,1212,180,0,1392,1,0,1,0,3,1,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,168,0,0,0,NA,NA,NA,0,2,2010,ConLD,Normal +1558,50,RL,65,6001,Pave,NA,IR1,Bnk,AllPub,Inside,Mod,SWISU,Norm,Norm,1Fam,1.5Fin,6,5,1940,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,Fa,TA,No,LwQ,368,Unf,0,232,600,GasA,Ex,N,SBrkr,600,319,0,919,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1940,Unf,1,231,TA,TA,Y,0,0,45,0,0,0,NA,MnPrv,NA,0,3,2010,WD,Normal +1559,70,C (all),NA,6449,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,2Story,4,1,1907,1950,Gambrel,CompShg,Wd Sdng,Stucco,None,0,TA,TA,CBlock,TA,TA,No,Rec,73,Unf,0,634,707,GasW,TA,N,SBrkr,942,942,0,1884,0,0,1,1,4,1,TA,7,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,239,0,0,0,NA,NA,NA,0,3,2010,WD,Abnorml +1560,190,RH,60,6048,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,SWISU,Artery,Norm,2fmCon,1.5Fin,5,7,1910,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,BrkTil,TA,TA,Mn,LwQ,736,Unf,0,120,856,GasA,Gd,Y,SBrkr,936,744,0,1680,1,0,2,0,2,2,TA,7,Typ,1,Gd,Detchd,1910,Unf,2,450,TA,Fa,P,56,144,0,0,0,0,NA,NA,NA,0,6,2010,COD,Normal +1561,90,RL,72,10773,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,Duplex,1Story,4,3,1967,1967,Gable,Tar&Grv,Plywood,Plywood,BrkFace,72,Fa,Fa,CBlock,TA,TA,No,ALQ,704,Unf,0,1128,1832,GasA,TA,N,SBrkr,1832,0,0,1832,2,0,2,0,4,2,TA,8,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,58,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1562,20,RL,65,7800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,7,1966,2008,Hip,CompShg,HdBoard,HdBoard,BrkFace,47,TA,TA,CBlock,TA,TA,Mn,BLQ,240,Rec,474,150,864,GasA,Ex,Y,SBrkr,892,0,0,892,1,0,1,0,3,1,Gd,5,Typ,0,NA,Detchd,1966,Unf,1,416,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1563,20,RL,65,7832,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1968,1968,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,GLQ,775,Unf,0,89,864,GasA,Ex,Y,SBrkr,864,0,0,864,1,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1969,Unf,1,280,TA,TA,Y,226,0,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1564,90,RL,NA,7424,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,Duplex,SFoyer,5,5,1978,1978,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,Av,GLQ,1319,Unf,0,0,1319,GasA,TA,Y,SBrkr,1373,0,0,1373,1,0,1,0,3,1,TA,5,Typ,2,TA,Attchd,1978,Fin,2,591,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1565,60,RL,86,11227,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,2Story,5,5,1968,1968,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Gd,CBlock,TA,Gd,No,Rec,267,ALQ,453,0,720,GasA,Ex,Y,SBrkr,720,720,0,1440,0,0,1,1,4,1,TA,7,Typ,2,TA,Attchd,1968,Unf,2,480,TA,TA,Y,192,38,0,0,0,0,NA,MnPrv,NA,0,3,2010,WD,Normal +1566,20,RL,NA,20062,Pave,NA,IR1,Low,AllPub,Inside,Mod,ClearCr,Norm,Norm,1Fam,1Story,7,7,1977,2001,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,Gd,CBlock,Gd,TA,Gd,ALQ,1092,Unf,0,328,1420,GasA,Gd,Y,SBrkr,1483,0,0,1483,1,0,1,1,1,1,TA,4,Typ,2,TA,Attchd,1977,RFn,2,690,TA,TA,Y,496,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1567,30,RL,94,9259,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,4,4,1927,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Fa,TA,No,Unf,0,Unf,0,660,660,GasA,TA,N,SBrkr,756,0,0,756,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1945,Unf,2,440,TA,TA,N,80,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1568,60,RL,NA,17082,Pave,NA,IR1,Low,AllPub,CulDSac,Mod,ClearCr,Norm,Norm,1Fam,2Story,6,5,1978,1992,Gable,CompShg,VinylSd,VinylSd,BrkFace,288,TA,TA,PConc,Gd,TA,Av,ALQ,964,Unf,0,153,1117,GasA,Ex,Y,SBrkr,1117,864,0,1981,1,0,2,1,4,1,Gd,8,Typ,1,TA,Attchd,1978,Fin,2,522,TA,TA,Y,336,104,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1569,50,RL,124,18600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,3,4,1938,1990,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Mn,BLQ,288,LwQ,684,0,972,GasA,TA,Y,FuseA,1052,558,0,1610,0,1,2,0,4,1,Fa,8,Typ,1,Gd,Attchd,1938,RFn,1,480,TA,TA,Y,0,0,60,0,0,0,NA,NA,Shed,450,6,2010,WD,Normal +1570,20,RL,65,11479,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,6,7,1950,1987,Gable,CompShg,Wd Sdng,Plywood,None,0,TA,TA,CBlock,TA,TA,No,GLQ,104,Rec,387,172,663,GasA,Ex,Y,SBrkr,1074,0,0,1074,1,0,1,0,3,1,Gd,6,Typ,1,TA,Attchd,1987,Unf,1,467,TA,TA,Y,0,52,52,0,0,0,NA,MnPrv,NA,0,6,2010,WD,Normal +1571,50,RL,50,9350,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,4,6,1947,1979,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,Fa,No,LwQ,192,Unf,0,564,756,GasA,Ex,Y,SBrkr,1169,0,362,1531,0,0,1,0,3,1,TA,8,Typ,1,TA,Detchd,1947,Unf,1,209,Fa,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,6,2010,WD,Normal +1572,20,RL,75,9525,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,7,1954,1998,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,TA,Av,BLQ,954,Unf,0,218,1172,GasA,TA,Y,SBrkr,1172,0,0,1172,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1954,Fin,1,366,TA,TA,Y,240,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1573,20,RL,44,17485,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,7,5,2009,2010,Gable,CompShg,VinylSd,VinylSd,Stone,96,Gd,TA,PConc,Gd,TA,Gd,GLQ,1346,Unf,0,162,1508,GasA,Ex,Y,SBrkr,1508,0,0,1508,1,0,1,0,1,1,Gd,5,Typ,2,TA,Attchd,2009,RFn,2,572,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,1,2010,Con,Partial +1574,20,RL,NA,11200,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,3,1964,1964,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Fa,CBlock,TA,TA,Mn,Unf,0,Unf,0,1250,1250,GasA,Ex,Y,SBrkr,1298,0,0,1298,0,0,2,0,3,1,TA,5,Typ,0,NA,Detchd,1964,Unf,2,504,TA,Fa,N,0,144,0,0,0,0,NA,NA,NA,0,6,2010,COD,Normal +1575,20,RL,83,11980,Pave,NA,Reg,Low,AllPub,Inside,Mod,SawyerW,Norm,Norm,1Fam,1Story,7,5,1987,1987,Gable,CompShg,Plywood,Plywood,BrkFace,177,Gd,TA,CBlock,Gd,TA,Gd,GLQ,1433,Unf,0,0,1433,GasA,Ex,Y,SBrkr,1433,0,0,1433,1,0,1,1,1,1,Gd,4,Typ,2,TA,Attchd,1987,RFn,2,528,Gd,Gd,Y,0,278,0,0,266,0,NA,MnPrv,NA,0,6,2010,WD,Normal +1576,60,RL,87,12361,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,7,1993,1993,Gable,CompShg,VinylSd,VinylSd,BrkFace,85,Gd,Gd,PConc,Gd,TA,No,GLQ,860,Unf,0,86,946,GasA,Ex,Y,SBrkr,964,838,0,1802,0,1,2,1,3,1,Gd,8,Typ,1,Gd,2Types,2000,RFn,4,1017,TA,TA,Y,450,92,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1577,20,RL,64,7360,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2010,2010,Gable,CompShg,VinylSd,VinylSd,Stone,80,Gd,TA,PConc,Gd,TA,No,GLQ,24,Unf,0,1198,1222,GasA,Ex,Y,SBrkr,1222,0,0,1222,0,0,2,0,2,1,Gd,6,Typ,0,NA,Attchd,2009,RFn,2,615,TA,TA,Y,0,54,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal +1578,50,RL,82,14235,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1.5Fin,6,8,1900,1993,Gable,CompShg,Wd Sdng,Plywood,None,0,TA,TA,PConc,Fa,Gd,No,Unf,0,Unf,0,676,676,GasA,TA,Y,SBrkr,831,614,0,1445,0,0,2,0,3,1,TA,6,Typ,0,NA,Detchd,1957,Unf,2,484,TA,TA,N,0,59,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal +1579,85,RL,82,11105,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,SFoyer,5,5,1996,1996,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,PConc,Gd,Fa,Av,GLQ,870,Unf,0,0,870,GasA,Gd,Y,SBrkr,965,0,0,965,1,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1998,Unf,2,580,Gd,TA,Y,71,0,0,0,0,0,NA,GdPrv,NA,0,7,2010,WD,Normal +1580,60,RL,NA,9337,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,1997,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,ALQ,353,Unf,0,525,878,GasA,Ex,Y,SBrkr,892,800,0,1692,0,0,2,1,3,1,TA,8,Typ,1,TA,Attchd,1997,RFn,2,513,TA,TA,Y,0,39,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1581,20,RL,38,15240,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,8,1977,2004,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,Gd,CBlock,Gd,TA,No,GLQ,198,Rec,688,140,1026,GasA,Ex,Y,SBrkr,1026,0,0,1026,1,0,1,1,3,1,TA,5,Typ,0,NA,Attchd,1977,Unf,1,308,TA,TA,Y,316,85,0,0,0,0,NA,MnPrv,NA,0,6,2010,WD,Normal +1582,20,RL,68,7480,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,6,1972,1972,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Av,ALQ,480,Unf,0,396,876,GasA,TA,Y,SBrkr,876,0,0,876,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1977,Unf,2,484,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,6,2010,WD,Normal +1583,20,RL,80,10389,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2003,2003,Hip,CompShg,CemntBd,CmentBd,BrkFace,320,Gd,TA,PConc,Gd,TA,No,GLQ,1682,Unf,0,296,1978,GasA,Ex,Y,SBrkr,1978,0,0,1978,1,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2003,RFn,3,850,TA,TA,Y,188,25,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1584,60,RL,75,9375,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,1997,1997,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1040,1040,GasA,Ex,Y,SBrkr,1044,1054,0,2098,0,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1997,Fin,2,621,TA,TA,Y,331,38,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1585,120,RM,NA,4435,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,TwnhsE,1Story,6,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,170,Gd,TA,PConc,Gd,TA,Av,GLQ,672,Unf,0,176,848,GasA,Ex,Y,SBrkr,848,0,0,848,1,0,1,0,1,1,Gd,4,Typ,0,NA,Attchd,2003,Fin,2,420,TA,TA,Y,140,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1586,30,RL,67,8777,Pave,NA,Reg,Lvl,AllPub,Inside,Mod,Edwards,Feedr,Norm,1Fam,1Story,3,6,1945,2007,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,N,SBrkr,640,0,0,640,0,0,1,0,2,1,TA,5,Min1,0,NA,Detchd,1945,Unf,1,240,TA,TA,N,0,0,0,0,0,0,NA,NA,NA,0,4,2010,ConLD,Normal +1587,20,RL,68,8842,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,6,1954,1954,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,Fa,TA,No,Unf,0,Unf,0,381,381,GasA,Ex,Y,SBrkr,992,0,0,992,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1954,Unf,1,319,TA,TA,Y,60,0,56,0,0,0,NA,MnPrv,NA,0,1,2010,Oth,Abnorml +1588,20,RL,60,10044,Pave,NA,IR1,Low,AllPub,CulDSac,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,6,1968,1968,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,Gd,TA,Gd,ALQ,1070,Unf,0,126,1196,GasA,TA,Y,SBrkr,1196,0,0,1196,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1968,RFn,1,336,TA,TA,Y,257,0,168,0,0,0,NA,MnPrv,NA,0,6,2010,WD,Normal +1589,50,RL,89,11792,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,4,5,1948,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,744,744,GasA,Ex,N,FuseF,792,328,0,1120,0,0,1,0,2,1,Fa,5,Typ,0,NA,Detchd,1956,Unf,2,480,TA,Fa,P,0,0,0,0,160,0,NA,NA,NA,0,6,2010,WD,Abnorml +1590,80,RL,65,6305,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,SLvl,6,6,1975,1975,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,Av,ALQ,528,Unf,0,480,1008,GasA,TA,Y,SBrkr,1096,0,0,1096,1,0,1,0,3,1,TA,5,Typ,1,Fa,Detchd,1975,Unf,1,352,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1591,20,RL,64,6410,Pave,NA,Reg,HLS,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,5,1958,1958,Hip,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,960,960,GasA,Ex,Y,SBrkr,960,0,0,960,0,0,1,0,3,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,5,2010,WD,Normal +1592,30,RL,67,4853,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,SWISU,Artery,Norm,1Fam,1Story,5,6,1924,1999,Gable,CompShg,MetalSd,VinylSd,BrkFace,203,TA,TA,BrkTil,TA,TA,Mn,Rec,133,Unf,0,974,1107,GasA,Fa,N,FuseA,1296,0,0,1296,0,0,2,0,2,1,Fa,5,Typ,1,Gd,Detchd,1979,Unf,1,260,TA,TA,Y,0,0,36,0,0,0,NA,MnPrv,NA,0,5,2010,WD,Normal +1593,30,RL,NA,7890,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,SWISU,Norm,Norm,1Fam,1Story,6,6,1939,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,238,Unf,0,618,856,GasA,TA,Y,SBrkr,856,0,0,856,1,0,1,0,2,1,TA,4,Typ,1,Gd,Detchd,1939,Unf,2,399,TA,TA,Y,0,0,0,0,166,0,NA,NA,NA,0,3,2010,WD,Normal +1594,90,RH,60,7200,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,Duplex,2Story,4,6,1967,1967,Flat,Tar&Grv,Plywood,CBlock,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,862,1788,0,2650,0,0,3,0,6,2,TA,10,Min2,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,Shed,500,2,2010,WD,Normal +1595,50,RL,51,9839,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Feedr,Norm,1Fam,1.5Fin,5,2,1931,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,TA,Fa,No,Unf,0,Unf,0,894,894,GasA,Ex,Y,SBrkr,894,772,0,1666,1,0,1,0,3,1,TA,7,Typ,1,Gd,NA,NA,NA,0,0,NA,NA,N,0,156,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1596,50,RL,78,10452,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1.5Fin,7,6,1941,1985,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,371,Gd,Gd,BrkTil,Gd,TA,No,ALQ,426,BLQ,252,850,1528,GasA,Ex,Y,SBrkr,1225,908,0,2133,1,0,1,1,4,1,TA,8,Typ,2,TA,Attchd,1941,Unf,1,312,TA,TA,Y,0,0,86,0,0,0,NA,NA,NA,0,7,2010,WD,Normal +1597,90,RL,78,15600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,Duplex,2Story,5,6,1950,1991,Gable,CompShg,VinylSd,VinylSd,BrkFace,430,TA,Gd,CBlock,TA,TA,No,ALQ,375,Unf,0,657,1032,GasA,Ex,Y,SBrkr,1102,1075,0,2177,0,0,2,1,5,2,TA,11,Typ,0,NA,Detchd,1950,Unf,2,484,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal +1598,80,RL,85,19645,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,Crawfor,Norm,Norm,1Fam,SLvl,7,6,1994,2007,Gable,CompShg,VinylSd,VinylSd,BrkFace,44,TA,TA,PConc,Gd,TA,No,GLQ,343,Unf,0,80,423,GasA,Ex,Y,SBrkr,896,756,0,1652,1,0,2,1,3,1,Gd,6,Typ,0,NA,BuiltIn,1994,RFn,2,473,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1599,120,RM,35,3907,Pave,NA,IR1,HLS,AllPub,Inside,Mod,Blueste,Norm,Norm,TwnhsE,1Story,8,6,1989,1989,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,CBlock,Gd,TA,Gd,GLQ,747,Unf,0,235,982,GasA,Gd,Y,SBrkr,1034,0,0,1034,1,0,1,0,1,1,Gd,4,Typ,1,TA,Attchd,1989,Fin,2,598,TA,TA,Y,141,36,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1600,120,RM,35,3907,Pave,NA,IR1,HLS,AllPub,Inside,Mod,Blueste,Norm,Norm,TwnhsE,1Story,8,5,1989,1989,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,CBlock,Gd,TA,Av,GLQ,76,Unf,0,1115,1191,GasA,Gd,Y,SBrkr,1191,0,0,1191,0,0,2,0,2,1,Gd,5,Typ,1,TA,Attchd,1989,Unf,2,531,TA,TA,Y,112,81,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal +1601,30,RM,58,8154,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,2,5,1941,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,BLQ,480,Unf,0,0,480,GasA,TA,Y,SBrkr,540,0,0,540,0,0,1,0,1,1,TA,4,Typ,0,NA,Detchd,1951,Unf,1,200,Fa,Fa,N,0,0,0,0,0,0,NA,NA,NA,0,4,2010,ConLw,Normal +1602,50,RM,50,9140,Pave,NA,Reg,HLS,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,6,5,1921,1975,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,Mn,BLQ,308,Unf,0,321,629,GasA,Fa,Y,SBrkr,727,380,0,1107,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1950,Unf,1,625,TA,TA,Y,0,56,0,0,200,0,NA,MnPrv,NA,0,4,2010,COD,Normal +1603,30,C (all),66,8712,Grvl,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,4,7,1896,1950,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,Fa,Fa,CBlock,TA,TA,No,Unf,0,Unf,0,756,756,GasA,Gd,Y,SBrkr,952,0,0,952,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1896,RFn,1,330,TA,TA,N,0,0,265,0,0,0,NA,NA,NA,0,6,2010,WD,Alloca +1604,120,RM,44,3811,Pave,NA,IR1,HLS,AllPub,Corner,Mod,Crawfor,Artery,Norm,TwnhsE,1Story,8,5,2004,2005,Hip,CompShg,CemntBd,CmentBd,Stone,186,Gd,TA,PConc,Ex,TA,Gd,GLQ,1373,Unf,0,221,1594,GasA,Ex,Y,SBrkr,1646,0,0,1646,1,1,2,0,2,1,Gd,5,Typ,1,Gd,Attchd,2004,Fin,2,525,TA,TA,Y,128,53,0,0,155,0,NA,NA,NA,0,5,2010,WD,Normal +1605,60,RL,85,11050,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,2Story,8,5,1998,1999,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,615,Unf,0,434,1049,GasA,Ex,Y,SBrkr,1036,880,0,1916,1,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1998,Unf,3,741,TA,TA,Y,0,70,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1606,80,RL,74,9620,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,SLvl,6,7,1977,1977,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,679,Unf,0,564,1243,GasA,TA,Y,SBrkr,1285,0,0,1285,0,1,2,0,3,1,Gd,6,Typ,1,Fa,Attchd,1977,Unf,2,473,TA,TA,Y,375,26,0,0,0,0,NA,GdPrv,Shed,80,5,2010,WD,Normal +1607,90,RL,NA,12760,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,Duplex,1Story,6,5,1976,1976,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1958,1958,GasA,TA,Y,SBrkr,2048,0,0,2048,0,0,3,0,5,2,TA,9,Typ,0,NA,2Types,1976,Unf,2,776,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2010,ConLD,Normal +1608,20,RL,88,11896,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,1Story,7,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,Stone,60,Gd,TA,PConc,Gd,TA,No,GLQ,78,Unf,0,1258,1336,GasA,Ex,Y,SBrkr,1346,0,0,1346,1,0,2,0,3,1,Gd,6,Typ,1,TA,Attchd,2008,Fin,3,660,TA,TA,Y,100,48,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal +1609,20,RL,73,9803,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,7,5,2009,2010,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1214,1214,GasA,Ex,Y,SBrkr,1214,0,0,1214,0,0,2,0,2,1,Gd,6,Typ,0,NA,Attchd,2010,RFn,2,520,TA,TA,Y,0,25,0,0,0,0,NA,NA,NA,0,1,2010,New,Partial +1610,60,RL,73,9802,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,2Story,5,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,384,384,GasA,Gd,Y,SBrkr,744,700,0,1444,0,0,2,1,3,1,TA,7,Typ,0,NA,BuiltIn,2007,Fin,2,400,TA,TA,Y,100,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1611,20,RL,85,15300,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,5,1965,1977,Hip,CompShg,Plywood,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Rec,42,Unf,0,1026,1068,GasA,TA,Y,SBrkr,1264,0,0,1264,1,0,1,0,2,1,TA,7,Typ,1,TA,Attchd,1965,Unf,2,528,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1612,20,RL,93,10114,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Ex,TA,Av,Unf,0,Unf,0,1430,1430,GasA,Ex,Y,SBrkr,1430,0,0,1430,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2004,RFn,2,624,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal +1613,20,RL,NA,11875,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1344,1344,GasA,Ex,Y,SBrkr,1344,0,0,1344,0,0,2,0,3,1,TA,7,Typ,1,Gd,Attchd,2001,Unf,2,686,TA,TA,Y,328,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1614,120,RM,31,2394,Pave,NA,Reg,Low,AllPub,Inside,Mod,MeadowV,Norm,Norm,Twnhs,1Story,5,6,1973,1973,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,Gd,TA,Gd,GLQ,915,Unf,0,30,945,GasA,Ex,Y,SBrkr,945,0,0,945,1,1,1,0,2,1,TA,5,Typ,1,Po,Attchd,1973,RFn,1,253,TA,TA,Y,174,0,56,0,108,0,NA,NA,NA,0,5,2010,WD,Normal +1615,160,RM,21,1476,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,2Story,4,7,1970,1970,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,TA,TA,No,GLQ,176,Unf,0,370,546,GasA,Ex,Y,SBrkr,546,546,0,1092,0,0,1,1,3,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,200,26,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal +1616,160,RM,21,1900,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,2Story,4,4,1970,1970,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,546,546,GasA,Ex,Y,SBrkr,546,546,0,1092,0,0,1,1,3,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1617,160,RM,21,1890,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,2Story,4,6,1972,1972,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,TA,TA,No,Rec,294,Unf,0,252,546,GasA,TA,Y,SBrkr,546,546,0,1092,0,0,1,1,3,1,TA,5,Typ,0,NA,Attchd,1972,Unf,1,286,TA,TA,Y,0,0,64,0,0,0,NA,NA,NA,0,6,2010,WD,Normal +1618,20,RL,50,6953,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,7,1971,2004,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,469,Unf,0,395,864,GasA,Ex,Y,SBrkr,874,0,0,874,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1971,Unf,1,352,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2010,ConLD,Normal +1619,20,RL,76,12887,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,7,1984,1984,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,Gd,TA,Mn,Rec,207,GLQ,590,36,833,GasA,TA,Y,SBrkr,833,0,0,833,1,0,1,0,2,1,Gd,5,Typ,0,NA,Attchd,1984,Unf,2,495,TA,TA,Y,431,0,0,0,0,0,NA,MnPrv,NA,0,4,2010,WD,Normal +1620,90,RL,70,7700,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,Duplex,2Story,5,2,1985,1986,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Po,PConc,TA,TA,No,Unf,0,Unf,0,1216,1216,GasA,Gd,Y,SBrkr,1216,1216,0,2432,0,0,4,2,4,2,TA,10,Typ,0,NA,Attchd,1985,Unf,2,616,TA,Fa,Y,200,0,0,0,0,0,NA,NA,Shed,600,2,2010,WD,Normal +1621,60,RL,63,10475,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,2Story,5,5,1991,1991,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,No,Rec,458,Unf,0,166,624,GasA,Gd,Y,SBrkr,624,650,0,1274,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1993,Unf,2,576,TA,TA,Y,22,0,0,0,0,0,NA,GdWo,NA,0,3,2010,WD,Normal +1622,50,RL,68,10544,Pave,NA,IR1,Lvl,AllPub,Inside,Mod,Mitchel,Norm,Norm,1Fam,1.5Fin,5,5,1969,1969,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,Av,BLQ,476,Unf,0,388,864,GasA,TA,Y,SBrkr,864,615,0,1479,0,0,2,0,5,1,TA,8,Typ,0,NA,Attchd,1969,Fin,1,275,TA,TA,Y,287,0,280,0,0,0,NA,NA,NA,0,4,2010,WD,Normal +1623,20,RL,76,9892,Pave,NA,Reg,Lvl,AllPub,Inside,Mod,Mitchel,Norm,Norm,1Fam,1Story,8,5,1994,1995,Hip,CompShg,VinylSd,VinylSd,None,0,Gd,Gd,PConc,Gd,Gd,Gd,GLQ,1341,LwQ,284,54,1679,GasA,Ex,Y,SBrkr,1803,0,0,1803,1,1,2,1,3,1,Gd,6,Typ,2,TA,Attchd,1994,Unf,2,482,TA,TA,Y,129,64,222,0,0,0,NA,GdWo,NA,0,2,2010,WD,Normal +1624,60,RL,74,12961,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,2Story,6,5,1993,1994,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,Gd,PConc,Gd,TA,Mn,GLQ,944,Unf,0,208,1152,GasA,Ex,Y,SBrkr,1152,645,0,1797,1,0,2,1,3,1,Gd,7,Typ,1,Fa,Attchd,1993,Fin,2,616,TA,TA,Y,162,312,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal +1625,20,RL,74,13008,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1956,1956,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,Fa,Fa,No,Rec,564,Unf,0,318,882,GasA,TA,Y,SBrkr,882,0,0,882,0,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1956,Unf,1,502,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal +1626,20,RL,85,10200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1974,1974,Hip,CompShg,Plywood,Plywood,BrkFace,440,TA,TA,CBlock,TA,TA,No,LwQ,844,Unf,0,590,1434,GasA,TA,Y,SBrkr,1434,0,0,1434,1,0,2,0,4,1,TA,7,Typ,1,Gd,Attchd,1974,RFn,2,528,TA,TA,Y,80,21,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1627,60,RL,88,10179,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1997,1997,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,ALQ,847,Unf,0,98,945,GasA,Ex,Y,SBrkr,945,663,0,1608,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1997,Fin,2,470,TA,TA,Y,252,30,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1628,60,RL,NA,11792,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,8,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,188,Gd,TA,PConc,Gd,TA,Gd,GLQ,850,Unf,0,158,1008,GasA,Ex,Y,SBrkr,1008,1275,0,2283,0,0,2,1,4,1,Gd,9,Typ,1,Gd,BuiltIn,2003,Fin,3,632,TA,TA,Y,120,46,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1629,80,RL,60,8400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,7,5,1996,1997,Gable,CompShg,HdBoard,HdBoard,BrkFace,32,TA,TA,PConc,Gd,TA,No,GLQ,284,Unf,0,100,384,GasA,Gd,Y,SBrkr,958,670,0,1628,0,0,2,1,3,1,TA,7,Typ,1,TA,BuiltIn,1996,Fin,2,390,TA,TA,Y,48,72,0,0,0,0,NA,NA,Shed,490,6,2009,WD,Normal +1630,120,RL,28,7296,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,2004,2005,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Ex,TA,Av,GLQ,1965,Unf,0,243,2208,GasA,Ex,Y,SBrkr,2522,0,0,2522,1,0,2,0,1,1,Gd,8,Typ,1,Gd,Attchd,2004,Fin,2,564,TA,TA,Y,182,57,0,0,0,0,NA,NA,NA,0,11,2009,WD,Normal +1631,120,RL,61,7380,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,StoneBr,Norm,Norm,1Fam,1Story,8,5,1998,1998,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,PConc,Gd,TA,Av,GLQ,341,Unf,0,1077,1418,GasA,Ex,Y,SBrkr,1478,0,0,1478,1,0,2,0,2,1,TA,5,Typ,0,NA,Attchd,1998,Fin,2,495,TA,TA,Y,168,43,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1632,120,RL,57,8013,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,1995,1996,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,741,Unf,0,846,1587,GasA,Ex,Y,SBrkr,1734,0,0,1734,1,0,2,0,2,1,Gd,6,Typ,0,NA,Attchd,1995,RFn,2,528,TA,TA,Y,52,50,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal +1633,80,RL,57,8923,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,7,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,189,Unf,0,195,384,GasA,Gd,Y,SBrkr,751,631,0,1382,0,0,2,1,3,1,TA,7,Typ,1,TA,BuiltIn,1998,Fin,2,396,TA,TA,Y,256,0,0,0,0,0,NA,NA,NA,0,2,2009,WD,Normal +1634,60,RL,60,7500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1998,1999,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,476,Unf,0,476,952,GasA,Gd,Y,SBrkr,952,684,0,1636,1,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1998,Fin,2,440,TA,TA,Y,0,84,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal +1635,60,RL,NA,8803,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1994,1995,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,No,GLQ,600,Unf,0,107,707,GasA,Gd,Y,SBrkr,707,809,0,1516,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1994,Fin,2,409,TA,TA,Y,0,46,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1636,20,RL,58,7250,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,1Story,6,5,1993,1993,Gable,CompShg,HdBoard,HdBoard,BrkFace,45,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1181,1181,GasA,Ex,Y,SBrkr,1190,0,0,1190,0,0,2,0,3,1,Gd,6,Typ,1,TA,Attchd,1993,Unf,2,430,TA,TA,Y,0,21,0,0,0,0,NA,NA,NA,0,11,2009,WD,Normal +1637,60,RL,85,11900,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,5,6,1977,1977,Gable,CompShg,HdBoard,Wd Sdng,BrkFace,157,TA,TA,PConc,Gd,TA,No,ALQ,400,Unf,0,722,1122,GasA,Ex,Y,SBrkr,946,988,0,1934,1,0,2,1,3,1,TA,6,Typ,1,TA,Attchd,1977,Unf,2,567,TA,TA,P,0,176,0,0,200,0,NA,NA,NA,0,7,2009,WD,Normal +1638,60,RL,NA,13250,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,RRNn,Norm,1Fam,2Story,7,6,1978,1978,Gable,CompShg,HdBoard,HdBoard,BrkFace,256,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,832,832,GasA,TA,Y,SBrkr,1154,896,0,2050,0,0,2,1,4,1,Gd,8,Typ,1,TA,Attchd,1978,RFn,2,529,TA,TA,Y,192,192,0,0,0,0,NA,NA,NA,0,5,2009,WD,Abnorml +1639,20,RL,80,10928,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,6,1978,1986,Gable,CompShg,VinylSd,VinylSd,BrkFace,101,TA,TA,PConc,TA,TA,No,LwQ,363,Unf,0,1064,1427,GasA,TA,Y,SBrkr,1671,0,0,1671,0,0,2,0,3,1,TA,7,Typ,1,TA,Attchd,1978,RFn,2,484,TA,TA,Y,252,55,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1640,60,RL,NA,12388,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,7,7,1980,1991,Gable,CompShg,Plywood,Plywood,BrkFace,229,TA,TA,CBlock,Gd,TA,No,ALQ,602,Unf,0,441,1043,GasA,TA,Y,SBrkr,1539,1134,0,2673,0,0,2,1,4,1,Gd,9,Typ,1,TA,BuiltIn,1980,RFn,2,441,TA,TA,Y,178,84,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1641,20,RL,80,11088,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,5,1978,1998,Gable,CompShg,HdBoard,HdBoard,BrkFace,144,TA,TA,PConc,TA,TA,No,ALQ,832,Unf,0,308,1140,GasA,Gd,Y,SBrkr,1707,0,0,1707,0,0,2,0,3,1,TA,7,Typ,1,TA,Attchd,1978,Fin,2,479,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1642,60,FV,70,7000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2003,2003,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Gd,TA,Mn,GLQ,622,Unf,0,304,926,GasA,Ex,Y,SBrkr,1016,868,0,1884,1,0,2,1,3,1,Ex,7,Typ,1,Ex,Attchd,2003,RFn,2,581,TA,TA,Y,0,35,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1643,60,FV,NA,7500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,RRNn,Norm,1Fam,2Story,8,5,2000,2001,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1058,1058,GasA,Ex,Y,SBrkr,1058,816,0,1874,0,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,2000,Fin,2,588,TA,TA,Y,0,134,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal +1644,60,FV,NA,8470,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,225,ALQ,276,471,972,GasA,Ex,Y,SBrkr,972,839,0,1811,0,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2002,RFn,2,565,TA,TA,Y,225,48,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal +1645,20,RL,NA,9373,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NWAmes,PosN,Norm,1Fam,1Story,5,7,1975,1975,Gable,CompShg,HdBoard,HdBoard,BrkFace,161,TA,TA,CBlock,Gd,TA,Av,ALQ,1333,LwQ,168,120,1621,GasA,TA,Y,SBrkr,1621,0,0,1621,1,0,2,0,3,1,TA,7,Typ,2,Fa,Attchd,1975,RFn,2,478,TA,TA,Y,0,0,0,0,490,0,NA,NA,NA,0,6,2009,WD,Normal +1646,20,RL,78,10140,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,6,1974,1974,Hip,CompShg,Plywood,Plywood,BrkFace,196,TA,TA,CBlock,TA,TA,No,ALQ,888,Unf,0,228,1116,GasA,Ex,Y,SBrkr,1116,0,0,1116,1,0,2,0,3,1,TA,6,Typ,1,TA,Attchd,1974,RFn,2,528,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,4,2009,WD,Normal +1647,20,RL,85,11050,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NWAmes,Norm,Norm,1Fam,1Story,7,5,1975,1975,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,636,Unf,0,540,1176,GasA,Fa,Y,SBrkr,1193,0,0,1193,0,0,2,0,3,1,TA,5,Typ,1,TA,Attchd,1975,Unf,2,506,TA,TA,Y,40,0,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1648,20,RL,NA,7830,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1970,1970,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1180,1180,GasA,TA,Y,SBrkr,1180,0,0,1180,0,0,1,1,2,1,TA,6,Typ,0,NA,Attchd,1970,RFn,2,477,TA,TA,Y,0,45,0,0,0,0,NA,NA,NA,0,3,2009,COD,Normal +1649,20,RL,NA,8510,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1971,1971,Gable,CompShg,Plywood,Plywood,BrkFace,178,TA,TA,CBlock,Gd,TA,No,ALQ,500,Unf,0,543,1043,GasA,Ex,Y,SBrkr,1050,0,0,1050,1,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1971,Unf,1,336,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1650,20,RL,60,7038,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,6,1970,1970,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,726,Unf,0,138,864,GasA,TA,Y,SBrkr,864,0,0,864,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,2001,Unf,2,576,TA,TA,Y,210,0,0,0,0,0,NA,GdPrv,NA,0,9,2009,WD,Abnorml +1651,20,RL,60,9000,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,7,1971,2006,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,240,Unf,0,624,864,GasA,Gd,Y,SBrkr,864,0,0,864,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1986,Unf,2,576,TA,TA,Y,200,0,0,0,0,0,NA,GdWo,NA,0,7,2009,WD,Normal +1652,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,5,1973,1973,Gable,CompShg,HdBoard,HdBoard,BrkFace,504,TA,TA,CBlock,TA,TA,No,BLQ,254,Unf,0,229,483,GasA,TA,Y,SBrkr,483,504,0,987,1,0,1,1,2,1,TA,5,Typ,0,NA,Detchd,1973,Unf,1,264,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1653,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,6,1972,1972,Gable,CompShg,HdBoard,HdBoard,BrkFace,425,TA,TA,CBlock,TA,TA,No,Rec,110,LwQ,294,79,483,GasA,TA,Y,SBrkr,483,504,0,987,1,0,1,1,2,1,TA,5,Typ,0,NA,Detchd,1972,Unf,1,288,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1654,160,RL,24,2308,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NPkVill,Norm,Norm,TwnhsE,2Story,6,5,1976,1976,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,306,Unf,0,498,804,GasA,TA,Y,SBrkr,804,744,0,1548,0,0,2,1,3,1,TA,7,Typ,1,TA,Detchd,1976,RFn,2,440,TA,TA,Y,108,0,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal +1655,120,RL,24,2280,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NPkVill,Norm,Norm,Twnhs,1Story,7,5,1975,1975,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,435,LwQ,622,0,1057,GasA,TA,Y,SBrkr,1055,0,0,1055,0,1,2,0,2,1,TA,4,Typ,1,Fa,Attchd,1975,RFn,2,440,TA,TA,Y,0,27,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1656,160,RL,24,2349,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NPkVill,Norm,Norm,Twnhs,2Story,6,5,1977,1977,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,389,Unf,0,466,855,GasA,TA,Y,SBrkr,855,601,0,1456,0,0,2,1,3,1,TA,6,Typ,1,TA,Attchd,1977,Unf,2,440,TA,TA,Y,0,28,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1657,160,RL,24,2364,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NPkVill,Norm,Norm,TwnhsE,2Story,6,5,1978,1978,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,320,Unf,0,484,804,GasA,TA,Y,SBrkr,804,744,0,1548,0,1,2,1,3,1,TA,7,Typ,1,TA,Detchd,1978,Unf,2,440,TA,TA,Y,108,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1658,160,RL,24,2364,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NPkVill,Norm,Norm,TwnhsE,2Story,6,5,1978,1978,Gable,CompShg,Plywood,Brk Cmn,None,0,Gd,TA,CBlock,Gd,TA,No,ALQ,279,Unf,0,576,855,GasA,TA,Y,SBrkr,855,601,0,1456,0,0,2,1,3,1,TA,6,Typ,1,TA,Attchd,1978,Fin,2,440,TA,TA,Y,147,0,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal +1659,120,RL,24,2104,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NPkVill,Norm,Norm,TwnhsE,1Story,7,6,1976,1976,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,TA,TA,No,ALQ,536,Unf,0,300,836,GasA,TA,Y,SBrkr,836,0,0,836,0,1,1,0,2,1,TA,5,Typ,0,NA,Attchd,1976,Unf,1,345,TA,TA,Y,150,20,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal +1660,20,RL,NA,10710,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1966,2004,Hip,CompShg,HdBoard,HdBoard,BrkFace,165,Gd,TA,PConc,TA,TA,No,BLQ,644,Unf,0,220,864,GasA,Ex,Y,SBrkr,1120,0,0,1120,0,1,1,0,3,1,TA,5,Typ,1,TA,Attchd,1966,RFn,2,656,TA,TA,Y,0,162,0,0,0,0,NA,NA,Shed,1200,7,2009,WD,Normal +1661,60,RL,110,14257,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,PosN,Norm,1Fam,2Story,9,5,2007,2007,Hip,CompShg,VinylSd,VinylSd,Stone,726,Ex,TA,PConc,Ex,TA,No,GLQ,1360,Unf,0,416,1776,GasA,Ex,Y,SBrkr,1794,978,0,2772,1,0,3,1,4,1,Ex,10,Typ,3,Gd,BuiltIn,2007,Fin,3,754,TA,TA,Y,135,64,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1662,60,RL,95,12350,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2009,2009,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,No,GLQ,986,Unf,0,379,1365,GasA,Ex,Y,SBrkr,1365,1325,0,2690,1,0,2,1,3,1,Ex,8,Typ,1,Gd,Attchd,2009,RFn,3,864,TA,TA,Y,0,197,0,0,0,0,NA,NA,NA,0,7,2009,New,Partial +1663,20,RL,95,12350,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2008,2008,Hip,CompShg,VinylSd,VinylSd,Stone,450,Ex,TA,PConc,Ex,TA,Av,GLQ,1232,Unf,0,788,2020,GasA,Ex,Y,SBrkr,2020,0,0,2020,1,0,2,0,3,1,Ex,7,Typ,1,Gd,Attchd,2008,RFn,3,896,TA,TA,Y,192,98,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1664,20,RL,105,13693,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,PosA,PosA,1Fam,1Story,10,5,2007,2007,Hip,CompShg,VinylSd,VinylSd,Stone,472,Ex,TA,PConc,Ex,TA,Gd,GLQ,2288,Unf,0,342,2630,GasA,Ex,Y,SBrkr,2674,0,0,2674,2,0,2,1,2,1,Ex,8,Typ,2,Gd,Attchd,2007,Fin,3,762,TA,TA,Y,360,50,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal +1665,20,RL,95,11578,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,Stone,302,Ex,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1736,1736,GasA,Ex,Y,SBrkr,1736,0,0,1736,0,0,2,0,3,1,Ex,7,Typ,1,Gd,Attchd,2008,RFn,3,834,TA,TA,Y,319,90,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1666,20,RL,129,16870,Pave,NA,IR1,Lvl,AllPub,FR3,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2004,2005,Hip,CompShg,VinylSd,VinylSd,BrkFace,238,Gd,TA,PConc,Ex,TA,Gd,GLQ,1531,Unf,0,251,1782,GasA,Ex,Y,SBrkr,1782,0,0,1782,1,0,2,0,3,1,Gd,7,Typ,2,Gd,Attchd,2004,Fin,3,932,TA,TA,Y,99,82,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal +1667,60,RL,59,23303,Pave,NA,IR3,Lvl,AllPub,CulDSac,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,20,Gd,TA,PConc,Ex,TA,Av,GLQ,1230,Unf,0,278,1508,GasA,Ex,Y,SBrkr,1508,1012,0,2520,1,0,2,1,5,1,Ex,10,Typ,1,Gd,BuiltIn,2007,Fin,3,640,TA,TA,Y,192,273,0,0,0,0,NA,NA,NA,0,6,2009,WD,Family +1668,20,RL,87,10367,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2008,2008,Hip,CompShg,VinylSd,VinylSd,Stone,284,Ex,TA,PConc,Ex,TA,Mn,GLQ,1015,Unf,0,724,1739,GasA,Ex,Y,SBrkr,1743,0,0,1743,1,0,2,0,3,1,Ex,8,Typ,1,Gd,Attchd,2008,RFn,3,927,TA,TA,Y,168,45,0,0,0,0,NA,NA,NA,0,6,2009,ConLI,Normal +1669,20,RL,77,10872,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,Stone,122,Gd,TA,PConc,Ex,Gd,Av,GLQ,1037,Unf,0,467,1504,GasA,Ex,Y,SBrkr,1531,0,0,1531,1,0,2,0,2,1,Ex,6,Typ,1,Gd,Attchd,2006,Fin,3,700,TA,TA,Y,184,52,0,0,0,0,NA,NA,NA,0,2,2009,WD,Normal +1670,20,RL,102,13514,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2008,2008,Hip,CompShg,VinylSd,VinylSd,None,285,Ex,TA,PConc,Ex,TA,No,GLQ,1142,Unf,0,632,1774,GasA,Ex,Y,SBrkr,1808,0,0,1808,1,0,2,0,3,1,Ex,7,Typ,1,Gd,Attchd,2008,Fin,3,850,TA,TA,Y,200,26,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal +1671,20,RL,90,12878,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,1Story,7,5,2003,2004,Hip,CompShg,VinylSd,VinylSd,BrkFace,418,Gd,TA,PConc,Gd,TA,No,ALQ,1262,Unf,0,498,1760,GasA,Ex,Y,SBrkr,1760,0,0,1760,1,0,2,0,3,1,Gd,8,Typ,1,Gd,Attchd,2003,Fin,2,583,TA,TA,Y,165,190,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1672,20,RL,110,15274,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2003,2003,Hip,CompShg,VinylSd,VinylSd,BrkFace,724,Gd,TA,PConc,Ex,TA,No,GLQ,1972,Unf,0,480,2452,GasA,Ex,Y,SBrkr,2452,0,0,2452,2,0,2,0,3,1,Ex,10,Typ,1,Gd,Attchd,2003,Fin,3,886,TA,TA,Y,0,116,0,0,0,0,NA,MnPrv,NA,0,7,2009,WD,Normal +1673,60,RL,96,13262,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,Stone,186,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1082,1082,GasA,Ex,Y,SBrkr,1105,1295,0,2400,0,0,3,1,4,1,Gd,10,Typ,1,Gd,BuiltIn,2003,Fin,3,730,TA,TA,Y,114,40,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1674,20,RL,70,9658,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,Stone,383,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1598,1598,GasA,Gd,Y,SBrkr,1606,0,0,1606,0,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2006,RFn,3,871,TA,TA,Y,230,60,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1675,120,RL,47,6904,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,6,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,Stone,240,Gd,TA,PConc,Gd,TA,Av,ALQ,836,Unf,0,522,1358,GasA,Ex,Y,SBrkr,1358,0,0,1358,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2005,RFn,2,484,TA,TA,Y,192,36,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1676,120,RL,34,5122,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,Twnhs,1Story,6,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,Stone,135,Gd,TA,PConc,Gd,TA,Av,GLQ,881,Unf,0,425,1306,GasA,Ex,Y,SBrkr,1306,0,0,1306,1,0,2,0,1,1,Gd,5,Typ,1,Gd,Attchd,2005,RFn,2,624,TA,TA,Y,170,63,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal +1677,120,RL,80,10307,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,7,5,2007,2008,Gable,CompShg,VinylSd,VinylSd,Stone,176,Gd,TA,PConc,Gd,TA,No,GLQ,876,Unf,0,474,1350,GasA,Ex,Y,SBrkr,1358,0,0,1358,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2008,RFn,2,484,TA,TA,Y,192,26,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1678,20,RL,100,14836,Pave,NA,IR1,HLS,AllPub,Inside,Mod,NridgHt,Norm,Norm,1Fam,1Story,10,5,2004,2005,Hip,CompShg,CemntBd,CmentBd,Stone,730,Ex,TA,PConc,Ex,TA,Gd,GLQ,2146,Unf,0,346,2492,GasA,Ex,Y,SBrkr,2492,0,0,2492,1,0,2,1,2,1,Ex,8,Typ,1,Ex,Attchd,2004,Fin,3,949,TA,TA,Y,226,235,0,0,0,0,NA,NA,NA,0,2,2009,WD,Abnorml +1679,20,RL,117,15262,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2003,2004,Hip,CompShg,VinylSd,VinylSd,BrkFace,470,Gd,TA,PConc,Ex,TA,Gd,GLQ,1557,Unf,0,643,2200,GasA,Ex,Y,SBrkr,2200,0,0,2200,1,0,2,1,3,1,Ex,8,Typ,1,Gd,Attchd,2003,Fin,3,685,TA,TA,Y,208,55,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1680,120,RL,44,7390,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,9,5,2008,2009,Hip,CompShg,MetalSd,MetalSd,BrkFace,308,Ex,TA,PConc,Ex,TA,No,GLQ,800,Unf,0,1084,1884,GasA,Ex,Y,SBrkr,1884,0,0,1884,1,0,2,0,2,1,Ex,6,Typ,1,Gd,Attchd,2008,Fin,2,649,TA,TA,Y,231,90,0,0,0,0,NA,NA,NA,0,5,2009,New,Partial +1681,120,RL,48,6472,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,9,5,2008,2008,Hip,CompShg,VinylSd,VinylSd,BrkFace,500,Ex,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1451,1451,GasA,Ex,Y,SBrkr,1456,0,0,1456,0,0,2,0,2,1,Ex,6,Typ,1,Gd,Attchd,2008,RFn,2,539,TA,TA,Y,192,42,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal +1682,20,RL,129,16770,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2002,2003,Hip,CompShg,VinylSd,VinylSd,BrkFace,270,Gd,TA,PConc,Ex,TA,Gd,GLQ,1196,Unf,0,516,1712,GasA,Ex,Y,SBrkr,1712,0,0,1712,1,0,2,0,3,1,Gd,8,Typ,1,Gd,Attchd,2002,RFn,3,701,TA,TA,Y,218,183,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal +1683,120,RL,48,3480,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,Stone,163,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1405,1405,GasA,Ex,Y,SBrkr,1405,0,0,1405,0,0,2,0,2,1,Gd,6,Typ,1,TA,Attchd,2003,RFn,2,478,TA,TA,Y,148,36,0,0,0,0,NA,NA,NA,0,11,2009,WD,Normal +1684,60,RL,63,10928,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,RRAn,Norm,1Fam,2Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,Gd,No,Unf,0,Unf,0,728,728,GasA,Ex,Y,SBrkr,728,728,0,1456,0,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2005,Fin,2,390,TA,TA,Y,100,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1685,60,RL,57,8918,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,745,745,GasA,Ex,Y,SBrkr,745,745,0,1490,0,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2005,Fin,2,392,TA,TA,Y,36,20,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1686,120,RL,43,3182,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,16,Gd,TA,PConc,Gd,TA,Av,GLQ,16,Unf,0,1204,1220,GasA,Ex,Y,SBrkr,1220,0,0,1220,0,0,2,0,2,1,Gd,5,Typ,1,Gd,Attchd,2005,Fin,2,397,TA,TA,Y,100,16,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1687,80,RL,59,9434,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,7,5,2004,2005,Gable,CompShg,WdShing,Wd Shng,None,0,Gd,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,384,384,GasA,Ex,Y,SBrkr,744,630,0,1374,0,0,2,1,3,1,Gd,6,Typ,1,Gd,BuiltIn,2004,Fin,2,400,TA,TA,Y,100,0,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1688,60,RL,62,7984,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,200,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,868,868,GasA,Ex,Y,SBrkr,868,762,0,1630,0,0,2,1,3,1,Gd,7,Typ,1,Gd,BuiltIn,2004,Fin,2,436,TA,TA,Y,120,48,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal +1689,60,RL,61,10125,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,846,846,GasA,Ex,Y,SBrkr,846,748,0,1594,0,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2004,Fin,2,434,TA,TA,Y,300,48,0,0,0,0,NA,MnPrv,NA,0,7,2009,WD,Normal +1690,60,RL,NA,8965,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,652,Unf,0,130,782,GasA,Ex,Y,SBrkr,806,683,0,1489,1,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2003,Fin,2,400,TA,TA,Y,0,75,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1691,60,RL,NA,8174,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,494,Unf,0,204,698,GasA,Ex,Y,SBrkr,698,644,0,1342,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,2003,Fin,2,393,TA,TA,Y,100,56,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1692,60,RL,NA,12891,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,8,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,NA,NA,Gd,TA,PConc,Ex,TA,No,GLQ,651,Unf,0,219,870,GasA,Ex,Y,SBrkr,878,1126,0,2004,1,0,2,1,4,1,Gd,8,Typ,1,Gd,BuiltIn,2002,Fin,3,644,TA,TA,Y,0,48,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1693,80,RL,61,9734,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,RRAn,Norm,1Fam,SLvl,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Mn,GLQ,241,Rec,113,30,384,GasA,Ex,Y,SBrkr,744,630,0,1374,0,0,2,1,3,1,Gd,7,Typ,0,NA,BuiltIn,2004,Fin,2,400,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1694,60,RL,42,8433,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,GLQ,683,Unf,0,111,794,GasA,Ex,Y,SBrkr,819,695,0,1514,1,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,2000,Fin,2,394,TA,TA,Y,0,72,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1695,80,RL,62,7750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,7,5,1999,2000,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,384,384,GasA,Ex,Y,SBrkr,774,656,0,1430,0,0,2,1,3,1,TA,7,Typ,1,TA,BuiltIn,1999,RFn,2,400,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal +1696,60,RL,NA,15896,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,Gilbert,RRNn,Norm,1Fam,2Story,7,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,BrkFace,210,Gd,TA,PConc,Gd,TA,No,ALQ,913,Unf,0,264,1177,GasA,Ex,Y,SBrkr,1223,1089,0,2312,1,0,2,1,4,1,Gd,8,Typ,1,TA,BuiltIn,1999,Fin,3,658,TA,TA,Y,298,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1697,80,RL,64,7848,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,7,6,1999,1999,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,384,384,GasA,Ex,Y,SBrkr,774,656,0,1430,0,0,2,1,3,1,TA,7,Typ,1,TA,BuiltIn,1999,Fin,2,410,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1698,60,RL,106,12720,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,150,Gd,TA,PConc,Gd,TA,Mn,GLQ,1173,Unf,0,282,1455,GasA,Ex,Y,SBrkr,1466,1221,0,2687,1,0,2,1,4,1,Gd,10,Typ,2,TA,BuiltIn,2000,RFn,3,810,TA,TA,Y,252,30,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal +1699,20,RL,NA,10750,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NoRidge,Norm,Norm,1Fam,1Story,8,5,1994,1995,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,634,Gd,TA,PConc,Gd,TA,Av,BLQ,236,GLQ,1526,262,2024,GasA,Ex,Y,SBrkr,2063,0,0,2063,1,0,2,0,3,1,Gd,7,Typ,2,Gd,Attchd,1994,Fin,3,815,TA,TA,Y,182,56,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1700,60,RL,79,9085,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,7,5,1995,1996,Gable,CompShg,VinylSd,VinylSd,BrkFace,286,Gd,TA,PConc,Gd,TA,No,GLQ,816,Unf,0,254,1070,GasA,Ex,Y,SBrkr,1094,967,0,2061,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1995,Fin,2,647,TA,TA,Y,296,102,209,0,0,0,NA,NA,NA,0,11,2009,WD,Normal +1701,60,RL,NA,11692,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1993,1994,Gable,CompShg,HdBoard,HdBoard,BrkFace,372,Gd,TA,PConc,Gd,TA,No,GLQ,624,Unf,0,549,1173,GasA,Ex,Y,SBrkr,1215,1017,0,2232,1,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1993,RFn,2,623,TA,TA,Y,173,165,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal +1702,20,RL,86,11194,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,PosN,Norm,1Fam,1Story,8,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,Stone,240,Gd,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,1696,1696,GasA,Ex,Y,SBrkr,1696,0,0,1696,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2008,RFn,3,972,TA,TA,Y,120,56,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal +1703,20,RL,78,10206,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,PosN,Norm,1Fam,1Story,8,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,BrkFace,294,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1614,1614,GasA,Ex,Y,SBrkr,1658,0,0,1658,0,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2008,Fin,3,726,TA,TA,Y,144,44,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal +1704,20,RL,85,10130,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,260,Gd,TA,PConc,Gd,TA,Av,GLQ,1294,Unf,0,408,1702,GasA,Ex,Y,SBrkr,1702,0,0,1702,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2007,RFn,3,844,TA,TA,Y,0,69,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal +1705,20,RL,76,9139,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,Stone,206,Gd,TA,PConc,Ex,TA,Av,GLQ,379,Unf,0,1043,1422,GasA,Ex,Y,SBrkr,1432,0,0,1432,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2006,Fin,2,492,TA,TA,Y,297,50,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal +1706,20,RL,85,11128,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Somerst,PosN,PosN,1Fam,1Story,9,5,2005,2006,Hip,CompShg,VinylSd,VinylSd,Stone,198,Ex,TA,PConc,Ex,TA,Gd,GLQ,2158,Unf,0,300,2458,GasA,Ex,Y,SBrkr,2490,0,0,2490,1,0,2,0,2,1,Ex,9,Typ,2,Gd,Attchd,2005,Fin,3,795,TA,TA,Y,70,226,0,0,0,0,NA,GdPrv,NA,0,10,2009,WD,Normal +1707,20,FV,90,7993,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2008,2009,Gable,CompShg,VinylSd,VinylSd,NA,NA,Gd,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1436,1436,GasA,Ex,Y,SBrkr,1436,0,0,1436,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2008,Fin,2,529,TA,TA,Y,0,121,0,0,0,0,NA,NA,NA,0,10,2009,New,Partial +1708,20,FV,72,8640,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2008,2008,Hip,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1402,1402,GasA,Ex,Y,SBrkr,1402,0,0,1402,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2008,RFn,2,625,TA,TA,Y,205,126,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1709,20,FV,112,12606,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,9,5,2007,2008,Gable,CompShg,VinylSd,VinylSd,Stone,120,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1530,1530,GasA,Ex,Y,SBrkr,1530,0,0,1530,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2008,RFn,3,984,TA,TA,Y,212,136,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1710,20,FV,75,7500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,Stone,238,Gd,TA,PConc,Gd,TA,No,GLQ,24,Unf,0,1348,1372,GasA,Ex,Y,SBrkr,1448,0,0,1448,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2006,RFn,2,692,TA,TA,Y,0,140,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1711,60,FV,84,10603,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,Stone,121,Gd,TA,PConc,Ex,Gd,No,GLQ,682,Unf,0,218,900,GasA,Ex,Y,SBrkr,909,886,0,1795,1,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2006,Fin,3,782,TA,TA,Y,168,45,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1712,20,FV,65,8125,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2008,2009,Hip,CompShg,VinylSd,VinylSd,BrkFace,288,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1836,1836,GasA,Ex,Y,SBrkr,1836,0,0,1836,0,0,2,0,3,1,Gd,8,Typ,1,Gd,Attchd,2009,Fin,2,517,TA,TA,Y,0,175,0,0,0,0,NA,NA,NA,0,10,2009,New,Partial +1713,20,FV,85,10625,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,1430,Unf,0,222,1652,GasA,Ex,Y,SBrkr,1662,0,0,1662,1,0,2,0,3,1,Ex,8,Typ,1,Gd,Attchd,2006,RFn,3,711,TA,TA,Y,168,120,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal +1714,20,FV,68,8736,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2003,2004,Gable,CompShg,VinylSd,Wd Shng,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,771,ALQ,360,422,1553,GasA,Ex,Y,SBrkr,1553,0,0,1553,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2003,RFn,2,588,TA,TA,Y,192,88,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1715,60,FV,65,8127,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,410,Unf,0,402,812,GasA,Ex,Y,SBrkr,812,841,0,1653,1,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2003,RFn,2,628,TA,TA,Y,0,45,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal +1716,20,RL,80,9605,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,1Fam,1Story,7,6,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1218,1218,GasA,Ex,Y,SBrkr,1218,0,0,1218,0,0,1,1,3,1,Gd,6,Typ,0,NA,Detchd,2007,RFn,2,576,TA,TA,Y,0,178,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal +1717,20,RL,63,7500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,Gd,No,GLQ,54,Unf,0,1087,1141,GasA,Ex,Y,SBrkr,1141,0,0,1141,1,0,1,1,3,1,Gd,6,Typ,0,NA,Detchd,2006,RFn,2,484,TA,TA,Y,182,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1718,20,RL,63,7500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,6,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1158,1158,GasA,Ex,Y,SBrkr,1158,0,0,1158,0,0,1,1,3,1,Gd,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,50,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1719,60,RL,96,10628,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Gd,Unf,0,Unf,0,835,835,GasA,Ex,Y,SBrkr,871,941,0,1812,0,0,2,1,3,1,Gd,8,Typ,0,NA,BuiltIn,2004,RFn,2,478,TA,TA,Y,146,91,0,0,0,0,NA,NA,NA,0,1,2009,WD,Normal +1720,20,RL,76,10141,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,8,5,2004,2004,Gable,Tar&Grv,VinylSd,VinylSd,BrkFace,264,Gd,TA,PConc,Gd,TA,Gd,BLQ,516,Rec,774,222,1512,GasA,Ex,Y,SBrkr,1512,0,0,1512,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2004,RFn,3,845,TA,TA,Y,210,36,0,0,0,0,NA,NA,NA,0,1,2009,WD,Normal +1721,20,RL,63,13072,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,RRAe,Norm,1Fam,1Story,7,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1114,1114,GasA,Ex,Y,SBrkr,1114,0,0,1114,0,0,1,1,3,1,Gd,6,Typ,0,NA,Detchd,2005,Unf,2,576,TA,TA,Y,248,102,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1722,20,RL,63,13072,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,RRAe,Norm,1Fam,1Story,5,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1114,1114,GasA,Ex,Y,SBrkr,1114,0,0,1114,0,0,1,1,3,1,Gd,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,39,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1723,20,RL,60,12450,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,RRAe,Norm,1Fam,1Story,5,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,GLQ,836,Unf,0,278,1114,GasA,Ex,Y,SBrkr,1114,0,0,1114,1,0,2,0,3,1,Gd,6,Typ,0,NA,Detchd,2004,Unf,2,576,TA,TA,Y,0,42,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1724,20,RL,61,7328,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,7,5,2008,2009,Gable,CompShg,VinylSd,VinylSd,BrkFace,140,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1450,1450,GasA,Ex,Y,SBrkr,1450,0,0,1450,0,0,2,0,2,1,Gd,6,Typ,0,NA,Attchd,2008,RFn,3,788,TA,TA,Y,0,93,0,0,0,0,NA,NA,NA,0,2,2009,New,Partial +1725,60,RL,43,11492,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,1996,1997,Gable,CompShg,VinylSd,VinylSd,BrkFace,132,Gd,TA,PConc,Gd,TA,No,GLQ,637,Unf,0,276,913,GasA,Ex,Y,SBrkr,913,1209,0,2122,1,0,2,1,4,1,Gd,8,Typ,1,TA,Attchd,1997,RFn,2,559,TA,TA,Y,0,74,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal +1726,60,RL,70,7703,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,6,1992,1992,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,Gd,PConc,Gd,Gd,No,GLQ,52,Rec,364,400,816,GasA,Ex,Y,SBrkr,833,897,0,1730,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,1992,RFn,2,528,TA,TA,Y,0,91,0,0,168,0,NA,NA,NA,0,11,2009,WD,Normal +1727,120,RL,50,7175,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,TwnhsE,1Story,6,5,1990,1991,Gable,CompShg,Plywood,ImStucc,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1332,1332,GasA,Gd,Y,SBrkr,1332,0,0,1332,0,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,1990,RFn,2,542,TA,TA,Y,0,60,0,0,0,0,NA,NA,NA,0,2,2009,WD,Normal +1728,60,RL,70,9109,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,RRAe,Norm,1Fam,2Story,7,5,1994,1994,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,LwQ,36,GLQ,596,122,754,GasA,Ex,Y,SBrkr,754,786,0,1540,1,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,1994,RFn,2,495,TA,TA,Y,140,32,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal +1729,60,RL,NA,10274,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,7,1986,1986,Gable,CompShg,VinylSd,VinylSd,BrkFace,141,TA,Gd,CBlock,Gd,TA,No,Rec,331,Unf,0,345,676,GasA,TA,Y,SBrkr,698,702,0,1400,0,0,2,1,3,1,TA,6,Typ,0,NA,Attchd,1986,RFn,2,465,TA,TA,Y,0,48,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1730,90,RL,75,8250,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,Duplex,2Story,6,7,1981,1981,Gable,CompShg,Wd Sdng,Wd Shng,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,964,918,0,1882,0,0,2,0,4,2,TA,8,Typ,2,TA,Attchd,1981,Unf,2,612,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1731,20,RL,63,9750,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1962,1962,Hip,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,TA,TA,No,LwQ,68,BLQ,884,28,980,GasA,Gd,Y,SBrkr,980,0,0,980,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1969,Unf,2,400,TA,TA,Y,0,28,0,0,0,0,NA,MnPrv,NA,0,11,2009,WD,Normal +1732,20,RL,NA,8499,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,5,6,1961,1961,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,GLQ,660,Unf,0,204,864,GasA,Ex,Y,SBrkr,864,0,0,864,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1982,Unf,2,732,TA,TA,Y,0,312,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1733,20,RL,NA,9079,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1961,1961,Gable,CompShg,Wd Sdng,Plywood,None,0,TA,TA,CBlock,TA,TA,No,BLQ,864,Unf,0,0,864,GasA,TA,Y,SBrkr,864,0,0,864,0,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1961,Unf,1,440,TA,TA,Y,158,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1734,20,RL,NA,9316,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1965,1965,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,TA,TA,No,Rec,544,Unf,0,480,1024,GasA,Gd,Y,SBrkr,1020,0,0,1020,0,0,2,0,3,1,TA,5,Typ,0,NA,Attchd,1965,Unf,1,288,TA,TA,Y,171,0,0,0,0,0,NA,MnPrv,NA,0,5,2009,Oth,Family +1735,20,RL,NA,7791,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,RRAe,Norm,1Fam,1Story,5,8,1963,1995,Gable,CompShg,Plywood,Plywood,None,0,Gd,Gd,CBlock,TA,TA,No,ALQ,624,Unf,0,288,912,GasA,Ex,Y,SBrkr,912,0,0,912,1,0,1,0,3,1,Gd,6,Typ,0,NA,Attchd,1963,RFn,1,300,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,10,2009,WD,Normal +1736,20,RL,65,7150,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,5,6,1962,1962,Gable,CompShg,VinylSd,VinylSd,BrkFace,60,TA,TA,CBlock,TA,TA,No,LwQ,140,BLQ,590,182,912,GasA,Gd,Y,SBrkr,912,0,0,912,0,1,1,0,3,1,TA,6,Typ,0,NA,Attchd,1962,Unf,1,252,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal +1737,20,RL,NA,15676,Pave,NA,IR1,Low,AllPub,Inside,Gtl,Veenker,Norm,Norm,1Fam,1Story,8,8,1980,1980,Gable,CompShg,VinylSd,VinylSd,BrkFace,115,Gd,Gd,CBlock,Gd,Gd,Gd,ALQ,1733,Rec,92,189,2014,GasA,Gd,Y,SBrkr,2014,0,0,2014,1,0,2,0,2,1,Gd,6,Maj1,2,Gd,Attchd,1980,RFn,3,864,TA,TA,Y,462,0,0,255,0,0,NA,MnPrv,NA,0,4,2009,WD,Normal +1738,60,RL,NA,11949,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,7,8,1991,2008,Gable,CompShg,VinylSd,VinylSd,BrkFace,196,Gd,Gd,PConc,Gd,TA,No,GLQ,601,ALQ,216,158,975,GasA,Ex,Y,SBrkr,975,780,0,1755,0,1,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1991,Unf,2,524,TA,TA,Y,502,60,0,0,0,0,NA,GdPrv,NA,0,7,2009,WD,Normal +1739,160,FV,32,2880,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,2Story,7,5,2004,2005,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1376,1376,GasA,Ex,Y,SBrkr,1376,1629,0,3005,0,0,2,1,3,1,Gd,9,Mod,1,TA,BuiltIn,2004,Fin,3,704,TA,TA,Y,0,177,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1740,120,FV,NA,3830,Pave,Pave,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,6,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,Stone,280,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1726,1726,GasA,Ex,Y,SBrkr,1726,0,0,1726,0,0,2,1,2,1,Gd,6,Typ,1,Gd,Attchd,2008,Fin,2,561,TA,TA,Y,0,254,0,0,0,0,NA,NA,NA,0,1,2009,New,Partial +1741,120,FV,NA,4217,Pave,Pave,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,6,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,Stone,252,Gd,TA,PConc,Gd,TA,No,GLQ,962,Unf,0,183,1145,GasA,Ex,Y,SBrkr,1256,0,0,1256,1,0,1,1,1,1,Gd,5,Typ,1,Gd,Attchd,2008,Fin,2,641,TA,TA,Y,0,169,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal +1742,160,FV,34,2998,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,6,5,2000,2000,Gable,CompShg,MetalSd,MetalSd,BrkFace,513,Gd,TA,PConc,Gd,TA,No,GLQ,507,Unf,0,249,756,GasA,Ex,Y,SBrkr,756,756,0,1512,1,0,2,1,2,1,Gd,4,Typ,0,NA,Detchd,2000,Unf,2,440,TA,TA,Y,0,32,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1743,160,FV,35,3768,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,7,5,1999,1999,Hip,CompShg,MetalSd,MetalSd,BrkFace,218,Gd,TA,PConc,Gd,TA,No,GLQ,549,Unf,0,142,691,GasA,Ex,Y,SBrkr,713,739,0,1452,1,0,2,1,3,1,Gd,6,Typ,0,NA,Detchd,1999,Unf,2,506,TA,TA,Y,0,34,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal +1744,20,RL,NA,14694,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Veenker,Norm,Norm,1Fam,1Story,8,9,1977,2008,Gable,CompShg,MetalSd,MetalSd,BrkFace,450,Ex,Ex,CBlock,Gd,Gd,Gd,GLQ,1252,ALQ,136,306,1694,GasA,Ex,Y,SBrkr,1694,0,0,1694,1,0,2,0,2,1,Ex,5,Typ,1,Gd,Attchd,1977,Fin,2,642,TA,TA,Y,501,120,0,225,0,0,NA,NA,NA,0,6,2009,WD,Normal +1745,20,RL,110,15417,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Veenker,Norm,Norm,1Fam,1Story,7,5,1981,1981,Gable,CompShg,BrkFace,BrkFace,None,0,Gd,TA,CBlock,Gd,TA,Mn,LwQ,121,Unf,0,1619,1740,GasA,TA,Y,SBrkr,1740,0,0,1740,0,0,1,1,2,1,Gd,7,Typ,0,NA,Attchd,1981,RFn,2,540,TA,TA,Y,228,20,218,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1746,80,RL,80,9600,Pave,NA,Reg,Low,AllPub,FR2,Mod,Veenker,Feedr,Norm,1Fam,SLvl,8,5,1976,1976,Gable,CompShg,Plywood,Plywood,BrkFace,200,Gd,Gd,CBlock,TA,TA,No,Unf,0,Unf,0,392,392,GasA,Ex,Y,SBrkr,1487,1012,0,2499,0,0,2,1,4,1,TA,5,Typ,1,Gd,Attchd,1976,Unf,2,527,TA,TA,Y,0,64,0,0,0,0,NA,NA,NA,0,1,2009,WD,Abnorml +1747,60,RL,NA,12732,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NWAmes,PosN,Norm,1Fam,2Story,7,6,1974,1974,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,Mn,GLQ,560,LwQ,42,150,752,GasA,TA,Y,SBrkr,1285,782,0,2067,0,0,2,1,3,1,Gd,7,Typ,2,TA,Attchd,1974,RFn,2,784,TA,TA,Y,297,40,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1748,60,RL,80,10400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,PosA,Norm,1Fam,2Story,6,7,1967,1997,Gable,CompShg,MetalSd,MetalSd,BrkFace,256,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,932,932,GasA,Gd,Y,SBrkr,1271,1369,0,2640,0,0,2,1,5,1,Gd,8,Typ,1,TA,Attchd,1967,RFn,2,515,TA,TA,Y,0,120,0,0,168,0,NA,NA,NA,0,5,2009,WD,Normal +1749,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Feedr,Norm,1Fam,1Story,5,5,1969,1969,Gable,CompShg,HdBoard,HdBoard,BrkFace,128,TA,TA,CBlock,Gd,TA,Mn,ALQ,553,Rec,147,588,1288,GasA,TA,Y,SBrkr,1336,0,0,1336,0,1,2,0,3,1,TA,6,Typ,1,Fa,Attchd,1969,RFn,2,502,TA,TA,Y,312,11,0,0,0,0,NA,NA,Shed,650,8,2009,WD,Normal +1750,20,RL,75,9000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Feedr,Norm,1Fam,1Story,6,5,1969,1969,Gable,CompShg,HdBoard,HdBoard,BrkFace,200,TA,TA,CBlock,TA,TA,Av,BLQ,955,Unf,0,261,1216,GasA,TA,Y,SBrkr,1216,0,0,1216,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1969,Unf,1,336,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,8,2009,WD,Abnorml +1751,60,RL,NA,13774,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,7,7,1977,1992,Hip,CompShg,HdBoard,HdBoard,BrkFace,283,TA,Gd,PConc,Gd,TA,No,GLQ,432,Unf,0,476,908,GasA,Ex,Y,SBrkr,1316,972,0,2288,0,0,1,2,4,1,Gd,8,Typ,2,TA,Attchd,1977,RFn,2,520,TA,TA,Y,321,72,0,0,156,0,NA,NA,NA,0,11,2009,WD,Normal +1752,20,RL,62,7130,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1967,1967,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,TA,TA,No,BLQ,648,Unf,0,216,864,GasA,TA,Y,SBrkr,864,0,0,864,0,1,1,0,2,1,TA,5,Typ,0,NA,Attchd,1967,Fin,1,312,TA,TA,Y,0,0,0,0,0,0,NA,GdPrv,NA,0,6,2009,WD,Normal +1753,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1967,1967,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1568,1568,GasA,TA,Y,SBrkr,1568,0,0,1568,0,0,1,1,3,1,TA,7,Typ,0,NA,Attchd,1967,Unf,2,440,TA,TA,Y,160,40,0,0,0,0,NA,NA,NA,0,3,2009,COD,Normal +1754,60,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,7,5,1974,1974,Gable,CompShg,Plywood,Plywood,BrkFace,252,TA,TA,CBlock,TA,TA,No,ALQ,698,Unf,0,467,1165,GasA,Gd,Y,SBrkr,1165,896,0,2061,0,1,2,1,4,1,TA,8,Typ,1,TA,Attchd,1974,RFn,2,498,TA,TA,Y,0,77,0,0,196,0,NA,NA,NA,0,5,2009,COD,Abnorml +1755,85,RL,NA,16500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,SFoyer,6,5,1971,1971,Hip,CompShg,HdBoard,HdBoard,BrkFace,509,TA,TA,CBlock,Gd,TA,Av,GLQ,962,Unf,0,270,1232,GasA,Fa,Y,SBrkr,1320,0,0,1320,0,1,2,0,3,1,TA,5,Typ,1,Gd,Attchd,1971,RFn,2,495,TA,TA,Y,0,20,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1756,20,RL,60,7436,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,7,1960,1960,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,734,Unf,0,160,894,GasA,Gd,Y,SBrkr,894,0,0,894,1,0,1,0,2,1,TA,5,Typ,1,Po,Detchd,1988,Unf,2,396,TA,TA,Y,0,0,0,360,0,0,NA,GdWo,NA,0,8,2009,WD,Normal +1757,20,RL,65,8125,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1959,1959,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,403,Unf,0,461,864,GasA,Ex,Y,SBrkr,864,0,0,864,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1960,Unf,1,308,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal +1758,20,RL,NA,9450,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,5,1957,1957,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,160,TA,TA,CBlock,TA,TA,No,BLQ,775,Unf,0,265,1040,GasA,TA,Y,SBrkr,1362,0,0,1362,1,0,1,0,3,1,TA,6,Typ,1,Gd,Attchd,1982,RFn,3,768,TA,TA,Y,0,0,84,0,0,0,NA,MnPrv,NA,0,5,2009,WD,Normal +1759,20,RL,NA,13495,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1956,1956,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,70,TA,Gd,CBlock,TA,TA,No,BLQ,625,LwQ,201,222,1048,GasA,Fa,Y,SBrkr,1728,0,0,1728,1,0,2,0,3,1,TA,7,Min1,1,Gd,Detchd,1956,Unf,2,576,TA,TA,Y,0,99,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1760,20,RL,85,9350,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1961,1995,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,217,TA,TA,CBlock,TA,TA,No,ALQ,310,BLQ,512,491,1313,GasA,TA,Y,SBrkr,1313,0,0,1313,1,0,1,1,3,1,Gd,6,Typ,1,TA,Attchd,1961,RFn,2,610,TA,TA,Y,172,28,0,0,121,0,NA,MnPrv,NA,0,2,2009,WD,Normal +1761,20,RL,115,10500,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1964,1964,Gable,CompShg,HdBoard,HdBoard,Stone,144,TA,Gd,CBlock,TA,TA,No,LwQ,998,Unf,0,294,1292,GasA,TA,Y,SBrkr,1292,0,0,1292,1,0,1,1,3,1,TA,6,Typ,2,Gd,Detchd,1964,Unf,2,520,TA,TA,Y,0,32,0,0,92,0,NA,NA,NA,0,7,2009,COD,Abnorml +1762,60,RL,NA,8970,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,2Story,5,6,1965,1965,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,388,Unf,0,356,744,GasA,TA,Y,SBrkr,825,1315,0,2140,0,0,2,1,4,1,TA,7,Typ,1,TA,Attchd,1965,Fin,2,549,TA,TA,Y,0,40,264,0,0,0,NA,MnPrv,NA,0,6,2009,WD,Normal +1763,80,RL,85,11475,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,SLvl,6,6,1961,1961,Hip,CompShg,HdBoard,HdBoard,BrkFace,90,TA,TA,CBlock,TA,TA,Gd,ALQ,568,Unf,0,640,1208,GasA,Ex,Y,SBrkr,1576,0,0,1576,1,0,1,0,4,1,Gd,7,Typ,1,Po,BuiltIn,1961,Fin,2,368,TA,TA,Y,85,0,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal +1764,20,RL,68,9768,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1955,1955,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,100,ALQ,247,613,960,GasA,Gd,Y,SBrkr,960,0,0,960,1,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1955,RFn,1,330,TA,TA,Y,0,70,0,0,0,0,NA,MnPrv,NA,0,2,2009,WD,Normal +1765,20,RL,90,9900,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Feedr,Norm,1Fam,1Story,6,5,1967,1967,Gable,CompShg,BrkComm,Brk Cmn,None,0,Gd,TA,CBlock,TA,TA,No,Rec,1173,Unf,0,507,1680,GasA,TA,Y,SBrkr,1691,0,0,1691,1,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1967,Unf,2,550,Gd,TA,Y,0,67,260,0,0,0,NA,MnPrv,NA,0,4,2009,WD,Normal +1766,20,RL,92,10573,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1961,1961,Hip,CompShg,MetalSd,MetalSd,BrkFace,3,TA,TA,CBlock,TA,TA,No,Rec,1312,Unf,0,141,1453,GasA,Ex,Y,SBrkr,1453,0,0,1453,1,0,2,0,3,1,TA,6,Typ,1,TA,Attchd,1961,RFn,2,530,TA,TA,Y,0,49,0,0,288,0,NA,GdPrv,NA,0,4,2009,WD,Normal +1767,20,RL,80,14695,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,8,1966,2008,Gable,CompShg,MetalSd,MetalSd,BrkFace,210,TA,Gd,CBlock,TA,TA,No,ALQ,1387,Unf,0,175,1562,GasA,Gd,Y,SBrkr,1567,0,0,1567,1,0,2,0,2,1,Gd,5,Typ,2,Gd,Attchd,1966,Unf,2,542,TA,TA,Y,0,110,0,0,342,0,NA,GdWo,NA,0,7,2009,WD,Normal +1768,20,RL,73,8760,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1956,1956,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,164,Gd,TA,CBlock,TA,TA,No,ALQ,856,Unf,0,313,1169,GasA,TA,Y,SBrkr,1144,0,0,1144,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1956,RFn,1,286,TA,TA,Y,257,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1769,20,RL,NA,12285,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,7,6,1960,1960,Gable,CompShg,Plywood,Plywood,BrkFace,128,TA,TA,CBlock,TA,TA,No,BLQ,544,Unf,0,785,1329,GasA,Gd,Y,SBrkr,1329,0,0,1329,0,0,1,1,3,1,TA,5,Typ,2,Gd,Attchd,1960,Unf,2,441,TA,TA,Y,0,0,203,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1770,20,RL,66,9240,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,8,1959,1998,Hip,CompShg,MetalSd,MetalSd,None,0,Gd,TA,CBlock,TA,TA,No,ALQ,708,Unf,0,280,988,GasA,TA,Y,SBrkr,988,0,0,988,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1959,Unf,1,297,TA,TA,Y,156,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1771,20,RL,70,8750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1956,1956,Gable,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,Rec,435,BLQ,202,565,1202,GasA,TA,Y,SBrkr,1202,0,0,1202,0,1,1,0,3,1,TA,6,Typ,0,NA,Attchd,1956,RFn,1,304,TA,TA,Y,0,35,120,0,0,0,NA,GdWo,NA,0,11,2009,COD,Abnorml +1772,20,RL,70,8750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1955,1955,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,CBlock,TA,TA,No,Rec,172,LwQ,483,727,1382,GasA,Gd,Y,FuseA,1382,0,0,1382,0,1,1,0,3,1,Gd,6,Typ,0,NA,Attchd,1955,Unf,1,350,TA,TA,Y,280,0,0,0,0,0,NA,GdWo,NA,0,7,2009,WD,Normal +1773,20,RL,80,10400,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,5,1956,1956,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,Rec,155,LwQ,750,295,1200,GasA,TA,Y,SBrkr,1200,0,0,1200,1,0,1,0,3,1,TA,6,Typ,2,Gd,Attchd,1956,Unf,1,294,TA,TA,Y,0,189,140,0,0,0,NA,NA,NA,0,11,2009,WD,Family +1774,90,RL,76,9482,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,Duplex,1Story,5,4,1958,1958,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,657,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,1866,1866,GasA,Ex,Y,SBrkr,1866,0,0,1866,0,0,2,0,4,2,TA,8,Typ,0,NA,Detchd,1958,Unf,2,495,TA,Fa,Y,0,0,0,0,0,0,NA,NA,NA,0,12,2009,WD,Normal +1775,20,RL,53,8128,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,7,1954,1954,Hip,CompShg,MetalSd,MetalSd,BrkFace,80,TA,TA,CBlock,TA,TA,No,ALQ,490,Unf,0,572,1062,GasA,Gd,Y,SBrkr,1062,0,0,1062,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1954,Unf,1,297,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,2,2009,WD,Normal +1776,20,RL,67,13070,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1951,1951,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,308,Unf,0,323,631,GasA,TA,Y,FuseA,1112,0,0,1112,0,0,1,0,2,1,TA,5,Typ,0,NA,Basment,1951,Unf,2,480,TA,TA,Y,0,0,0,0,255,0,NA,NA,NA,0,10,2009,WD,Normal +1777,30,RL,80,8480,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1945,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,BLQ,700,Unf,0,93,793,GasA,TA,Y,SBrkr,793,0,0,793,1,0,1,0,2,1,Fa,4,Typ,0,NA,Detchd,1945,Unf,1,240,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1778,20,RL,60,7626,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,8,1952,2005,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,TA,CBlock,TA,TA,No,GLQ,931,Unf,0,100,1031,GasA,Gd,Y,SBrkr,1031,0,0,1031,1,0,1,0,2,1,Gd,5,Typ,0,NA,Attchd,1952,Unf,1,230,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,3,2009,WD,Normal +1779,20,RL,75,9533,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1953,1953,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,140,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,FuseA,1210,0,0,1210,0,0,1,1,2,1,TA,7,Typ,0,NA,Attchd,1953,Fin,1,616,TA,TA,Y,208,0,100,0,0,0,NA,MnPrv,NA,0,8,2009,ConLD,Normal +1780,60,RL,78,11419,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Artery,Norm,1Fam,2Story,7,7,1948,1999,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,TA,Mn,ALQ,699,Unf,0,0,699,GasA,Ex,Y,FuseA,801,726,0,1527,1,0,1,1,3,1,TA,6,Typ,1,Gd,Attchd,1948,Unf,2,410,TA,TA,Y,0,0,134,0,0,0,NA,GdWo,NA,0,12,2009,WD,Normal +1781,20,RL,60,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1950,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,390,Unf,0,810,1200,GasA,TA,Y,SBrkr,1200,0,0,1200,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1950,Fin,1,246,TA,TA,Y,126,0,0,0,0,0,NA,GdWo,NA,0,8,2009,WD,Normal +1782,20,RL,53,5470,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,3,5,1958,1958,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,792,792,GasA,Gd,Y,FuseA,792,0,0,792,0,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1958,Unf,1,366,Fa,TA,Y,0,90,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1783,60,RL,60,10800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,5,7,1939,2006,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,BrkTil,TA,TA,No,Unf,0,Unf,0,676,676,GasA,Ex,Y,SBrkr,676,676,0,1352,0,1,2,0,4,1,Gd,7,Typ,0,NA,Detchd,1939,Unf,2,720,TA,TA,Y,187,0,128,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1784,70,RL,80,8146,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,2Story,4,8,1900,2003,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,Gd,BrkTil,Fa,TA,No,Unf,0,Unf,0,405,405,GasA,Gd,Y,SBrkr,717,322,0,1039,0,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1940,Unf,1,281,TA,TA,N,0,0,168,0,111,0,NA,NA,NA,0,5,2009,WD,Normal +1785,30,RL,60,10230,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,7,1925,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,1054,1054,GasA,Ex,Y,SBrkr,1078,0,0,1078,0,0,1,0,3,1,Ex,6,Typ,0,NA,Detchd,1987,Unf,1,264,TA,TA,N,0,0,0,0,112,0,NA,GdWo,NA,0,12,2009,WD,Normal +1786,50,RL,60,10410,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,4,5,1915,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,1313,1313,GasA,TA,Y,SBrkr,1313,0,1064,2377,0,0,2,0,3,1,Gd,8,Min2,1,TA,Detchd,1954,Unf,2,528,TA,TA,Y,0,0,432,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1787,70,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Artery,Norm,1Fam,2Story,7,9,1910,2008,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,Gd,PConc,TA,TA,No,Unf,0,Unf,0,560,560,GasA,Ex,Y,SBrkr,930,760,0,1690,0,0,2,0,4,1,Gd,5,Typ,0,NA,Detchd,2008,Unf,2,624,TA,TA,Y,0,0,112,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1788,30,RL,90,5400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1Story,2,5,1940,1950,Gable,CompShg,Stucco,Stucco,None,0,Fa,TA,PConc,Fa,TA,No,Unf,0,Unf,0,416,416,GasA,Gd,N,FuseA,599,0,0,599,1,0,1,0,2,1,Gd,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,81,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1789,30,RL,60,10800,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,7,1920,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,720,720,GasA,TA,N,SBrkr,846,0,0,846,0,0,1,0,2,1,Gd,4,Typ,0,NA,Detchd,1980,Fin,2,576,TA,TA,N,0,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1790,30,RL,60,10800,Pave,Grvl,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1Story,3,5,1890,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,630,630,GasA,TA,Y,FuseA,725,0,0,725,0,0,1,1,1,1,TA,4,Typ,0,NA,Detchd,1959,Unf,1,320,TA,TA,Y,0,30,0,0,0,0,NA,NA,NA,0,11,2009,WD,Normal +1791,90,RL,81,9671,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Artery,Norm,Duplex,2Story,6,5,1969,1969,Gable,CompShg,MetalSd,MetalSd,Stone,480,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1248,1248,GasA,TA,Y,SBrkr,1248,1296,0,2544,0,0,2,2,6,2,TA,12,Typ,0,NA,Attchd,1969,RFn,3,907,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1792,20,RL,83,10143,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,7,1963,1963,Gable,CompShg,HdBoard,HdBoard,BrkFace,295,TA,TA,CBlock,TA,TA,No,Rec,384,Unf,0,996,1380,GasA,Fa,Y,SBrkr,1380,0,0,1380,0,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1963,Unf,1,364,TA,TA,Y,0,0,0,0,216,0,NA,GdWo,NA,0,6,2009,WD,Normal +1793,20,RL,77,11500,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,4,1967,1967,Gable,CompShg,HdBoard,HdBoard,None,0,Fa,TA,CBlock,TA,Fa,No,BLQ,872,Rec,60,108,1040,GasA,Gd,Y,SBrkr,1040,0,0,1040,1,0,1,0,3,1,TA,6,Min1,1,Po,Attchd,1967,RFn,2,480,TA,TA,Y,0,0,156,0,0,0,NA,MnPrv,NA,0,5,2009,WD,Normal +1794,20,RL,62,8010,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,9,1958,2007,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,Gd,CBlock,TA,TA,Mn,GLQ,745,Unf,0,206,951,GasA,Gd,Y,SBrkr,951,0,0,951,1,0,1,0,2,1,Gd,6,Typ,0,NA,Detchd,1985,Unf,2,480,TA,TA,Y,0,0,42,0,0,0,NA,NA,Shed,450,9,2009,WD,Normal +1795,20,RL,90,10454,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1957,1957,Hip,CompShg,Plywood,Plywood,Stone,143,TA,TA,CBlock,TA,TA,No,Rec,546,Unf,0,559,1105,GasA,Gd,Y,FuseA,1105,0,0,1105,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1957,Unf,1,308,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal +1796,20,RL,80,9000,Pave,NA,IR1,HLS,AllPub,Inside,Mod,NAmes,Norm,Norm,1Fam,1Story,6,6,1958,1958,Flat,Tar&Grv,Wd Sdng,Wd Sdng,BrkFace,82,TA,TA,CBlock,Gd,TA,Gd,Unf,0,Unf,0,160,160,GasA,Fa,Y,SBrkr,1142,0,0,1142,0,0,1,0,2,1,TA,5,Typ,1,Gd,Basment,1958,RFn,1,384,TA,TA,Y,0,28,64,0,0,0,NA,NA,NA,0,4,2009,WD,Normal +1797,50,RL,60,8064,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Artery,Norm,1Fam,1.5Fin,6,5,1950,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Av,Rec,621,Unf,0,174,795,GasA,Gd,N,SBrkr,765,368,0,1133,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1989,Unf,2,900,TA,TA,Y,0,0,0,0,231,0,NA,NA,NA,0,12,2009,COD,Abnorml +1798,20,RL,71,7350,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1958,1958,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1041,1041,GasA,Gd,Y,SBrkr,1041,0,0,1041,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1958,RFn,1,294,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,3,2009,WD,Normal +1799,20,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1952,1952,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,Gd,No,ALQ,630,BLQ,102,0,732,GasA,TA,Y,SBrkr,732,0,0,732,1,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1952,Unf,1,240,TA,TA,Y,0,68,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal +1800,80,RL,80,8000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,5,5,1959,1959,Gable,CompShg,BrkFace,Plywood,None,0,TA,TA,CBlock,Gd,TA,Av,GLQ,433,Rec,95,0,528,GasA,TA,Y,SBrkr,1183,0,0,1183,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1959,RFn,1,288,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,7,2009,WD,Normal +1801,50,RL,60,10800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Artery,Norm,1Fam,1.5Fin,4,7,1949,1996,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,832,832,GasA,TA,Y,FuseF,832,629,0,1461,0,0,2,0,4,1,TA,6,Typ,0,NA,Detchd,1949,Unf,1,384,TA,TA,Y,0,204,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1802,50,RL,60,8064,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Artery,Norm,1Fam,1.5Fin,6,7,1948,1994,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,LwQ,120,Unf,0,744,864,GasA,TA,Y,SBrkr,1064,0,431,1495,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1994,Unf,2,576,TA,TA,Y,180,36,0,0,0,0,NA,NA,NA,0,8,2009,COD,Abnorml +1803,60,RL,76,7570,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,2Story,6,5,1964,1964,Gable,CompShg,HdBoard,HdBoard,BrkFace,420,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,780,780,GasA,TA,Y,SBrkr,993,813,0,1806,0,0,1,1,4,1,TA,8,Typ,0,NA,Attchd,1964,Unf,2,483,TA,TA,Y,0,55,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal +1804,90,RL,75,8604,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,Duplex,SFoyer,5,7,1978,1978,Gable,CompShg,Plywood,Plywood,BrkFace,124,TA,Gd,CBlock,Gd,TA,Av,GLQ,941,Unf,0,0,941,GasA,Gd,Y,SBrkr,941,0,0,941,1,0,1,0,2,1,Gd,4,Typ,0,NA,Attchd,1978,Unf,2,564,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,11,2009,WD,Normal +1805,20,RL,80,7936,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1963,1963,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,BLQ,826,Unf,0,219,1045,GasA,TA,Y,SBrkr,1045,0,0,1045,1,0,1,0,3,1,TA,6,Typ,1,Fa,Attchd,1963,RFn,1,264,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal +1806,50,RM,68,4080,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,6,8,1935,1998,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,901,901,GasA,Gd,Y,SBrkr,861,517,0,1378,0,0,1,0,3,1,Gd,6,Typ,0,NA,Detchd,1920,Unf,1,162,Fa,Fa,P,54,0,40,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1807,90,RM,57,10307,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,Duplex,2Story,6,5,1910,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Mn,LwQ,633,Unf,0,339,972,GasA,Gd,N,FuseA,972,972,0,1944,1,0,2,0,4,2,TA,12,Typ,0,NA,Detchd,1920,Unf,2,324,Fa,TA,N,0,28,169,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1808,50,RM,90,15660,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,8,1910,2003,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,TA,No,Unf,0,Unf,0,240,240,GasA,TA,Y,SBrkr,810,496,0,1306,0,0,1,1,3,1,Gd,6,Typ,0,NA,Detchd,1959,Unf,2,472,Fa,TA,N,0,0,0,0,0,0,NA,MnPrv,NA,0,7,2009,WD,Normal +1809,70,RM,90,9900,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,2Story,5,8,1910,2002,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,CBlock,TA,TA,No,Unf,0,Unf,0,504,504,GasA,Ex,Y,SBrkr,764,700,0,1464,0,0,2,0,3,1,TA,7,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,176,0,0,0,NA,NA,NA,0,3,2009,WD,Normal +1810,70,RM,57,6406,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,5,6,1939,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,ALQ,421,Unf,0,269,690,GasA,TA,Y,FuseA,868,690,0,1558,0,0,1,1,3,1,TA,7,Typ,1,Gd,Detchd,1939,Unf,2,400,TA,TA,Y,0,36,0,0,182,0,NA,MnPrv,NA,0,10,2009,WD,Normal +1811,190,RM,63,7627,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Artery,Norm,2fmCon,2Story,4,6,1920,1950,Gable,CompShg,AsbShng,AsbShng,None,0,Fa,TA,BrkTil,Fa,Po,No,Unf,0,Unf,0,600,600,GasA,Gd,N,SBrkr,1101,600,0,1701,0,0,2,0,4,2,Fa,8,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,148,0,0,0,NA,NA,NA,0,10,2009,WD,Normal +1812,50,RM,56,10134,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,5,1910,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,Fa,TA,No,Unf,0,Unf,0,801,801,GasA,Gd,N,SBrkr,801,646,0,1447,0,0,1,0,3,1,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,80,0,244,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1813,50,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,7,1950,1970,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Ex,CBlock,TA,TA,No,BLQ,384,Unf,0,384,768,GasA,TA,Y,FuseA,768,560,0,1328,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1950,Unf,1,308,TA,TA,Y,0,12,0,0,0,0,NA,MnPrv,NA,0,3,2009,WD,Normal +1814,30,RM,62,7404,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1Story,4,6,1920,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,Fa,TA,No,Unf,0,Unf,0,861,861,GasA,TA,Y,SBrkr,861,0,0,861,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1920,Unf,2,288,TA,TA,N,0,0,128,0,0,0,NA,NA,NA,0,11,2009,Oth,Normal +1815,30,RM,50,5925,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1Story,2,4,1940,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,BrkTil,NA,NA,NA,NA,0,NA,0,0,0,GasA,Fa,N,FuseA,612,0,0,612,0,0,1,0,1,1,TA,4,Typ,0,NA,Detchd,1965,Unf,1,308,TA,Fa,N,0,0,25,0,0,0,NA,NA,NA,0,10,2009,WD,Normal +1816,30,RM,60,8520,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,8,1923,1950,Gable,CompShg,Stucco,Stucco,None,0,Gd,TA,PConc,Fa,TA,No,Unf,0,Unf,0,624,624,GasA,TA,Y,SBrkr,792,0,0,792,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1963,Unf,1,287,TA,TA,Y,0,0,81,0,0,0,NA,GdWo,NA,0,2,2009,WD,Normal +1817,70,RM,60,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,4,4,1910,1950,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,Gd,BrkTil,Fa,TA,No,Unf,0,Unf,0,677,677,GasA,TA,Y,SBrkr,833,677,0,1510,0,0,2,0,3,1,Gd,7,Typ,0,NA,Detchd,1974,Unf,2,720,TA,TA,N,0,0,160,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1818,70,RM,70,8400,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Artery,Norm,1Fam,2Story,6,7,1900,1950,Gable,CompShg,Stucco,BrkFace,None,0,TA,TA,BrkTil,Fa,Gd,Mn,Unf,0,Unf,0,917,917,GasA,Gd,Y,FuseA,1090,917,0,2007,0,0,2,0,3,1,Ex,8,Typ,0,NA,Detchd,1930,Unf,1,357,TA,TA,Y,0,235,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1819,70,RM,60,3600,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,6,7,1917,2007,Gable,CompShg,Stucco,Stucco,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,624,624,GasA,Ex,Y,SBrkr,664,624,0,1288,1,0,1,0,3,1,Ex,5,Typ,1,Gd,Attchd,1917,Unf,1,280,TA,TA,N,0,103,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1820,30,C (all),NA,3300,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,4,3,1910,1950,Gable,CompShg,Stucco,Stucco,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,624,624,GasA,Ex,Y,SBrkr,816,0,0,816,0,0,1,0,2,1,TA,5,Typ,1,Gd,NA,NA,NA,0,0,NA,NA,N,0,33,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1821,50,RM,60,5400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,6,6,1920,1950,Gable,CompShg,MetalSd,MetalSd,None,0,Fa,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,972,972,GasA,Ex,Y,SBrkr,1044,0,436,1480,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1920,Unf,1,207,Fa,TA,Y,0,0,176,0,0,0,NA,NA,NA,0,9,2009,ConLI,Family +1822,70,RM,60,9720,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,6,7,1910,2002,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,741,741,GasA,Ex,Y,SBrkr,780,741,0,1521,0,0,1,0,4,1,Gd,8,Typ,0,NA,Detchd,1950,Unf,3,640,TA,TA,Y,0,0,238,0,0,0,NA,MnPrv,NA,0,9,2009,WD,Normal +1823,30,C (all),72,9392,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,3,3,1900,1950,Mansard,CompShg,AsbShng,AsbShng,None,0,TA,Fa,CBlock,Fa,TA,No,Unf,0,Unf,0,245,245,GasA,TA,N,SBrkr,797,0,0,797,0,0,1,0,2,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,36,94,0,0,0,NA,NA,NA,0,9,2009,WD,Abnorml +1824,30,RL,NA,6615,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,6,6,1923,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,1022,1022,GasA,TA,N,FuseA,1432,0,0,1432,0,0,1,0,3,1,Gd,6,Typ,1,Gd,BuiltIn,1923,Unf,1,216,Fa,TA,Y,266,61,0,0,0,0,NA,GdWo,NA,0,9,2009,WD,Normal +1825,70,RL,50,4960,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,RRAn,Norm,1Fam,1.5Fin,5,7,1930,1982,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,297,297,GasA,Ex,Y,SBrkr,1001,653,0,1654,0,0,2,0,3,1,TA,7,Typ,1,Gd,Detchd,1955,Unf,1,336,TA,TA,N,244,60,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1826,50,RM,60,6000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,5,1924,1950,Gable,CompShg,Stucco,Stucco,BrkFace,444,TA,TA,BrkTil,TA,TA,No,Rec,220,Unf,0,248,468,GasA,Gd,Y,SBrkr,822,320,0,1142,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1924,Fin,1,320,TA,TA,Y,0,0,98,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1827,30,RM,51,6120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,5,6,1925,1999,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,960,960,GasA,Gd,Y,SBrkr,995,0,0,995,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1926,Unf,1,264,TA,TA,Y,0,15,51,0,0,0,NA,MnPrv,NA,0,3,2009,WD,Abnorml +1828,50,RM,51,6120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,6,1938,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,Fa,No,LwQ,273,Unf,0,679,952,GasA,TA,Y,FuseA,994,588,0,1582,0,0,2,0,3,1,TA,6,Typ,1,Gd,Detchd,1938,Unf,1,250,Fa,TA,Y,189,0,34,150,0,0,NA,NA,NA,0,2,2009,WD,Normal +1829,30,RM,50,8635,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,5,5,1925,1950,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Fa,BrkTil,TA,TA,No,LwQ,134,Unf,0,938,1072,GasA,TA,Y,SBrkr,1072,0,0,1072,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1982,Unf,5,1184,Fa,TA,P,0,0,105,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1830,70,RM,57,8094,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,6,6,1915,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,1048,1048,GasA,Gd,Y,FuseA,1048,720,0,1768,0,0,2,0,3,1,TA,8,Typ,0,NA,Detchd,1930,Unf,2,576,Fa,Fa,Y,0,0,150,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1831,70,RM,68,9928,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,7,8,1915,1994,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,BrkTil,TA,TA,No,Unf,0,Unf,0,672,672,GasA,Fa,Y,SBrkr,1272,672,0,1944,0,0,2,0,3,1,TA,8,Min2,0,NA,Detchd,1915,Unf,1,216,TA,TA,N,24,28,0,0,0,0,NA,NA,Shed,400,6,2009,WD,Normal +1832,90,RM,50,3000,Pave,Grvl,Reg,Bnk,AllPub,Inside,Gtl,OldTown,Norm,Norm,Duplex,2Story,5,1,1922,1950,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,Fa,No,Unf,0,Unf,0,1040,1040,GasA,TA,N,SBrkr,1088,1040,0,2128,0,0,2,0,4,2,TA,11,Sev,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,56,0,0,0,0,NA,NA,NA,0,9,2009,WD,Abnorml +1833,70,RM,57,6876,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,2Story,6,5,1927,1950,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,Fa,No,BLQ,522,Unf,0,198,720,GasA,Fa,Y,SBrkr,1146,784,0,1930,1,0,2,0,4,1,TA,8,Typ,0,NA,Attchd,1927,Unf,1,316,TA,TA,Y,0,0,213,0,0,0,NA,MnPrv,NA,0,8,2009,WD,Normal +1834,70,RM,NA,5775,Pave,NA,IR2,Bnk,AllPub,Corner,Mod,OldTown,Feedr,Norm,1Fam,2Story,6,7,1915,2002,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,483,483,GasA,Ex,Y,SBrkr,741,686,0,1427,0,0,1,0,3,1,Gd,7,Typ,0,NA,Attchd,1915,Unf,1,379,TA,TA,Y,0,24,112,0,0,0,NA,NA,NA,0,2,2009,WD,Normal +1835,190,RM,41,5852,Pave,NA,IR3,Bnk,AllPub,Corner,Gtl,OldTown,Feedr,Norm,2fmCon,2.5Unf,7,5,1902,2000,Gable,CompShg,MetalSd,MetalSd,Stone,188,TA,Fa,BrkTil,TA,Fa,No,Rec,169,Unf,0,851,1020,GasA,TA,N,FuseF,978,886,0,1864,0,0,2,1,6,1,TA,9,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,188,102,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1836,50,RM,60,5160,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,6,6,1927,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Fa,BrkTil,TA,TA,No,Unf,0,Unf,0,1204,1204,GasA,TA,Y,FuseA,1204,462,0,1666,0,0,1,0,3,1,TA,4,Typ,0,NA,Detchd,1927,Unf,1,384,Fa,TA,Y,0,0,148,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1837,85,RM,86,5160,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,SFoyer,4,6,1923,1950,Hip,CompShg,MetalSd,MetalSd,None,0,TA,Gd,PConc,Gd,Fa,Av,BLQ,749,Rec,63,46,858,GasA,TA,Y,SBrkr,892,0,0,892,1,0,1,0,1,1,Gd,5,Min2,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,105,0,160,0,NA,NA,NA,0,7,2009,COD,Abnorml +1838,190,RM,60,10320,Pave,Grvl,Reg,Bnk,AllPub,Inside,Gtl,IDOTRR,Artery,Norm,2fmCon,2Story,6,7,1915,1965,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,Rec,276,ALQ,262,160,698,GasA,Ex,Y,FuseF,754,649,0,1403,1,0,1,1,3,1,TA,7,Typ,0,NA,Detchd,1915,Unf,1,308,TA,TA,Y,0,0,288,0,0,0,NA,NA,NA,0,2,2009,WD,Normal +1839,20,RL,50,4280,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,4,9,1946,2001,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,Fa,TA,No,Unf,0,Unf,0,560,560,GasA,Ex,Y,FuseA,704,0,0,704,0,1,1,0,2,1,Fa,4,Typ,0,NA,CarPort,1946,Unf,1,220,TA,TA,Y,0,0,24,0,0,0,NA,NA,NA,0,9,2009,WD,Normal +1840,90,RL,60,10800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,Duplex,1Story,5,5,1987,1988,Gable,CompShg,Plywood,Plywood,None,0,TA,Gd,CBlock,Gd,Gd,Gd,GLQ,1200,Unf,0,0,1200,GasA,TA,Y,SBrkr,1200,0,0,1200,3,0,3,0,3,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,120,0,0,0,0,0,NA,NA,NA,0,3,2009,WD,Alloca +1841,90,RL,NA,10547,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,Duplex,SFoyer,5,5,1978,1978,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,PConc,Gd,Gd,Gd,GLQ,1152,Unf,0,0,1152,GasA,TA,Y,SBrkr,1152,0,0,1152,2,0,2,0,2,2,TA,6,Typ,0,NA,Detchd,1960,Unf,1,252,TA,Fa,N,0,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1842,50,RL,60,9780,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,5,3,1934,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,585,585,GasA,TA,N,FuseA,687,425,0,1112,1,0,2,0,4,1,TA,6,Typ,0,NA,Detchd,1934,Unf,1,226,Po,Po,N,0,0,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal +1843,20,RL,75,11625,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,6,1967,1967,Hip,CompShg,HdBoard,HdBoard,BrkFace,172,TA,TA,CBlock,TA,TA,No,BLQ,527,Unf,0,525,1052,GasA,TA,Y,SBrkr,1052,0,0,1052,0,0,1,1,3,1,TA,6,Typ,1,Po,Attchd,1984,Fin,1,668,TA,TA,Y,0,215,0,0,0,0,NA,NA,NA,0,4,2009,WD,Abnorml +1844,85,RL,NA,8014,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,Norm,Norm,1Fam,SFoyer,6,5,1978,1978,Gable,CompShg,Plywood,HdBoard,BrkFace,23,TA,TA,CBlock,Gd,TA,Gd,GLQ,456,Unf,0,0,456,GasA,TA,Y,SBrkr,1034,0,0,1034,0,1,1,0,3,1,TA,5,Typ,1,Fa,Basment,1978,Fin,2,504,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1845,80,RL,88,15400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,SLvl,5,5,1961,1961,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,Gd,No,Unf,0,Unf,0,552,552,GasA,TA,Y,SBrkr,904,611,259,1774,0,0,2,0,4,1,TA,8,Typ,1,TA,Attchd,1961,Unf,1,384,TA,TA,Y,290,40,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1846,80,RL,88,15312,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,SLvl,6,5,1960,1960,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,54,TA,TA,CBlock,TA,TA,Av,BLQ,588,Unf,0,550,1138,GasA,Ex,Y,SBrkr,1138,0,0,1138,0,1,1,0,3,1,TA,6,Typ,1,TA,Attchd,1960,RFn,2,480,TA,TA,Y,0,0,0,0,140,0,NA,MnPrv,NA,0,3,2009,COD,Normal +1847,80,RL,NA,15584,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,ClearCr,Norm,Norm,1Fam,SLvl,5,5,1956,1956,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,366,TA,TA,CBlock,TA,TA,Mn,Unf,0,Unf,0,825,825,GasA,Ex,Y,SBrkr,2071,0,0,2071,0,1,1,1,4,1,TA,9,Typ,1,TA,Attchd,1956,Unf,1,336,TA,TA,Y,131,28,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal +1848,20,RL,NA,9000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Norm,Norm,1Fam,1Story,2,2,1947,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,Fa,N,SBrkr,660,0,0,660,0,0,1,0,2,1,Fa,5,Min2,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,100,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1849,20,RL,NA,15635,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,5,1954,1954,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,1383,0,0,1383,0,0,1,0,2,1,TA,6,Mod,0,NA,Attchd,1980,Unf,2,498,Fa,TA,Y,0,0,90,0,110,0,NA,NA,NA,0,10,2009,WD,Normal +1850,20,RL,68,9571,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,5,1956,1956,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,257,Unf,0,816,1073,GasA,TA,Y,FuseA,1073,0,0,1073,1,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1956,Unf,1,340,TA,TA,Y,0,0,0,0,0,0,NA,GdPrv,NA,0,2,2009,WD,Normal +1851,60,RL,50,9350,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,2Story,6,7,1946,1950,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,342,Unf,0,405,747,GasA,Ex,Y,SBrkr,892,747,0,1639,0,0,1,1,3,1,Gd,6,Typ,1,Gd,Detchd,1946,Unf,1,240,TA,TA,Y,0,50,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1852,20,RL,62,7440,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,6,1954,1954,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,Gd,TA,No,BLQ,173,Unf,0,916,1089,GasW,TA,Y,SBrkr,1089,0,0,1089,1,0,1,0,3,1,TA,5,Typ,1,Gd,Detchd,1954,RFn,1,252,TA,TA,P,328,0,0,0,0,0,NA,MnPrv,NA,0,9,2009,WD,Normal +1853,120,RL,42,4235,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,TwnhsE,1Story,5,5,1984,1984,Gable,CompShg,HdBoard,HdBoard,BrkFace,149,Gd,TA,CBlock,Gd,TA,Mn,GLQ,552,ALQ,393,104,1049,GasA,TA,Y,SBrkr,1049,0,0,1049,1,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,1984,Fin,1,266,TA,TA,Y,0,105,0,0,0,0,NA,NA,NA,0,2,2009,WD,Normal +1854,80,RL,74,10778,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Feedr,Norm,1Fam,SLvl,7,6,1990,1991,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,460,ALQ,286,308,1054,GasA,Gd,Y,SBrkr,1061,0,0,1061,1,0,1,1,1,1,Gd,4,Typ,0,NA,Attchd,1990,Unf,2,462,TA,TA,Y,114,36,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1855,80,RL,66,19255,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,SLvl,6,5,1983,1983,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,100,Gd,TA,CBlock,Gd,TA,Av,Rec,70,GLQ,450,0,520,GasA,Gd,Y,SBrkr,1338,0,0,1338,0,0,1,1,2,1,Gd,5,Min2,1,Po,Attchd,1983,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,NA,Shed,600,9,2009,WD,Normal +1856,60,RL,85,10560,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,1993,1994,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,Gd,PConc,Gd,Gd,No,GLQ,474,Unf,0,605,1079,GasA,Ex,Y,SBrkr,1079,800,0,1879,1,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1993,RFn,2,473,TA,TA,Y,400,100,144,0,0,0,NA,MnPrv,NA,0,8,2009,WD,Normal +1857,70,RL,120,26400,Pave,NA,Reg,Bnk,AllPub,FR2,Gtl,SawyerW,Feedr,Norm,1Fam,2Story,5,7,1880,2007,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,NA,NA,NA,NA,0,NA,0,0,0,GasA,Ex,Y,SBrkr,1288,728,0,2016,0,0,1,0,4,1,TA,7,Mod,1,TA,Attchd,1900,Unf,2,576,TA,TA,P,0,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1858,90,RL,64,7018,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Feedr,Norm,Duplex,2Story,5,5,1979,1979,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,1114,1114,0,2228,0,0,2,0,6,2,TA,8,Typ,0,NA,Detchd,1979,Unf,2,720,TA,TA,Y,73,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Alloca +1859,90,RL,64,7018,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,SawyerW,Norm,Norm,Duplex,1Story,5,5,1979,1979,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,1535,0,0,1535,0,0,2,0,4,2,TA,8,Typ,0,NA,Attchd,1979,Unf,2,400,TA,TA,Y,0,0,0,0,0,0,NA,GdPrv,NA,0,6,2009,WD,Alloca +1860,90,RL,64,7040,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Feedr,Norm,Duplex,SFoyer,5,5,1979,1979,Gable,CompShg,Plywood,Plywood,BrkFace,216,TA,TA,CBlock,Gd,TA,Av,GLQ,1094,Unf,0,0,1094,GasA,TA,Y,SBrkr,1229,0,0,1229,2,0,0,2,2,2,Gd,6,Typ,2,TA,Detchd,1979,Unf,2,672,TA,TA,Y,120,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Alloca +1861,90,RL,64,7007,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,SawyerW,Norm,Norm,Duplex,1Story,5,5,1979,1979,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,1513,0,0,1513,0,0,2,0,4,2,TA,8,Typ,0,NA,Attchd,1979,Unf,2,400,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Alloca +1862,90,RL,NA,11855,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,Duplex,2Story,7,5,2000,2000,Hip,CompShg,VinylSd,VinylSd,BrkFace,23,TA,TA,PConc,Ex,TA,No,GLQ,820,Unf,0,348,1168,GasA,Ex,Y,SBrkr,1168,1619,0,2787,2,0,4,2,6,2,TA,8,Typ,2,TA,BuiltIn,2000,Fin,4,820,TA,TA,Y,312,0,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal +1863,90,RL,NA,7939,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Feedr,Norm,Duplex,2Story,7,5,2000,2000,Hip,CompShg,VinylSd,VinylSd,BrkFace,23,TA,TA,PConc,Ex,TA,No,GLQ,820,Unf,0,348,1168,GasA,Ex,Y,SBrkr,1168,1619,0,2787,2,0,4,2,6,2,TA,8,Typ,2,TA,BuiltIn,2000,Fin,4,820,TA,TA,Y,312,0,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal +1864,90,RL,NA,7976,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Feedr,Norm,Duplex,2Story,7,5,2000,2000,Hip,CompShg,VinylSd,VinylSd,BrkFace,23,TA,TA,PConc,Ex,TA,No,GLQ,820,Unf,0,348,1168,GasA,Ex,Y,SBrkr,1168,1619,0,2787,2,0,4,2,6,2,TA,8,Typ,2,TA,BuiltIn,2000,Fin,4,820,TA,TA,Y,312,0,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal +1865,20,RL,84,10933,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,9,5,2009,2009,Hip,CompShg,VinylSd,VinylSd,Stone,242,Ex,TA,PConc,Ex,TA,Gd,GLQ,1021,Unf,0,534,1555,GasA,Ex,Y,SBrkr,1680,0,0,1680,1,0,1,1,1,1,Ex,8,Typ,1,Gd,Attchd,2009,Fin,3,1138,TA,TA,Y,185,24,0,0,0,0,NA,NA,NA,0,7,2009,New,Partial +1866,20,RL,65,10816,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,9,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,Stone,364,Ex,TA,PConc,Ex,TA,Gd,GLQ,1104,Unf,0,616,1720,GasA,Ex,Y,SBrkr,1720,0,0,1720,1,0,2,0,3,1,Ex,8,Typ,1,Gd,Attchd,2008,RFn,3,846,TA,TA,Y,208,104,0,0,0,0,NA,NA,NA,0,11,2009,WD,Normal +1867,20,RL,71,9178,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1468,1468,GasA,Ex,Y,SBrkr,1468,0,0,1468,0,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2008,RFn,3,904,TA,TA,Y,192,142,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1868,20,RL,77,11422,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2007,2008,Hip,CompShg,VinylSd,VinylSd,Stone,352,Gd,TA,PConc,Ex,TA,Av,GLQ,1359,Unf,0,479,1838,GasA,Ex,Y,SBrkr,1838,0,0,1838,1,0,2,0,3,1,Gd,7,Typ,2,Gd,Attchd,2007,RFn,2,524,TA,TA,Y,154,222,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal +1869,20,RL,64,6762,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,902,Unf,0,380,1282,GasA,Ex,Y,SBrkr,1290,0,0,1290,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2007,RFn,2,662,TA,TA,Y,168,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1870,20,RL,95,10324,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,BrkFace,140,Gd,TA,PConc,Gd,TA,Av,GLQ,872,Unf,0,382,1254,GasA,Ex,Y,SBrkr,1254,0,0,1254,1,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,2008,RFn,3,810,TA,TA,Y,168,92,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal +1871,20,RL,78,11645,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,Stone,76,Gd,TA,PConc,Ex,TA,Gd,GLQ,24,Unf,0,1474,1498,GasA,Ex,Y,SBrkr,1498,0,0,1498,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2005,Fin,3,844,TA,TA,Y,144,98,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal +1872,60,RL,79,11646,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,6,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,704,704,GasA,Ex,Y,SBrkr,704,718,0,1422,0,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2005,Fin,2,440,TA,TA,Y,36,28,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1873,60,RL,NA,16698,Pave,NA,IR1,HLS,AllPub,CulDSac,Mod,ClearCr,Norm,Norm,1Fam,2Story,7,5,1992,1993,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,800,Unf,0,649,1449,GasA,Gd,Y,SBrkr,944,815,0,1759,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1992,Unf,2,525,TA,TA,Y,150,193,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1874,20,RL,65,9757,Pave,NA,Reg,Low,AllPub,Inside,Mod,CollgCr,Norm,Norm,1Fam,1Story,5,7,1994,1994,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,PConc,TA,TA,No,ALQ,755,Unf,0,235,990,GasA,Ex,Y,SBrkr,990,0,0,990,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1995,RFn,1,440,TA,TA,Y,66,0,0,0,92,0,NA,NA,NA,0,10,2009,WD,Normal +1875,20,RL,65,14753,Pave,NA,IR2,Low,AllPub,Inside,Gtl,CollgCr,PosN,Norm,1Fam,1Story,7,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Mn,GLQ,950,Unf,0,513,1463,GasA,Ex,Y,SBrkr,1463,0,0,1463,1,0,2,0,3,1,TA,5,Typ,0,NA,Attchd,1998,Fin,2,539,TA,TA,Y,0,81,0,0,0,0,NA,GdPrv,NA,0,12,2009,WD,Normal +1876,60,RL,70,8750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,6,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,120,TA,TA,PConc,Gd,TA,No,GLQ,606,Unf,0,322,928,GasA,Ex,Y,SBrkr,928,844,0,1772,1,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1998,RFn,2,492,TA,TA,Y,150,96,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal +1877,20,RL,65,10739,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2002,2001,Gable,CompShg,VinylSd,VinylSd,BrkFace,68,Gd,TA,PConc,Gd,TA,No,GLQ,1259,Unf,0,172,1431,GasA,Ex,Y,SBrkr,1444,0,0,1444,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2002,RFn,2,577,TA,TA,Y,144,40,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal +1878,20,RL,75,11166,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,BrkFace,180,Gd,TA,PConc,Gd,TA,Mn,GLQ,24,Unf,0,1468,1492,GasA,Ex,Y,SBrkr,1492,0,0,1492,0,0,2,0,3,1,Gd,6,Typ,1,TA,Attchd,2001,RFn,2,608,TA,TA,Y,0,114,0,0,168,0,NA,NA,NA,0,7,2009,WD,Family +1879,20,RL,NA,16269,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,5,1978,1978,Gable,CompShg,MetalSd,MetalSd,BrkFace,76,TA,TA,BrkTil,Gd,TA,Av,GLQ,625,Unf,0,282,907,GasA,TA,Y,SBrkr,907,0,0,907,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1978,Unf,1,343,TA,TA,Y,72,0,0,0,0,0,NA,MnPrv,NA,0,7,2009,WD,Normal +1880,20,RL,76,6950,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,7,1979,1979,Gable,CompShg,HdBoard,HdBoard,BrkFace,40,TA,TA,CBlock,TA,TA,No,ALQ,710,BLQ,72,132,914,GasA,TA,Y,SBrkr,914,0,0,914,1,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1979,Unf,2,444,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal +1881,20,RL,90,11664,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2002,2002,Hip,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,1234,Unf,0,335,1569,GasA,Ex,Y,SBrkr,1611,0,0,1611,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2002,RFn,3,1231,TA,TA,Y,262,93,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal +1882,60,RL,NA,12334,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,198,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1068,1068,GasA,Ex,Y,SBrkr,1068,1116,0,2184,0,0,2,1,4,1,Gd,8,Typ,1,Gd,BuiltIn,2003,RFn,2,570,TA,TA,Y,192,132,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1883,60,RL,70,8749,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,NA,NA,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,840,840,GasA,Ex,Y,SBrkr,840,885,0,1725,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2002,RFn,2,550,TA,TA,Y,0,48,0,0,0,0,NA,NA,NA,0,11,2009,WD,Normal +1884,60,RL,NA,11250,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,944,944,GasA,Ex,Y,SBrkr,944,926,0,1870,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2001,RFn,2,608,TA,TA,Y,256,43,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1885,20,RL,90,15750,Pave,NA,Reg,Lvl,AllPub,FR3,Gtl,CollgCr,Feedr,Norm,1Fam,1Story,8,5,1999,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,260,Gd,TA,PConc,Gd,TA,Gd,GLQ,1246,Unf,0,216,1462,GasA,Ex,Y,SBrkr,1513,0,0,1513,1,0,2,0,2,1,Gd,5,Typ,1,TA,Attchd,1999,Fin,2,521,TA,TA,Y,135,34,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1886,20,RL,NA,12782,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2002,2003,Hip,CompShg,HdBoard,HdBoard,BrkFace,164,Gd,TA,PConc,Ex,TA,Gd,GLQ,1360,Unf,0,462,1822,GasA,Ex,Y,SBrkr,1828,0,0,1828,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2002,Fin,2,523,TA,TA,Y,194,144,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal +1887,20,RL,70,8750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,1997,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,209,Gd,TA,PConc,Gd,TA,Av,GLQ,1111,Unf,0,306,1417,GasA,Ex,Y,SBrkr,1417,0,0,1417,1,0,2,0,3,1,Gd,7,Typ,1,TA,Attchd,1997,Unf,2,511,TA,TA,Y,60,0,0,0,117,0,NA,NA,NA,0,8,2009,WD,Normal +1888,20,RL,85,10200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,BrkFace,180,Gd,TA,PConc,Gd,TA,Av,GLQ,1478,Unf,0,100,1578,GasA,Ex,Y,SBrkr,1602,0,0,1602,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2007,RFn,3,810,TA,TA,Y,0,48,0,0,195,0,NA,NA,NA,0,1,2009,WD,Normal +1889,60,RL,85,11069,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,2Story,6,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,608,608,GasA,Ex,Y,SBrkr,608,788,0,1396,0,0,2,1,3,1,Gd,6,Typ,1,Gd,BuiltIn,2007,Fin,2,440,TA,TA,Y,100,36,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1890,20,RL,80,10682,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,6,1960,1971,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,GLQ,399,Unf,0,615,1014,GasA,TA,Y,SBrkr,1149,0,0,1149,1,0,1,0,3,1,TA,7,Min1,0,NA,2Types,1968,Fin,1,544,TA,TA,Y,0,240,0,0,0,0,NA,MnPrv,NA,0,7,2009,WD,Normal +1891,180,RM,35,3675,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,TwnhsE,SFoyer,6,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,80,TA,TA,Wood,Gd,TA,Gd,GLQ,547,Unf,0,0,547,GasA,Gd,Y,SBrkr,1072,0,0,1072,1,0,1,0,2,1,TA,5,Typ,0,NA,Basment,2005,Fin,2,525,TA,TA,Y,0,28,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal +1892,20,RL,64,6410,Pave,NA,Reg,HLS,AllPub,Inside,Mod,Edwards,Norm,Norm,1Fam,1Story,4,5,1959,1959,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,CBlock,TA,TA,No,LwQ,332,Rec,243,301,876,GasA,TA,Y,FuseA,876,0,0,876,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1959,Unf,1,320,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,3,2009,WD,Normal +1893,20,RL,70,11767,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,5,1950,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,Fa,TA,Mn,Rec,1078,Unf,0,0,1078,GasA,TA,Y,FuseA,1368,0,0,1368,1,0,1,0,3,1,TA,6,Min1,0,NA,Attchd,1950,RFn,1,195,TA,TA,Y,0,41,211,0,0,0,NA,NA,Shed,900,6,2009,WD,Normal +1894,90,RL,65,10926,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,Duplex,1Story,5,5,1959,1959,Hip,CompShg,VinylSd,VinylSd,BrkFace,74,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1678,1678,GasA,TA,Y,SBrkr,1678,0,0,1678,0,0,2,0,6,2,TA,10,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal +1895,20,RL,70,11767,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,5,1956,1956,Hip,CompShg,HdBoard,HdBoard,BrkFace,259,TA,TA,CBlock,TA,TA,No,Rec,546,Unf,0,604,1150,GasA,Ex,Y,SBrkr,1560,0,0,1560,0,0,1,0,2,1,TA,7,Min1,1,TA,Attchd,1956,Unf,1,313,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1896,50,RL,45,8212,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,5,6,1941,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,626,Unf,0,94,720,GasA,Ex,Y,SBrkr,854,444,0,1298,0,0,1,0,3,1,TA,6,Typ,2,Gd,Detchd,1940,Unf,1,256,TA,TA,Y,84,0,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal +1897,50,RH,70,6300,Pave,Pave,Reg,Lvl,AllPub,Corner,Gtl,SWISU,Norm,Norm,1Fam,1.5Fin,5,4,1938,1950,Gable,CompShg,MetalSd,MetalSd,BrkFace,88,TA,TA,PConc,TA,Fa,No,LwQ,832,Unf,0,0,832,GasA,TA,Y,SBrkr,832,436,0,1268,0,0,1,1,3,1,TA,7,Typ,2,Gd,Basment,1938,Unf,1,250,TA,TA,Y,0,0,55,0,0,0,NA,NA,NA,0,7,2009,WD,Abnorml +1898,70,RL,43,5707,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,SWISU,Feedr,Norm,1Fam,2Story,6,6,1935,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,583,583,GasA,Gd,Y,FuseF,647,595,0,1242,0,0,1,1,3,1,TA,6,Typ,1,Gd,Detchd,1926,Unf,1,180,Fa,TA,Y,329,96,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal +1899,30,RL,64,8574,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,6,8,1916,2000,Gable,CompShg,Stucco,Stucco,None,0,Gd,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,816,816,GasA,Ex,Y,SBrkr,1232,0,0,1232,0,0,1,0,3,1,Gd,6,Typ,1,Gd,Detchd,1916,Unf,2,440,TA,TA,Y,0,0,180,0,0,0,NA,NA,NA,0,10,2009,WD,Normal +1900,70,RL,53,7155,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,7,8,1918,1990,Gambrel,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,Fa,Mn,Unf,0,Unf,0,600,600,GasA,Ex,Y,SBrkr,628,600,0,1228,0,0,1,0,3,1,TA,6,Typ,1,Gd,Detchd,1918,Unf,1,215,Fa,TA,Y,0,113,0,0,195,0,NA,MnPrv,NA,0,5,2009,WD,Normal +1901,50,RL,60,13680,Pave,NA,Reg,HLS,AllPub,Inside,Mod,Crawfor,Norm,Norm,1Fam,1.5Fin,5,6,1940,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,ALQ,728,Unf,0,112,840,GasA,Ex,Y,SBrkr,840,727,0,1567,1,0,1,1,2,1,TA,6,Min2,2,TA,Detchd,1961,Unf,2,440,TA,TA,Y,0,21,150,0,0,0,NA,GdPrv,NA,0,2,2009,WD,Normal +1902,20,RL,80,14680,Pave,Grvl,IR1,HLS,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,5,4,1960,1960,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,793,Unf,0,480,1273,GasA,Ex,Y,SBrkr,1273,0,0,1273,0,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1960,Unf,1,307,TA,TA,Y,483,0,0,0,115,0,NA,MnPrv,NA,0,6,2009,WD,Normal +1903,90,RL,NA,8145,Pave,NA,IR1,HLS,AllPub,Corner,Gtl,Crawfor,Norm,Norm,Duplex,2.5Unf,7,6,1940,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,LwQ,246,Unf,0,674,920,GasA,Ex,Y,SBrkr,1240,1240,0,2480,0,0,2,1,5,2,TA,13,Typ,2,Gd,Detchd,1940,Unf,2,400,TA,TA,Y,0,0,57,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1904,20,RL,70,9100,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Feedr,Norm,1Fam,1Story,5,6,1954,1954,Gable,CompShg,BrkFace,BrkFace,None,0,TA,Gd,BrkTil,TA,TA,Mn,Rec,154,ALQ,694,264,1112,GasA,Ex,Y,SBrkr,1112,0,0,1112,1,0,1,0,2,1,TA,6,Typ,1,Gd,Attchd,1954,Unf,1,390,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,10,2009,WD,Family +1905,20,RL,90,13339,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,6,6,1960,1960,Gable,CompShg,HdBoard,Plywood,Stone,132,TA,TA,CBlock,TA,TA,No,LwQ,65,BLQ,875,621,1561,GasA,TA,Y,SBrkr,1561,0,0,1561,1,0,2,0,3,1,TA,6,Typ,1,Gd,Attchd,1960,Fin,2,463,TA,TA,Y,0,148,0,0,120,0,NA,NA,NA,0,5,2009,WD,Normal +1906,50,RL,78,15600,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1.5Fin,5,7,1949,2005,Gable,CompShg,BrkComm,Brk Cmn,None,0,TA,TA,BrkTil,TA,TA,No,BLQ,312,Rec,507,248,1067,GasW,Fa,N,SBrkr,986,537,0,1523,1,0,2,0,3,1,Fa,7,Maj2,1,TA,Attchd,1949,Unf,1,295,TA,TA,Y,0,0,81,0,0,0,NA,NA,NA,0,10,2009,WD,Normal +1907,20,RL,100,17500,Pave,NA,Reg,Bnk,AllPub,Corner,Mod,Crawfor,PosA,Norm,1Fam,1Story,6,5,1954,1954,Gable,CompShg,HdBoard,HdBoard,Stone,420,TA,TA,PConc,TA,TA,Av,LwQ,784,BLQ,435,91,1310,GasA,Ex,Y,SBrkr,1906,0,0,1906,1,0,1,1,3,1,TA,6,Typ,2,Gd,Basment,1954,Unf,2,576,TA,TA,Y,0,201,0,0,0,0,NA,NA,NA,0,1,2009,WD,Normal +1908,160,RM,24,1733,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blueste,Norm,Norm,Twnhs,2Story,6,6,1980,1980,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,516,516,GasA,TA,Y,SBrkr,516,516,0,1032,0,0,1,0,2,1,TA,5,Typ,1,TA,Detchd,1980,Unf,2,452,TA,TA,Y,279,0,0,0,0,0,NA,GdPrv,NA,0,5,2009,WD,Normal +1909,160,RM,24,1488,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blueste,Norm,Norm,TwnhsE,2Story,6,6,1980,1992,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,Gd,TA,Mn,ALQ,471,Unf,0,90,561,GasA,TA,Y,SBrkr,561,668,0,1229,1,0,1,1,2,1,Gd,5,Typ,1,TA,Attchd,1980,Fin,2,462,TA,TA,Y,176,0,0,0,0,0,NA,GdPrv,NA,0,10,2009,WD,Normal +1910,160,RM,24,1612,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blueste,Norm,Norm,Twnhs,2Story,6,6,1980,1980,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,561,561,GasA,TA,Y,SBrkr,561,668,0,1229,0,0,1,1,2,1,TA,5,Typ,1,TA,Attchd,1980,Fin,2,462,TA,TA,Y,154,0,0,0,0,0,NA,MnPrv,NA,0,7,2009,WD,Normal +1911,80,RL,NA,13607,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,SLvl,6,6,1986,1986,Gable,CompShg,VinylSd,VinylSd,BrkFace,242,TA,Gd,CBlock,TA,TA,No,ALQ,454,Unf,0,118,572,GasA,Gd,Y,SBrkr,1182,800,0,1982,1,0,2,1,3,1,TA,6,Typ,1,TA,BuiltIn,1986,Fin,2,501,TA,TA,Y,400,112,0,0,0,0,NA,NA,Shed,1500,4,2009,WD,Normal +1912,20,RL,NA,17597,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,7,9,1971,2009,Hip,CompShg,BrkFace,BrkFace,None,0,Gd,Gd,CBlock,Gd,TA,No,GLQ,803,ALQ,419,581,1803,GasA,TA,Y,SBrkr,2365,0,0,2365,1,0,2,0,3,1,Ex,7,Min1,2,Gd,Attchd,1971,Fin,2,551,TA,TA,Y,200,144,0,0,0,0,NA,GdPrv,NA,0,7,2009,WD,Normal +1913,70,RM,50,8660,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,2Story,5,6,1900,1993,Gambrel,CompShg,AsbShng,AsbShng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,760,760,GasA,Ex,N,SBrkr,928,928,312,2168,0,0,2,0,5,1,Gd,11,Typ,0,NA,Detchd,1998,Unf,2,576,TA,TA,Y,467,160,78,0,0,0,NA,NA,NA,0,12,2009,WD,Normal +1914,30,C (all),60,10200,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,4,6,1925,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,572,572,GasA,Fa,N,FuseP,572,0,0,572,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1940,Unf,1,200,TA,TA,N,0,0,72,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1915,120,RM,44,3843,Pave,NA,IR1,HLS,AllPub,Inside,Mod,Crawfor,Norm,Norm,TwnhsE,1Story,8,5,2007,2008,Hip,CompShg,CemntBd,CmentBd,Stone,174,Ex,TA,PConc,Ex,TA,Gd,GLQ,1476,Unf,0,120,1596,GasA,Ex,Y,SBrkr,1648,0,0,1648,1,1,2,0,2,1,Ex,5,Typ,1,Gd,Attchd,2007,Fin,2,482,TA,TA,Y,162,53,0,153,0,0,NA,NA,NA,0,6,2009,New,Partial +1916,30,NA,109,21780,Grvl,NA,Reg,Lvl,NA,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,2,4,1910,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Fa,Fa,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,N,FuseA,810,0,0,810,0,0,1,0,1,1,TA,4,Min1,0,NA,Detchd,1975,Unf,1,280,TA,TA,N,119,24,0,0,0,0,NA,NA,NA,0,3,2009,ConLD,Normal +1917,60,RL,75,10125,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,2Story,8,5,2000,2001,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Gd,TA,No,ALQ,445,BLQ,250,412,1107,GasA,Ex,Y,SBrkr,1040,1012,0,2052,0,0,2,1,3,1,Gd,7,Typ,1,TA,BuiltIn,2000,Fin,3,642,TA,TA,Y,210,91,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1918,85,RL,75,9750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,SFoyer,6,6,1977,1977,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,Av,ALQ,767,Unf,0,135,902,GasA,Ex,Y,SBrkr,926,0,0,926,1,0,1,0,2,1,TA,5,Typ,1,TA,Attchd,1977,Unf,1,351,TA,TA,Y,319,0,0,0,0,0,NA,MnPrv,NA,0,4,2009,WD,Normal +1919,85,RL,72,9360,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,SFoyer,6,7,1977,1977,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,Av,GLQ,841,LwQ,116,0,957,GasA,TA,Y,SBrkr,1287,0,0,1287,1,0,1,1,2,1,TA,5,Typ,2,Fa,Attchd,1977,RFn,2,541,TA,TA,Y,302,39,0,0,120,0,NA,GdWo,NA,0,11,2009,WD,Normal +1920,20,RL,82,11070,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,5,1991,1991,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,No,BLQ,55,Unf,0,1527,1582,GasA,TA,Y,SBrkr,1595,0,0,1595,1,0,2,0,2,1,TA,5,Typ,0,NA,Detchd,1991,Unf,2,672,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2009,COD,Abnorml +1921,20,RL,113,13438,Pave,NA,IR1,HLS,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,1Story,9,5,2008,2008,Gable,CompShg,CemntBd,CmentBd,Stone,246,Ex,TA,CBlock,Ex,TA,Gd,GLQ,1758,Unf,0,432,2190,GasA,Ex,Y,SBrkr,2036,0,0,2036,1,0,2,0,3,1,Ex,9,Typ,1,Ex,Attchd,2008,Fin,3,780,TA,TA,Y,90,154,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1922,20,RL,79,14463,Pave,NA,IR1,HLS,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,1Story,9,5,2008,2008,Gable,CompShg,CemntBd,CmentBd,BrkFace,406,Ex,TA,PConc,Ex,TA,Gd,GLQ,1115,Unf,0,526,1641,GasA,Ex,Y,SBrkr,1641,0,0,1641,1,0,2,0,3,1,Ex,7,Typ,0,NA,Attchd,2008,Fin,3,885,TA,TA,Y,0,95,0,0,0,0,NA,NA,NA,0,1,2009,WD,Normal +1923,60,RL,NA,9839,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Timber,Norm,Norm,1Fam,2Story,6,8,1980,2006,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,PConc,Gd,TA,No,ALQ,462,Unf,0,250,712,GasA,Ex,Y,SBrkr,1375,862,0,2237,0,0,2,1,3,1,Gd,7,Typ,1,TA,BuiltIn,1980,Fin,2,440,TA,TA,Y,305,24,0,0,0,0,NA,NA,Shed,2500,2,2009,WD,Normal +1924,80,RL,125,14419,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,SLvl,7,5,1987,1989,Hip,CompShg,Plywood,Plywood,BrkFace,310,TA,TA,PConc,Gd,TA,Gd,GLQ,904,ALQ,624,117,1645,GasA,Ex,Y,SBrkr,1479,0,0,1479,2,0,2,1,3,1,Gd,7,Min1,1,Fa,Attchd,1987,Fin,2,578,TA,TA,Y,224,238,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1925,60,RL,75,9157,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,912,912,GasA,Ex,Y,SBrkr,1072,942,0,2014,0,0,2,1,3,1,Gd,9,Typ,0,NA,Attchd,2003,Fin,2,486,TA,TA,Y,124,114,0,0,0,0,NA,NA,NA,0,2,2009,WD,Abnorml +1926,20,RL,85,12633,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,9,5,2007,2007,Hip,CompShg,CemntBd,CmentBd,Stone,290,Ex,TA,PConc,Ex,TA,Gd,GLQ,1640,Unf,0,338,1978,GasA,Ex,Y,SBrkr,1978,0,0,1978,1,0,2,0,2,1,Ex,7,Typ,1,Gd,Attchd,2007,Fin,3,920,TA,TA,Y,308,52,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal +1927,20,RL,75,12518,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,7,1968,1968,Gable,CompShg,HdBoard,HdBoard,BrkFace,182,TA,TA,CBlock,TA,TA,No,ALQ,532,Unf,0,476,1008,GasA,Gd,Y,SBrkr,1008,0,0,1008,0,0,1,0,3,1,Gd,6,Typ,0,NA,Attchd,1968,Unf,1,384,TA,TA,Y,144,0,0,0,0,0,NA,MnPrv,NA,0,4,2009,WD,Normal +1928,20,RL,83,13383,Pave,NA,IR1,Lvl,AllPub,Inside,Mod,Mitchel,Norm,Norm,1Fam,1Story,5,5,1969,2000,Hip,CompShg,HdBoard,HdBoard,BrkFace,176,TA,TA,CBlock,TA,TA,No,BLQ,594,Unf,0,594,1188,GasA,Ex,Y,SBrkr,1404,0,0,1404,0,0,2,0,3,1,TA,7,Typ,1,Po,Attchd,1969,Unf,2,504,TA,TA,Y,0,16,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal +1929,85,RL,50,7689,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,SFoyer,5,8,1972,1972,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,Gd,TA,Av,GLQ,720,BLQ,76,0,796,GasA,Gd,Y,SBrkr,796,0,0,796,0,1,1,0,2,1,TA,4,Typ,0,NA,Detchd,1998,Unf,1,336,TA,TA,Y,138,0,0,0,0,0,NA,MnPrv,NA,0,7,2009,WD,Normal +1930,80,RL,62,7706,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,SLvl,6,5,1993,1996,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Gd,CBlock,Gd,TA,Av,Rec,114,GLQ,270,0,384,GasA,Ex,Y,SBrkr,1091,0,0,1091,0,1,1,0,2,1,TA,5,Typ,0,NA,Attchd,1993,Fin,1,429,TA,TA,Y,280,0,0,0,0,0,NA,NA,Shed,700,8,2009,WD,Normal +1931,85,RL,70,7669,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,SFoyer,5,6,1992,1993,Gable,CompShg,HdBoard,Wd Shng,None,0,TA,TA,PConc,Gd,TA,Av,GLQ,718,LwQ,110,0,828,GasA,TA,Y,SBrkr,883,0,0,883,1,0,1,0,2,1,TA,5,Typ,1,Fa,Detchd,1998,Unf,2,698,TA,TA,Y,100,32,0,0,0,0,NA,GdPrv,NA,0,6,2009,WD,Normal +1932,60,RL,62,10429,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,2Story,5,5,1992,1992,Gable,CompShg,HdBoard,Wd Shng,None,0,TA,TA,PConc,Gd,TA,No,ALQ,330,Unf,0,294,624,GasA,TA,Y,SBrkr,624,663,0,1287,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,2001,Unf,2,440,TA,TA,Y,150,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal +1933,60,RL,70,10457,Pave,NA,IR1,Lvl,AllPub,Inside,Mod,Mitchel,Norm,Norm,1Fam,2Story,5,7,1969,1969,Gable,CompShg,VinylSd,VinylSd,BrkFace,178,Gd,Ex,CBlock,TA,TA,Gd,BLQ,496,LwQ,288,0,784,GasA,Ex,Y,SBrkr,784,848,0,1632,0,0,1,1,4,1,TA,7,Typ,1,TA,Attchd,1969,RFn,2,898,TA,TA,Y,0,173,368,0,0,0,NA,MnPrv,NA,0,4,2009,WD,Normal +1934,60,RL,72,8702,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1997,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,TA,TA,No,BLQ,706,Unf,0,220,926,GasA,Ex,Y,SBrkr,926,678,0,1604,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1997,Fin,2,470,TA,TA,Y,0,36,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +1935,60,RL,65,8139,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1995,1996,Gable,CompShg,VinylSd,VinylSd,BrkFace,119,TA,TA,PConc,Gd,TA,No,ALQ,476,Unf,0,204,680,GasA,Gd,Y,SBrkr,680,790,0,1470,0,0,2,1,3,1,TA,7,Typ,1,TA,BuiltIn,1995,Fin,2,420,TA,TA,Y,192,49,0,0,0,0,NA,NA,NA,0,10,2008,WD,Normal +1936,60,RL,59,9535,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Gd,GLQ,851,Unf,0,75,926,GasA,Ex,Y,SBrkr,926,678,0,1604,0,0,2,1,3,1,TA,7,Typ,0,NA,Attchd,1998,Fin,2,472,TA,TA,Y,100,82,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +1937,60,RL,NA,15038,Pave,NA,IR2,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1996,1996,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,No,Rec,138,Unf,0,778,916,GasA,Gd,Y,SBrkr,916,720,0,1636,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1996,Fin,2,386,TA,TA,Y,168,84,0,0,0,0,NA,NA,NA,0,11,2008,WD,Normal +1938,20,RL,53,14137,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,1Story,5,5,1996,1997,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,450,Unf,0,898,1348,GasA,Gd,Y,SBrkr,1384,0,0,1384,1,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,1996,Unf,2,404,TA,TA,Y,0,39,0,0,0,0,NA,NA,NA,0,11,2008,WD,Normal +1939,120,RL,45,6264,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,StoneBr,Norm,Norm,1Fam,1Story,8,5,1997,1997,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Ex,TA,Mn,GLQ,656,Unf,0,1008,1664,GasA,Ex,Y,SBrkr,1682,0,0,1682,1,0,1,1,1,1,Gd,6,Min1,1,TA,Attchd,1997,Fin,2,528,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +1940,120,RL,39,5070,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,1992,1992,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,1280,1280,GasA,Ex,Y,SBrkr,1280,0,0,1280,0,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,1992,RFn,2,506,TA,TA,Y,0,82,0,0,144,0,NA,NA,NA,0,8,2008,WD,Normal +1941,60,RL,73,11184,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,932,932,GasA,Gd,Y,SBrkr,932,701,0,1633,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1998,Fin,2,460,TA,TA,Y,0,39,0,0,0,0,NA,NA,NA,0,4,2008,WD,Family +1942,60,RL,NA,14067,Pave,NA,Reg,Lvl,AllPub,FR3,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1991,1991,Gable,CompShg,HdBoard,HdBoard,BrkFace,194,TA,TA,PConc,Gd,TA,No,ALQ,504,Unf,0,332,836,GasA,Gd,Y,SBrkr,851,858,0,1709,1,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,1991,Fin,2,416,TA,TA,Y,0,40,0,0,0,0,NA,GdPrv,NA,0,9,2008,WD,Normal +1943,120,RL,65,5950,Pave,NA,IR1,HLS,AllPub,Inside,Mod,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,1989,1989,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,Gd,GLQ,319,Unf,0,1018,1337,GasA,Gd,Y,SBrkr,1337,0,0,1337,1,0,2,0,2,1,Gd,5,Typ,1,TA,Attchd,1989,RFn,2,462,TA,TA,Y,0,73,154,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +1944,60,RL,101,13543,Pave,NA,IR1,HLS,AllPub,Corner,Gtl,StoneBr,Norm,Norm,1Fam,2Story,8,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,Stone,130,Gd,TA,PConc,Ex,TA,Gd,GLQ,16,Unf,0,1152,1168,GasA,Ex,Y,SBrkr,1168,1332,0,2500,0,0,3,1,5,1,Ex,9,Typ,1,Gd,BuiltIn,2005,Fin,3,683,TA,TA,Y,192,32,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +1945,20,RL,53,15401,Pave,NA,IR1,HLS,AllPub,CulDSac,Gtl,StoneBr,Norm,Norm,1Fam,1Story,9,5,2004,2004,Hip,CompShg,VinylSd,VinylSd,BrkFace,296,Ex,TA,PConc,Ex,TA,Gd,GLQ,1337,Unf,0,547,1884,GasA,Ex,Y,SBrkr,1884,0,0,1884,1,0,2,0,2,1,Ex,7,Typ,1,Gd,Attchd,2004,Fin,3,670,TA,TA,Y,214,76,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal +1946,20,RL,NA,31220,Pave,NA,IR1,Bnk,NA,FR2,Gtl,Gilbert,Feedr,Norm,1Fam,1Story,6,2,1952,1952,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1632,1632,GasA,TA,Y,FuseA,1474,0,0,1474,0,0,1,0,3,1,TA,7,Min2,2,Gd,Attchd,1952,Unf,2,495,TA,TA,Y,0,0,144,0,0,0,NA,NA,Shed,750,5,2008,WD,Normal +1947,120,RL,60,8118,Pave,NA,Reg,HLS,AllPub,Inside,Gtl,StoneBr,PosN,PosN,TwnhsE,1Story,9,5,2007,2007,Hip,CompShg,MetalSd,MetalSd,BrkFace,178,Ex,TA,PConc,Ex,TA,Gd,GLQ,1034,Unf,0,676,1710,GasA,Ex,Y,SBrkr,1710,0,0,1710,1,0,2,0,2,1,Ex,6,Typ,1,Gd,Attchd,2007,RFn,2,557,TA,TA,Y,156,48,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +1948,20,RL,NA,47280,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,1Story,6,5,1950,1950,Hip,CompShg,AsbShng,AsbShng,BrkFace,44,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1488,1488,GasA,Gd,Y,SBrkr,1488,0,0,1488,0,0,2,1,3,1,TA,6,Typ,1,TA,Attchd,1950,RFn,2,738,TA,TA,Y,0,0,180,0,0,0,NA,NA,NA,0,7,2008,WD,Family +1949,20,RL,63,12680,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,7,6,1988,1988,Gable,CompShg,Plywood,Wd Sdng,BrkFace,102,Gd,TA,CBlock,Gd,Gd,Mn,GLQ,983,Unf,0,692,1675,GasA,Ex,Y,SBrkr,1688,0,0,1688,1,0,2,0,2,1,Ex,6,Typ,1,Ex,Attchd,1988,RFn,2,528,TA,TA,Y,0,48,0,0,141,0,NA,NA,NA,0,6,2008,WD,Normal +1950,20,RL,NA,10825,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,7,7,1983,1983,Gable,CompShg,WdShing,Plywood,BrkFace,174,Gd,TA,CBlock,Gd,TA,Mn,GLQ,747,Unf,0,513,1260,GasA,TA,Y,SBrkr,1260,0,0,1260,1,0,2,0,3,1,TA,6,Typ,0,NA,Attchd,1983,Unf,2,598,TA,TA,Y,152,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +1951,20,RL,56,18559,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NWAmes,Norm,Norm,1Fam,1Story,7,5,1978,1978,Hip,CompShg,Plywood,Plywood,BrkFace,383,Gd,Gd,CBlock,Gd,TA,No,GLQ,1206,Rec,186,656,2048,GasA,TA,Y,SBrkr,2064,0,0,2064,1,0,2,0,3,1,Gd,7,Typ,2,Fa,Attchd,1978,Fin,2,550,TA,TA,Y,200,0,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal +1952,20,RL,85,14450,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,7,5,1979,1979,Hip,CompShg,Plywood,Plywood,BrkFace,194,Gd,TA,CBlock,Gd,Fa,No,ALQ,864,LwQ,449,469,1782,GasA,TA,Y,SBrkr,1782,0,0,1782,0,1,2,0,3,1,Gd,6,Typ,1,TA,Attchd,1979,Fin,2,551,TA,TA,Y,467,0,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal +1953,20,RL,90,13068,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,5,1976,1976,Hip,CompShg,HdBoard,HdBoard,BrkFace,621,TA,TA,PConc,Gd,TA,No,ALQ,890,Rec,48,273,1211,GasA,TA,Y,SBrkr,1211,0,0,1211,1,0,2,0,3,1,Gd,6,Typ,1,Po,Attchd,1976,Fin,2,461,TA,TA,Y,0,0,0,174,0,0,NA,MnPrv,NA,0,11,2008,WD,Normal +1954,60,RL,80,10400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,7,6,1980,1988,Gable,CompShg,HdBoard,HdBoard,BrkFace,280,TA,TA,CBlock,Gd,TA,Mn,Unf,0,Unf,0,738,738,GasA,TA,Y,SBrkr,1277,767,0,2044,0,0,2,1,3,1,TA,7,Min1,1,TA,Attchd,1980,Unf,2,489,TA,TA,Y,28,73,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal +1955,60,RL,75,9743,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,5,6,1969,1969,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,Fa,No,BLQ,280,Unf,0,440,720,GasA,Gd,Y,SBrkr,720,588,0,1308,0,0,1,1,3,1,TA,7,Typ,0,NA,Detchd,1969,Unf,2,484,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +1956,60,RL,NA,12511,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NWAmes,Norm,Norm,1Fam,2Story,7,7,1978,1978,Mansard,WdShake,Plywood,Plywood,BrkFace,168,Gd,TA,PConc,Gd,TA,No,ALQ,988,Unf,0,432,1420,GasA,Ex,Y,SBrkr,1420,1420,0,2840,0,1,2,1,4,1,Gd,8,Min2,2,Gd,Attchd,1978,Fin,4,1314,TA,Gd,Y,0,16,0,0,208,0,NA,MnPrv,NA,0,12,2008,WD,Normal +1957,20,RL,80,10400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,5,1976,1976,Gable,CompShg,HdBoard,HdBoard,BrkFace,120,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1444,1444,GasA,TA,Y,SBrkr,1444,0,0,1444,0,0,2,0,2,1,TA,5,Typ,1,Gd,Attchd,1976,Unf,2,473,TA,TA,Y,0,24,0,0,0,0,NA,GdWo,NA,0,4,2008,WD,Normal +1958,60,RL,NA,14311,Pave,NA,IR1,Lvl,AllPub,FR3,Gtl,NWAmes,Norm,Norm,1Fam,2Story,8,5,1996,1996,Gable,CompShg,VinylSd,VinylSd,BrkFace,402,Gd,TA,PConc,Gd,TA,No,GLQ,1023,Unf,0,213,1236,GasA,Ex,Y,SBrkr,1236,1104,0,2340,1,0,2,1,4,1,Gd,9,Typ,1,Gd,Attchd,1996,RFn,3,787,TA,TA,Y,192,180,218,0,0,0,NA,GdPrv,NA,0,6,2008,WD,Normal +1959,90,RL,60,9000,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NAmes,Norm,Norm,Duplex,2Story,5,5,1974,1974,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,Gd,TA,Mn,Unf,0,Unf,0,896,896,GasA,TA,Y,SBrkr,896,896,0,1792,0,0,2,2,4,2,TA,8,Typ,0,NA,Detchd,1982,Unf,2,480,TA,TA,Y,0,45,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +1960,20,RL,68,10295,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,6,1969,1969,Gable,CompShg,HdBoard,HdBoard,BrkFace,72,TA,TA,CBlock,Gd,TA,Mn,Rec,252,Unf,0,684,936,GasA,TA,Y,SBrkr,936,0,0,936,0,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1969,Unf,1,288,TA,TA,Y,16,0,0,0,0,0,NA,NA,NA,0,9,2008,COD,Normal +1961,20,RL,63,7560,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1971,1971,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,Gd,TA,No,Rec,119,ALQ,613,132,864,GasA,TA,Y,SBrkr,864,0,0,864,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1977,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +1962,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,5,1973,1973,Gable,CompShg,HdBoard,HdBoard,BrkFace,359,TA,TA,CBlock,TA,TA,No,LwQ,458,Unf,0,25,483,GasA,TA,Y,SBrkr,483,504,0,987,0,1,1,1,2,1,TA,5,Typ,0,NA,Detchd,1973,Unf,1,264,TA,TA,Y,52,0,0,0,0,0,NA,NA,NA,0,2,2008,WD,Normal +1963,160,RM,21,1890,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,6,1972,1972,Gable,CompShg,HdBoard,HdBoard,BrkFace,422,TA,TA,CBlock,TA,TA,No,LwQ,483,Unf,0,0,483,GasA,Gd,Y,SBrkr,483,504,0,987,0,0,1,1,2,1,TA,5,Typ,0,NA,Detchd,1975,Unf,1,352,TA,TA,Y,411,0,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +1964,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,5,5,1972,1972,Gable,CompShg,HdBoard,HdBoard,BrkFace,356,TA,TA,CBlock,TA,TA,No,Rec,350,Unf,0,280,630,GasA,TA,Y,SBrkr,630,672,0,1302,0,0,2,1,3,1,TA,6,Typ,0,NA,Detchd,1972,Unf,1,264,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,12,2008,WD,Normal +1965,160,RL,24,2308,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NPkVill,Norm,Norm,TwnhsE,2Story,6,6,1975,1975,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,286,LwQ,294,275,855,GasA,Gd,Y,SBrkr,855,601,0,1456,0,0,2,1,4,1,TA,7,Typ,0,NA,Attchd,1975,RFn,2,460,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +1966,120,RL,24,2529,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NPkVill,Norm,Norm,Twnhs,1Story,7,6,1977,1977,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,378,Unf,0,677,1055,GasA,Fa,Y,SBrkr,1055,0,0,1055,0,0,2,0,2,1,TA,4,Typ,0,NA,Attchd,1977,Unf,2,440,TA,TA,Y,0,38,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal +1967,20,RL,98,12704,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2007,2007,Hip,CompShg,VinylSd,VinylSd,Stone,302,Gd,TA,PConc,Ex,TA,No,GLQ,1012,Unf,0,570,1582,GasA,Ex,Y,SBrkr,1582,0,0,1582,1,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2007,Fin,3,905,TA,TA,Y,209,95,0,0,0,0,NA,NA,NA,0,1,2008,New,Partial +1968,20,RL,105,13693,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2007,2007,Hip,CompShg,VinylSd,VinylSd,Stone,554,Gd,TA,PConc,Ex,TA,Gd,GLQ,1728,BLQ,495,195,2418,GasA,Ex,Y,SBrkr,2464,0,0,2464,1,0,2,1,4,1,Ex,9,Typ,1,Ex,Attchd,2007,Fin,3,650,TA,TA,Y,358,78,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal +1969,20,RL,104,14418,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2007,2007,Hip,CompShg,VinylSd,VinylSd,BrkFace,480,Ex,TA,PConc,Ex,TA,Gd,GLQ,1375,Unf,0,575,1950,GasA,Ex,Y,SBrkr,1950,0,0,1950,1,0,2,0,2,1,Ex,7,Typ,1,Gd,Attchd,2007,Fin,3,706,TA,TA,Y,156,207,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +1970,60,RL,108,13418,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,270,Gd,TA,PConc,Ex,TA,Gd,GLQ,1420,Unf,0,430,1850,GasA,Ex,Y,SBrkr,1850,898,0,2748,1,0,2,1,4,1,Ex,9,Typ,1,Gd,BuiltIn,2006,Fin,3,850,TA,TA,Y,212,182,0,0,0,0,NA,NA,NA,0,10,2008,WD,Abnorml +1971,60,RL,96,12539,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,PosN,Norm,1Fam,2Story,10,5,2005,2006,Hip,CompShg,CemntBd,CmentBd,BrkFace,468,Ex,TA,PConc,Ex,TA,Gd,GLQ,1082,Unf,0,538,1620,GasA,Ex,Y,SBrkr,1632,1158,0,2790,1,0,2,1,4,1,Ex,10,Typ,1,Ex,BuiltIn,2005,Fin,4,1150,TA,TA,Y,30,200,0,0,192,0,NA,NA,NA,0,6,2008,WD,Normal +1972,60,RL,102,12151,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2005,2005,Gable,CompShg,CemntBd,CmentBd,BrkFace,368,Gd,TA,PConc,Ex,TA,Av,GLQ,1249,Unf,0,165,1414,GasA,Ex,Y,SBrkr,1414,917,0,2331,1,0,2,1,3,1,Ex,9,Typ,1,Gd,BuiltIn,2005,Fin,3,1003,TA,TA,Y,192,63,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal +1973,60,RL,74,8899,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2007,2007,Hip,CompShg,VinylSd,VinylSd,Stone,108,Ex,TA,PConc,Gd,TA,Av,GLQ,40,Unf,0,908,948,GasA,Ex,Y,SBrkr,948,1140,0,2088,0,0,2,1,4,1,Gd,10,Typ,1,Gd,BuiltIn,2007,Fin,3,656,TA,TA,Y,100,24,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +1974,60,RL,85,10574,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,Stone,126,Gd,TA,PConc,Ex,TA,No,GLQ,856,Unf,0,292,1148,GasA,Ex,Y,SBrkr,1170,1162,0,2332,1,0,2,1,4,1,Ex,9,Typ,1,Gd,BuiltIn,2004,Fin,3,756,TA,TA,Y,224,142,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +1975,20,RL,106,12720,Pave,NA,Reg,HLS,AllPub,Inside,Mod,NridgHt,Norm,Norm,1Fam,1Story,10,5,2003,2003,Hip,CompShg,MetalSd,MetalSd,Stone,680,Ex,TA,PConc,Ex,TA,Gd,GLQ,2257,Unf,0,278,2535,GasA,Ex,Y,SBrkr,2470,0,0,2470,2,0,1,1,1,1,Ex,7,Typ,2,Gd,Attchd,2003,Fin,3,789,TA,TA,Y,154,65,0,0,216,144,Ex,NA,NA,0,2,2008,WD,Normal +1976,20,RL,92,10845,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,504,Gd,TA,PConc,Gd,TA,Mn,GLQ,1149,Unf,0,454,1603,GasA,Ex,Y,SBrkr,1575,0,0,1575,1,0,2,0,2,1,Gd,7,Typ,1,TA,Attchd,2003,Fin,3,732,TA,TA,Y,216,28,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +1977,60,RL,130,16900,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2001,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,1110,Gd,TA,PConc,Ex,TA,Mn,GLQ,1075,Unf,0,404,1479,GasA,Ex,Y,SBrkr,1515,1134,0,2649,1,0,2,1,4,1,Gd,10,Typ,1,TA,Attchd,2001,Fin,3,746,TA,TA,Y,0,60,0,0,0,0,NA,NA,NA,0,1,2008,WD,Normal +1978,60,RL,112,16451,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,221,Gd,TA,PConc,Ex,TA,Gd,Unf,0,Unf,0,1765,1765,GasA,Ex,Y,SBrkr,1804,886,0,2690,0,0,2,1,4,1,Gd,9,Typ,1,Gd,BuiltIn,2003,Fin,3,795,TA,TA,Y,268,58,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +1979,120,RL,58,10110,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,9,5,2008,2008,Hip,CompShg,MetalSd,MetalSd,BrkFace,492,Ex,TA,PConc,Gd,TA,No,GLQ,372,Unf,0,1486,1858,GasA,Ex,Y,SBrkr,1866,0,0,1866,1,0,2,0,2,1,Ex,7,Typ,1,Gd,Attchd,2008,Fin,3,870,TA,TA,Y,0,48,0,0,0,0,NA,NA,NA,0,11,2008,New,Partial +1980,120,RL,135,12304,Pave,NA,IR3,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,Stone,144,Gd,TA,PConc,Gd,TA,No,GLQ,20,Unf,0,1347,1367,GasA,Ex,Y,SBrkr,1367,0,0,1367,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2005,RFn,2,484,TA,TA,Y,0,33,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +1981,120,RL,89,8232,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,9,5,2007,2008,Hip,CompShg,MetalSd,MetalSd,BrkFace,714,Ex,TA,PConc,Ex,TA,No,GLQ,1204,Unf,0,596,1800,GasA,Ex,Y,SBrkr,1800,0,0,1800,1,0,2,0,2,1,Ex,6,Typ,1,Gd,Attchd,2008,RFn,3,944,TA,TA,Y,210,0,0,0,0,0,NA,NA,NA,0,6,2008,New,Partial +1982,120,RL,48,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,8,5,2006,2007,Hip,CompShg,MetalSd,MetalSd,BrkFace,176,Gd,TA,PConc,Gd,TA,No,GLQ,846,Unf,0,496,1342,GasA,Ex,Y,SBrkr,1342,0,0,1342,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2007,Fin,2,550,TA,TA,Y,0,35,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +1983,120,RL,48,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,8,5,2006,2007,Hip,CompShg,MetalSd,MetalSd,BrkFace,196,Gd,TA,PConc,Gd,TA,No,GLQ,24,Unf,0,1318,1342,GasA,Ex,Y,SBrkr,1342,0,0,1342,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2007,RFn,2,550,TA,TA,Y,0,35,0,0,0,0,NA,NA,NA,0,2,2008,WD,Normal +1984,160,RL,36,2448,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,Twnhs,2Story,7,5,2003,2004,Gable,CompShg,VinylSd,Wd Shng,Stone,106,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,764,764,GasA,Ex,Y,SBrkr,764,862,0,1626,0,0,2,1,2,1,Gd,6,Typ,0,NA,BuiltIn,2003,RFn,2,474,TA,TA,Y,0,27,0,0,0,0,NA,NA,NA,0,10,2008,WD,Normal +1985,120,RL,NA,3940,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,143,Gd,TA,PConc,Gd,TA,Gd,GLQ,1073,Unf,0,342,1415,GasA,Ex,Y,SBrkr,1455,0,0,1455,1,0,2,0,2,1,Gd,6,Typ,1,TA,Attchd,2003,Fin,3,644,TA,TA,Y,156,20,0,0,144,0,NA,NA,NA,0,8,2008,WD,Normal +1986,120,RM,NA,3940,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2004,2004,Hip,CompShg,VinylSd,VinylSd,BrkFace,24,Gd,TA,PConc,Gd,TA,No,GLQ,1087,Unf,0,306,1393,GasA,Ex,Y,SBrkr,1576,0,0,1576,1,0,2,0,2,1,Gd,7,Typ,1,TA,Attchd,2004,RFn,3,668,TA,TA,Y,143,20,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +1987,20,RL,53,3710,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,1Fam,1Story,7,5,2007,2008,Gable,CompShg,WdShing,Wd Shng,BrkFace,20,Gd,TA,PConc,Gd,TA,Gd,Unf,0,Unf,0,1146,1146,GasA,Ex,Y,SBrkr,1246,0,0,1246,0,0,2,0,2,1,Gd,5,Typ,1,Gd,Attchd,2007,Fin,2,428,TA,TA,Y,100,24,0,0,0,0,NA,NA,NA,0,3,2008,New,Partial +1988,60,RL,80,9024,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,789,789,GasA,Ex,Y,SBrkr,813,702,0,1515,0,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2004,Fin,2,393,TA,TA,Y,0,75,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +1989,60,RL,NA,8010,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2002,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,840,840,GasA,Ex,Y,SBrkr,840,880,0,1720,0,0,2,1,3,1,Gd,7,Typ,1,Gd,BuiltIn,2002,Fin,2,400,TA,TA,Y,138,48,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +1990,60,RL,NA,8396,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,196,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,847,847,GasA,Ex,Y,SBrkr,847,1139,0,1986,0,0,2,1,4,1,Gd,9,Typ,1,Gd,BuiltIn,2003,Fin,2,434,TA,TA,Y,120,48,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +1991,120,RL,55,7301,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,7,6,2007,2008,Gable,CompShg,VinylSd,VinylSd,Stone,176,Gd,TA,PConc,Gd,TA,No,GLQ,876,Unf,0,474,1350,GasA,Ex,Y,SBrkr,1358,0,0,1358,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2008,RFn,2,484,TA,TA,Y,192,26,0,0,0,0,NA,NA,NA,0,11,2008,New,Partial +1992,60,RL,71,8220,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2000,2001,Gable,CompShg,VinylSd,VinylSd,BrkFace,647,Gd,TA,PConc,Gd,TA,Av,GLQ,544,Unf,0,438,982,GasA,Ex,Y,SBrkr,1008,884,0,1892,0,0,2,1,3,1,TA,8,Typ,1,TA,Attchd,2000,RFn,2,431,TA,TA,Y,108,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +1993,60,RL,NA,7750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,RRAn,Norm,1Fam,2Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,NA,NA,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,707,707,GasA,Ex,Y,SBrkr,707,707,0,1414,0,0,2,1,3,1,Gd,6,Typ,1,Gd,Attchd,2002,Fin,2,403,TA,TA,Y,100,35,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +1994,60,RL,41,12460,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,Gilbert,RRAn,Norm,1Fam,2Story,7,5,1999,2000,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,870,Unf,0,167,1037,GasA,Ex,Y,SBrkr,1037,1285,0,2322,0,0,2,1,4,1,TA,8,Typ,1,TA,BuiltIn,1999,Fin,2,400,TA,TA,Y,144,44,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +1995,60,RL,77,8390,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,831,831,GasA,Ex,Y,SBrkr,873,778,0,1651,0,0,2,1,3,1,TA,7,Typ,1,TA,BuiltIn,1999,Fin,2,450,TA,TA,Y,0,103,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +1996,75,RL,84,9660,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2.5Unf,8,5,1997,1997,Hip,CompShg,HdBoard,HdBoard,BrkFace,1290,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1173,1173,GasA,Ex,Y,SBrkr,1182,1017,0,2199,0,0,2,1,3,1,Gd,9,Typ,1,TA,Attchd,1997,Fin,2,516,TA,TA,Y,0,131,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal +1997,60,RL,NA,11000,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NoRidge,Norm,Norm,1Fam,2Story,9,5,2000,2000,Hip,CompShg,VinylSd,VinylSd,BrkFace,295,Gd,TA,PConc,Ex,TA,Mn,Unf,0,Unf,0,1519,1519,GasA,Ex,Y,SBrkr,1533,639,0,2172,0,0,2,1,4,1,Ex,8,Typ,1,TA,BuiltIn,2000,RFn,3,687,TA,TA,Y,162,153,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +1998,20,RL,136,11675,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,1Story,8,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,495,Gd,TA,PConc,Gd,TA,Av,GLQ,1660,Unf,0,322,1982,GasA,Ex,Y,SBrkr,2006,0,0,2006,1,0,2,0,2,1,Gd,5,Typ,1,TA,Attchd,1998,Fin,3,938,TA,TA,Y,144,33,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +1999,60,RL,97,10990,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NoRidge,Norm,Norm,1Fam,2Story,7,5,1996,1997,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,No,GLQ,851,Unf,0,213,1064,GasA,Ex,Y,SBrkr,1064,1061,0,2125,1,0,2,1,4,1,Gd,12,Typ,2,TA,Attchd,1996,RFn,2,576,TA,TA,Y,168,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2000,60,RL,NA,11929,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,7,1995,1995,Gable,CompShg,VinylSd,VinylSd,BrkFace,466,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1242,1242,GasA,Ex,Y,SBrkr,1251,1250,0,2501,0,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1995,RFn,3,751,TA,TA,Y,192,87,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2001,60,RL,91,10010,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,7,5,1993,1994,Hip,WdShake,VinylSd,VinylSd,BrkFace,320,Gd,TA,PConc,Gd,TA,Av,BLQ,228,GLQ,852,0,1080,GasA,Ex,Y,SBrkr,1108,1089,0,2197,1,0,2,1,4,1,Gd,9,Typ,1,Gd,Attchd,1993,Fin,3,783,TA,TA,Y,385,99,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2002,20,RL,74,13253,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,RRAn,Norm,1Fam,1Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,128,Gd,TA,PConc,Ex,TA,No,GLQ,1096,Unf,0,482,1578,GasA,Gd,Y,SBrkr,1578,0,0,1578,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2006,Unf,3,642,TA,TA,Y,0,26,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2003,60,RL,73,9801,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,156,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1341,1341,GasA,Ex,Y,SBrkr,1341,520,0,1861,0,0,3,0,3,1,Gd,7,Typ,1,Gd,BuiltIn,2007,RFn,3,851,TA,TA,Y,144,60,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2004,60,RL,80,9428,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2007,2008,Hip,CompShg,VinylSd,VinylSd,Stone,310,Gd,TA,PConc,Gd,TA,Av,GLQ,729,Unf,0,226,955,GasA,Ex,Y,SBrkr,955,919,0,1874,1,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2007,Fin,3,880,TA,TA,Y,168,108,0,0,0,0,NA,NA,NA,0,2,2008,New,Partial +2005,20,RL,87,10037,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Somerst,Feedr,Norm,1Fam,1Story,8,5,2006,2007,Hip,CompShg,VinylSd,VinylSd,NA,NA,Gd,TA,PConc,Ex,TA,No,GLQ,666,Unf,0,794,1460,GasA,Ex,Y,SBrkr,1460,0,0,1460,0,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2006,Fin,2,480,TA,TA,Y,0,20,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal +2006,20,FV,72,8640,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2007,2008,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,24,Unf,0,1339,1363,GasA,Ex,Y,SBrkr,1372,0,0,1372,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2008,RFn,2,588,TA,TA,Y,192,113,0,0,0,0,NA,NA,NA,0,7,2008,New,Partial +2007,20,FV,85,10625,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,BrkFace,292,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1660,1660,GasA,Ex,Y,SBrkr,1660,0,0,1660,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2007,Fin,3,660,TA,TA,Y,133,120,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2008,20,FV,62,7500,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2007,2008,Gable,CompShg,CemntBd,CmentBd,Stone,210,Gd,TA,PConc,Gd,TA,No,GLQ,902,Unf,0,316,1218,GasA,Ex,Y,SBrkr,1218,0,0,1218,1,0,2,0,2,1,Gd,6,Typ,0,NA,Attchd,2008,Fin,2,462,TA,TA,Y,168,168,0,0,0,0,NA,NA,NA,0,4,2008,New,Partial +2009,60,RL,68,10110,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Mn,GLQ,80,ALQ,555,200,835,GasA,Ex,Y,SBrkr,835,861,0,1696,1,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2003,RFn,2,542,TA,TA,Y,143,66,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2010,60,RL,67,12774,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,95,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,835,835,GasA,Ex,Y,SBrkr,835,828,0,1663,0,0,2,1,3,1,Gd,8,Typ,0,NA,Attchd,2003,RFn,2,478,TA,TA,Y,168,68,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2011,20,RL,63,13072,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,RRAe,Norm,1Fam,1Story,6,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,126,TA,TA,PConc,Gd,Gd,No,GLQ,80,Unf,0,1095,1175,GasA,Ex,Y,SBrkr,1175,0,0,1175,1,0,1,0,3,1,Gd,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,90,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2012,20,RL,81,9260,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,1Fam,1Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,1162,1162,GasA,Ex,Y,SBrkr,1162,0,0,1162,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2007,Fin,2,483,TA,TA,Y,0,32,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal +2013,60,RL,65,8453,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,5,1995,1995,Gable,CompShg,VinylSd,VinylSd,BrkFace,38,Gd,TA,PConc,Gd,TA,No,GLQ,362,Unf,0,392,754,GasA,Ex,Y,SBrkr,754,855,0,1609,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,1995,RFn,2,525,TA,TA,Y,0,70,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2014,60,RL,50,8480,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,5,1993,1994,Gable,CompShg,HdBoard,HdBoard,BrkFace,120,Gd,TA,PConc,Gd,TA,No,GLQ,602,Unf,0,284,886,GasA,Ex,Y,SBrkr,886,794,0,1680,0,1,2,1,3,1,Gd,7,Typ,0,NA,Attchd,1993,RFn,2,474,TA,TA,Y,144,96,0,0,0,0,NA,NA,NA,0,10,2008,WD,Normal +2015,60,RL,43,14565,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,1994,1995,Gable,CompShg,VinylSd,VinylSd,BrkFace,145,Gd,TA,PConc,Gd,TA,Av,GLQ,537,Unf,0,295,832,GasA,Ex,Y,SBrkr,832,825,0,1657,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,1994,RFn,2,483,TA,TA,Y,144,74,0,0,0,0,NA,NA,Shed,2000,11,2008,WD,Normal +2016,60,RL,65,8450,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,472,Unf,0,355,827,GasA,Ex,Y,SBrkr,827,850,0,1677,1,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2001,RFn,2,627,TA,TA,Y,0,68,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal +2017,60,RL,75,8285,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,1992,1992,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,397,Unf,0,439,836,GasA,Gd,Y,SBrkr,844,893,0,1737,0,1,2,1,3,1,Gd,7,Typ,0,NA,Attchd,1992,Fin,2,506,TA,TA,Y,192,85,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2018,20,RL,70,9100,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,RRAe,Norm,1Fam,1Story,5,5,1963,1963,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,Gd,No,BLQ,53,ALQ,799,132,984,GasA,TA,Y,SBrkr,984,0,0,984,1,0,1,0,3,1,TA,5,Typ,1,TA,Attchd,1963,RFn,1,384,TA,TA,Y,145,56,0,0,0,0,NA,MnPrv,Shed,400,8,2008,WD,Normal +2019,20,RL,75,8100,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,5,8,1961,2007,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,764,Unf,0,100,864,GasA,Ex,Y,SBrkr,864,0,0,864,1,0,1,0,3,1,Gd,5,Typ,1,TA,Detchd,1962,Unf,1,420,TA,TA,Y,132,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2020,190,RL,65,8450,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,RRAe,Norm,2fmCon,1Story,5,5,1968,1968,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,Fa,Mn,ALQ,890,Unf,0,0,890,GasA,Gd,N,SBrkr,890,0,0,890,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1970,Unf,1,308,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2021,20,RL,60,6360,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1963,1963,Hip,CompShg,Wd Sdng,HdBoard,None,0,TA,TA,CBlock,Gd,Gd,No,ALQ,489,Unf,0,375,864,GasA,TA,Y,SBrkr,864,0,0,864,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1963,Unf,1,276,TA,TA,Y,0,0,0,0,0,0,NA,NA,Shed,650,1,2008,COD,Abnorml +2022,20,RL,95,19508,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Veenker,Norm,Norm,1Fam,1Story,6,5,1974,1974,Gable,CompShg,HdBoard,ImStucc,BrkFace,144,TA,TA,CBlock,TA,TA,Av,ALQ,800,Unf,0,630,1430,GasA,TA,Y,SBrkr,1430,0,0,1430,0,1,2,0,3,1,TA,6,Typ,2,TA,Attchd,1974,Unf,2,484,TA,TA,Y,117,108,165,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2023,50,RL,70,10759,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Feedr,Norm,1Fam,1.5Fin,5,4,1972,1972,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Gd,CBlock,Gd,TA,No,LwQ,190,ALQ,811,0,1001,GasA,TA,Y,SBrkr,1001,640,0,1641,0,0,2,0,4,1,TA,5,Typ,1,Gd,Detchd,1972,Unf,2,490,TA,TA,Y,0,0,92,0,0,0,NA,GdPrv,NA,0,7,2008,WD,Normal +2024,60,RL,NA,9205,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,6,5,1990,1991,Hip,CompShg,HdBoard,HdBoard,BrkFace,304,Gd,TA,PConc,Gd,TA,No,ALQ,704,Unf,0,226,930,GasA,Ex,Y,SBrkr,1364,1319,0,2683,1,0,2,1,4,1,Gd,9,Typ,2,Gd,Attchd,1990,RFn,2,473,TA,TA,Y,237,251,0,0,196,0,NA,NA,NA,0,6,2008,WD,Normal +2025,60,RL,105,11025,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,1.5Fin,9,5,1993,1994,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,568,Gd,TA,PConc,Gd,TA,Gd,BLQ,520,Unf,0,1328,1848,GasA,Ex,Y,SBrkr,1827,959,0,2786,1,0,2,1,4,1,Gd,10,Typ,1,Ex,Attchd,1993,Fin,2,636,TA,TA,Y,294,49,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2026,120,FV,37,3435,Pave,Pave,IR1,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,7,5,2004,2005,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,24,Unf,0,1211,1235,GasA,Ex,Y,SBrkr,1245,0,0,1245,0,0,2,0,1,1,Gd,5,Typ,0,NA,Attchd,2004,RFn,2,495,TA,TA,Y,0,100,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2027,160,FV,30,3180,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,6,5,2005,2005,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,390,Unf,0,210,600,GasA,Ex,Y,SBrkr,600,600,0,1200,1,0,2,1,2,1,Gd,5,Typ,0,NA,Detchd,2005,RFn,2,480,TA,TA,Y,0,166,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2028,160,FV,30,3180,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,689,689,GasA,Ex,Y,SBrkr,703,689,0,1392,0,0,2,0,2,1,Gd,5,Typ,0,NA,Detchd,2007,Unf,2,540,TA,TA,Y,0,102,0,0,0,0,NA,NA,NA,0,3,2008,WD,Abnorml +2029,160,FV,24,2280,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,2Story,6,5,1999,1999,Gable,CompShg,MetalSd,MetalSd,Stone,216,TA,TA,PConc,Gd,TA,No,GLQ,550,Unf,0,194,744,GasA,Gd,Y,SBrkr,757,792,0,1549,1,0,2,1,3,1,TA,6,Typ,0,NA,Detchd,1999,Unf,2,440,TA,TA,Y,0,32,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2030,120,FV,NA,4765,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,9,5,2000,2000,Hip,CompShg,MetalSd,MetalSd,BrkFace,260,Gd,TA,PConc,Gd,TA,Av,GLQ,1027,Unf,0,587,1614,GasA,Ex,Y,SBrkr,1638,0,0,1638,1,0,2,0,2,1,Ex,5,Typ,1,TA,Attchd,2000,Fin,2,495,TA,TA,Y,230,68,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2031,120,FV,NA,4538,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,9,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,BrkFace,179,Gd,TA,PConc,Ex,TA,Av,GLQ,1004,Unf,0,306,1310,GasA,Ex,Y,SBrkr,1310,0,0,1310,1,0,1,1,1,1,Gd,5,Typ,1,TA,Attchd,2001,RFn,2,545,TA,TA,Y,277,45,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2032,120,FV,42,4385,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,9,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,Av,GLQ,964,Unf,0,455,1419,GasA,Ex,Y,SBrkr,1419,0,0,1419,1,0,1,1,2,1,Ex,5,Typ,1,TA,Attchd,2001,Fin,2,588,TA,TA,Y,155,58,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal +2033,120,FV,35,4109,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,9,5,1999,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,260,Gd,TA,PConc,Gd,TA,Av,GLQ,1141,Unf,0,416,1557,GasA,Ex,Y,SBrkr,1557,0,0,1557,1,0,2,0,2,1,Ex,5,Typ,1,TA,Attchd,1999,RFn,2,484,TA,TA,Y,124,113,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2034,160,FV,24,2160,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,SLvl,7,5,1999,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,216,Gd,TA,PConc,Gd,TA,No,GLQ,600,Unf,0,72,672,GasA,Ex,Y,SBrkr,684,720,0,1404,1,0,2,1,3,1,Gd,5,Typ,0,NA,Detchd,1999,Unf,2,462,TA,TA,Y,20,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2035,60,FV,79,10646,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,BrkFace,513,TA,TA,PConc,TA,TA,No,GLQ,681,Unf,0,177,858,GasA,Ex,Y,SBrkr,872,917,0,1789,1,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,2001,Fin,2,546,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2036,160,FV,24,2645,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,2Story,8,5,1999,1999,Gable,CompShg,MetalSd,MetalSd,BrkFace,466,Gd,TA,PConc,Gd,TA,No,GLQ,612,Unf,0,348,960,GasA,Ex,Y,SBrkr,962,624,0,1586,1,0,2,1,3,1,Gd,7,Typ,0,NA,Detchd,1999,Unf,2,480,TA,TA,Y,169,0,0,0,0,0,NA,NA,NA,0,12,2008,WD,Normal +2037,160,FV,24,2645,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,2Story,8,5,1999,2000,Gable,CompShg,MetalSd,MetalSd,BrkFace,456,Gd,TA,PConc,Gd,TA,No,GLQ,813,Unf,0,147,960,GasA,Ex,Y,SBrkr,962,645,0,1607,1,0,2,1,3,1,Gd,7,Typ,0,NA,Detchd,2000,Unf,2,480,TA,TA,Y,169,0,0,0,0,0,NA,NA,NA,0,12,2008,ConLD,Normal +2038,160,FV,36,3951,Pave,Pave,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,10,5,1998,1999,Gable,CompShg,BrkFace,MetalSd,None,0,Ex,TA,PConc,Gd,TA,Mn,BLQ,128,GLQ,842,0,970,GasA,Ex,Y,SBrkr,1469,924,0,2393,1,0,2,1,2,1,Ex,7,Typ,1,TA,Attchd,1998,Fin,2,846,TA,TA,Y,0,90,0,0,94,0,NA,NA,NA,0,2,2008,WD,Normal +2039,120,RL,22,11064,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,Veenker,Norm,Norm,TwnhsE,1Story,8,5,1995,1995,Hip,CompShg,BrkFace,BrkFace,None,0,Gd,TA,PConc,Gd,TA,Gd,LwQ,560,GLQ,670,0,1230,GasA,Ex,Y,SBrkr,1239,0,0,1239,1,0,1,1,1,1,Gd,4,Typ,1,Fa,Attchd,1995,Fin,2,477,TA,TA,Y,172,24,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal +2040,60,RL,NA,24572,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Veenker,Norm,Norm,1Fam,2Story,9,3,1977,1977,Mansard,CompShg,Wd Sdng,Wd Sdng,BrkFace,1050,Gd,Gd,CBlock,Gd,TA,No,GLQ,410,Unf,0,584,994,GasA,TA,Y,SBrkr,1599,1345,0,2944,0,0,2,2,3,1,Gd,9,Typ,1,Gd,Attchd,1977,RFn,3,864,TA,TA,Y,140,70,16,0,0,0,NA,NA,NA,0,6,2008,WD,Family +2041,20,RL,103,16280,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Veenker,Norm,Norm,1Fam,1Story,8,9,1976,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Ex,Ex,CBlock,Gd,NA,Mn,GLQ,1044,Rec,382,0,1426,GasA,Ex,Y,SBrkr,1671,0,0,1671,1,0,3,0,3,1,Ex,6,Typ,1,Gd,Attchd,1976,RFn,2,550,TA,TA,Y,280,90,0,0,0,0,NA,GdWo,NA,0,5,2008,WD,Normal +2042,60,FV,NA,7500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,NA,NA,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,952,952,GasA,Ex,Y,SBrkr,952,860,0,1812,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,2002,RFn,2,469,TA,TA,Y,144,112,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2043,80,RL,NA,11104,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,SLvl,6,6,1969,1969,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,Av,GLQ,828,Unf,0,599,1427,GasA,Gd,Y,SBrkr,1427,0,0,1427,0,1,2,0,4,1,TA,7,Typ,0,NA,Attchd,1969,RFn,2,516,TA,TA,Y,0,0,0,0,216,0,NA,NA,NA,0,5,2008,WD,Normal +2044,20,RL,85,11050,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,5,1968,1968,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Rec,301,Unf,0,1439,1740,GasA,Fa,Y,SBrkr,1740,0,0,1740,0,0,1,1,4,1,TA,8,Typ,1,TA,Attchd,1968,RFn,2,512,TA,TA,Y,25,0,0,0,192,0,NA,GdWo,NA,0,10,2008,WD,Family +2045,20,RL,NA,15387,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NWAmes,Norm,Norm,1Fam,1Story,7,7,1967,1967,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,603,BLQ,294,723,1620,GasA,Ex,Y,SBrkr,1620,0,0,1620,0,0,2,0,4,1,Gd,8,Typ,1,Gd,Attchd,1967,Unf,2,578,TA,TA,Y,0,62,192,0,0,0,NA,NA,Shed,450,8,2008,WD,Normal +2046,90,RL,75,9750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,RRAn,Norm,Duplex,1Story,5,6,1965,1965,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1625,1625,GasA,Ex,Y,SBrkr,1625,0,0,1625,0,0,2,0,4,2,TA,8,Typ,0,NA,Detchd,1965,Unf,2,484,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2008,ConLD,Normal +2047,60,RL,73,8814,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Feedr,Norm,1Fam,2Story,5,6,1968,1968,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,LwQ,732,Unf,0,0,732,GasA,Ex,Y,SBrkr,732,732,0,1464,0,0,1,1,4,1,TA,7,Typ,0,NA,Attchd,1968,Unf,2,470,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2048,20,RL,65,8125,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1965,2005,Hip,CompShg,HdBoard,HdBoard,None,0,Gd,TA,CBlock,TA,TA,No,ALQ,260,Rec,456,196,912,GasA,Ex,Y,SBrkr,925,0,0,925,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1978,Unf,2,576,TA,TA,Y,233,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2049,90,RL,72,11072,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,Duplex,1Story,5,5,1965,1965,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1728,1728,GasA,TA,Y,SBrkr,1728,0,0,1728,0,0,2,0,6,2,TA,10,Typ,0,NA,Detchd,1987,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2008,WD,Normal +2050,60,RL,NA,13355,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,7,6,1971,1971,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,Gd,No,ALQ,583,Unf,0,242,825,GasA,TA,Y,SBrkr,845,825,0,1670,0,0,1,1,4,1,TA,7,Typ,0,NA,Attchd,1971,Fin,2,464,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2051,20,RL,74,7785,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1956,1956,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,1014,0,0,1014,0,0,1,0,2,1,TA,6,Typ,0,NA,Attchd,1956,RFn,1,267,TA,TA,Y,0,0,40,0,200,0,NA,GdWo,NA,0,3,2008,WD,Normal +2052,20,RL,90,9900,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1961,1961,Gable,CompShg,Plywood,Plywood,None,0,TA,Gd,CBlock,TA,TA,No,Unf,0,Unf,0,1114,1114,GasA,TA,Y,SBrkr,1114,0,0,1114,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1961,RFn,2,451,TA,TA,Y,0,0,0,0,164,0,NA,NA,NA,0,5,2008,COD,Abnorml +2053,20,RL,NA,11332,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1960,2000,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,528,Unf,0,590,1118,GasA,Ex,Y,SBrkr,1118,0,0,1118,1,0,1,0,3,1,Gd,6,Typ,0,NA,Attchd,1960,RFn,1,264,TA,TA,Y,290,0,0,0,0,0,NA,MnPrv,NA,0,8,2008,WD,Normal +2054,70,RL,50,4882,Pave,NA,IR1,Bnk,AllPub,Inside,Mod,BrkSide,RRAn,Feedr,1Fam,2Story,4,7,1937,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,No,Rec,120,Unf,0,228,348,GasA,TA,Y,SBrkr,453,453,0,906,0,0,1,0,2,1,TA,5,Typ,0,NA,Basment,1937,Unf,1,231,Fa,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal +2055,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1960,1960,Gable,CompShg,MetalSd,MetalSd,BrkFace,203,Fa,Fa,CBlock,TA,TA,No,Rec,658,Unf,0,638,1296,GasA,TA,Y,SBrkr,1496,0,0,1496,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1960,RFn,2,450,TA,TA,Y,0,22,0,0,0,0,NA,MnPrv,NA,0,2,2008,WD,Normal +2056,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,8,1950,2006,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Gd,CBlock,TA,TA,No,BLQ,32,Rec,308,232,572,GasA,Gd,Y,SBrkr,1337,0,0,1337,1,0,1,0,3,1,Gd,7,Typ,1,Gd,Attchd,1950,RFn,1,264,TA,TA,Y,0,192,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal +2057,20,RL,63,7584,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Artery,Norm,1Fam,1Story,5,5,1953,1953,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,88,TA,TA,CBlock,TA,TA,No,LwQ,531,Unf,0,505,1036,GasA,Ex,Y,SBrkr,1036,0,0,1036,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1953,RFn,1,312,TA,TA,Y,120,24,0,0,0,0,NA,MnPrv,NA,0,6,2008,WD,Normal +2058,60,RL,90,14670,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,2Story,6,7,1966,1999,Gable,CompShg,VinylSd,VinylSd,BrkFace,410,Gd,Gd,CBlock,TA,TA,No,BLQ,575,Unf,0,529,1104,GasA,Ex,Y,SBrkr,1104,884,0,1988,0,0,2,1,4,1,Gd,9,Typ,1,Gd,Attchd,1966,RFn,2,480,TA,TA,Y,0,230,0,0,0,0,NA,MnPrv,NA,0,8,2008,WD,Normal +2059,20,RL,74,8856,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,4,1957,1957,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,143,TA,TA,CBlock,TA,TA,No,ALQ,621,LwQ,52,503,1176,GasA,TA,Y,SBrkr,1176,0,0,1176,1,0,1,0,3,1,TA,6,Typ,2,Gd,Attchd,1957,RFn,1,292,TA,TA,Y,0,88,0,0,95,0,NA,NA,NA,0,5,2008,WD,Normal +2060,20,RL,82,9840,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1959,1998,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,ALQ,1053,Unf,0,195,1248,GasA,TA,Y,SBrkr,1440,0,0,1440,1,0,2,0,2,1,Gd,7,Typ,0,NA,Attchd,1959,RFn,1,480,TA,TA,Y,150,0,0,0,256,0,NA,NA,NA,0,6,2008,WD,Normal +2061,20,RL,90,13200,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Feedr,Norm,1Fam,1Story,6,6,1958,1958,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,187,TA,TA,CBlock,TA,TA,No,LwQ,958,Unf,0,437,1395,GasA,Ex,Y,SBrkr,1570,0,0,1570,1,0,1,0,3,1,TA,5,Typ,1,TA,Attchd,1958,RFn,2,441,TA,TA,Y,490,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2062,20,RL,75,10425,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1956,1958,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,774,Unf,0,330,1104,GasA,Gd,Y,SBrkr,1104,0,0,1104,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1956,RFn,1,384,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2063,20,RL,60,11556,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1952,1952,Gable,CompShg,MetalSd,MetalSd,Stone,52,TA,TA,CBlock,TA,TA,No,Rec,148,Unf,0,572,720,GasA,Ex,Y,FuseA,882,0,0,882,1,0,1,0,2,1,Gd,4,Typ,0,NA,Attchd,1952,Unf,1,240,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,5,2008,WD,Normal +2064,20,RL,102,9373,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1953,1953,Gable,CompShg,MetalSd,MetalSd,BrkFace,84,TA,TA,CBlock,TA,TA,No,Rec,500,LwQ,196,456,1152,GasA,TA,Y,SBrkr,1152,0,0,1152,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1971,Unf,2,636,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2065,20,RL,NA,12774,Pave,NA,Reg,Lvl,AllPub,Inside,Sev,NAmes,Norm,Norm,1Fam,1Story,5,5,1953,1953,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,No,BLQ,624,LwQ,128,232,984,GasW,TA,N,SBrkr,950,0,0,950,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1953,Unf,2,400,TA,TA,Y,0,32,0,0,0,0,NA,GdWo,NA,0,7,2008,WD,Normal +2066,20,RL,95,14250,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1957,1957,Gable,CompShg,Plywood,Plywood,BrkFace,360,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,998,998,GasA,TA,Y,SBrkr,1790,0,0,1790,0,0,2,0,3,1,TA,6,Typ,2,Gd,Attchd,1957,Fin,2,540,TA,TA,Y,0,40,0,0,0,0,NA,NA,Shed,1500,9,2008,WD,Normal +2067,20,RL,71,8838,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,3,1957,1982,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,NA,NA,NA,NA,0,NA,0,0,0,GasA,Gd,Y,SBrkr,1764,0,0,1764,0,0,2,1,4,1,TA,7,Maj2,1,TA,Attchd,1957,Fin,1,301,TA,TA,Y,0,72,0,0,0,0,NA,NA,NA,0,10,2008,WD,Normal +2068,90,RL,76,12436,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,Duplex,1Story,5,5,1957,1957,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1824,1824,GasA,Fa,Y,FuseA,1824,0,0,1824,0,0,2,0,5,2,TA,9,Typ,0,NA,Detchd,1958,Unf,2,484,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,1,2008,WD,Normal +2069,20,RL,60,10122,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,4,6,1948,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,N,SBrkr,869,0,0,869,0,0,1,0,1,1,TA,3,Typ,0,NA,Detchd,1948,Unf,1,390,Fa,TA,N,0,0,66,0,0,0,NA,GdPrv,NA,0,8,2008,WD,Normal +2070,50,RL,45,7506,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,8,1925,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,PConc,TA,TA,No,Unf,0,Unf,0,747,747,GasA,TA,Y,SBrkr,747,412,0,1159,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1932,Unf,1,288,Fa,TA,N,84,0,96,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2071,30,RL,60,5400,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1Story,4,7,1940,2005,Gambrel,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,TA,TA,No,Unf,0,Unf,0,672,672,GasA,Gd,Y,SBrkr,672,0,0,672,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1997,Unf,1,308,TA,TA,N,88,108,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2072,50,RL,60,10836,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,5,1922,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,892,892,GasA,Ex,Y,SBrkr,1254,182,0,1436,0,1,1,0,3,1,TA,7,Typ,1,Gd,Detchd,1968,Unf,4,1488,Fa,TA,N,0,0,100,0,0,0,NA,GdWo,NA,0,6,2008,WD,Normal +2073,20,RL,78,10180,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Feedr,Norm,1Fam,1Story,5,6,1968,1968,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,TA,TA,No,Rec,744,Unf,0,168,912,GasA,TA,Y,SBrkr,1044,0,0,1044,0,1,1,1,3,1,TA,5,Typ,1,Fa,Attchd,1990,Fin,2,372,TA,TA,Y,200,48,0,0,0,0,NA,GdWo,Shed,450,6,2008,WD,Normal +2074,20,RL,76,11355,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,7,7,1958,2001,Gable,Tar&Grv,HdBoard,HdBoard,BrkFace,125,TA,TA,CBlock,TA,TA,No,BLQ,637,Unf,0,675,1312,GasA,Ex,Y,SBrkr,1312,0,0,1312,0,0,1,1,3,1,TA,6,Typ,1,Gd,Attchd,1958,RFn,2,495,TA,TA,Y,0,304,144,0,0,0,NA,MnPrv,Othr,6500,4,2008,WD,Normal +2075,20,RL,NA,12929,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1960,1993,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,276,TA,TA,CBlock,TA,TA,Gd,GLQ,697,Unf,0,384,1081,GasA,TA,Y,SBrkr,1081,0,0,1081,1,0,1,0,3,1,TA,5,Typ,0,NA,CarPort,1960,Unf,1,401,TA,TA,Y,36,82,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2076,20,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1951,1951,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,Fa,TA,No,LwQ,432,Unf,0,444,876,GasA,TA,Y,SBrkr,876,0,0,876,0,0,1,0,2,1,TA,5,Typ,1,TA,Detchd,1972,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,2,2008,WD,Abnorml +2077,20,RL,80,8000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1959,1959,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,BLQ,476,Rec,488,292,1256,GasA,Gd,Y,FuseA,1256,0,0,1256,1,0,1,1,3,1,Gd,6,Typ,0,NA,Attchd,1959,RFn,1,311,TA,TA,Y,0,240,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2078,20,RL,80,8000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1962,1962,Gable,CompShg,BrkFace,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,520,Rec,319,188,1027,GasA,TA,Y,SBrkr,1027,0,0,1027,0,1,1,0,3,1,TA,6,Typ,0,NA,Attchd,1962,Unf,1,299,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2008,WD,Normal +2079,50,RL,60,8064,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Artery,Norm,1Fam,1.5Fin,6,6,1948,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,ALQ,315,Unf,0,453,768,GasA,Ex,Y,SBrkr,819,501,0,1320,0,0,2,0,3,1,TA,5,Typ,0,NA,Detchd,1994,Unf,2,576,TA,TA,Y,108,0,0,0,0,0,NA,GdWo,NA,0,9,2008,WD,Normal +2080,45,RL,64,6390,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Feedr,Norm,1Fam,1.5Unf,6,7,1954,1954,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,936,936,GasA,TA,Y,FuseA,984,0,0,984,1,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1954,Unf,1,280,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,6,2008,WD,Normal +2081,50,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1.5Fin,6,5,1954,1954,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,673,Unf,0,181,854,GasA,Fa,Y,FuseA,854,424,0,1278,0,0,1,0,4,1,TA,6,Typ,0,NA,Attchd,1954,Unf,1,240,TA,TA,Y,0,0,0,0,0,0,NA,MnWw,NA,0,4,2008,WD,Normal +2082,90,RL,113,8513,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Artery,Norm,Duplex,1Story,5,5,1961,1961,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Av,Unf,0,Unf,0,1800,1800,GasA,TA,N,SBrkr,1800,0,0,1800,0,0,2,0,6,2,TA,10,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,0,0,0,0,NA,NA,NA,0,11,2008,WD,Abnorml +2083,50,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1.5Fin,5,6,1955,1967,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,Mn,GLQ,370,Unf,0,398,768,GasA,Gd,Y,SBrkr,1024,564,0,1588,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1955,Unf,2,480,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal +2084,20,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1954,1954,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,825,825,GasA,TA,Y,FuseA,825,0,0,825,0,1,1,0,2,1,TA,4,Typ,0,NA,Attchd,1954,Unf,1,350,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2085,20,RL,69,7590,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,PosN,Norm,1Fam,1Story,5,5,1963,1963,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1117,1117,GasA,Ex,Y,SBrkr,1117,0,0,1117,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1963,Unf,1,264,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2008,COD,Normal +2086,20,RM,56,9836,Pave,Grvl,Reg,Bnk,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1Story,6,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,TA,TA,No,GLQ,96,Unf,0,96,192,GasA,Gd,N,SBrkr,1133,0,0,1133,1,0,1,0,3,1,TA,7,Typ,0,NA,Detchd,2008,Unf,1,308,TA,TA,Y,0,175,0,0,0,0,NA,NA,NA,0,12,2008,WD,Abnorml +2087,50,RM,57,9184,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1.5Fin,5,7,1948,2005,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,780,780,GasA,Ex,Y,SBrkr,948,375,0,1323,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1948,Unf,2,400,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2088,70,RM,80,4800,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,5,5,1910,2003,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,BrkTil,TA,Fa,No,Unf,0,Unf,0,680,680,GasA,Fa,N,SBrkr,680,680,0,1360,0,0,1,0,2,1,TA,6,Typ,0,NA,Attchd,1910,Unf,1,330,Fa,TA,Y,192,50,0,0,0,0,NA,NA,NA,0,1,2008,WD,Normal +2089,30,RM,60,4800,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,4,1940,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,Fa,TA,No,Unf,0,Unf,0,672,672,GasA,TA,Y,SBrkr,672,0,0,672,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1950,Unf,1,256,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,8,2008,WD,Normal +2090,75,RM,60,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2.5Unf,6,7,1915,2005,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,728,728,GasA,Gd,Y,SBrkr,728,728,0,1456,0,0,1,1,4,1,Gd,7,Typ,0,NA,Detchd,1915,Unf,1,308,Fa,Fa,N,0,0,248,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2091,190,RM,63,11426,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,2fmCon,1.5Fin,4,6,1910,1996,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,Stone,TA,TA,No,Unf,0,Unf,0,828,828,GasA,Gd,Y,FuseA,828,658,108,1594,0,0,2,0,3,2,TA,9,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,172,109,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2092,50,RM,63,7628,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,4,6,1940,1985,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,BrkTil,TA,TA,No,Unf,0,Unf,0,801,801,GasA,Gd,Y,FuseA,1095,561,0,1656,0,0,2,0,2,1,TA,8,Mod,0,NA,Detchd,1958,Unf,2,440,TA,TA,Y,187,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2093,50,RM,81,7308,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Artery,Norm,1Fam,1.5Fin,5,5,1920,1950,Gable,CompShg,WdShing,Wd Shng,None,0,Fa,Fa,BrkTil,TA,TA,No,Rec,360,Unf,0,576,936,GasA,Gd,N,FuseA,960,780,0,1740,0,0,1,0,2,1,Ex,6,Typ,1,Gd,Detchd,1920,Unf,1,225,Fa,Fa,N,0,0,236,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2094,30,RM,60,5400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,7,6,1920,2006,Gable,CompShg,Stucco,Stucco,None,0,Gd,TA,CBlock,TA,TA,No,Unf,0,Unf,0,931,931,GasA,TA,Y,SBrkr,1027,0,0,1027,0,1,1,0,2,1,Gd,5,Typ,1,TA,NA,NA,NA,0,0,NA,NA,N,0,28,0,0,0,0,NA,NA,NA,0,2,2008,WD,Normal +2095,190,RM,60,10800,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,2fmCon,1.5Fin,6,6,1940,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,590,Unf,0,294,884,GasA,TA,Y,SBrkr,884,552,0,1436,0,0,2,0,3,2,TA,8,Typ,2,Gd,Detchd,1940,Unf,2,828,TA,TA,Y,0,0,126,0,0,0,NA,NA,NA,0,5,2008,Con,Normal +2096,30,RM,60,6756,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,6,1910,1950,Mansard,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,Gd,No,Unf,0,Unf,0,481,481,GasA,TA,N,FuseA,899,0,0,899,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1930,Unf,1,200,Fa,TA,P,0,0,96,0,0,0,NA,NA,NA,0,9,2008,WD,Normal +2097,50,RM,44,5914,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,9,1890,1996,Gable,CompShg,Wd Sdng,HdBoard,None,0,TA,TA,BrkTil,Fa,TA,No,Unf,0,Unf,0,684,684,GasA,Gd,Y,SBrkr,684,396,0,1080,0,0,1,0,3,1,Gd,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,165,30,0,0,0,NA,NA,NA,0,9,2008,WD,Normal +2098,50,RM,75,9000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,6,1946,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,445,Unf,0,459,904,GasA,Ex,Y,FuseA,904,595,0,1499,0,0,1,0,3,1,TA,5,Typ,1,Po,Detchd,1959,Unf,3,869,TA,Gd,Y,0,20,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2099,20,RM,62,7311,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1Story,2,5,1946,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,BrkTil,TA,TA,No,Unf,0,Unf,0,407,407,GasA,TA,N,FuseA,407,0,0,407,0,0,1,0,1,1,TA,3,Typ,0,NA,Detchd,1949,Unf,1,297,Fa,TA,Y,76,0,120,0,0,0,NA,NA,NA,0,3,2008,WD,Abnorml +2100,20,RM,103,12205,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,3,1,1949,1992,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,Fa,Fa,No,Unf,0,Unf,0,448,448,GasA,Gd,Y,SBrkr,1588,0,0,1588,0,0,2,0,5,1,TA,6,Maj2,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,0,0,0,0,NA,MnPrv,NA,0,12,2008,WD,Abnorml +2101,190,RM,69,9142,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,2fmCon,2Story,5,5,1900,2006,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Fa,BrkTil,Fa,TA,No,Unf,0,Unf,0,797,797,GasA,TA,N,FuseA,830,797,0,1627,0,0,2,0,4,2,TA,10,Typ,0,NA,Detchd,1950,Unf,2,420,Fa,Po,N,192,0,60,0,0,0,NA,NA,NA,0,2,2008,WD,Normal +2102,75,RM,53,5350,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Artery,Norm,1Fam,2Story,7,8,1920,1965,Gable,CompShg,Wd Sdng,Wd Shng,None,0,TA,TA,BrkTil,TA,TA,No,BLQ,116,Unf,0,508,624,GasA,Ex,Y,SBrkr,730,720,0,1450,0,0,1,0,3,1,TA,7,Typ,0,NA,Detchd,1935,Unf,1,288,TA,TA,Y,0,192,0,0,0,0,NA,MnPrv,NA,0,3,2008,WD,Normal +2103,50,RM,69,9143,Pave,Grvl,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,7,1900,2003,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,346,346,GasA,Ex,Y,SBrkr,709,308,0,1017,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1961,Unf,1,308,TA,TA,N,0,0,139,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2104,190,RM,60,9600,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,2fmCon,2Story,5,5,1920,1960,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,BrkTil,TA,TA,No,Rec,234,Unf,0,739,973,GasA,TA,Y,FuseP,1377,973,0,2350,0,0,2,0,4,2,TA,10,Typ,0,NA,2Types,1930,Unf,2,393,TA,TA,Y,0,0,219,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2105,70,RM,60,6000,Pave,Grvl,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,2Story,5,9,1905,2005,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,BrkTil,Fa,TA,No,Unf,0,Unf,0,572,572,GasA,Ex,Y,SBrkr,884,656,0,1540,0,0,1,1,3,1,Gd,7,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,240,77,0,0,0,0,NA,NA,NA,0,2,2008,WD,Normal +2106,70,RM,60,11340,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,2,1,1920,1950,Gable,CompShg,AsbShng,AsbShng,None,0,Fa,Fa,BrkTil,Fa,Fa,No,Unf,0,Unf,0,723,723,GasA,TA,N,SBrkr,723,363,0,1086,0,0,1,0,2,1,TA,5,Maj1,0,NA,Detchd,1920,Unf,2,400,Fa,Po,N,0,24,144,0,0,0,NA,NA,NA,0,11,2008,ConLD,Normal +2107,70,RM,60,10800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,7,7,1890,1999,Gable,CompShg,Wd Sdng,Wd Shng,None,0,TA,TA,BrkTil,TA,TA,Mn,Unf,0,Unf,0,1313,1313,GasW,Gd,Y,SBrkr,1313,1182,0,2495,0,0,2,0,5,1,TA,10,Typ,1,Gd,Detchd,1950,Unf,2,342,TA,Fa,Y,0,299,0,0,0,0,NA,NA,NA,0,12,2008,WD,Normal +2108,20,RM,65,9750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,6,1959,1959,Gable,CompShg,MetalSd,MetalSd,BrkFace,164,TA,TA,CBlock,TA,TA,No,Rec,200,Unf,0,784,984,GasA,Gd,Y,SBrkr,984,0,0,984,1,0,1,0,2,1,Fa,5,Typ,0,NA,Detchd,1959,Unf,1,308,TA,TA,N,0,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2109,20,RM,52,8516,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,4,6,1958,2006,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,869,869,GasA,TA,Y,SBrkr,1093,0,0,1093,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1959,Unf,1,308,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2110,30,RL,55,7111,Pave,NA,IR1,Bnk,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,5,7,1928,1983,Gable,CompShg,WdShing,Wd Shng,None,0,Gd,Gd,BrkTil,TA,TA,No,LwQ,406,BLQ,273,329,1008,GasA,TA,Y,SBrkr,1143,0,0,1143,0,0,1,0,2,1,TA,5,Typ,1,Po,Detchd,1992,Unf,1,288,TA,TA,Y,265,0,0,0,0,0,NA,GdPrv,NA,0,7,2008,WD,Normal +2111,50,RM,NA,7425,Pave,NA,IR1,Bnk,AllPub,Corner,Gtl,BrkSide,RRAn,Artery,1Fam,1.5Fin,7,7,1945,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,Fa,No,Unf,0,Unf,0,672,672,GasA,Gd,Y,SBrkr,1195,473,0,1668,0,0,1,1,3,1,Gd,8,Typ,0,NA,Attchd,1945,Unf,1,252,TA,TA,Y,210,0,0,0,0,0,NA,NA,NA,0,8,2008,WD,Abnorml +2112,50,RL,NA,7010,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,5,1935,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Rec,175,Unf,0,849,1024,GasA,TA,Y,SBrkr,1144,594,0,1738,0,0,2,0,3,1,TA,6,Typ,1,Gd,Detchd,1950,Unf,1,240,TA,TA,P,0,30,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2113,50,RM,50,5000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Feedr,Norm,1Fam,1.5Fin,5,7,1941,2006,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,600,Unf,0,72,672,GasA,Ex,Y,SBrkr,832,378,0,1210,0,0,1,0,3,1,Gd,6,Typ,0,NA,Detchd,1941,Unf,1,240,TA,TA,P,0,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2114,70,RM,59,5870,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,BrkSide,Feedr,Feedr,1Fam,2Story,6,9,1900,2000,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Gd,BrkTil,TA,TA,No,Unf,0,Unf,0,554,554,GasA,Ex,Y,SBrkr,736,554,0,1290,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1926,Unf,1,200,Fa,TA,Y,38,112,0,0,0,0,NA,MnPrv,Shed,400,4,2008,WD,Normal +2115,50,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,7,1940,1989,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,ALQ,521,Unf,0,460,981,GasA,Ex,Y,SBrkr,1014,658,0,1672,0,0,1,1,3,1,Gd,6,Typ,1,Gd,Detchd,1940,Unf,1,240,TA,TA,Y,0,11,0,0,0,0,NA,GdPrv,NA,0,7,2008,WD,Normal +2116,30,RM,50,6000,Pave,NA,Reg,HLS,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,5,7,1924,2003,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Fa,BrkTil,TA,Fa,No,Unf,0,Unf,0,949,949,GasA,Ex,Y,SBrkr,949,0,0,949,0,0,1,0,2,1,TA,5,Typ,1,Fa,Detchd,1924,Unf,2,370,TA,TA,Y,0,0,48,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2117,50,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,7,1937,2000,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,BrkTil,TA,TA,No,Rec,201,LwQ,162,462,825,GasA,Ex,Y,SBrkr,825,672,0,1497,0,0,2,0,3,1,TA,5,Typ,0,NA,Detchd,2004,Unf,1,672,TA,TA,Y,272,0,0,0,0,0,NA,GdPrv,NA,0,5,2008,WD,Normal +2118,50,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,5,1939,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,LwQ,264,Unf,0,475,739,GasA,Ex,Y,SBrkr,874,468,0,1342,0,0,2,0,2,2,TA,7,Typ,1,Gd,Detchd,1939,Unf,1,240,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2119,45,RM,50,5000,Pave,NA,Reg,Bnk,AllPub,Inside,Mod,BrkSide,Norm,Norm,1Fam,1.5Unf,6,7,1926,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,992,992,GasA,Ex,Y,SBrkr,1013,0,0,1013,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1926,Unf,1,160,Fa,TA,Y,0,0,101,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2120,50,RM,60,5520,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,BrkSide,Feedr,Norm,1Fam,1.5Fin,5,7,1920,1997,Gable,CompShg,AsbShng,AsbShng,None,0,TA,Gd,BrkTil,TA,TA,No,ALQ,68,Unf,0,497,565,GasA,TA,Y,SBrkr,565,651,0,1216,1,0,1,0,3,1,TA,6,Typ,1,Gd,BuiltIn,1920,RFn,1,355,Fa,TA,Y,0,0,180,0,0,0,NA,MnPrv,NA,0,4,2008,WD,Normal +2121,20,RM,99,5940,Pave,NA,IR1,Lvl,AllPub,FR3,Gtl,BrkSide,Feedr,Norm,1Fam,1Story,4,7,1946,1950,Gable,CompShg,MetalSd,CBlock,None,0,TA,TA,PConc,NA,NA,NA,NA,NA,NA,NA,NA,NA,GasA,TA,Y,FuseA,896,0,0,896,NA,NA,1,0,2,1,TA,4,Typ,0,NA,Detchd,1946,Unf,1,280,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,4,2008,ConLD,Abnorml +2122,50,RM,52,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,4,7,1929,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,No,BLQ,80,Unf,0,624,704,GasA,Ex,Y,SBrkr,624,512,0,1136,0,1,1,0,2,1,TA,6,Typ,0,NA,Detchd,1990,Unf,1,336,TA,TA,Y,0,365,80,0,0,0,NA,NA,NA,0,8,2008,WD,Normal +2123,30,RM,NA,6120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,5,6,1945,1995,Gable,CompShg,Plywood,Plywood,None,0,TA,Gd,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,Gd,N,SBrkr,808,0,0,808,0,0,1,0,1,1,TA,6,Min2,0,NA,Attchd,1925,Unf,1,164,TA,TA,P,0,48,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2124,50,RM,52,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,7,5,1939,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,Mn,Rec,300,LwQ,240,449,989,GasA,TA,Y,SBrkr,1245,764,0,2009,0,0,2,0,4,1,TA,7,Min2,1,Gd,Detchd,1939,Unf,2,400,TA,TA,Y,0,20,0,0,0,0,NA,MnPrv,NA,0,1,2008,WD,Normal +2125,70,RM,51,6120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,2Story,5,5,1923,1950,Gambrel,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,LwQ,203,Unf,0,897,1100,GasA,TA,Y,SBrkr,1226,676,0,1902,0,0,2,0,4,1,TA,7,Typ,0,NA,Detchd,1960,Unf,2,576,TA,TA,Y,0,139,55,0,0,0,NA,NA,NA,0,10,2008,WD,Normal +2126,50,RL,60,9144,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,4,1915,2004,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,BrkTil,TA,TA,No,Unf,0,Unf,0,810,810,GasA,Ex,Y,SBrkr,1170,546,0,1716,0,0,2,0,4,1,Gd,8,Typ,0,NA,Detchd,1970,Unf,2,672,TA,TA,Y,0,195,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal +2127,60,RM,57,8094,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,2fmCon,2.5Unf,6,8,1910,1983,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,Mn,Rec,196,Unf,0,1046,1242,GasA,Gd,Y,SBrkr,1242,742,0,1984,0,0,2,0,5,1,TA,8,Typ,0,NA,Detchd,NA,NA,1,360,NA,NA,Y,64,0,180,0,0,0,NA,MnPrv,Shed,1000,9,2008,WD,Normal +2128,50,RM,63,4347,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,6,8,1910,1950,Gambrel,CompShg,MetalSd,MetalSd,None,0,Gd,TA,BrkTil,Gd,Gd,No,Unf,0,Unf,0,796,796,GasA,Ex,Y,SBrkr,825,784,0,1609,0,0,1,0,3,1,TA,7,Typ,0,NA,Detchd,1910,Unf,1,228,Fa,Fa,N,0,182,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2129,30,RM,NA,6291,Grvl,NA,IR1,Lvl,AllPub,Inside,Gtl,IDOTRR,RRNe,Norm,1Fam,1Story,6,6,1930,1950,Gable,CompShg,Stucco,Wd Shng,None,0,Gd,Gd,BrkTil,TA,TA,No,Unf,0,Unf,0,768,768,GasA,TA,Y,SBrkr,768,0,0,768,0,0,1,0,1,1,TA,4,Typ,0,NA,Detchd,1930,Unf,2,440,TA,TA,N,0,0,84,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2130,70,RM,60,10266,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,2Story,6,6,1952,1952,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,372,Unf,0,396,768,GasA,TA,Y,FuseA,768,768,0,1536,0,0,1,1,4,1,TA,7,Typ,0,NA,Detchd,1952,Unf,1,308,TA,TA,Y,0,216,80,0,0,0,NA,NA,NA,0,5,2008,COD,Abnorml +2131,50,RM,60,6876,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,6,6,1938,1958,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,1272,1272,GasA,TA,Y,SBrkr,1272,0,697,1969,0,0,2,0,4,1,TA,9,Min1,1,Gd,Detchd,1938,Unf,2,400,TA,TA,Y,0,34,0,0,0,0,NA,NA,NA,0,11,2008,COD,Normal +2132,50,RM,NA,10320,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,5,6,1915,1978,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Fa,BrkTil,TA,Fa,No,Unf,0,Unf,0,880,880,GasA,Gd,Y,SBrkr,880,428,0,1308,0,0,2,0,2,1,TA,6,Typ,0,NA,Detchd,1950,Unf,2,400,Fa,Fa,Y,0,0,117,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2133,30,RM,60,7200,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,6,7,1925,1992,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1040,1040,GasA,Gd,Y,SBrkr,1040,0,0,1040,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1993,Unf,2,320,TA,TA,Y,0,132,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2134,50,RM,62,7006,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,6,6,1925,1950,Gable,CompShg,Stucco,Stucco,None,0,TA,TA,PConc,TA,TA,No,Rec,121,Unf,0,647,768,GasA,TA,Y,SBrkr,788,448,0,1236,1,0,2,0,3,1,TA,6,Typ,1,Gd,Detchd,1985,Unf,1,384,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,8,2008,WD,Family +2135,30,RM,60,10320,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,RRNe,Norm,1Fam,1Story,5,8,1912,1991,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Fa,TA,No,Unf,0,Unf,0,451,451,GasA,TA,Y,SBrkr,759,0,0,759,0,0,1,0,1,1,TA,5,Typ,0,NA,Detchd,1997,Unf,2,576,TA,TA,N,40,0,0,0,0,0,NA,NA,NA,0,8,2008,ConLD,Family +2136,190,RM,60,10320,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,2fmCon,2Story,3,3,1915,1950,Gable,CompShg,AsphShn,AsphShn,None,0,Fa,Fa,PConc,TA,Fa,No,Unf,0,Unf,0,536,536,GasA,Ex,N,FuseF,808,536,0,1344,0,0,2,0,3,2,TA,8,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,42,0,204,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2137,20,RL,82,9488,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,5,6,1947,1993,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1046,1046,GasA,Gd,N,SBrkr,1054,0,0,1054,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1947,Unf,1,240,TA,TA,Y,0,60,122,0,0,0,NA,NA,NA,0,9,2008,WD,Abnorml +2138,85,RL,NA,11235,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Feedr,Norm,1Fam,SFoyer,5,6,1963,1963,Gable,CompShg,HdBoard,Wd Sdng,None,0,TA,TA,CBlock,Gd,TA,Av,ALQ,784,Unf,0,197,981,GasA,TA,Y,SBrkr,1075,0,0,1075,1,0,1,0,3,1,Gd,6,Typ,0,NA,Detchd,1996,Unf,2,440,TA,TA,Y,64,0,0,0,64,0,NA,MnPrv,NA,0,5,2008,WD,Abnorml +2139,80,RL,80,13014,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,SLvl,6,5,1978,1978,Gable,CompShg,HdBoard,Plywood,BrkFace,39,TA,TA,CBlock,TA,TA,Av,ALQ,528,Unf,0,480,1008,GasA,TA,Y,SBrkr,1096,0,0,1096,1,0,1,0,3,1,TA,6,Typ,1,Fa,Attchd,1978,Unf,2,484,TA,TA,Y,168,0,0,0,0,0,NA,NA,NA,0,12,2008,WD,Normal +2140,20,RL,68,10265,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,7,1967,2005,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Fa,CBlock,TA,TA,No,ALQ,758,Unf,0,234,992,GasA,Ex,Y,SBrkr,992,0,0,992,1,0,1,0,3,1,Gd,6,Typ,0,NA,Attchd,1967,RFn,1,294,TA,TA,Y,204,0,0,0,0,0,NA,MnPrv,Shed,600,7,2008,WD,Normal +2141,85,RL,NA,7703,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,Norm,Norm,1Fam,SFoyer,6,8,1978,1978,Gable,CompShg,HdBoard,HdBoard,BrkCmn,40,TA,TA,CBlock,Gd,TA,Gd,ALQ,450,Unf,0,0,450,GasA,Ex,Y,SBrkr,1034,0,0,1034,0,1,1,0,3,1,TA,6,Typ,1,Po,Basment,1978,Fin,2,504,TA,TA,Y,311,0,0,0,0,0,NA,GdWo,NA,0,5,2008,WD,Normal +2142,20,RL,NA,9981,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1967,1967,Gable,CompShg,MetalSd,MetalSd,BrkFace,340,TA,TA,CBlock,TA,TA,Mn,BLQ,221,Unf,0,852,1073,GasA,Gd,Y,SBrkr,1073,0,0,1073,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1967,RFn,1,270,TA,TA,Y,0,90,0,0,0,0,NA,MnPrv,NA,0,3,2008,WD,Normal +2143,85,RL,NA,7400,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,Norm,Norm,1Fam,SFoyer,5,5,1984,1984,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Av,LwQ,104,ALQ,956,0,1060,GasA,TA,Y,SBrkr,1126,0,0,1126,1,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1984,Unf,2,506,TA,TA,Y,178,0,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal +2144,190,RL,60,12900,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Feedr,Norm,2fmCon,1Story,5,4,1920,1950,Gable,CompShg,BrkFace,Stucco,None,0,TA,TA,PConc,TA,Fa,No,BLQ,1300,Unf,0,0,1300,GasA,Fa,Y,SBrkr,1140,0,0,1140,1,0,1,0,3,1,TA,6,Typ,0,NA,CarPort,1920,Unf,2,400,TA,TA,Y,0,0,190,0,0,0,NA,NA,NA,0,1,2008,WD,Alloca +2145,20,RL,94,9239,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,5,8,1963,2003,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,TA,No,GLQ,634,Unf,0,326,960,GasA,Ex,Y,SBrkr,960,0,0,960,1,0,1,0,3,1,Gd,6,Typ,0,NA,Attchd,1963,Fin,1,300,TA,TA,Y,168,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2146,20,RL,88,14175,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,PosA,Norm,1Fam,1Story,6,8,1956,1956,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,Gd,Gd,GLQ,776,Unf,0,212,988,GasA,TA,Y,FuseA,1188,0,0,1188,1,0,1,0,1,1,TA,4,Typ,1,TA,Attchd,1956,Unf,2,621,TA,TA,Y,102,89,231,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2147,190,RL,NA,10532,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,ClearCr,Norm,Norm,1Fam,1Story,5,3,1960,1960,Flat,Tar&Grv,Plywood,Plywood,Stone,275,TA,TA,CBlock,TA,TA,Mn,Rec,988,Unf,0,0,988,GasA,Gd,Y,SBrkr,1721,0,0,1721,1,0,2,0,3,1,TA,7,Mod,2,TA,Basment,1960,Unf,2,626,TA,TA,Y,50,84,0,0,0,0,NA,NA,NA,0,12,2008,WD,Abnorml +2148,50,RL,63,8375,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Norm,Norm,1Fam,1.5Fin,5,7,1941,1973,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,ALQ,336,Unf,0,240,576,GasA,Gd,Y,SBrkr,864,486,0,1350,1,0,1,1,2,1,Gd,6,Min1,0,NA,2Types,1973,Unf,3,627,TA,TA,N,0,0,0,0,0,0,NA,MnPrv,NA,0,6,2008,WD,Normal +2149,80,RL,NA,10200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,SLvl,5,8,1970,1970,Hip,CompShg,HdBoard,HdBoard,None,0,TA,Gd,PConc,Gd,TA,Av,ALQ,704,Unf,0,160,864,GasA,Ex,Y,SBrkr,904,0,0,904,0,0,1,0,3,1,Gd,5,Typ,0,NA,2Types,1979,Unf,3,912,TA,TA,Y,143,0,0,0,0,0,NA,MnPrv,NA,0,6,2008,WD,Normal +2150,20,RL,82,20270,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,ClearCr,Norm,Norm,1Fam,1Story,7,6,1979,1979,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,Gd,GLQ,599,Unf,0,925,1524,GasA,TA,Y,SBrkr,1524,0,0,1524,1,0,2,0,3,1,TA,7,Typ,2,Gd,Attchd,1979,Fin,2,478,TA,TA,Y,140,0,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2151,50,RL,50,5190,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,7,5,1948,1950,Gable,CompShg,BrkFace,Plywood,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,570,570,GasA,TA,Y,SBrkr,617,462,0,1079,0,0,1,0,2,1,TA,5,Typ,1,Gd,Attchd,1948,Unf,1,249,TA,TA,Y,135,0,0,0,0,0,NA,NA,NA,0,1,2008,WD,Normal +2152,30,RL,85,19550,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,7,1940,2007,Flat,Tar&Grv,NA,NA,None,0,TA,TA,PConc,TA,TA,Gd,ALQ,1035,Unf,0,545,1580,GasA,Ex,Y,SBrkr,1518,0,0,1518,1,0,1,0,2,1,Fa,5,Typ,2,Gd,NA,NA,NA,0,0,NA,NA,Y,0,39,0,0,0,0,NA,NA,NA,0,1,2008,WD,Normal +2153,20,RL,68,9571,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,6,1956,1956,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Av,Rec,870,Unf,0,639,1509,GasA,TA,Y,FuseA,1509,0,0,1509,1,0,1,0,3,1,Gd,6,Typ,1,TA,Attchd,1956,Unf,1,322,TA,TA,Y,158,0,0,0,576,0,NA,MnPrv,NA,0,7,2008,WD,Normal +2154,90,RL,50,9350,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,Duplex,SFoyer,5,5,1975,1975,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,Av,GLQ,864,Unf,0,0,864,GasA,Fa,N,SBrkr,864,0,0,864,1,0,1,0,2,1,TA,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2155,60,RL,50,9360,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,2Story,6,8,1962,2001,Gable,CompShg,VinylSd,VinylSd,BrkCmn,216,Gd,TA,CBlock,TA,TA,No,Rec,324,Unf,0,297,621,GasA,TA,Y,SBrkr,621,648,0,1269,0,0,1,1,3,1,TA,7,Typ,0,NA,Detchd,1962,Unf,1,280,TA,TA,Y,0,236,0,0,0,0,NA,GdWo,NA,0,11,2008,WD,Normal +2156,60,RL,NA,9771,Pave,NA,IR3,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,5,1995,2002,Gable,CompShg,HdBoard,HdBoard,BrkFace,190,Gd,TA,PConc,Gd,TA,No,LwQ,779,Unf,0,298,1077,GasA,Ex,Y,SBrkr,1093,1721,0,2814,0,1,2,1,4,1,Gd,9,Typ,1,TA,BuiltIn,1995,Fin,2,614,TA,TA,Y,48,32,0,0,216,0,NA,GdPrv,NA,0,6,2008,WD,Normal +2157,20,RL,80,9938,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,7,5,1994,1994,Gable,CompShg,HdBoard,HdBoard,BrkFace,251,Gd,TA,PConc,Gd,TA,No,GLQ,1271,Unf,0,331,1602,GasA,Ex,Y,SBrkr,1626,0,0,1626,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1994,RFn,2,534,TA,TA,Y,424,40,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2158,60,RL,NA,14171,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,1993,1994,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,355,Unf,0,457,812,GasA,Ex,Y,SBrkr,1101,1099,0,2200,0,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1993,RFn,2,453,TA,TA,Y,168,98,0,0,0,0,NA,NA,NA,0,12,2008,WD,Normal +2159,80,RL,85,10541,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,1Fam,SLvl,7,5,1996,1996,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,672,672,GasA,Ex,Y,SBrkr,1302,735,0,2037,0,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1996,Fin,2,472,TA,TA,Y,100,33,0,0,0,0,NA,NA,NA,0,2,2008,WD,Normal +2160,60,RL,65,10616,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,628,628,GasA,Ex,Y,SBrkr,628,728,0,1356,0,0,2,1,3,1,Gd,6,Typ,1,Gd,BuiltIn,2007,Fin,2,484,TA,TA,Y,100,24,0,0,0,0,NA,NA,NA,0,3,2008,New,Partial +2161,20,RL,65,9345,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,156,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1615,1615,GasA,Ex,Y,SBrkr,1615,0,0,1615,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2007,RFn,3,864,TA,TA,Y,168,30,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2162,20,RL,91,11778,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,9,5,2008,2008,Hip,CompShg,VinylSd,VinylSd,Stone,554,Gd,TA,PConc,Gd,TA,Gd,GLQ,2085,Unf,0,186,2271,GasA,Ex,Y,SBrkr,2276,0,0,2276,1,0,2,0,3,1,Ex,7,Typ,2,Gd,Attchd,2008,RFn,3,1348,Gd,TA,Y,0,0,70,0,255,0,NA,NA,NA,0,6,2008,WD,Abnorml +2163,20,RL,91,11778,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,PosN,Norm,1Fam,1Story,9,5,2008,2008,Hip,CompShg,VinylSd,VinylSd,Stone,402,Ex,TA,PConc,Ex,TA,Av,GLQ,1153,Unf,0,598,1751,GasA,Ex,Y,SBrkr,1766,0,0,1766,1,0,2,1,3,1,Ex,8,Typ,2,Gd,Attchd,2008,Fin,3,874,TA,TA,Y,216,36,0,0,0,0,NA,NA,NA,0,12,2008,New,Partial +2164,80,RL,NA,11454,Pave,NA,IR2,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,1Fam,SLvl,8,5,1995,1995,Gable,CompShg,VinylSd,VinylSd,BrkFace,302,Gd,TA,PConc,Gd,TA,Gd,GLQ,770,Unf,0,631,1401,GasA,Ex,Y,SBrkr,1511,0,0,1511,1,0,2,0,3,1,Gd,6,Typ,1,Fa,Attchd,1995,Fin,3,811,TA,TA,Y,168,42,0,0,0,0,NA,NA,NA,0,2,2008,WD,Normal +2165,20,RL,NA,11500,Pave,NA,IR1,Bnk,AllPub,CulDSac,Gtl,ClearCr,Norm,Norm,1Fam,1Story,6,6,1966,1966,Flat,Tar&Grv,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,Gd,Gd,LwQ,262,ALQ,723,197,1182,GasA,Ex,Y,SBrkr,1643,0,0,1643,1,0,2,0,2,1,TA,6,Typ,1,Gd,Attchd,1966,Unf,2,438,TA,TA,Y,339,0,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal +2166,20,RL,65,9750,Pave,NA,Reg,Low,AllPub,Inside,Mod,CollgCr,Norm,Norm,1Fam,1Story,5,7,1994,1994,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,GLQ,722,Unf,0,268,990,GasA,Ex,Y,SBrkr,990,0,0,990,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1997,Unf,2,528,TA,TA,Y,168,0,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal +2167,20,RL,NA,8696,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,1997,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,150,TA,TA,PConc,Gd,TA,Gd,GLQ,1308,Unf,0,110,1418,GasA,Ex,Y,SBrkr,1418,0,0,1418,1,0,2,0,3,1,Gd,5,Typ,1,TA,Attchd,1997,RFn,2,558,TA,TA,Y,208,110,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2168,60,RL,NA,13142,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,CollgCr,PosN,Norm,1Fam,2Story,6,5,1997,1997,Gable,CompShg,VinylSd,VinylSd,BrkFace,128,TA,TA,PConc,Gd,TA,No,GLQ,688,Unf,0,176,864,GasA,Ex,Y,SBrkr,872,899,0,1771,1,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,1997,RFn,2,600,TA,TA,Y,0,96,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2169,60,RL,68,8998,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,120,Gd,TA,PConc,Gd,TA,Mn,GLQ,527,Unf,0,255,782,GasA,Ex,Y,SBrkr,782,870,0,1652,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2000,RFn,2,532,TA,TA,Y,0,70,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2170,60,RL,75,12192,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2000,2001,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,663,Unf,0,265,928,GasA,Ex,Y,SBrkr,928,895,0,1823,1,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2000,RFn,2,626,TA,TA,Y,192,36,0,0,0,0,NA,NA,Shed,4500,5,2008,WD,Normal +2171,20,RL,NA,12250,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,6,1978,1978,Gable,CompShg,HdBoard,HdBoard,BrkFace,180,TA,TA,CBlock,Gd,TA,Mn,ALQ,781,Unf,0,83,864,GasA,Ex,Y,SBrkr,1174,0,0,1174,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1978,Unf,2,528,TA,TA,Y,211,0,280,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2172,20,RL,NA,9216,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,6,1975,1975,Gable,CompShg,HdBoard,HdBoard,BrkFace,176,TA,TA,CBlock,TA,TA,Av,ALQ,294,Unf,0,782,1076,GasA,TA,Y,SBrkr,1076,0,0,1076,0,0,1,1,3,1,TA,5,Typ,1,Fa,Detchd,1985,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,9,2008,WD,Abnorml +2173,20,RL,40,14330,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,6,1975,2001,Gable,CompShg,Plywood,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,88,ALQ,596,180,864,GasA,TA,Y,SBrkr,1558,0,0,1558,1,0,2,0,2,1,TA,5,Min2,0,NA,Attchd,1975,Fin,2,440,TA,TA,Y,140,0,239,0,227,0,NA,NA,NA,0,8,2008,WD,Normal +2174,60,RL,NA,10400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,BrkFace,227,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1257,1257,GasA,Ex,Y,SBrkr,1290,871,0,2161,0,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,2001,RFn,2,570,TA,TA,Y,0,84,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2175,60,RL,NA,9720,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,2Story,9,5,2001,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,134,Gd,TA,PConc,Gd,TA,Mn,GLQ,1194,Unf,0,163,1357,GasA,Ex,Y,SBrkr,1366,581,0,1947,1,0,2,1,3,1,Gd,7,Typ,1,TA,BuiltIn,2001,Fin,3,725,TA,TA,Y,168,116,0,0,0,0,NA,NA,NA,0,1,2008,WD,Normal +2176,20,RL,NA,14860,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2002,2003,Hip,CompShg,VinylSd,VinylSd,BrkFace,240,Gd,TA,PConc,Ex,TA,Gd,GLQ,1538,Unf,0,240,1778,GasA,Ex,Y,SBrkr,1786,0,0,1786,1,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2002,RFn,3,715,TA,TA,Y,182,35,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2177,60,RL,41,10905,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1129,1129,GasA,Ex,Y,SBrkr,1129,1198,0,2327,0,0,2,1,4,1,Gd,9,Typ,1,Gd,BuiltIn,2003,RFn,2,596,TA,TA,Y,0,57,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal +2178,60,RL,96,11690,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,1999,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,192,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,850,850,GasA,Ex,Y,SBrkr,886,878,0,1764,0,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1999,Unf,2,560,TA,TA,Y,120,29,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2179,120,RM,NA,4426,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,TwnhsE,1Story,6,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,205,Gd,TA,PConc,Gd,TA,Mn,GLQ,662,Unf,0,186,848,GasA,Ex,Y,SBrkr,848,0,0,848,1,0,1,0,1,1,Gd,3,Typ,0,NA,Attchd,2004,RFn,2,420,TA,TA,Y,140,0,0,0,0,0,NA,NA,NA,0,2,2008,WD,Normal +2180,90,RM,83,10126,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,Duplex,SFoyer,6,5,1997,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,PConc,Gd,TA,Gd,GLQ,1593,LwQ,162,83,1838,GasA,Ex,Y,SBrkr,1838,0,0,1838,2,0,2,0,2,2,TA,8,Typ,0,NA,Attchd,1998,Unf,3,721,TA,TA,Y,160,67,0,0,0,0,NA,NA,NA,0,7,2008,WD,Abnorml +2181,20,RL,75,9750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,Stone,50,Gd,TA,PConc,Gd,TA,Mn,GLQ,24,Unf,0,1421,1445,GasA,Ex,Y,SBrkr,1445,0,0,1445,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2004,Unf,2,470,TA,TA,Y,0,35,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2182,20,RL,85,11058,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,6,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,212,Gd,TA,PConc,Gd,TA,No,GLQ,56,Unf,0,1508,1564,GasA,Ex,Y,SBrkr,1564,0,0,1564,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2007,RFn,3,814,TA,TA,Y,0,24,0,0,0,0,NA,NA,NA,0,2,2008,WD,Normal +2183,20,RL,74,9627,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,24,Unf,0,1327,1351,GasA,Ex,Y,SBrkr,1361,0,0,1361,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2007,RFn,2,610,TA,TA,Y,0,50,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2184,20,RL,75,9825,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,5,1966,1966,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Rec,609,Unf,0,483,1092,GasA,TA,Y,SBrkr,1092,0,0,1092,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1966,Unf,1,264,TA,TA,Y,259,0,0,0,161,0,NA,MnPrv,NA,0,4,2008,COD,Abnorml +2185,85,RL,64,12102,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,SFoyer,5,5,1976,1976,Gable,CompShg,HdBoard,Plywood,BrkFace,222,TA,TA,CBlock,Gd,Gd,Gd,ALQ,456,Unf,0,0,456,GasA,Ex,Y,SBrkr,1033,0,0,1033,0,1,1,0,3,1,TA,6,Typ,0,NA,BuiltIn,1976,RFn,2,504,Fa,TA,Y,224,0,0,0,0,0,NA,NA,NA,0,4,2008,WD,Family +2186,20,RL,65,6500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,6,6,1976,1976,Hip,CompShg,HdBoard,Plywood,BrkFace,84,TA,TA,CBlock,TA,NA,No,BLQ,1033,Unf,0,94,1127,GasA,TA,Y,SBrkr,1127,0,0,1127,0,1,1,1,3,1,TA,6,Typ,1,Po,Detchd,1991,Unf,2,480,TA,TA,Y,0,0,138,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2187,80,RL,NA,9638,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Edwards,Norm,Norm,1Fam,SLvl,6,6,1977,1977,Hip,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,Av,ALQ,368,Rec,120,541,1029,GasA,TA,Y,SBrkr,1117,0,0,1117,1,0,1,0,3,1,TA,6,Typ,1,Fa,Attchd,1977,RFn,2,542,TA,TA,Y,292,0,0,0,0,0,NA,NA,NA,0,11,2008,WD,Normal +2188,60,RL,72,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,2Story,6,7,1976,2001,Hip,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,Av,ALQ,288,Unf,0,396,684,GasA,TA,Y,SBrkr,684,714,0,1398,0,0,1,1,3,1,TA,6,Typ,1,TA,Attchd,1976,Fin,2,440,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,2,2008,WD,Normal +2189,20,RL,123,47007,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,7,1959,1996,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,3820,0,0,3820,NA,NA,3,1,5,1,Ex,11,Typ,2,Gd,Attchd,1959,Unf,2,624,TA,TA,Y,0,372,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2190,90,RL,65,6012,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,Duplex,1Story,4,5,1955,1955,Gable,CompShg,AsbShng,Plywood,None,0,TA,Fa,PConc,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,N,SBrkr,1152,0,0,1152,0,0,2,0,2,2,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,AdjLand +2191,90,RL,74,6845,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,Duplex,1Story,4,5,1955,1955,Gable,CompShg,WdShing,Wd Shng,BrkCmn,58,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,N,FuseF,1152,0,0,1152,0,0,2,0,2,2,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2192,190,RL,56,6931,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,2fmCon,1Story,4,5,1955,1955,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Av,ALQ,784,Unf,0,0,784,GasA,TA,N,FuseP,784,0,0,784,1,0,1,0,2,1,TA,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,112,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2193,50,RL,60,12180,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,5,7,1938,2007,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,585,585,GasA,Gd,Y,FuseF,585,468,0,1053,0,0,1,1,2,1,Ex,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,42,0,0,0,0,0,NA,NA,NA,0,1,2008,WD,Family +2194,50,RL,57,8050,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,5,8,1947,1993,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,Gd,Y,SBrkr,929,208,0,1137,0,0,1,1,4,1,TA,8,Min1,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2195,20,RL,68,9520,Pave,NA,Reg,Bnk,AllPub,Inside,Mod,Edwards,Norm,Norm,1Fam,1Story,4,5,1953,1953,Gable,CompShg,MetalSd,MetalSd,Stone,115,TA,TA,CBlock,Gd,TA,No,Rec,767,Unf,0,144,911,GasA,TA,Y,SBrkr,930,0,0,930,0,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1953,RFn,1,286,TA,TA,Y,134,0,0,0,0,0,NA,MnPrv,Gar2,3000,5,2008,WD,Normal +2196,80,RL,62,7692,Pave,NA,Reg,Bnk,AllPub,Inside,Mod,Edwards,Norm,Norm,1Fam,SLvl,4,6,1954,1954,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,Ex,TA,Av,Unf,0,Unf,0,416,416,GasA,Gd,Y,FuseA,1204,0,0,1204,0,0,1,0,3,1,TA,6,Typ,0,NA,Basment,1954,Unf,1,312,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2008,WD,Abnorml +2197,30,RL,67,5142,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,4,7,1923,2008,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,ALQ,224,Unf,0,725,949,GasA,TA,Y,SBrkr,949,343,0,1292,0,0,1,1,3,1,Gd,6,Typ,0,NA,Detchd,1923,Unf,1,205,TA,TA,N,0,0,183,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2198,30,RL,60,7290,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,SWISU,Norm,Norm,1Fam,1Story,7,8,1921,1950,Gable,CompShg,WdShing,Wd Shng,BrkFace,174,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,1228,1228,GasA,Ex,Y,SBrkr,1424,0,0,1424,0,0,2,0,2,1,TA,7,Typ,1,Gd,Attchd,1921,Unf,1,312,TA,TA,Y,0,0,90,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2199,90,RL,64,7804,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,Duplex,2.5Unf,6,7,1930,1950,Gable,CompShg,Stucco,Stucco,None,0,TA,TA,BrkTil,TA,TA,No,ALQ,281,Rec,679,0,960,GasA,Ex,Y,SBrkr,960,960,0,1920,2,0,2,2,4,2,TA,10,Typ,2,Gd,Detchd,1930,Unf,2,480,TA,TA,Y,248,0,121,0,0,0,NA,NA,NA,0,7,2008,WD,Abnorml +2200,70,RL,66,8969,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,6,6,1926,1950,Gambrel,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,BLQ,379,Unf,0,265,644,GasA,Ex,Y,SBrkr,672,644,0,1316,1,0,1,0,2,1,TA,6,Typ,1,Gd,Detchd,2001,Unf,1,369,TA,TA,P,0,0,0,0,192,0,NA,MnPrv,NA,0,7,2008,WD,Normal +2201,50,RL,63,15564,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1.5Fin,6,6,1914,1995,Gable,CompShg,Wd Sdng,Wd Shng,None,0,TA,TA,BrkTil,Gd,TA,No,Unf,0,Unf,0,676,676,GasA,Ex,Y,SBrkr,676,588,0,1264,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1994,Unf,2,400,TA,TA,Y,424,0,0,0,0,0,NA,NA,Shed,400,1,2008,WD,Normal +2202,70,RL,54,7609,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Crawfor,Norm,Norm,1Fam,2Story,8,9,1925,1997,Gable,CompShg,Stucco,Stucco,None,0,Gd,Gd,PConc,Fa,TA,No,ALQ,406,Unf,0,392,798,GasA,Ex,Y,SBrkr,798,714,0,1512,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Detchd,1925,Unf,1,180,TA,TA,P,85,16,41,0,0,0,NA,GdPrv,NA,0,6,2008,WD,Normal +2203,70,RL,NA,9650,Pave,NA,IR1,HLS,AllPub,Corner,Gtl,Crawfor,Norm,Norm,1Fam,2Story,6,3,1923,1950,Hip,CompShg,Wd Sdng,Plywood,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,784,784,GasA,TA,Y,SBrkr,819,784,0,1603,0,0,1,0,4,1,TA,7,Typ,1,Gd,Attchd,1980,Unf,2,599,TA,TA,Y,0,217,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2204,50,RL,NA,11700,Pave,Grvl,IR1,HLS,AllPub,Inside,Mod,Crawfor,Norm,Norm,1Fam,1.5Fin,5,6,1937,1995,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,606,Unf,0,336,942,GasA,Ex,Y,SBrkr,1265,673,0,1938,0,0,2,0,4,1,Gd,7,Min2,1,Gd,Detchd,1937,Unf,1,240,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2205,50,RL,NA,9260,Pave,Grvl,IR1,HLS,AllPub,Inside,Gtl,Crawfor,Feedr,Norm,1Fam,1.5Fin,5,4,1938,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,884,884,GasA,TA,Y,FuseF,932,442,0,1374,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1938,Unf,1,225,TA,TA,Y,64,0,0,0,100,0,NA,NA,NA,0,3,2008,WD,Normal +2206,20,RL,79,7801,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Crawfor,Feedr,Norm,1Fam,1Story,6,5,1951,1951,Hip,CompShg,WdShing,Plywood,BrkFace,88,TA,Fa,PConc,TA,TA,No,Rec,500,Unf,0,591,1091,GasA,Fa,N,FuseA,1091,0,0,1091,0,1,1,0,2,1,TA,5,Typ,1,TA,Attchd,1951,Fin,1,344,TA,TA,Y,66,105,0,0,221,0,NA,MnPrv,NA,0,5,2008,WD,Normal +2207,70,RL,100,9670,Pave,NA,IR1,HLS,AllPub,Inside,Mod,Crawfor,Norm,Norm,1Fam,2Story,8,6,1935,1950,Gable,CompShg,BrkFace,Stucco,Stone,40,TA,TA,PConc,TA,Fa,No,LwQ,210,Unf,0,398,608,GasA,TA,Y,SBrkr,983,890,0,1873,0,0,1,1,4,1,TA,9,Typ,2,Gd,Detchd,1935,Fin,2,786,Fa,TA,Y,0,0,207,0,0,0,NA,NA,NA,0,6,2008,WD,Alloca +2208,50,RL,70,12392,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1.5Fin,7,9,1950,2000,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,Gd,No,GLQ,435,Unf,0,397,832,GasA,Ex,Y,SBrkr,1218,943,0,2161,1,0,2,1,3,1,Gd,8,Typ,2,TA,Attchd,1994,Fin,2,506,TA,TA,Y,0,96,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2209,20,RL,56,26073,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Crawfor,Norm,Norm,1Fam,1Story,5,5,1956,1956,Gable,CompShg,BrkFace,MetalSd,None,0,TA,TA,PConc,TA,TA,No,Rec,1116,Unf,0,782,1898,GasA,Ex,Y,FuseA,1898,0,0,1898,0,0,2,1,3,1,TA,7,Typ,2,TA,Attchd,1956,Unf,2,484,TA,TA,Y,0,51,224,0,0,0,NA,MnPrv,NA,0,4,2008,WD,Normal +2210,160,RM,24,1879,Pave,NA,Reg,Lvl,AllPub,CulDSac,Gtl,Blueste,Norm,Norm,Twnhs,2Story,6,6,1980,1980,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,Gd,TA,No,GLQ,366,Unf,0,150,516,GasA,TA,Y,SBrkr,516,516,0,1032,0,0,1,0,2,1,TA,5,Typ,1,TA,Detchd,1980,Unf,2,462,TA,TA,Y,213,0,0,0,0,0,NA,GdPrv,NA,0,12,2008,WD,Normal +2211,30,RM,50,7000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,6,8,1926,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,BrkTil,TA,TA,No,Rec,299,GLQ,40,555,894,GasA,TA,Y,SBrkr,919,0,0,919,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1926,Unf,1,195,TA,TA,P,0,0,116,0,0,0,NA,MnPrv,NA,0,7,2008,WD,Normal +2212,50,RM,60,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,6,8,1940,2006,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,Fa,TA,No,Unf,0,Unf,0,720,720,GasA,Gd,Y,SBrkr,760,330,0,1090,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1940,Unf,1,240,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2213,50,RM,58,8155,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,5,7,1930,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,780,780,GasA,Gd,Y,FuseA,780,420,0,1200,0,0,1,0,4,1,TA,7,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,96,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2214,80,RM,75,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,SLvl,5,5,1967,1967,Hip,CompShg,HdBoard,Plywood,None,0,Fa,TA,CBlock,Gd,TA,Mn,Rec,257,Unf,0,367,624,GasA,Ex,Y,SBrkr,1092,564,0,1656,0,0,1,1,3,1,TA,7,Mod,1,Po,Attchd,1967,Unf,1,288,TA,TA,Y,0,180,0,0,100,0,NA,MnPrv,NA,0,7,2008,WD,Normal +2215,30,RM,60,7392,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,5,7,1930,1995,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,520,520,GasA,TA,Y,FuseA,912,0,0,912,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1934,RFn,1,360,TA,TA,Y,0,90,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2216,50,RM,75,9000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,5,5,1958,1958,Gable,CompShg,WdShing,Wd Shng,BrkFace,162,TA,TA,CBlock,TA,TA,No,ALQ,330,Unf,0,821,1151,GasA,Gd,Y,FuseA,1151,804,0,1955,0,0,2,0,4,1,TA,7,Typ,0,NA,Attchd,1958,Fin,1,356,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,1,2008,WD,Normal +2217,20,NA,80,14584,Pave,NA,Reg,Low,AllPub,Inside,Mod,IDOTRR,Norm,Norm,1Fam,1Story,1,5,1952,1952,Gable,CompShg,AsbShng,VinylSd,None,0,Fa,Po,Slab,NA,NA,NA,NA,0,NA,0,0,0,Wall,Po,N,FuseA,733,0,0,733,0,0,1,0,2,1,Fa,4,NA,0,NA,Attchd,1952,Unf,2,487,Fa,Po,N,0,0,0,0,0,0,NA,NA,NA,0,2,2008,WD,Abnorml +2218,70,C (all),60,5280,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Feedr,Norm,1Fam,2Story,4,7,1895,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,Stone,NA,Fa,No,Unf,0,Unf,0,173,173,GasA,Ex,N,SBrkr,825,536,0,1361,0,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1895,Unf,1,185,Fa,TA,Y,0,123,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2219,50,C (all),52,5150,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Feedr,Norm,1Fam,1.5Fin,4,7,1910,2000,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,PConc,NA,TA,No,Unf,0,Unf,0,356,356,GasA,TA,N,FuseA,671,378,0,1049,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1910,Unf,1,195,Po,Fa,N,0,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2220,70,C (all),60,9000,Grvl,NA,Reg,Bnk,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,2Story,4,6,1920,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,Stone,Fa,Fa,Mn,Unf,0,Unf,0,592,592,GasA,Ex,Y,SBrkr,432,432,0,864,0,0,1,1,3,1,Fa,5,Min2,0,NA,Detchd,1920,Unf,1,216,Fa,Fa,N,0,30,160,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2221,120,RM,44,3843,Pave,NA,IR1,HLS,AllPub,Inside,Mod,Crawfor,Norm,Norm,TwnhsE,1Story,8,5,2007,2008,Hip,CompShg,CemntBd,CmentBd,Stone,186,Ex,TA,PConc,Ex,TA,Gd,GLQ,1476,Unf,0,120,1596,GasA,Ex,Y,SBrkr,1648,0,0,1648,1,1,2,0,2,1,Ex,5,Typ,1,Gd,Attchd,2007,Fin,2,525,TA,TA,Y,162,53,0,153,0,0,NA,NA,NA,0,8,2008,New,Partial +2222,120,RM,44,3811,Pave,NA,IR1,HLS,AllPub,Inside,Mod,Crawfor,Norm,Norm,TwnhsE,1Story,7,5,2004,2005,Hip,CompShg,CemntBd,CmentBd,Stone,174,Gd,TA,PConc,Ex,TA,Gd,GLQ,1474,Unf,0,120,1594,GasA,Ex,Y,SBrkr,1646,0,0,1646,1,1,2,0,2,1,Ex,5,Typ,1,Gd,Attchd,2004,Fin,2,482,TA,TA,Y,128,53,0,0,155,0,NA,NA,NA,0,7,2008,WD,Normal +2223,20,RL,NA,23730,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,7,5,1996,1997,Gable,CompShg,MetalSd,MetalSd,BrkFace,668,Gd,TA,PConc,Ex,TA,Mn,GLQ,700,Unf,0,1140,1840,GasA,Ex,Y,SBrkr,2032,0,0,2032,1,0,3,0,3,1,Gd,7,Typ,0,NA,Attchd,1996,Fin,3,786,TA,TA,Y,0,46,192,0,0,0,NA,NA,NA,0,9,2008,WD,Normal +2224,60,RL,NA,11050,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,2Story,7,5,1996,1997,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,910,910,GasA,Ex,Y,SBrkr,910,910,0,1820,0,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1996,Unf,3,816,TA,TA,Y,318,32,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal +2225,90,RL,76,10260,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,Duplex,2Story,5,4,1976,1976,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,936,936,0,1872,0,0,2,2,4,2,TA,8,Typ,0,NA,Attchd,1976,Unf,2,484,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2008,WD,Abnorml +2226,20,RL,74,9990,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,4,5,1991,1991,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,No,ALQ,1383,Unf,0,297,1680,GasA,Gd,Y,SBrkr,1689,0,0,1689,1,0,2,0,3,1,TA,6,Typ,1,TA,Attchd,1991,Unf,2,432,TA,TA,Y,428,120,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2227,120,RL,42,4084,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,TwnhsE,1Story,7,6,1986,1986,Gable,CompShg,VinylSd,VinylSd,BrkFace,340,Gd,TA,CBlock,Gd,TA,Av,GLQ,893,Unf,0,384,1277,GasA,Gd,Y,SBrkr,1501,0,0,1501,1,0,2,0,2,1,Gd,6,Typ,1,TA,Attchd,1986,Fin,2,512,TA,TA,Y,240,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2228,20,RL,74,11563,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2006,2007,Hip,CompShg,VinylSd,VinylSd,Stone,258,Gd,TA,PConc,Ex,TA,Gd,GLQ,1036,Unf,0,482,1518,GasA,Ex,Y,SBrkr,1537,0,0,1537,1,0,2,0,3,1,Gd,8,Typ,0,NA,Attchd,2007,Fin,3,788,TA,TA,Y,0,26,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2229,60,RL,107,12852,Pave,NA,IR1,HLS,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,2Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,770,Unf,0,150,920,GasA,Ex,Y,SBrkr,920,860,0,1780,1,0,2,1,3,1,Gd,6,Typ,1,Gd,Attchd,2007,Fin,2,612,TA,TA,Y,0,192,0,0,0,0,NA,NA,NA,0,1,2008,New,Partial +2230,80,RL,73,9802,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,SLvl,5,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,352,352,GasA,Gd,Y,SBrkr,712,730,0,1442,0,0,2,1,3,1,TA,6,Typ,0,NA,BuiltIn,2007,Fin,2,400,TA,TA,Y,100,0,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2231,60,RL,81,12018,Pave,NA,IR1,HLS,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,2Story,7,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,Stone,60,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,796,796,GasA,Ex,Y,SBrkr,796,816,0,1612,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2008,Fin,3,666,TA,TA,Y,0,64,0,0,0,0,NA,NA,NA,0,10,2008,New,Partial +2232,20,RL,75,12890,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,6,5,1989,1989,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,128,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,1495,1495,GasA,Ex,Y,SBrkr,1495,0,0,1495,0,0,2,0,3,1,TA,8,Typ,1,TA,Attchd,1989,Unf,2,438,TA,TA,Y,252,0,192,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2233,20,RL,93,18265,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,1Story,6,5,1986,1986,Gable,CompShg,Plywood,HdBoard,BrkFace,228,Gd,Gd,CBlock,Gd,Gd,Av,GLQ,920,Rec,60,276,1256,GasA,Ex,Y,SBrkr,1256,0,0,1256,0,0,2,0,3,1,Gd,6,Typ,1,Fa,Attchd,1986,Unf,2,578,TA,TA,Y,282,0,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal +2234,20,RL,82,11202,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2003,2003,Hip,CompShg,VinylSd,VinylSd,BrkFace,206,Gd,TA,PConc,Ex,TA,Av,GLQ,1029,Unf,0,403,1432,GasA,Ex,Y,SBrkr,1440,0,0,1440,1,0,2,0,3,1,Gd,7,Typ,1,TA,Attchd,2003,Fin,2,467,TA,TA,Y,185,95,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2235,20,RL,NA,7915,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,6,5,1999,2000,Hip,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,Mn,GLQ,1223,Unf,0,443,1666,GasA,Ex,Y,SBrkr,1675,0,0,1675,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1999,RFn,2,435,TA,TA,Y,165,52,0,0,0,0,NA,NA,NA,0,12,2008,WD,Normal +2236,20,RL,79,11449,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,1011,Unf,0,873,1884,GasA,Ex,Y,SBrkr,1728,0,0,1728,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2007,Fin,2,520,TA,TA,Y,0,276,0,0,0,0,NA,NA,NA,0,1,2008,WD,Normal +2237,20,RL,85,11447,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,674,Gd,TA,PConc,Ex,TA,Av,GLQ,1571,Unf,0,393,1964,GasA,Ex,Y,SBrkr,1964,0,0,1964,1,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2005,Fin,3,892,TA,TA,Y,0,265,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2238,90,RM,97,8940,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Mitchel,Norm,Norm,Duplex,SFoyer,7,5,1997,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,200,TA,Gd,PConc,Gd,Gd,Gd,GLQ,1309,Unf,0,35,1344,GasA,Ex,Y,SBrkr,1344,0,0,1344,2,0,2,0,2,2,TA,8,Typ,0,NA,Attchd,1997,Fin,4,784,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2008,WD,Alloca +2239,20,RL,77,9278,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Mitchel,Feedr,Artery,1Fam,1Story,5,5,2007,2008,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1092,1092,GasA,Ex,Y,SBrkr,1092,0,0,1092,0,0,1,0,2,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,52,0,0,0,0,NA,NA,NA,0,2,2008,WD,Abnorml +2240,120,RM,32,4500,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Mitchel,Norm,Norm,TwnhsE,1Story,6,5,1997,1997,Hip,CompShg,VinylSd,VinylSd,BrkFace,197,TA,TA,PConc,Ex,TA,No,GLQ,864,Unf,0,325,1189,GasA,Ex,Y,SBrkr,1189,0,0,1189,1,0,2,0,2,1,TA,4,Typ,0,NA,Attchd,1997,RFn,2,392,TA,TA,Y,0,122,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2241,85,RL,150,14137,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Mitchel,Norm,Norm,1Fam,SFoyer,4,5,1964,1964,Gable,CompShg,HdBoard,HdBoard,BrkFace,98,TA,TA,CBlock,Gd,TA,Av,ALQ,865,LwQ,247,88,1200,GasA,Gd,Y,SBrkr,1200,0,0,1200,1,0,1,0,3,1,TA,6,Typ,0,NA,2Types,1964,Fin,3,850,TA,TA,Y,0,119,0,0,171,0,NA,NA,NA,0,11,2008,ConLD,Normal +2242,120,RM,NA,4224,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,1Story,5,6,1975,1975,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,PConc,Gd,TA,No,GLQ,769,Unf,0,271,1040,GasA,Gd,Y,SBrkr,1040,0,0,1040,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1975,Unf,2,499,TA,TA,Y,0,100,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2243,160,RM,41,2665,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,2Story,5,7,1976,1976,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,PConc,Gd,TA,No,ALQ,318,Unf,0,232,550,GasA,TA,Y,SBrkr,925,550,0,1475,0,0,2,0,4,1,TA,6,Typ,1,TA,Attchd,1976,Unf,1,336,TA,TA,Y,92,26,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal +2244,180,RM,21,1974,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,SFoyer,4,7,1973,2006,Gable,CompShg,CemntBd,CmentBd,None,0,TA,Gd,CBlock,Gd,TA,Av,GLQ,501,Unf,0,25,526,GasA,Gd,Y,SBrkr,526,462,0,988,1,0,1,0,2,1,TA,5,Typ,0,NA,BuiltIn,1973,RFn,1,297,TA,TA,Y,120,101,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal +2245,180,RM,21,1596,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,SLvl,4,6,1973,1973,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,Gd,TA,Gd,GLQ,437,Unf,0,25,462,GasA,TA,Y,SBrkr,526,462,0,988,1,0,1,0,1,1,TA,4,Typ,1,Po,BuiltIn,1973,RFn,1,297,TA,TA,Y,0,101,0,120,0,0,NA,GdWo,NA,0,7,2008,WD,Normal +2246,20,RL,NA,17979,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,6,1968,1968,Gable,CompShg,Plywood,Plywood,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,785,Unf,0,328,1113,GasA,Ex,Y,SBrkr,1160,0,0,1160,1,0,1,0,3,1,Gd,6,Typ,0,NA,Attchd,1968,Unf,1,257,TA,TA,Y,81,0,0,0,0,0,NA,GdWo,Shed,500,2,2008,WD,Normal +2247,160,RM,21,1477,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,2Story,6,9,1970,2007,Gable,CompShg,CemntBd,CmentBd,None,0,TA,Gd,CBlock,TA,TA,No,GLQ,358,Unf,0,188,546,GasA,Ex,Y,SBrkr,546,546,0,1092,0,0,2,1,3,1,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,187,0,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal +2248,20,RL,59,6490,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,7,1983,1983,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,TA,No,GLQ,534,Unf,0,282,816,GasA,Ex,Y,SBrkr,816,0,0,816,0,1,1,0,2,1,TA,4,Typ,0,NA,Attchd,1983,Unf,1,264,TA,TA,Y,315,0,0,0,0,0,NA,GdWo,NA,0,4,2008,WD,Normal +2249,20,RL,60,6600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,6,1982,2005,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,TA,TA,No,GLQ,638,Unf,0,207,845,GasA,Gd,Y,SBrkr,845,0,0,845,0,0,1,0,3,1,Gd,6,Typ,0,NA,Attchd,1982,Unf,1,264,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal +2250,20,RL,74,12395,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,6,1984,1984,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,647,Unf,0,217,864,GasA,TA,Y,SBrkr,889,0,0,889,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1984,Unf,2,484,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal +2251,70,NA,NA,56600,Pave,NA,IR1,Low,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,2.5Unf,5,1,1900,1950,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,686,686,GasA,Ex,Y,SBrkr,1150,686,0,1836,0,0,2,0,4,1,TA,7,Maj1,0,NA,Detchd,1900,Unf,1,288,TA,Fa,N,0,0,0,0,0,0,NA,NA,NA,0,1,2008,WD,Normal +2252,20,RL,85,10667,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1971,1971,Gable,CompShg,MetalSd,MetalSd,BrkFace,302,TA,TA,CBlock,TA,TA,No,BLQ,838,Unf,0,749,1587,GasA,TA,Y,SBrkr,1587,0,0,1587,0,0,2,0,3,1,TA,7,Typ,1,Gd,Attchd,1971,Unf,2,525,TA,TA,Y,0,44,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2253,80,RL,56,8872,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,6,5,1997,1997,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,384,384,GasA,Gd,Y,SBrkr,754,630,0,1384,0,0,2,1,3,1,TA,7,Typ,1,TA,BuiltIn,1997,Fin,2,390,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2254,80,RL,NA,10147,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,6,5,1994,1994,Gable,CompShg,HdBoard,HdBoard,BrkFace,32,TA,TA,PConc,Gd,TA,No,LwQ,186,Unf,0,206,392,GasA,Gd,Y,SBrkr,924,770,0,1694,0,0,2,1,3,1,TA,7,Typ,1,TA,BuiltIn,1994,Fin,2,398,TA,TA,Y,256,64,0,0,0,0,NA,MnPrv,NA,0,3,2007,WD,Normal +2255,60,RL,NA,8637,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1999,2000,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,ALQ,871,Unf,0,52,923,GasA,Gd,Y,SBrkr,947,767,0,1714,1,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,2000,Fin,2,451,TA,TA,Y,256,48,0,0,0,0,NA,NA,NA,0,4,2007,WD,Abnorml +2256,60,RL,63,7875,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,1996,1996,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,No,Rec,414,Unf,0,277,691,GasA,Gd,Y,SBrkr,691,862,0,1553,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,1996,Fin,2,420,TA,TA,Y,0,44,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2257,60,RL,60,7500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1999,2003,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,938,938,GasA,Ex,Y,SBrkr,957,1342,0,2299,0,0,3,1,5,1,TA,7,Typ,1,TA,Attchd,1999,Fin,2,482,TA,TA,Y,188,30,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2258,20,RL,NA,9556,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,1Story,7,5,1992,1993,Gable,CompShg,HdBoard,HdBoard,BrkFace,52,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1168,1168,GasA,Gd,Y,SBrkr,1187,0,0,1187,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1992,RFn,2,420,TA,TA,Y,0,21,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2259,60,RL,NA,7655,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1993,1994,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,903,903,GasA,Gd,Y,SBrkr,910,732,0,1642,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1993,RFn,2,392,TA,TA,Y,290,84,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2260,20,RL,160,18160,Grvl,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,1Story,6,6,1964,1964,Gable,CompShg,HdBoard,HdBoard,BrkCmn,138,TA,TA,CBlock,TA,TA,Av,BLQ,550,Unf,0,752,1302,GasA,Fa,Y,SBrkr,1128,0,0,1128,1,0,1,0,3,1,TA,6,Typ,1,TA,Attchd,1964,Unf,2,480,TA,TA,P,0,108,246,0,0,0,NA,MnPrv,NA,0,3,2007,WD,Alloca +2261,120,RL,38,4740,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,1988,1988,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,CBlock,Gd,TA,Gd,GLQ,248,Unf,0,918,1166,GasA,Gd,Y,SBrkr,1179,0,0,1179,1,0,2,0,2,1,TA,5,Typ,0,NA,Attchd,1988,RFn,2,480,TA,TA,Y,0,108,0,0,135,0,NA,NA,NA,0,10,2007,WD,Normal +2262,120,RL,35,5118,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,1990,1990,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Gd,TA,Gd,GLQ,926,Unf,0,386,1312,GasA,Gd,Y,SBrkr,1321,0,0,1321,1,0,1,0,1,1,Gd,4,Typ,1,TA,Attchd,1990,RFn,2,484,TA,TA,Y,0,64,140,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2263,60,RL,98,12328,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,StoneBr,Norm,Norm,1Fam,2Story,8,5,2005,2005,Hip,CompShg,VinylSd,VinylSd,Stone,146,Gd,TA,PConc,Ex,TA,Mn,GLQ,986,Unf,0,163,1149,GasA,Ex,Y,SBrkr,1164,1377,0,2541,1,0,3,1,4,1,Ex,10,Typ,1,Gd,BuiltIn,2005,Fin,3,729,TA,TA,Y,120,32,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2264,20,RL,52,51974,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,StoneBr,PosN,Norm,1Fam,1Story,9,5,2006,2007,Hip,CompShg,VinylSd,VinylSd,BrkFace,710,Ex,TA,PConc,Ex,TA,Av,GLQ,1101,Unf,0,1559,2660,GasA,Ex,Y,SBrkr,2338,0,0,2338,1,0,2,1,4,1,Gd,8,Typ,2,Gd,Attchd,2005,Fin,3,1110,Gd,TA,Y,0,135,0,0,322,0,NA,NA,NA,0,6,2007,New,Partial +2265,190,RL,195,41600,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,Gilbert,Norm,Norm,2fmCon,1Story,5,5,1969,1990,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,Gd,ALQ,1047,Unf,0,53,1100,GasW,TA,Y,SBrkr,1424,0,0,1424,1,0,1,1,3,1,TA,7,Mod,0,NA,2Types,1969,Unf,3,828,TA,TA,N,144,0,0,0,0,0,NA,NA,NA,0,11,2007,WD,Normal +2266,120,RL,61,8035,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,9,5,2006,2006,Gable,CompShg,MetalSd,MetalSd,BrkFace,165,Gd,TA,PConc,Ex,TA,Gd,GLQ,797,Unf,0,815,1612,GasA,Ex,Y,SBrkr,1612,0,0,1612,1,0,2,0,2,1,Ex,6,Typ,1,Gd,Attchd,2006,Fin,2,556,TA,TA,Y,0,164,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2267,20,RL,85,14082,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,StoneBr,Norm,Norm,1Fam,1Story,8,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,945,Gd,TA,PConc,Ex,Gd,Gd,GLQ,1558,Unf,0,662,2220,GasA,Ex,Y,SBrkr,2234,0,0,2234,1,0,1,1,1,1,Gd,7,Typ,1,Gd,Attchd,2006,RFn,2,724,TA,TA,Y,390,80,0,0,0,0,NA,NA,NA,0,1,2007,WD,Normal +2268,20,RL,81,13870,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,StoneBr,PosA,PosA,1Fam,1Story,10,5,2006,2007,Hip,CompShg,CemntBd,CmentBd,BrkFace,250,Ex,TA,PConc,Ex,TA,Gd,GLQ,1152,Unf,0,590,1742,GasA,Ex,Y,SBrkr,2042,0,0,2042,1,0,2,0,3,1,Ex,8,Typ,1,Gd,Attchd,2007,Fin,3,724,TA,TA,Y,240,52,0,0,174,0,NA,NA,NA,0,10,2007,New,Partial +2269,20,RL,NA,10960,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,5,1984,1984,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,No,GLQ,256,Unf,0,1028,1284,GasA,TA,Y,SBrkr,1284,0,0,1284,1,0,2,0,3,1,TA,5,Typ,0,NA,Attchd,1984,Unf,2,480,TA,TA,Y,0,0,192,0,0,0,NA,NA,NA,0,4,2007,COD,Abnorml +2270,60,RL,78,12090,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,7,7,1981,2003,Gable,CompShg,MetalSd,MetalSd,BrkFace,306,Gd,TA,CBlock,Gd,TA,No,ALQ,321,Unf,0,404,725,GasA,Ex,Y,SBrkr,725,754,0,1479,0,0,2,1,3,1,Gd,6,Typ,1,TA,Attchd,1981,RFn,2,484,TA,TA,Y,167,72,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2271,20,RL,93,12299,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,7,6,1978,1985,Gable,CompShg,Plywood,Plywood,Stone,67,TA,TA,CBlock,Gd,TA,No,GLQ,1328,Unf,0,201,1529,GasA,TA,Y,SBrkr,1664,0,0,1664,1,0,2,0,3,1,Gd,7,Typ,1,TA,Attchd,1978,Fin,2,663,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,9,2007,WD,Normal +2272,60,RL,61,11339,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,PosA,Norm,1Fam,2Story,7,5,1979,1979,Hip,WdShake,HdBoard,Plywood,BrkFace,549,TA,TA,CBlock,Gd,TA,No,ALQ,758,Unf,0,22,780,GasA,TA,Y,SBrkr,1085,845,0,1930,1,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1979,Fin,2,481,TA,TA,Y,192,72,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2273,20,RL,79,11850,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,6,1984,1984,Gable,CompShg,Plywood,Plywood,BrkFace,98,TA,TA,CBlock,Gd,TA,No,ALQ,781,Unf,0,372,1153,GasA,TA,Y,SBrkr,1177,0,0,1177,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1984,Fin,2,495,TA,TA,Y,204,103,0,0,0,0,NA,MnPrv,NA,0,8,2007,WD,Normal +2274,20,RL,80,10400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,5,1979,1999,Gable,CompShg,MetalSd,MetalSd,BrkFace,253,TA,TA,CBlock,Gd,TA,No,GLQ,903,Unf,0,356,1259,GasA,Ex,Y,SBrkr,1353,0,0,1353,1,0,2,0,2,1,TA,5,Typ,1,TA,Attchd,1979,RFn,2,478,TA,TA,Y,240,141,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2275,20,RL,128,13001,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,PosN,Norm,1Fam,1Story,6,5,1971,1971,Hip,CompShg,HdBoard,HdBoard,BrkFace,176,TA,TA,CBlock,TA,TA,Mn,ALQ,492,BLQ,121,1012,1625,GasA,TA,Y,SBrkr,1220,0,0,1220,0,1,2,0,2,1,TA,6,Typ,1,TA,Attchd,1971,Unf,2,944,TA,TA,Y,0,0,249,0,0,0,NA,NA,NA,0,9,2007,WD,Normal +2276,80,RL,64,8991,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NWAmes,PosN,Norm,1Fam,SLvl,7,6,1976,1976,Gable,CompShg,Plywood,Plywood,Stone,130,TA,TA,CBlock,Gd,TA,Gd,GLQ,624,Rec,604,0,1228,GasA,TA,Y,SBrkr,1324,0,0,1324,0,1,2,0,3,1,Gd,5,Typ,1,Fa,Attchd,1976,Fin,2,585,TA,TA,Y,407,36,0,0,0,0,NA,NA,NA,0,2,2007,WD,Normal +2277,60,RL,80,8000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,PosN,Norm,1Fam,2Story,6,6,1974,1974,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,ALQ,931,LwQ,153,0,1084,GasA,TA,Y,SBrkr,1084,793,0,1877,1,0,2,1,4,1,TA,8,Typ,1,TA,Attchd,1974,Unf,2,488,TA,TA,Y,0,96,0,0,0,0,NA,NA,NA,0,11,2007,WD,Normal +2278,20,RL,63,9457,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1970,1990,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,566,Unf,0,359,925,GasA,TA,Y,SBrkr,1422,0,0,1422,1,0,1,0,3,1,TA,7,Min2,0,NA,Detchd,1988,Unf,2,576,TA,TA,Y,252,0,0,0,0,0,NA,GdWo,NA,0,9,2007,WD,Normal +2279,20,RL,66,7920,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1970,2002,Gable,CompShg,HdBoard,HdBoard,BrkFace,32,TA,TA,CBlock,TA,TA,No,ALQ,81,GLQ,619,214,914,GasA,Ex,Y,SBrkr,914,0,0,914,0,0,1,0,3,1,Ex,5,Typ,0,NA,Attchd,1970,RFn,1,368,TA,Gd,Y,120,0,0,0,0,0,NA,NA,NA,0,10,2007,WD,Normal +2280,20,RL,NA,17199,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,7,1961,1961,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,BrkTil,TA,TA,No,ALQ,314,Unf,0,600,914,GasA,Ex,Y,SBrkr,914,0,0,914,0,0,1,0,2,1,TA,4,Typ,0,NA,Basment,1961,Unf,1,270,Fa,TA,Y,140,0,0,0,0,0,NA,GdWo,NA,0,7,2007,WD,Normal +2281,120,RH,33,4113,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,TwnhsE,1Story,6,5,2001,2001,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,1337,1337,GasA,Ex,Y,SBrkr,1337,0,0,1337,0,0,2,0,2,1,Gd,5,Typ,1,TA,Attchd,2001,Fin,2,511,TA,TA,Y,136,68,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2282,120,RH,26,10943,Pave,NA,IR2,Lvl,AllPub,FR2,Gtl,NAmes,Norm,Norm,TwnhsE,1Story,6,5,1997,1998,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,930,Unf,0,475,1405,GasA,Ex,Y,SBrkr,1337,0,0,1337,1,0,2,0,2,1,Gd,5,Typ,1,TA,Attchd,1997,Fin,2,522,TA,TA,Y,0,68,0,0,0,0,NA,NA,NA,0,10,2007,WD,Normal +2283,160,RM,21,2205,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,6,1973,1973,Gable,CompShg,HdBoard,HdBoard,BrkFace,567,TA,TA,CBlock,TA,TA,No,ALQ,312,Unf,0,213,525,GasA,TA,Y,SBrkr,525,567,0,1092,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1973,Unf,1,264,TA,TA,Y,144,0,0,0,0,0,NA,NA,NA,0,2,2007,WD,Normal +2284,160,RM,21,2058,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,5,1973,1973,Gable,CompShg,HdBoard,HdBoard,BrkFace,265,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,672,672,GasA,Ex,Y,SBrkr,672,546,0,1218,0,0,1,1,4,1,Ex,7,Typ,0,NA,Detchd,1973,Unf,1,264,TA,TA,Y,0,28,0,0,0,0,NA,NA,NA,0,12,2007,WD,Normal +2285,120,RL,24,2304,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NPkVill,Norm,Norm,Twnhs,1Story,7,7,1978,1978,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,Gd,TA,No,GLQ,632,Unf,6,423,1061,GasA,TA,Y,SBrkr,1055,0,0,1055,0,0,2,0,2,1,TA,4,Typ,0,NA,Attchd,1978,Unf,1,319,TA,TA,Y,108,32,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal +2286,20,RL,65,7150,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1966,1966,Hip,CompShg,HdBoard,HdBoard,BrkFace,52,TA,TA,CBlock,TA,TA,No,BLQ,725,Unf,0,263,988,GasA,TA,Y,SBrkr,988,0,0,988,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1974,Unf,1,360,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2007,WD,Normal +2287,20,RL,96,12469,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2006,2007,Hip,CompShg,VinylSd,VinylSd,Stone,378,Ex,TA,PConc,Ex,TA,Gd,GLQ,1151,Unf,0,639,1790,GasA,Ex,Y,SBrkr,1816,0,0,1816,1,0,2,0,3,1,Ex,7,Typ,1,Gd,Attchd,2007,Fin,3,730,TA,TA,Y,186,36,0,0,0,0,NA,NA,NA,0,8,2007,New,Partial +2288,20,RL,91,11825,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2006,2007,Gable,CompShg,CemntBd,CmentBd,Stone,302,Gd,TA,PConc,Ex,TA,Mn,Unf,0,Unf,0,1694,1694,GasA,Ex,Y,SBrkr,1694,0,0,1694,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2006,RFn,3,856,TA,TA,Y,0,112,0,0,0,0,NA,NA,NA,0,6,2007,New,Partial +2289,20,RL,110,14333,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Gd,GLQ,1518,Unf,0,590,2108,GasA,Ex,Y,SBrkr,2122,0,0,2122,1,0,2,1,2,1,Gd,7,Typ,1,Ex,Attchd,2007,Fin,3,938,TA,TA,Y,130,142,0,0,0,0,NA,NA,NA,0,11,2007,New,Partial +2290,60,RL,107,13641,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2007,2007,Hip,CompShg,CemntBd,CmentBd,BrkFace,456,Ex,TA,PConc,Ex,TA,Gd,GLQ,1304,Unf,0,630,1934,GasA,Ex,Y,SBrkr,1943,713,0,2656,1,0,2,1,3,1,Ex,8,Typ,1,Gd,Attchd,2007,RFn,3,1040,TA,TA,Y,268,58,0,0,0,0,NA,NA,NA,0,12,2007,New,Partial +2291,60,RL,110,13440,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2006,2007,Hip,CompShg,VinylSd,VinylSd,BrkFace,190,Gd,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1108,1108,GasA,Ex,Y,SBrkr,1148,1402,0,2550,0,0,2,1,4,1,Ex,11,Typ,1,Gd,BuiltIn,2006,Fin,3,670,TA,TA,Y,120,39,0,0,0,0,NA,NA,NA,0,3,2007,New,Partial +2292,20,RL,105,15431,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,10,5,2005,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,400,Ex,TA,PConc,Ex,TA,Gd,GLQ,1430,Unf,0,564,1994,GasA,Ex,Y,SBrkr,2046,0,0,2046,1,0,2,1,2,1,Ex,7,Typ,2,Gd,Attchd,2005,Fin,3,878,TA,TA,Y,188,65,0,0,175,0,NA,NA,NA,0,8,2007,WD,Normal +2293,20,RL,107,13891,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2007,2007,Hip,CompShg,VinylSd,VinylSd,Stone,456,Ex,TA,PConc,Ex,TA,Gd,GLQ,1812,Unf,0,740,2552,GasA,Ex,Y,SBrkr,2552,0,0,2552,1,0,2,0,3,1,Ex,8,Typ,2,Ex,Attchd,2007,Fin,3,932,TA,TA,Y,130,28,0,0,0,0,NA,NA,NA,0,10,2007,New,Partial +2294,60,RL,118,13654,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2005,2006,Gable,CompShg,MetalSd,MetalSd,BrkFace,365,Gd,TA,PConc,Ex,TA,Gd,Unf,0,Unf,0,1704,1704,GasA,Ex,Y,SBrkr,1722,1036,0,2758,0,0,2,1,4,1,Ex,9,Typ,1,Ex,BuiltIn,2005,Fin,3,814,TA,TA,Y,282,55,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2295,20,RL,59,17169,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,NridgHt,Norm,Norm,1Fam,1Story,10,5,2007,2007,Hip,CompShg,CemntBd,CmentBd,BrkFace,970,Ex,TA,PConc,Ex,TA,Av,GLQ,1684,Unf,0,636,2320,GasA,Ex,Y,SBrkr,2290,0,0,2290,2,0,2,1,2,1,Ex,7,Typ,1,Gd,Attchd,2007,Fin,3,1174,TA,TA,Y,192,30,0,0,0,0,NA,NA,NA,0,8,2007,New,Partial +2296,60,RL,134,16659,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2007,2008,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1582,1582,GasA,Ex,Y,SBrkr,1582,570,0,2152,0,0,2,1,3,1,Gd,7,Typ,1,Gd,Detchd,2007,Unf,2,728,TA,TA,Y,0,368,0,0,0,0,NA,NA,NA,0,6,2007,New,Partial +2297,60,RL,82,9709,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,120,Ex,TA,PConc,Ex,TA,Gd,GLQ,778,Unf,0,140,918,GasA,Ex,Y,SBrkr,958,1142,0,2100,1,0,2,1,3,1,Ex,8,Typ,2,Gd,BuiltIn,2007,Fin,3,786,TA,TA,Y,172,104,0,0,0,0,NA,NA,NA,0,9,2007,New,Partial +2298,20,RL,94,13615,Pave,NA,IR1,HLS,AllPub,Corner,Mod,NridgHt,Norm,Norm,1Fam,1Story,9,5,2006,2006,Hip,CompShg,MetalSd,MetalSd,Stone,510,Ex,TA,PConc,Ex,TA,Gd,Unf,0,Unf,0,1802,1802,GasA,Ex,Y,SBrkr,1802,0,0,1802,0,0,2,1,3,1,Ex,7,Typ,1,Gd,Attchd,2006,Fin,3,843,TA,TA,Y,158,105,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2299,60,RL,99,13069,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,502,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1706,1706,GasA,Ex,Y,SBrkr,1718,1238,0,2956,0,0,2,1,5,1,Ex,11,Typ,1,Ex,BuiltIn,2004,RFn,3,916,TA,TA,Y,194,50,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2300,60,RL,110,14277,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,280,Gd,TA,PConc,Ex,TA,Mn,GLQ,938,Unf,0,379,1317,GasA,Ex,Y,SBrkr,1217,1168,0,2385,1,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2003,Fin,3,818,TA,TA,Y,192,228,0,0,0,0,NA,NA,NA,0,1,2007,WD,Normal +2301,60,RL,NA,12568,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2007,2007,Hip,CompShg,VinylSd,VinylSd,Stone,246,Gd,TA,PConc,Ex,TA,Av,GLQ,669,Unf,0,226,895,GasA,Ex,Y,SBrkr,895,923,0,1818,1,0,2,1,3,1,Ex,8,Typ,1,Gd,Attchd,2007,Fin,3,774,TA,TA,Y,196,104,0,0,0,0,NA,NA,NA,0,8,2007,New,Partial +2302,20,RL,70,9926,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,210,Gd,TA,PConc,Gd,TA,Mn,GLQ,1178,Unf,0,436,1614,GasA,Ex,Y,SBrkr,1614,0,0,1614,1,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2005,RFn,3,878,TA,TA,Y,100,38,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2303,20,RL,71,9254,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,210,Gd,TA,PConc,Gd,TA,No,GLQ,119,Unf,0,1602,1721,GasA,Ex,Y,SBrkr,1721,0,0,1721,1,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2005,RFn,2,554,TA,TA,Y,168,27,0,0,0,0,NA,NA,NA,0,1,2007,WD,Normal +2304,60,RL,92,10732,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1298,1298,GasA,Ex,Y,SBrkr,1298,530,0,1828,0,0,2,1,3,1,Gd,7,Typ,0,NA,BuiltIn,2006,RFn,3,876,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,2,2007,New,Partial +2305,120,RL,34,3901,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,Twnhs,1Story,6,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,Stone,182,Gd,TA,PConc,Gd,TA,Av,ALQ,866,Unf,0,436,1302,GasA,Ex,Y,SBrkr,1302,0,0,1302,1,0,1,1,1,1,Gd,5,Typ,1,Gd,Attchd,2005,RFn,2,631,TA,TA,Y,110,50,0,0,0,0,NA,NA,NA,0,8,2007,New,Partial +2306,120,RL,34,3903,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,Twnhs,1Story,6,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,Stone,182,Gd,TA,PConc,Gd,TA,Av,ALQ,1030,Unf,0,272,1302,GasA,Ex,Y,SBrkr,1302,0,0,1302,1,0,1,1,1,1,Gd,5,Typ,1,Gd,Attchd,2005,RFn,2,631,TA,TA,Y,110,50,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2307,120,RL,41,6289,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,6,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,Stone,256,Gd,TA,PConc,Gd,TA,Av,ALQ,762,Unf,0,600,1362,GasA,Ex,Y,SBrkr,1362,0,0,1362,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2005,RFn,2,460,TA,TA,Y,192,28,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2308,120,RL,34,4590,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,Twnhs,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,Stone,108,Gd,TA,PConc,Gd,Gd,Mn,GLQ,24,Unf,0,1530,1554,GasA,Ex,Y,SBrkr,1554,0,0,1554,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2006,RFn,2,627,TA,TA,Y,156,73,0,0,0,0,NA,NA,NA,0,5,2007,CWD,Normal +2309,120,RL,48,7841,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,9,5,2005,2005,Hip,CompShg,MetalSd,MetalSd,BrkFace,394,Ex,TA,PConc,Ex,TA,No,GLQ,848,Unf,0,729,1577,GasA,Ex,Y,SBrkr,1577,0,0,1577,1,0,2,0,2,1,Ex,6,Typ,1,Gd,Attchd,2005,RFn,2,564,TA,TA,Y,203,39,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2310,120,RL,48,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,8,5,2006,2006,Hip,CompShg,MetalSd,MetalSd,BrkFace,176,Gd,TA,PConc,Gd,TA,No,GLQ,24,Unf,0,1300,1324,GasA,Ex,Y,SBrkr,1324,0,0,1324,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2006,Fin,2,550,TA,TA,Y,0,38,0,0,0,0,NA,NA,NA,0,9,2007,New,Partial +2311,120,RL,48,3242,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,7,5,2003,2003,Gable,CompShg,VinylSd,Wd Shng,Stone,235,Gd,TA,PConc,Gd,TA,No,GLQ,1000,Unf,0,405,1405,GasA,Ex,Y,SBrkr,1405,0,0,1405,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2003,RFn,2,478,TA,TA,Y,136,36,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2312,60,RL,59,15810,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,RRAn,Norm,1Fam,2Story,6,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,NA,NA,Gd,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,768,768,GasA,Ex,Y,SBrkr,768,728,0,1496,0,0,3,0,3,1,Gd,7,Typ,0,NA,Attchd,2007,Unf,2,572,TA,TA,Y,100,0,0,0,0,0,NA,NA,NA,0,5,2007,New,Partial +2313,60,RL,65,10237,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,RRAn,Norm,1Fam,2Story,6,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,768,768,GasA,Ex,Y,SBrkr,768,768,0,1536,0,0,2,1,3,1,Gd,6,Typ,1,Gd,Attchd,2005,Fin,2,400,TA,TA,Y,100,38,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2314,60,RL,58,13204,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,RRAn,Norm,1Fam,2Story,7,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,Stone,44,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,608,608,GasA,Ex,Y,SBrkr,608,850,0,1458,0,0,2,0,3,1,Gd,6,Typ,0,NA,BuiltIn,2007,Fin,2,454,TA,TA,Y,100,33,0,0,0,0,NA,NA,NA,0,5,2007,New,Partial +2315,60,RL,62,8857,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,738,738,GasA,Ex,Y,SBrkr,738,757,0,1495,0,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2006,RFn,2,440,TA,TA,Y,100,30,0,0,0,0,NA,NA,NA,0,3,2007,New,Partial +2316,60,RL,63,9729,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,698,698,GasA,Ex,Y,SBrkr,698,1048,0,1746,1,0,2,1,3,1,Gd,6,Typ,1,Gd,BuiltIn,2007,Unf,3,350,TA,TA,Y,0,34,0,0,0,0,NA,NA,NA,0,6,2007,New,Partial +2317,20,RL,88,12216,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,1Story,6,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Av,GLQ,918,Unf,0,408,1326,GasA,Ex,Y,SBrkr,1326,0,0,1326,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2005,Fin,2,388,TA,TA,Y,120,23,0,0,0,0,NA,NA,Shed,2000,6,2007,WD,Normal +2318,60,RL,72,8229,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,22,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,752,752,GasA,Ex,Y,SBrkr,752,752,0,1504,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2007,Fin,2,440,TA,TA,Y,100,32,0,0,0,0,NA,NA,NA,0,12,2007,New,Partial +2319,60,RL,64,7713,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,16,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,728,728,GasA,Ex,Y,SBrkr,728,728,0,1456,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2007,Fin,2,400,TA,TA,Y,100,24,0,0,0,0,NA,NA,NA,0,7,2007,New,Partial +2320,20,RL,64,7697,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,1Story,7,6,2007,2007,Gable,CompShg,VinylSd,VinylSd,BrkFace,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1246,1246,GasA,Ex,Y,SBrkr,1258,0,0,1258,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2007,RFn,2,462,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2007,New,Partial +2321,120,RL,NA,3621,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,8,5,2003,2003,Hip,CompShg,VinylSd,VinylSd,BrkFace,72,Gd,TA,PConc,Gd,TA,Gd,GLQ,1084,Unf,0,322,1406,GasA,Ex,Y,SBrkr,1589,0,0,1589,1,0,2,0,2,1,Gd,7,Typ,1,TA,Attchd,2003,Fin,3,630,TA,TA,Y,143,20,0,0,0,0,NA,NA,NA,0,11,2007,WD,Normal +2322,20,RL,53,3710,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,1Fam,1Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,BrkFace,16,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1266,1266,GasA,Ex,Y,SBrkr,1266,0,0,1266,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2007,Fin,2,388,TA,TA,Y,100,16,0,0,0,0,NA,NA,NA,0,8,2007,New,Partial +2323,80,RL,65,16219,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,7,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Gd,GLQ,779,Unf,0,56,835,GasA,Ex,Y,SBrkr,1119,0,0,1119,1,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,2004,Fin,2,437,TA,TA,Y,100,24,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal +2324,80,RL,87,11084,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,192,Unf,0,192,384,GasA,Ex,Y,SBrkr,744,630,0,1374,1,0,2,1,3,1,Gd,8,Typ,1,Gd,BuiltIn,2004,Fin,2,400,TA,TA,Y,100,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Family +2325,20,RL,59,10936,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,1Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1510,1510,GasA,Ex,Y,SBrkr,1525,0,0,1525,0,0,2,1,3,1,Gd,6,Typ,1,Gd,Attchd,2006,RFn,2,534,TA,TA,Y,100,18,0,0,0,0,NA,NA,NA,0,4,2007,New,Partial +2326,80,RL,NA,11950,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,NA,NA,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,384,384,GasA,Ex,Y,SBrkr,754,640,0,1394,0,0,2,1,3,1,Gd,7,Typ,1,TA,BuiltIn,2003,Fin,2,400,TA,TA,Y,100,0,0,0,0,0,NA,NA,NA,0,10,2007,WD,Normal +2327,60,RL,63,7875,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,16,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,847,847,GasA,Ex,Y,SBrkr,847,1101,0,1948,0,0,2,1,4,1,Gd,8,Typ,1,Gd,BuiltIn,2003,Fin,2,434,TA,TA,Y,0,48,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2328,60,RL,NA,8740,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,574,Unf,0,280,854,GasA,Ex,Y,SBrkr,864,1131,0,1995,0,0,2,1,4,1,Gd,8,Typ,1,Gd,BuiltIn,2002,Fin,2,435,TA,TA,Y,264,48,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2329,60,RL,58,9487,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,GLQ,520,Unf,0,395,915,GasA,Ex,Y,SBrkr,940,750,0,1690,1,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,2000,RFn,2,442,TA,TA,Y,0,50,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2330,60,RL,59,9649,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1999,2000,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,941,941,GasA,Ex,Y,SBrkr,961,683,0,1644,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1999,RFn,2,460,TA,TA,Y,460,42,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2331,60,RL,100,12191,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1997,1998,Hip,CompShg,VinylSd,VinylSd,BrkFace,515,Gd,TA,PConc,Gd,TA,Av,GLQ,1181,Unf,0,598,1779,GasA,Ex,Y,SBrkr,1779,772,0,2551,1,0,2,1,4,1,Gd,8,Typ,2,TA,Attchd,1998,Fin,3,925,TA,TA,Y,76,61,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2332,60,RL,89,10557,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,9,5,1998,1998,Gable,CompShg,MetalSd,MetalSd,BrkFace,422,Gd,TA,PConc,Ex,TA,Gd,GLQ,672,Unf,0,736,1408,GasA,Ex,Y,SBrkr,1671,1407,0,3078,1,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1998,Fin,3,806,TA,TA,Y,108,87,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2333,60,RL,74,11002,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1998,1999,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,1048,Unf,0,341,1389,GasA,Ex,Y,SBrkr,1411,1171,0,2582,1,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1998,Fin,3,758,TA,TA,Y,286,60,0,0,0,0,NA,NA,NA,0,1,2007,WD,Normal +2334,60,RL,83,10790,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,7,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,275,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1066,1066,GasA,Ex,Y,SBrkr,1108,1277,0,2385,0,0,2,1,4,1,Gd,8,Typ,1,TA,BuiltIn,1998,Fin,3,600,TA,TA,Y,120,38,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2335,60,RL,88,11762,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1992,1993,Gable,CompShg,VinylSd,VinylSd,BrkFace,309,Gd,TA,PConc,Ex,TA,No,GLQ,335,Unf,0,770,1105,GasA,Ex,Y,SBrkr,1105,1097,0,2202,1,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1992,RFn,2,517,TA,TA,Y,0,65,0,0,144,0,NA,NA,NA,0,9,2007,WD,Normal +2336,60,RL,82,9044,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1996,1997,Gable,CompShg,VinylSd,VinylSd,BrkFace,526,Gd,Gd,PConc,Gd,TA,No,GLQ,1225,Unf,0,100,1325,GasA,Ex,Y,SBrkr,1335,1203,0,2538,0,0,2,1,4,1,Gd,8,Typ,1,TA,Attchd,1996,RFn,3,933,TA,TA,Y,198,92,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2337,20,RL,75,9910,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Feedr,Norm,1Fam,1Story,7,6,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1369,1369,GasA,Ex,Y,SBrkr,1369,0,0,1369,0,0,2,0,3,1,Gd,5,Typ,0,NA,Attchd,2007,Unf,2,605,TA,TA,Y,0,203,0,0,0,0,NA,NA,NA,0,9,2007,New,Partial +2338,20,RL,91,11830,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Feedr,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,BrkFace,164,Gd,TA,PConc,Gd,TA,No,GLQ,1220,Unf,0,322,1542,GasA,Ex,Y,SBrkr,1542,0,0,1542,1,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2007,Unf,3,852,TA,TA,Y,168,110,0,0,0,0,NA,NA,NA,0,7,2007,New,Partial +2339,20,RL,76,10612,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,248,Gd,TA,PConc,Gd,TA,Mn,GLQ,28,Unf,0,1496,1524,GasA,Gd,Y,SBrkr,1534,0,0,1534,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2006,Fin,2,484,TA,TA,Y,168,46,0,0,0,0,NA,NA,NA,0,1,2007,WD,Family +2340,20,RL,98,12291,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,10,5,2007,2007,Hip,CompShg,CemntBd,CmentBd,BrkFace,754,Ex,TA,PConc,Ex,TA,Av,GLQ,1572,Unf,0,394,1966,GasA,Ex,Y,SBrkr,1966,0,0,1966,1,0,2,0,1,1,Ex,6,Typ,1,Gd,Attchd,2007,Fin,3,1092,TA,TA,Y,76,52,0,0,0,0,NA,NA,NA,0,10,2007,New,Partial +2341,20,RL,85,9965,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Somerst,Feedr,Norm,1Fam,1Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,NA,NA,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1528,1528,GasA,Ex,Y,SBrkr,1528,0,0,1528,0,0,3,2,3,1,Gd,6,Typ,1,TA,Attchd,2007,Unf,2,480,TA,TA,Y,0,228,0,0,0,0,NA,NA,NA,0,9,2007,New,Partial +2342,20,RL,74,8847,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,148,Gd,TA,PConc,Gd,TA,Av,GLQ,769,Unf,0,769,1538,GasA,Ex,Y,SBrkr,1538,0,0,1538,1,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2005,RFn,2,484,TA,TA,Y,146,40,0,0,0,0,NA,NA,NA,0,12,2007,WD,Normal +2343,20,RL,70,8251,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,143,Gd,TA,PConc,Gd,Gd,Av,GLQ,778,Unf,0,716,1494,GasA,Ex,Y,SBrkr,1506,0,0,1506,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2005,RFn,2,672,TA,TA,Y,192,35,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal +2344,60,RL,70,9605,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,982,982,GasA,Ex,Y,SBrkr,982,995,0,1977,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2006,RFn,3,574,TA,TA,Y,240,53,0,0,0,0,NA,NA,NA,0,7,2007,WD,Family +2345,60,RL,75,8778,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1302,1302,GasA,Ex,Y,SBrkr,1302,528,0,1830,0,0,2,1,3,1,Gd,7,Typ,0,NA,BuiltIn,2006,RFn,3,859,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2346,20,FV,72,8640,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,24,Unf,0,1314,1338,GasA,Ex,Y,SBrkr,1338,0,0,1338,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2007,RFn,2,598,TA,TA,Y,0,141,0,0,0,0,NA,NA,NA,0,11,2007,New,Partial +2347,20,FV,75,9000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1335,1335,GasA,Ex,Y,SBrkr,1335,0,0,1335,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2007,RFn,2,575,TA,TA,Y,0,210,0,0,0,0,NA,NA,NA,0,6,2007,New,Partial +2348,60,FV,72,8640,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,350,Unf,0,546,896,GasA,Ex,Y,SBrkr,896,896,0,1792,0,0,2,1,3,1,Gd,8,Typ,0,NA,Attchd,2007,Fin,2,590,TA,TA,Y,184,96,0,0,0,0,NA,NA,NA,0,11,2007,New,Partial +2349,60,FV,81,10411,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,1Fam,2Story,5,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,CBlock,Gd,TA,NA,Unf,0,Unf,0,725,725,GasA,Ex,Y,SBrkr,725,863,0,1588,0,0,3,0,3,1,Gd,8,Typ,0,NA,Attchd,2007,Unf,2,561,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2007,New,Partial +2350,60,FV,112,12217,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2007,2007,Hip,CompShg,WdShing,Wd Shng,NA,NA,Gd,TA,PConc,Ex,TA,Av,GLQ,745,Unf,0,210,955,GasA,Ex,Y,SBrkr,955,925,0,1880,1,0,2,1,3,1,Ex,8,Typ,1,Gd,Attchd,2007,Fin,3,880,TA,TA,Y,168,127,0,0,0,0,NA,NA,NA,0,12,2007,New,Partial +2351,20,FV,84,10440,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,CemntBd,CmentBd,None,0,Ex,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,1574,1574,GasA,Ex,Y,SBrkr,1584,0,0,1584,0,0,2,0,2,1,Ex,6,Typ,1,Gd,Attchd,2007,Fin,2,594,TA,TA,Y,0,256,0,0,0,0,NA,NA,NA,0,5,2007,New,Partial +2352,20,FV,100,11824,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,298,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1685,1685,GasA,Ex,Y,SBrkr,1685,0,0,1685,0,0,2,0,2,1,Gd,5,Typ,1,Gd,Attchd,2006,Fin,3,658,TA,TA,Y,112,63,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal +2353,60,FV,85,10625,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,6,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,353,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1158,1158,GasA,Ex,Y,SBrkr,1158,1285,0,2443,0,0,2,1,4,1,Gd,9,Min2,1,Gd,BuiltIn,2004,RFn,3,744,TA,TA,Y,193,127,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2354,20,RL,63,7500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,6,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1100,1100,GasA,Ex,Y,SBrkr,1100,0,0,1100,0,0,1,1,3,1,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,136,0,0,0,0,NA,NA,NA,0,6,2007,New,Partial +2355,20,RL,63,7500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,Gd,No,Unf,0,Unf,0,1143,1143,GasA,Ex,Y,SBrkr,1143,0,0,1143,0,0,1,1,3,1,Gd,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,55,0,0,0,0,NA,NA,NA,0,10,2007,WD,Normal +2356,20,RL,60,12450,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,RRAe,Norm,1Fam,1Story,5,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,126,Gd,TA,PConc,Gd,TA,No,GLQ,729,Unf,0,365,1094,GasA,Ex,Y,SBrkr,1094,0,0,1094,1,0,1,0,3,1,Gd,6,Typ,0,NA,Detchd,2004,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2357,20,RL,65,7441,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,170,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1461,1461,GasA,Ex,Y,SBrkr,1486,0,0,1486,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2006,RFn,2,566,TA,TA,Y,0,32,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2358,60,RL,NA,11613,Pave,NA,IR2,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,5,1993,1997,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,ALQ,480,Unf,0,384,864,GasA,Ex,Y,SBrkr,920,900,0,1820,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,1993,RFn,2,492,TA,TA,Y,144,85,0,0,0,0,NA,GdPrv,NA,0,5,2007,WD,Normal +2359,160,RL,50,8012,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,TwnhsE,2Story,6,5,1980,1980,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,630,630,GasA,Ex,Y,SBrkr,630,636,0,1266,0,0,1,1,2,1,TA,5,Typ,2,TA,Attchd,1980,RFn,1,283,TA,TA,Y,340,0,0,0,0,0,NA,MnPrv,NA,0,7,2007,WD,Normal +2360,20,RL,64,6285,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1977,1977,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,No,LwQ,138,Rec,351,405,894,GasA,TA,Y,SBrkr,894,0,0,894,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1979,Unf,1,308,TA,TA,Y,192,0,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2361,20,RL,84,7476,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,7,1968,1968,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Rec,812,Unf,0,228,1040,GasA,TA,Y,SBrkr,1040,0,0,1040,1,0,1,1,3,1,TA,5,Typ,0,NA,Detchd,1991,Fin,2,686,TA,TA,Y,188,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2362,60,RL,NA,19522,Pave,NA,IR1,Bnk,AllPub,Inside,Gtl,Veenker,Norm,Norm,1Fam,2Story,7,5,1990,1990,Gable,CompShg,HdBoard,HdBoard,BrkFace,272,Gd,TA,PConc,Gd,TA,No,GLQ,727,Unf,0,496,1223,GasA,Gd,Y,SBrkr,1271,1232,0,2503,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1990,RFn,2,564,TA,TA,Y,0,99,0,0,182,0,NA,NA,NA,0,2,2007,WD,Normal +2363,20,RL,44,10751,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,RRAe,Norm,1Fam,1Story,5,5,1974,1974,Gable,CompShg,Plywood,Plywood,BrkFace,44,TA,TA,CBlock,Fa,TA,Gd,ALQ,787,Unf,0,250,1037,GasA,TA,Y,SBrkr,1037,0,0,1037,1,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1974,RFn,2,431,TA,TA,Y,136,47,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2364,20,RL,43,12712,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,RRAe,Norm,1Fam,1Story,6,7,1973,2006,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,Gd,TA,Mn,ALQ,968,Unf,0,76,1044,GasA,TA,Y,SBrkr,1055,0,0,1055,1,0,1,0,2,1,Gd,5,Typ,1,TA,Attchd,1973,RFn,2,542,TA,TA,Y,455,0,0,0,0,0,NA,NA,NA,0,1,2007,WD,Abnorml +2365,120,FV,45,4379,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,8,5,2004,2004,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,851,Unf,0,527,1378,GasA,Ex,Y,SBrkr,1378,0,0,1378,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2004,Fin,2,540,TA,TA,Y,160,56,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2366,120,FV,80,3523,Pave,Pave,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,8,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,Stone,30,Gd,TA,PConc,Gd,TA,No,GLQ,60,Unf,0,1081,1141,GasA,Ex,Y,SBrkr,1151,0,0,1151,1,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,2006,Fin,2,484,TA,TA,Y,0,60,0,0,0,0,NA,NA,NA,0,2,2007,New,Partial +2367,120,FV,32,3784,Pave,Pave,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,8,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,Stone,36,Gd,TA,PConc,Gd,TA,No,GLQ,60,Unf,0,1451,1511,GasA,Ex,Y,SBrkr,1565,0,0,1565,1,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,2006,Fin,2,476,TA,TA,Y,0,120,0,0,0,0,NA,NA,NA,0,2,2007,New,Partial +2368,120,FV,40,3606,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,7,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,Gd,No,GLQ,937,Unf,0,415,1352,GasA,Ex,Y,SBrkr,1352,0,0,1352,1,0,2,0,2,1,Gd,5,Typ,1,Gd,Attchd,2006,RFn,2,466,TA,TA,Y,0,241,0,0,0,0,NA,NA,NA,0,8,2007,New,Partial +2369,120,FV,30,5330,Pave,Pave,IR2,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,8,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,NA,NA,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1550,1550,GasA,Ex,Y,SBrkr,1550,0,0,1550,0,0,2,1,2,1,Gd,5,Typ,0,NA,Attchd,2007,Fin,2,528,TA,TA,Y,0,102,0,0,0,0,NA,NA,NA,0,7,2007,New,Partial +2370,160,FV,24,2280,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,2Story,6,5,1999,1999,Gable,CompShg,MetalSd,MetalSd,BrkFace,342,TA,TA,PConc,Gd,TA,No,GLQ,565,Unf,0,179,744,GasA,Gd,Y,SBrkr,757,744,0,1501,1,0,2,1,3,1,TA,6,Typ,1,TA,Detchd,1999,Unf,2,440,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,9,2007,WD,Normal +2371,160,FV,24,2117,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,2Story,6,5,2000,2000,Gable,CompShg,MetalSd,MetalSd,BrkFace,216,Gd,TA,PConc,Gd,TA,No,GLQ,417,Unf,0,339,756,GasA,Ex,Y,SBrkr,769,804,0,1573,0,0,2,1,3,1,Gd,4,Typ,0,NA,Detchd,2000,Unf,2,440,TA,TA,Y,0,32,0,0,0,0,NA,NA,NA,0,9,2007,WD,Normal +2372,20,FV,73,7321,Pave,Pave,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,1999,2000,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1339,1339,GasA,Ex,Y,SBrkr,1358,0,0,1358,0,0,2,0,3,1,Gd,5,Typ,0,NA,Detchd,1999,Unf,2,625,TA,TA,Y,176,174,0,0,0,0,NA,NA,NA,0,12,2007,COD,Normal +2373,60,FV,NA,8010,Pave,Pave,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2003,2004,Hip,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Ex,TA,No,GLQ,964,Unf,0,90,1054,GasA,Ex,Y,SBrkr,1072,976,0,2048,1,0,2,1,3,1,Gd,8,Typ,2,Gd,Detchd,2003,Unf,2,552,TA,TA,Y,0,48,0,0,180,0,NA,NA,NA,0,8,2007,WD,Normal +2374,60,FV,106,8413,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,Gd,PConc,Ex,TA,Mn,GLQ,901,Unf,0,319,1220,GasA,Ex,Y,SBrkr,1220,1142,0,2362,1,0,2,1,3,1,Gd,8,Typ,2,TA,Attchd,1998,RFn,2,1105,Gd,TA,Y,147,0,36,0,144,0,NA,NA,NA,0,6,2007,WD,Normal +2375,120,RL,50,9466,Pave,NA,IR2,Lvl,AllPub,FR2,Gtl,Veenker,Norm,Norm,TwnhsE,1Story,8,5,1994,1995,Gable,CompShg,BrkFace,BrkFace,None,0,Gd,TA,PConc,Gd,TA,Gd,LwQ,457,ALQ,1037,0,1494,GasA,Ex,Y,SBrkr,1494,0,0,1494,1,0,1,1,1,1,Gd,5,Typ,1,Gd,Attchd,1994,Fin,2,478,TA,TA,Y,0,30,0,0,217,0,NA,NA,NA,0,5,2007,WD,Normal +2376,20,RL,80,12000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Veenker,Norm,Norm,1Fam,1Story,7,6,1980,1980,Hip,CompShg,VinylSd,MetalSd,BrkFace,600,Gd,TA,CBlock,Gd,TA,No,GLQ,1732,Unf,0,270,2002,GasA,Ex,Y,SBrkr,2362,0,0,2362,1,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1980,RFn,2,546,Gd,TA,Y,180,16,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2377,20,RL,94,17778,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Veenker,Norm,Norm,1Fam,1Story,8,5,1981,1981,Hip,CompShg,BrkFace,BrkFace,None,0,Gd,TA,CBlock,Gd,TA,Gd,ALQ,1632,Rec,829,0,2461,GasA,Gd,Y,SBrkr,2497,0,0,2497,1,0,2,0,2,1,Gd,7,Typ,2,Gd,Attchd,1981,RFn,2,676,TA,TA,Y,266,0,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2378,20,RL,78,11700,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,RRAn,Norm,1Fam,1Story,6,6,1968,1968,Gable,CompShg,MetalSd,MetalSd,BrkFace,41,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,912,912,GasA,Ex,Y,SBrkr,1152,0,0,1152,1,0,1,1,3,1,TA,7,Typ,0,NA,Attchd,1968,RFn,2,412,TA,TA,Y,0,126,0,0,0,0,NA,NA,NA,0,9,2007,CWD,Normal +2379,60,RL,80,8000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,PosA,Norm,1Fam,2Story,6,6,1970,1970,Gable,CompShg,VinylSd,VinylSd,BrkFace,525,TA,TA,CBlock,TA,TA,No,Rec,915,Unf,0,93,1008,GasA,TA,Y,SBrkr,1403,1008,0,2411,1,0,2,1,4,1,TA,8,Typ,1,Po,Attchd,1970,RFn,2,570,TA,TA,Y,0,192,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2380,85,RL,NA,8723,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,PosN,Norm,1Fam,SFoyer,6,6,1969,1969,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,Av,BLQ,973,Unf,0,0,973,GasA,Ex,Y,SBrkr,1082,0,0,1082,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1969,Unf,2,480,TA,TA,Y,160,0,0,0,0,0,NA,NA,NA,0,1,2007,WD,Normal +2381,20,RL,130,11700,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,5,1968,1968,Gable,CompShg,HdBoard,HdBoard,BrkFace,196,TA,TA,PConc,Gd,TA,No,ALQ,910,Unf,0,385,1295,GasA,Fa,Y,SBrkr,1295,0,0,1295,1,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1968,Fin,2,528,TA,TA,Y,0,194,0,0,200,0,NA,NA,NA,0,4,2007,WD,Normal +2382,20,RL,108,11358,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NWAmes,Norm,Norm,1Fam,1Story,7,7,1972,1987,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,346,Unf,0,778,1124,GasA,TA,Y,SBrkr,1610,0,0,1610,0,0,2,0,3,1,Gd,8,Typ,1,TA,Attchd,1972,RFn,2,515,TA,TA,Y,202,0,0,0,256,0,NA,NA,NA,0,5,2007,WD,Normal +2383,20,RL,80,9547,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,7,6,1993,1993,Gable,CompShg,VinylSd,VinylSd,BrkFace,112,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1594,1594,GasA,Ex,Y,SBrkr,1594,0,0,1594,0,0,2,0,2,1,Gd,6,Typ,1,TA,Attchd,1993,RFn,2,472,TA,TA,Y,190,80,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2384,60,RL,78,10530,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,7,6,1993,1993,Gable,CompShg,MetalSd,MetalSd,BrkFace,194,Gd,TA,PConc,Gd,TA,No,GLQ,819,Unf,0,329,1148,GasA,Ex,Y,SBrkr,1091,984,0,2075,1,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,1993,Unf,2,473,TA,TA,Y,235,86,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2385,20,RL,88,10738,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,7,1966,1966,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,ALQ,792,Unf,0,301,1093,GasA,Gd,Y,SBrkr,1093,0,0,1093,1,0,2,0,3,1,TA,6,Typ,1,Fa,Attchd,1966,RFn,2,484,TA,TA,Y,224,0,0,0,0,0,NA,MnPrv,Shed,400,11,2007,WD,Normal +2386,20,RL,80,10800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,5,1963,1963,Gable,CompShg,HdBoard,HdBoard,BrkFace,203,TA,TA,CBlock,TA,TA,No,BLQ,617,Rec,264,171,1052,GasA,TA,Y,SBrkr,1052,0,0,1052,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1963,Fin,1,311,TA,TA,Y,0,133,0,0,0,0,NA,NA,NA,0,2,2007,COD,Normal +2387,20,RL,70,8050,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1967,1993,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,474,BLQ,38,437,949,GasA,TA,Y,SBrkr,1107,0,0,1107,1,0,1,0,3,1,Gd,5,Typ,0,NA,Attchd,1967,RFn,1,308,TA,TA,Y,88,64,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2388,90,RL,NA,10899,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,Duplex,1Story,4,5,1964,1964,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,N,SBrkr,1224,0,0,1224,0,0,2,0,2,2,TA,8,Typ,0,NA,CarPort,1964,Unf,3,530,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal +2389,20,RL,74,7450,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1956,1956,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,438,LwQ,206,250,894,GasA,Gd,Y,SBrkr,1074,0,0,1074,0,0,1,0,2,1,Gd,6,Min1,1,Gd,Detchd,1966,Unf,2,396,TA,TA,Y,0,72,0,0,0,0,NA,GdWo,NA,0,1,2007,WD,Normal +2390,20,RL,NA,14357,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1961,1961,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,ALQ,311,LwQ,167,386,864,GasA,TA,Y,SBrkr,1187,0,0,1187,1,0,1,0,2,1,TA,6,Typ,1,TA,Attchd,1961,RFn,2,440,TA,TA,Y,128,0,0,0,0,0,NA,NA,NA,0,8,2007,CWD,Normal +2391,20,RL,76,8243,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1961,1961,Gable,CompShg,VinylSd,VinylSd,BrkFace,56,TA,Gd,CBlock,TA,TA,No,ALQ,700,Unf,0,264,964,GasA,Ex,Y,SBrkr,964,0,0,964,0,0,1,0,3,1,TA,5,Typ,1,Fa,Detchd,1985,Fin,2,784,TA,TA,Y,170,0,0,0,0,0,NA,GdPrv,NA,0,2,2007,WD,Normal +2392,20,RL,70,8680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1960,1960,Hip,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,894,894,GasA,TA,Y,SBrkr,894,0,0,894,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1965,Unf,1,312,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,1,2007,WD,Normal +2393,20,RL,80,8800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,7,6,1966,1966,Hip,CompShg,HdBoard,Plywood,BrkFace,202,TA,TA,CBlock,TA,TA,No,BLQ,654,Unf,0,520,1174,GasA,Ex,Y,SBrkr,1200,0,0,1200,0,1,2,0,3,1,TA,6,Typ,1,TA,Attchd,1966,RFn,2,440,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,10,2007,CWD,Normal +2394,80,RL,80,9200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,6,5,1965,1965,Gable,CompShg,HdBoard,HdBoard,BrkFace,98,TA,TA,CBlock,TA,TA,Gd,GLQ,494,Unf,0,548,1042,GasA,TA,Y,SBrkr,1042,0,0,1042,0,0,2,0,3,1,TA,5,Typ,0,NA,Attchd,1965,RFn,2,440,TA,TA,Y,192,0,0,0,0,0,NA,GdPrv,NA,0,5,2007,WD,Normal +2395,60,RL,80,8800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,2Story,6,7,1964,1997,Gable,CompShg,MetalSd,MetalSd,BrkFace,306,TA,Gd,CBlock,TA,TA,No,ALQ,414,Unf,0,431,845,GasA,Ex,Y,SBrkr,845,1309,0,2154,0,0,2,1,5,1,TA,8,Typ,1,Gd,Attchd,1964,RFn,2,539,TA,TA,Y,0,0,0,0,161,0,NA,MnPrv,NA,0,7,2007,WD,Normal +2396,20,RL,NA,11382,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1964,1964,Gable,CompShg,Wd Sdng,Plywood,BrkFace,212,TA,TA,CBlock,TA,TA,No,ALQ,54,Rec,543,533,1130,GasA,TA,Y,SBrkr,1374,0,0,1374,0,1,1,0,3,1,TA,7,Typ,1,TA,Attchd,1964,RFn,1,286,TA,TA,Y,0,28,84,0,0,0,NA,MnPrv,NA,0,8,2007,WD,Normal +2397,20,RL,NA,22002,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,7,1959,1991,Gable,CompShg,MetalSd,MetalSd,BrkFace,136,TA,Gd,CBlock,TA,TA,Mn,ALQ,1386,Unf,0,206,1592,GasA,Gd,Y,SBrkr,1652,0,0,1652,1,0,1,1,3,1,Gd,6,Typ,1,Gd,Attchd,1959,RFn,2,510,TA,TA,Y,0,0,0,0,201,0,NA,NA,NA,0,7,2007,WD,Normal +2398,45,RL,85,12172,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1.5Unf,5,7,1940,1996,Gable,CompShg,Wd Sdng,HdBoard,None,0,TA,TA,PConc,TA,TA,No,LwQ,130,Rec,259,433,822,GasA,TA,Y,SBrkr,908,0,0,908,0,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1975,Unf,2,512,TA,TA,Y,284,24,0,0,192,0,NA,MnPrv,NA,0,10,2007,WD,Normal +2399,20,RL,50,5000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,3,3,1946,1950,Gable,CompShg,WdShing,Wd Shng,None,0,Fa,Fa,CBlock,Fa,Fa,No,LwQ,299,Unf,0,367,666,GasA,Fa,N,SBrkr,666,0,0,666,0,1,1,0,2,1,Gd,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,52,0,0,0,0,NA,MnPrv,NA,0,4,2007,WD,Normal +2400,50,RL,51,3500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Feedr,Norm,1Fam,1.5Fin,3,5,1945,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,LwQ,144,Unf,0,226,370,GasA,TA,N,FuseA,442,228,0,670,1,0,1,0,2,1,Fa,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,21,0,0,0,0,NA,MnPrv,Shed,2000,7,2007,WD,Normal +2401,20,RL,50,5175,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,RRAn,Feedr,1Fam,1Story,5,8,1958,2000,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,150,ALQ,404,254,808,GasA,Ex,Y,SBrkr,808,0,0,808,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1963,Unf,1,308,TA,TA,N,143,0,0,0,0,0,NA,NA,NA,0,7,2007,COD,Normal +2402,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1955,1955,Hip,CompShg,HdBoard,HdBoard,BrkFace,176,TA,Gd,CBlock,TA,TA,No,BLQ,368,Unf,0,710,1078,GasA,Ex,Y,SBrkr,1150,0,0,1150,1,0,1,0,2,1,TA,6,Typ,0,NA,Attchd,1955,Fin,1,288,TA,TA,Y,0,0,0,0,175,0,NA,MnPrv,NA,0,10,2007,WD,Normal +2403,90,RL,63,8668,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,Duplex,1Story,5,5,1968,1968,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1560,1560,GasA,TA,Y,SBrkr,1560,0,0,1560,0,0,2,0,4,2,TA,8,Typ,0,NA,Detchd,1968,Unf,3,792,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2404,85,RL,NA,10050,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SFoyer,5,6,1966,1966,Gable,CompShg,HdBoard,HdBoard,BrkFace,87,TA,TA,CBlock,TA,TA,Av,GLQ,602,Unf,0,191,793,GasA,Ex,Y,SBrkr,1280,0,0,1280,0,1,2,0,3,1,TA,6,Typ,1,TA,Basment,1966,Fin,2,432,TA,TA,Y,140,40,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2405,80,RL,100,9600,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,6,5,1961,1961,Hip,CompShg,WdShing,Wd Shng,BrkFace,291,TA,TA,CBlock,TA,TA,Av,ALQ,600,Unf,0,618,1218,GasA,TA,Y,SBrkr,1254,0,0,1254,1,0,1,0,3,1,TA,6,Typ,1,Gd,Attchd,1961,RFn,2,525,TA,TA,Y,0,0,0,0,168,0,NA,NA,NA,0,5,2007,WD,Normal +2406,20,RL,73,8760,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,7,1957,1999,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,873,Unf,0,63,936,GasA,TA,Y,SBrkr,936,0,0,936,1,0,1,0,2,1,Gd,4,Typ,0,NA,Attchd,1957,RFn,1,315,TA,TA,Y,0,0,0,219,0,0,NA,NA,NA,0,9,2007,WD,Normal +2407,20,RL,65,6860,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1956,1956,Gable,CompShg,Wd Sdng,Wd Sdng,BrkCmn,54,TA,TA,CBlock,TA,TA,No,GLQ,908,Unf,0,100,1008,GasA,Ex,Y,SBrkr,1008,0,0,1008,1,0,1,0,3,1,Fa,6,Typ,0,NA,Detchd,1964,Unf,1,308,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,12,2007,WD,Normal +2408,20,RL,60,8250,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1963,1963,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,288,Unf,0,765,1053,GasA,Gd,Y,SBrkr,1053,0,0,1053,1,0,1,0,3,1,Gd,6,Typ,0,NA,2Types,1994,RFn,2,692,TA,TA,Y,240,0,0,0,109,0,NA,NA,NA,0,7,2007,WD,Normal +2409,20,RL,70,9100,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1960,1960,Hip,CompShg,HdBoard,HdBoard,BrkCmn,69,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1144,1144,GasA,TA,Y,SBrkr,1144,0,0,1144,0,0,1,0,3,1,TA,6,Typ,1,Gd,Attchd,1960,RFn,1,336,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2410,20,RL,80,9736,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Feedr,Norm,1Fam,1Story,6,6,1957,1969,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,289,TA,TA,CBlock,TA,TA,No,BLQ,668,Rec,138,525,1331,GasA,Gd,Y,SBrkr,1721,0,0,1721,0,0,1,0,4,1,TA,8,Typ,3,TA,Attchd,1957,Unf,2,464,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal +2411,20,RL,72,9770,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1957,1957,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,512,Unf,0,410,922,GasA,TA,Y,FuseA,922,0,0,922,1,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1957,Unf,1,308,TA,TA,Y,0,34,0,0,0,0,NA,GdWo,NA,0,4,2007,WD,Normal +2412,20,RL,70,12198,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1955,1975,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,Av,Rec,780,Unf,0,424,1204,GasA,TA,Y,SBrkr,1411,0,0,1411,0,0,1,0,3,1,TA,7,Typ,1,TA,Attchd,1955,RFn,1,310,TA,TA,Y,278,82,0,0,0,0,NA,NA,NA,0,6,2007,COD,Normal +2413,20,RL,75,10050,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1955,1955,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,288,Unf,0,928,1216,GasA,TA,Y,SBrkr,1216,0,0,1216,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1955,RFn,1,336,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2414,20,RL,60,11556,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,9,1953,2006,Gable,CompShg,VinylSd,MetalSd,None,0,TA,Ex,CBlock,TA,TA,No,BLQ,408,Unf,0,456,864,GasA,Gd,Y,SBrkr,1154,0,0,1154,0,0,1,1,3,1,Ex,6,Typ,0,NA,Detchd,1962,Unf,1,336,TA,TA,Y,63,0,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2415,90,RL,70,8078,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,Duplex,1Story,5,5,1958,1958,Hip,CompShg,Wd Sdng,Wd Sdng,Stone,260,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1560,1560,GasA,TA,Y,SBrkr,1560,0,0,1560,0,0,2,0,4,2,TA,8,Typ,0,NA,Detchd,1958,Unf,2,484,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,12,2007,WD,Normal +2416,20,RL,60,10950,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1952,1952,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,ALQ,441,Unf,0,507,948,GasA,TA,Y,SBrkr,948,0,0,948,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1952,Unf,2,410,TA,TA,N,0,48,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal +2417,20,RL,68,7942,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,7,1953,1953,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,85,ALQ,955,0,1040,GasA,TA,Y,FuseF,1040,0,0,1040,0,1,1,0,3,1,TA,6,Typ,0,NA,Attchd,1953,Fin,1,293,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,6,2007,WD,Normal +2418,20,RL,71,8540,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,8,1956,2003,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,TA,No,Rec,114,ALQ,691,120,925,GasA,TA,Y,SBrkr,925,0,0,925,1,0,1,0,3,1,Gd,5,Typ,0,NA,Detchd,1956,Unf,1,252,TA,TA,Y,152,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2419,50,RL,55,7150,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1.5Fin,4,4,1955,1955,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,No,Rec,150,Unf,0,1040,1190,GasA,Gd,Y,SBrkr,1040,500,0,1540,1,0,1,0,4,1,Fa,7,Typ,0,NA,Detchd,2002,Unf,1,352,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2420,20,RL,70,8400,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1955,1955,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,BLQ,793,Unf,0,130,923,GasA,TA,Y,SBrkr,925,0,0,925,1,0,1,0,3,1,TA,5,Typ,2,TA,Attchd,1955,Unf,1,390,TA,TA,Y,81,0,0,0,0,0,NA,GdWo,NA,0,3,2007,WD,Normal +2421,20,RL,75,9532,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,6,1953,1953,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,595,Rec,354,156,1105,GasA,Gd,Y,SBrkr,1647,0,0,1647,1,0,1,0,3,1,TA,6,Min1,1,Fa,Attchd,1953,Fin,1,280,TA,TA,Y,225,0,0,0,0,368,NA,GdPrv,NA,0,2,2007,WD,Normal +2422,20,RL,NA,15783,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1Story,5,5,1952,1952,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,292,Unf,0,632,924,GasA,TA,Y,SBrkr,924,0,0,924,0,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1952,Unf,1,420,TA,TA,Y,0,324,0,0,0,0,NA,MnPrv,Shed,400,6,2007,WD,Normal +2423,50,RL,60,14190,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1.5Fin,4,7,1890,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,Gd,CBlock,Fa,TA,No,Unf,0,Unf,0,925,925,GasA,Gd,Y,SBrkr,1000,544,0,1544,0,0,2,0,3,1,TA,7,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,231,0,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal +2424,50,RL,NA,12099,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1.5Fin,5,6,1953,2004,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,Fa,No,LwQ,198,Unf,0,1018,1216,GasA,Ex,Y,SBrkr,1216,0,512,1728,1,0,1,0,3,1,TA,7,Typ,1,Gd,Attchd,1953,Unf,1,371,TA,TA,Y,200,0,0,0,0,0,NA,GdWo,NA,0,6,2007,WD,Normal +2425,70,RL,113,21281,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,2Story,5,4,1935,2007,Gable,CompShg,Wd Sdng,MetalSd,None,0,TA,TA,BrkTil,TA,Fa,No,Unf,0,Unf,0,666,666,GasA,Gd,Y,SBrkr,1308,1778,0,3086,0,0,3,1,4,1,Gd,9,Min1,0,NA,BuiltIn,2007,Unf,3,1200,TA,TA,Y,0,208,290,0,156,0,NA,NA,NA,0,11,2007,WD,Family +2426,50,RL,60,10284,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,4,7,1925,1993,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,Mn,ALQ,1030,LwQ,66,55,1151,GasA,Ex,Y,SBrkr,845,436,0,1281,1,0,2,0,1,1,TA,6,Mod,0,NA,Detchd,1978,Unf,2,580,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2007,WD,Abnorml +2427,70,RL,60,10800,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,5,9,1895,1999,Gable,CompShg,Wd Sdng,HdBoard,None,0,TA,Gd,CBlock,Gd,TA,Av,Unf,0,Unf,0,736,736,GasA,Ex,Y,SBrkr,751,783,0,1534,0,0,1,1,3,1,Gd,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,112,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2428,80,RL,93,10090,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,7,5,1963,1999,Gable,CompShg,Plywood,Plywood,BrkFace,364,TA,TA,CBlock,TA,TA,Av,Rec,242,ALQ,483,0,725,GasA,TA,Y,SBrkr,1035,616,0,1651,0,1,2,0,4,1,TA,6,Typ,2,TA,BuiltIn,1963,Unf,1,276,TA,TA,Y,460,46,0,0,165,0,NA,MnPrv,NA,0,10,2007,WD,Normal +2429,20,RL,75,8700,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1961,1961,Gable,CompShg,HdBoard,HdBoard,BrkFace,53,TA,TA,CBlock,TA,TA,No,ALQ,192,Unf,0,728,920,GasA,Gd,Y,SBrkr,888,0,0,888,0,1,1,0,3,1,TA,5,Typ,0,NA,Attchd,1961,Unf,1,240,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,2,2007,COD,Abnorml +2430,20,RL,66,8300,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1968,1968,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,86,TA,TA,CBlock,TA,TA,Mn,Rec,952,Unf,0,0,952,GasA,Gd,Y,SBrkr,952,0,0,952,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1968,Unf,1,288,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2431,20,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,3,1950,1950,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,TA,No,LwQ,432,Unf,0,432,864,GasA,Fa,Y,FuseA,1238,0,0,1238,0,0,1,1,3,1,TA,6,Min2,1,TA,Attchd,1950,Unf,1,357,TA,TA,Y,0,171,0,0,0,0,NA,NA,NA,0,11,2007,WD,Normal +2432,20,RL,NA,7500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1959,2003,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,GLQ,574,Unf,0,466,1040,GasA,Ex,Y,SBrkr,1040,0,0,1040,1,0,1,0,3,1,Gd,6,Typ,0,NA,Attchd,1959,RFn,1,286,TA,TA,Y,0,0,0,0,0,0,NA,NA,Shed,0,7,2007,WD,Normal +2433,20,RL,70,7315,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1958,1958,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,Rec,625,Unf,0,545,1170,GasA,TA,Y,SBrkr,1170,0,0,1170,0,1,1,0,3,1,TA,6,Typ,1,TA,Attchd,1958,RFn,1,338,TA,TA,Y,0,0,0,0,225,0,NA,NA,NA,0,3,2007,WD,Normal +2434,20,RL,70,7903,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1960,1960,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,Rec,739,Unf,0,503,1242,GasA,Gd,Y,FuseA,1242,0,0,1242,1,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1960,RFn,1,324,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Family +2435,20,RL,80,8000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1960,1960,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,BLQ,1098,Rec,154,125,1377,GasA,TA,Y,SBrkr,1377,0,0,1377,1,0,1,0,3,1,TA,6,Typ,2,TA,Attchd,1965,Unf,1,351,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,11,2007,WD,Normal +2436,20,RL,70,7000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Feedr,Norm,1Fam,1Story,5,6,1961,1961,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,Gd,Y,SBrkr,925,0,0,925,0,0,1,0,3,1,TA,7,Typ,0,NA,Attchd,1961,Fin,1,300,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2437,20,RL,60,6600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,PosN,Norm,1Fam,1Story,5,5,1962,1962,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,ALQ,110,BLQ,442,312,864,GasA,Gd,Y,SBrkr,864,0,0,864,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1962,Unf,1,294,TA,TA,Y,58,0,0,0,0,0,NA,NA,NA,0,12,2007,WD,Normal +2438,85,RL,66,6760,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SFoyer,5,5,1962,1962,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,Av,ALQ,734,Unf,0,162,896,GasA,TA,Y,SBrkr,936,0,0,936,1,0,1,0,3,1,TA,6,Typ,1,Po,Attchd,1962,RFn,1,288,TA,TA,Y,24,90,160,0,0,0,NA,NA,NA,0,10,2007,WD,Normal +2439,30,RM,60,6978,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1Story,5,7,1926,1980,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,Gd,BrkTil,TA,TA,No,Unf,0,Unf,0,850,850,GasA,TA,Y,SBrkr,960,0,0,960,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1981,RFn,2,576,TA,TA,Y,0,0,116,0,0,0,NA,NA,NA,0,4,2007,WD,Normal +2440,50,RM,50,6000,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,6,6,1927,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Rec,276,Unf,0,569,845,GasA,TA,Y,SBrkr,866,430,0,1296,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1980,Unf,2,576,TA,TA,Y,0,0,175,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2441,30,RM,56,4480,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Artery,Norm,1Fam,1Story,5,5,1922,1950,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,PConc,Fa,Fa,No,LwQ,782,Unf,0,240,1022,GasA,TA,N,FuseF,1022,0,0,1022,1,0,1,0,2,1,Fa,4,Typ,1,Gd,Detchd,1922,Unf,1,184,TA,Fa,N,0,122,20,0,0,0,NA,MnPrv,NA,0,2,2007,WD,Normal +2442,30,RM,56,3153,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,6,1920,1990,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,967,967,GasA,Gd,Y,SBrkr,967,0,0,967,0,0,1,0,2,1,TA,5,Typ,1,Gd,Detchd,1920,Unf,1,180,Fa,TA,N,0,0,26,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2443,30,RM,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,8,1940,1950,Gable,CompShg,VinylSd,VinylSd,Stone,279,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,808,808,GasA,Ex,Y,SBrkr,1072,0,0,1072,0,0,1,0,2,1,TA,5,Typ,2,Gd,Detchd,1940,Unf,2,379,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2444,50,RM,120,9000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,8,1900,2006,Gable,CompShg,Stucco,Stucco,None,0,TA,TA,BrkTil,TA,Fa,No,BLQ,130,Unf,0,550,680,GasA,Ex,Y,SBrkr,680,494,0,1174,0,0,1,0,2,1,Gd,6,Typ,1,Gd,Detchd,2000,Unf,2,576,TA,TA,Y,116,26,40,0,0,0,NA,MnPrv,NA,0,6,2007,WD,Normal +2445,50,RM,50,5925,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,4,6,1900,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,Fa,TA,No,LwQ,122,Rec,448,0,570,GasA,Gd,N,SBrkr,761,380,0,1141,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1930,Unf,1,252,Fa,Fa,Y,0,0,96,0,0,0,NA,NA,NA,0,5,2007,ConLw,Normal +2446,70,RM,57,9639,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,2Story,4,8,1900,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,1075,1075,GasA,Ex,Y,SBrkr,1156,642,0,1798,0,0,2,1,4,1,TA,7,Typ,0,NA,Detchd,1935,Unf,2,342,TA,TA,N,0,0,160,0,0,0,NA,MnPrv,NA,0,5,2007,WD,Normal +2447,70,RM,NA,10337,Pave,Pave,IR1,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,8,9,1910,1999,Hip,CompShg,VinylSd,VinylSd,None,0,Gd,Gd,BrkTil,TA,TA,No,Unf,0,Unf,0,725,725,GasA,Ex,N,SBrkr,909,863,0,1772,0,0,2,1,3,1,Gd,7,Typ,0,NA,Detchd,1992,Unf,2,816,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,5,2007,WD,Normal +2448,70,RM,53,9863,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,6,6,1927,1950,Gambrel,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,LwQ,196,Rec,210,322,728,GasA,TA,Y,SBrkr,914,728,0,1642,0,1,1,1,4,1,TA,9,Typ,1,Gd,Detchd,1927,Unf,1,374,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2007,WD,Abnorml +2449,70,RM,35,4571,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,5,7,1910,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,BLQ,168,Unf,0,448,616,GasA,Ex,Y,SBrkr,616,616,0,1232,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1920,Unf,2,480,Fa,Fa,Y,280,0,143,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2450,50,RM,56,8398,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,6,8,1910,1990,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,Gd,Gd,No,BLQ,259,Unf,0,667,926,GasA,TA,Y,SBrkr,991,659,0,1650,0,0,2,0,3,1,TA,6,Typ,0,NA,Detchd,1979,Unf,2,468,TA,TA,N,128,103,0,0,0,0,NA,NA,NA,0,11,2007,WD,Normal +2451,70,RM,60,3600,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,5,7,1930,2005,Gambrel,CompShg,VinylSd,VinylSd,None,0,TA,Gd,BrkTil,TA,Fa,No,Rec,316,Unf,0,371,687,GasA,Gd,Y,SBrkr,687,671,0,1358,0,0,1,1,3,1,Gd,6,Typ,1,Gd,Detchd,2004,Unf,1,336,TA,TA,Y,0,32,0,0,0,0,NA,MnPrv,NA,0,7,2007,WD,Partial +2452,75,RM,75,13500,Pave,Grvl,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,2.5Unf,7,8,1879,1987,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,PConc,TA,TA,No,Unf,0,Unf,0,819,819,GasA,TA,Y,FuseA,1312,1142,0,2454,0,0,2,0,3,1,TA,8,Typ,1,Gd,Attchd,1950,Unf,2,576,TA,TA,N,0,148,150,0,0,0,NA,MnPrv,NA,0,2,2007,WD,Normal +2453,20,RM,52,8626,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,4,6,1956,1956,Gable,CompShg,MetalSd,MetalSd,None,1,TA,TA,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,Gd,Y,SBrkr,968,0,0,968,0,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1956,Unf,1,331,Fa,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2454,80,RM,76,11800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,SLvl,4,7,1949,2002,Gable,CompShg,Stucco,Wd Sdng,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,Ex,Y,SBrkr,1382,0,0,1382,0,0,2,0,1,1,TA,6,Mod,1,TA,Attchd,1957,RFn,1,384,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2455,40,RL,55,6854,Pave,NA,Reg,Bnk,AllPub,Inside,Mod,BrkSide,Norm,Norm,1Fam,1Story,5,7,1925,1994,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,PConc,TA,TA,No,LwQ,317,Rec,227,212,756,GasA,TA,N,FuseA,916,144,0,1060,1,0,1,0,1,1,TA,6,Mod,1,Gd,Detchd,1969,Unf,1,308,Fa,TA,Y,0,65,0,0,150,0,NA,NA,NA,0,8,2007,WD,Normal +2456,50,RM,55,8674,Pave,NA,Reg,HLS,AllPub,Inside,Gtl,BrkSide,RRNn,Artery,1Fam,1.5Fin,5,6,1950,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,Fa,TA,No,Rec,910,Unf,0,0,910,GasA,TA,Y,SBrkr,910,525,0,1435,1,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1950,Unf,1,308,TA,TA,Y,0,33,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2457,50,RM,50,6125,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,7,1939,1998,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,Rec,306,Unf,0,422,728,GasA,Ex,Y,SBrkr,728,546,0,1274,0,0,2,0,3,1,TA,6,Typ,0,NA,Detchd,1939,Unf,1,224,Fa,TA,Y,0,0,192,0,0,0,NA,NA,NA,0,3,2007,CWD,Normal +2458,70,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,2Story,6,6,1939,1950,Gable,CompShg,MetalSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,Mn,Rec,276,Unf,0,324,600,GasA,Ex,Y,SBrkr,608,624,0,1232,0,0,1,1,3,1,TA,6,Typ,2,TA,Attchd,1939,Unf,1,217,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,2,2007,WD,Normal +2459,45,RM,51,6120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Unf,5,7,1939,1950,Gable,CompShg,AsbShng,AsbShng,None,0,Gd,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,884,884,GasA,Ex,Y,SBrkr,884,0,0,884,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1939,Unf,1,240,TA,TA,Y,0,0,136,0,0,0,NA,MnPrv,NA,0,7,2007,WD,Normal +2460,50,RM,NA,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,5,1938,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,BrkTil,TA,TA,No,LwQ,52,Unf,0,809,861,GasA,Gd,Y,SBrkr,861,548,0,1409,1,0,1,1,3,1,TA,6,Typ,1,Gd,Detchd,1968,Unf,2,528,TA,TA,Y,225,0,84,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2461,50,RM,52,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,8,1939,1952,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,BrkTil,TA,TA,No,Rec,48,Unf,0,624,672,GasA,Ex,Y,SBrkr,899,423,0,1322,1,0,1,0,4,1,TA,7,Typ,0,NA,Detchd,1939,Unf,1,280,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,7,2007,WD,Normal +2462,50,RM,52,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,7,1930,1992,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,966,966,GasA,Ex,Y,SBrkr,1014,412,0,1426,0,0,1,0,3,1,TA,6,Typ,1,Gd,Detchd,1930,Unf,1,230,Fa,TA,Y,174,0,96,0,0,0,NA,GdPrv,NA,0,7,2007,WD,Normal +2463,50,RM,51,6120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,6,1926,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,ALQ,351,Unf,0,405,756,GasA,Gd,Y,FuseA,903,378,0,1281,1,0,1,0,2,1,Gd,6,Typ,0,NA,Detchd,1926,Unf,2,379,TA,TA,Y,25,0,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2464,70,RM,47,7755,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,6,8,1918,1995,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,CBlock,TA,TA,No,Unf,0,Unf,0,1100,1100,GasA,Ex,Y,FuseA,1100,1164,0,2264,0,0,2,1,4,1,TA,8,Typ,0,NA,Detchd,1950,Unf,1,408,TA,TA,Y,0,152,0,0,0,0,NA,MnPrv,NA,0,5,2007,WD,Normal +2465,50,RL,60,8850,Pave,Pave,Reg,Bnk,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,7,1920,1950,Gable,CompShg,Wd Sdng,Wd Shng,None,0,TA,Gd,PConc,TA,TA,No,Unf,0,Unf,0,768,768,GasA,Ex,Y,SBrkr,752,624,0,1376,0,0,1,0,3,1,Gd,7,Typ,0,NA,Detchd,1977,Unf,2,576,TA,TA,P,0,54,144,0,0,0,NA,NA,NA,0,2,2007,WD,Normal +2466,50,RL,60,8550,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,RRAn,Norm,1Fam,1.5Fin,5,5,1926,1950,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Fa,TA,No,Unf,0,Unf,0,750,750,GasA,TA,Y,SBrkr,960,356,0,1316,0,0,1,0,4,1,TA,7,Typ,0,NA,Detchd,1965,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2007,ConLw,Family +2467,70,RM,NA,5700,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,OldTown,Feedr,Norm,1Fam,2Story,7,6,1929,1990,Gable,CompShg,Wd Sdng,Wd Shng,None,0,TA,TA,BrkTil,TA,TA,No,Rec,336,Unf,0,336,672,GasA,Gd,N,FuseA,672,672,0,1344,1,0,1,1,3,1,Gd,6,Typ,1,Gd,Attchd,1979,Unf,2,456,TA,TA,Y,0,0,70,0,0,0,NA,GdPrv,NA,0,9,2007,WD,Normal +2468,45,RM,40,5680,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,4,1901,1950,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,592,592,GasA,TA,N,FuseA,933,240,0,1173,0,0,2,0,3,1,TA,7,Typ,0,NA,Detchd,1920,Unf,1,240,TA,Fa,Y,0,25,77,0,0,0,NA,MnPrv,NA,0,9,2007,WD,AdjLand +2469,50,RM,40,5680,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,3,1901,1950,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,969,969,GasA,TA,N,FuseA,969,245,0,1214,0,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1920,Unf,1,216,TA,TA,N,0,0,77,0,0,0,NA,MnPrv,NA,0,9,2007,WD,AdjLand +2470,80,RM,120,13200,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Norm,Norm,1Fam,SLvl,6,6,1963,1963,Gable,CompShg,HdBoard,HdBoard,BrkFace,234,TA,TA,CBlock,TA,TA,No,BLQ,375,Unf,0,366,741,GasA,Fa,Y,SBrkr,1497,797,0,2294,0,0,3,0,5,1,TA,9,Typ,1,Gd,Attchd,1963,Unf,2,658,TA,TA,Y,0,110,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal +2471,60,RM,60,9780,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,2Story,7,9,1950,2005,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Ex,CBlock,TA,TA,No,LwQ,354,Rec,398,224,976,GasA,Ex,Y,SBrkr,976,976,0,1952,0,0,1,1,4,1,Gd,8,Typ,2,TA,Detchd,1950,Fin,1,299,TA,TA,Y,285,0,0,0,216,0,NA,NA,NA,0,4,2007,WD,Normal +2472,50,RM,60,10320,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,6,5,1915,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,Fa,No,LwQ,375,Unf,0,763,1138,GasA,Gd,Y,SBrkr,1138,1042,0,2180,0,0,1,1,3,1,TA,7,Typ,1,Gd,Detchd,2006,Unf,2,720,TA,TA,N,0,0,170,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2473,190,RM,52,4330,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,2fmCon,1.5Fin,4,6,1958,1958,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,Fa,TA,No,Rec,681,ALQ,127,0,808,GasA,TA,Y,SBrkr,838,477,0,1315,1,0,2,0,3,1,TA,5,Typ,0,NA,Detchd,1958,RFn,2,436,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,2,2007,COD,Abnorml +2474,50,RM,60,10320,Pave,Grvl,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Artery,Norm,1Fam,1.5Fin,4,1,1910,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Fa,Fa,CBlock,TA,Fa,No,Unf,0,Unf,0,771,771,GasA,Fa,Y,SBrkr,866,504,114,1484,0,0,2,0,3,1,TA,6,NA,0,NA,Detchd,1910,Unf,1,264,TA,Fa,N,14,211,0,0,84,0,NA,NA,NA,0,9,2007,COD,Abnorml +2475,70,RL,107,12888,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Sawyer,Feedr,Norm,1Fam,2Story,7,8,1937,1980,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,288,Unf,0,717,1005,GasA,TA,Y,SBrkr,1262,1005,0,2267,1,0,1,1,3,1,TA,7,Typ,2,Gd,Attchd,1937,Fin,2,498,TA,TA,Y,521,0,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal +2476,190,RL,59,4484,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,SWISU,Norm,Norm,2fmCon,1.5Fin,5,6,1942,1979,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,485,Unf,0,187,672,GasA,TA,N,SBrkr,778,504,0,1282,1,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1942,Unf,1,240,TA,TA,Y,0,88,0,0,0,0,NA,MnPrv,NA,0,7,2007,WD,Normal +2477,190,RL,75,11235,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,2fmCon,SFoyer,5,5,1963,1963,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,Av,ALQ,925,Unf,0,0,925,GasA,TA,Y,SBrkr,999,0,0,999,1,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1963,Unf,1,308,TA,TA,Y,40,176,0,0,0,0,NA,MnPrv,NA,0,3,2007,WD,Normal +2478,85,RL,75,11235,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,SFoyer,5,5,1964,1980,Gable,CompShg,HdBoard,HdBoard,BrkFace,30,TA,TA,CBlock,Gd,TA,Av,BLQ,785,Unf,0,635,1420,GasA,Gd,Y,SBrkr,1452,0,0,1452,1,0,1,0,2,1,TA,6,Min2,1,TA,Detchd,1964,Unf,2,572,TA,TA,Y,92,0,88,0,0,0,NA,NA,NA,0,11,2007,WD,Normal +2479,20,RL,62,14299,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,4,3,1964,1964,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Rec,513,LwQ,144,348,1005,GasA,TA,Y,SBrkr,1005,0,0,1005,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1964,Unf,2,440,TA,TA,N,0,0,0,0,0,0,NA,MnPrv,NA,0,7,2007,WD,Normal +2480,80,RL,65,14149,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,SLvl,5,8,1964,2001,Hip,CompShg,HdBoard,HdBoard,BrkFace,50,Gd,Gd,CBlock,TA,TA,Gd,LwQ,68,BLQ,722,190,980,GasA,TA,Y,SBrkr,1020,0,0,1020,0,1,2,0,3,1,TA,5,Typ,1,Po,Detchd,1970,Unf,2,528,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2481,20,RL,NA,11677,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,4,1966,1966,Gable,CompShg,HdBoard,HdBoard,BrkFace,442,TA,TA,CBlock,TA,TA,Av,Rec,249,BLQ,761,30,1040,GasA,TA,Y,SBrkr,1040,0,0,1040,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1966,RFn,1,264,TA,TA,Y,0,90,0,0,0,0,NA,MnPrv,NA,0,2,2007,WD,Normal +2482,190,RL,70,8425,Pave,NA,Reg,Lvl,AllPub,FR3,Gtl,Sawyer,Feedr,Norm,2fmCon,1Story,5,6,1971,1990,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,Av,GLQ,748,Unf,0,20,768,GasA,Gd,Y,SBrkr,868,0,0,868,1,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1989,Unf,2,576,TA,TA,Y,138,0,0,0,0,0,NA,GdPrv,NA,0,5,2007,WD,Normal +2483,20,RL,86,8665,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1968,1968,Gable,CompShg,HdBoard,HdBoard,BrkFace,89,TA,TA,CBlock,TA,TA,Mn,Rec,168,BLQ,288,420,876,GasA,TA,Y,SBrkr,897,0,0,897,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1968,RFn,1,264,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,1,2007,WD,Normal +2484,20,RL,NA,8398,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1967,1967,Gable,CompShg,MetalSd,MetalSd,BrkFace,323,TA,Gd,CBlock,TA,TA,No,LwQ,114,BLQ,529,300,943,GasA,TA,Y,SBrkr,943,0,0,943,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1972,Unf,2,528,TA,TA,Y,132,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2485,20,RL,NA,8169,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,5,7,1966,1966,Gable,CompShg,Plywood,Plywood,None,0,TA,Gd,CBlock,TA,TA,No,Rec,216,ALQ,435,261,912,GasA,Ex,Y,SBrkr,912,0,0,912,1,0,1,0,3,1,Gd,6,Typ,0,NA,Detchd,1966,Unf,1,315,TA,TA,Y,204,0,0,0,0,0,NA,MnPrv,NA,0,7,2007,WD,Normal +2486,20,RL,81,14175,Pave,NA,Reg,Bnk,AllPub,Inside,Mod,Sawyer,PosA,Norm,1Fam,1Story,5,5,1956,1998,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,Rec,386,ALQ,522,332,1240,GasA,Gd,Y,SBrkr,1375,0,0,1375,1,0,1,0,3,1,TA,6,Typ,1,Gd,Attchd,1956,Unf,1,323,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,12,2007,WD,Normal +2487,60,RL,99,16779,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Feedr,Norm,1Fam,2Story,5,4,1920,1996,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,356,TA,Fa,CBlock,Gd,TA,No,BLQ,267,Unf,0,404,671,GasA,Fa,Y,SBrkr,1567,1087,0,2654,0,0,3,0,4,1,TA,11,Mod,1,Gd,Attchd,1946,Unf,2,638,TA,TA,Y,128,570,0,0,0,0,NA,NA,Shed,500,5,2007,WD,Normal +2488,50,RL,70,6960,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1.5Fin,7,8,1940,1998,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,ALQ,258,Unf,0,422,680,GasA,Ex,Y,FuseA,798,504,0,1302,0,0,1,1,2,1,Gd,6,Typ,2,Gd,Attchd,1940,Unf,1,224,TA,TA,Y,0,0,0,0,126,0,NA,MnPrv,NA,0,7,2007,WD,Normal +2489,20,RL,91,11375,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,6,5,1954,1995,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,736,Unf,0,231,967,GasA,TA,Y,SBrkr,1299,0,0,1299,0,0,1,0,3,1,Gd,6,Typ,1,TA,Attchd,1954,Unf,2,494,TA,TA,Y,81,0,280,0,0,0,NA,NA,NA,0,10,2007,WD,Normal +2490,20,RL,85,13770,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,5,6,1958,1998,Gable,CompShg,Plywood,Plywood,BrkFace,340,TA,TA,CBlock,TA,TA,Mn,Rec,190,BLQ,873,95,1158,GasA,TA,Y,SBrkr,1176,0,0,1176,1,0,1,0,3,1,TA,6,Typ,2,Gd,Attchd,1958,Unf,1,303,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2007,NA,Normal +2491,20,RL,NA,9000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,4,7,1945,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Fa,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,N,FuseA,998,0,0,998,0,0,1,0,3,1,TA,5,Min2,0,NA,2Types,1952,Unf,2,460,Fa,TA,Y,0,0,140,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2492,20,RL,NA,11075,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,ClearCr,Norm,Norm,1Fam,1Story,6,5,1984,1984,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,136,TA,TA,PConc,Gd,TA,No,BLQ,299,LwQ,891,0,1190,GasA,Ex,Y,SBrkr,1522,0,0,1522,0,0,2,0,3,1,TA,7,Typ,1,TA,Attchd,1984,Fin,2,552,TA,TA,Y,0,77,0,0,168,0,NA,GdPrv,NA,0,2,2007,WD,Normal +2493,20,RL,NA,17541,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,7,1948,2005,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,CBlock,TA,Gd,Mn,BLQ,300,Unf,0,109,409,GasA,Ex,Y,SBrkr,1325,0,0,1325,0,0,2,0,3,1,Gd,6,Typ,1,TA,Detchd,1996,Unf,2,576,TA,TA,Y,0,42,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2494,20,RL,NA,22692,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,5,1953,1953,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,587,Unf,0,486,1073,GasA,TA,Y,SBrkr,1630,0,0,1630,0,0,2,0,3,1,TA,6,Mod,1,TA,Detchd,1953,Unf,2,649,TA,TA,P,0,64,0,0,0,0,NA,NA,NA,0,3,2007,COD,Normal +2495,20,RL,84,17808,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Feedr,Norm,1Fam,1Story,4,5,1946,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,484,484,GasA,TA,N,SBrkr,1242,0,0,1242,0,0,1,0,2,1,TA,4,Mod,0,NA,Attchd,1946,Unf,1,336,TA,TA,N,0,0,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2496,20,RL,102,12671,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,ClearCr,Norm,Norm,1Fam,1Story,6,7,1954,1994,Hip,CompShg,MetalSd,MetalSd,Stone,300,TA,Gd,CBlock,Gd,Fa,No,LwQ,353,Unf,0,935,1288,GasA,Ex,Y,SBrkr,2422,0,0,2422,0,0,3,0,4,1,Gd,6,Min2,2,Gd,Attchd,1954,Fin,2,527,TA,TA,Y,0,63,0,0,144,0,NA,NA,NA,0,7,2007,WD,Normal +2497,50,RL,70,10512,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,6,6,1954,1954,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,491,Unf,0,497,988,GasA,Ex,Y,SBrkr,988,638,0,1626,0,0,1,1,3,1,Gd,6,Typ,0,NA,Attchd,1954,Unf,1,332,TA,TA,Y,366,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2498,20,RL,60,5400,Pave,NA,Reg,HLS,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1Story,5,5,1958,1958,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,453,Unf,0,411,864,GasA,TA,Y,SBrkr,864,0,0,864,0,1,1,0,3,1,TA,6,Typ,0,NA,Attchd,1958,Unf,1,399,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2499,30,RL,NA,11515,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,5,1958,1994,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,N,SBrkr,943,0,0,943,0,0,1,0,3,1,Gd,5,Min2,0,NA,Detchd,1958,Unf,1,308,TA,TA,N,0,0,60,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2500,120,RL,39,3869,Pave,NA,Reg,Lvl,AllPub,Inside,Mod,Edwards,Norm,Norm,TwnhsE,1Story,5,6,1984,1984,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,149,Gd,Ex,CBlock,TA,TA,No,LwQ,283,GLQ,755,0,1038,GasA,Gd,Y,SBrkr,1038,0,0,1038,0,0,2,0,2,1,TA,5,Typ,0,NA,Attchd,1984,RFn,1,264,TA,TA,Y,0,105,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2501,20,RL,58,9280,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,6,1951,1951,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,Fa,TA,No,ALQ,557,Unf,0,785,1342,GasA,Ex,Y,SBrkr,1342,0,0,1342,1,0,1,0,4,1,TA,7,Typ,0,NA,Detchd,1951,Unf,1,256,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal +2502,50,RL,60,11100,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,5,6,1951,1994,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,Mn,LwQ,1080,Unf,0,0,1080,GasA,TA,N,SBrkr,1080,400,0,1480,1,0,1,0,4,1,TA,7,Typ,1,Gd,Attchd,1951,Unf,1,253,TA,TA,Y,0,0,68,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2503,50,RL,50,7550,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,4,5,1920,1950,Gambrel,CompShg,MetalSd,MetalSd,None,0,Fa,Fa,BrkTil,TA,Fa,No,Unf,0,Unf,0,951,951,GasW,Fa,N,SBrkr,986,376,0,1362,0,0,2,0,4,1,TA,7,Typ,0,NA,Detchd,1920,Unf,1,280,Fa,TA,P,0,0,0,0,0,0,NA,MnPrv,NA,0,3,2007,WD,Normal +2504,50,RL,104,23920,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Feedr,Norm,1Fam,1.5Fin,6,5,1984,1984,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1105,1105,GasA,Ex,Y,SBrkr,1105,717,0,1822,0,0,2,0,4,1,Gd,7,Min2,1,Po,Attchd,1984,Unf,2,515,TA,TA,P,0,195,1012,0,0,444,NA,NA,NA,0,4,2007,WD,Normal +2505,60,RL,75,9317,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,1994,2001,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,Gd,PConc,Gd,Gd,No,GLQ,497,Unf,0,282,779,GasA,Ex,Y,SBrkr,1029,929,0,1958,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1994,RFn,2,499,TA,TA,Y,202,93,0,0,0,0,NA,NA,NA,0,7,2007,CWD,Normal +2506,20,RL,71,9178,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,306,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1643,1643,GasA,Ex,Y,SBrkr,1651,0,0,1651,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2007,Fin,3,870,TA,TA,Y,204,64,0,0,0,0,NA,NA,NA,0,9,2007,New,Partial +2507,20,RL,93,10481,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2006,2007,Hip,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,2140,2140,GasA,Ex,Y,SBrkr,2140,0,0,2140,0,0,2,1,3,1,Gd,8,Typ,0,NA,Attchd,2006,Fin,3,894,TA,TA,Y,136,32,0,0,0,0,NA,NA,NA,0,6,2007,New,Partial +2508,20,RL,66,10235,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,306,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1643,1643,GasA,Ex,Y,SBrkr,1651,0,0,1651,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2007,RFn,3,870,TA,TA,Y,192,64,0,0,0,0,NA,NA,NA,0,9,2007,New,Partial +2509,20,RL,75,11750,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,204,Gd,TA,PConc,Gd,TA,Mn,GLQ,20,Unf,0,1526,1546,GasA,Ex,Y,SBrkr,1546,0,0,1546,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2005,RFn,3,796,TA,TA,Y,144,42,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2510,20,RL,73,8760,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,132,Gd,TA,PConc,Gd,TA,No,GLQ,36,Unf,0,1453,1489,GasA,Ex,Y,SBrkr,1500,0,0,1500,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2005,RFn,2,674,TA,TA,Y,144,38,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2511,20,RL,64,7242,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1270,1270,GasA,Ex,Y,SBrkr,1270,0,0,1270,0,0,2,0,2,1,Gd,6,Typ,0,NA,Attchd,2005,RFn,2,524,TA,TA,Y,0,96,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2512,60,RL,78,9316,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Gd,Unf,0,Unf,0,879,879,GasA,Ex,Y,SBrkr,879,916,0,1795,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2005,RFn,2,578,TA,TA,Y,164,111,0,0,0,0,NA,NA,NA,0,10,2007,WD,Normal +2513,60,RL,NA,8883,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,1988,1988,Gable,CompShg,HdBoard,HdBoard,BrkFace,360,Gd,TA,PConc,Gd,TA,No,GLQ,608,LwQ,321,0,929,GasA,Ex,Y,SBrkr,946,927,0,1873,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1988,RFn,2,619,TA,TA,Y,108,48,0,0,144,0,NA,GdPrv,NA,0,5,2007,WD,Normal +2514,20,RL,155,20064,Pave,NA,IR1,Low,AllPub,Inside,Sev,ClearCr,Norm,Norm,1Fam,1Story,8,6,1976,1976,Shed,WdShngl,Wd Sdng,Wd Sdng,None,0,Gd,TA,CBlock,Gd,Gd,Gd,LwQ,51,GLQ,915,0,966,GasA,Ex,Y,SBrkr,1743,0,0,1743,2,0,0,1,0,1,Gd,5,Typ,2,Fa,Attchd,1976,Fin,2,529,TA,TA,Y,646,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2515,20,RL,NA,14217,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,5,1994,1994,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,ALQ,550,Unf,0,472,1022,GasA,Gd,Y,SBrkr,1022,0,0,1022,0,1,1,0,3,1,TA,6,Typ,0,NA,Detchd,1995,Unf,2,747,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2516,60,RL,57,10021,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,6,6,1997,2006,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,PConc,Gd,TA,No,GLQ,539,Unf,0,96,635,GasA,Ex,Y,SBrkr,646,662,0,1308,1,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,1997,RFn,2,497,TA,TA,Y,142,54,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2517,20,RL,60,8428,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,7,1994,1994,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,PConc,Gd,Gd,No,GLQ,420,Unf,0,570,990,GasA,Ex,Y,SBrkr,990,0,0,990,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1995,Unf,1,384,TA,TA,Y,256,0,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2518,20,RL,70,16561,Pave,NA,IR2,Low,AllPub,Inside,Mod,CollgCr,Norm,Norm,1Fam,1Story,5,5,1996,1996,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,ALQ,549,Unf,0,548,1097,GasA,Ex,Y,SBrkr,1097,0,0,1097,1,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1996,Unf,1,242,TA,TA,Y,306,0,0,0,0,0,NA,GdPrv,NA,0,7,2007,WD,Normal +2519,60,RL,47,10820,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Gd,GLQ,342,Unf,0,646,988,GasA,Ex,Y,SBrkr,988,885,0,1873,0,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1999,RFn,2,597,TA,TA,Y,202,123,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2520,60,RL,43,12352,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,1998,1999,Gable,CompShg,VinylSd,VinylSd,BrkFace,290,Gd,TA,PConc,Gd,TA,No,GLQ,638,Unf,0,215,853,GasA,Ex,Y,SBrkr,853,900,0,1753,1,0,2,1,3,1,TA,7,Typ,1,Fa,Attchd,1998,RFn,2,534,TA,TA,Y,0,74,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2521,60,RL,68,9543,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,845,845,GasA,Ex,Y,SBrkr,845,845,0,1690,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2001,RFn,2,517,TA,TA,Y,0,103,0,0,0,0,NA,NA,NA,0,2,2007,WD,Normal +2522,60,RL,NA,8826,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,144,Gd,TA,PConc,Gd,TA,No,GLQ,841,Unf,0,144,985,GasA,Ex,Y,SBrkr,985,857,0,1842,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,2000,Fin,2,486,TA,TA,Y,193,96,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2523,20,RL,97,11800,Pave,NA,IR1,Bnk,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,5,1974,1974,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,Av,BLQ,663,Unf,0,201,864,GasA,TA,Y,SBrkr,894,0,0,894,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1974,Unf,2,440,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2007,WD,Family +2524,80,RL,59,8660,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,SLvl,5,5,1976,1976,Gable,CompShg,VinylSd,VinylSd,BrkFace,113,TA,Gd,CBlock,Gd,TA,Av,GLQ,502,Unf,0,513,1015,GasA,TA,Y,SBrkr,1025,0,0,1025,0,0,2,0,3,1,TA,6,Typ,1,Fa,Detchd,1979,Unf,2,370,TA,TA,Y,127,0,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2525,80,RL,72,9720,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,SLvl,5,7,1977,1977,Gable,CompShg,Plywood,VinylSd,BrkFace,51,TA,TA,CBlock,TA,NA,Av,ALQ,755,Unf,0,240,995,GasA,TA,Y,SBrkr,1009,0,0,1009,0,0,2,0,3,1,TA,6,Typ,1,Fa,Detchd,1977,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,6,2007,WD,Normal +2526,20,RL,45,8982,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,5,1977,1977,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,Gd,TA,Av,ALQ,539,Unf,0,501,1040,GasA,TA,Y,SBrkr,1040,0,0,1040,0,0,1,1,3,1,TA,5,Typ,0,NA,Detchd,1977,Unf,2,748,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,1,2007,WD,Normal +2527,20,RL,39,16300,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,4,1977,1977,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,Av,Rec,60,BLQ,417,399,876,GasA,TA,Y,SBrkr,907,0,0,907,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1977,RFn,1,308,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,1,2007,WD,Normal +2528,20,RL,75,9675,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,6,1975,1975,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,BLQ,330,Rec,432,102,864,GasA,TA,Y,SBrkr,879,0,0,879,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1975,Unf,2,440,TA,TA,Y,0,80,0,0,0,0,NA,NA,NA,0,9,2007,Con,Normal +2529,20,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,5,1972,2000,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,671,Unf,0,193,864,GasA,Gd,Y,SBrkr,864,0,0,864,1,0,1,0,3,1,Ex,5,Typ,0,NA,Detchd,1977,Fin,2,576,Gd,Ex,Y,155,0,0,0,0,0,NA,NA,NA,0,9,2007,WD,Normal +2530,20,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,4,8,1972,2006,Gable,CompShg,Plywood,Plywood,None,0,TA,Gd,CBlock,TA,TA,No,Rec,385,Unf,0,0,385,GasA,Gd,Y,SBrkr,875,0,0,875,0,0,1,0,3,1,Gd,5,Typ,0,NA,Detchd,1975,Unf,2,728,TA,TA,Y,352,0,0,0,0,0,NA,NA,NA,0,10,2007,WD,Normal +2531,20,RL,NA,11354,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,TA,TA,Gd,GLQ,1412,Unf,0,261,1673,GasA,Ex,Y,SBrkr,1673,0,0,1673,1,0,2,0,3,1,Gd,7,Typ,1,TA,Attchd,2000,RFn,2,583,TA,TA,Y,306,113,0,0,116,0,NA,NA,NA,0,1,2007,WD,Normal +2532,60,RL,70,8749,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,654,Unf,0,325,979,GasA,Ex,Y,SBrkr,992,940,0,1932,1,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2003,RFn,2,610,TA,TA,Y,0,120,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2533,60,RL,65,8158,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,214,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,860,860,GasA,Ex,Y,SBrkr,860,869,0,1729,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2002,Fin,2,542,TA,TA,Y,386,63,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2534,20,RL,73,11927,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,1994,1995,Hip,CompShg,HdBoard,HdBoard,BrkFace,519,Gd,TA,PConc,Gd,TA,Gd,BLQ,408,GLQ,465,683,1556,GasA,Ex,Y,SBrkr,1592,0,0,1592,0,0,2,0,3,1,Gd,7,Typ,1,TA,Attchd,1994,Fin,2,484,TA,TA,Y,120,35,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2535,60,RL,NA,12728,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,BrkFace,256,Gd,TA,PConc,Gd,TA,Mn,GLQ,1198,Unf,0,333,1531,GasA,Ex,Y,SBrkr,1531,908,0,2439,1,0,2,1,4,1,Gd,7,Typ,1,TA,Attchd,2001,Fin,2,560,TA,TA,Y,184,121,0,0,0,0,NA,NA,NA,0,1,2007,WD,Normal +2536,60,RL,NA,15295,Pave,NA,IR3,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,1996,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,254,Gd,TA,PConc,Gd,TA,Mn,GLQ,762,Unf,0,98,860,GasA,Ex,Y,SBrkr,1212,780,0,1992,1,0,2,1,3,1,Gd,7,Min2,2,TA,Attchd,1996,RFn,2,608,TA,TA,Y,225,32,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2537,20,RL,73,17227,Pave,NA,IR2,Lvl,AllPub,CulDSac,Mod,CollgCr,Norm,Norm,1Fam,1Story,8,5,1999,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,158,Gd,TA,PConc,Gd,TA,Gd,GLQ,915,Unf,0,426,1341,GasA,Ex,Y,SBrkr,1341,0,0,1341,1,0,1,1,1,1,Gd,5,Typ,1,TA,Attchd,1999,RFn,2,482,TA,TA,Y,240,84,0,0,0,0,NA,NA,NA,0,1,2007,WD,Normal +2538,60,RL,70,8145,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,738,738,GasA,Ex,Y,SBrkr,738,738,0,1476,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2007,RFn,2,552,TA,TA,Y,0,35,0,0,0,0,NA,NA,NA,0,6,2007,New,Partial +2539,20,RL,65,8769,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,709,Unf,0,460,1169,GasA,Ex,Y,SBrkr,1190,0,0,1190,1,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,2005,RFn,2,578,TA,TA,Y,100,41,0,0,0,0,NA,NA,NA,0,10,2007,WD,Normal +2540,20,RL,64,8334,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,6,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1330,1330,GasA,Ex,Y,SBrkr,1330,0,0,1330,0,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2006,Fin,2,437,TA,TA,Y,0,23,0,0,0,0,NA,NA,NA,0,7,2007,New,Partial +2541,60,RL,64,8333,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,738,738,GasA,Gd,Y,SBrkr,738,753,0,1491,0,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2006,RFn,2,484,TA,TA,Y,100,30,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2542,60,RL,64,9045,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,5,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,768,768,GasA,Ex,Y,SBrkr,768,768,0,1536,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2005,Fin,2,400,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2543,85,RL,75,9825,Pave,NA,Reg,Low,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,SFoyer,5,5,1967,1967,Gable,CompShg,HdBoard,HdBoard,BrkFace,162,TA,TA,CBlock,Gd,TA,Gd,ALQ,936,Unf,0,0,936,GasA,Gd,Y,SBrkr,936,0,0,936,1,0,1,0,2,1,TA,4,Typ,1,Fa,Attchd,1967,Unf,1,384,TA,TA,Y,405,0,0,0,0,0,NA,NA,Shed,450,8,2007,WD,Abnorml +2544,20,RL,67,8308,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,6,1963,1963,Gable,CompShg,VinylSd,VinylSd,Stone,20,TA,Gd,CBlock,TA,TA,No,BLQ,132,LwQ,841,115,1088,GasA,TA,Y,SBrkr,1088,0,0,1088,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,2002,Unf,2,520,TA,TA,P,0,0,0,0,0,0,NA,NA,NA,0,6,2007,COD,Normal +2545,50,RL,74,16287,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,5,6,1925,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,130,BLQ,105,666,901,GasA,TA,Y,SBrkr,901,450,0,1351,1,0,1,0,3,1,TA,7,Typ,1,Gd,Detchd,1975,Unf,2,576,TA,TA,N,0,0,43,0,100,0,NA,NA,NA,0,7,2007,WD,Normal +2546,20,RL,80,8240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,6,6,1960,1960,Hip,CompShg,HdBoard,HdBoard,Stone,198,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1179,1179,GasA,Gd,Y,SBrkr,1179,0,0,1179,0,0,1,0,2,1,TA,5,Min2,0,NA,Attchd,1960,Fin,2,622,TA,TA,P,0,0,0,0,0,0,NA,GdPrv,NA,0,6,2007,WD,Normal +2547,80,RL,65,6285,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,SLvl,6,6,1976,1976,Gable,CompShg,HdBoard,Plywood,None,0,TA,Fa,CBlock,TA,TA,Av,GLQ,504,Unf,0,456,960,GasA,TA,Y,SBrkr,1044,0,0,1044,1,0,1,0,3,1,TA,7,Typ,1,Fa,Detchd,1976,Unf,2,528,TA,Fa,Y,228,0,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal +2548,90,RL,NA,9555,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Edwards,Norm,Norm,Duplex,2Story,5,6,1979,1979,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,1100,1133,0,2233,0,0,2,1,5,2,TA,11,Typ,0,NA,Attchd,1979,Fin,2,579,TA,Gd,Y,0,0,0,0,0,0,NA,NA,NA,0,2,2007,WD,Normal +2549,60,RL,60,7023,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,2Story,5,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,Gd,No,GLQ,611,Unf,0,123,734,GasA,Gd,Y,SBrkr,734,674,0,1408,1,0,2,1,3,1,TA,6,Typ,0,NA,BuiltIn,2005,Fin,2,489,TA,TA,Y,0,85,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2550,20,RL,128,39290,Pave,NA,IR1,Bnk,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,10,5,2008,2009,Hip,CompShg,CemntBd,CmentBd,Stone,1224,Ex,TA,PConc,Ex,TA,Gd,GLQ,4010,Unf,0,1085,5095,GasA,Ex,Y,SBrkr,5095,0,0,5095,1,1,2,1,2,1,Ex,15,Typ,2,Gd,Attchd,2008,Fin,3,1154,TA,TA,Y,546,484,0,0,0,0,NA,NA,NA,17000,10,2007,New,Partial +2551,180,RM,35,3675,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,TwnhsE,SFoyer,6,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,Stone,76,TA,TA,PConc,Gd,TA,Gd,GLQ,467,Unf,0,80,547,GasA,Ex,Y,SBrkr,1072,0,0,1072,1,0,1,0,2,1,Gd,5,Typ,0,NA,Basment,2005,Fin,2,525,TA,TA,Y,0,44,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2552,20,RL,64,6400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,7,1959,2000,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,TA,Av,Rec,77,ALQ,831,52,960,GasA,Ex,Y,SBrkr,960,0,0,960,1,0,1,0,2,1,Fa,4,Typ,0,NA,Detchd,1959,Unf,1,392,TA,TA,Y,144,0,35,0,0,0,NA,NA,NA,0,12,2007,WD,Normal +2553,90,RL,74,6882,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,Duplex,1Story,4,3,1955,1955,Gable,CompShg,AsbShng,Plywood,BrkCmn,128,TA,TA,PConc,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,N,SBrkr,1152,0,0,1152,0,0,2,0,2,2,Fa,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,0,0,0,0,NA,NA,NA,0,9,2007,WD,Normal +2554,90,RL,52,8741,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,Duplex,1Story,5,6,1946,1950,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1195,1195,GasA,TA,N,SBrkr,1195,0,0,1195,0,0,2,0,4,2,TA,8,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,118,0,0,0,0,0,NA,GdWo,NA,0,7,2007,WD,Abnorml +2555,40,RL,62,10042,Pave,NA,Reg,Bnk,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,6,8,1920,1995,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,LwQ,144,ALQ,278,238,660,GasA,TA,Y,SBrkr,740,125,0,865,1,0,1,0,2,1,TA,4,Typ,1,Gd,Detchd,1920,Unf,1,216,TA,TA,Y,0,0,84,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2556,20,RL,60,8172,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,5,1955,1955,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,544,Unf,0,224,768,GasA,TA,Y,SBrkr,768,0,0,768,0,0,1,0,2,1,TA,4,Typ,1,Fa,Detchd,1959,Unf,1,355,TA,TA,Y,0,0,196,0,0,0,NA,MnPrv,NA,0,7,2007,WD,Normal +2557,20,RL,60,8172,Pave,NA,Reg,HLS,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,5,1955,1955,Gable,CompShg,WdShing,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,682,Unf,0,182,864,GasA,TA,Y,SBrkr,864,0,0,864,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1996,Unf,2,528,TA,TA,N,196,0,0,0,0,0,NA,NA,NA,0,10,2007,COD,Family +2558,90,RL,60,10890,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,Duplex,2Story,5,6,1923,1950,Hip,CompShg,Wd Sdng,Plywood,None,0,TA,TA,PConc,TA,TA,Mn,Rec,371,Unf,0,925,1296,Grav,Fa,N,FuseA,1296,1296,0,2592,2,0,2,0,6,2,TA,12,Min2,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,742,240,0,0,0,NA,NA,Shed,1512,1,2007,WD,AdjLand +2559,30,RL,54,7223,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,5,5,1926,1950,Hip,CompShg,Stucco,Plywood,None,0,TA,TA,PConc,TA,TA,Mn,BLQ,319,Unf,0,971,1290,GasA,TA,Y,SBrkr,1422,0,0,1422,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1973,Unf,1,352,TA,TA,Y,0,0,64,0,0,0,NA,MnPrv,NA,0,4,2007,WD,Normal +2560,50,RL,51,6821,Pave,NA,Reg,HLS,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1.5Fin,6,7,1921,2005,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,BLQ,113,Unf,0,538,651,GasA,Gd,Y,SBrkr,759,539,0,1298,0,0,2,0,2,1,TA,8,Typ,1,Gd,Detchd,1994,Unf,1,240,TA,TA,P,216,0,168,0,0,0,NA,NA,NA,0,8,2007,WD,Normal +2561,70,RL,63,4000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,7,8,1930,1995,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Gd,TA,No,GLQ,246,Unf,0,285,531,GasA,TA,Y,SBrkr,567,531,0,1098,1,0,1,0,2,1,TA,5,Typ,1,Gd,Detchd,1930,Unf,1,216,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,6,2007,WD,Normal +2562,70,RL,53,6720,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,6,7,1921,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,585,585,GasA,TA,N,SBrkr,851,585,0,1436,0,0,1,0,3,1,TA,7,Typ,1,Gd,Detchd,1992,Unf,1,228,TA,TA,Y,184,0,0,0,0,0,NA,NA,NA,0,4,2007,CWD,Normal +2563,70,RL,53,7155,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,6,8,1926,1991,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,686,686,GasA,TA,Y,SBrkr,686,775,0,1461,0,0,1,0,3,1,TA,6,Typ,1,Gd,Detchd,1926,Unf,1,225,TA,TA,N,0,0,116,0,0,0,NA,MnPrv,NA,0,7,2007,WD,Normal +2564,70,RL,60,7230,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2.5Unf,7,7,1927,1992,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,851,851,GasA,Gd,Y,SBrkr,867,851,0,1718,0,0,2,1,4,1,Gd,8,Typ,1,TA,Detchd,1927,Unf,2,264,TA,TA,Y,291,0,60,0,153,0,NA,GdPrv,NA,0,10,2007,WD,Normal +2565,20,RL,126,13108,Pave,NA,IR2,HLS,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,5,5,1951,1951,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,Fa,Y,SBrkr,1226,0,0,1226,0,0,1,1,2,1,TA,7,Min1,1,Gd,Attchd,1951,Fin,2,400,TA,TA,Y,174,24,120,0,228,0,NA,NA,NA,0,6,2007,WD,Normal +2566,50,RL,110,7810,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1.5Fin,4,6,1930,2003,Gable,CompShg,AsbShng,CmentBd,None,0,TA,Gd,BrkTil,TA,Gd,No,GLQ,189,Unf,0,741,930,GasA,Ex,Y,SBrkr,1230,525,0,1755,0,0,2,0,4,1,Gd,7,Typ,1,TA,Detchd,1930,Unf,1,231,Fa,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,11,2007,WD,Normal +2567,190,RL,79,6221,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,2fmCon,1.5Fin,5,5,1941,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,Fa,No,LwQ,533,Unf,0,195,728,GasA,Ex,Y,SBrkr,760,595,0,1355,0,0,2,0,3,1,TA,5,Typ,0,NA,Detchd,1966,Unf,2,528,TA,TA,Y,0,0,0,0,144,0,NA,MnPrv,NA,0,10,2007,WD,Normal +2568,20,RL,NA,25485,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Crawfor,Norm,Norm,1Fam,1Story,6,4,1960,1960,Gable,CompShg,Wd Sdng,MetalSd,BrkFace,423,TA,Fa,CBlock,TA,Gd,Mn,LwQ,540,Rec,1020,0,1560,GasA,TA,Y,SBrkr,1560,0,0,1560,0,0,1,1,3,1,TA,6,Typ,3,TA,Attchd,1960,RFn,2,580,TA,TA,Y,0,75,584,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2569,20,RL,NA,21579,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Crawfor,Norm,Norm,1Fam,1Story,6,6,1968,1968,Hip,CompShg,HdBoard,BrkFace,None,0,TA,TA,PConc,Gd,TA,No,BLQ,813,Unf,0,675,1488,GasA,Ex,Y,SBrkr,1488,0,0,1488,0,1,2,0,3,1,TA,7,Typ,2,Gd,Attchd,1968,RFn,2,552,TA,TA,Y,0,0,216,0,0,0,NA,NA,NA,0,9,2007,CWD,Normal +2570,160,RM,24,1782,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blueste,Norm,Norm,Twnhs,2Story,6,6,1980,1980,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,Gd,TA,No,GLQ,330,Unf,0,186,516,GasA,Gd,Y,SBrkr,529,516,0,1045,0,0,1,0,2,1,TA,5,Typ,1,TA,Detchd,1980,Unf,2,462,TA,TA,Y,180,0,0,0,0,0,NA,MnPrv,NA,0,12,2007,WD,Normal +2571,20,RL,NA,17871,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,4,5,1995,1996,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1680,1680,GasA,Gd,Y,SBrkr,1680,0,0,1680,0,0,2,0,4,1,Gd,7,Typ,0,NA,Attchd,1996,Unf,2,628,TA,TA,Y,152,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2572,120,RM,35,3907,Pave,NA,IR1,Bnk,AllPub,Inside,Mod,Blueste,Norm,Norm,TwnhsE,1Story,8,5,1988,1988,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,Gd,GLQ,577,Unf,0,427,1004,GasA,Gd,Y,SBrkr,1020,0,0,1020,1,0,1,0,1,1,TA,4,Typ,0,NA,Attchd,1988,Unf,2,509,TA,TA,Y,135,0,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2573,20,RL,NA,20693,Pave,NA,IR1,Bnk,AllPub,Corner,Gtl,Crawfor,Norm,Norm,1Fam,1Story,7,5,1971,1971,Gable,CompShg,Plywood,Plywood,BrkFace,652,TA,TA,CBlock,Gd,TA,No,Rec,434,Unf,0,1262,1696,GasA,Ex,Y,SBrkr,1696,0,0,1696,0,0,2,0,3,1,TA,7,Typ,2,TA,Attchd,1971,Fin,2,625,TA,TA,Y,0,146,0,0,0,0,NA,GdWo,NA,0,2,2007,WD,Normal +2574,20,RL,70,18044,Pave,NA,IR1,HLS,AllPub,CulDSac,Gtl,Crawfor,Norm,Norm,1Fam,1Story,8,5,1986,1986,Gable,CompShg,WdShing,Plywood,None,0,Gd,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,279,279,GasA,Gd,Y,SBrkr,2726,0,0,2726,0,0,2,1,2,1,Gd,6,Typ,1,Gd,Attchd,1986,Fin,2,691,Gd,Gd,Y,216,64,169,0,0,228,Ex,NA,NA,0,8,2007,WD,Normal +2575,50,RM,50,7000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,6,7,1940,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,ALQ,375,Unf,0,345,720,GasA,Gd,Y,FuseA,720,495,0,1215,0,0,1,0,3,1,Gd,6,Typ,0,NA,Detchd,1965,Fin,2,720,TA,TA,Y,0,0,30,0,0,0,NA,MnPrv,NA,0,5,2007,WD,Normal +2576,50,RM,50,7288,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Artery,Norm,1Fam,1.5Fin,5,7,1925,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,Gd,BrkTil,TA,Po,No,Unf,0,Unf,0,936,936,GasA,Ex,Y,SBrkr,936,665,0,1601,0,0,2,0,3,1,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,0,176,0,0,NA,NA,NA,0,9,2007,WD,Normal +2577,70,RM,50,9060,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,2Story,5,6,1923,1999,Gable,CompShg,Wd Sdng,Plywood,None,0,TA,TA,BrkTil,Gd,TA,No,ALQ,548,Unf,0,311,859,GasA,Ex,Y,SBrkr,942,886,0,1828,0,0,2,0,3,1,Gd,6,Typ,0,NA,Detchd,NA,NA,NA,NA,NA,NA,Y,174,0,212,0,0,0,NA,MnPrv,NA,0,3,2007,WD,Alloca +2578,30,RM,46,3672,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Artery,Norm,1Fam,1Story,5,7,1922,1950,Gable,CompShg,Stucco,Stucco,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,816,816,GasA,Ex,Y,SBrkr,816,0,0,816,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1922,Unf,1,100,Fa,Fa,N,0,0,96,0,0,0,NA,NA,NA,0,9,2007,WD,Normal +2579,50,RM,64,11067,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,2,4,1939,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,NA,NA,NA,NA,0,NA,0,0,0,GasA,Ex,Y,SBrkr,640,0,205,845,0,0,1,0,1,1,TA,4,Maj2,0,NA,Detchd,1950,Unf,1,256,TA,Fa,N,48,0,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2580,190,C (all),75,8250,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Feedr,Norm,2fmCon,2Story,5,6,1895,2006,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,TA,No,Unf,0,Unf,0,957,957,GasA,Fa,N,SBrkr,1034,957,0,1991,0,0,2,0,4,2,TA,9,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,133,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2581,20,C (all),65,6565,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,4,6,1957,1980,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,GLQ,967,Unf,0,106,1073,GasA,Gd,Y,FuseA,1073,0,0,1073,1,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1985,Unf,2,720,TA,TA,Y,0,444,0,0,0,0,NA,NA,NA,0,8,2007,WD,Abnorml +2582,30,C (all),60,6060,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,5,9,1930,2007,Hip,CompShg,MetalSd,MetalSd,None,0,Gd,TA,BrkTil,TA,TA,No,ALQ,737,Unf,0,100,837,GasA,Ex,Y,SBrkr,1001,0,0,1001,0,0,1,0,2,1,Gd,5,Typ,0,NA,Detchd,1930,Unf,1,216,TA,Po,N,154,0,42,86,0,0,NA,NA,NA,0,11,2007,WD,Normal +2583,120,RM,59,5568,Pave,NA,IR1,HLS,AllPub,Inside,Mod,Crawfor,Norm,Norm,TwnhsE,1Story,8,5,2006,2007,Hip,CompShg,CemntBd,CmentBd,Stone,473,Gd,TA,PConc,Gd,TA,Gd,GLQ,1573,Unf,0,0,1573,GasA,Gd,Y,SBrkr,1625,0,0,1625,1,1,2,0,2,1,Gd,5,Typ,1,Gd,Attchd,2006,Fin,2,495,TA,TA,Y,123,0,0,0,153,0,NA,NA,NA,0,10,2007,New,Partial +2584,85,RL,NA,12150,Pave,NA,IR1,Bnk,AllPub,CulDSac,Gtl,Mitchel,Norm,Norm,1Fam,SFoyer,6,6,1979,1979,Gable,CompShg,HdBoard,Wd Shng,None,0,TA,TA,CBlock,Gd,TA,Av,GLQ,1001,Unf,0,0,1001,GasA,TA,Y,SBrkr,1299,0,0,1299,1,0,2,0,2,1,Gd,5,Typ,1,Po,BuiltIn,1979,RFn,2,486,TA,TA,Y,84,0,222,0,0,0,NA,MnPrv,NA,0,1,2007,WD,Normal +2585,20,RL,80,10000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,166,Gd,TA,PConc,Gd,TA,No,GLQ,585,Unf,0,856,1441,GasA,Ex,Y,SBrkr,1392,0,0,1392,0,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2002,Fin,3,650,TA,TA,Y,168,49,0,0,0,0,NA,NA,NA,0,12,2007,WD,Normal +2586,20,RL,44,12864,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Mitchel,Norm,Norm,1Fam,1Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,1392,Unf,0,17,1409,GasA,Ex,Y,SBrkr,1409,0,0,1409,1,0,1,1,1,1,Gd,4,Typ,1,Gd,Attchd,2002,RFn,2,576,TA,TA,Y,0,144,0,0,145,0,NA,NA,NA,0,7,2007,WD,Normal +2587,20,RL,NA,9928,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Mitchel,Norm,Norm,1Fam,1Story,7,5,1991,1992,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,No,GLQ,1239,Unf,0,215,1454,GasA,TA,Y,SBrkr,1478,0,0,1478,1,0,2,0,3,1,TA,6,Typ,1,TA,Attchd,1991,Unf,2,506,TA,TA,Y,114,22,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2588,80,RL,NA,8750,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,SLvl,7,6,1975,1975,Gable,CompShg,Plywood,Plywood,Stone,50,TA,TA,CBlock,TA,TA,Av,Rec,224,GLQ,530,98,852,GasA,TA,Y,SBrkr,918,0,0,918,0,1,1,0,3,0,TA,4,Typ,0,NA,Attchd,1975,Unf,1,360,TA,TA,Y,192,84,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal +2589,85,RL,82,8410,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Mitchel,Norm,Norm,1Fam,SFoyer,6,6,1974,1974,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,Av,ALQ,924,Unf,0,46,970,GasA,TA,Y,SBrkr,1026,0,0,1026,1,0,1,0,2,1,TA,5,Typ,1,Po,Attchd,1974,Unf,2,528,TA,TA,Y,193,0,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal +2590,120,RL,46,4054,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,TwnhsE,1Story,7,6,1987,1987,Gable,CompShg,VinylSd,VinylSd,BrkFace,352,Gd,TA,BrkTil,Gd,TA,Av,GLQ,949,Unf,0,552,1501,GasA,Ex,Y,SBrkr,1501,0,0,1501,1,0,2,0,2,1,Gd,5,Typ,2,TA,Attchd,1987,Fin,2,512,TA,TA,Y,240,0,0,0,0,0,NA,NA,NA,0,10,2007,WD,Normal +2591,20,RL,149,19958,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,6,8,1958,1995,Hip,CompShg,HdBoard,HdBoard,BrkFace,1224,TA,Gd,CBlock,TA,TA,No,Unf,0,Unf,0,585,585,GasA,Gd,Y,SBrkr,2279,0,0,2279,0,0,2,1,4,1,Gd,7,Typ,1,Gd,Attchd,1958,RFn,2,461,TA,TA,Y,274,0,0,0,138,0,NA,GdPrv,NA,0,7,2007,WD,Normal +2592,20,RL,67,8368,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,7,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1689,1689,GasA,Ex,Y,SBrkr,1689,0,0,1689,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2007,Fin,2,433,TA,TA,Y,100,39,0,0,0,0,NA,NA,NA,0,4,2007,New,Partial +2593,20,RL,68,8298,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2006,2007,Hip,CompShg,VinylSd,VinylSd,NA,NA,Gd,TA,PConc,Gd,TA,Av,GLQ,583,Unf,0,963,1546,GasA,Ex,Y,SBrkr,1564,0,0,1564,0,0,2,0,2,1,Ex,6,Typ,1,Gd,Attchd,2207,RFn,2,502,TA,TA,Y,132,0,0,0,0,0,NA,NA,NA,0,9,2007,New,Partial +2594,20,RL,42,10331,Pave,NA,Reg,Lvl,AllPub,CulDSac,Gtl,Timber,Norm,Norm,1Fam,1Story,7,7,1985,1985,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,215,BLQ,80,970,1265,GasA,Gd,Y,SBrkr,1240,0,0,1240,0,1,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1985,Unf,2,528,TA,TA,Y,232,0,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2595,20,RL,NA,6718,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,BrkFace,86,Gd,TA,PConc,Ex,TA,Mn,GLQ,250,Unf,0,1017,1267,GasA,Ex,Y,SBrkr,1312,0,0,1312,0,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,2001,Unf,2,471,TA,TA,Y,256,28,0,0,0,0,NA,NA,NA,0,1,2007,WD,Normal +2596,20,RL,80,11305,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2002,2002,Hip,CompShg,VinylSd,VinylSd,BrkFace,886,Gd,TA,PConc,Gd,TA,Av,GLQ,1329,Unf,0,593,1922,GasA,Ex,Y,SBrkr,1922,0,0,1922,1,0,2,0,2,1,Gd,6,Typ,1,Ex,Attchd,2002,Fin,3,692,TA,TA,Y,201,64,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal +2597,20,RL,NA,7777,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,6,5,1996,1996,Gable,CompShg,VinylSd,VinylSd,BrkFace,203,Gd,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1491,1491,GasA,Ex,Y,SBrkr,1491,0,0,1491,0,0,2,0,3,1,TA,7,Typ,1,TA,Attchd,1996,Fin,2,571,TA,TA,Y,0,35,0,0,0,0,NA,NA,NA,0,11,2007,WD,Normal +2598,60,RL,NA,11800,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,2Story,7,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,94,Gd,TA,PConc,Gd,TA,Gd,GLQ,766,Unf,0,356,1122,GasA,Ex,Y,SBrkr,1146,1340,0,2486,1,0,3,1,5,1,Gd,10,Typ,1,Gd,BuiltIn,2003,Fin,2,452,TA,TA,Y,143,32,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2599,20,RL,85,12633,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Timber,PosA,PosA,1Fam,1Story,10,5,2006,2007,Hip,CompShg,MetalSd,MetalSd,BrkFace,242,Ex,TA,PConc,Ex,TA,Gd,Unf,0,Unf,0,1824,1824,GasA,Ex,Y,SBrkr,1824,0,0,1824,0,0,2,0,3,1,Ex,8,Typ,1,Gd,Attchd,2006,Fin,3,932,TA,TA,Y,160,36,0,0,108,0,NA,NA,NA,0,9,2007,New,Partial +2600,20,RL,200,43500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Artery,Norm,1Fam,1Story,3,5,1953,1953,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,Ex,Y,SBrkr,2034,0,0,2034,0,0,1,0,2,1,TA,9,Min1,0,NA,2Types,1953,RFn,4,1041,TA,TA,N,483,266,0,0,0,561,NA,GdPrv,NA,0,6,2007,WD,Normal +2601,120,RM,62,6710,Pave,NA,IR1,Lvl,AllPub,FR3,Gtl,Mitchel,Norm,Norm,TwnhsE,SFoyer,6,5,1996,1997,Gable,CompShg,VinylSd,VinylSd,BrkFace,134,TA,TA,PConc,Ex,TA,Av,Rec,16,GLQ,904,0,920,GasA,Ex,Y,SBrkr,936,0,0,936,2,0,0,1,0,1,TA,3,Typ,0,NA,Attchd,1996,Fin,2,460,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal +2602,160,RM,21,1504,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,2Story,4,4,1972,1972,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,252,Unf,0,294,546,GasA,TA,Y,SBrkr,546,546,0,1092,0,0,1,1,3,1,TA,5,Typ,0,NA,Attchd,1972,Unf,1,253,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2603,180,RM,NA,1533,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,SLvl,4,5,1970,1970,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,Gd,TA,Av,GLQ,503,Unf,0,27,530,GasA,TA,Y,SBrkr,530,462,0,992,1,0,1,0,2,1,TA,4,Typ,0,NA,BuiltIn,1970,Fin,1,297,TA,TA,Y,112,97,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal +2604,160,RM,21,1495,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,2Story,4,6,1970,1970,Gable,CompShg,CemntBd,CmentBd,BrkFace,189,TA,TA,CBlock,TA,TA,No,ALQ,384,Unf,0,162,546,GasA,Ex,Y,SBrkr,546,546,0,1092,0,0,1,1,3,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,64,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal +2605,160,RM,21,1890,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,2Story,4,3,1976,1976,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,546,546,GasA,Ex,Y,SBrkr,546,546,0,1092,0,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1976,Unf,1,286,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,4,2007,COD,Normal +2606,85,RL,72,9129,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,SFoyer,5,5,1977,1977,Gable,CompShg,Plywood,Plywood,BrkFace,144,TA,TA,PConc,Gd,TA,Av,GLQ,923,Unf,0,0,923,GasA,TA,Y,SBrkr,1008,0,0,1008,1,0,1,0,1,1,Gd,4,Typ,1,Fa,Attchd,1977,Fin,2,678,TA,TA,Y,201,66,0,0,0,0,NA,MnPrv,NA,0,7,2007,WD,Normal +2607,80,RL,NA,15957,Pave,NA,IR1,Low,AllPub,Corner,Mod,Mitchel,Norm,Norm,1Fam,SLvl,6,6,1977,1977,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,PConc,Gd,TA,Gd,GLQ,1148,Unf,0,96,1244,GasA,TA,Y,SBrkr,1356,0,0,1356,2,0,2,0,3,1,TA,6,Typ,1,TA,Attchd,1977,Fin,2,528,TA,TA,Y,1424,0,0,0,0,0,NA,MnPrv,NA,0,9,2007,WD,Normal +2608,20,RL,61,33983,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,6,1977,1994,Gable,CompShg,Plywood,Plywood,None,0,TA,Fa,PConc,TA,TA,Mn,ALQ,1112,Unf,0,48,1160,GasA,TA,Y,SBrkr,1676,0,0,1676,1,0,1,1,3,1,Gd,6,Mod,2,TA,Attchd,1977,RFn,2,672,TA,TA,P,690,90,0,0,0,0,NA,GdPrv,NA,0,5,2007,WD,Normal +2609,60,RL,68,8286,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Mitchel,Norm,Norm,1Fam,2Story,5,7,1977,1977,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,PConc,Gd,TA,No,Rec,531,Unf,0,185,716,GasA,Ex,Y,SBrkr,716,716,0,1432,1,0,1,1,3,1,TA,6,Typ,1,Gd,Attchd,1977,Fin,2,531,TA,TA,Y,0,136,0,0,240,0,NA,GdPrv,NA,0,6,2007,WD,Normal +2610,85,RL,50,6723,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,SFoyer,5,7,1971,1971,Gable,CompShg,Wd Sdng,HdBoard,None,0,TA,TA,CBlock,Gd,TA,Av,GLQ,796,Unf,0,0,796,GasA,TA,Y,SBrkr,796,0,0,796,0,1,1,0,2,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,129,0,0,0,0,0,NA,GdWo,NA,0,9,2007,WD,Normal +2611,20,RL,124,27697,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,4,3,1961,1961,Shed,CompShg,Plywood,Plywood,NA,198,TA,TA,CBlock,TA,TA,No,BLQ,811,Unf,0,585,1396,GasA,TA,N,SBrkr,1608,0,0,1608,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1961,Unf,1,444,TA,Fa,Y,152,38,0,0,0,0,NA,NA,NA,0,11,2007,COD,Abnorml +2612,20,RL,NA,11000,Pave,NA,IR2,Lvl,AllPub,Corner,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,6,1976,2003,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,PConc,Gd,TA,No,LwQ,1090,Unf,0,0,1090,GasA,TA,Y,SBrkr,1178,0,0,1178,1,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1976,Unf,2,502,TA,TA,Y,0,44,0,0,88,0,NA,MnPrv,NA,0,6,2007,WD,Normal +2613,20,RL,65,11625,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,7,1983,1983,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,596,Unf,0,220,816,GasA,TA,Y,SBrkr,816,0,0,816,1,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1983,Fin,1,264,TA,TA,Y,330,0,0,0,0,0,NA,MnPrv,NA,0,5,2007,WD,Normal +2614,20,RL,62,10447,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,6,1984,1984,Gable,CompShg,Plywood,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,ALQ,516,Unf,0,348,864,GasA,TA,Y,SBrkr,887,0,0,887,0,1,1,0,3,1,TA,5,Typ,0,NA,Attchd,1984,RFn,1,288,TA,TA,Y,140,0,0,0,0,0,NA,NA,NA,0,12,2007,WD,Normal +2615,20,RL,NA,11027,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1954,1954,Hip,CompShg,Wd Sdng,Wd Sdng,Stone,28,TA,TA,CBlock,TA,TA,No,BLQ,468,Rec,539,171,1178,GasA,Gd,Y,SBrkr,1293,0,0,1293,1,0,2,0,2,1,TA,5,Typ,0,NA,Attchd,1954,RFn,2,452,TA,TA,Y,280,0,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2616,20,RL,85,10533,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1956,1956,Hip,CompShg,VinylSd,VinylSd,BrkFace,244,TA,Gd,CBlock,TA,TA,No,Rec,773,Unf,0,235,1008,GasA,TA,Y,SBrkr,1024,0,0,1024,1,0,1,0,2,1,Gd,5,Typ,2,TA,Attchd,1956,Unf,1,313,TA,TA,Y,0,0,0,0,280,0,NA,NA,NA,0,8,2006,WD,Normal +2617,20,RL,NA,11765,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1957,1957,Gable,CompShg,Wd Sdng,Wd Sdng,Stone,302,TA,TA,CBlock,TA,TA,Mn,Rec,1127,Unf,0,490,1617,GasA,Fa,Y,SBrkr,1797,0,0,1797,0,0,1,1,3,1,TA,7,Typ,1,TA,Attchd,1957,Unf,3,963,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2618,20,RL,NA,39384,Pave,NA,IR1,Low,AllPub,CulDSac,Sev,NAmes,Norm,Norm,1Fam,1Story,6,6,1957,1957,Gable,CompShg,Wd Sdng,Wd Sdng,Stone,902,TA,TA,CBlock,Gd,TA,Gd,ALQ,1110,Unf,0,595,1705,GasA,Ex,Y,SBrkr,1390,0,0,1390,1,0,1,1,1,1,Ex,4,Min1,2,Gd,Attchd,1957,Unf,2,550,TA,TA,Y,0,189,0,0,0,0,NA,NA,NA,0,10,2006,WD,Abnorml +2619,20,RL,90,11727,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,7,6,1969,1969,Gable,CompShg,HdBoard,HdBoard,BrkFace,434,TA,Gd,CBlock,TA,TA,Mn,Unf,0,Unf,0,1851,1851,GasA,Gd,Y,SBrkr,1851,0,0,1851,0,0,2,0,3,1,TA,8,Typ,1,TA,Attchd,1969,Fin,2,506,TA,TA,Y,0,146,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal +2620,60,RL,60,8238,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1997,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,TA,TA,No,GLQ,700,Unf,0,113,813,GasA,Ex,Y,SBrkr,813,712,0,1525,1,0,2,1,3,1,TA,6,Typ,1,TA,Attchd,1997,Fin,2,400,TA,TA,Y,421,72,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2621,60,RL,NA,13041,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1995,1995,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,781,781,GasA,Gd,Y,SBrkr,781,890,0,1671,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1995,Fin,2,423,TA,TA,Y,0,84,0,0,0,0,NA,NA,NA,0,2,2006,WD,Normal +2622,60,RL,54,9783,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1996,1996,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,821,821,GasA,Gd,Y,SBrkr,821,955,0,1776,0,0,2,1,3,1,TA,7,Typ,1,TA,BuiltIn,1996,Fin,2,443,TA,TA,Y,286,116,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2623,60,RL,50,13128,Pave,NA,IR1,HLS,AllPub,CulDSac,Gtl,Gilbert,Norm,Norm,1Fam,2Story,8,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,216,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1074,1074,GasA,Ex,Y,SBrkr,1074,990,0,2064,0,0,2,1,4,1,Gd,7,Typ,1,Gd,Attchd,2005,Fin,2,527,TA,TA,Y,0,119,0,0,0,0,NA,NA,NA,0,1,2006,WD,Normal +2624,60,RL,42,13751,Pave,NA,IR1,HLS,AllPub,CulDSac,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,248,Gd,TA,PConc,Gd,TA,Av,GLQ,60,Unf,0,1640,1700,GasA,Ex,Y,SBrkr,1700,512,0,2212,1,0,2,1,3,1,Gd,9,Typ,1,Gd,Attchd,2006,Fin,3,773,TA,TA,Y,237,38,0,0,115,0,NA,NA,NA,0,5,2006,New,Partial +2625,160,RL,68,13108,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,StoneBr,Norm,Norm,1Fam,2Story,8,5,1994,1994,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,2062,2062,GasA,Ex,Y,SBrkr,2079,608,0,2687,0,0,2,1,4,1,Gd,9,Typ,0,NA,Attchd,1994,Fin,2,618,TA,TA,Y,168,12,0,0,0,0,NA,NA,NA,0,12,2006,WD,Normal +2626,20,RL,NA,8076,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,1Story,6,6,1993,1994,Gable,CompShg,HdBoard,HdBoard,BrkFace,112,TA,TA,PConc,Gd,TA,No,GLQ,705,Unf,0,455,1160,GasA,Gd,Y,SBrkr,1169,0,0,1169,0,1,2,0,3,1,TA,6,Typ,1,TA,Attchd,1993,Fin,2,402,TA,TA,Y,0,26,0,0,144,0,NA,MnPrv,NA,0,7,2006,WD,Normal +2627,120,RL,30,3701,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,1987,1987,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,1191,1191,GasA,TA,Y,SBrkr,1204,0,0,1204,0,0,2,0,2,1,TA,5,Typ,0,NA,Attchd,1987,RFn,2,461,TA,TA,Y,120,70,0,0,0,0,NA,NA,NA,0,8,2006,WD,Normal +2628,60,RL,59,16023,Pave,NA,IR1,HLS,AllPub,CulDSac,Gtl,StoneBr,Norm,Norm,1Fam,2Story,9,5,2005,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,600,Gd,Ex,PConc,Ex,TA,Gd,GLQ,1218,Unf,0,180,1398,GasA,Ex,Y,SBrkr,1414,1384,0,2798,1,0,3,1,3,1,Ex,11,Typ,1,Gd,BuiltIn,2005,Fin,3,670,TA,TA,Y,182,37,0,0,0,0,NA,NA,NA,0,3,2006,New,Partial +2629,60,RL,60,18062,Pave,NA,IR1,HLS,AllPub,CulDSac,Gtl,StoneBr,Norm,Norm,1Fam,2Story,10,5,2006,2006,Hip,CompShg,CemntBd,CmentBd,BrkFace,662,Ex,TA,PConc,Ex,TA,Gd,Unf,0,Unf,0,1528,1528,GasA,Ex,Y,SBrkr,1528,1862,0,3390,0,0,3,1,5,1,Ex,10,Typ,1,Ex,BuiltIn,2006,Fin,3,758,TA,TA,Y,204,34,0,0,0,0,NA,NA,NA,0,9,2006,New,Partial +2630,60,RL,63,12292,Pave,NA,IR1,HLS,AllPub,CulDSac,Gtl,StoneBr,Norm,Norm,1Fam,2Story,9,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,184,Gd,TA,PConc,Ex,Gd,Gd,GLQ,205,Unf,0,889,1094,GasA,Ex,Y,SBrkr,1102,1371,0,2473,0,0,2,1,4,1,Gd,11,Typ,1,Gd,BuiltIn,2006,Fin,3,675,TA,TA,Y,246,39,0,0,0,0,NA,NA,NA,0,7,2006,New,Partial +2631,60,RL,82,16052,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,StoneBr,Norm,Norm,1Fam,2Story,10,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,Stone,734,Ex,TA,PConc,Ex,TA,No,GLQ,1206,Unf,0,644,1850,GasA,Ex,Y,SBrkr,1850,848,0,2698,1,0,2,1,4,1,Ex,11,Typ,1,Gd,Attchd,2006,RFn,3,736,TA,TA,Y,250,0,0,0,0,0,NA,NA,NA,0,7,2006,New,Partial +2632,60,RL,92,15922,Pave,NA,IR1,HLS,AllPub,Corner,Gtl,StoneBr,Norm,Norm,1Fam,2Story,9,5,2005,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,550,Gd,TA,PConc,Ex,TA,Av,Unf,0,Unf,0,1390,1390,GasA,Ex,Y,SBrkr,1390,1405,0,2795,0,0,3,1,4,1,Ex,10,Typ,1,Gd,BuiltIn,2005,Fin,3,660,TA,TA,Y,272,102,0,0,0,0,NA,NA,NA,0,1,2006,New,Partial +2633,120,RL,60,8147,Pave,NA,Reg,HLS,AllPub,Inside,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,9,5,2005,2005,Hip,CompShg,MetalSd,MetalSd,BrkFace,230,Gd,TA,PConc,Ex,TA,Gd,GLQ,1191,Unf,0,523,1714,GasA,Ex,Y,SBrkr,1714,0,0,1714,1,0,2,0,2,1,Gd,7,Typ,1,Gd,Attchd,2005,Fin,2,517,TA,TA,Y,156,55,0,0,0,0,NA,NA,NA,0,8,2006,WD,Normal +2634,20,RL,90,18261,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,StoneBr,Norm,Norm,1Fam,1Story,9,5,2005,2005,Hip,CompShg,VinylSd,VinylSd,BrkFace,420,Ex,TA,PConc,Ex,TA,Gd,GLQ,1416,Unf,0,494,1910,GasA,Ex,Y,SBrkr,2000,0,0,2000,1,0,2,1,3,1,Ex,8,Typ,2,Gd,Attchd,2005,Unf,3,722,TA,TA,Y,351,102,0,0,123,0,NA,NA,NA,0,9,2006,WD,Normal +2635,85,RL,NA,10464,Pave,NA,IR1,Lvl,AllPub,FR3,Gtl,NWAmes,Norm,Norm,1Fam,SFoyer,6,6,1980,1980,Gable,CompShg,HdBoard,HdBoard,BrkFace,130,TA,TA,CBlock,Gd,TA,Av,GLQ,850,Unf,0,138,988,GasA,TA,Y,SBrkr,1102,0,0,1102,1,0,1,0,2,1,TA,5,Typ,1,TA,Attchd,1980,RFn,2,582,TA,TA,Y,140,22,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2636,60,RL,81,10530,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,PosA,Norm,1Fam,2Story,7,5,1978,1978,Gable,CompShg,Plywood,Plywood,BrkFace,68,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,945,945,GasA,TA,Y,SBrkr,945,912,0,1857,0,0,2,1,4,1,TA,8,Typ,1,TA,Attchd,1978,RFn,2,482,TA,TA,Y,400,105,0,0,0,0,NA,GdPrv,NA,0,7,2006,WD,Normal +2637,85,RL,NA,9927,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,SFoyer,7,5,1976,1976,Gable,CompShg,VinylSd,Wd Shng,Stone,252,Gd,TA,CBlock,Ex,TA,Gd,GLQ,1005,Unf,0,42,1047,GasA,TA,Y,SBrkr,1083,0,0,1083,1,0,1,0,2,1,TA,5,Typ,1,Fa,Attchd,1976,RFn,2,596,TA,TA,Y,444,0,40,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2638,60,FV,75,9512,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,RRAn,Norm,1Fam,2Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,ALQ,788,Unf,0,172,960,GasA,Ex,Y,SBrkr,960,1358,0,2318,1,0,2,1,3,1,Gd,8,Typ,1,Ex,BuiltIn,2005,Fin,2,541,TA,TA,Y,0,246,0,0,0,0,NA,NA,NA,0,6,2006,New,Partial +2639,80,RL,81,10530,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,SLvl,6,6,1975,2000,Gable,CompShg,Plywood,Plywood,BrkFace,248,TA,TA,CBlock,TA,Fa,No,ALQ,548,Unf,0,127,675,GasA,TA,Y,SBrkr,1109,766,0,1875,0,0,3,0,3,1,Gd,8,Typ,1,TA,Attchd,1975,RFn,2,485,TA,TA,Y,48,28,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2640,20,RL,80,10000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,6,1974,1974,Gable,CompShg,HdBoard,Plywood,BrkFace,176,TA,TA,CBlock,TA,TA,No,ALQ,755,Unf,0,348,1103,GasA,TA,Y,SBrkr,1103,0,0,1103,0,0,2,0,3,1,TA,6,Typ,0,NA,Attchd,1974,Unf,2,462,TA,TA,Y,295,84,0,0,0,0,NA,GdWo,NA,0,6,2006,WD,Normal +2641,20,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,4,1971,1971,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Rec,20,LwQ,620,224,864,GasA,TA,Y,SBrkr,874,0,0,874,0,1,1,0,3,1,TA,5,Typ,0,NA,Detchd,1995,Unf,2,576,TA,TA,Y,63,0,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal +2642,120,RH,26,8773,Pave,NA,IR2,Lvl,AllPub,FR2,Gtl,NAmes,Norm,Norm,TwnhsE,1Story,6,5,2002,2002,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,951,Unf,0,536,1487,GasA,Ex,Y,SBrkr,1419,0,0,1419,1,0,2,0,2,1,Gd,4,Typ,0,NA,Attchd,2002,Fin,2,543,TA,TA,Y,196,68,0,0,0,0,NA,NA,NA,0,9,2006,WD,Normal +2643,160,RM,24,2760,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,TwnhsE,2Story,6,5,1973,1973,Gable,CompShg,HdBoard,HdBoard,BrkFace,514,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,525,525,GasA,TA,Y,SBrkr,525,567,0,1092,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1973,Unf,2,440,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,12,2006,WD,Normal +2644,160,RM,24,2160,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,TwnhsE,2Story,5,6,1973,1973,Gable,CompShg,HdBoard,HdBoard,BrkFace,200,TA,TA,CBlock,TA,TA,No,LwQ,402,Unf,0,363,765,GasA,Gd,Y,SBrkr,765,600,0,1365,0,0,1,1,3,1,Gd,7,Min1,1,Fa,Attchd,1973,Unf,2,440,TA,TA,Y,0,36,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2645,160,RM,21,1890,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,7,1972,1972,Gable,CompShg,HdBoard,HdBoard,BrkFace,380,TA,TA,CBlock,TA,TA,No,ALQ,282,Unf,0,212,494,GasA,Ex,Y,SBrkr,494,536,0,1030,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1973,Unf,1,264,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2646,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,5,1972,1972,Gable,CompShg,HdBoard,HdBoard,BrkFace,504,TA,TA,CBlock,TA,TA,No,ALQ,276,Unf,0,207,483,GasA,TA,Y,SBrkr,483,465,0,948,0,0,1,1,2,1,TA,5,Typ,0,NA,Detchd,1972,Unf,1,264,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2647,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,5,1972,1972,Gable,CompShg,HdBoard,HdBoard,BrkFace,504,TA,TA,CBlock,TA,TA,No,BLQ,382,Unf,0,143,525,GasA,Gd,Y,SBrkr,525,567,0,1092,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1972,Unf,1,264,TA,TA,Y,352,0,0,0,0,0,NA,GdPrv,NA,0,10,2006,WD,Normal +2648,120,RL,53,4043,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NPkVill,Norm,Norm,TwnhsE,1Story,6,5,1975,1975,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,727,BLQ,156,186,1069,GasA,Gd,Y,SBrkr,1069,0,0,1069,0,1,2,0,2,1,TA,4,Typ,1,Po,Attchd,1975,RFn,2,440,TA,TA,Y,0,55,0,0,225,0,NA,NA,NA,0,7,2006,WD,Normal +2649,20,RL,65,7514,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1967,1975,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,Mn,ALQ,373,Rec,108,462,943,GasA,TA,Y,SBrkr,1387,0,0,1387,1,0,1,0,3,1,TA,6,Typ,1,TA,Attchd,1974,RFn,1,300,TA,TA,Y,0,0,240,0,0,0,NA,NA,NA,0,9,2006,WD,Normal +2650,120,RL,24,2280,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NPkVill,Norm,Norm,Twnhs,1Story,7,7,1976,1976,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,TA,TA,No,ALQ,120,BLQ,492,443,1055,GasA,TA,Y,SBrkr,1055,0,0,1055,1,0,2,0,2,1,TA,4,Typ,0,NA,Attchd,1976,Unf,1,319,TA,TA,Y,0,29,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal +2651,160,RL,24,2179,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NPkVill,Norm,Norm,Twnhs,2Story,6,5,1976,1976,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,70,Unf,0,785,855,GasA,Gd,Y,SBrkr,855,601,0,1456,0,0,2,1,3,1,TA,6,Typ,1,TA,Attchd,1976,RFn,2,460,TA,TA,Y,0,28,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2652,60,RL,72,16387,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,Stone,215,Gd,TA,PConc,Ex,Gd,No,GLQ,1369,Unf,0,369,1738,GasA,Gd,Y,SBrkr,1738,851,0,2589,1,0,2,1,4,1,Ex,11,Typ,1,Gd,Attchd,2006,RFn,3,831,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2006,New,Partial +2653,20,RL,110,16163,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,232,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1618,1618,GasA,Ex,Y,SBrkr,1618,0,0,1618,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2004,Fin,3,880,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2654,20,RL,108,12228,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,1Story,7,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,Stone,206,Gd,TA,PConc,Ex,Gd,No,Unf,0,Unf,0,1721,1721,GasA,Ex,Y,SBrkr,1740,0,0,1740,0,0,2,0,4,1,Gd,8,Typ,0,NA,Attchd,2006,RFn,3,874,TA,TA,Y,0,43,0,0,0,0,NA,NA,NA,0,9,2006,New,Partial +2655,20,RL,120,14780,Pave,NA,IR1,HLS,AllPub,Corner,Mod,NridgHt,Norm,Norm,1Fam,1Story,9,5,2005,2005,Hip,CompShg,VinylSd,VinylSd,BrkFace,568,Ex,TA,PConc,Ex,TA,Gd,GLQ,1505,Unf,0,363,1868,GasA,Ex,Y,SBrkr,1868,0,0,1868,1,0,2,0,2,1,Ex,7,Typ,1,Gd,Attchd,2005,Fin,3,1085,TA,TA,Y,354,56,0,0,156,0,NA,NA,NA,0,6,2006,WD,Normal +2656,60,RL,120,13975,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2005,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,525,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1090,1090,GasA,Ex,Y,SBrkr,1117,1089,0,2206,0,0,2,1,4,1,Ex,10,Typ,1,Gd,BuiltIn,2005,Fin,3,670,TA,TA,Y,148,95,0,0,0,0,NA,NA,NA,0,8,2006,New,Partial +2657,60,RL,82,9942,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2005,2006,Gable,CompShg,MetalSd,MetalSd,BrkFace,385,Ex,TA,PConc,Ex,Gd,Av,GLQ,1290,Unf,0,316,1606,GasA,Ex,Y,SBrkr,1625,466,0,2091,1,0,2,1,3,1,Ex,8,Typ,1,Gd,Attchd,2005,RFn,2,521,TA,TA,Y,194,84,0,0,0,0,NA,NA,NA,0,5,2006,New,Partial +2658,60,RL,103,12867,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2005,2006,Gable,CompShg,CemntBd,CmentBd,NA,NA,Gd,TA,PConc,Ex,TA,Av,Unf,0,Unf,0,1209,1209,GasA,Ex,Y,SBrkr,1209,1044,0,2253,0,0,2,1,3,1,Ex,8,Typ,1,Gd,Attchd,2005,Fin,2,575,TA,TA,Y,243,142,0,0,0,0,NA,NA,NA,0,7,2006,New,Partial +2659,60,RL,82,10672,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,Gd,Unf,0,Unf,0,1054,1054,GasA,Gd,Y,SBrkr,1054,1335,0,2389,0,0,2,1,4,1,Gd,10,Typ,1,Gd,BuiltIn,2006,Fin,3,672,TA,TA,Y,176,64,0,0,0,0,NA,NA,NA,0,11,2006,New,Partial +2660,60,RL,82,11643,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2005,2006,Hip,CompShg,MetalSd,MetalSd,BrkFace,142,Gd,TA,PConc,Ex,TA,Av,GLQ,880,Unf,0,644,1524,GasA,Ex,Y,SBrkr,1544,814,0,2358,1,0,2,1,4,1,Ex,10,Typ,1,Gd,BuiltIn,2005,Fin,3,784,TA,TA,Y,120,34,0,0,0,0,NA,NA,NA,0,8,2006,New,Partial +2661,20,RL,121,13758,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,430,Ex,TA,PConc,Ex,TA,Gd,GLQ,1232,Unf,0,560,1792,GasA,Ex,Y,SBrkr,1792,0,0,1792,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2005,RFn,3,925,TA,TA,Y,204,49,0,0,0,0,NA,NA,NA,0,3,2006,New,Partial +2662,20,RL,131,14828,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2004,2005,Hip,CompShg,MetalSd,MetalSd,BrkFace,674,Ex,TA,PConc,Ex,TA,Gd,GLQ,1383,Unf,0,397,1780,GasA,Ex,Y,SBrkr,1780,0,0,1780,1,0,2,0,2,1,Ex,7,Typ,1,Gd,Attchd,2004,Fin,3,816,TA,TA,Y,144,68,0,0,0,0,NA,NA,NA,0,8,2006,WD,Normal +2663,60,RL,NA,13215,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,112,Gd,TA,PConc,Gd,TA,No,GLQ,994,Unf,0,426,1420,GasA,Ex,Y,SBrkr,1426,488,0,1914,1,0,2,1,3,1,Gd,9,Typ,1,TA,BuiltIn,2004,RFn,3,746,TA,TA,Y,168,127,0,0,0,0,NA,NA,NA,0,2,2006,WD,Normal +2664,120,RL,48,5911,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,9,5,2005,2005,Hip,CompShg,MetalSd,MetalSd,BrkFace,278,Ex,TA,PConc,Ex,TA,No,GLQ,472,Unf,0,1088,1560,GasA,Ex,Y,SBrkr,1565,0,0,1565,1,0,2,0,2,1,Ex,6,Typ,1,Gd,Attchd,2005,RFn,2,556,TA,TA,Y,196,56,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal +2665,20,RL,61,7740,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,9,5,2006,2006,Hip,CompShg,MetalSd,MetalSd,BrkFace,518,Gd,TA,PConc,Ex,Gd,No,GLQ,1023,Unf,0,663,1686,GasA,Ex,Y,SBrkr,1686,0,0,1686,1,0,2,0,1,1,Ex,6,Typ,1,Gd,Attchd,2006,Fin,3,899,TA,TA,Y,266,100,0,0,0,0,NA,NA,NA,0,6,2006,New,Partial +2666,120,RL,48,6373,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,9,5,2006,2006,Hip,CompShg,MetalSd,MetalSd,BrkFace,572,Ex,TA,PConc,Ex,Gd,No,GLQ,415,Unf,0,1251,1666,GasA,Ex,Y,SBrkr,1666,0,0,1666,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2006,RFn,2,575,TA,TA,Y,228,75,0,0,0,0,NA,NA,NA,0,6,2006,New,Partial +2667,60,RL,65,10237,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,RRAn,Norm,1Fam,2Story,6,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,728,728,GasA,Ex,Y,SBrkr,728,728,0,1456,0,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2005,Fin,2,390,TA,TA,Y,0,24,0,0,0,0,NA,NA,NA,0,2,2006,New,Partial +2668,60,RL,65,10237,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,RRAn,Norm,1Fam,2Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,738,738,GasA,Ex,Y,SBrkr,738,754,0,1492,0,0,2,1,3,1,Gd,8,Typ,0,NA,Attchd,2006,Fin,2,440,TA,TA,Y,0,32,0,0,0,0,NA,NA,NA,0,9,2006,New,Partial +2669,20,RL,102,11660,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,1Story,6,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1326,1326,GasA,Ex,Y,SBrkr,1326,0,0,1326,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2006,Fin,2,427,TA,TA,Y,100,0,0,0,0,0,NA,NA,NA,0,7,2006,New,Partial +2670,60,RL,96,11631,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,8,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,236,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1052,1052,GasA,Ex,Y,SBrkr,1052,1321,0,2373,0,0,2,1,4,1,Gd,9,Typ,1,Gd,BuiltIn,2004,Fin,3,632,TA,TA,Y,120,46,0,0,0,0,NA,NA,NA,0,6,2006,New,Partial +2671,60,RL,75,9073,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,738,738,GasA,Ex,Y,SBrkr,738,754,0,1492,0,0,2,1,3,1,Gd,8,Typ,0,NA,Attchd,2006,Fin,2,440,TA,TA,Y,100,32,0,0,0,0,NA,NA,NA,0,10,2006,New,Partial +2672,120,RL,43,3087,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,14,Gd,TA,PConc,Gd,TA,Av,GLQ,453,Unf,0,767,1220,GasA,Ex,Y,SBrkr,1364,0,0,1364,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2006,Fin,2,437,TA,TA,Y,100,16,0,0,0,0,NA,NA,NA,0,11,2006,New,Partial +2673,120,RL,NA,2938,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,40,Gd,TA,PConc,Gd,TA,Av,GLQ,1038,Unf,0,330,1368,GasA,Ex,Y,SBrkr,1511,0,0,1511,1,0,2,0,2,1,Gd,5,Typ,1,TA,Attchd,2002,Fin,2,398,TA,TA,Y,130,30,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2674,120,RM,NA,3072,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2004,2004,Hip,CompShg,VinylSd,VinylSd,BrkFace,18,Gd,TA,PConc,Gd,TA,No,GLQ,1059,Unf,0,306,1365,GasA,Ex,Y,SBrkr,1548,0,0,1548,1,0,2,0,2,1,Gd,7,Typ,1,TA,Attchd,2004,Fin,2,388,TA,TA,Y,143,20,0,0,0,0,NA,NA,NA,0,9,2006,WD,Normal +2675,120,RL,43,3010,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,14,Gd,TA,PConc,Gd,TA,Gd,GLQ,16,Unf,0,1126,1142,GasA,Ex,Y,SBrkr,1142,0,0,1142,0,0,2,0,2,1,Gd,6,Typ,0,NA,Attchd,2005,Fin,2,440,TA,TA,Y,90,0,0,0,0,0,NA,NA,NA,0,6,2006,New,Partial +2676,60,RL,59,9171,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,848,848,GasA,Ex,Y,SBrkr,848,750,0,1598,0,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2004,Fin,2,433,TA,TA,Y,100,48,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2677,60,RL,NA,8658,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,ALQ,732,Unf,0,250,982,GasA,Ex,Y,SBrkr,1008,881,0,1889,0,0,2,1,3,1,TA,9,Typ,1,TA,Attchd,2000,Fin,2,431,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal +2678,60,RL,NA,12104,Pave,NA,IR1,Lvl,AllPub,FR3,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1035,1035,GasA,Gd,Y,SBrkr,1082,1240,0,2322,0,0,3,1,4,1,Gd,8,Typ,0,NA,Attchd,2006,RFn,3,617,TA,TA,Y,400,45,0,0,0,0,NA,NA,NA,0,8,2006,New,Partial +2679,60,RL,84,9660,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,242,Gd,TA,PConc,Gd,TA,No,GLQ,791,Unf,0,253,1044,GasA,Ex,Y,SBrkr,1079,897,0,1976,1,0,2,1,3,1,Gd,7,Typ,1,Ex,Attchd,1998,Fin,3,885,TA,TA,Y,210,31,0,0,0,0,NA,NA,NA,0,2,2006,WD,Normal +2680,60,RL,83,9545,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,322,Gd,TA,PConc,Gd,TA,Mn,GLQ,505,Unf,0,655,1160,GasA,Ex,Y,SBrkr,1205,1029,0,2234,1,0,2,1,3,1,Gd,7,Typ,1,TA,BuiltIn,2000,RFn,3,768,TA,TA,Y,0,50,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2681,60,RL,NA,9233,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,9,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,877,Gd,TA,PConc,Ex,TA,Av,GLQ,1182,Unf,0,358,1540,GasA,Ex,Y,SBrkr,1540,1315,0,2855,1,0,2,1,4,1,Ex,9,Typ,1,TA,Attchd,2000,RFn,3,774,TA,TA,Y,247,55,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal +2682,60,RL,83,10019,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1995,1995,Hip,CompShg,VinylSd,VinylSd,BrkFace,397,Gd,TA,PConc,Gd,TA,No,ALQ,527,Unf,0,815,1342,GasA,Ex,Y,SBrkr,1358,1368,0,2726,0,0,2,1,4,1,Gd,9,Typ,1,Ex,Attchd,1995,RFn,3,725,TA,TA,Y,307,169,168,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2683,60,RL,114,17242,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,9,5,1993,1994,Hip,CompShg,MetalSd,MetalSd,BrkFace,738,Gd,Gd,PConc,Ex,TA,Gd,Rec,292,GLQ,1393,48,1733,GasA,Ex,Y,SBrkr,1933,1567,0,3500,1,0,3,1,4,1,Ex,11,Typ,1,TA,Attchd,1993,RFn,3,959,TA,TA,Y,870,86,0,0,210,0,NA,NA,NA,0,5,2006,WD,Normal +2684,60,RL,NA,10236,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1994,1995,Gable,CompShg,VinylSd,VinylSd,BrkFace,501,Gd,TA,PConc,Gd,TA,Gd,GLQ,380,BLQ,168,742,1290,GasA,Ex,Y,SBrkr,1305,1189,0,2494,1,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1994,Fin,3,803,TA,TA,Y,200,95,0,0,0,0,NA,GdPrv,NA,0,6,2006,WD,Normal +2685,60,RL,NA,12585,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1993,1993,Gable,CompShg,HdBoard,ImStucc,BrkFace,420,Gd,TA,PConc,Gd,TA,No,LwQ,247,GLQ,1039,0,1286,GasA,Ex,Y,SBrkr,1565,1234,0,2799,1,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1993,Fin,3,704,TA,TA,Y,432,136,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal +2686,60,RL,75,12447,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,RRAn,Norm,1Fam,2Story,8,5,2005,2006,Gable,CompShg,CemntBd,CmentBd,Stone,192,Gd,TA,PConc,Gd,Gd,No,Unf,0,Unf,0,1100,1100,GasA,Ex,Y,SBrkr,1116,848,0,1964,0,0,2,1,3,1,Gd,8,Typ,1,Gd,BuiltIn,2005,Fin,2,760,TA,TA,Y,200,70,0,0,0,0,NA,NA,NA,0,1,2006,New,Partial +2687,20,RL,49,15218,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Somerst,RRAn,Norm,1Fam,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,NA,NA,Gd,TA,PConc,Ex,Gd,No,GLQ,1562,Unf,0,108,1670,GasA,Ex,Y,SBrkr,1670,0,0,1670,1,0,2,1,2,1,Gd,6,Typ,1,Gd,Attchd,2006,RFn,3,928,TA,TA,Y,0,240,200,0,0,0,NA,NA,NA,0,9,2006,New,Partial +2688,20,RL,85,10936,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Somerst,Feedr,Norm,1Fam,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,60,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1504,1504,GasA,Ex,Y,SBrkr,1504,0,0,1504,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2006,Fin,2,510,TA,TA,Y,144,0,0,0,0,0,NA,NA,NA,0,9,2006,New,Partial +2689,20,FV,72,8640,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,24,Unf,0,1254,1278,GasA,Ex,Y,SBrkr,1278,0,0,1278,0,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,2006,RFn,2,584,TA,TA,Y,0,60,0,0,0,0,NA,NA,NA,0,10,2006,New,Partial +2690,60,FV,100,13162,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Somerst,Feedr,Norm,1Fam,2Story,9,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,No,GLQ,1836,Unf,0,200,2036,GasA,Ex,Y,SBrkr,2036,604,0,2640,1,0,3,1,3,1,Ex,11,Typ,1,Gd,Attchd,2006,RFn,3,792,TA,TA,Y,0,265,0,0,0,0,NA,NA,NA,0,11,2006,New,Partial +2691,60,FV,65,8125,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,6,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,858,858,GasA,Ex,Y,SBrkr,858,858,0,1716,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2005,RFn,2,615,TA,TA,Y,0,53,0,0,0,0,NA,NA,NA,0,2,2006,WD,Normal +2692,20,RL,74,7733,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,6,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,TA,TA,Mn,GLQ,24,Unf,0,1118,1142,GasA,Ex,Y,SBrkr,1142,0,0,1142,0,0,1,1,3,1,Gd,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,4,50,0,0,0,0,NA,NA,NA,0,1,2006,WD,Normal +2693,20,RL,91,11024,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,1Fam,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,118,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1400,1400,GasA,Ex,Y,SBrkr,1400,0,0,1400,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2005,RFn,2,612,TA,TA,Y,144,55,0,0,0,0,NA,NA,NA,0,10,2006,New,Partial +2694,20,RL,63,13072,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,RRAe,Norm,1Fam,1Story,6,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1131,1131,GasA,Ex,Y,SBrkr,1131,0,0,1131,0,0,1,1,3,1,Gd,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,39,0,0,0,0,NA,NA,NA,0,3,2006,New,Partial +2695,60,RL,65,7800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,172,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,891,891,GasA,Ex,Y,SBrkr,891,795,0,1686,0,0,2,1,3,1,Gd,8,Typ,0,NA,Attchd,2005,Fin,2,462,TA,TA,Y,144,101,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal +2696,60,RL,74,7632,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,96,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,784,784,GasA,Ex,Y,SBrkr,831,754,0,1585,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2005,RFn,2,449,TA,TA,Y,100,77,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal +2697,60,RL,70,8304,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,5,1997,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,941,941,GasA,Ex,Y,SBrkr,941,896,0,1837,0,0,2,1,3,1,TA,7,Typ,0,NA,Attchd,1997,RFn,2,688,TA,TA,Y,150,165,0,0,0,0,NA,GdPrv,NA,0,7,2006,WD,Normal +2698,60,RL,70,9370,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,5,1992,1993,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,No,ALQ,758,Unf,0,78,836,GasA,Ex,Y,SBrkr,844,887,0,1731,1,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,1992,RFn,2,462,TA,TA,Y,307,85,0,0,224,0,NA,NA,Othr,3000,10,2006,WD,Family +2699,120,RL,50,7175,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,TwnhsE,1Story,6,5,1990,1991,Gable,CompShg,Plywood,Plywood,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,904,Unf,0,494,1398,GasA,Gd,Y,SBrkr,1398,0,0,1398,1,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,1990,RFn,2,542,TA,TA,Y,0,46,0,0,0,0,NA,MnPrv,NA,0,7,2006,WD,Normal +2700,120,RL,50,7175,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,TwnhsE,1Story,6,5,1991,1991,Gable,CompShg,Plywood,Plywood,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,278,Unf,0,939,1217,GasA,Gd,Y,SBrkr,1217,0,0,1217,0,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,1991,RFn,2,484,TA,TA,Y,0,64,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2701,60,RL,NA,9019,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,RRAe,Norm,1Fam,2Story,6,5,1994,1994,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,ALQ,274,Unf,0,362,636,GasA,Ex,Y,SBrkr,636,684,0,1320,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,1994,Fin,2,472,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2702,20,RL,70,9100,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,RRAe,Norm,1Fam,1Story,5,4,1962,1962,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,51,TA,TA,CBlock,TA,TA,No,LwQ,36,Unf,0,952,988,GasA,Ex,Y,SBrkr,988,0,0,988,1,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1977,Unf,2,624,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2703,90,RM,68,8927,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,RRAe,Norm,Duplex,1.5Fin,6,6,1977,1977,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,1286,368,0,1654,0,0,2,0,4,2,TA,10,Typ,0,NA,Attchd,1977,RFn,2,528,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2006,WD,Normal +2704,20,RL,NA,9240,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,6,1962,2002,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,BLQ,612,Unf,0,252,864,GasA,Gd,Y,SBrkr,1211,0,0,1211,0,0,1,0,2,1,TA,6,Min1,1,TA,Detchd,1972,Unf,2,576,TA,TA,Y,161,0,0,0,0,0,NA,MnPrv,NA,0,3,2006,WD,Normal +2705,20,RL,NA,9308,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,RRNe,Norm,1Fam,1Story,5,5,1965,1965,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Rec,554,Unf,0,430,984,GasA,TA,Y,SBrkr,984,0,0,984,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1965,Unf,1,310,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,7,2006,WD,Normal +2706,20,RL,65,8450,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,RRAe,Norm,1Fam,1Story,5,6,1968,1968,Gable,CompShg,Plywood,Plywood,BrkFace,90,TA,TA,CBlock,TA,TA,No,BLQ,162,Rec,270,450,882,GasA,TA,Y,SBrkr,909,0,0,909,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1968,Unf,1,294,TA,TA,Y,0,155,0,0,0,0,NA,MnPrv,NA,0,11,2006,COD,Normal +2707,20,RL,NA,8638,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,RRAe,Norm,1Fam,1Story,5,6,1963,1963,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,TA,TA,No,ALQ,181,Unf,0,744,925,GasA,Gd,Y,SBrkr,925,0,0,925,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1990,Unf,2,484,TA,TA,Y,203,74,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal +2708,20,RL,NA,13052,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,6,1965,1965,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Rec,712,Unf,0,312,1024,GasA,TA,Y,SBrkr,1024,0,0,1024,0,0,1,1,3,1,TA,5,Typ,0,NA,Attchd,1965,Unf,1,308,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,1,2006,WD,Normal +2709,20,RL,NA,8020,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,6,1964,1964,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,ALQ,644,Unf,0,268,912,GasA,TA,N,SBrkr,912,0,0,912,0,0,1,0,3,1,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,4,2006,WD,Normal +2710,20,RL,NA,8789,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,6,1967,1967,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,Mn,Rec,659,Unf,0,253,912,GasA,TA,Y,SBrkr,941,0,0,941,0,0,1,0,3,1,TA,6,Typ,1,Po,Attchd,1967,Unf,1,288,TA,TA,Y,64,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2711,80,RL,100,14330,Pave,NA,IR1,Low,AllPub,Corner,Gtl,Veenker,Norm,Norm,1Fam,SLvl,7,4,1974,1974,Gable,CompShg,WdShing,Wd Sdng,BrkFace,145,Gd,Fa,CBlock,Gd,TA,Gd,ALQ,1023,BLQ,497,228,1748,GasA,Gd,Y,SBrkr,2151,495,0,2646,1,2,2,0,3,1,Gd,9,Mod,4,TA,Attchd,1974,RFn,2,550,TA,TA,Y,641,100,0,0,0,800,Gd,GdPrv,NA,0,1,2006,WD,Normal +2712,60,RL,105,11025,Pave,NA,Reg,HLS,AllPub,Inside,Mod,NoRidge,Norm,Norm,1Fam,2Story,8,5,1992,1993,Gable,CompShg,HdBoard,ImStucc,BrkFace,692,Gd,TA,PConc,Ex,TA,Gd,GLQ,1118,Unf,0,216,1334,GasA,Ex,Y,SBrkr,1520,1306,0,2826,1,0,2,1,3,1,Gd,9,Typ,3,TA,Attchd,1992,RFn,3,888,TA,TA,Y,177,208,186,0,0,0,NA,NA,NA,0,10,2006,WD,Normal +2713,120,FV,34,3628,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,7,5,2004,2004,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1143,1143,GasA,Ex,Y,SBrkr,1143,0,0,1143,0,0,1,1,1,1,Gd,5,Typ,1,Gd,Attchd,2004,RFn,2,588,TA,TA,Y,0,191,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2714,160,FV,24,2544,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,2Story,7,5,2005,2005,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,600,600,GasA,Ex,Y,SBrkr,520,623,80,1223,0,0,2,1,2,1,Gd,4,Typ,0,NA,Detchd,2005,RFn,2,480,TA,TA,Y,0,166,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2715,160,FV,NA,2998,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,6,5,2000,2000,Gable,CompShg,MetalSd,MetalSd,BrkFace,513,Gd,TA,PConc,Gd,TA,No,GLQ,353,Unf,0,403,756,GasA,Ex,Y,SBrkr,768,756,0,1524,0,0,2,1,2,1,Gd,4,Typ,0,NA,Detchd,2000,Unf,2,440,TA,TA,Y,0,32,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2716,160,FV,NA,4447,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,530,530,GasA,Ex,Y,SBrkr,530,550,0,1080,0,0,2,1,2,1,Gd,4,Typ,0,NA,Attchd,2003,RFn,2,496,TA,TA,Y,0,50,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2717,60,FV,114,8314,Pave,Pave,IR1,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,1997,1998,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,569,569,GasA,Ex,Y,SBrkr,854,840,0,1694,0,0,2,1,3,1,Gd,6,Typ,1,TA,BuiltIn,1997,Unf,1,434,TA,TA,Y,0,382,0,0,110,0,NA,GdPrv,NA,0,11,2006,WD,Normal +2718,20,FV,60,7180,Pave,Pave,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2001,2002,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1568,1568,GasA,Ex,Y,SBrkr,1568,0,0,1568,0,0,2,0,3,1,Gd,6,Typ,1,TA,Attchd,2001,RFn,2,564,TA,TA,Y,0,266,0,0,0,0,NA,NA,NA,0,9,2006,WD,Normal +2719,190,RL,79,13110,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NWAmes,RRAn,Feedr,2fmCon,1Story,5,6,1972,1972,Gable,CompShg,Plywood,Plywood,BrkFace,144,TA,TA,CBlock,Gd,TA,No,GLQ,962,Unf,0,191,1153,GasA,Ex,Y,SBrkr,1193,0,0,1193,1,0,2,0,2,1,TA,6,Typ,0,NA,Attchd,1972,Fin,2,501,TA,TA,Y,140,153,0,0,0,0,NA,MnPrv,NA,0,7,2006,WD,Normal +2720,20,RL,78,10140,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,RRAn,Norm,1Fam,1Story,7,6,1967,1967,Hip,CompShg,HdBoard,HdBoard,BrkFace,264,TA,TA,CBlock,TA,TA,No,BLQ,553,LwQ,68,713,1334,GasA,Gd,Y,SBrkr,1334,0,0,1334,1,0,2,0,3,1,TA,7,Typ,0,NA,Attchd,1967,RFn,2,477,TA,TA,Y,0,20,35,0,264,0,NA,NA,NA,0,4,2006,WD,Normal +2721,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Feedr,Norm,1Fam,1Story,5,5,1968,1968,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,758,Unf,0,293,1051,GasA,Gd,Y,SBrkr,1051,0,0,1051,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1968,RFn,2,504,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2722,60,RL,72,8640,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Feedr,Norm,1Fam,2Story,5,5,1968,1968,Gable,CompShg,HdBoard,HdBoard,BrkFace,300,TA,TA,CBlock,Gd,Fa,Mn,ALQ,361,Rec,483,56,900,GasA,Ex,Y,SBrkr,884,886,0,1770,1,0,1,1,4,1,TA,7,Typ,0,NA,Attchd,1968,RFn,2,530,TA,TA,Y,0,60,0,0,270,0,NA,NA,Shed,455,6,2006,WD,Normal +2723,20,RL,78,9360,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Feedr,Norm,1Fam,1Story,6,7,1968,2004,Hip,CompShg,HdBoard,HdBoard,BrkFace,203,TA,TA,CBlock,TA,TA,Av,ALQ,760,Unf,0,216,976,GasA,TA,Y,SBrkr,976,0,0,976,1,0,1,0,2,1,Gd,4,Typ,1,Fa,Attchd,1968,RFn,2,504,TA,TA,Y,94,0,0,0,0,0,NA,NA,NA,0,8,2006,WD,Abnorml +2724,85,RL,70,8400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Feedr,Norm,1Fam,SFoyer,5,6,1968,1968,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,Gd,GLQ,744,Unf,0,89,833,GasA,Gd,Y,SBrkr,898,0,0,898,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1968,RFn,1,326,TA,TA,Y,143,0,0,0,0,0,NA,NA,NA,0,8,2006,WD,Normal +2725,20,RL,NA,9759,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1966,1966,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,BLQ,799,Unf,0,252,1051,GasA,TA,Y,SBrkr,1051,0,0,1051,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1966,RFn,1,264,TA,TA,Y,182,88,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal +2726,80,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,5,7,1967,1967,Gable,CompShg,MetalSd,MetalSd,BrkFace,140,TA,TA,PConc,TA,TA,Av,ALQ,602,Rec,402,137,1141,GasA,Gd,Y,SBrkr,1141,0,0,1141,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1967,Unf,1,568,TA,TA,Y,0,78,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2727,190,RL,80,8800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,RRAn,Norm,2fmCon,1Story,6,7,1965,2000,Hip,CompShg,BrkFace,VinylSd,None,0,TA,Gd,PConc,TA,TA,Mn,ALQ,901,BLQ,252,34,1187,GasA,Ex,Y,SBrkr,1565,0,0,1565,1,0,2,0,3,1,Gd,7,Min1,2,TA,Attchd,1965,RFn,1,299,TA,TA,Y,200,25,211,0,0,0,NA,MnPrv,Shed,460,6,2006,WD,Abnorml +2728,20,RL,NA,10368,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1964,1964,Hip,CompShg,HdBoard,HdBoard,BrkFace,112,TA,TA,CBlock,TA,TA,No,ALQ,260,LwQ,748,0,1008,GasA,Ex,Y,SBrkr,1488,0,0,1488,1,0,1,1,3,1,TA,7,Typ,1,Gd,Attchd,1964,Fin,2,430,TA,TA,Y,154,60,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal +2729,60,RL,85,9350,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,2Story,5,6,1964,1964,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,ALQ,360,Unf,0,360,720,GasA,Gd,Y,SBrkr,720,720,0,1440,0,0,1,1,4,1,TA,7,Typ,1,Po,Attchd,1964,Fin,2,480,TA,TA,Y,0,32,240,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2730,20,RL,80,10800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1960,1960,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,88,TA,TA,CBlock,TA,TA,No,ALQ,632,Unf,0,616,1248,GasA,Ex,Y,SBrkr,1248,0,0,1248,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1960,Unf,1,286,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,5,2006,WD,Normal +2731,30,RL,60,8550,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,8,1934,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,574,Unf,0,242,816,GasA,Ex,Y,SBrkr,816,0,0,816,1,0,1,0,2,1,TA,4,Typ,1,Fa,Attchd,1949,Unf,1,240,TA,TA,Y,228,0,40,0,0,0,NA,MnPrv,NA,0,7,2006,WD,Normal +2732,20,RL,68,9724,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1947,1950,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,938,938,GasA,Ex,Y,SBrkr,1043,0,0,1043,0,0,1,0,2,1,TA,5,Typ,1,Gd,Detchd,1947,Unf,1,273,TA,TA,Y,125,48,0,0,0,0,NA,GdWo,NA,0,5,2006,WD,Normal +2733,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1961,1990,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,TA,Mn,BLQ,915,Unf,0,336,1251,GasA,TA,Y,SBrkr,1433,0,0,1433,1,0,1,0,3,1,TA,7,Min1,1,Gd,Attchd,1961,Unf,2,441,TA,TA,Y,144,0,205,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2734,20,RL,89,10858,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Feedr,Norm,1Fam,1Story,5,6,1952,1952,Gable,CompShg,Wd Sdng,Plywood,Stone,150,TA,Gd,CBlock,TA,TA,Mn,LwQ,40,Unf,0,1404,1444,GasA,Ex,Y,SBrkr,1624,0,0,1624,1,0,1,0,2,1,TA,6,Min1,1,Gd,Attchd,1952,RFn,1,240,TA,TA,Y,0,40,324,0,0,0,NA,MnPrv,NA,0,7,2006,WD,Partial +2735,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1951,1951,Gable,CompShg,HdBoard,HdBoard,Stone,144,TA,TA,CBlock,TA,TA,No,ALQ,996,Unf,0,60,1056,GasA,Ex,Y,FuseA,1216,0,0,1216,1,0,1,0,3,1,TA,7,Typ,0,NA,Attchd,1951,RFn,1,280,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2736,60,RL,79,9462,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,2Story,5,6,1949,1973,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,704,704,GasA,Gd,Y,FuseA,1024,704,0,1728,0,0,1,1,3,1,TA,7,Min1,1,Gd,Attchd,1949,Unf,1,234,TA,TA,Y,245,60,0,0,0,0,NA,MnPrv,NA,0,7,2006,WD,Normal +2737,20,RL,82,9888,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1954,1975,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,BLQ,486,Unf,0,450,936,GasA,TA,Y,FuseA,936,0,0,936,0,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1954,Unf,1,240,TA,TA,Y,0,0,160,0,0,0,NA,MnPrv,NA,0,3,2006,WD,Normal +2738,90,RL,NA,8917,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,Duplex,1Story,5,5,1967,1967,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1584,1584,GasA,TA,Y,SBrkr,1584,0,0,1584,0,0,2,0,4,2,TA,8,Typ,0,NA,Detchd,1967,Unf,2,506,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal +2739,80,RL,NA,12700,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,6,5,1964,1964,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,ALQ,939,Unf,0,307,1246,GasA,TA,Y,SBrkr,1246,0,0,1246,1,0,1,0,3,1,TA,6,Typ,2,Gd,Attchd,1964,RFn,2,441,TA,TA,Y,0,69,0,0,0,0,NA,NA,NA,0,11,2006,WD,Normal +2740,20,RL,109,9723,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,7,1963,1963,Hip,CompShg,MetalSd,MetalSd,BrkFace,332,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1008,1008,GasA,TA,Y,SBrkr,1008,0,0,1008,0,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1963,RFn,2,430,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal +2741,20,RL,70,8400,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Feedr,Norm,1Fam,1Story,5,5,1957,1957,Gable,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,Fa,TA,Mn,BLQ,623,Unf,0,556,1179,GasA,Gd,Y,SBrkr,1364,0,0,1364,0,0,1,1,3,1,TA,6,Typ,1,Gd,Attchd,1957,RFn,1,331,TA,TA,Y,0,60,0,0,0,0,NA,GdPrv,NA,0,3,2006,WD,Normal +2742,20,RL,NA,9610,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Feedr,Norm,1Fam,1Story,6,6,1958,1958,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,632,TA,TA,CBlock,TA,TA,No,Rec,203,Unf,0,918,1121,GasA,Ex,Y,FuseA,1336,0,0,1336,0,0,1,1,3,1,TA,7,Typ,1,TA,Attchd,1958,RFn,2,488,TA,TA,Y,80,0,0,0,0,0,NA,NA,NA,0,12,2006,WD,Normal +2743,80,RL,125,10000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,SLvl,5,6,1956,1956,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,272,TA,TA,CBlock,TA,TA,Av,BLQ,678,Rec,281,99,1058,GasA,Ex,Y,SBrkr,1370,0,0,1370,1,0,1,0,3,1,TA,6,Typ,1,TA,Basment,1956,RFn,1,300,TA,TA,Y,191,0,0,0,120,0,NA,MnPrv,NA,0,2,2006,WD,Normal +2744,20,RL,72,10152,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1956,1994,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Av,BLQ,914,Unf,0,210,1124,GasA,Ex,Y,SBrkr,1124,0,0,1124,1,0,1,0,3,1,TA,6,Typ,1,TA,Attchd,1956,Fin,1,353,TA,TA,Y,0,211,180,0,142,0,NA,NA,NA,0,5,2006,WD,Normal +2745,20,RL,70,8092,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,8,1954,2000,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,176,TA,Gd,CBlock,TA,TA,No,ALQ,824,Unf,0,226,1050,GasA,Ex,Y,SBrkr,1050,0,0,1050,1,0,1,0,3,1,Gd,6,Typ,0,NA,Attchd,1954,RFn,1,286,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Abnorml +2746,20,RL,66,12778,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1952,2003,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,GLQ,658,Unf,0,350,1008,GasA,Ex,Y,FuseA,1008,0,0,1008,1,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1952,RFn,1,280,TA,TA,Y,0,154,0,0,0,0,NA,MnPrv,NA,0,1,2006,WD,Normal +2747,20,RL,75,10170,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1951,1951,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,522,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,216,216,GasA,TA,Y,SBrkr,1575,0,0,1575,0,0,1,1,2,1,Gd,5,Typ,1,Gd,Attchd,1951,Unf,2,400,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2748,80,RL,55,7700,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,5,7,1956,1956,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,Gd,TA,No,BLQ,271,Unf,0,30,301,GasA,Ex,Y,FuseA,1145,0,0,1145,0,0,1,0,3,1,TA,6,Min2,0,NA,Detchd,1993,Unf,2,684,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,9,2006,WD,Normal +2749,20,RL,65,11050,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1956,1956,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,LwQ,488,Unf,0,517,1005,GasA,Ex,Y,SBrkr,1005,0,0,1005,0,0,1,0,2,1,TA,6,Typ,1,TA,Attchd,1956,Unf,1,319,TA,TA,Y,0,0,0,0,288,0,NA,NA,NA,0,7,2006,WD,Normal +2750,20,RL,80,13600,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1955,1955,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Rec,144,BLQ,912,0,1056,GasA,Gd,Y,SBrkr,1056,0,0,1056,1,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1955,Fin,1,300,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,Shed,650,11,2006,WD,Normal +2751,20,RL,85,15428,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1951,1991,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,741,Unf,0,143,884,GasA,Ex,Y,SBrkr,884,0,0,884,1,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1951,Fin,1,270,TA,TA,Y,0,0,0,0,195,0,NA,NA,NA,0,6,2006,WD,Normal +2752,30,RL,118,21299,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,7,5,1941,1963,Hip,WdShake,BrkFace,BrkFace,None,0,Gd,TA,CBlock,TA,TA,No,Unf,0,Unf,0,929,929,GasA,Ex,Y,SBrkr,2039,0,0,2039,1,0,1,1,3,1,TA,7,Min1,3,Gd,2Types,1941,Unf,3,791,TA,TA,Y,0,0,90,0,0,0,NA,NA,NA,0,12,2006,COD,Abnorml +2753,20,RL,70,13300,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1956,2001,Hip,CompShg,Wd Sdng,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,494,Unf,0,521,1015,GasA,Gd,Y,SBrkr,1384,0,0,1384,1,0,1,0,2,1,TA,6,Min1,0,NA,Attchd,2001,Unf,2,896,TA,TA,Y,75,0,0,323,0,0,NA,NA,Shed,400,6,2006,WD,Normal +2754,190,RL,94,22136,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,2fmCon,1.5Fin,5,5,1925,1975,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Fa,CBlock,TA,TA,Mn,GLQ,1018,Unf,0,1153,2171,GasA,TA,Y,SBrkr,1392,1248,0,2640,2,0,2,1,5,1,TA,10,Maj1,1,Gd,Attchd,1977,RFn,3,1008,TA,TA,N,631,48,148,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2755,50,RL,50,7500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1.5Fin,6,6,1947,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,784,784,GasA,Ex,Y,FuseA,900,412,0,1312,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1953,Unf,2,649,TA,TA,Y,0,28,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal +2756,30,RL,60,10410,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,3,8,1930,2001,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,PConc,TA,TA,No,Unf,0,Unf,0,713,713,GasA,Ex,Y,SBrkr,713,0,0,713,0,0,1,0,2,1,Gd,5,Typ,0,NA,Detchd,1936,Unf,1,371,Fa,Fa,N,0,75,161,0,0,0,NA,NA,NA,0,10,2006,WD,Normal +2757,30,RL,60,10914,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Artery,Norm,1Fam,1Story,3,3,1929,1950,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Fa,CBlock,TA,TA,Mn,Unf,0,Unf,0,715,715,GasA,Fa,N,FuseP,715,0,0,715,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1967,Unf,2,660,Fa,TA,N,0,0,75,0,112,0,NA,NA,NA,0,8,2006,WD,Normal +2758,50,RL,60,7008,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,4,8,1900,1998,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,BrkTil,Fa,Fa,No,Unf,0,Unf,0,448,448,GasA,Ex,Y,SBrkr,448,272,0,720,0,0,1,0,1,1,Fa,5,Typ,0,NA,Attchd,1900,Unf,1,280,Fa,TA,Y,0,0,70,0,0,0,NA,NA,NA,0,3,2006,WD,Normal +2759,70,RL,60,7200,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,6,8,1915,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Ex,CBlock,TA,TA,No,Rec,338,Unf,0,325,663,GasA,Ex,Y,SBrkr,774,821,0,1595,0,0,2,0,3,1,TA,7,Typ,1,Gd,Detchd,1974,Unf,2,528,TA,TA,Y,49,0,231,0,0,0,NA,NA,NA,0,4,2006,WD,Normal +2760,50,RL,60,10818,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,4,4,1910,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,BrkTil,Fa,TA,No,Unf,0,Unf,0,1077,1077,GasA,TA,Y,FuseA,981,779,0,1760,0,0,1,1,4,1,TA,7,Typ,1,TA,Detchd,1935,Unf,2,648,Fa,TA,Y,120,0,96,0,0,0,NA,NA,NA,0,2,2006,COD,Abnorml +2761,80,RL,83,10184,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,6,5,1963,1963,Gable,CompShg,HdBoard,HdBoard,BrkFace,379,TA,TA,CBlock,TA,TA,Av,ALQ,580,Unf,0,503,1083,GasA,TA,Y,SBrkr,1146,0,0,1146,0,1,1,0,3,1,TA,6,Typ,1,Gd,Attchd,1963,Unf,1,294,TA,TA,Y,345,75,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2762,20,RL,77,9510,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1962,1985,Gable,CompShg,HdBoard,HdBoard,BrkCmn,161,TA,TA,CBlock,TA,TA,No,ALQ,701,Unf,0,434,1135,GasA,Ex,Y,SBrkr,1207,0,0,1207,0,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1962,RFn,1,264,TA,TA,Y,0,240,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2763,20,RL,80,10800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,PosA,Norm,1Fam,1Story,6,6,1961,1992,Gable,CompShg,HdBoard,HdBoard,BrkFace,104,TA,TA,CBlock,TA,TA,No,Rec,913,Unf,0,400,1313,GasA,TA,Y,SBrkr,1773,0,0,1773,1,0,2,0,3,1,TA,6,Min2,2,TA,Attchd,1961,RFn,2,418,TA,TA,Y,355,98,0,0,144,0,NA,NA,NA,0,8,2006,WD,Normal +2764,20,RL,86,11650,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,PosA,Norm,1Fam,1Story,7,5,1959,1959,Hip,CompShg,Plywood,Plywood,BrkCmn,58,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,Gd,Y,FuseA,1472,0,0,1472,0,0,2,0,2,1,Gd,5,Typ,1,Gd,Attchd,1959,Unf,2,484,TA,TA,Y,0,68,0,0,227,0,NA,NA,NA,0,6,2006,WD,Normal +2765,60,RL,NA,18275,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,2Story,7,8,1962,1998,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,Gd,ALQ,636,Unf,0,802,1438,GasA,TA,Y,SBrkr,1900,548,0,2448,1,0,3,0,3,1,TA,9,Typ,2,Gd,Attchd,1962,RFn,2,441,TA,TA,Y,520,102,0,0,0,0,NA,NA,NA,0,9,2006,WD,Normal +2766,50,RL,60,12144,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1.5Fin,4,6,1950,1950,Gable,CompShg,BrkComm,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,455,Unf,0,455,910,GasA,Gd,Y,SBrkr,910,611,0,1521,0,0,1,1,3,1,Gd,6,Min2,0,NA,Detchd,1950,Unf,1,597,Fa,TA,Y,199,0,168,0,0,0,NA,NA,NA,0,9,2006,WD,Normal +2767,90,RL,60,8544,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,Duplex,1Story,3,4,1950,1950,Gable,CompShg,BrkFace,Stone,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,Wall,Fa,N,FuseF,1040,0,0,1040,0,0,2,0,2,2,TA,6,Typ,0,NA,Detchd,1950,Unf,2,400,TA,Fa,Y,0,0,0,0,0,0,NA,NA,NA,0,12,2006,WD,Normal +2768,90,RL,75,8512,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,Duplex,1Story,5,5,1960,1960,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,Fa,No,Unf,0,Unf,0,1556,1556,GasA,TA,Y,SBrkr,1556,0,0,1556,0,0,2,0,4,2,TA,8,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,9,2006,WD,Normal +2769,20,RL,70,7000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,4,1961,1961,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,GLQ,781,Unf,0,369,1150,GasA,TA,Y,SBrkr,1150,0,0,1150,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1961,RFn,1,288,TA,TA,Y,0,0,0,0,162,0,NA,NA,NA,0,7,2006,WD,Normal +2770,20,RL,74,7400,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Artery,Norm,1Fam,1Story,7,6,1962,1962,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,LwQ,809,Unf,0,236,1045,GasA,Gd,Y,SBrkr,1045,0,0,1045,1,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1962,Unf,2,528,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal +2771,20,RL,70,7000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Artery,Norm,1Fam,1Story,5,6,1962,1962,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,468,Unf,0,396,864,GasA,Gd,Y,SBrkr,864,0,0,864,0,1,1,0,3,1,TA,5,Typ,0,NA,Attchd,1962,Unf,1,336,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,2,2006,WD,Normal +2772,190,RL,70,7000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Artery,Norm,2fmCon,SFoyer,5,5,1962,1962,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,Av,ALQ,953,Unf,0,72,1025,GasA,TA,Y,SBrkr,1025,0,0,1025,1,0,1,0,3,1,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,96,80,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal +2773,70,RM,62,9856,Pave,Grvl,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,2Story,5,8,1900,2005,Hip,CompShg,CemntBd,CmentBd,None,0,Gd,Gd,PConc,Fa,TA,No,Unf,0,Unf,0,716,716,GasA,Ex,Y,FuseA,1007,1007,0,2014,0,0,2,0,5,1,TA,8,Typ,0,NA,Detchd,1900,Unf,2,624,TA,TA,Y,0,72,167,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2774,50,RM,60,9600,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,6,1948,1950,Gable,CompShg,MetalSd,MetalSd,Stone,264,TA,TA,CBlock,TA,TA,No,Rec,276,Unf,0,936,1212,GasA,Gd,Y,FuseA,1226,442,0,1668,1,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1948,Unf,1,240,TA,TA,Y,0,0,140,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2775,50,RM,60,5520,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,4,6,1920,1980,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,Fa,No,LwQ,284,Unf,0,863,1147,GasA,TA,N,SBrkr,1147,510,0,1657,0,0,1,0,4,1,Fa,9,Typ,1,TA,Detchd,1920,Unf,1,162,Fa,Fa,N,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2776,50,RM,60,9600,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,6,8,1900,2004,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Rec,381,Unf,0,399,780,GasA,Ex,Y,SBrkr,940,476,0,1416,0,1,1,0,3,1,Gd,7,Typ,0,NA,Detchd,1956,Unf,2,400,TA,TA,Y,0,24,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2777,70,RM,58,6451,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,7,7,1900,1970,Gable,CompShg,AsbShng,Wd Sdng,None,0,TA,TA,Stone,TA,TA,No,Rec,208,Unf,0,504,712,GasA,Gd,Y,SBrkr,848,580,0,1428,1,0,1,0,4,1,TA,7,Typ,0,NA,Detchd,1985,Fin,2,576,TA,TA,Y,264,0,84,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2778,70,RM,66,3960,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,7,8,1930,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,502,502,GasA,TA,N,SBrkr,502,502,0,1004,0,0,1,0,2,1,Gd,5,Typ,1,Po,Detchd,1930,Unf,1,200,Fa,TA,N,280,0,68,0,0,0,NA,MnPrv,NA,0,7,2006,WD,Normal +2779,190,RM,56,7745,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,2fmCon,1.5Fin,4,6,1900,1950,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,TA,TA,No,Unf,0,Unf,0,938,938,GasA,Gd,N,SBrkr,1084,867,0,1951,0,0,2,0,4,2,Fa,9,Typ,0,NA,Detchd,1993,Unf,2,576,TA,TA,P,0,6,28,0,0,0,NA,NA,NA,0,4,2006,WD,Normal +2780,30,RM,56,7741,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,6,5,1924,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,Fa,No,BLQ,143,Rec,72,817,1032,GasA,Gd,N,FuseA,1032,0,0,1032,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1995,Unf,1,280,TA,TA,Y,0,0,112,0,0,0,NA,MnPrv,NA,0,6,2006,COD,Abnorml +2781,30,RM,50,5633,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,7,1925,1950,Gable,CompShg,MetalSd,Stucco,None,0,TA,TA,BrkTil,TA,Fa,No,Unf,0,Unf,0,844,844,GasA,TA,Y,SBrkr,844,0,0,844,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1925,Unf,1,216,TA,TA,N,50,81,123,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2782,20,RM,60,7200,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,4,5,1950,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,576,576,GasA,Ex,Y,SBrkr,864,0,0,864,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1952,RFn,1,528,TA,TA,Y,0,0,0,0,115,0,NA,NA,NA,0,8,2006,COD,Normal +2783,70,RM,42,7614,Pave,Grvl,Reg,Lvl,AllPub,Inside,Mod,OldTown,Norm,Norm,1Fam,2Story,3,5,1905,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,Fa,Mn,Unf,0,Unf,0,738,738,GasA,Gd,Y,FuseA,714,662,0,1376,0,0,1,0,2,1,TA,7,Typ,0,NA,Detchd,1930,Unf,1,216,TA,TA,N,0,0,104,0,225,0,NA,NA,NA,0,3,2006,WD,Normal +2784,190,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,2fmCon,1Story,5,7,1955,1955,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Av,GLQ,576,Unf,0,384,960,GasA,TA,Y,FuseA,960,0,0,960,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1976,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2785,50,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,7,1924,1950,Gable,CompShg,MetalSd,MetalSd,BrkFace,145,TA,Gd,PConc,TA,TA,No,Unf,0,Unf,0,816,816,GasA,Ex,Y,SBrkr,816,750,0,1566,0,0,1,1,5,1,Gd,7,Typ,0,NA,Detchd,1976,Unf,2,450,TA,TA,Y,24,0,296,0,0,0,NA,MnPrv,NA,0,8,2006,WD,Normal +2786,30,RM,52,7830,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,3,5,1921,1950,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,BrkTil,Fa,TA,No,LwQ,416,Unf,0,76,492,GasA,TA,Y,SBrkr,492,0,0,492,1,0,1,0,1,1,TA,3,Typ,0,NA,Detchd,1921,Unf,1,200,Fa,TA,N,0,0,78,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2787,50,RM,56,9576,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,6,7,1945,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,Fa,TA,No,Rec,310,Unf,0,460,770,GasA,TA,Y,SBrkr,885,297,0,1182,0,0,1,1,3,1,TA,5,Typ,0,NA,Detchd,1945,Unf,1,378,Fa,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,5,2006,WD,Normal +2788,30,RM,48,5747,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,3,4,1920,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,798,798,GasA,Gd,Y,SBrkr,840,0,0,840,0,0,1,0,2,1,Fa,5,Typ,0,NA,Detchd,1938,Unf,1,250,TA,Fa,N,112,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2789,75,RM,70,6300,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,2.5Unf,7,6,1910,2005,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,1226,1226,GasA,Ex,Y,SBrkr,1226,878,0,2104,0,0,2,0,5,1,TA,9,Typ,0,NA,Detchd,1910,Unf,2,432,Fa,TA,P,0,341,88,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2790,90,RM,33,5976,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,Duplex,2Story,5,7,1920,1950,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,624,624,GasA,Gd,N,FuseA,624,624,0,1248,0,0,2,0,2,2,TA,8,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,130,256,0,0,0,NA,NA,NA,0,12,2006,WD,Normal +2791,20,RM,65,9750,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,5,1958,1958,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,960,960,GasA,Ex,Y,SBrkr,960,0,0,960,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,2002,Unf,2,624,TA,TA,Y,0,0,0,0,0,0,NA,NA,Gar2,4500,7,2006,WD,Normal +2792,50,C (all),63,4761,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Unf,3,3,1918,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Fa,Fa,BrkTil,TA,Fa,No,Unf,0,Unf,0,1020,1020,GasA,Fa,N,FuseP,1020,0,0,1020,0,0,1,0,2,1,Fa,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,105,0,0,0,NA,NA,NA,0,10,2006,ConLD,Normal +2793,70,RL,69,11737,Pave,NA,IR1,Bnk,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,2Story,6,7,1924,1996,Gambrel,CompShg,BrkComm,Stucco,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,848,848,GasW,TA,N,SBrkr,1017,810,0,1827,0,0,1,0,2,1,TA,9,Typ,1,Gd,Detchd,1943,Unf,1,240,Fa,TA,Y,27,36,42,0,0,0,NA,GdPrv,NA,0,5,2006,WD,Normal +2794,50,RM,51,6120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,3,5,1930,1950,Gable,CompShg,AsbShng,AsbShng,None,0,Gd,TA,CBlock,TA,TA,No,Rec,347,Unf,0,381,728,GasA,Ex,Y,SBrkr,728,434,0,1162,1,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1930,Unf,1,258,Fa,Po,Y,0,24,0,0,0,0,NA,NA,NA,0,11,2006,ConLI,Abnorml +2795,50,RM,51,6120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,7,1930,1984,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,BrkTil,TA,TA,No,Unf,0,Unf,0,741,741,GasA,Gd,Y,SBrkr,741,583,0,1324,0,0,1,0,3,1,Gd,7,Typ,0,NA,Detchd,1930,Unf,1,180,Fa,TA,Y,0,0,55,0,0,0,NA,NA,NA,0,2,2006,WD,Normal +2796,30,RL,50,11672,Pave,Pave,IR2,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,5,5,1925,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,816,816,GasA,TA,Y,FuseA,816,0,0,816,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1925,Unf,1,210,Fa,Fa,N,168,0,112,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2797,50,RM,90,33120,Pave,NA,IR3,Lvl,AllPub,Inside,Gtl,OldTown,RRAn,Feedr,1Fam,1.5Fin,6,5,1962,1962,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1595,1595,GasA,TA,Y,SBrkr,1611,875,0,2486,0,0,2,0,5,1,TA,8,Typ,1,Gd,Detchd,1962,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal +2798,50,RM,60,10320,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,4,5,1924,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,Fa,No,Unf,0,Unf,0,596,596,GasA,Po,Y,FuseF,834,596,0,1430,0,0,2,0,3,1,Fa,7,Typ,0,NA,Detchd,1924,Unf,2,370,Fa,Fa,Y,218,0,0,0,210,0,NA,NA,NA,0,10,2006,WD,Abnorml +2799,70,RM,60,7518,Pave,NA,Reg,Lvl,AllPub,FR3,Gtl,IDOTRR,Norm,Norm,1Fam,2Story,5,8,1910,2004,Gable,CompShg,AsbShng,Plywood,None,0,Fa,Gd,BrkTil,Fa,Fa,No,Unf,0,Unf,0,396,396,GasA,Gd,Y,SBrkr,665,665,0,1330,0,0,1,0,3,1,TA,7,Typ,0,NA,Detchd,2001,Unf,1,390,TA,TA,N,0,72,45,0,0,0,NA,MnPrv,NA,0,7,2006,WD,Normal +2800,30,RM,50,9000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,5,4,1919,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,610,610,GasA,Ex,N,FuseA,819,0,0,819,0,0,1,0,2,1,Gd,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,0,0,0,0,NA,NA,NA,0,9,2006,WD,Abnorml +2801,30,RM,60,7200,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,6,6,1930,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,BrkTil,TA,TA,No,LwQ,343,Unf,0,641,984,GasA,TA,Y,FuseF,984,0,0,984,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1930,Unf,1,308,TA,TA,N,0,0,164,0,0,0,NA,NA,NA,0,3,2006,ConLI,Family +2802,50,RL,82,12375,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Feedr,Norm,1Fam,1.5Fin,5,5,1951,1951,Gable,CompShg,HdBoard,HdBoard,Stone,41,TA,Fa,CBlock,TA,TA,No,BLQ,329,Unf,0,477,806,GasA,TA,Y,SBrkr,1081,341,0,1422,1,0,1,0,3,1,TA,7,Typ,1,TA,Detchd,1951,Unf,1,288,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,6,2006,WD,Normal +2803,90,RL,120,11136,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Feedr,Feedr,Duplex,1Story,6,5,1964,1964,Gable,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1921,1921,GasA,TA,Y,SBrkr,1921,0,0,1921,0,0,2,0,4,2,TA,8,Typ,0,NA,Detchd,1964,Unf,2,576,TA,TA,Y,0,180,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2804,20,RL,100,21370,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1950,1950,Gable,CompShg,Wd Sdng,MetalSd,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,FuseA,1640,0,0,1640,0,0,1,0,3,1,TA,7,Min1,1,Gd,Attchd,1950,RFn,2,394,TA,TA,Y,0,0,225,0,0,0,NA,NA,Shed,600,6,2006,WD,Normal +2805,30,RL,55,8250,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,7,1935,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,N,SBrkr,1032,0,0,1032,0,0,1,0,2,1,TA,6,Typ,1,TA,Detchd,1939,Unf,1,260,TA,TA,Y,0,0,121,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2806,30,RL,50,5220,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1Story,5,3,1936,1950,Gable,CompShg,Wd Sdng,Wd Shng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,830,830,GasA,Gd,Y,SBrkr,879,0,0,879,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1936,Unf,1,180,TA,TA,P,0,108,0,0,0,0,NA,NA,NA,0,1,2006,WD,Normal +2807,20,RL,50,5500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1Story,7,5,2004,2004,Shed,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,Gd,Mn,GLQ,510,LwQ,373,190,1073,GasA,Ex,Y,SBrkr,1073,0,0,1073,1,0,2,0,2,1,TA,4,Typ,0,NA,Detchd,2004,Unf,1,246,TA,TA,Y,0,120,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2808,20,RL,NA,11327,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,6,1967,1967,Hip,CompShg,HdBoard,HdBoard,BrkFace,305,TA,TA,CBlock,TA,TA,Av,ALQ,779,Unf,0,285,1064,GasA,TA,Y,SBrkr,1064,0,0,1064,0,1,1,0,3,1,TA,6,Typ,1,TA,Attchd,1967,Unf,2,528,TA,TA,Y,314,48,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2809,80,RL,80,10366,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Sawyer,Norm,Norm,1Fam,SLvl,6,7,1964,1964,Gable,CompShg,HdBoard,Plywood,None,0,TA,Gd,CBlock,TA,TA,Av,GLQ,456,Unf,0,456,912,GasA,TA,Y,SBrkr,934,0,0,934,0,1,1,0,2,1,TA,4,Typ,0,NA,Attchd,1964,Unf,1,336,TA,TA,Y,77,0,0,0,0,0,NA,GdPrv,Shed,500,7,2006,WD,Normal +2810,20,RL,75,9000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,6,1966,1966,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,773,Unf,0,286,1059,GasA,Gd,Y,SBrkr,1059,0,0,1059,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1966,Fin,1,286,TA,TA,Y,0,88,0,0,0,0,NA,GdWo,NA,0,6,2006,WD,Abnorml +2811,20,RL,NA,9535,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1967,1967,Gable,CompShg,HdBoard,HdBoard,BrkFace,450,TA,TA,CBlock,TA,TA,No,BLQ,194,LwQ,982,0,1176,GasA,TA,Y,SBrkr,1458,0,0,1458,1,0,1,1,3,1,TA,7,Typ,1,TA,Attchd,1967,Unf,2,512,TA,TA,Y,284,0,0,0,0,0,NA,MnPrv,NA,0,7,2006,WD,Normal +2812,80,RL,NA,7176,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,Norm,Norm,1Fam,SLvl,6,6,1978,1978,Gable,CompShg,HdBoard,HdBoard,BrkFace,200,TA,TA,CBlock,TA,Gd,Gd,GLQ,794,Unf,0,166,960,GasA,Fa,Y,SBrkr,1040,0,0,1040,1,0,1,0,3,1,TA,6,Typ,1,Fa,Detchd,1979,Unf,2,616,TA,TA,Y,131,0,0,0,180,0,NA,GdPrv,NA,0,7,2006,WD,Normal +2813,90,RL,NA,9662,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,Duplex,1Story,5,4,1977,1977,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,1967,1967,GasA,TA,Y,SBrkr,1967,0,0,1967,0,0,2,0,6,2,TA,10,Typ,0,NA,Attchd,1977,Fin,2,580,TA,TA,Y,170,0,0,0,0,0,NA,NA,NA,0,8,2006,WD,Normal +2814,90,RL,75,8235,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,Duplex,1Story,5,4,1977,1977,Gable,CompShg,Plywood,Plywood,BrkFace,99,TA,TA,CBlock,TA,TA,No,Rec,483,Unf,0,1466,1949,GasA,TA,Y,SBrkr,1949,0,0,1949,0,0,2,0,6,2,TA,10,Typ,0,NA,Attchd,1977,RFn,2,586,TA,TA,Y,32,0,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2815,30,RL,NA,17529,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1924,1950,Gable,CompShg,BrkFace,Wd Sdng,Stone,65,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,872,872,GasA,Fa,N,FuseF,872,0,0,872,0,0,1,0,2,1,Fa,5,Mod,1,Gd,Detchd,1924,Unf,1,322,Fa,Fa,N,0,0,116,0,0,0,NA,NA,NA,0,4,2006,WD,Normal +2816,20,RL,NA,20355,Pave,NA,Reg,Low,AllPub,Inside,Mod,ClearCr,Norm,Norm,1Fam,1Story,7,6,1967,1967,Gable,Tar&Grv,Plywood,Plywood,BrkFace,123,TA,TA,CBlock,Gd,TA,Av,Rec,810,ALQ,826,229,1865,GasA,TA,Y,SBrkr,1830,0,0,1830,1,0,1,0,2,1,TA,6,Typ,2,Gd,Attchd,1967,Unf,2,521,TA,TA,Y,0,115,168,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2817,20,RL,87,13050,Pave,NA,Reg,Low,AllPub,Inside,Mod,ClearCr,Norm,Norm,1Fam,1Story,5,6,1963,1963,Flat,Tar&Grv,WdShing,Wd Shng,None,0,TA,TA,CBlock,Gd,TA,Av,Rec,104,ALQ,850,46,1000,GasA,Ex,Y,SBrkr,1000,0,0,1000,1,0,1,0,1,1,TA,4,Typ,2,TA,Attchd,1993,Unf,2,575,TA,TA,Y,238,0,148,0,0,0,NA,NA,NA,0,4,2006,WD,Normal +2818,85,RL,72,10820,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Feedr,Norm,1Fam,SFoyer,5,7,1971,1972,Gable,CompShg,HdBoard,HdBoard,BrkFace,153,TA,TA,PConc,Gd,TA,Av,GLQ,535,Rec,159,88,782,GasA,Ex,Y,SBrkr,810,0,0,810,1,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1973,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,6,2006,WD,Normal +2819,150,RL,NA,1700,Pave,NA,Reg,HLS,AllPub,Inside,Gtl,ClearCr,Norm,Norm,Twnhs,1.5Fin,7,5,1980,1981,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Mn,GLQ,397,Unf,0,33,430,GasA,TA,Y,SBrkr,880,680,140,1700,1,0,2,1,2,1,Gd,7,Typ,0,NA,Basment,1980,Fin,1,450,Gd,TA,Y,188,36,0,0,200,0,NA,NA,NA,0,4,2006,WD,Normal +2820,20,RL,75,9375,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,5,1954,1954,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,Rec,799,Unf,0,168,967,GasA,Ex,Y,SBrkr,1350,0,0,1350,0,0,1,1,3,1,TA,6,Typ,1,Gd,Attchd,1954,RFn,2,504,TA,TA,Y,237,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2821,50,RL,62,6488,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,5,5,1942,1950,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,LwQ,230,Unf,0,569,799,GasA,Ex,N,FuseA,799,351,0,1150,0,0,1,0,3,1,TA,6,Mod,2,TA,BuiltIn,1942,Unf,1,215,TA,TA,Y,264,0,0,0,0,0,NA,NA,NA,0,3,2006,WD,Family +2822,70,RL,114,19950,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,2Story,6,7,1928,1950,Gable,CompShg,WdShing,Plywood,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,672,672,GasA,Ex,Y,SBrkr,1337,672,0,2009,0,0,2,0,4,1,TA,8,Typ,2,Gd,2Types,1928,Unf,3,795,TA,TA,P,0,42,0,0,180,0,NA,NA,NA,0,12,2006,WD,Normal +2823,75,RL,60,19800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,2.5Unf,6,8,1935,1990,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Rec,425,Unf,0,1411,1836,GasA,Gd,Y,SBrkr,1836,1836,0,3672,0,0,3,1,5,1,Gd,7,Typ,2,Gd,Detchd,1993,Unf,2,836,TA,TA,Y,684,80,32,0,0,0,NA,NA,NA,0,12,2006,WD,Normal +2824,80,RL,78,11679,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,SLvl,5,5,1962,1962,Gable,CompShg,Plywood,Plywood,Stone,96,TA,TA,CBlock,TA,TA,Gd,ALQ,612,Rec,1164,0,1776,GasA,Ex,Y,SBrkr,1560,0,0,1560,0,1,2,0,3,1,TA,6,Min2,1,Fa,Attchd,1962,Fin,2,528,TA,TA,Y,453,253,144,0,0,0,NA,MnPrv,NA,0,5,2006,WD,Normal +2825,20,RL,80,12048,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,6,1952,2002,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,232,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,Gd,Y,SBrkr,1488,0,0,1488,0,0,1,0,3,1,TA,7,Typ,1,Ex,Attchd,2002,RFn,2,569,TA,TA,Y,0,189,36,0,348,0,NA,NA,NA,0,4,2006,WD,Normal +2826,20,RL,70,10519,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,8,1955,1999,Hip,CompShg,MetalSd,MetalSd,Stone,164,TA,TA,CBlock,TA,TA,Mn,Unf,0,Unf,0,1057,1057,GasA,Gd,Y,SBrkr,1057,0,0,1057,0,1,1,0,3,1,Gd,6,Typ,0,NA,Attchd,1955,Unf,1,288,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal +2827,50,RL,75,9525,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,6,5,1953,1953,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,LwQ,468,Unf,0,532,1000,GasA,TA,Y,SBrkr,1068,541,0,1609,0,0,1,1,5,1,TA,7,Typ,0,NA,Attchd,1953,Unf,1,305,Fa,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2828,60,RL,88,12128,Pave,NA,IR1,Bnk,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,4,1989,1989,Gable,CompShg,HdBoard,HdBoard,BrkFace,232,Gd,TA,CBlock,Gd,TA,No,ALQ,549,Unf,0,319,868,GasA,Ex,Y,SBrkr,1313,1246,0,2559,0,0,2,1,4,1,Ex,9,Typ,1,TA,Attchd,1989,RFn,2,506,TA,TA,Y,0,245,0,0,168,0,NA,MnPrv,NA,0,11,2006,WD,Abnorml +2829,90,RL,73,9069,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,Duplex,SFoyer,6,8,1993,1993,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,Gd,PConc,Gd,TA,Av,LwQ,261,GLQ,1083,0,1344,GasA,Gd,Y,SBrkr,1440,0,0,1440,2,0,2,0,2,2,Gd,8,Typ,0,NA,Attchd,1993,Unf,4,920,TA,TA,Y,288,0,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal +2830,60,RL,133,11003,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1308,1308,GasA,Ex,Y,SBrkr,1308,568,0,1876,0,0,2,1,3,1,Gd,7,Typ,0,NA,BuiltIn,2005,RFn,3,848,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,7,2006,New,Partial +2831,20,RL,64,7488,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,393,Unf,0,815,1208,GasA,Ex,Y,SBrkr,1208,0,0,1208,0,0,2,0,2,1,Gd,6,Typ,0,NA,Attchd,2005,RFn,2,632,TA,TA,Y,105,58,0,0,0,0,NA,NA,NA,0,2,2006,WD,Abnorml +2832,20,RL,90,13377,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,6,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,1576,Unf,0,260,1836,GasA,Gd,Y,SBrkr,1846,0,0,1846,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2006,RFn,2,495,TA,TA,Y,0,32,0,0,0,0,NA,NA,NA,0,7,2006,New,Partial +2833,20,RL,78,11645,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2005,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,198,Gd,TA,PConc,Ex,TA,Gd,GLQ,1122,Unf,0,448,1570,GasA,Ex,Y,SBrkr,1590,0,0,1590,1,0,2,1,2,1,Ex,6,Typ,0,NA,Attchd,2005,Fin,3,754,TA,TA,Y,176,80,0,0,0,0,NA,NA,NA,0,8,2006,New,Partial +2834,60,RL,91,10984,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Gd,Unf,0,Unf,0,945,945,GasA,Ex,Y,SBrkr,945,864,0,1809,0,0,2,1,3,1,Gd,8,Typ,0,NA,Attchd,2005,RFn,2,638,TA,TA,Y,144,54,0,0,0,0,NA,NA,NA,0,5,2006,New,Partial +2835,20,RL,78,9316,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,140,Gd,TA,PConc,Gd,TA,Gd,GLQ,56,Unf,0,1558,1614,GasA,Ex,Y,SBrkr,1614,0,0,1614,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2005,Fin,2,576,TA,TA,Y,100,45,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal +2836,60,RL,78,9316,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,532,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,784,784,GasA,Ex,Y,SBrkr,784,812,0,1596,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2005,RFn,2,610,TA,TA,Y,144,45,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2837,20,RL,80,12000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,ClearCr,Norm,Norm,1Fam,1Story,6,5,1968,1968,Gable,CompShg,Plywood,Plywood,None,0,TA,Fa,CBlock,Gd,Fa,No,LwQ,853,Unf,0,535,1388,GasA,Gd,Y,SBrkr,1388,0,0,1388,1,0,2,0,3,1,TA,6,Typ,1,Po,Attchd,1968,RFn,2,522,TA,TA,Y,0,58,0,0,0,0,NA,NA,NA,0,7,2006,COD,Abnorml +2838,20,RL,95,13015,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,6,1996,1996,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,PConc,Gd,TA,No,Unf,0,Unf,0,1100,1100,GasA,Ex,Y,SBrkr,1100,0,0,1100,0,0,1,1,3,1,TA,5,Typ,0,NA,Attchd,1996,RFn,2,462,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2839,60,RL,65,12438,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,PosN,Norm,1Fam,2Story,6,5,1995,1995,Gable,CompShg,VinylSd,VinylSd,BrkFace,68,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,781,781,GasA,Ex,Y,SBrkr,795,704,0,1499,0,0,2,1,3,1,Gd,6,Typ,1,TA,Attchd,1995,RFn,2,473,TA,TA,Y,413,91,0,0,0,0,NA,NA,NA,0,8,2006,WD,Normal +2840,20,RL,NA,8685,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Mn,GLQ,846,Unf,0,579,1425,GasA,Ex,Y,SBrkr,1425,0,0,1425,1,0,2,0,3,1,TA,5,Typ,0,NA,Attchd,1998,RFn,2,591,TA,TA,Y,0,130,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2841,60,RL,68,9272,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,500,Unf,0,342,842,GasA,Ex,Y,SBrkr,856,893,0,1749,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,1999,RFn,2,515,TA,TA,Y,140,85,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2842,60,RL,72,13426,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,1999,2000,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Mn,GLQ,894,Unf,0,57,951,GasA,Ex,Y,SBrkr,951,828,0,1779,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1999,Fin,2,586,TA,TA,Y,208,107,0,0,0,0,NA,NA,NA,0,9,2006,WD,Normal +2843,60,RL,50,8340,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,6,6,1977,1977,Gable,CompShg,HdBoard,Plywood,BrkFace,62,TA,TA,CBlock,Gd,TA,Av,GLQ,509,Unf,0,166,675,GasA,TA,Y,SBrkr,686,702,0,1388,0,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1977,Unf,1,317,TA,TA,Y,406,36,0,0,0,0,NA,NA,NA,0,12,2006,WD,Normal +2844,80,RL,42,10385,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,SLvl,6,6,1978,1978,Gable,CompShg,HdBoard,HdBoard,BrkFace,123,TA,TA,CBlock,TA,Gd,Av,ALQ,595,LwQ,400,0,995,GasA,TA,Y,SBrkr,1282,0,0,1282,0,1,2,0,3,1,TA,6,Typ,0,NA,Detchd,1989,Unf,3,672,Fa,TA,Y,386,0,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal +2845,20,RL,60,7200,Pave,NA,Reg,Low,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,8,1972,1972,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,437,Unf,0,427,864,GasA,Ex,Y,SBrkr,864,0,0,864,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1977,Unf,1,297,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,3,2006,WD,Normal +2846,60,RL,NA,9930,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,199,Gd,TA,PConc,Gd,TA,No,GLQ,456,Unf,0,370,826,GasA,Ex,Y,SBrkr,878,884,0,1762,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2002,Fin,2,591,TA,TA,Y,320,54,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2847,60,RL,45,9468,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,2Story,6,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,BrkFace,148,TA,TA,PConc,Gd,TA,Mn,GLQ,639,Unf,0,201,840,GasA,Ex,Y,SBrkr,840,915,0,1755,1,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1999,RFn,2,530,TA,TA,Y,176,73,0,0,0,0,NA,NA,NA,0,8,2006,WD,Normal +2848,20,RL,NA,11088,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2002,2002,Hip,CompShg,Stucco,Stucco,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,872,Unf,0,476,1348,GasA,Ex,Y,SBrkr,1358,0,0,1358,1,0,1,1,1,1,Gd,5,Typ,1,TA,Attchd,2002,Unf,2,418,TA,TA,Y,68,166,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2849,60,RL,70,8726,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,872,872,GasA,Ex,Y,SBrkr,872,1037,0,1909,0,0,2,1,4,1,Gd,8,Typ,0,NA,BuiltIn,2002,RFn,2,529,TA,TA,Y,0,108,0,0,0,0,NA,NA,NA,0,9,2006,WD,Normal +2850,60,RL,67,10566,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,BrkFace,261,Gd,TA,PConc,Gd,TA,Av,GLQ,920,Unf,0,170,1090,GasA,Ex,Y,SBrkr,1090,1124,0,2214,1,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1999,Fin,3,646,TA,TA,Y,197,80,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2851,60,RL,NA,21533,Pave,NA,IR2,Lvl,AllPub,FR2,Gtl,CollgCr,Feedr,Norm,1Fam,2Story,7,5,1996,1997,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1065,1065,GasA,Ex,Y,SBrkr,1065,984,0,2049,0,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1997,Unf,2,467,TA,TA,Y,120,48,0,0,0,0,NA,NA,NA,0,8,2006,WD,Normal +2852,60,RL,90,11250,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,227,TA,TA,PConc,Gd,TA,Mn,ALQ,796,Unf,0,258,1054,GasA,Ex,Y,SBrkr,1070,869,0,1939,0,1,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1998,RFn,3,555,TA,TA,Y,128,84,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2853,60,RL,90,11250,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,1995,1996,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,Gd,PConc,Gd,Gd,Av,GLQ,685,Unf,0,245,930,GasA,Ex,Y,SBrkr,950,1045,0,1995,1,0,2,1,4,1,Gd,8,Typ,1,TA,Attchd,1995,RFn,2,610,TA,TA,Y,275,170,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2854,120,RM,37,4435,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,TwnhsE,1Story,6,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,170,Gd,TA,PConc,Gd,TA,Av,GLQ,717,Unf,0,131,848,GasA,Ex,Y,SBrkr,848,0,0,848,1,0,1,0,1,1,Gd,4,Typ,0,NA,Attchd,2003,Fin,2,420,TA,TA,Y,140,0,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal +2855,20,RL,70,8810,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,1000,Unf,0,390,1390,GasA,Ex,Y,SBrkr,1390,0,0,1390,1,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2003,RFn,2,545,TA,TA,Y,0,68,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal +2856,60,RL,74,8581,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,Gd,Mn,Unf,0,Unf,0,851,851,GasA,Ex,Y,SBrkr,851,886,0,1737,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2006,RFn,2,578,TA,TA,Y,0,105,0,0,0,0,NA,NA,NA,0,8,2006,New,Partial +2857,60,RL,70,8400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,784,784,GasA,Ex,Y,SBrkr,784,827,0,1611,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2005,RFn,2,572,TA,TA,Y,144,36,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal +2858,20,RL,65,8772,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Mn,GLQ,996,Unf,0,340,1336,GasA,Ex,Y,SBrkr,1336,0,0,1336,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2005,Unf,2,502,TA,TA,Y,136,43,0,0,0,0,NA,NA,NA,0,9,2006,New,Partial +2859,70,RL,67,8777,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Edwards,Feedr,Norm,1Fam,2Story,4,6,1910,2000,Gable,CompShg,Plywood,Plywood,None,0,TA,Gd,CBlock,Gd,TA,No,Rec,173,BLQ,337,166,676,GasA,Gd,Y,SBrkr,760,676,0,1436,1,0,2,0,3,1,TA,6,Min1,0,NA,Attchd,1950,Unf,2,528,TA,TA,Y,147,0,0,0,0,0,NA,NA,Shed,420,10,2006,WD,Normal +2860,90,RL,38,7840,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Edwards,Norm,Norm,Duplex,SFoyer,6,5,1975,1975,Flat,Tar&Grv,Plywood,Wd Shng,BrkFace,355,TA,TA,CBlock,Gd,TA,Gd,GLQ,976,Unf,0,0,976,GasA,TA,Y,SBrkr,1012,0,0,1012,0,2,2,0,4,0,TA,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2006,WD,AdjLand +2861,20,RL,73,16133,Pave,NA,Reg,HLS,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,4,1969,1969,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,Gd,TA,Mn,ALQ,847,Unf,0,329,1176,GasA,TA,Y,SBrkr,1176,0,0,1176,1,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1969,Unf,1,360,TA,TA,Y,0,92,0,0,112,0,NA,NA,NA,0,12,2006,WD,Abnorml +2862,60,RL,62,7162,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,2Story,7,5,2003,2004,Hip,CompShg,HdBoard,Stucco,BrkFace,190,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,796,796,GasA,Ex,Y,SBrkr,806,918,0,1724,0,0,2,1,3,1,Gd,8,Typ,1,Gd,BuiltIn,2003,Fin,2,616,TA,TA,Y,168,57,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2863,20,RL,75,8050,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,6,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,NA,NA,TA,TA,PConc,Gd,TA,Av,GLQ,475,ALQ,297,142,914,GasA,Ex,Y,SBrkr,914,0,0,914,1,0,1,0,2,1,Gd,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,32,0,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal +2864,60,RL,90,11060,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,2Story,7,5,2003,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1150,1150,GasA,Ex,Y,SBrkr,1164,1150,0,2314,0,0,2,1,3,1,Gd,9,Typ,1,Ex,BuiltIn,2003,Fin,2,502,TA,TA,Y,0,274,0,0,0,0,NA,NA,NA,0,2,2006,ConLD,Normal +2865,180,RM,35,3675,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,TwnhsE,SFoyer,6,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,82,TA,TA,PConc,Gd,TA,Gd,GLQ,547,Unf,0,0,547,GasA,Gd,Y,SBrkr,1072,0,0,1072,1,0,1,0,2,1,TA,5,Typ,0,NA,Basment,2005,Fin,2,525,TA,TA,Y,0,44,0,0,0,0,NA,NA,NA,0,10,2006,New,Partial +2866,160,RM,24,2522,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,Twnhs,2Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,Stone,50,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,970,970,GasA,Ex,Y,SBrkr,970,739,0,1709,0,0,2,0,3,1,Gd,7,Maj1,0,NA,Detchd,2004,Unf,2,380,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2867,50,RL,56,6956,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,4,7,1948,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,Fa,TA,Mn,Unf,0,Unf,0,624,624,GasA,Ex,Y,SBrkr,624,312,0,936,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1948,Unf,1,265,TA,Po,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal +2868,50,RL,72,7822,Pave,NA,Reg,Bnk,AllPub,Corner,Gtl,Edwards,Artery,Norm,1Fam,1.5Fin,6,3,1915,1950,Gable,CompShg,AsbShng,AsbShng,None,0,TA,Fa,BrkTil,Fa,Fa,No,Unf,0,Unf,0,832,832,GasA,TA,Y,FuseF,846,492,0,1338,0,0,2,0,3,1,TA,7,Typ,0,NA,Detchd,1974,Unf,2,528,TA,TA,N,0,0,208,0,0,0,NA,GdPrv,NA,0,5,2006,WD,AdjLand +2869,50,RL,62,8707,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Edwards,Feedr,Norm,1Fam,1.5Fin,4,5,1924,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,1093,1093,GasA,TA,N,FuseF,1093,576,0,1669,0,0,1,1,4,1,TA,9,Min2,0,NA,Attchd,1924,Unf,1,288,Fa,TA,Y,0,0,56,0,0,0,NA,NA,NA,0,5,2006,WD,AdjLand +2870,20,RL,60,16012,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,4,1954,1968,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,60,TA,TA,CBlock,TA,TA,No,Rec,691,Unf,0,263,954,GasA,Ex,Y,SBrkr,1482,0,0,1482,0,1,2,0,3,1,TA,6,Min1,1,Gd,2Types,1956,Unf,2,609,TA,TA,Y,0,30,0,0,0,0,NA,MnPrv,NA,0,10,2006,WD,Abnorml +2871,50,RL,45,8248,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,4,4,1922,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,864,864,GasA,TA,N,SBrkr,964,0,450,1414,0,0,1,0,3,1,TA,8,Typ,1,Gd,NA,NA,NA,0,0,NA,NA,N,0,0,112,0,0,0,NA,NA,NA,0,9,2006,COD,Abnorml +2872,30,RL,60,8088,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Feedr,Norm,1Fam,1Story,2,3,1922,1955,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,498,498,GasA,TA,N,FuseF,498,0,0,498,0,0,1,0,1,1,TA,3,Typ,0,NA,Detchd,1922,Unf,1,216,Fa,Fa,N,0,0,100,0,0,0,NA,NA,NA,0,2,2006,ConLD,Normal +2873,50,RL,76,11388,Pave,NA,Reg,Low,AllPub,Inside,Mod,Edwards,Norm,Norm,1Fam,1.5Fin,4,7,1910,1993,Gable,CompShg,VinylSd,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,616,616,GasA,TA,N,SBrkr,1055,218,0,1273,0,0,1,0,3,1,Gd,5,Min2,0,NA,Detchd,1910,Unf,1,275,TA,Fa,N,212,0,0,0,0,0,NA,NA,NA,0,9,2006,WD,Normal +2874,50,RL,60,10890,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1.5Fin,5,5,1938,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,Fa,TA,No,LwQ,930,Unf,0,128,1058,GasA,TA,Y,SBrkr,1058,493,0,1551,1,0,2,0,3,1,Fa,6,Typ,0,NA,Detchd,1938,Unf,1,240,Fa,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,7,2006,WD,Normal +2875,190,RH,58,6430,Pave,NA,Reg,Bnk,AllPub,Corner,Gtl,SWISU,Feedr,Norm,2fmCon,1.5Fin,6,6,1945,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Av,BLQ,780,Unf,0,0,780,GasA,TA,N,FuseF,816,524,0,1340,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1945,Unf,1,440,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Abnorml +2876,70,RL,43,7000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Feedr,Norm,1Fam,2Story,7,8,1926,1997,Gable,CompShg,Wd Sdng,Stucco,None,0,TA,TA,BrkTil,TA,TA,No,ALQ,424,Unf,0,200,624,GasA,Ex,Y,SBrkr,743,736,0,1479,1,0,1,0,3,1,Gd,6,Typ,2,Gd,Detchd,1926,Unf,1,312,TA,TA,Y,530,0,56,0,0,0,NA,MnPrv,NA,0,5,2006,WD,Normal +2877,70,RL,69,4899,Pave,NA,Reg,HLS,AllPub,Corner,Gtl,SWISU,Norm,Norm,1Fam,2Story,6,8,1920,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,No,BLQ,305,Unf,0,450,755,GasA,Ex,Y,SBrkr,755,755,0,1510,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1920,Unf,1,216,TA,TA,Y,0,0,164,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2878,70,RL,54,9399,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2.5Unf,7,8,1919,1950,Gable,CompShg,MetalSd,Stucco,None,0,TA,TA,BrkTil,TA,TA,Mn,Unf,0,Unf,0,818,818,GasA,TA,Y,SBrkr,818,818,0,1636,0,0,1,1,4,1,Gd,7,Typ,1,Gd,Detchd,1919,Unf,1,288,Fa,TA,N,0,0,212,0,0,0,NA,NA,NA,0,9,2006,WD,Abnorml +2879,50,RL,84,10164,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1.5Fin,5,5,1939,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,Fa,Av,LwQ,646,Unf,0,346,992,GasA,Fa,Y,SBrkr,992,473,0,1465,0,0,2,0,3,1,TA,6,Typ,2,TA,Detchd,1939,Unf,1,240,TA,TA,Y,0,126,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal +2880,50,RL,51,6191,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,SWISU,Norm,Norm,1Fam,1.5Fin,5,4,1941,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,Fa,Fa,No,LwQ,384,Unf,0,440,824,GasA,TA,N,SBrkr,824,464,0,1288,0,0,1,0,4,1,TA,6,Typ,0,NA,Detchd,1941,Unf,1,240,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2006,WD,Normal +2881,50,RL,66,21780,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,6,5,1920,1950,Gable,CompShg,Wd Sdng,Wd Shng,None,0,TA,TA,PConc,TA,Fa,No,Unf,0,Unf,0,817,817,GasA,Gd,Y,FuseF,940,610,0,1550,0,0,1,1,3,1,TA,7,Min2,1,TA,Detchd,1937,Unf,1,318,TA,TA,P,0,0,429,0,0,0,NA,MnPrv,NA,0,9,2006,WD,Normal +2882,50,RL,80,12400,Pave,NA,Reg,HLS,AllPub,Inside,Mod,Crawfor,Norm,Norm,1Fam,1.5Fin,5,6,1940,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,Gd,TA,Mn,BLQ,602,Unf,0,299,901,GasA,TA,Y,SBrkr,1125,592,0,1717,0,0,1,1,2,1,TA,7,Typ,1,Gd,Attchd,1940,Unf,1,410,TA,TA,Y,0,0,0,0,113,0,NA,NA,NA,0,2,2006,WD,Normal +2883,50,RL,81,8170,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1.5Fin,7,7,1929,1950,Gable,CompShg,Stucco,Wd Sdng,BrkFace,270,Gd,Gd,BrkTil,TA,TA,No,ALQ,526,Unf,0,496,1022,GasA,Ex,Y,FuseA,1122,549,0,1671,0,0,2,0,4,1,TA,7,Typ,1,Gd,Detchd,1963,Unf,2,451,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,2,2006,WD,Normal +2884,70,RL,70,12320,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,7,7,1932,1990,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,637,637,GasA,Ex,Y,SBrkr,959,650,0,1609,0,0,1,1,3,1,Gd,8,Typ,2,Gd,2Types,1963,Unf,3,579,TA,TA,Y,0,0,0,0,104,0,NA,GdWo,NA,0,5,2006,WD,Normal +2885,70,RL,70,14210,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,6,7,1930,1959,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,697,697,GasA,Ex,Y,SBrkr,1104,697,0,1801,0,0,1,1,3,1,TA,8,Typ,1,Gd,Attchd,1930,Unf,2,365,Fa,TA,Y,0,90,0,0,0,0,NA,MnPrv,NA,0,11,2006,WD,Normal +2886,60,RL,78,15600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,5,7,1950,1963,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,405,TA,Gd,CBlock,Gd,TA,No,GLQ,760,Unf,0,408,1168,GasA,Gd,Y,SBrkr,1278,1037,0,2315,1,0,2,0,4,1,TA,9,Typ,3,Gd,Attchd,1950,Fin,1,342,TA,TA,Y,0,0,0,0,192,0,NA,NA,NA,0,7,2006,WD,Normal +2887,30,RM,50,7288,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Artery,Norm,1Fam,1Story,5,6,1942,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,Mn,Rec,305,Unf,0,671,976,GasA,TA,N,SBrkr,976,0,0,976,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1942,Unf,1,215,TA,TA,N,160,0,0,0,0,0,NA,NA,NA,0,8,2006,WD,AdjLand +2888,50,RM,50,7000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,6,7,1926,1950,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,No,ALQ,374,Unf,0,487,861,GasA,Ex,Y,SBrkr,861,424,0,1285,0,1,1,0,3,1,TA,6,Typ,0,NA,Detchd,1950,Fin,2,506,TA,TA,Y,96,0,132,0,0,0,NA,MnPrv,NA,0,5,2006,WD,Normal +2889,30,RM,61,8534,Pave,NA,Reg,Low,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,4,4,1925,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Fa,TA,No,Unf,0,Unf,0,432,432,GasA,TA,N,FuseA,672,0,0,672,0,0,1,0,2,1,TA,4,Min1,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,112,0,0,0,NA,GdWo,NA,0,6,2006,WD,Normal +2890,30,RM,50,7030,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,4,6,1925,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,641,641,GasA,Gd,Y,SBrkr,641,0,0,641,0,0,1,0,2,1,Fa,4,Typ,0,NA,Detchd,1925,Unf,1,272,TA,TA,N,184,0,70,0,0,0,NA,MnPrv,NA,0,3,2006,WD,Normal +2891,50,RM,75,9060,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,6,5,1957,1957,Gable,CompShg,MetalSd,MetalSd,BrkFace,327,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,967,967,GasA,Gd,Y,SBrkr,967,671,0,1638,0,0,2,0,4,1,Gd,6,Typ,0,NA,Detchd,1957,Unf,1,384,TA,TA,Y,0,21,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal +2892,30,C (all),69,12366,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Feedr,Norm,1Fam,1Story,3,5,1945,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,N,SBrkr,729,0,0,729,0,0,1,0,2,1,TA,5,Mod,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,23,0,0,0,NA,NA,NA,0,10,2006,WD,Abnorml +2893,190,C (all),50,9000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,2fmCon,1.5Fin,5,6,1951,1951,Gable,CompShg,WdShing,Wd Shng,None,0,Fa,Fa,CBlock,TA,TA,Mn,Unf,0,Unf,0,660,660,GasA,TA,N,SBrkr,1060,336,0,1396,0,0,2,0,4,2,TA,8,Min2,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2006,WD,Abnorml +2894,50,C (all),60,8520,Grvl,NA,Reg,Bnk,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,3,5,1916,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,Fa,Fa,No,Unf,0,Unf,0,216,216,GasA,Fa,N,SBrkr,576,360,0,936,0,0,1,0,2,1,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal +2895,120,RM,41,5748,Pave,NA,IR1,HLS,AllPub,Inside,Mod,Crawfor,Norm,Norm,TwnhsE,1Story,8,5,2005,2006,Hip,CompShg,CemntBd,CmentBd,Stone,473,Gd,TA,PConc,Ex,TA,Gd,GLQ,1573,Unf,0,0,1573,GasA,Ex,Y,SBrkr,1778,0,0,1778,2,0,2,0,2,1,Ex,5,Typ,1,Gd,Attchd,2005,Fin,2,495,TA,TA,Y,123,53,0,0,153,0,NA,NA,NA,0,2,2006,New,Partial +2896,120,RM,44,3842,Pave,NA,IR1,HLS,AllPub,Inside,Mod,Crawfor,Norm,Norm,TwnhsE,1Story,8,5,2004,2005,Hip,CompShg,CemntBd,CmentBd,Stone,186,Gd,TA,PConc,Ex,TA,Gd,GLQ,1564,Unf,0,30,1594,GasA,Ex,Y,SBrkr,1646,0,0,1646,1,1,2,0,2,1,Gd,5,Typ,1,Gd,Attchd,2004,Fin,2,525,TA,TA,Y,128,53,0,0,155,0,NA,NA,NA,0,12,2006,WD,Normal +2897,20,RL,69,23580,Pave,NA,IR1,Lvl,AllPub,Inside,Mod,Mitchel,Norm,Norm,1Fam,1Story,6,6,1979,1979,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,Gd,GLQ,776,Unf,0,849,1625,GasA,TA,Y,SBrkr,1625,0,0,1625,0,1,2,0,3,1,Fa,6,Typ,1,TA,Attchd,1979,Fin,2,576,TA,TA,Y,136,28,0,0,0,0,NA,NA,NA,0,9,2006,WD,Normal +2898,90,RL,65,8385,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,Duplex,1Story,6,5,1978,1978,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,Mn,Unf,0,Unf,0,1664,1664,GasA,TA,Y,SBrkr,1664,0,0,1664,0,0,2,0,4,2,TA,10,Typ,0,NA,2Types,1978,Unf,2,616,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal +2899,20,RL,70,9116,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Mitchel,Norm,Norm,1Fam,1Story,8,5,2001,2001,Hip,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1491,1491,GasA,Ex,Y,SBrkr,1491,0,0,1491,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2001,RFn,2,490,TA,TA,Y,120,100,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2900,80,RL,140,11080,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Mitchel,Norm,Norm,1Fam,SLvl,6,6,1975,1975,Gable,CompShg,Plywood,Plywood,BrkFace,257,TA,TA,CBlock,TA,TA,Av,GLQ,576,Unf,0,552,1128,GasA,TA,Y,SBrkr,1210,0,0,1210,1,0,2,0,3,1,TA,6,Typ,0,NA,Attchd,1975,Unf,2,528,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2901,20,RL,NA,50102,Pave,NA,IR1,Low,AllPub,Inside,Mod,Timber,Norm,Norm,1Fam,1Story,6,5,1958,1958,Gable,Tar&Grv,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,Gd,BLQ,909,Unf,0,723,1632,GasA,TA,Y,SBrkr,1650,0,0,1650,1,0,1,0,2,1,TA,6,Typ,2,Gd,Attchd,1958,Unf,2,518,TA,TA,Y,0,0,0,0,138,0,NA,NA,NA,0,3,2006,WD,Alloca +2902,20,RL,NA,8098,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,6,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,Wood,Gd,TA,Av,GLQ,1136,BLQ,116,129,1381,GasA,Ex,Y,SBrkr,1403,0,0,1403,1,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,2000,Unf,2,470,TA,TA,Y,0,173,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal +2903,20,RL,95,13618,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,Stone,198,Gd,TA,PConc,Ex,Gd,Av,GLQ,1350,Unf,0,378,1728,GasA,Ex,Y,SBrkr,1960,0,0,1960,1,0,2,0,3,1,Gd,8,Typ,2,Gd,Attchd,2005,Fin,3,714,TA,TA,Y,172,38,0,0,0,0,NA,NA,NA,0,11,2006,New,Partial +2904,20,RL,88,11577,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,9,5,2005,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,382,Ex,TA,PConc,Gd,TA,Gd,GLQ,1455,Unf,0,383,1838,GasA,Ex,Y,SBrkr,1838,0,0,1838,1,0,2,0,3,1,Ex,9,Typ,1,Gd,Attchd,2005,Fin,3,682,TA,TA,Y,161,225,0,0,0,0,NA,NA,NA,0,9,2006,New,Partial +2905,20,NA,125,31250,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Artery,Norm,1Fam,1Story,1,3,1951,1951,Gable,CompShg,CBlock,VinylSd,None,0,TA,Fa,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,FuseA,1600,0,0,1600,0,0,1,1,3,1,TA,6,Mod,0,NA,Attchd,1951,Unf,1,270,Fa,TA,N,0,0,135,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2906,90,RM,78,7020,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,Duplex,SFoyer,7,5,1997,1997,Gable,CompShg,MetalSd,MetalSd,BrkFace,200,TA,Gd,PConc,Gd,TA,Gd,GLQ,1243,Unf,0,45,1288,GasA,Gd,Y,SBrkr,1368,0,0,1368,2,0,2,0,2,2,TA,8,Typ,0,NA,Attchd,1997,Fin,4,784,TA,TA,Y,0,48,0,0,0,0,NA,NA,NA,0,11,2006,WD,Normal +2907,160,RM,41,2665,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,2Story,5,6,1977,1977,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,264,264,GasA,TA,Y,SBrkr,616,688,0,1304,0,0,1,1,3,1,TA,5,Typ,1,TA,BuiltIn,1977,RFn,1,336,TA,TA,Y,141,0,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2908,20,RL,58,10172,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,7,1968,2003,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,441,Unf,0,423,864,GasA,Ex,Y,SBrkr,874,0,0,874,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1968,RFn,1,288,TA,TA,Y,0,120,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal +2909,90,RL,NA,11836,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Mitchel,Norm,Norm,Duplex,1Story,5,5,1970,1970,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,BLQ,149,Unf,0,1503,1652,GasA,TA,Y,SBrkr,1652,0,0,1652,0,0,2,0,4,2,TA,8,Typ,0,NA,2Types,1970,Unf,3,928,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal +2910,180,RM,21,1470,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,SFoyer,4,6,1970,1970,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,Gd,TA,Av,GLQ,522,Unf,0,108,630,GasA,TA,Y,SBrkr,630,0,0,630,1,0,1,0,1,1,TA,3,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal +2911,160,RM,21,1484,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,2Story,4,4,1972,1972,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,TA,TA,No,Rec,252,Unf,0,294,546,GasA,TA,Y,SBrkr,546,546,0,1092,0,0,1,1,3,1,TA,5,Typ,0,NA,Attchd,1972,Unf,1,253,TA,Fa,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2912,20,RL,80,13384,Pave,NA,Reg,Lvl,AllPub,Inside,Mod,Mitchel,Norm,Norm,1Fam,1Story,5,5,1969,1979,Gable,CompShg,Plywood,Plywood,BrkFace,194,TA,TA,PConc,TA,TA,Av,Rec,119,BLQ,344,641,1104,GasA,Fa,Y,SBrkr,1360,0,0,1360,1,0,1,0,3,1,TA,8,Typ,1,TA,Attchd,1969,RFn,1,336,TA,TA,Y,160,0,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal +2913,160,RM,21,1533,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,2Story,4,5,1970,1970,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,TA,TA,No,Rec,408,Unf,0,138,546,GasA,TA,Y,SBrkr,546,546,0,1092,0,0,1,1,3,1,TA,5,Typ,0,NA,CarPort,1970,Unf,1,286,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,12,2006,WD,Abnorml +2914,160,RM,21,1526,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,2Story,4,5,1970,1970,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,546,546,GasA,TA,Y,SBrkr,546,546,0,1092,0,0,1,1,3,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,34,0,0,0,0,NA,GdPrv,NA,0,6,2006,WD,Normal +2915,160,RM,21,1936,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,2Story,4,7,1970,1970,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,546,546,GasA,Gd,Y,SBrkr,546,546,0,1092,0,0,1,1,3,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal +2916,160,RM,21,1894,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,2Story,4,5,1970,1970,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,TA,TA,No,Rec,252,Unf,0,294,546,GasA,TA,Y,SBrkr,546,546,0,1092,0,0,1,1,3,1,TA,6,Typ,0,NA,CarPort,1970,Unf,1,286,TA,TA,Y,0,24,0,0,0,0,NA,NA,NA,0,4,2006,WD,Abnorml +2917,20,RL,160,20000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,7,1960,1996,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,1224,Unf,0,0,1224,GasA,Ex,Y,SBrkr,1224,0,0,1224,1,0,1,0,4,1,TA,7,Typ,1,TA,Detchd,1960,Unf,2,576,TA,TA,Y,474,0,0,0,0,0,NA,NA,NA,0,9,2006,WD,Abnorml +2918,85,RL,62,10441,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,SFoyer,5,5,1992,1992,Gable,CompShg,HdBoard,Wd Shng,None,0,TA,TA,PConc,Gd,TA,Av,GLQ,337,Unf,0,575,912,GasA,TA,Y,SBrkr,970,0,0,970,0,1,1,0,3,1,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,80,32,0,0,0,0,NA,MnPrv,Shed,700,7,2006,WD,Normal +2919,60,RL,74,9627,Pave,NA,Reg,Lvl,AllPub,Inside,Mod,Mitchel,Norm,Norm,1Fam,2Story,7,5,1993,1994,Gable,CompShg,HdBoard,HdBoard,BrkFace,94,TA,TA,PConc,Gd,TA,Av,LwQ,758,Unf,0,238,996,GasA,Ex,Y,SBrkr,996,1004,0,2000,0,0,2,1,3,1,TA,9,Typ,1,TA,Attchd,1993,Fin,3,650,TA,TA,Y,190,48,0,0,0,0,NA,NA,NA,0,11,2006,WD,Normal diff --git a/20 ML Algorithms For House Prices Prediction/train.csv b/20 ML Algorithms For House Prices Prediction/train.csv new file mode 100644 index 0000000..d68e0d7 --- /dev/null +++ b/20 ML Algorithms For House Prices Prediction/train.csv @@ -0,0 +1,1461 @@ +Id,MSSubClass,MSZoning,LotFrontage,LotArea,Street,Alley,LotShape,LandContour,Utilities,LotConfig,LandSlope,Neighborhood,Condition1,Condition2,BldgType,HouseStyle,OverallQual,OverallCond,YearBuilt,YearRemodAdd,RoofStyle,RoofMatl,Exterior1st,Exterior2nd,MasVnrType,MasVnrArea,ExterQual,ExterCond,Foundation,BsmtQual,BsmtCond,BsmtExposure,BsmtFinType1,BsmtFinSF1,BsmtFinType2,BsmtFinSF2,BsmtUnfSF,TotalBsmtSF,Heating,HeatingQC,CentralAir,Electrical,1stFlrSF,2ndFlrSF,LowQualFinSF,GrLivArea,BsmtFullBath,BsmtHalfBath,FullBath,HalfBath,BedroomAbvGr,KitchenAbvGr,KitchenQual,TotRmsAbvGrd,Functional,Fireplaces,FireplaceQu,GarageType,GarageYrBlt,GarageFinish,GarageCars,GarageArea,GarageQual,GarageCond,PavedDrive,WoodDeckSF,OpenPorchSF,EnclosedPorch,3SsnPorch,ScreenPorch,PoolArea,PoolQC,Fence,MiscFeature,MiscVal,MoSold,YrSold,SaleType,SaleCondition,SalePrice +1,60,RL,65,8450,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,196,Gd,TA,PConc,Gd,TA,No,GLQ,706,Unf,0,150,856,GasA,Ex,Y,SBrkr,856,854,0,1710,1,0,2,1,3,1,Gd,8,Typ,0,NA,Attchd,2003,RFn,2,548,TA,TA,Y,0,61,0,0,0,0,NA,NA,NA,0,2,2008,WD,Normal,208500 +2,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Veenker,Feedr,Norm,1Fam,1Story,6,8,1976,1976,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,Gd,TA,Gd,ALQ,978,Unf,0,284,1262,GasA,Ex,Y,SBrkr,1262,0,0,1262,0,1,2,0,3,1,TA,6,Typ,1,TA,Attchd,1976,RFn,2,460,TA,TA,Y,298,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,181500 +3,60,RL,68,11250,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2001,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,162,Gd,TA,PConc,Gd,TA,Mn,GLQ,486,Unf,0,434,920,GasA,Ex,Y,SBrkr,920,866,0,1786,1,0,2,1,3,1,Gd,6,Typ,1,TA,Attchd,2001,RFn,2,608,TA,TA,Y,0,42,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal,223500 +4,70,RL,60,9550,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Crawfor,Norm,Norm,1Fam,2Story,7,5,1915,1970,Gable,CompShg,Wd Sdng,Wd Shng,None,0,TA,TA,BrkTil,TA,Gd,No,ALQ,216,Unf,0,540,756,GasA,Gd,Y,SBrkr,961,756,0,1717,1,0,1,0,3,1,Gd,7,Typ,1,Gd,Detchd,1998,Unf,3,642,TA,TA,Y,0,35,272,0,0,0,NA,NA,NA,0,2,2006,WD,Abnorml,140000 +5,60,RL,84,14260,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,350,Gd,TA,PConc,Gd,TA,Av,GLQ,655,Unf,0,490,1145,GasA,Ex,Y,SBrkr,1145,1053,0,2198,1,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,2000,RFn,3,836,TA,TA,Y,192,84,0,0,0,0,NA,NA,NA,0,12,2008,WD,Normal,250000 +6,50,RL,85,14115,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1.5Fin,5,5,1993,1995,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,Wood,Gd,TA,No,GLQ,732,Unf,0,64,796,GasA,Ex,Y,SBrkr,796,566,0,1362,1,0,1,1,1,1,TA,5,Typ,0,NA,Attchd,1993,Unf,2,480,TA,TA,Y,40,30,0,320,0,0,NA,MnPrv,Shed,700,10,2009,WD,Normal,143000 +7,20,RL,75,10084,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,Stone,186,Gd,TA,PConc,Ex,TA,Av,GLQ,1369,Unf,0,317,1686,GasA,Ex,Y,SBrkr,1694,0,0,1694,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2004,RFn,2,636,TA,TA,Y,255,57,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,307000 +8,60,RL,NA,10382,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NWAmes,PosN,Norm,1Fam,2Story,7,6,1973,1973,Gable,CompShg,HdBoard,HdBoard,Stone,240,TA,TA,CBlock,Gd,TA,Mn,ALQ,859,BLQ,32,216,1107,GasA,Ex,Y,SBrkr,1107,983,0,2090,1,0,2,1,3,1,TA,7,Typ,2,TA,Attchd,1973,RFn,2,484,TA,TA,Y,235,204,228,0,0,0,NA,NA,Shed,350,11,2009,WD,Normal,200000 +9,50,RM,51,6120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1.5Fin,7,5,1931,1950,Gable,CompShg,BrkFace,Wd Shng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,952,952,GasA,Gd,Y,FuseF,1022,752,0,1774,0,0,2,0,2,2,TA,8,Min1,2,TA,Detchd,1931,Unf,2,468,Fa,TA,Y,90,0,205,0,0,0,NA,NA,NA,0,4,2008,WD,Abnorml,129900 +10,190,RL,50,7420,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,BrkSide,Artery,Artery,2fmCon,1.5Unf,5,6,1939,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,GLQ,851,Unf,0,140,991,GasA,Ex,Y,SBrkr,1077,0,0,1077,1,0,1,0,2,2,TA,5,Typ,2,TA,Attchd,1939,RFn,1,205,Gd,TA,Y,0,4,0,0,0,0,NA,NA,NA,0,1,2008,WD,Normal,118000 +11,20,RL,70,11200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1965,1965,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Rec,906,Unf,0,134,1040,GasA,Ex,Y,SBrkr,1040,0,0,1040,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1965,Unf,1,384,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,2,2008,WD,Normal,129500 +12,60,RL,85,11924,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2005,2006,Hip,CompShg,WdShing,Wd Shng,Stone,286,Ex,TA,PConc,Ex,TA,No,GLQ,998,Unf,0,177,1175,GasA,Ex,Y,SBrkr,1182,1142,0,2324,1,0,3,0,4,1,Ex,11,Typ,2,Gd,BuiltIn,2005,Fin,3,736,TA,TA,Y,147,21,0,0,0,0,NA,NA,NA,0,7,2006,New,Partial,345000 +13,20,RL,NA,12968,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,6,1962,1962,Hip,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,737,Unf,0,175,912,GasA,TA,Y,SBrkr,912,0,0,912,1,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1962,Unf,1,352,TA,TA,Y,140,0,0,0,176,0,NA,NA,NA,0,9,2008,WD,Normal,144000 +14,20,RL,91,10652,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,Stone,306,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1494,1494,GasA,Ex,Y,SBrkr,1494,0,0,1494,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2006,RFn,3,840,TA,TA,Y,160,33,0,0,0,0,NA,NA,NA,0,8,2007,New,Partial,279500 +15,20,RL,NA,10920,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1960,1960,Hip,CompShg,MetalSd,MetalSd,BrkFace,212,TA,TA,CBlock,TA,TA,No,BLQ,733,Unf,0,520,1253,GasA,TA,Y,SBrkr,1253,0,0,1253,1,0,1,1,2,1,TA,5,Typ,1,Fa,Attchd,1960,RFn,1,352,TA,TA,Y,0,213,176,0,0,0,NA,GdWo,NA,0,5,2008,WD,Normal,157000 +16,45,RM,51,6120,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,BrkSide,Norm,Norm,1Fam,1.5Unf,7,8,1929,2001,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,832,832,GasA,Ex,Y,FuseA,854,0,0,854,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1991,Unf,2,576,TA,TA,Y,48,112,0,0,0,0,NA,GdPrv,NA,0,7,2007,WD,Normal,132000 +17,20,RL,NA,11241,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,7,1970,1970,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,180,TA,TA,CBlock,TA,TA,No,ALQ,578,Unf,0,426,1004,GasA,Ex,Y,SBrkr,1004,0,0,1004,1,0,1,0,2,1,TA,5,Typ,1,TA,Attchd,1970,Fin,2,480,TA,TA,Y,0,0,0,0,0,0,NA,NA,Shed,700,3,2010,WD,Normal,149000 +18,90,RL,72,10791,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,Duplex,1Story,4,5,1967,1967,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,1296,0,0,1296,0,0,2,0,2,2,TA,6,Typ,0,NA,CarPort,1967,Unf,2,516,TA,TA,Y,0,0,0,0,0,0,NA,NA,Shed,500,10,2006,WD,Normal,90000 +19,20,RL,66,13695,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,RRAe,Norm,1Fam,1Story,5,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,TA,TA,No,GLQ,646,Unf,0,468,1114,GasA,Ex,Y,SBrkr,1114,0,0,1114,1,0,1,1,3,1,Gd,6,Typ,0,NA,Detchd,2004,Unf,2,576,TA,TA,Y,0,102,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,159000 +20,20,RL,70,7560,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1958,1965,Hip,CompShg,BrkFace,Plywood,None,0,TA,TA,CBlock,TA,TA,No,LwQ,504,Unf,0,525,1029,GasA,TA,Y,SBrkr,1339,0,0,1339,0,0,1,0,3,1,TA,6,Min1,0,NA,Attchd,1958,Unf,1,294,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,5,2009,COD,Abnorml,139000 +21,60,RL,101,14215,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,380,Gd,TA,PConc,Ex,TA,Av,Unf,0,Unf,0,1158,1158,GasA,Ex,Y,SBrkr,1158,1218,0,2376,0,0,3,1,4,1,Gd,9,Typ,1,Gd,BuiltIn,2005,RFn,3,853,TA,TA,Y,240,154,0,0,0,0,NA,NA,NA,0,11,2006,New,Partial,325300 +22,45,RM,57,7449,Pave,Grvl,Reg,Bnk,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Unf,7,7,1930,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,637,637,GasA,Ex,Y,FuseF,1108,0,0,1108,0,0,1,0,3,1,Gd,6,Typ,1,Gd,Attchd,1930,Unf,1,280,TA,TA,N,0,0,205,0,0,0,NA,GdPrv,NA,0,6,2007,WD,Normal,139400 +23,20,RL,75,9742,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2002,2002,Hip,CompShg,VinylSd,VinylSd,BrkFace,281,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1777,1777,GasA,Ex,Y,SBrkr,1795,0,0,1795,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2002,RFn,2,534,TA,TA,Y,171,159,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal,230000 +24,120,RM,44,4224,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,1Story,5,7,1976,1976,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,PConc,Gd,TA,No,GLQ,840,Unf,0,200,1040,GasA,TA,Y,SBrkr,1060,0,0,1060,1,0,1,0,3,1,TA,6,Typ,1,TA,Attchd,1976,Unf,2,572,TA,TA,Y,100,110,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,129900 +25,20,RL,NA,8246,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,8,1968,2001,Gable,CompShg,Plywood,Plywood,None,0,TA,Gd,CBlock,TA,TA,Mn,Rec,188,ALQ,668,204,1060,GasA,Ex,Y,SBrkr,1060,0,0,1060,1,0,1,0,3,1,Gd,6,Typ,1,TA,Attchd,1968,Unf,1,270,TA,TA,Y,406,90,0,0,0,0,NA,MnPrv,NA,0,5,2010,WD,Normal,154000 +26,20,RL,110,14230,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,640,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1566,1566,GasA,Ex,Y,SBrkr,1600,0,0,1600,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2007,RFn,3,890,TA,TA,Y,0,56,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,256300 +27,20,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1951,2000,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Mn,BLQ,234,Rec,486,180,900,GasA,TA,Y,SBrkr,900,0,0,900,0,1,1,0,3,1,Gd,5,Typ,0,NA,Detchd,2005,Unf,2,576,TA,TA,Y,222,32,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,134800 +28,20,RL,98,11478,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2007,2008,Gable,CompShg,VinylSd,VinylSd,Stone,200,Gd,TA,PConc,Ex,TA,No,GLQ,1218,Unf,0,486,1704,GasA,Ex,Y,SBrkr,1704,0,0,1704,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2008,RFn,3,772,TA,TA,Y,0,50,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,306000 +29,20,RL,47,16321,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1957,1997,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,Gd,BLQ,1277,Unf,0,207,1484,GasA,TA,Y,SBrkr,1600,0,0,1600,1,0,1,0,2,1,TA,6,Typ,2,Gd,Attchd,1957,RFn,1,319,TA,TA,Y,288,258,0,0,0,0,NA,NA,NA,0,12,2006,WD,Normal,207500 +30,30,RM,60,6324,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,BrkSide,Feedr,RRNn,1Fam,1Story,4,6,1927,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,520,520,GasA,Fa,N,SBrkr,520,0,0,520,0,0,1,0,1,1,Fa,4,Typ,0,NA,Detchd,1920,Unf,1,240,Fa,TA,Y,49,0,87,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,68500 +31,70,C (all),50,8500,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Feedr,Norm,1Fam,2Story,4,4,1920,1950,Gambrel,CompShg,BrkFace,BrkFace,None,0,TA,Fa,BrkTil,TA,TA,No,Unf,0,Unf,0,649,649,GasA,TA,N,SBrkr,649,668,0,1317,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1920,Unf,1,250,TA,Fa,N,0,54,172,0,0,0,NA,MnPrv,NA,0,7,2008,WD,Normal,40000 +32,20,RL,NA,8544,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,6,1966,2006,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1228,1228,GasA,Gd,Y,SBrkr,1228,0,0,1228,0,0,1,1,3,1,Gd,6,Typ,0,NA,Attchd,1966,Unf,1,271,TA,TA,Y,0,65,0,0,0,0,NA,MnPrv,NA,0,6,2008,WD,Normal,149350 +33,20,RL,85,11049,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,Av,Unf,0,Unf,0,1234,1234,GasA,Ex,Y,SBrkr,1234,0,0,1234,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2007,RFn,2,484,TA,TA,Y,0,30,0,0,0,0,NA,NA,NA,0,1,2008,WD,Normal,179900 +34,20,RL,70,10552,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1959,1959,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,Rec,1018,Unf,0,380,1398,GasA,Gd,Y,SBrkr,1700,0,0,1700,0,1,1,1,4,1,Gd,6,Typ,1,Gd,Attchd,1959,RFn,2,447,TA,TA,Y,0,38,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,165500 +35,120,RL,60,7313,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,9,5,2005,2005,Hip,CompShg,MetalSd,MetalSd,BrkFace,246,Ex,TA,PConc,Ex,TA,No,GLQ,1153,Unf,0,408,1561,GasA,Ex,Y,SBrkr,1561,0,0,1561,1,0,2,0,2,1,Ex,6,Typ,1,Gd,Attchd,2005,Fin,2,556,TA,TA,Y,203,47,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,277500 +36,60,RL,108,13418,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,Stone,132,Gd,TA,PConc,Ex,TA,Av,Unf,0,Unf,0,1117,1117,GasA,Ex,Y,SBrkr,1132,1320,0,2452,0,0,3,1,4,1,Gd,9,Typ,1,Gd,BuiltIn,2004,Fin,3,691,TA,TA,Y,113,32,0,0,0,0,NA,NA,NA,0,9,2006,WD,Normal,309000 +37,20,RL,112,10859,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,5,1994,1995,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1097,1097,GasA,Ex,Y,SBrkr,1097,0,0,1097,0,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1995,Unf,2,672,TA,TA,Y,392,64,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,145000 +38,20,RL,74,8532,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1954,1990,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,650,TA,TA,CBlock,TA,TA,No,Rec,1213,Unf,0,84,1297,GasA,Gd,Y,SBrkr,1297,0,0,1297,0,1,1,0,3,1,TA,5,Typ,1,TA,Attchd,1954,Fin,2,498,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal,153000 +39,20,RL,68,7922,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1953,2007,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,TA,No,GLQ,731,Unf,0,326,1057,GasA,TA,Y,SBrkr,1057,0,0,1057,1,0,1,0,3,1,Gd,5,Typ,0,NA,Detchd,1953,Unf,1,246,TA,TA,Y,0,52,0,0,0,0,NA,NA,NA,0,1,2010,WD,Abnorml,109000 +40,90,RL,65,6040,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,Duplex,1Story,4,5,1955,1955,Gable,CompShg,AsbShng,Plywood,None,0,TA,TA,PConc,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,N,FuseP,1152,0,0,1152,0,0,2,0,2,2,Fa,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,AdjLand,82000 +41,20,RL,84,8658,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1965,1965,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,101,TA,TA,CBlock,TA,TA,No,Rec,643,Unf,0,445,1088,GasA,Ex,Y,SBrkr,1324,0,0,1324,0,0,2,0,3,1,TA,6,Typ,1,TA,Attchd,1965,RFn,2,440,TA,TA,Y,0,138,0,0,0,0,NA,GdWo,NA,0,12,2006,WD,Abnorml,160000 +42,20,RL,115,16905,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,5,6,1959,1959,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,TA,Gd,BLQ,967,Unf,0,383,1350,GasA,Gd,Y,SBrkr,1328,0,0,1328,0,1,1,1,2,1,TA,5,Typ,2,Gd,Attchd,1959,RFn,1,308,TA,TA,P,0,104,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,170000 +43,85,RL,NA,9180,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,SawyerW,Norm,Norm,1Fam,SFoyer,5,7,1983,1983,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,Av,ALQ,747,LwQ,93,0,840,GasA,Gd,Y,SBrkr,884,0,0,884,1,0,1,0,2,1,Gd,5,Typ,0,NA,Attchd,1983,RFn,2,504,TA,Gd,Y,240,0,0,0,0,0,NA,MnPrv,NA,0,12,2007,WD,Normal,144000 +44,20,RL,NA,9200,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,6,1975,1980,Hip,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,Gd,TA,Av,LwQ,280,BLQ,491,167,938,GasA,TA,Y,SBrkr,938,0,0,938,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1977,Unf,1,308,TA,TA,Y,145,0,0,0,0,0,NA,MnPrv,NA,0,7,2008,WD,Normal,130250 +45,20,RL,70,7945,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1959,1959,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,ALQ,179,BLQ,506,465,1150,GasA,Ex,Y,FuseA,1150,0,0,1150,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1959,RFn,1,300,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,141000 +46,120,RL,61,7658,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,9,5,2005,2005,Hip,CompShg,MetalSd,MetalSd,BrkFace,412,Ex,TA,PConc,Ex,TA,No,GLQ,456,Unf,0,1296,1752,GasA,Ex,Y,SBrkr,1752,0,0,1752,1,0,2,0,2,1,Ex,6,Typ,1,Gd,Attchd,2005,RFn,2,576,TA,TA,Y,196,82,0,0,0,0,NA,NA,NA,0,2,2010,WD,Normal,319900 +47,50,RL,48,12822,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Mitchel,Norm,Norm,1Fam,1.5Fin,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,No,GLQ,1351,Unf,0,83,1434,GasA,Ex,Y,SBrkr,1518,631,0,2149,1,0,1,1,1,1,Gd,6,Typ,1,Ex,Attchd,2003,RFn,2,670,TA,TA,Y,168,43,0,0,198,0,NA,NA,NA,0,8,2009,WD,Abnorml,239686 +48,20,FV,84,11096,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,24,Unf,0,1632,1656,GasA,Ex,Y,SBrkr,1656,0,0,1656,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2006,RFn,3,826,TA,TA,Y,0,146,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,249700 +49,190,RM,33,4456,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,2fmCon,2Story,4,5,1920,2008,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,736,736,GasA,Gd,Y,SBrkr,736,716,0,1452,0,0,2,0,2,3,TA,8,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,102,0,0,0,NA,NA,NA,0,6,2009,New,Partial,113000 +50,20,RL,66,7742,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,7,1966,1966,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,BLQ,763,Unf,0,192,955,GasA,Ex,Y,SBrkr,955,0,0,955,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1966,Unf,1,386,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,1,2007,WD,Normal,127000 +51,60,RL,NA,13869,Pave,NA,IR2,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,6,1997,1997,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Av,GLQ,182,Unf,0,612,794,GasA,Gd,Y,SBrkr,794,676,0,1470,0,1,2,0,3,1,TA,6,Typ,0,NA,Attchd,1997,Fin,2,388,TA,TA,Y,0,75,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,177000 +52,50,RM,52,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,6,1934,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,816,816,GasA,TA,Y,SBrkr,816,0,360,1176,0,0,1,0,3,1,TA,6,Typ,1,Gd,Detchd,1985,Unf,2,528,TA,TA,Y,112,0,0,0,0,0,NA,MnPrv,Shed,400,9,2006,WD,Normal,114500 +53,90,RM,110,8472,Grvl,NA,IR2,Bnk,AllPub,Corner,Mod,IDOTRR,RRNn,Norm,Duplex,1Story,5,5,1963,1963,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Fa,TA,CBlock,Gd,TA,Gd,LwQ,104,GLQ,712,0,816,GasA,TA,N,SBrkr,816,0,0,816,1,0,1,0,2,1,TA,5,Typ,0,NA,CarPort,1963,Unf,2,516,TA,TA,Y,106,0,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,110000 +54,20,RL,68,50271,Pave,NA,IR1,Low,AllPub,Inside,Gtl,Veenker,Norm,Norm,1Fam,1Story,9,5,1981,1987,Gable,WdShngl,WdShing,Wd Shng,None,0,Gd,TA,CBlock,Ex,TA,Gd,GLQ,1810,Unf,0,32,1842,GasA,Gd,Y,SBrkr,1842,0,0,1842,2,0,0,1,0,1,Gd,5,Typ,1,Gd,Attchd,1981,Fin,3,894,TA,TA,Y,857,72,0,0,0,0,NA,NA,NA,0,11,2006,WD,Normal,385000 +55,80,RL,60,7134,Pave,NA,Reg,Bnk,AllPub,Inside,Mod,NAmes,Norm,Norm,1Fam,SLvl,5,5,1955,1955,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,384,Unf,0,0,384,GasA,TA,Y,SBrkr,1360,0,0,1360,0,0,1,0,3,1,TA,6,Min1,1,TA,Detchd,1962,Unf,2,572,TA,TA,Y,0,50,0,0,0,0,NA,MnPrv,NA,0,2,2007,WD,Normal,130000 +56,20,RL,100,10175,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1964,1964,Gable,CompShg,HdBoard,Plywood,BrkFace,272,TA,TA,CBlock,TA,TA,No,BLQ,490,Unf,0,935,1425,GasA,Gd,Y,SBrkr,1425,0,0,1425,0,0,2,0,3,1,TA,7,Typ,1,Gd,Attchd,1964,RFn,2,576,TA,TA,Y,0,0,0,407,0,0,NA,NA,NA,0,7,2008,WD,Normal,180500 +57,160,FV,24,2645,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,2Story,8,5,1999,2000,Gable,CompShg,MetalSd,MetalSd,BrkFace,456,Gd,TA,PConc,Gd,TA,No,GLQ,649,Unf,0,321,970,GasA,Ex,Y,SBrkr,983,756,0,1739,1,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,1999,Fin,2,480,TA,TA,Y,115,0,0,0,0,0,NA,NA,NA,0,8,2009,WD,Abnorml,172500 +58,60,RL,89,11645,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,860,860,GasA,Ex,Y,SBrkr,860,860,0,1720,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2004,RFn,2,565,TA,TA,Y,0,70,0,0,0,0,NA,NA,NA,0,8,2006,WD,Normal,196500 +59,60,RL,66,13682,Pave,NA,IR2,HLS,AllPub,CulDSac,Gtl,StoneBr,Norm,Norm,1Fam,2Story,10,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,1031,Ex,TA,PConc,Ex,TA,Gd,Unf,0,Unf,0,1410,1410,GasA,Ex,Y,SBrkr,1426,1519,0,2945,0,0,3,1,3,1,Gd,10,Typ,1,Gd,BuiltIn,2006,Fin,3,641,TA,TA,Y,192,0,37,0,0,0,NA,NA,NA,0,10,2006,New,Partial,438780 +60,20,RL,60,7200,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,7,1972,1972,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,Av,ALQ,632,Unf,0,148,780,GasA,Ex,Y,SBrkr,780,0,0,780,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1973,Unf,1,352,TA,TA,Y,196,0,0,0,0,0,NA,MnPrv,NA,0,1,2008,WD,Normal,124900 +61,20,RL,63,13072,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,RRAe,Norm,1Fam,1Story,6,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,ALQ,941,Unf,0,217,1158,GasA,Ex,Y,SBrkr,1158,0,0,1158,1,0,1,1,3,1,Gd,5,Typ,0,NA,Detchd,2006,Unf,2,576,TA,TA,Y,0,50,0,0,0,0,NA,NA,NA,0,5,2006,New,Partial,158000 +62,75,RM,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,2.5Unf,5,7,1920,1996,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,Fa,No,Unf,0,Unf,0,530,530,GasA,TA,N,SBrkr,581,530,0,1111,0,0,1,0,3,1,Fa,6,Typ,0,NA,Detchd,1935,Unf,1,288,TA,TA,N,0,0,144,0,0,0,NA,NA,NA,0,3,2007,WD,Normal,101000 +63,120,RL,44,6442,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,Stone,178,Gd,TA,PConc,Gd,Gd,Mn,GLQ,24,Unf,0,1346,1370,GasA,Ex,Y,SBrkr,1370,0,0,1370,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2006,RFn,2,484,TA,TA,Y,120,49,0,0,0,0,NA,NA,NA,0,10,2007,WD,Normal,202500 +64,70,RM,50,10300,Pave,NA,IR1,Bnk,AllPub,Inside,Gtl,OldTown,RRAn,Feedr,1Fam,2Story,7,6,1921,1950,Gable,CompShg,Stucco,Stucco,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,576,576,GasA,Gd,Y,SBrkr,902,808,0,1710,0,0,2,0,3,1,TA,9,Typ,0,NA,Detchd,1990,Unf,2,480,TA,TA,Y,12,11,64,0,0,0,NA,GdPrv,NA,0,4,2010,WD,Normal,140000 +65,60,RL,NA,9375,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,1997,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,573,TA,TA,PConc,Gd,TA,No,GLQ,739,Unf,0,318,1057,GasA,Ex,Y,SBrkr,1057,977,0,2034,1,0,2,1,3,1,Gd,8,Typ,0,NA,Attchd,1998,RFn,2,645,TA,TA,Y,576,36,0,0,0,0,NA,GdPrv,NA,0,2,2009,WD,Normal,219500 +66,60,RL,76,9591,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,344,Gd,TA,PConc,Ex,TA,Av,Unf,0,Unf,0,1143,1143,GasA,Ex,Y,SBrkr,1143,1330,0,2473,0,0,2,1,4,1,Gd,9,Typ,1,Gd,BuiltIn,2004,RFn,3,852,TA,TA,Y,192,151,0,0,0,0,NA,NA,NA,0,10,2007,WD,Normal,317000 +67,20,RL,NA,19900,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,PosA,Norm,1Fam,1Story,7,5,1970,1989,Gable,CompShg,Plywood,Plywood,BrkFace,287,TA,TA,CBlock,Gd,TA,Gd,GLQ,912,Unf,0,1035,1947,GasA,TA,Y,SBrkr,2207,0,0,2207,1,0,2,0,3,1,TA,7,Min1,1,Gd,Attchd,1970,RFn,2,576,TA,TA,Y,301,0,0,0,0,0,NA,NA,NA,0,7,2010,WD,Normal,180000 +68,20,RL,72,10665,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,167,Gd,TA,PConc,Gd,TA,Av,GLQ,1013,Unf,0,440,1453,GasA,Ex,Y,SBrkr,1479,0,0,1479,1,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2003,RFn,2,558,TA,TA,Y,144,29,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,226000 +69,30,RM,47,4608,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Artery,Norm,1Fam,1Story,4,6,1945,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,Unf,0,Unf,0,747,747,GasA,TA,Y,SBrkr,747,0,0,747,0,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1945,Unf,1,220,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,80000 +70,50,RL,81,15593,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,ClearCr,Norm,Norm,1Fam,1.5Fin,7,4,1953,1953,Gable,CompShg,BrkFace,AsbShng,None,0,Gd,TA,CBlock,TA,TA,No,BLQ,603,Unf,0,701,1304,GasW,TA,Y,SBrkr,1304,983,0,2287,0,0,2,0,3,1,TA,7,Typ,1,TA,Attchd,1953,Fin,2,667,TA,TA,Y,0,21,114,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,225000 +71,20,RL,95,13651,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,7,6,1973,1973,Gable,CompShg,Plywood,Plywood,BrkFace,1115,TA,Gd,CBlock,Gd,TA,Gd,ALQ,1880,Unf,0,343,2223,GasA,Ex,Y,SBrkr,2223,0,0,2223,1,0,2,0,3,1,TA,8,Typ,2,Gd,Attchd,1973,Fin,2,516,TA,TA,Y,300,0,0,0,0,0,NA,NA,NA,0,2,2007,WD,Normal,244000 +72,20,RL,69,7599,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Mitchel,Norm,Norm,1Fam,1Story,4,6,1982,2006,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,565,Unf,0,280,845,GasA,TA,Y,SBrkr,845,0,0,845,1,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1987,Unf,2,360,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,129500 +73,60,RL,74,10141,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,40,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,832,832,GasA,Gd,Y,SBrkr,885,833,0,1718,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1998,Fin,2,427,TA,TA,Y,0,94,0,0,291,0,NA,NA,NA,0,12,2009,WD,Normal,185000 +74,20,RL,85,10200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1954,2003,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,104,TA,TA,CBlock,TA,TA,No,ALQ,320,BLQ,362,404,1086,GasA,Gd,Y,SBrkr,1086,0,0,1086,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1989,Unf,2,490,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,5,2010,WD,Normal,144900 +75,50,RM,60,5790,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,2Story,3,6,1915,1950,Gambrel,CompShg,VinylSd,VinylSd,None,0,Gd,Gd,CBlock,Fa,TA,No,Unf,0,Unf,0,840,840,GasA,Gd,N,SBrkr,840,765,0,1605,0,0,2,0,3,2,TA,8,Typ,0,NA,Detchd,1915,Unf,1,379,TA,TA,Y,0,0,202,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,107400 +76,180,RM,21,1596,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,SLvl,4,5,1973,1973,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,Gd,TA,Gd,GLQ,462,Unf,0,0,462,GasA,TA,Y,SBrkr,526,462,0,988,1,0,1,0,2,1,TA,5,Typ,0,NA,BuiltIn,1973,Unf,1,297,TA,TA,Y,120,101,0,0,0,0,NA,GdWo,NA,0,11,2009,WD,Normal,91000 +77,20,RL,NA,8475,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,7,1956,1956,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,228,Unf,0,724,952,GasA,Ex,Y,FuseA,952,0,0,952,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1956,Unf,1,283,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal,135750 +78,50,RM,50,8635,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,5,1948,2001,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,336,GLQ,41,295,672,GasA,TA,Y,SBrkr,1072,213,0,1285,1,0,1,0,2,1,TA,6,Min1,0,NA,Detchd,1948,Unf,1,240,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,1,2008,WD,Normal,127000 +79,90,RL,72,10778,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,Duplex,1Story,4,5,1968,1968,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1768,1768,GasA,TA,N,SBrkr,1768,0,0,1768,0,0,2,0,4,2,TA,8,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,136500 +80,50,RM,60,10440,Pave,Grvl,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,2Story,5,6,1910,1981,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,440,440,GasA,Gd,Y,SBrkr,682,548,0,1230,0,0,1,1,2,1,TA,5,Typ,0,NA,Detchd,1966,Unf,2,440,TA,TA,Y,74,0,128,0,0,0,NA,MnPrv,NA,0,5,2009,WD,Normal,110000 +81,60,RL,100,13000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,2Story,6,6,1968,1968,Gable,CompShg,VinylSd,VinylSd,BrkFace,576,TA,Gd,CBlock,Gd,TA,No,Rec,448,Unf,0,448,896,GasA,TA,Y,SBrkr,1182,960,0,2142,0,0,2,1,4,1,Gd,8,Typ,1,Gd,Attchd,1968,Fin,1,509,TA,TA,Y,0,72,0,0,252,0,NA,NA,NA,0,6,2009,WD,Normal,193500 +82,120,RM,32,4500,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Mitchel,Norm,Norm,TwnhsE,1Story,6,5,1998,1998,Hip,CompShg,VinylSd,VinylSd,BrkFace,443,TA,Gd,PConc,Ex,Gd,No,GLQ,1201,Unf,0,36,1237,GasA,Ex,Y,SBrkr,1337,0,0,1337,1,0,2,0,2,1,TA,5,Typ,0,NA,Attchd,1998,Fin,2,405,TA,TA,Y,0,199,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal,153500 +83,20,RL,78,10206,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,468,TA,TA,PConc,Gd,TA,No,GLQ,33,Unf,0,1530,1563,GasA,Ex,Y,SBrkr,1563,0,0,1563,0,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2007,RFn,3,758,TA,TA,Y,144,99,0,0,0,0,NA,NA,NA,0,10,2008,WD,Normal,245000 +84,20,RL,80,8892,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1960,1960,Gable,CompShg,MetalSd,MetalSd,BrkCmn,66,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1065,1065,GasA,Gd,Y,SBrkr,1065,0,0,1065,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1974,Unf,2,461,TA,TA,Y,74,0,0,0,0,0,NA,NA,NA,0,7,2007,COD,Normal,126500 +85,80,RL,NA,8530,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,7,5,1995,1996,Gable,CompShg,HdBoard,HdBoard,BrkFace,22,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,384,384,GasA,Gd,Y,SBrkr,804,670,0,1474,0,0,2,1,3,1,TA,7,Typ,1,TA,BuiltIn,1995,Fin,2,400,TA,TA,Y,120,72,0,0,0,0,NA,NA,Shed,700,5,2009,WD,Normal,168500 +86,60,RL,121,16059,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1991,1992,Hip,CompShg,HdBoard,HdBoard,BrkFace,284,Gd,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,1288,1288,GasA,Ex,Y,SBrkr,1301,1116,0,2417,0,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1991,Unf,2,462,TA,TA,Y,127,82,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,260000 +87,60,RL,122,11911,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,684,684,GasA,Ex,Y,SBrkr,684,876,0,1560,0,0,2,1,3,1,Gd,6,Typ,1,Gd,BuiltIn,2005,Fin,2,400,TA,TA,Y,100,38,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal,174000 +88,160,FV,40,3951,Pave,Pave,Reg,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,6,5,2009,2009,Gable,CompShg,VinylSd,VinylSd,Stone,76,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,612,612,GasA,Ex,Y,SBrkr,612,612,0,1224,0,0,2,1,2,1,Gd,4,Typ,0,NA,Detchd,2009,RFn,2,528,TA,TA,Y,0,234,0,0,0,0,NA,NA,NA,0,6,2009,New,Partial,164500 +89,50,C (all),105,8470,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,IDOTRR,Feedr,Feedr,1Fam,1.5Fin,3,2,1915,1982,Hip,CompShg,Plywood,Plywood,None,0,Fa,Fa,CBlock,TA,Fa,No,Unf,0,Unf,0,1013,1013,GasA,TA,N,SBrkr,1013,0,513,1526,0,0,1,0,2,1,Fa,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,156,0,0,0,NA,MnPrv,NA,0,10,2009,ConLD,Abnorml,85000 +90,20,RL,60,8070,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,4,5,1994,1995,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,GLQ,588,Unf,0,402,990,GasA,Ex,Y,SBrkr,990,0,0,990,1,0,1,0,3,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,123600 +91,20,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,5,1950,1950,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,FuseA,1040,0,0,1040,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1950,Unf,2,420,TA,TA,Y,0,29,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,109900 +92,20,RL,85,8500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,3,1961,1961,Hip,CompShg,HdBoard,HdBoard,BrkCmn,203,TA,TA,CBlock,TA,TA,No,Rec,600,Unf,0,635,1235,GasA,TA,Y,SBrkr,1235,0,0,1235,0,0,1,0,2,1,TA,6,Typ,0,NA,Attchd,1961,Unf,2,480,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,12,2006,WD,Abnorml,98600 +93,30,RL,80,13360,Pave,Grvl,IR1,HLS,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,5,7,1921,2006,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,BrkTil,Gd,TA,No,ALQ,713,Unf,0,163,876,GasA,Ex,Y,SBrkr,964,0,0,964,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1921,Unf,2,432,TA,TA,Y,0,0,44,0,0,0,NA,NA,NA,0,8,2009,WD,Normal,163500 +94,190,C (all),60,7200,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,2fmCon,2.5Unf,6,6,1910,1998,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,Fa,Mn,Rec,1046,Unf,0,168,1214,GasW,Ex,N,SBrkr,1260,1031,0,2291,0,1,2,0,4,2,TA,9,Typ,1,Gd,Detchd,1900,Unf,2,506,TA,TA,Y,0,0,0,0,99,0,NA,NA,NA,0,11,2007,WD,Normal,133900 +95,60,RL,69,9337,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,6,5,1997,1997,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,PConc,Gd,TA,No,GLQ,648,Unf,0,176,824,GasA,Ex,Y,SBrkr,905,881,0,1786,1,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,1997,RFn,2,684,TA,TA,Y,0,162,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,204750 +96,60,RL,NA,9765,Pave,NA,IR2,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,8,1993,1993,Gable,CompShg,VinylSd,VinylSd,BrkFace,68,Ex,Gd,PConc,Gd,Gd,No,ALQ,310,Unf,0,370,680,GasA,Gd,Y,SBrkr,680,790,0,1470,0,0,2,1,3,1,TA,6,Typ,1,TA,BuiltIn,1993,Fin,2,420,TA,TA,Y,232,63,0,0,0,0,NA,NA,Shed,480,4,2009,WD,Normal,185000 +97,20,RL,78,10264,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,BrkFace,183,Gd,TA,PConc,Gd,TA,Av,ALQ,1162,Unf,0,426,1588,GasA,Ex,Y,SBrkr,1588,0,0,1588,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1999,RFn,2,472,TA,TA,Y,158,29,0,0,0,0,NA,NA,NA,0,8,2006,WD,Normal,214000 +98,20,RL,73,10921,Pave,NA,Reg,HLS,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,5,1965,1965,Hip,CompShg,HdBoard,HdBoard,BrkFace,48,TA,TA,CBlock,TA,TA,No,Rec,520,Unf,0,440,960,GasA,TA,Y,FuseF,960,0,0,960,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1965,Fin,1,432,TA,TA,P,120,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,94750 +99,30,RL,85,10625,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,5,1920,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,ALQ,108,Unf,0,350,458,GasA,Fa,N,SBrkr,835,0,0,835,0,0,1,0,2,1,TA,5,Typ,0,NA,Basment,1920,Unf,1,366,Fa,TA,Y,0,0,77,0,0,0,NA,NA,Shed,400,5,2010,COD,Abnorml,83000 +100,20,RL,77,9320,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,5,1959,1959,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,569,Unf,0,381,950,GasA,Fa,Y,SBrkr,1225,0,0,1225,1,0,1,1,3,1,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,352,0,0,0,0,0,NA,NA,Shed,400,1,2010,WD,Normal,128950 +101,20,RL,NA,10603,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,7,1977,2001,Gable,CompShg,Plywood,Plywood,BrkFace,28,TA,TA,PConc,TA,TA,Mn,ALQ,1200,Unf,0,410,1610,GasA,Gd,Y,SBrkr,1610,0,0,1610,1,0,2,0,3,1,Gd,6,Typ,2,TA,Attchd,1977,RFn,2,480,TA,TA,Y,168,68,0,0,0,0,NA,NA,NA,0,2,2010,WD,Normal,205000 +102,60,RL,77,9206,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,5,1985,1985,Gable,CompShg,HdBoard,HdBoard,BrkFace,336,Gd,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,741,741,GasA,TA,Y,SBrkr,977,755,0,1732,0,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1985,Fin,2,476,TA,TA,Y,192,46,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,178000 +103,90,RL,64,7018,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,SawyerW,Norm,Norm,Duplex,1Story,5,5,1979,1979,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Fa,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,1535,0,0,1535,0,0,2,0,4,2,TA,8,Typ,0,NA,Attchd,1979,Unf,2,410,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Alloca,118964 +104,20,RL,94,10402,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2009,2009,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1226,1226,GasA,Ex,Y,SBrkr,1226,0,0,1226,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2009,RFn,3,740,TA,TA,Y,0,36,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,198900 +105,50,RM,NA,7758,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,7,4,1931,1950,Gable,CompShg,Stucco,Stucco,BrkFace,600,TA,Fa,PConc,TA,TA,No,LwQ,224,Unf,0,816,1040,GasA,Ex,Y,FuseF,1226,592,0,1818,0,0,1,1,4,1,TA,7,Typ,2,TA,Detchd,1951,Unf,1,240,TA,TA,Y,0,0,0,0,184,0,NA,NA,NA,0,6,2007,WD,Normal,169500 +106,60,FV,75,9375,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2003,2004,Hip,CompShg,VinylSd,VinylSd,BrkFace,768,Gd,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1053,1053,GasA,Ex,Y,SBrkr,1053,939,0,1992,0,0,2,1,3,1,Gd,9,Typ,1,Gd,Attchd,2003,RFn,2,648,TA,TA,Y,140,45,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal,250000 +107,30,RM,60,10800,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,4,7,1885,1995,Mansard,CompShg,VinylSd,VinylSd,None,0,TA,TA,BrkTil,Fa,TA,No,Unf,0,Unf,0,641,641,GasA,Gd,Y,SBrkr,1047,0,0,1047,0,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1954,Unf,1,273,Fa,Fa,N,0,0,0,0,0,0,NA,NA,Shed,450,8,2007,WD,Normal,100000 +108,20,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,5,1948,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,104,BLQ,169,516,789,GasA,Ex,Y,SBrkr,789,0,0,789,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1948,Unf,1,250,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2008,WD,Partial,115000 +109,50,RM,85,8500,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Artery,Norm,1Fam,1.5Fin,5,7,1919,2005,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,793,793,GasW,TA,N,FuseF,997,520,0,1517,0,0,2,0,3,1,Fa,7,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,144,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,115000 +110,20,RL,105,11751,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,6,1977,1977,Hip,CompShg,Plywood,Plywood,BrkFace,480,TA,TA,CBlock,Gd,TA,No,BLQ,705,Unf,0,1139,1844,GasA,Ex,Y,SBrkr,1844,0,0,1844,0,0,2,0,3,1,TA,7,Typ,1,TA,Attchd,1977,RFn,2,546,TA,TA,Y,0,122,0,0,0,0,NA,MnPrv,NA,0,1,2010,COD,Normal,190000 +111,50,RL,75,9525,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,6,4,1954,1972,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,Fa,No,Rec,444,Unf,0,550,994,GasA,Gd,Y,SBrkr,1216,639,0,1855,0,0,2,0,4,1,TA,7,Typ,0,NA,Attchd,1954,Unf,1,325,TA,TA,Y,182,0,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal,136900 +112,80,RL,NA,7750,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,7,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,GLQ,250,Unf,0,134,384,GasA,Ex,Y,SBrkr,774,656,0,1430,0,0,2,1,3,1,TA,7,Typ,1,TA,BuiltIn,2000,Fin,2,400,TA,TA,Y,180,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,180000 +113,60,RL,77,9965,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,220,Gd,TA,PConc,Ex,TA,Av,GLQ,984,Unf,0,280,1264,GasA,Ex,Y,SBrkr,1282,1414,0,2696,1,0,2,1,4,1,Ex,10,Typ,1,Gd,BuiltIn,2007,Fin,3,792,TA,TA,Y,120,184,0,0,168,0,NA,NA,NA,0,10,2007,New,Partial,383970 +114,20,RL,NA,21000,Pave,NA,Reg,Bnk,AllPub,Corner,Gtl,Crawfor,Norm,Norm,1Fam,1Story,6,5,1953,1953,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,184,TA,Gd,CBlock,Gd,TA,Mn,ALQ,35,Rec,869,905,1809,GasA,TA,Y,SBrkr,2259,0,0,2259,1,0,2,0,3,1,Gd,7,Typ,2,Gd,Basment,1953,Unf,2,450,TA,TA,Y,166,120,192,0,0,0,NA,MnPrv,NA,0,10,2007,COD,Abnorml,217000 +115,70,RL,61,7259,Pave,NA,IR1,Lvl,AllPub,Inside,Mod,Crawfor,Norm,Norm,1Fam,2Story,6,8,1945,2002,Gambrel,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,ALQ,774,LwQ,150,104,1028,GasA,Ex,Y,SBrkr,1436,884,0,2320,1,0,2,1,3,1,Gd,9,Typ,1,TA,Detchd,1945,Unf,1,180,TA,TA,Y,224,0,0,0,0,0,NA,MnPrv,NA,0,7,2007,WD,Normal,259500 +116,160,FV,34,3230,Pave,Pave,Reg,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,6,5,1999,1999,Gable,CompShg,MetalSd,MetalSd,BrkFace,1129,TA,TA,PConc,Gd,TA,No,GLQ,419,Unf,0,310,729,GasA,Gd,Y,SBrkr,729,729,0,1458,0,0,2,1,2,1,TA,5,Typ,1,Fa,Detchd,1999,Unf,2,440,TA,TA,Y,0,32,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,176000 +117,20,RL,NA,11616,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1962,1962,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,116,TA,TA,CBlock,TA,TA,No,LwQ,170,BLQ,670,252,1092,GasA,TA,Y,SBrkr,1092,0,0,1092,0,1,1,0,3,1,TA,6,Typ,1,Po,Attchd,1962,Unf,1,288,TA,TA,Y,0,20,144,0,0,0,NA,NA,NA,0,9,2009,WD,Normal,139000 +118,20,RL,74,8536,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1125,1125,GasA,Gd,Y,SBrkr,1125,0,0,1125,0,0,1,1,2,1,TA,5,Typ,0,NA,Attchd,2007,Unf,2,430,TA,TA,Y,80,64,0,0,0,0,NA,NA,NA,0,4,2007,New,Partial,155000 +119,60,RL,90,12376,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,1990,1990,Hip,CompShg,Plywood,Plywood,None,0,TA,TA,PConc,Gd,TA,Mn,GLQ,1470,Unf,0,203,1673,GasA,Gd,Y,SBrkr,1699,1523,0,3222,1,0,3,0,5,1,Gd,11,Typ,2,TA,Attchd,1990,Unf,3,594,TA,TA,Y,367,0,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,320000 +120,60,RL,65,8461,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,6,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,728,728,GasA,Ex,Y,SBrkr,728,728,0,1456,0,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2005,Fin,2,390,TA,TA,Y,0,24,0,0,0,0,NA,NA,NA,0,7,2006,New,Partial,163990 +121,80,RL,NA,21453,Pave,NA,IR1,Low,AllPub,CulDSac,Sev,ClearCr,Norm,Norm,1Fam,SLvl,6,5,1969,1969,Flat,Metal,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,Gd,ALQ,938,Unf,0,0,938,GasA,Ex,Y,SBrkr,988,0,0,988,1,0,1,0,1,1,TA,4,Typ,2,TA,Attchd,1969,Unf,2,540,TA,TA,Y,0,130,0,130,0,0,NA,NA,NA,0,10,2006,WD,Normal,180000 +122,50,RM,50,6060,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,4,5,1939,1950,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,732,732,GasA,Gd,Y,SBrkr,772,351,0,1123,0,0,1,0,3,1,TA,4,Typ,0,NA,Detchd,1979,Unf,1,264,TA,TA,P,0,0,140,0,0,0,NA,MnPrv,NA,0,6,2007,WD,Normal,100000 +123,20,RL,75,9464,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,7,1958,1958,Hip,CompShg,MetalSd,MetalSd,BrkFace,135,TA,Gd,CBlock,TA,TA,No,BLQ,570,Unf,0,510,1080,GasA,Gd,Y,SBrkr,1080,0,0,1080,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1958,Unf,1,288,TA,TA,Y,0,0,0,0,130,0,NA,NA,NA,0,6,2008,WD,Normal,136000 +124,120,RL,55,7892,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,TwnhsE,1Story,6,5,1993,1993,Gable,CompShg,Plywood,Plywood,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,300,Unf,0,899,1199,GasA,Ex,Y,SBrkr,1199,0,0,1199,0,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,1993,RFn,2,530,TA,TA,Y,0,63,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal,153900 +125,20,RL,48,17043,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,5,1979,1998,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Gd,CBlock,Gd,Fa,No,Unf,0,Unf,0,1362,1362,GasA,TA,Y,SBrkr,1586,0,0,1586,0,0,2,0,3,1,TA,7,Typ,1,TA,Attchd,1979,Unf,2,435,TA,TA,Y,192,0,0,0,0,0,NA,NA,NA,0,1,2009,WD,Normal,181000 +126,190,RM,60,6780,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,2fmCon,1.5Fin,6,8,1935,1982,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Fa,CBlock,TA,TA,Av,GLQ,490,Unf,0,30,520,GasA,Gd,N,SBrkr,520,0,234,754,1,0,1,0,2,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,53,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,84500 +127,120,RL,NA,4928,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NPkVill,Norm,Norm,TwnhsE,1Story,6,5,1976,1976,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,120,Unf,0,958,1078,GasA,TA,Y,SBrkr,958,0,0,958,0,0,2,0,2,1,TA,5,Typ,1,TA,Attchd,1977,RFn,2,440,TA,TA,Y,0,205,0,0,0,0,NA,NA,NA,0,2,2007,WD,Normal,128000 +128,45,RM,55,4388,Pave,NA,IR1,Bnk,AllPub,Inside,Gtl,OldTown,Feedr,Norm,1Fam,1.5Unf,5,7,1930,1950,Gable,CompShg,WdShing,Wd Sdng,None,0,TA,Gd,BrkTil,TA,TA,No,LwQ,116,Unf,0,556,672,GasA,Ex,Y,SBrkr,840,0,0,840,0,0,1,0,3,1,TA,5,Typ,1,TA,NA,NA,NA,0,0,NA,NA,N,0,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,87000 +129,60,RL,69,7590,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,PosN,Norm,1Fam,2Story,6,5,1966,1966,Gable,CompShg,VinylSd,VinylSd,BrkFace,266,TA,TA,CBlock,TA,TA,No,BLQ,512,Unf,0,148,660,GasA,TA,Y,SBrkr,660,688,0,1348,0,0,1,1,3,1,TA,6,Typ,1,Fa,Attchd,1966,RFn,2,453,TA,TA,Y,188,108,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,155000 +130,20,RL,69,8973,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1958,1991,Gable,CompShg,Plywood,Plywood,BrkFace,85,TA,TA,CBlock,TA,TA,No,Rec,567,BLQ,28,413,1008,GasA,TA,Y,FuseA,1053,0,0,1053,0,1,1,1,3,1,Ex,6,Typ,0,NA,2Types,1998,RFn,2,750,TA,TA,Y,0,80,0,180,0,0,NA,MnWw,NA,0,7,2006,WD,Abnorml,150000 +131,60,RL,88,14200,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,2Story,7,6,1966,1966,Gable,CompShg,MetalSd,MetalSd,BrkFace,309,TA,TA,CBlock,TA,TA,No,Rec,445,Unf,0,479,924,GasA,Ex,Y,SBrkr,1216,941,0,2157,0,0,2,1,4,1,Gd,8,Typ,2,Gd,Attchd,1966,Fin,2,487,TA,TA,Y,105,66,0,0,0,0,NA,GdPrv,NA,0,5,2006,WD,Normal,226000 +132,60,RL,NA,12224,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,40,Gd,TA,PConc,Gd,TA,No,GLQ,695,Unf,0,297,992,GasA,Ex,Y,SBrkr,1022,1032,0,2054,1,0,2,1,3,1,Gd,7,Typ,1,TA,BuiltIn,2000,RFn,2,390,TA,TA,Y,24,48,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,244000 +133,20,RL,75,7388,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1959,2002,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,405,Unf,0,658,1063,GasA,Gd,Y,SBrkr,1327,0,0,1327,1,0,1,0,3,1,Gd,7,Typ,0,NA,Detchd,1974,Unf,2,624,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,150750 +134,20,RL,NA,6853,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2001,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,136,Gd,TA,PConc,Ex,TA,No,GLQ,1005,Unf,0,262,1267,GasA,Ex,Y,SBrkr,1296,0,0,1296,1,0,2,0,2,1,Gd,6,Typ,0,NA,Attchd,2001,Fin,2,471,TA,TA,Y,192,25,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,220000 +135,20,RL,78,10335,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,6,1968,1993,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,Rec,570,Unf,0,891,1461,GasA,Gd,Y,SBrkr,1721,0,0,1721,0,0,2,1,3,1,TA,7,Min1,1,TA,Attchd,1968,RFn,2,440,TA,TA,Y,0,96,180,0,0,0,NA,MnPrv,NA,0,7,2006,WD,Normal,180000 +136,20,RL,80,10400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,7,6,1970,1970,Hip,CompShg,Plywood,Plywood,BrkFace,288,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,1304,1304,GasA,Gd,Y,SBrkr,1682,0,0,1682,0,0,2,0,3,1,TA,7,Typ,1,Gd,Attchd,1970,Unf,2,530,TA,TA,Y,98,0,0,0,0,0,NA,MnPrv,NA,0,5,2008,WD,Normal,174000 +137,20,RL,NA,10355,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1967,1967,Gable,CompShg,MetalSd,MetalSd,BrkFace,196,TA,TA,CBlock,TA,TA,No,BLQ,695,Unf,0,519,1214,GasA,TA,Y,SBrkr,1214,0,0,1214,0,0,2,0,3,1,TA,5,Typ,1,Fa,Attchd,1967,RFn,1,318,TA,TA,Y,0,111,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,143000 +138,90,RL,82,11070,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,Duplex,1Story,7,5,1988,1989,Gable,CompShg,VinylSd,VinylSd,BrkFace,70,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1907,1907,GasA,Gd,Y,SBrkr,1959,0,0,1959,0,0,3,0,5,2,TA,9,Typ,0,NA,2Types,1989,Unf,3,766,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Family,171000 +139,60,RL,73,9066,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,1999,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,320,Gd,TA,PConc,Gd,TA,Mn,GLQ,668,Unf,0,336,1004,GasA,Ex,Y,SBrkr,1004,848,0,1852,0,0,2,1,3,1,Gd,7,Typ,2,TA,Attchd,1999,Fin,3,660,TA,TA,Y,224,106,0,0,0,0,NA,GdPrv,NA,0,12,2008,WD,Normal,230000 +140,60,RL,65,15426,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,6,5,1997,1997,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,GLQ,821,Unf,0,107,928,GasA,Ex,Y,SBrkr,928,836,0,1764,1,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,1997,RFn,2,470,TA,TA,Y,276,99,0,0,0,0,NA,MnPrv,NA,0,8,2009,WD,Normal,231500 +141,20,RL,70,10500,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,5,1971,1971,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,ALQ,432,Unf,0,432,864,GasA,TA,Y,SBrkr,864,0,0,864,0,0,1,0,3,1,TA,5,Typ,1,Po,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2010,ConLI,Normal,115000 +142,20,RL,78,11645,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,1300,Unf,0,434,1734,GasA,Ex,Y,SBrkr,1734,0,0,1734,1,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2005,Fin,2,660,TA,TA,Y,160,24,0,0,0,0,NA,NA,NA,0,1,2006,WD,Normal,260000 +143,50,RL,71,8520,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Artery,Norm,1Fam,1.5Fin,5,4,1952,1952,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,Fa,CBlock,TA,TA,No,Rec,507,Unf,0,403,910,GasA,Fa,Y,SBrkr,910,475,0,1385,0,0,2,0,4,1,TA,6,Typ,0,NA,Detchd,2000,Unf,2,720,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,6,2010,WD,Normal,166000 +144,20,RL,78,10335,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,BrkFace,183,Gd,TA,PConc,Gd,TA,Gd,GLQ,679,Unf,0,811,1490,GasA,Ex,Y,SBrkr,1501,0,0,1501,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1999,RFn,2,577,TA,TA,Y,144,29,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,204000 +145,90,RM,70,9100,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,RRAe,Norm,Duplex,1Story,5,5,1963,1963,Gable,CompShg,HdBoard,HdBoard,BrkFace,336,TA,TA,CBlock,TA,TA,No,Rec,1332,Unf,0,396,1728,GasA,TA,Y,SBrkr,1728,0,0,1728,1,0,2,0,6,2,TA,10,Typ,0,NA,Detchd,1963,Unf,2,504,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2006,ConLI,Abnorml,125000 +146,160,RM,24,2522,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,Twnhs,2Story,6,5,2004,2006,Gable,CompShg,VinylSd,VinylSd,Stone,50,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,970,970,GasA,Ex,Y,SBrkr,970,739,0,1709,0,0,2,0,3,1,Gd,7,Maj1,0,NA,Detchd,2004,Unf,2,380,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,130000 +147,30,RM,51,6120,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,BrkSide,Norm,Norm,1Fam,1Story,5,7,1931,1993,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,BLQ,209,Unf,0,506,715,GasA,TA,Y,FuseA,875,0,0,875,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1931,Unf,1,180,Fa,TA,Y,48,0,0,0,0,0,NA,NA,NA,0,11,2009,WD,Normal,105000 +148,60,RL,NA,9505,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,BrkFace,180,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,884,884,GasA,Ex,Y,SBrkr,884,1151,0,2035,0,0,2,1,3,1,Gd,8,Typ,1,Gd,BuiltIn,2001,Fin,2,434,TA,TA,Y,144,48,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,222500 +149,20,RL,63,7500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,7,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,120,TA,TA,PConc,Gd,TA,No,GLQ,680,Unf,0,400,1080,GasA,Ex,Y,SBrkr,1080,0,0,1080,1,0,1,0,3,1,Gd,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal,141000 +150,50,RM,NA,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,4,1936,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,Gd,TA,No,Unf,0,Unf,0,896,896,GasA,Gd,Y,FuseA,896,448,0,1344,0,0,1,0,3,1,TA,7,Typ,0,NA,Detchd,1936,Unf,1,240,Fa,TA,Y,200,114,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,115000 +151,20,RL,120,10356,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,6,1975,1975,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,Av,BLQ,716,Unf,0,253,969,GasA,TA,Y,SBrkr,969,0,0,969,0,0,1,1,3,1,TA,5,Typ,0,NA,Attchd,1975,Unf,2,440,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,1,2007,WD,Normal,122000 +152,20,RL,107,13891,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2007,2008,Hip,CompShg,VinylSd,VinylSd,Stone,436,Gd,TA,PConc,Ex,TA,Gd,GLQ,1400,Unf,0,310,1710,GasA,Ex,Y,SBrkr,1710,0,0,1710,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2007,RFn,3,866,TA,TA,Y,0,102,0,0,0,0,NA,NA,NA,0,1,2008,New,Partial,372402 +153,60,RL,NA,14803,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NWAmes,Norm,Norm,1Fam,2Story,6,5,1971,1971,Gable,CompShg,HdBoard,HdBoard,BrkFace,252,TA,TA,CBlock,TA,TA,No,Rec,416,Unf,0,409,825,GasA,Gd,Y,SBrkr,1097,896,0,1993,0,0,2,1,4,1,TA,8,Typ,1,Gd,Attchd,1971,RFn,2,495,TA,TA,Y,0,66,0,0,0,0,NA,GdWo,NA,0,6,2006,WD,Normal,190000 +154,20,RL,NA,13500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,ClearCr,Norm,Norm,1Fam,1Story,6,7,1960,1975,Flat,CompShg,BrkFace,Plywood,None,0,TA,TA,CBlock,Gd,TA,Gd,BLQ,429,ALQ,1080,93,1602,GasA,Gd,Y,SBrkr,1252,0,0,1252,1,0,1,0,1,1,TA,4,Typ,1,Gd,Attchd,1960,RFn,2,564,TA,TA,Y,409,0,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal,235000 +155,30,RM,84,11340,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1Story,6,5,1923,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,1200,1200,GasA,TA,Y,FuseA,1200,0,0,1200,0,0,1,0,4,1,TA,7,Typ,0,NA,Detchd,1923,Unf,1,312,Fa,Fa,Y,0,0,228,0,0,0,NA,NA,NA,0,3,2006,WD,Family,125000 +156,50,RL,60,9600,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Artery,Norm,1Fam,1.5Fin,6,5,1924,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,572,572,Grav,Fa,N,FuseF,572,524,0,1096,0,0,1,0,2,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,8,128,0,0,0,NA,NA,NA,0,4,2008,WD,Normal,79000 +157,20,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1950,1950,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,FuseF,1040,0,0,1040,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1950,Unf,2,625,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,109500 +158,60,RL,92,12003,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,2Story,8,5,2009,2010,Gable,CompShg,VinylSd,VinylSd,BrkFace,84,Gd,TA,PConc,Ex,TA,No,Unf,0,Unf,0,774,774,GasA,Ex,Y,SBrkr,774,1194,0,1968,0,0,2,1,4,1,Ex,8,Typ,1,Gd,BuiltIn,2009,Fin,3,680,TA,TA,Y,0,75,0,0,0,0,NA,NA,NA,0,5,2010,New,Partial,269500 +159,60,FV,100,12552,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,222,Unf,0,769,991,GasA,Ex,Y,SBrkr,991,956,0,1947,0,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2004,RFn,2,678,TA,TA,Y,0,136,0,0,0,0,NA,GdWo,NA,0,5,2010,WD,Normal,254900 +160,60,RL,134,19378,Pave,NA,IR1,HLS,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,456,Gd,TA,PConc,Gd,TA,Mn,GLQ,57,Unf,0,1335,1392,GasA,Ex,Y,SBrkr,1392,1070,0,2462,1,0,2,1,4,1,Gd,9,Typ,1,Gd,Attchd,2006,RFn,2,576,TA,TA,Y,239,132,0,168,0,0,NA,NA,NA,0,3,2006,New,Partial,320000 +161,20,RL,NA,11120,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Veenker,Norm,Norm,1Fam,1Story,6,6,1984,1984,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,PConc,Gd,TA,No,BLQ,660,Unf,0,572,1232,GasA,TA,Y,SBrkr,1232,0,0,1232,0,0,2,0,3,1,TA,6,Typ,0,NA,Attchd,1984,Unf,2,516,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,162500 +162,60,RL,110,13688,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,664,Gd,TA,PConc,Ex,TA,Av,GLQ,1016,Unf,0,556,1572,GasA,Ex,Y,SBrkr,1572,1096,0,2668,1,0,2,1,3,1,Ex,10,Typ,2,Gd,BuiltIn,2003,Fin,3,726,TA,TA,Y,400,0,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal,412500 +163,20,RL,95,12182,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,1Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,226,Gd,TA,PConc,Gd,TA,Mn,BLQ,1201,Unf,0,340,1541,GasA,Ex,Y,SBrkr,1541,0,0,1541,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2005,RFn,2,532,TA,TA,Y,0,70,0,0,0,0,NA,NA,NA,0,5,2010,New,Partial,220000 +164,45,RL,55,5500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Unf,4,6,1956,1956,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,882,882,GasA,Ex,Y,SBrkr,882,0,0,882,0,0,1,0,1,1,TA,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,4,2007,WD,Normal,103200 +165,40,RM,40,5400,Pave,Pave,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1Story,6,7,1926,2004,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,BrkTil,TA,TA,Mn,LwQ,370,Unf,0,779,1149,GasA,Gd,Y,FuseA,1149,467,0,1616,0,0,2,0,3,1,Gd,5,Typ,0,NA,Detchd,1926,Unf,1,216,TA,TA,Y,0,0,183,0,0,0,NA,NA,NA,0,10,2007,WD,Normal,152000 +166,190,RL,62,10106,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,2fmCon,1.5Fin,5,7,1940,1999,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,BrkTil,TA,TA,No,ALQ,351,Rec,181,112,644,GasA,Gd,Y,SBrkr,808,547,0,1355,1,0,2,0,4,2,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,140,0,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal,127500 +167,20,RL,NA,10708,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,ClearCr,Norm,Norm,1Fam,1Story,5,5,1955,1993,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,TA,CBlock,TA,TA,No,LwQ,379,BLQ,768,470,1617,GasA,Ex,Y,FuseA,1867,0,0,1867,1,0,1,0,2,1,TA,7,Typ,3,Gd,Attchd,1955,Fin,1,303,TA,TA,Y,476,0,0,0,142,0,NA,GdWo,NA,0,11,2009,COD,Normal,190000 +168,60,RL,86,10562,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,300,Gd,TA,PConc,Ex,TA,No,GLQ,1288,Unf,0,294,1582,GasA,Ex,Y,SBrkr,1610,551,0,2161,1,0,1,1,3,1,Ex,8,Typ,1,Gd,Attchd,2007,Fin,3,789,TA,TA,Y,178,120,0,0,0,0,NA,NA,NA,0,11,2007,New,Partial,325624 +169,60,RL,62,8244,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,840,840,GasA,Ex,Y,SBrkr,840,880,0,1720,0,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2004,Fin,2,440,TA,TA,Y,100,48,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,183500 +170,20,RL,NA,16669,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,1Story,8,6,1981,1981,Hip,WdShake,Plywood,Plywood,BrkFace,653,Gd,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,1686,1686,GasA,TA,Y,SBrkr,1707,0,0,1707,0,0,2,1,2,1,TA,6,Typ,1,TA,Attchd,1981,RFn,2,511,TA,TA,Y,574,64,0,0,0,0,NA,NA,NA,0,1,2006,WD,Normal,228000 +171,50,RM,NA,12358,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,OldTown,Feedr,Norm,1Fam,1.5Fin,5,6,1941,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,360,Unf,0,360,720,GasA,TA,Y,SBrkr,854,0,528,1382,0,0,1,1,2,1,TA,7,Typ,0,NA,Detchd,1991,Unf,2,660,TA,TA,Y,237,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,128500 +172,20,RL,141,31770,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1960,1960,Hip,CompShg,BrkFace,Plywood,Stone,112,TA,TA,CBlock,TA,Gd,Gd,BLQ,639,Unf,0,441,1080,GasA,Fa,Y,SBrkr,1656,0,0,1656,1,0,1,0,3,1,TA,7,Typ,2,Gd,Attchd,1960,Fin,2,528,TA,TA,P,210,62,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,215000 +173,160,RL,44,5306,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,StoneBr,Norm,Norm,TwnhsE,2Story,7,7,1987,1987,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,Gd,PConc,Gd,Gd,No,GLQ,495,Rec,215,354,1064,GasA,Gd,Y,SBrkr,1064,703,0,1767,1,0,2,0,2,1,Gd,5,Typ,1,TA,Attchd,1987,RFn,2,504,Gd,TA,Y,441,35,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,239000 +174,20,RL,80,10197,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1961,1961,Gable,CompShg,WdShing,Wd Shng,BrkCmn,491,TA,TA,CBlock,TA,TA,No,ALQ,288,Rec,374,700,1362,GasA,TA,Y,SBrkr,1362,0,0,1362,1,0,1,1,3,1,TA,6,Typ,1,TA,Attchd,1961,Unf,2,504,TA,TA,Y,0,20,0,0,0,0,NA,NA,NA,0,6,2008,COD,Normal,163000 +175,20,RL,47,12416,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,6,5,1986,1986,Gable,CompShg,VinylSd,Plywood,Stone,132,TA,TA,CBlock,Gd,Fa,No,ALQ,1398,LwQ,208,0,1606,GasA,TA,Y,SBrkr,1651,0,0,1651,1,0,2,0,3,1,TA,7,Min2,1,TA,Attchd,1986,Fin,2,616,TA,TA,Y,192,0,0,0,0,0,NA,NA,NA,0,11,2008,WD,Normal,184000 +176,20,RL,84,12615,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,1Story,6,7,1950,2001,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,Gd,Av,ALQ,477,Unf,0,725,1202,GasA,TA,Y,SBrkr,2158,0,0,2158,1,0,2,0,4,1,Gd,7,Typ,1,Gd,Attchd,1950,Unf,2,576,TA,TA,Y,0,29,39,0,0,0,NA,MnPrv,NA,0,6,2007,WD,Normal,243000 +177,60,RL,97,10029,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,ClearCr,Norm,Norm,1Fam,2Story,6,5,1988,1989,Gable,CompShg,Plywood,Plywood,BrkFace,268,Gd,TA,PConc,Gd,TA,No,GLQ,831,Unf,0,320,1151,GasA,TA,Y,SBrkr,1164,896,0,2060,0,1,2,1,4,1,TA,8,Typ,1,TA,Attchd,1988,Unf,2,521,TA,TA,Y,0,228,0,0,192,0,NA,NA,NA,0,9,2007,WD,Normal,211000 +178,50,RL,NA,13650,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1.5Fin,5,5,1958,1958,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,Gd,CBlock,TA,TA,No,ALQ,57,BLQ,441,554,1052,GasA,Ex,Y,SBrkr,1252,668,0,1920,1,0,2,0,4,1,Gd,8,Typ,1,Gd,Attchd,1958,Unf,2,451,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,172500 +179,20,RL,63,17423,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,StoneBr,Norm,Norm,1Fam,1Story,9,5,2008,2009,Hip,CompShg,VinylSd,VinylSd,Stone,748,Ex,TA,PConc,Ex,TA,No,GLQ,1904,Unf,0,312,2216,GasA,Ex,Y,SBrkr,2234,0,0,2234,1,0,2,0,1,1,Ex,9,Typ,1,Gd,Attchd,2009,Fin,3,1166,TA,TA,Y,0,60,0,0,0,0,NA,NA,NA,0,7,2009,New,Partial,501837 +180,30,RM,60,8520,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,6,1923,2006,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,TA,CBlock,TA,TA,No,Unf,0,Unf,0,968,968,GasA,TA,Y,SBrkr,968,0,0,968,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1935,Unf,2,480,Fa,TA,N,0,0,184,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,100000 +181,160,FV,NA,2117,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,2Story,6,5,2000,2000,Gable,CompShg,MetalSd,MetalSd,BrkFace,456,Gd,TA,PConc,Gd,TA,No,GLQ,436,Unf,0,320,756,GasA,Ex,Y,SBrkr,769,756,0,1525,0,0,2,1,3,1,Gd,5,Typ,1,TA,Detchd,2000,Unf,2,440,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,177000 +182,70,RL,54,7588,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,7,6,1920,1950,Gable,CompShg,Stucco,Stucco,None,0,TA,TA,BrkTil,Fa,TA,No,LwQ,352,Unf,0,441,793,GasA,Gd,Y,SBrkr,901,901,0,1802,0,0,1,1,4,1,TA,9,Typ,1,Gd,Detchd,1920,Unf,1,216,Fa,TA,Y,0,0,40,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,200100 +183,20,RL,60,9060,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Artery,Norm,1Fam,1Story,5,6,1957,2006,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,98,TA,TA,PConc,NA,NA,NA,NA,0,NA,0,0,0,GasA,Ex,Y,SBrkr,1340,0,0,1340,0,0,1,0,3,1,TA,7,Typ,1,Gd,Attchd,1957,RFn,1,252,TA,TA,Y,116,0,0,180,0,0,NA,MnPrv,NA,0,6,2007,WD,Normal,120000 +184,50,RM,63,11426,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1362,1362,GasA,Ex,Y,SBrkr,1362,720,0,2082,0,0,2,1,3,1,Gd,6,Mod,0,NA,Detchd,2003,Unf,2,484,TA,TA,N,280,238,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,200000 +185,50,RL,92,7438,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,BrkSide,RRAn,Feedr,1Fam,1.5Fin,5,8,1908,1991,Gable,CompShg,AsbShng,Plywood,None,0,TA,TA,PConc,Fa,TA,No,Unf,0,Unf,0,504,504,GasA,Gd,Y,SBrkr,936,316,0,1252,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1986,Unf,2,576,TA,TA,Y,104,0,0,0,0,0,NA,MnPrv,NA,0,6,2006,WD,Normal,127000 +186,75,RM,90,22950,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,2.5Fin,10,9,1892,1993,Gable,WdShngl,Wd Sdng,Wd Sdng,None,0,Gd,Gd,BrkTil,TA,TA,Mn,Unf,0,Unf,0,1107,1107,GasA,Ex,Y,SBrkr,1518,1518,572,3608,0,0,2,1,4,1,Ex,12,Typ,2,TA,Detchd,1993,Unf,3,840,Ex,TA,Y,0,260,0,0,410,0,NA,GdPrv,NA,0,6,2006,WD,Normal,475000 +187,80,RL,NA,9947,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Mitchel,Norm,Norm,1Fam,SLvl,7,5,1990,1991,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,Av,GLQ,611,Unf,0,577,1188,GasA,Ex,Y,SBrkr,1217,0,0,1217,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1990,Unf,2,497,TA,TA,Y,168,27,0,0,0,0,NA,GdPrv,NA,0,6,2009,WD,Normal,173000 +188,50,RL,60,10410,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,7,1916,1987,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Fa,TA,No,Unf,0,Unf,0,660,660,GasA,Ex,Y,SBrkr,808,704,144,1656,0,0,2,1,3,1,TA,8,Min2,0,NA,Detchd,1916,Unf,1,180,Fa,Fa,N,0,0,0,140,0,0,NA,MnPrv,NA,0,8,2009,WD,Normal,135000 +189,90,RL,64,7018,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,SawyerW,Feedr,Norm,Duplex,SFoyer,5,5,1979,1979,Gable,CompShg,Plywood,Plywood,Stone,275,TA,TA,CBlock,Gd,TA,Av,GLQ,1086,Unf,0,0,1086,GasA,TA,Y,SBrkr,1224,0,0,1224,2,0,0,2,2,2,TA,6,Typ,2,TA,Detchd,1979,Unf,2,528,TA,TA,Y,120,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Alloca,153337 +190,120,RL,41,4923,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,2001,2002,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Ex,TA,Av,GLQ,1153,Unf,0,440,1593,GasA,Ex,Y,SBrkr,1593,0,0,1593,1,0,1,1,0,1,Ex,5,Typ,1,Gd,Attchd,2001,Fin,2,682,TA,TA,Y,0,120,0,0,224,0,NA,NA,NA,0,8,2008,WD,Normal,286000 +191,70,RL,70,10570,Pave,NA,Reg,Bnk,AllPub,Inside,Mod,Crawfor,Norm,Norm,1Fam,2Story,8,8,1932,1994,Hip,CompShg,BrkFace,BrkFace,None,0,Gd,TA,CBlock,Gd,Gd,No,Rec,297,Unf,0,556,853,GasA,TA,Y,SBrkr,1549,1178,0,2727,0,0,2,1,3,1,Gd,10,Maj1,2,TA,Detchd,1932,Unf,2,440,TA,TA,Y,0,74,0,0,0,0,NA,NA,NA,0,12,2007,WD,Normal,315000 +192,60,RL,NA,7472,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NAmes,Norm,Norm,1Fam,2Story,7,9,1972,2004,Gable,CompShg,HdBoard,HdBoard,BrkFace,138,TA,TA,CBlock,TA,TA,No,ALQ,626,Unf,0,99,725,GasA,Gd,Y,SBrkr,725,754,0,1479,1,0,1,1,4,1,Gd,7,Typ,0,NA,Attchd,1972,Fin,2,484,TA,TA,Y,0,32,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,184000 +193,20,RL,68,9017,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,560,Unf,0,871,1431,GasA,Ex,Y,SBrkr,1431,0,0,1431,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1999,Fin,2,666,TA,TA,Y,0,35,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal,192000 +194,160,RM,24,2522,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,Twnhs,2Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,Stone,50,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,970,970,GasA,Ex,Y,SBrkr,970,739,0,1709,0,0,2,0,3,1,Gd,7,Maj1,0,NA,Detchd,2004,Unf,2,380,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,130000 +195,20,RL,60,7180,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,7,1972,1972,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,Av,ALQ,390,Unf,0,474,864,GasA,TA,Y,SBrkr,864,0,0,864,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1989,Unf,1,352,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,127000 +196,160,RL,24,2280,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NPkVill,Norm,Norm,Twnhs,2Story,6,6,1976,1976,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,566,Unf,0,289,855,GasA,TA,Y,SBrkr,855,601,0,1456,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1976,Unf,2,440,TA,TA,Y,87,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,148500 +197,20,RL,79,9416,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2007,2007,Hip,CompShg,CemntBd,CmentBd,Stone,205,Ex,TA,PConc,Ex,TA,No,GLQ,1126,Unf,0,600,1726,GasA,Ex,Y,SBrkr,1726,0,0,1726,1,0,2,0,3,1,Ex,8,Typ,1,Gd,Attchd,2007,Fin,3,786,TA,TA,Y,171,138,0,0,266,0,NA,NA,NA,0,9,2007,New,Partial,311872 +198,75,RL,174,25419,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Artery,Norm,1Fam,2Story,8,4,1918,1990,Gable,CompShg,Stucco,Stucco,None,0,Gd,Gd,PConc,TA,TA,No,GLQ,1036,LwQ,184,140,1360,GasA,Gd,Y,SBrkr,1360,1360,392,3112,1,1,2,0,4,1,Gd,8,Typ,1,Ex,Detchd,1918,Unf,2,795,TA,TA,Y,0,16,552,0,0,512,Ex,GdPrv,NA,0,3,2006,WD,Abnorml,235000 +199,75,RM,92,5520,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,2.5Fin,6,6,1912,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,755,755,GasA,Ex,Y,SBrkr,929,929,371,2229,0,0,1,0,5,1,TA,8,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,198,30,0,0,0,NA,MnPrv,NA,0,7,2009,WD,Abnorml,104000 +200,20,RL,76,9591,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2004,2005,Hip,CompShg,VinylSd,VinylSd,BrkFace,262,Gd,TA,PConc,Ex,TA,Av,GLQ,1088,Unf,0,625,1713,GasA,Ex,Y,SBrkr,1713,0,0,1713,1,0,2,0,3,1,Ex,7,Typ,1,Gd,Attchd,2004,Fin,3,856,TA,TA,Y,0,26,0,0,170,0,NA,NA,NA,0,1,2009,WD,Normal,274900 +201,20,RM,80,8546,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1121,1121,GasA,Ex,Y,SBrkr,1121,0,0,1121,0,0,2,0,2,1,TA,5,Typ,0,NA,Attchd,2003,RFn,2,440,TA,TA,Y,132,64,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal,140000 +202,20,RL,75,10125,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,6,6,1977,1977,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,641,LwQ,279,276,1196,GasA,TA,Y,SBrkr,1279,0,0,1279,0,1,2,0,3,1,TA,6,Typ,2,Fa,Detchd,1980,Unf,2,473,TA,TA,Y,238,83,0,0,0,0,NA,MnPrv,NA,0,2,2008,WD,Normal,171500 +203,50,RL,50,7000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Artery,Norm,1Fam,1.5Fin,6,6,1924,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,BrkTil,Fa,TA,No,LwQ,617,Unf,0,0,617,GasA,Gd,Y,SBrkr,865,445,0,1310,0,0,2,0,2,1,TA,6,Min1,0,NA,Attchd,1924,Unf,1,398,TA,TA,Y,0,0,126,0,0,0,NA,NA,NA,0,5,2006,COD,Normal,112000 +204,120,RM,NA,4438,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,TwnhsE,1Story,6,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,205,Gd,TA,PConc,Gd,TA,Av,GLQ,662,Unf,0,186,848,GasA,Ex,Y,SBrkr,848,0,0,848,1,0,1,0,1,1,Gd,3,Typ,1,Gd,Attchd,2004,RFn,2,420,TA,TA,Y,149,0,0,0,0,0,NA,NA,NA,0,1,2008,WD,Normal,149000 +205,50,RM,50,3500,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,7,1947,1950,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,CBlock,TA,TA,No,LwQ,312,Unf,0,408,720,GasA,TA,Y,SBrkr,720,564,0,1284,0,0,1,1,2,1,TA,5,Typ,0,NA,Detchd,1948,Unf,1,240,TA,TA,Y,0,35,0,0,0,0,NA,MnWw,NA,0,4,2009,WD,Normal,110000 +206,20,RL,99,11851,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,1Story,7,5,1990,1990,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1424,1424,GasA,Ex,Y,SBrkr,1442,0,0,1442,0,0,2,0,3,1,TA,5,Typ,0,NA,Attchd,1990,RFn,2,500,TA,TA,Y,0,34,0,508,0,0,NA,NA,NA,0,5,2009,WD,Normal,180500 +207,20,RL,40,13673,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,RRAe,Norm,1Fam,1Story,5,5,1962,1962,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Gd,CBlock,TA,TA,No,Unf,0,Unf,0,1140,1140,GasA,TA,Y,SBrkr,1696,0,0,1696,0,0,1,1,3,1,TA,8,Min2,1,TA,Attchd,1962,RFn,1,349,TA,TA,Y,0,30,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal,143900 +208,20,RL,NA,12493,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,5,1960,1960,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,ALQ,419,Rec,306,375,1100,GasA,TA,Y,SBrkr,1100,0,0,1100,1,0,1,0,3,1,TA,6,Typ,1,Po,Attchd,1960,RFn,1,312,TA,TA,Y,355,0,0,0,0,0,NA,GdWo,NA,0,4,2008,WD,Normal,141000 +209,60,RL,NA,14364,Pave,NA,IR1,Low,AllPub,Inside,Mod,SawyerW,Norm,Norm,1Fam,2Story,7,5,1988,1989,Gable,CompShg,Plywood,Plywood,BrkFace,128,Gd,TA,CBlock,Gd,TA,Gd,GLQ,1065,Unf,0,92,1157,GasA,Ex,Y,SBrkr,1180,882,0,2062,1,0,2,1,3,1,TA,7,Typ,1,Gd,Attchd,1988,Fin,2,454,TA,TA,Y,60,55,0,0,154,0,NA,NA,NA,0,4,2007,WD,Normal,277000 +210,20,RL,75,8250,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,7,1964,1964,Hip,CompShg,HdBoard,HdBoard,Stone,260,TA,TA,CBlock,Gd,TA,No,Rec,787,Unf,0,305,1092,GasA,Ex,Y,SBrkr,1092,0,0,1092,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1964,RFn,2,504,TA,Gd,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,7,2008,WD,Normal,145000 +211,30,RL,67,5604,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,6,1925,1950,Gable,CompShg,Stucco,Stucco,None,0,TA,TA,CBlock,TA,TA,No,Rec,468,Unf,0,396,864,GasA,TA,N,FuseA,864,0,0,864,1,0,1,0,2,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,96,0,0,0,NA,NA,NA,0,4,2008,WD,Normal,98000 +212,20,RL,83,10420,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,1Story,6,5,2009,2009,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Mn,GLQ,36,Unf,0,1176,1212,GasA,Ex,Y,SBrkr,1212,0,0,1212,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2009,RFn,2,460,TA,TA,Y,100,22,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal,186000 +213,60,FV,72,8640,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2009,2009,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,GLQ,822,Unf,0,78,900,GasA,Ex,Y,SBrkr,932,920,0,1852,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,2009,RFn,2,644,TA,TA,Y,168,108,0,0,0,0,NA,NA,NA,0,7,2009,New,Partial,252678 +214,20,RL,43,13568,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,5,1995,1995,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,ALQ,716,Unf,0,274,990,GasA,Ex,Y,SBrkr,990,0,0,990,0,1,1,0,3,1,TA,5,Typ,0,NA,Attchd,1996,Unf,2,576,TA,TA,Y,224,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,156000 +215,60,RL,NA,10900,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,CollgCr,Norm,Norm,1Fam,2Story,6,7,1977,1977,Gable,CompShg,HdBoard,HdBoard,BrkFace,153,TA,TA,CBlock,Gd,TA,No,GLQ,378,Unf,0,311,689,GasA,Ex,Y,SBrkr,689,703,0,1392,0,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1977,Fin,1,299,TA,TA,Y,0,36,0,0,0,0,NA,MnPrv,Shed,450,3,2010,WD,Normal,161750 +216,20,RL,72,10011,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1957,1996,Gable,CompShg,HdBoard,HdBoard,BrkFace,64,TA,TA,CBlock,TA,TA,No,BLQ,360,Unf,0,710,1070,GasA,TA,Y,SBrkr,1236,0,0,1236,0,1,1,0,2,1,Gd,6,Min1,1,Fa,Attchd,1957,Unf,1,447,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,5,2006,WD,Normal,134450 +217,20,RL,65,8450,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,266,Gd,TA,PConc,Gd,TA,Mn,GLQ,946,Unf,0,490,1436,GasA,Ex,Y,SBrkr,1436,0,0,1436,1,0,2,0,3,1,Gd,8,Typ,0,NA,Attchd,2004,Unf,2,484,TA,TA,Y,139,98,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal,210000 +218,70,RM,57,9906,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,4,4,1925,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,686,686,GasA,Fa,N,SBrkr,810,518,0,1328,0,0,1,0,3,1,TA,8,Typ,0,NA,Detchd,1940,Unf,1,210,TA,TA,Y,0,172,60,0,0,0,NA,NA,NA,0,9,2006,WD,Family,107000 +219,50,RL,NA,15660,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Crawfor,Norm,Norm,1Fam,1.5Fin,7,9,1939,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,312,Gd,Gd,CBlock,TA,TA,No,BLQ,341,Unf,0,457,798,GasA,Ex,Y,SBrkr,1137,817,0,1954,0,1,1,1,3,1,Gd,8,Typ,2,TA,Attchd,1939,Unf,2,431,TA,TA,Y,0,119,150,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,311500 +220,120,RL,43,3010,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,16,Gd,TA,PConc,Gd,TA,Av,GLQ,16,Unf,0,1232,1248,GasA,Ex,Y,SBrkr,1248,0,0,1248,0,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,2005,Fin,2,438,TA,TA,Y,108,0,0,0,0,0,NA,NA,NA,0,3,2006,New,Partial,167240 +221,20,RL,73,8990,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,1498,1498,GasA,Ex,Y,SBrkr,1498,0,0,1498,0,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,2006,RFn,2,675,TA,TA,Y,351,33,0,0,0,0,NA,NA,NA,0,4,2006,New,Partial,204900 +222,60,RL,NA,8068,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1010,1010,GasA,Ex,Y,SBrkr,1010,1257,0,2267,0,0,2,1,4,1,Gd,8,Typ,1,TA,BuiltIn,2002,RFn,2,390,TA,TA,Y,120,46,0,0,0,0,NA,NA,NA,0,12,2009,ConLI,Normal,200000 +223,60,RL,85,11475,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,RRAn,Norm,1Fam,2Story,6,6,1975,1975,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,550,Unf,0,163,713,GasA,TA,Y,SBrkr,811,741,0,1552,1,0,2,1,3,1,TA,6,Typ,1,TA,Attchd,1975,RFn,2,434,TA,TA,Y,209,208,0,0,0,0,NA,MnPrv,NA,0,2,2006,WD,Normal,179900 +224,20,RL,70,10500,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,6,1971,1971,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,ALQ,524,LwQ,180,160,864,GasA,Gd,Y,SBrkr,864,0,0,864,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1989,Unf,2,576,TA,TA,Y,216,0,0,0,0,0,NA,NA,NA,0,3,2009,WD,Abnorml,97000 +225,20,RL,103,13472,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,10,5,2003,2003,Hip,CompShg,VinylSd,VinylSd,BrkFace,922,Ex,TA,PConc,Ex,TA,Gd,GLQ,56,Unf,0,2336,2392,GasA,Ex,Y,SBrkr,2392,0,0,2392,0,0,2,0,3,1,Ex,8,Typ,1,Ex,Attchd,2003,Fin,3,968,TA,TA,Y,248,105,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,386250 +226,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,5,5,1971,1971,Gable,CompShg,HdBoard,HdBoard,BrkFace,142,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,630,630,GasA,TA,Y,SBrkr,630,672,0,1302,0,0,2,1,3,1,TA,6,Typ,0,NA,Detchd,1991,Unf,1,280,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2009,COD,Abnorml,112000 +227,60,RL,82,9950,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,7,5,1995,1995,Gable,CompShg,VinylSd,VinylSd,BrkFace,290,Gd,TA,PConc,Gd,TA,No,GLQ,565,Unf,0,638,1203,GasA,Ex,Y,SBrkr,1214,1306,0,2520,0,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1995,RFn,3,721,TA,TA,Y,224,114,0,0,0,0,NA,NA,NA,0,6,2007,WD,Abnorml,290000 +228,160,RM,21,1869,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,6,1970,1970,Gable,CompShg,HdBoard,HdBoard,BrkFace,127,TA,TA,CBlock,TA,TA,No,Rec,321,Unf,0,162,483,GasA,TA,Y,SBrkr,483,504,0,987,0,0,1,1,2,1,TA,5,Typ,0,NA,Detchd,1987,Unf,1,280,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal,106000 +229,20,RL,70,8521,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,5,5,1967,1967,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,ALQ,842,Unf,0,70,912,GasA,TA,Y,SBrkr,912,0,0,912,0,0,1,0,3,1,TA,5,Typ,1,Fa,Detchd,1974,Unf,1,336,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,5,2010,WD,Normal,125000 +230,120,RL,43,3182,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,16,Gd,TA,PConc,Gd,TA,Av,GLQ,16,Unf,0,1357,1373,GasA,Ex,Y,SBrkr,1555,0,0,1555,0,0,2,0,2,1,Gd,7,Typ,1,TA,Attchd,2005,Fin,2,430,TA,TA,Y,143,20,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,192500 +231,20,RL,73,8760,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1959,1959,Hip,CompShg,MetalSd,MetalSd,BrkFace,220,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1194,1194,GasA,TA,Y,SBrkr,1194,0,0,1194,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1959,RFn,1,312,TA,TA,Y,0,0,120,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,148000 +232,60,RL,174,15138,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1995,1996,Gable,CompShg,VinylSd,VinylSd,BrkFace,506,Gd,TA,PConc,Gd,TA,No,GLQ,689,Unf,0,773,1462,GasA,Ex,Y,SBrkr,1490,1304,0,2794,1,0,2,1,4,1,Ex,9,Typ,1,TA,Attchd,1995,Fin,3,810,TA,TA,Y,0,146,202,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,403000 +233,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,5,1972,1972,Gable,CompShg,HdBoard,HdBoard,BrkFace,297,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,483,483,GasA,TA,Y,SBrkr,483,504,0,987,0,0,1,1,2,1,TA,5,Typ,1,Po,Attchd,1972,Unf,1,288,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,94500 +234,20,RL,75,10650,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,6,1976,1976,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,Gd,Av,LwQ,182,ALQ,712,0,894,GasA,TA,Y,SBrkr,894,0,0,894,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1976,Unf,1,308,TA,TA,Y,365,0,0,0,0,0,NA,MnPrv,NA,0,2,2010,WD,Normal,128200 +235,60,RL,NA,7851,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,NA,NA,Gd,TA,PConc,Gd,TA,No,GLQ,625,Unf,0,235,860,GasA,Ex,Y,SBrkr,860,1100,0,1960,1,0,2,1,4,1,Gd,8,Typ,2,TA,BuiltIn,2002,Fin,2,440,TA,TA,Y,288,48,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,216500 +236,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,TwnhsE,2Story,6,3,1971,1971,Gable,CompShg,HdBoard,HdBoard,BrkFace,604,TA,TA,CBlock,TA,TA,No,ALQ,358,Unf,0,125,483,GasA,TA,Y,SBrkr,483,504,0,987,0,0,1,1,2,1,TA,5,Typ,0,NA,Detchd,1971,Unf,1,264,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal,89500 +237,20,RL,65,8773,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,98,Gd,TA,PConc,Gd,TA,Av,GLQ,24,Unf,0,1390,1414,GasA,Ex,Y,SBrkr,1414,0,0,1414,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2004,RFn,2,494,TA,TA,Y,132,105,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,185500 +238,60,RL,NA,9453,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,SawyerW,RRNe,Norm,1Fam,2Story,7,7,1993,2003,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,No,BLQ,402,Unf,0,594,996,GasA,Ex,Y,SBrkr,1014,730,0,1744,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,1993,RFn,2,457,TA,TA,Y,370,70,0,238,0,0,NA,NA,NA,0,2,2010,WD,Normal,194500 +239,20,RL,93,12030,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2007,2007,Hip,CompShg,VinylSd,VinylSd,BrkFace,254,Ex,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1694,1694,GasA,Ex,Y,SBrkr,1694,0,0,1694,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2007,Fin,3,818,TA,TA,Y,168,228,0,0,0,0,NA,NA,NA,0,12,2007,New,Partial,318000 +240,50,RL,52,8741,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,6,4,1945,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,Fa,No,LwQ,94,Unf,0,641,735,GasA,TA,Y,FuseA,798,689,0,1487,0,0,1,1,3,1,TA,7,Typ,1,Gd,Detchd,1949,Unf,1,220,TA,TA,Y,0,140,0,0,0,0,NA,MnPrv,NA,0,4,2010,WD,Normal,113000 +241,20,FV,75,9000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,Stone,36,Gd,TA,PConc,Gd,TA,Av,GLQ,1078,Unf,0,488,1566,GasA,Ex,Y,SBrkr,1566,0,0,1566,1,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2008,RFn,2,750,TA,TA,Y,144,168,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,262500 +242,30,RM,40,3880,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,9,1945,1997,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,329,Unf,0,357,686,GasA,Gd,Y,SBrkr,866,0,0,866,0,0,1,0,2,1,Gd,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,58,42,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,110500 +243,50,RM,63,5000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,4,1900,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,540,540,GasA,Gd,N,FuseA,889,551,0,1440,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1940,Unf,1,352,Fa,TA,Y,0,0,77,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,79000 +244,160,RL,75,10762,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,TwnhsE,2Story,6,6,1980,1980,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,626,626,GasA,TA,Y,SBrkr,626,591,0,1217,0,0,1,1,3,1,TA,6,Typ,1,TA,Attchd,1980,RFn,1,288,TA,TA,Y,0,28,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal,120000 +245,60,RL,NA,8880,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,1994,2002,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,695,Unf,0,253,948,GasA,Ex,Y,SBrkr,1222,888,0,2110,1,0,2,1,3,1,Gd,8,Typ,2,Fa,Attchd,1994,RFn,2,463,TA,TA,Y,0,130,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,205000 +246,20,RL,80,10400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,7,5,1988,1988,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,102,TA,TA,CBlock,Gd,TA,Av,GLQ,929,Unf,0,916,1845,GasA,Gd,Y,SBrkr,1872,0,0,1872,0,1,2,0,3,1,TA,6,Typ,1,TA,Attchd,1988,Fin,2,604,TA,TA,Y,197,39,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,241500 +247,190,RM,69,9142,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,2fmCon,2Story,6,8,1910,1950,Gable,CompShg,AsbShng,AsbShng,None,0,TA,Fa,Stone,Fa,TA,No,Unf,0,Unf,0,1020,1020,GasA,Gd,N,FuseP,908,1020,0,1928,0,0,2,0,4,2,Fa,9,Typ,0,NA,Detchd,1910,Unf,1,440,Po,Po,Y,0,60,112,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,137000 +248,20,RL,75,11310,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1954,1954,Hip,CompShg,Wd Sdng,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1367,1367,GasA,Ex,Y,SBrkr,1375,0,0,1375,0,0,1,0,2,1,TA,5,Typ,1,TA,Attchd,1954,Unf,2,451,TA,TA,Y,0,30,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,140000 +249,60,RL,72,11317,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,101,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,840,840,GasA,Ex,Y,SBrkr,840,828,0,1668,0,0,2,1,3,1,Gd,8,Typ,0,NA,Attchd,2003,RFn,2,500,TA,TA,Y,144,68,0,0,0,0,NA,NA,NA,0,9,2007,WD,Normal,180000 +250,50,RL,NA,159000,Pave,NA,IR2,Low,AllPub,CulDSac,Sev,ClearCr,Norm,Norm,1Fam,1.5Fin,6,7,1958,2006,Gable,CompShg,Wd Sdng,HdBoard,BrkCmn,472,Gd,TA,CBlock,Gd,TA,Gd,Rec,697,Unf,0,747,1444,GasA,Gd,Y,SBrkr,1444,700,0,2144,0,1,2,0,4,1,Gd,7,Typ,2,TA,Attchd,1958,Fin,2,389,TA,TA,Y,0,98,0,0,0,0,NA,NA,Shed,500,6,2007,WD,Normal,277000 +251,30,RL,55,5350,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,3,2,1940,1966,Gable,CompShg,Wd Sdng,Plywood,None,0,TA,Po,CBlock,TA,TA,No,Unf,0,Unf,0,728,728,GasA,Ex,Y,SBrkr,1306,0,0,1306,0,0,1,0,3,1,Fa,6,Mod,0,NA,NA,NA,NA,0,0,NA,NA,Y,263,0,0,0,0,0,NA,GdWo,Shed,450,5,2010,WD,Normal,76500 +252,120,RM,44,4750,Pave,NA,IR1,HLS,AllPub,Inside,Mod,Crawfor,Norm,Norm,TwnhsE,1Story,8,5,2006,2007,Hip,CompShg,VinylSd,VinylSd,Stone,481,Gd,TA,PConc,Gd,TA,Gd,GLQ,1573,Unf,0,0,1573,GasA,Ex,Y,SBrkr,1625,0,0,1625,1,1,2,0,2,1,Gd,5,Typ,1,Gd,Attchd,2006,Fin,2,538,TA,TA,Y,123,0,0,0,153,0,NA,NA,NA,0,12,2007,WD,Family,235000 +253,60,RL,65,8366,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,798,798,GasA,Ex,Y,SBrkr,798,842,0,1640,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2004,RFn,2,520,TA,TA,Y,138,45,0,0,0,0,NA,NA,NA,0,12,2008,WD,Normal,173000 +254,80,RL,85,9350,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,6,7,1964,1991,Hip,CompShg,HdBoard,HdBoard,BrkFace,108,TA,TA,CBlock,Gd,TA,Gd,LwQ,270,ALQ,580,452,1302,GasA,Ex,Y,SBrkr,1302,0,0,1302,0,1,2,0,3,1,Gd,7,Min1,0,NA,Attchd,1964,RFn,1,309,TA,TA,Y,333,0,0,0,0,0,NA,MnPrv,NA,0,10,2007,CWD,Normal,158000 +255,20,RL,70,8400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1957,1957,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,Rec,922,Unf,0,392,1314,GasA,TA,Y,SBrkr,1314,0,0,1314,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1957,RFn,1,294,TA,TA,Y,250,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,145000 +256,60,RL,66,8738,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,BrkFace,302,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,975,975,GasA,Ex,Y,SBrkr,1005,1286,0,2291,0,0,2,1,4,1,Gd,8,Typ,1,TA,BuiltIn,1999,Fin,2,429,TA,TA,Y,192,0,0,0,0,0,NA,NA,NA,0,2,2006,WD,Normal,230000 +257,60,FV,64,8791,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,6,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Rec,503,Unf,0,361,864,GasA,Ex,Y,SBrkr,864,864,0,1728,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2003,RFn,2,673,TA,TA,Y,216,56,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,207500 +258,20,RL,68,8814,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,Stone,180,Gd,TA,PConc,Gd,TA,No,GLQ,1334,Unf,0,270,1604,GasA,Ex,Y,SBrkr,1604,0,0,1604,1,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2006,RFn,2,660,TA,TA,Y,123,110,0,0,0,0,NA,NA,NA,0,3,2009,WD,Abnorml,220000 +259,60,RL,80,12435,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,BrkFace,172,Gd,TA,PConc,Gd,TA,No,GLQ,361,Unf,0,602,963,GasA,Ex,Y,SBrkr,963,829,0,1792,0,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,2001,RFn,2,564,TA,TA,Y,0,96,0,245,0,0,NA,NA,NA,0,5,2008,WD,Normal,231500 +260,20,RM,70,12702,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,5,1956,1956,Gable,CompShg,BrkFace,BrkFace,None,0,TA,TA,PConc,NA,NA,NA,NA,0,NA,0,0,0,GasA,Gd,Y,FuseA,882,0,0,882,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1956,Unf,1,308,TA,TA,Y,0,45,0,0,0,0,NA,NA,NA,0,12,2008,WD,Normal,97000 +261,80,RL,120,19296,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Artery,Norm,1Fam,SLvl,6,5,1962,1962,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,399,TA,TA,CBlock,TA,TA,Gd,Rec,672,ALQ,690,0,1362,GasA,TA,Y,SBrkr,1382,0,0,1382,1,0,1,0,3,1,TA,6,Typ,1,TA,Attchd,1991,Unf,2,884,TA,TA,Y,0,0,252,0,0,0,NA,GdWo,NA,0,5,2009,WD,Normal,176000 +262,60,RL,69,9588,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,2007,2007,Gable,CompShg,CemntBd,CmentBd,Stone,270,Gd,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1482,1482,GasA,Ex,Y,SBrkr,1482,1092,0,2574,0,0,2,1,3,1,Ex,10,Typ,1,Gd,BuiltIn,2007,Fin,3,868,TA,TA,Y,0,148,0,0,0,0,NA,NA,NA,0,11,2007,New,Partial,276000 +263,80,RL,88,8471,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Sawyer,Norm,Norm,1Fam,SLvl,6,7,1977,1995,Gable,CompShg,HdBoard,Plywood,BrkFace,46,TA,TA,CBlock,Gd,Gd,Av,ALQ,506,Unf,0,0,506,GasA,TA,Y,SBrkr,1212,0,0,1212,1,0,1,0,3,1,TA,6,Typ,1,TA,Attchd,1978,Unf,2,492,TA,TA,Y,292,12,0,0,0,0,NA,GdWo,NA,0,7,2006,WD,Normal,151000 +264,50,RM,50,5500,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,7,1929,2001,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,LwQ,234,ALQ,692,0,926,GasA,TA,Y,SBrkr,926,0,390,1316,1,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1974,Unf,2,484,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,130000 +265,30,RM,30,5232,Pave,Grvl,IR3,Bnk,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1Story,5,5,1925,2004,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Fa,TA,No,Unf,0,Unf,0,680,680,GasA,Gd,N,FuseP,764,0,0,764,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1965,Unf,2,504,TA,TA,N,0,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,73000 +266,20,RL,78,12090,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,6,1981,1981,Gable,CompShg,MetalSd,MetalSd,BrkFace,210,TA,Gd,CBlock,Gd,TA,No,GLQ,588,LwQ,228,606,1422,GasA,TA,Y,SBrkr,1422,0,0,1422,0,0,2,0,3,1,Gd,7,Typ,1,TA,Attchd,1981,Fin,2,576,TA,TA,Y,276,0,0,0,0,0,NA,GdPrv,NA,0,6,2008,WD,Normal,175500 +267,60,RL,70,11207,Pave,NA,IR1,HLS,AllPub,FR2,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1997,1997,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Av,GLQ,714,Unf,0,88,802,GasA,Gd,Y,SBrkr,802,709,0,1511,1,0,2,1,3,1,TA,8,Typ,1,TA,Attchd,1997,Fin,2,413,TA,TA,Y,95,75,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,185000 +268,75,RL,60,8400,Pave,NA,Reg,Bnk,AllPub,Inside,Mod,SWISU,Norm,Norm,1Fam,2.5Fin,5,8,1939,1997,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,LwQ,378,Unf,0,342,720,GasA,Ex,Y,SBrkr,1052,720,420,2192,0,0,2,1,4,1,Gd,8,Typ,1,Gd,Detchd,1939,Unf,1,240,TA,TA,Y,262,24,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,179500 +269,30,RM,71,6900,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,5,6,1940,1955,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,403,Rec,125,212,740,GasA,Ex,Y,SBrkr,778,0,0,778,0,0,1,0,2,1,TA,4,Typ,1,Gd,Detchd,1966,Fin,1,924,Ex,Ex,Y,0,25,0,0,0,0,NA,NA,NA,0,2,2008,WD,Normal,120500 +270,20,RL,NA,7917,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,1Story,6,7,1976,1976,Hip,CompShg,HdBoard,HdBoard,BrkFace,174,TA,Gd,CBlock,TA,Gd,No,BLQ,751,Unf,0,392,1143,GasA,TA,Y,SBrkr,1113,0,0,1113,1,0,1,1,3,1,TA,6,Typ,1,Fa,Attchd,1987,RFn,1,504,TA,Gd,Y,370,30,0,0,0,0,NA,GdPrv,NA,0,5,2007,WD,Normal,148000 +271,60,FV,84,10728,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,1095,1095,GasA,Gd,Y,SBrkr,1095,844,0,1939,0,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2006,RFn,3,1053,TA,TA,Y,192,51,0,0,0,0,NA,NA,NA,0,8,2006,New,Partial,266000 +272,20,RL,73,39104,Pave,NA,IR1,Low,AllPub,CulDSac,Sev,ClearCr,Norm,Norm,1Fam,1Story,7,7,1954,2005,Flat,Membran,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,Gd,LwQ,226,GLQ,1063,96,1385,GasA,Ex,Y,SBrkr,1363,0,0,1363,1,0,1,0,2,1,TA,5,Mod,2,TA,Attchd,1954,Unf,2,439,TA,TA,Y,81,0,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal,241500 +273,60,RL,92,11764,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,7,1999,2007,Gable,CompShg,VinylSd,VinylSd,BrkFace,348,Gd,TA,PConc,Gd,TA,No,GLQ,524,Unf,0,628,1152,GasA,Ex,Y,SBrkr,1164,1106,0,2270,0,0,2,1,4,1,Gd,9,Typ,1,Gd,Attchd,1999,Fin,3,671,TA,TA,Y,132,57,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,290000 +274,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Feedr,Norm,1Fam,1Story,6,6,1958,1988,Hip,CompShg,Wd Sdng,Wd Sdng,BrkCmn,183,TA,TA,CBlock,TA,TA,No,Rec,620,LwQ,620,0,1240,GasA,Gd,Y,SBrkr,1632,0,0,1632,1,0,2,0,3,1,TA,6,Min1,1,Gd,Attchd,1958,RFn,1,338,TA,TA,Y,289,0,0,0,0,0,NA,MnPrv,NA,0,4,2009,WD,Normal,139000 +275,20,RL,76,8314,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,7,1982,1982,Gable,CompShg,HdBoard,ImStucc,None,0,TA,TA,CBlock,TA,TA,Gd,ALQ,546,Unf,0,270,816,GasA,TA,Y,SBrkr,816,0,0,816,0,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1982,Unf,1,264,TA,TA,Y,168,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,124500 +276,50,RL,55,7264,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,7,7,1925,2007,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,Gd,BrkTil,TA,TA,No,Unf,0,Unf,0,952,952,GasW,Gd,N,SBrkr,952,596,0,1548,0,0,2,1,3,1,Ex,5,Typ,0,NA,Detchd,1978,Unf,2,672,TA,TA,Y,74,0,0,0,144,0,NA,NA,NA,0,10,2009,WD,Normal,205000 +277,20,RL,129,9196,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1560,1560,GasA,Ex,Y,SBrkr,1560,0,0,1560,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2003,Fin,2,573,TA,TA,Y,100,150,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,201000 +278,20,RL,140,19138,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,1Story,4,5,1951,1951,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,LwQ,120,Unf,0,744,864,GasA,Ex,Y,SBrkr,864,0,0,864,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1951,Unf,2,400,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,141000 +279,20,RL,107,14450,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2006,2007,Gable,CompShg,CemntBd,CmentBd,BrkFace,315,Ex,TA,PConc,Ex,TA,Gd,Unf,0,Unf,0,2121,2121,GasA,Ex,Y,SBrkr,2121,0,0,2121,0,0,2,1,3,1,Ex,8,Typ,1,Ex,Attchd,2007,Fin,3,732,TA,TA,Y,124,98,0,0,142,0,NA,NA,NA,0,5,2007,New,Partial,415298 +280,60,RL,83,10005,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,ClearCr,Norm,Norm,1Fam,2Story,7,5,1977,1977,Hip,CompShg,Plywood,Plywood,BrkFace,299,TA,TA,CBlock,Gd,TA,No,BLQ,392,Unf,0,768,1160,GasA,Ex,Y,SBrkr,1156,866,0,2022,0,0,2,1,4,1,TA,8,Typ,1,TA,Attchd,1977,Fin,2,505,TA,TA,Y,288,117,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal,192000 +281,60,RL,82,11287,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,6,1989,1989,Gable,CompShg,Plywood,Plywood,BrkFace,340,Gd,TA,CBlock,Gd,TA,Av,GLQ,421,Unf,0,386,807,GasA,Gd,Y,SBrkr,1175,807,0,1982,0,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1989,Fin,2,575,TA,TA,Y,0,84,0,196,0,0,NA,NA,NA,0,1,2007,WD,Normal,228500 +282,20,FV,60,7200,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,6,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,Stone,68,Gd,TA,PConc,Gd,TA,No,GLQ,905,Unf,0,357,1262,GasA,Gd,Y,SBrkr,1262,0,0,1262,0,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,2006,Fin,2,572,TA,TA,Y,0,120,0,0,0,0,NA,NA,NA,0,5,2006,New,Partial,185000 +283,120,RL,34,5063,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,Twnhs,1Story,7,5,2007,2008,Gable,CompShg,VinylSd,VinylSd,Stone,166,Gd,TA,PConc,Gd,TA,No,GLQ,904,Unf,0,410,1314,GasA,Ex,Y,SBrkr,1314,0,0,1314,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2008,RFn,2,626,TA,TA,Y,172,62,0,0,0,0,NA,NA,NA,0,4,2009,ConLw,Normal,207500 +284,20,RL,74,9612,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Feedr,Norm,1Fam,1Story,8,5,2008,2009,Gable,CompShg,VinylSd,VinylSd,Stone,72,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1468,1468,GasA,Ex,Y,SBrkr,1468,0,0,1468,0,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2008,Fin,3,898,TA,TA,Y,210,150,0,0,0,0,NA,NA,NA,0,12,2009,New,Partial,244600 +285,120,RL,50,8012,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,TwnhsE,1Story,6,5,1992,1992,Gable,CompShg,Plywood,ImStucc,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,430,Unf,0,1145,1575,GasA,Gd,Y,SBrkr,1575,0,0,1575,1,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,1992,RFn,2,529,TA,TA,Y,0,0,52,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,179200 +286,160,FV,35,4251,Pave,Pave,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,7,5,2006,2007,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,625,625,GasA,Ex,Y,SBrkr,625,625,0,1250,0,0,2,1,2,1,Gd,5,Typ,0,NA,Detchd,2006,RFn,2,528,TA,TA,Y,0,54,0,0,0,0,NA,NA,NA,0,6,2007,New,Partial,164700 +287,50,RL,77,9786,Pave,NA,IR1,Bnk,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1.5Fin,6,7,1962,1981,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,600,Unf,0,312,912,GasA,TA,Y,SBrkr,1085,649,0,1734,0,0,1,1,3,1,Gd,7,Typ,1,Gd,Attchd,1962,RFn,2,440,TA,TA,Y,0,0,0,0,128,0,NA,GdPrv,NA,0,6,2006,WD,Normal,159000 +288,20,RL,NA,8125,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,4,1971,1971,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,BLQ,614,Unf,0,244,858,GasA,TA,Y,SBrkr,858,0,0,858,0,0,1,0,3,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,88000 +289,20,RL,NA,9819,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1967,1967,Gable,CompShg,MetalSd,MetalSd,BrkFace,31,TA,Gd,CBlock,TA,TA,No,BLQ,450,Unf,0,432,882,GasA,TA,Y,SBrkr,900,0,0,900,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1970,Unf,1,280,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,2,2010,WD,Normal,122000 +290,70,RL,60,8730,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,RRAn,Norm,1Fam,2Story,6,7,1915,2003,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,698,698,GasA,Ex,Y,FuseA,698,698,0,1396,0,0,1,0,3,1,TA,7,Typ,0,NA,Detchd,2003,Unf,1,384,TA,TA,Y,0,0,0,0,259,0,NA,NA,NA,0,7,2007,WD,Normal,153575 +291,60,RL,120,15611,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1079,1079,GasA,Ex,Y,SBrkr,1079,840,0,1919,0,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2006,RFn,2,685,Gd,TA,Y,0,51,0,0,0,0,NA,NA,NA,0,7,2006,New,Partial,233230 +292,190,RL,55,5687,Pave,Grvl,Reg,Bnk,AllPub,Inside,Gtl,SWISU,Norm,Norm,2fmCon,2Story,5,6,1912,2000,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Fa,PConc,TA,Fa,No,Rec,210,Unf,0,570,780,GasA,Ex,N,SBrkr,936,780,0,1716,1,0,2,0,6,1,Fa,9,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,184,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal,135900 +293,50,RL,60,11409,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,5,4,1949,2008,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,LwQ,292,Unf,0,476,768,GasA,Gd,Y,SBrkr,1148,568,0,1716,0,0,1,1,3,1,TA,8,Min2,1,Gd,Attchd,1949,Unf,1,281,TA,TA,Y,0,0,0,0,160,0,NA,NA,NA,0,1,2009,WD,Normal,131000 +294,60,RL,NA,16659,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NWAmes,PosA,Norm,1Fam,2Story,7,7,1977,1994,Gable,CompShg,Plywood,Plywood,BrkFace,34,TA,TA,CBlock,TA,TA,No,ALQ,795,Unf,0,0,795,GasA,Fa,Y,SBrkr,1468,795,0,2263,1,0,2,1,3,1,Gd,9,Typ,1,TA,Attchd,1977,Fin,2,539,TA,TA,Y,0,250,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal,235000 +295,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1953,1953,Hip,CompShg,HdBoard,HdBoard,Stone,238,TA,TA,CBlock,TA,TA,No,GLQ,1285,Unf,0,131,1416,GasA,TA,Y,SBrkr,1644,0,0,1644,1,0,1,0,3,1,TA,7,Typ,2,Gd,Attchd,1953,Fin,2,418,TA,TA,Y,110,0,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal,167000 +296,80,RL,37,7937,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Mitchel,Norm,Norm,1Fam,SLvl,6,6,1984,1984,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,Av,GLQ,819,Unf,0,184,1003,GasA,TA,Y,SBrkr,1003,0,0,1003,1,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1984,Unf,2,588,TA,TA,Y,120,0,0,0,0,0,NA,GdPrv,NA,0,3,2006,WD,Normal,142500 +297,50,RM,75,13710,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,5,5,1950,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,420,Unf,0,490,910,GasA,TA,Y,FuseA,910,648,0,1558,0,0,1,1,4,1,TA,6,Typ,0,NA,Attchd,1950,Unf,1,282,TA,TA,Y,289,0,0,0,0,0,NA,MnPrv,NA,0,6,2007,WD,Normal,152000 +298,60,FV,66,7399,Pave,Pave,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,1997,1998,Hip,CompShg,VinylSd,VinylSd,BrkFace,1600,Gd,TA,PConc,Gd,TA,No,BLQ,649,Unf,0,326,975,GasA,Ex,Y,SBrkr,975,975,0,1950,0,0,2,1,3,1,Gd,7,Typ,1,TA,Detchd,1997,RFn,2,576,TA,TA,Y,0,10,0,0,198,0,NA,NA,NA,0,6,2007,WD,Normal,239000 +299,60,RL,90,11700,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,6,6,1968,1968,Mansard,CompShg,HdBoard,AsphShn,BrkFace,365,Gd,TA,CBlock,TA,TA,No,ALQ,384,Rec,175,143,702,GasA,Gd,Y,SBrkr,1041,702,0,1743,0,1,1,2,3,1,TA,7,Typ,1,Gd,Attchd,1968,Unf,2,539,TA,TA,Y,224,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,175000 +300,20,RL,80,14000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,6,8,1950,2004,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Gd,CBlock,TA,TA,No,Unf,0,Unf,0,1092,1092,GasA,Ex,Y,SBrkr,1152,0,0,1152,0,1,1,0,3,1,Gd,6,Typ,1,Gd,Attchd,1950,Unf,1,300,TA,TA,Y,0,36,0,0,0,0,NA,GdPrv,NA,0,8,2009,WD,Family,158500 +301,190,RL,90,15750,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Crawfor,Norm,Norm,2fmCon,1Story,5,5,1953,1953,Hip,CompShg,MetalSd,MetalSd,BrkFace,56,TA,TA,CBlock,TA,TA,Mn,BLQ,841,Unf,0,324,1165,GasA,TA,Y,SBrkr,1336,0,0,1336,1,0,1,0,2,1,TA,5,Typ,2,Gd,Attchd,1953,Unf,1,375,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,157000 +302,60,RL,66,16226,Pave,NA,IR3,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,1998,1999,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,281,Unf,0,747,1028,GasA,Ex,Y,SBrkr,1210,1242,0,2452,0,0,2,1,4,1,Gd,9,Typ,1,TA,BuiltIn,1998,Fin,2,683,TA,TA,Y,208,50,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,267000 +303,20,RL,118,13704,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2001,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,150,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1541,1541,GasA,Ex,Y,SBrkr,1541,0,0,1541,0,0,2,0,3,1,Gd,6,Typ,1,TA,Attchd,2001,RFn,3,843,TA,TA,Y,468,81,0,0,0,0,NA,NA,NA,0,1,2006,WD,Normal,205000 +304,20,RL,70,9800,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,7,1972,1972,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,TA,TA,No,ALQ,894,Unf,0,0,894,GasA,TA,Y,SBrkr,894,0,0,894,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1975,Unf,2,552,TA,TA,Y,256,0,0,0,0,0,NA,GdWo,NA,0,7,2006,WD,Abnorml,149900 +305,75,RM,87,18386,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2.5Fin,7,9,1880,2002,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,1470,1470,GasA,Ex,Y,SBrkr,1675,1818,0,3493,0,0,3,0,3,1,Gd,10,Typ,1,Ex,Attchd,2003,Unf,3,870,TA,TA,Y,302,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,295000 +306,20,RL,80,10386,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2004,2005,Gable,CompShg,CemntBd,CmentBd,Stone,246,Gd,TA,PConc,Gd,TA,No,GLQ,1464,Unf,0,536,2000,GasA,Ex,Y,SBrkr,2000,0,0,2000,1,0,2,0,3,1,Gd,8,Typ,0,NA,Attchd,2004,Fin,3,888,TA,TA,Y,168,0,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,305900 +307,60,RL,116,13474,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Feedr,Norm,1Fam,2Story,7,5,1990,1991,Gable,CompShg,HdBoard,Plywood,BrkFace,246,Gd,TA,CBlock,Gd,TA,No,ALQ,700,Unf,0,0,700,GasA,Gd,Y,SBrkr,1122,1121,0,2243,1,0,2,1,4,1,Gd,8,Typ,1,TA,Attchd,1990,RFn,3,746,TA,TA,Y,127,44,224,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,225000 +308,50,RM,NA,7920,Pave,Grvl,IR1,Lvl,AllPub,Inside,Gtl,IDOTRR,Artery,Norm,1Fam,1.5Fin,6,7,1920,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Fa,CBlock,TA,TA,No,Unf,0,Unf,0,319,319,GasA,TA,Y,FuseA,1035,371,0,1406,0,0,1,0,3,1,Fa,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,144,0,0,0,0,NA,MnPrv,NA,0,3,2008,WD,Normal,89500 +309,30,RL,NA,12342,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,5,1940,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,262,Unf,0,599,861,GasA,Ex,Y,SBrkr,861,0,0,861,0,0,1,0,1,1,TA,4,Typ,0,NA,Detchd,1961,Unf,2,539,TA,TA,Y,158,0,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal,82500 +310,20,RL,90,12378,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,Gd,GLQ,1274,Unf,0,622,1896,GasA,Ex,Y,SBrkr,1944,0,0,1944,1,0,2,0,3,1,Ex,8,Typ,3,Ex,Attchd,2003,Fin,3,708,TA,TA,Y,208,175,0,0,0,0,NA,NA,NA,0,11,2006,WD,Normal,360000 +311,60,RL,NA,7685,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1993,1994,Gable,CompShg,HdBoard,HdBoard,BrkFace,112,TA,TA,PConc,Gd,TA,No,ALQ,518,Unf,0,179,697,GasA,Gd,Y,SBrkr,697,804,0,1501,0,0,2,1,3,1,Gd,6,Typ,1,TA,Attchd,1993,Fin,2,420,TA,TA,Y,190,63,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,165600 +312,20,RL,50,8000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1948,2002,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,680,Unf,0,292,972,GasA,Ex,Y,SBrkr,972,0,0,972,1,0,1,0,2,1,TA,5,Typ,1,Gd,Detchd,1948,Unf,1,240,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,132000 +313,190,RM,65,7800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,2fmCon,1.5Fin,5,7,1939,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,Gd,TA,Mn,Rec,507,Unf,0,286,793,GasA,TA,Y,SBrkr,793,325,0,1118,1,0,1,0,3,1,TA,5,Typ,1,Gd,Detchd,1939,Unf,2,410,TA,TA,Y,0,0,0,0,271,0,NA,MnPrv,NA,0,5,2006,WD,Normal,119900 +314,20,RL,150,215245,Pave,NA,IR3,Low,AllPub,Inside,Sev,Timber,Norm,Norm,1Fam,1Story,7,5,1965,1965,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,Gd,TA,Gd,ALQ,1236,Rec,820,80,2136,GasW,TA,Y,SBrkr,2036,0,0,2036,2,0,2,0,3,1,TA,8,Typ,2,Gd,Attchd,1965,RFn,2,513,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,375000 +315,70,RM,60,9600,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,7,7,1925,1990,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,Gd,No,LwQ,16,Unf,0,712,728,GasA,Ex,Y,SBrkr,832,809,0,1641,0,1,1,1,3,1,Ex,6,Typ,1,Gd,Detchd,1925,Unf,2,546,Fa,TA,Y,0,0,234,0,0,0,NA,NA,NA,0,8,2006,WD,Normal,178000 +316,60,RL,71,7795,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,425,Unf,0,291,716,GasA,Ex,Y,SBrkr,716,716,0,1432,1,0,2,1,3,1,Gd,6,Typ,1,Gd,Attchd,2004,Fin,2,432,TA,TA,Y,100,51,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,188500 +317,60,RL,94,13005,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NWAmes,Norm,Norm,1Fam,2Story,7,7,1980,1980,Gable,CompShg,CemntBd,CmentBd,BrkFace,278,Gd,TA,CBlock,Gd,TA,No,GLQ,692,Unf,0,153,845,GasA,TA,Y,SBrkr,1153,1200,0,2353,1,0,2,1,4,1,Ex,10,Typ,1,TA,Attchd,1983,RFn,2,484,TA,TA,Y,288,195,0,0,0,0,NA,GdPrv,NA,0,8,2009,WD,Normal,260000 +318,60,FV,75,9000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1088,1088,GasA,Ex,Y,SBrkr,1088,871,0,1959,0,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2006,RFn,3,1025,TA,TA,Y,208,46,0,0,0,0,NA,NA,NA,0,12,2007,WD,Normal,270000 +319,60,RL,90,9900,Pave,NA,Reg,Low,AllPub,Inside,Mod,NoRidge,Norm,Norm,1Fam,2Story,7,5,1993,1993,Gable,CompShg,HdBoard,HdBoard,BrkFace,256,Gd,TA,PConc,Gd,TA,Gd,GLQ,987,Unf,0,360,1347,GasA,Ex,Y,SBrkr,1372,1274,0,2646,1,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1993,RFn,3,656,TA,TA,Y,340,60,144,0,0,0,NA,NA,NA,0,4,2009,WD,Normal,260000 +320,80,RL,NA,14115,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,SLvl,7,5,1980,1980,Gable,CompShg,Plywood,Plywood,BrkFace,225,TA,TA,CBlock,Gd,TA,Av,GLQ,1036,Unf,0,336,1372,GasA,TA,Y,SBrkr,1472,0,0,1472,1,0,2,0,3,1,TA,6,Typ,2,TA,Attchd,1980,Unf,2,588,TA,TA,Y,233,48,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,187500 +321,60,RL,111,16259,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,Stone,370,TA,TA,PConc,Ex,Gd,Av,Unf,0,Unf,0,1249,1249,GasA,Ex,Y,SBrkr,1249,1347,0,2596,0,0,3,1,4,1,Gd,9,Typ,0,NA,Attchd,2006,RFn,3,840,TA,TA,Y,240,154,0,0,0,0,NA,NA,NA,0,9,2006,New,Partial,342643 +322,60,RL,99,12099,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,388,Gd,TA,PConc,Ex,TA,Av,GLQ,970,Unf,0,166,1136,GasA,Ex,Y,SBrkr,1136,1332,0,2468,1,0,2,1,4,1,Gd,10,Typ,1,Gd,BuiltIn,2004,Fin,3,872,TA,TA,Y,184,154,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,354000 +323,60,RL,86,10380,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,1986,1987,Gable,CompShg,Plywood,Plywood,BrkFace,172,Gd,TA,CBlock,TA,TA,Gd,LwQ,28,ALQ,1474,0,1502,GasA,Ex,Y,SBrkr,1553,1177,0,2730,1,0,2,1,4,1,Gd,8,Typ,1,TA,Attchd,1987,Fin,2,576,TA,TA,Y,201,96,0,0,0,0,NA,MnPrv,NA,0,8,2007,WD,Normal,301000 +324,20,RM,49,5820,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,3,8,1955,2005,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,256,Unf,0,906,1162,GasA,Ex,Y,SBrkr,1163,0,0,1163,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1955,Unf,1,220,Fa,TA,Y,142,98,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,126175 +325,80,RL,96,11275,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,PosN,Norm,1Fam,SLvl,7,7,1967,2007,Mansard,WdShake,Wd Sdng,Wd Sdng,BrkFace,300,Gd,Gd,CBlock,Gd,TA,No,Unf,0,Unf,0,710,710,GasA,Ex,Y,SBrkr,1898,1080,0,2978,0,0,2,1,5,1,Gd,11,Typ,1,Gd,BuiltIn,1961,Fin,2,564,TA,TA,Y,240,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,242000 +326,45,RM,50,5000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,RRAe,Norm,1Fam,1.5Unf,5,6,1941,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,Av,BLQ,116,Unf,0,604,720,GasA,Po,N,FuseF,803,0,0,803,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1941,Unf,2,360,TA,TA,Y,0,0,244,0,0,0,NA,NA,NA,0,12,2007,WD,Normal,87000 +327,120,RL,32,10846,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Veenker,Norm,Norm,TwnhsE,1Story,8,5,1993,1993,Gable,CompShg,BrkFace,BrkFace,None,0,Gd,TA,PConc,Gd,TA,Gd,GLQ,1619,Unf,0,100,1719,GasA,Ex,Y,SBrkr,1719,0,0,1719,2,0,1,1,1,1,Gd,6,Typ,2,Gd,Attchd,1993,Fin,2,473,TA,TA,Y,122,30,0,0,0,0,NA,NA,NA,0,5,2008,Con,Normal,324000 +328,20,RL,80,11600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1960,1960,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,175,TA,TA,CBlock,TA,TA,No,Rec,565,Unf,0,818,1383,GasA,TA,Y,SBrkr,1383,0,0,1383,0,0,1,1,3,1,TA,7,Typ,0,NA,Attchd,1960,RFn,1,292,TA,TA,Y,0,45,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,145250 +329,75,RL,NA,11888,Pave,Pave,IR1,Bnk,AllPub,Inside,Gtl,BrkSide,PosN,Norm,1Fam,2.5Unf,6,6,1916,1994,Gable,CompShg,Wd Sdng,Wd Shng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,844,844,GasA,Gd,N,FuseA,1445,689,0,2134,0,0,2,0,5,1,Gd,10,Typ,0,NA,Detchd,1930,Unf,2,441,TA,TA,Y,0,60,268,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,214500 +330,70,RM,60,6402,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Norm,Norm,1Fam,2Story,5,5,1920,1950,Gable,CompShg,Wd Sdng,Wd Shng,None,0,TA,TA,PConc,TA,TA,Mn,Unf,0,Unf,0,596,596,GasA,TA,N,SBrkr,596,596,0,1192,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1920,Unf,1,189,Fa,Fa,N,0,0,137,0,0,0,NA,GdWo,NA,0,7,2009,WD,Normal,78000 +331,90,RL,NA,10624,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,Duplex,1Story,5,4,1964,1964,Gable,CompShg,HdBoard,HdBoard,BrkFace,84,TA,TA,CBlock,TA,TA,No,GLQ,40,Rec,264,1424,1728,GasA,TA,Y,SBrkr,1728,0,0,1728,0,1,2,0,6,2,TA,10,Typ,0,NA,Detchd,2002,Unf,1,352,TA,TA,Y,155,0,0,0,0,0,NA,NA,NA,0,11,2007,WD,Normal,119000 +332,20,RL,70,8176,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1958,1992,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,846,Unf,0,210,1056,GasA,Fa,Y,SBrkr,1056,0,0,1056,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1958,RFn,1,308,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,139000 +333,20,RL,85,10655,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,296,Gd,TA,PConc,Gd,TA,No,GLQ,1124,NA,479,1603,3206,GasA,Ex,Y,SBrkr,1629,0,0,1629,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2003,RFn,3,880,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal,284000 +334,120,RM,59,8198,Pave,NA,Reg,Lvl,AllPub,FR3,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,Stone,146,Gd,TA,PConc,Gd,TA,Av,GLQ,720,Unf,0,638,1358,GasA,Ex,Y,SBrkr,1358,0,0,1358,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2004,RFn,2,484,TA,TA,Y,192,30,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,207000 +335,60,RL,59,9042,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Gd,GLQ,828,Unf,0,115,943,GasA,Gd,Y,SBrkr,943,695,0,1638,1,0,2,1,3,1,TA,7,Typ,2,TA,Attchd,1998,Fin,2,472,TA,TA,Y,100,38,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,192000 +336,190,RL,NA,164660,Grvl,NA,IR1,HLS,AllPub,Corner,Sev,Timber,Norm,Norm,2fmCon,1.5Fin,5,6,1965,1965,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,Gd,ALQ,1249,BLQ,147,103,1499,GasA,Ex,Y,SBrkr,1619,167,0,1786,2,0,2,0,3,1,TA,7,Typ,2,Gd,Attchd,1965,Fin,2,529,TA,TA,Y,670,0,0,0,0,0,NA,NA,Shed,700,8,2008,WD,Normal,228950 +337,20,RL,86,14157,Pave,NA,IR1,HLS,AllPub,Corner,Gtl,StoneBr,Norm,Norm,1Fam,1Story,9,5,2005,2006,Hip,CompShg,VinylSd,VinylSd,Stone,200,Gd,TA,PConc,Ex,TA,Gd,GLQ,1249,Unf,0,673,1922,GasA,Ex,Y,SBrkr,1922,0,0,1922,1,0,2,0,3,1,Gd,8,Typ,1,Gd,Attchd,2005,Fin,3,676,TA,TA,Y,178,51,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,377426 +338,20,RL,70,9135,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2002,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,113,Gd,TA,PConc,Gd,TA,Av,GLQ,810,Unf,0,726,1536,GasA,Ex,Y,SBrkr,1536,0,0,1536,1,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2002,RFn,2,532,TA,TA,Y,192,74,0,0,0,0,NA,NA,NA,0,12,2008,WD,Normal,214000 +339,20,RL,91,14145,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NWAmes,Norm,Norm,1Fam,1Story,7,7,1984,1998,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,TA,CBlock,Gd,TA,Mn,ALQ,213,Unf,0,995,1208,GasA,Ex,Y,SBrkr,1621,0,0,1621,1,0,2,0,3,1,Gd,8,Typ,0,NA,Attchd,1984,RFn,2,440,TA,TA,Y,108,45,0,0,0,0,NA,NA,Shed,400,5,2006,WD,Normal,202500 +340,20,RL,66,12400,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Feedr,Norm,1Fam,1Story,6,7,1958,1998,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,176,TA,TA,CBlock,TA,Fa,No,Rec,585,Unf,0,630,1215,GasA,TA,Y,FuseA,1215,0,0,1215,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1958,Unf,1,297,TA,TA,Y,0,0,0,0,234,0,NA,NA,NA,0,6,2009,WD,Normal,155000 +341,60,RL,85,14191,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,2Story,8,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,967,967,GasA,Ex,Y,SBrkr,993,915,0,1908,0,0,2,1,4,1,Gd,9,Typ,0,NA,Attchd,2002,Fin,2,431,TA,TA,Y,135,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,202900 +342,20,RH,60,8400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Feedr,Norm,1Fam,1Story,4,4,1950,1950,Gable,CompShg,Wd Sdng,AsbShng,None,0,Fa,Fa,CBlock,TA,Fa,No,Unf,0,Unf,0,721,721,GasA,Gd,Y,SBrkr,841,0,0,841,0,0,1,0,2,1,TA,4,Typ,0,NA,CarPort,1950,Unf,1,294,TA,TA,N,250,0,24,0,0,0,NA,NA,NA,0,9,2009,WD,Normal,82000 +343,90,RL,NA,8544,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,Duplex,1Story,3,4,1949,1950,Gable,CompShg,Stucco,Stucco,BrkFace,340,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,Wall,Fa,N,FuseA,1040,0,0,1040,0,0,2,0,2,2,TA,6,Typ,0,NA,Detchd,1949,Unf,2,400,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,87500 +344,120,RL,63,8849,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,9,5,2005,2005,Hip,CompShg,MetalSd,MetalSd,BrkFace,616,Ex,TA,PConc,Ex,TA,No,GLQ,28,Unf,0,1656,1684,GasA,Ex,Y,SBrkr,1684,0,0,1684,0,0,2,0,2,1,Ex,6,Typ,1,Ex,Attchd,2005,RFn,2,564,TA,TA,Y,495,72,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,266000 +345,160,RM,36,2592,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,2Story,5,3,1976,1976,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,Gd,TA,No,Rec,129,BLQ,232,175,536,GasA,TA,Y,SBrkr,536,576,0,1112,0,0,1,1,3,1,TA,4,Typ,0,NA,Attchd,1976,Unf,1,336,TA,TA,Y,182,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,85000 +346,50,RL,65,6435,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,RRAn,Norm,1Fam,1.5Fin,6,5,1939,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,972,972,GasA,Gd,Y,SBrkr,972,605,0,1577,0,0,1,0,3,1,Fa,6,Typ,1,Gd,Detchd,1939,Unf,1,312,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal,140200 +347,20,RL,NA,12772,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,8,1960,1998,Hip,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,Mn,BLQ,498,Unf,0,460,958,GasA,TA,Y,SBrkr,958,0,0,958,0,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1960,RFn,1,301,TA,TA,Y,0,0,0,0,0,0,NA,NA,Gar2,15500,4,2007,WD,Normal,151500 +348,20,RL,NA,17600,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1960,1960,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,30,TA,TA,CBlock,TA,TA,No,BLQ,1270,Unf,0,208,1478,GasA,Ex,Y,FuseA,1478,0,0,1478,1,0,2,0,3,1,TA,6,Typ,2,Gd,Attchd,1960,Unf,2,498,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,12,2009,WD,Normal,157500 +349,160,RL,36,2448,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,Twnhs,2Story,7,5,2003,2004,Gable,CompShg,VinylSd,Wd Shng,Stone,106,Gd,TA,PConc,Gd,TA,No,GLQ,573,Unf,0,191,764,GasA,Ex,Y,SBrkr,764,862,0,1626,1,0,2,1,2,1,Gd,6,Typ,0,NA,BuiltIn,2003,RFn,2,474,TA,TA,Y,0,27,0,0,0,0,NA,NA,NA,0,10,2008,WD,Normal,154000 +350,60,RL,56,20431,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2005,2006,Hip,CompShg,CemntBd,CmentBd,BrkFace,870,Ex,TA,PConc,Ex,TA,No,GLQ,1410,Unf,0,438,1848,GasA,Ex,Y,SBrkr,1848,880,0,2728,1,0,2,1,4,1,Ex,10,Typ,2,Ex,Attchd,2006,Fin,3,706,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2006,New,Partial,437154 +351,120,RL,68,7820,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,9,5,2007,2007,Hip,CompShg,MetalSd,MetalSd,BrkFace,362,Ex,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1869,1869,GasA,Ex,Y,SBrkr,1869,0,0,1869,0,0,2,0,2,1,Ex,6,Typ,1,Gd,Attchd,2007,RFn,2,617,TA,TA,Y,210,54,0,0,0,0,NA,NA,NA,0,12,2007,New,Partial,318061 +352,120,RL,NA,5271,Pave,NA,IR1,Low,AllPub,Inside,Mod,ClearCr,Norm,Norm,1Fam,1Story,7,5,1986,1986,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,Gd,TA,Gd,GLQ,1082,Unf,0,371,1453,GasA,Gd,Y,SBrkr,1453,0,0,1453,1,0,1,1,2,1,Gd,6,Typ,1,TA,Attchd,1986,RFn,2,445,TA,TA,Y,0,80,0,0,184,0,NA,NA,NA,0,12,2006,WD,Abnorml,190000 +353,50,RL,60,9084,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Artery,Norm,1Fam,1.5Fin,5,6,1941,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,Fa,Mn,LwQ,236,Rec,380,0,616,GasA,TA,N,SBrkr,616,495,0,1111,0,1,1,0,3,1,TA,5,Typ,0,NA,Detchd,1941,Unf,1,200,TA,Fa,Y,48,0,0,0,0,0,NA,NA,NA,0,3,2008,ConLw,Normal,95000 +354,30,RM,60,8520,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,6,8,1928,2003,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,BrkTil,TA,TA,No,Unf,0,Unf,0,624,624,GasA,Gd,Y,SBrkr,720,0,0,720,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,2005,Unf,2,484,TA,TA,Y,106,0,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,105900 +355,50,RL,60,8400,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1.5Fin,6,5,1940,2000,Gable,CompShg,Wd Sdng,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,LwQ,388,Unf,0,552,940,GasA,Ex,Y,SBrkr,1192,403,0,1595,0,0,1,0,2,1,TA,6,Typ,2,Gd,Attchd,1940,Unf,1,240,TA,TA,Y,0,0,108,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,140000 +356,20,RL,105,11249,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,6,5,1995,1995,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,Gd,PConc,Gd,Gd,No,ALQ,334,BLQ,544,322,1200,GasA,Ex,Y,SBrkr,1200,0,0,1200,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1995,RFn,2,521,TA,TA,Y,0,26,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,177500 +357,20,RL,NA,9248,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,1Story,6,6,1992,1992,Gable,CompShg,HdBoard,HdBoard,BrkFace,106,TA,TA,PConc,Gd,TA,No,GLQ,560,Unf,0,598,1158,GasA,Gd,Y,SBrkr,1167,0,0,1167,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1992,RFn,2,400,TA,TA,Y,120,26,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,173000 +358,120,RM,44,4224,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,1Story,5,5,1976,1976,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,PConc,Gd,TA,No,ALQ,874,Unf,0,268,1142,GasA,TA,Y,SBrkr,1142,0,0,1142,1,0,1,1,3,1,TA,6,Typ,1,Po,Attchd,1976,Fin,2,528,TA,TA,Y,536,90,0,0,0,0,NA,MnPrv,NA,0,8,2007,WD,Normal,134000 +359,80,RL,92,6930,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,ClearCr,Norm,Norm,1Fam,SLvl,5,4,1958,1958,Hip,CompShg,Wd Sdng,ImStucc,BrkFace,120,TA,TA,CBlock,TA,TA,Av,BLQ,300,Rec,294,468,1062,GasA,Ex,Y,FuseF,1352,0,0,1352,0,1,1,0,3,1,Gd,6,Min2,0,NA,BuiltIn,1958,Unf,1,288,TA,TA,Y,168,0,294,0,0,0,NA,NA,NA,0,7,2006,WD,Abnorml,130000 +360,60,RL,78,12011,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,530,Gd,TA,PConc,Gd,TA,Av,GLQ,956,Unf,0,130,1086,GasA,Ex,Y,SBrkr,1086,838,0,1924,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1998,RFn,2,592,TA,TA,Y,208,75,0,0,374,0,NA,NA,NA,0,6,2006,WD,Normal,280000 +361,85,RL,NA,7540,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Mitchel,Norm,Norm,1Fam,SFoyer,6,6,1978,1978,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,Gd,TA,Av,GLQ,773,Unf,0,115,888,GasA,Ex,Y,SBrkr,912,0,0,912,1,0,1,0,2,1,TA,5,Typ,1,TA,Attchd,1978,RFn,2,470,TA,TA,Y,0,0,0,0,192,0,NA,MnPrv,NA,0,6,2007,WD,Normal,156000 +362,50,RL,NA,9144,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,5,1940,1982,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,399,Unf,0,484,883,GasA,Gd,Y,SBrkr,988,517,0,1505,1,0,1,0,3,1,TA,8,Typ,0,NA,Detchd,1940,Unf,1,240,TA,TA,N,0,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,145000 +363,85,RL,64,7301,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,SFoyer,7,5,2003,2003,Gable,CompShg,HdBoard,HdBoard,BrkFace,500,Gd,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,Ex,Y,SBrkr,495,1427,0,1922,0,0,3,0,4,1,Gd,7,Typ,1,Ex,BuiltIn,2003,RFn,2,672,TA,TA,Y,0,0,177,0,0,0,NA,NA,NA,0,7,2009,ConLD,Normal,198500 +364,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,8,1972,2007,Gable,CompShg,HdBoard,HdBoard,BrkFace,510,TA,TA,CBlock,TA,TA,No,ALQ,162,Unf,0,321,483,GasA,Gd,Y,SBrkr,483,504,0,987,0,0,1,1,2,1,Gd,5,Typ,0,NA,Detchd,1972,Unf,1,264,TA,TA,Y,250,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,118000 +365,60,RL,NA,18800,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,NWAmes,Norm,Norm,1Fam,2Story,6,5,1976,1976,Gable,CompShg,HdBoard,HdBoard,BrkFace,120,TA,TA,PConc,Gd,TA,Mn,GLQ,712,Unf,0,84,796,GasA,TA,Y,SBrkr,790,784,0,1574,1,0,2,1,3,1,TA,6,Typ,1,TA,Attchd,1976,Fin,2,566,TA,TA,Y,306,111,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,190000 +366,70,RM,59,10690,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,2Story,5,7,1920,1997,Hip,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,Fa,No,Rec,456,Unf,0,216,672,GasA,Gd,Y,FuseA,672,672,0,1344,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1964,Unf,1,468,TA,Fa,Y,0,128,218,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,147000 +367,20,RL,NA,9500,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1963,1963,Gable,CompShg,Plywood,Plywood,BrkFace,247,TA,TA,CBlock,Gd,TA,No,BLQ,609,Unf,0,785,1394,GasA,Gd,Y,SBrkr,1394,0,0,1394,1,0,1,1,3,1,TA,6,Typ,2,Gd,Attchd,1963,RFn,2,514,TA,TA,Y,0,76,0,0,185,0,NA,NA,NA,0,7,2009,WD,Normal,159000 +368,80,RL,101,9150,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,SLvl,6,5,1962,1962,Gable,Tar&Grv,Plywood,Plywood,BrkFace,305,TA,TA,CBlock,Gd,TA,Gd,GLQ,371,Unf,0,728,1099,GasA,Gd,Y,SBrkr,1431,0,0,1431,0,1,1,0,3,1,TA,6,Typ,1,Gd,Basment,1962,RFn,1,296,TA,TA,Y,64,110,0,0,0,0,NA,NA,NA,0,12,2008,WD,Normal,165000 +369,20,RL,78,7800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1954,1954,Gable,CompShg,HdBoard,HdBoard,BrkFace,200,TA,TA,PConc,TA,TA,No,LwQ,540,Unf,0,728,1268,GasA,Gd,Y,SBrkr,1268,0,0,1268,0,0,1,0,2,1,TA,7,Typ,1,Gd,Attchd,1954,Fin,1,244,TA,TA,Y,0,98,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal,132000 +370,20,RL,NA,9830,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1959,2006,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,72,Rec,258,733,1063,GasA,Ex,Y,SBrkr,1287,0,0,1287,1,0,1,0,3,1,Gd,7,Typ,1,Gd,Detchd,1997,Fin,2,576,TA,TA,Y,364,17,0,0,182,0,NA,NA,NA,0,3,2010,WD,Normal,162000 +371,60,RL,NA,8121,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,953,953,GasA,Ex,Y,SBrkr,953,711,0,1664,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,2000,RFn,2,460,TA,TA,Y,100,40,0,0,0,0,NA,NA,NA,0,1,2006,WD,Normal,172400 +372,50,RL,80,17120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,ClearCr,Feedr,Norm,1Fam,1.5Fin,4,4,1959,1959,Gable,CompShg,WdShing,Plywood,None,0,TA,TA,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,1120,468,0,1588,0,0,2,0,4,1,TA,7,Min2,1,Gd,Detchd,1991,Fin,2,680,TA,TA,N,0,59,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,134432 +373,120,RL,50,7175,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,TwnhsE,1Story,6,5,1984,1984,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,623,LwQ,121,0,744,GasA,TA,Y,SBrkr,752,0,0,752,1,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1984,Unf,1,264,TA,TA,Y,353,0,0,0,90,0,NA,MnPrv,NA,0,2,2010,WD,Normal,125000 +374,20,RL,79,10634,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1953,1953,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,No,BLQ,428,LwQ,180,0,608,GasA,TA,Y,SBrkr,1319,0,0,1319,1,0,1,0,3,1,TA,5,Min2,0,NA,Attchd,1953,Unf,1,270,TA,TA,Y,66,0,0,0,0,0,NA,GdWo,NA,0,11,2009,WD,Normal,123000 +375,60,RL,65,8200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,847,847,GasA,Ex,Y,SBrkr,847,1081,0,1928,0,0,2,1,4,1,Gd,8,Typ,1,Gd,BuiltIn,2003,Fin,2,434,TA,TA,Y,100,48,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,219500 +376,30,RL,NA,10020,Pave,NA,IR1,Low,AllPub,Inside,Sev,Edwards,Norm,Norm,1Fam,1Story,1,1,1922,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Fa,Fa,BrkTil,Fa,Po,Gd,BLQ,350,Unf,0,333,683,GasA,Gd,N,FuseA,904,0,0,904,1,0,0,1,1,1,Fa,4,Maj1,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal,61000 +377,85,RL,57,8846,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,SFoyer,5,5,1996,1996,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,298,Unf,0,572,870,GasA,Ex,Y,SBrkr,914,0,0,914,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1998,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,148000 +378,60,FV,102,11143,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2004,2005,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1580,1580,GasA,Ex,Y,SBrkr,1580,886,0,2466,0,0,3,0,4,1,Gd,8,Typ,1,Gd,Attchd,2004,RFn,2,610,TA,TA,Y,159,214,0,0,0,0,NA,NA,NA,0,12,2007,WD,Normal,340000 +379,20,RL,88,11394,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,StoneBr,Norm,Norm,1Fam,1Story,9,2,2010,2010,Hip,CompShg,VinylSd,VinylSd,Stone,350,Gd,TA,PConc,Ex,TA,Av,GLQ,1445,Unf,0,411,1856,GasA,Ex,Y,SBrkr,1856,0,0,1856,1,0,1,1,1,1,Ex,8,Typ,1,Ex,Attchd,2010,Fin,3,834,TA,TA,Y,113,0,0,0,0,0,NA,NA,NA,0,6,2010,New,Partial,394432 +380,60,RL,60,8123,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,RRAn,Norm,1Fam,2Story,6,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,16,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,982,982,GasA,Ex,Y,SBrkr,1007,793,0,1800,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,2000,Fin,2,463,TA,TA,Y,100,63,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,179000 +381,50,RL,50,5000,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1.5Fin,5,6,1924,1950,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,LwQ,218,Unf,0,808,1026,GasA,TA,Y,SBrkr,1026,665,0,1691,0,0,2,0,3,1,Gd,6,Typ,1,Gd,Detchd,1924,Unf,1,308,TA,TA,Y,0,0,242,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,127000 +382,20,FV,60,7200,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,Gd,No,Unf,0,Unf,0,1293,1293,GasA,Ex,Y,SBrkr,1301,0,0,1301,1,0,2,0,2,1,Gd,5,Typ,1,Gd,Attchd,2006,RFn,2,572,TA,TA,Y,216,121,0,0,0,0,NA,NA,NA,0,8,2006,New,Partial,187750 +383,60,RL,79,9245,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,939,939,GasA,Ex,Y,SBrkr,939,858,0,1797,0,0,2,1,3,1,Gd,8,Typ,0,NA,Attchd,2006,RFn,2,639,TA,TA,Y,144,53,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal,213500 +384,45,RH,60,9000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,1Fam,1.5Unf,6,3,1928,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Fa,Fa,No,Unf,0,Unf,0,784,784,GasA,TA,N,FuseA,784,0,0,784,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1950,Unf,2,360,Fa,Fa,N,0,0,91,0,0,0,NA,NA,NA,0,10,2009,WD,Normal,76000 +385,60,RL,NA,53107,Pave,NA,IR2,Low,AllPub,Corner,Mod,ClearCr,Feedr,Norm,1Fam,2Story,6,5,1992,1992,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,985,Unf,0,595,1580,GasA,Ex,Y,SBrkr,1079,874,0,1953,1,0,2,1,3,1,Gd,9,Typ,2,Fa,Attchd,1992,Fin,2,501,TA,TA,Y,216,231,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,240000 +386,120,RL,43,3182,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,8,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,16,Gd,TA,PConc,Gd,TA,No,GLQ,24,Unf,0,1232,1256,GasA,Ex,Y,SBrkr,1269,0,0,1269,0,0,2,0,2,1,Gd,6,Typ,1,TA,Attchd,2004,Fin,2,430,TA,TA,Y,146,20,0,0,144,0,NA,NA,NA,0,4,2010,WD,Normal,192000 +387,50,RL,58,8410,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Edwards,Feedr,Norm,1Fam,1.5Fin,5,3,1910,1996,Gambrel,CompShg,Wd Sdng,VinylSd,None,0,TA,Fa,PConc,TA,TA,No,Unf,0,Unf,0,658,658,GasA,TA,Y,SBrkr,658,526,0,1184,0,0,1,0,5,1,TA,8,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,151,0,0,0,0,NA,NA,NA,0,5,2006,WD,AdjLand,81000 +388,80,RL,72,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,SLvl,6,6,1976,1976,Hip,CompShg,MetalSd,MetalSd,BrkFace,255,TA,TA,CBlock,TA,TA,Av,ALQ,631,Unf,0,410,1041,GasA,Ex,Y,SBrkr,1125,0,0,1125,1,0,1,0,3,1,TA,6,Typ,1,Fa,Detchd,1977,Unf,1,352,TA,TA,Y,296,0,0,0,0,0,NA,GdWo,NA,0,10,2009,WD,Abnorml,125000 +389,20,RL,93,9382,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,1999,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,125,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1468,1468,GasA,Ex,Y,SBrkr,1479,0,0,1479,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1999,RFn,2,577,TA,TA,Y,120,25,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,191000 +390,60,RL,96,12474,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,10,5,2007,2008,Gable,CompShg,VinylSd,VinylSd,Stone,272,Ex,TA,PConc,Ex,TA,Av,GLQ,1280,Unf,0,402,1682,GasA,Ex,Y,SBrkr,1742,590,0,2332,1,0,2,1,3,1,Ex,9,Typ,1,Ex,BuiltIn,2008,Fin,3,846,TA,TA,Y,196,134,0,0,0,0,NA,NA,NA,0,8,2008,New,Partial,426000 +391,50,RL,50,8405,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,5,8,1900,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,Gd,No,Rec,241,BLQ,391,229,861,GasA,Ex,Y,SBrkr,961,406,0,1367,1,0,1,0,4,1,TA,7,Typ,0,NA,Detchd,1978,Unf,1,384,TA,TA,Y,0,130,112,0,0,0,NA,MnPrv,NA,0,4,2008,WD,Normal,119000 +392,60,RL,71,12209,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Mitchel,Norm,Norm,1Fam,2Story,6,5,2001,2002,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Ex,TA,No,ALQ,690,Unf,0,114,804,GasA,Ex,Y,SBrkr,804,1157,0,1961,1,0,2,1,3,1,Gd,7,Typ,1,TA,BuiltIn,2001,Fin,2,560,TA,TA,Y,125,192,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,215000 +393,20,RL,NA,8339,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1959,1959,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,882,0,0,882,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1959,RFn,1,294,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,Shed,1200,7,2007,WD,Normal,106500 +394,30,RL,NA,7446,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,BrkSide,Feedr,Norm,1Fam,1Story,4,5,1941,1950,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,TA,No,Rec,266,Unf,0,522,788,GasA,TA,Y,FuseA,788,0,0,788,0,0,1,0,2,1,TA,4,Typ,2,TA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,4,2006,WD,Abnorml,100000 +395,50,RL,60,10134,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,6,1940,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,735,735,GasA,Gd,Y,FuseA,735,299,0,1034,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1940,Unf,1,240,TA,TA,Y,0,39,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,109000 +396,20,RL,68,9571,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,6,1956,1956,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Av,BLQ,739,Unf,0,405,1144,GasA,TA,Y,SBrkr,1144,0,0,1144,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1956,Unf,1,596,TA,TA,Y,44,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,129000 +397,20,RL,60,7200,Pave,NA,Reg,Low,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,5,1972,1972,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,Av,Rec,777,Unf,0,117,894,GasA,TA,Y,SBrkr,894,0,0,894,0,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1985,RFn,2,600,TA,TA,Y,215,0,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal,123000 +398,60,RL,69,7590,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,PosN,Norm,1Fam,2Story,5,5,1962,1962,Gable,CompShg,VinylSd,VinylSd,BrkFace,288,TA,TA,CBlock,TA,TA,No,ALQ,540,Unf,0,324,864,GasA,TA,Y,SBrkr,876,936,0,1812,0,0,2,0,4,1,TA,8,Typ,1,TA,Attchd,1962,RFn,1,264,TA,TA,Y,0,168,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,169500 +399,30,RM,60,8967,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,5,2,1920,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Fa,BrkTil,Fa,Po,No,Unf,0,Unf,0,961,961,GasA,Gd,Y,Mix,1077,0,0,1077,0,0,1,0,2,1,TA,6,Maj2,0,NA,Detchd,1920,Unf,1,338,Po,Po,N,0,0,0,0,0,0,NA,NA,NA,0,11,2007,WD,Abnorml,67000 +400,60,FV,65,8125,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2006,2007,Gable,CompShg,CemntBd,CmentBd,Stone,100,Gd,TA,PConc,Gd,TA,No,GLQ,812,Unf,0,280,1092,GasA,Ex,Y,SBrkr,1112,438,0,1550,1,0,2,0,2,1,Gd,7,Typ,0,NA,Attchd,2007,Fin,2,438,TA,TA,Y,0,168,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal,241000 +401,120,RL,38,14963,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,Veenker,Norm,Norm,TwnhsE,1Story,8,5,1996,1996,Gable,CompShg,BrkFace,BrkFace,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,786,Unf,0,474,1260,GasA,Ex,Y,SBrkr,1288,0,0,1288,1,0,1,1,1,1,Ex,4,Typ,2,Gd,Attchd,1996,Fin,2,500,TA,TA,Y,120,30,0,0,224,0,NA,NA,NA,0,12,2008,WD,Normal,245500 +402,20,RL,65,8767,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,24,Unf,0,1286,1310,GasA,Ex,Y,SBrkr,1310,0,0,1310,0,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2005,Fin,2,400,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,New,Partial,164990 +403,30,RL,60,10200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,8,1940,1997,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,672,672,GasA,Ex,Y,SBrkr,672,0,0,672,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1940,Unf,1,240,TA,TA,N,168,0,0,0,0,0,NA,GdPrv,NA,0,8,2008,WD,Normal,108000 +404,60,RL,93,12090,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1998,1998,Hip,CompShg,VinylSd,VinylSd,BrkFace,650,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1141,1141,GasA,Gd,Y,SBrkr,1165,1098,0,2263,0,0,2,1,4,1,Gd,10,Typ,1,TA,BuiltIn,1998,Fin,2,420,TA,TA,Y,144,123,0,0,0,0,NA,NA,NA,0,7,2006,WD,Abnorml,258000 +405,60,RL,NA,10364,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1995,1996,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,806,806,GasA,Gd,Y,SBrkr,806,766,0,1572,0,0,2,1,3,1,TA,7,Typ,1,TA,BuiltIn,1995,Fin,2,373,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,168000 +406,20,RL,NA,9991,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,4,4,1976,1993,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,BLQ,1116,Unf,0,165,1281,GasA,Ex,Y,SBrkr,1620,0,0,1620,1,0,2,0,3,1,TA,8,Min1,1,TA,Attchd,1993,Unf,2,490,TA,TA,Y,120,78,0,0,0,0,NA,GdWo,NA,0,6,2009,WD,Normal,150000 +407,50,RL,51,10480,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1.5Fin,6,5,1936,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,1064,1064,GasA,Ex,Y,FuseA,1166,0,473,1639,0,0,1,0,3,1,TA,6,Maj2,0,NA,Detchd,1936,Unf,1,240,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal,115000 +408,70,RL,63,15576,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,6,7,1915,1976,Gable,CompShg,Wd Sdng,Plywood,None,0,TA,TA,BrkTil,Gd,TA,No,Unf,0,Unf,0,840,840,GasA,Ex,Y,SBrkr,840,840,0,1680,0,0,2,0,4,1,TA,8,Typ,0,NA,Attchd,1960,Unf,1,308,TA,TA,Y,0,0,160,0,0,0,NA,NA,NA,0,3,2008,WD,Normal,177000 +409,60,RL,109,14154,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,2Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,350,Gd,TA,PConc,Ex,Gd,No,Unf,0,Unf,0,1063,1063,GasA,Ex,Y,SBrkr,1071,1101,0,2172,0,0,2,1,3,1,Gd,9,Typ,1,Gd,Attchd,2006,RFn,3,947,TA,TA,Y,192,62,0,0,0,0,NA,NA,NA,0,8,2007,New,Partial,280000 +410,60,FV,85,10800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2007,2008,Gable,CompShg,VinylSd,VinylSd,Stone,100,Gd,TA,PConc,Ex,TA,No,GLQ,789,Unf,0,245,1034,GasA,Ex,Y,SBrkr,1050,1028,0,2078,1,0,2,1,3,1,Ex,8,Typ,1,Gd,Attchd,2008,Fin,3,836,TA,TA,Y,0,102,0,0,0,0,NA,NA,NA,0,4,2008,New,Partial,339750 +411,20,RL,68,9571,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,3,1958,1958,Gable,CompShg,BrkComm,Brk Cmn,None,0,TA,Fa,CBlock,TA,Fa,No,Unf,0,Unf,0,1276,1276,GasA,TA,Y,FuseA,1276,0,0,1276,0,0,1,0,3,1,TA,5,Mod,0,NA,Attchd,1958,Unf,1,350,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2009,COD,Abnorml,60000 +412,190,RL,100,34650,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Gilbert,Norm,Norm,2fmCon,1Story,5,5,1955,1955,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Mn,Rec,1056,Unf,0,0,1056,GasA,TA,N,SBrkr,1056,0,0,1056,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1955,Fin,2,572,TA,TA,Y,264,0,0,0,0,0,NA,NA,NA,0,1,2006,WD,Normal,145000 +413,20,FV,NA,4403,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2009,2009,Gable,CompShg,MetalSd,MetalSd,Stone,432,Ex,TA,PConc,Ex,TA,Av,GLQ,578,Unf,0,892,1470,GasA,Ex,Y,SBrkr,1478,0,0,1478,1,0,2,1,2,1,Gd,7,Typ,1,Gd,Attchd,2009,Fin,2,484,TA,TA,Y,0,144,0,0,0,0,NA,NA,NA,0,6,2010,New,Partial,222000 +414,30,RM,56,8960,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1Story,5,6,1927,1950,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1008,1008,GasA,Gd,Y,FuseA,1028,0,0,1028,0,0,1,0,2,1,TA,5,Typ,1,Gd,Detchd,1927,Unf,2,360,TA,TA,Y,0,0,130,0,0,0,NA,NA,NA,0,3,2010,WD,Normal,115000 +415,60,RL,59,11228,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,1993,1993,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,BLQ,50,GLQ,531,499,1080,GasA,Ex,Y,SBrkr,1080,1017,0,2097,0,1,2,1,3,1,Gd,9,Typ,1,TA,Attchd,1993,Unf,3,678,TA,TA,Y,196,187,0,0,0,0,NA,NA,NA,0,12,2008,WD,Normal,228000 +416,20,RL,73,8899,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,1Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,24,Unf,0,1316,1340,GasA,Ex,Y,SBrkr,1340,0,0,1340,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2007,Fin,2,396,TA,TA,Y,100,30,0,0,0,0,NA,NA,NA,0,8,2007,New,Partial,181134 +417,60,RL,74,7844,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,2Story,6,7,1978,1978,Hip,CompShg,HdBoard,HdBoard,BrkFace,203,TA,TA,CBlock,TA,TA,No,ALQ,209,Unf,0,463,672,GasA,TA,Y,SBrkr,672,728,0,1400,0,0,1,1,3,1,TA,6,Typ,1,TA,Attchd,1978,Fin,2,440,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal,149500 +418,70,RL,86,22420,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Crawfor,Feedr,Norm,1Fam,2Story,6,6,1918,1950,Hip,CompShg,Wd Sdng,Stucco,None,0,TA,TA,BrkTil,Gd,TA,No,BLQ,1128,Unf,0,242,1370,GasW,TA,N,FuseA,1370,1254,0,2624,1,0,2,1,4,1,TA,10,Typ,1,Gd,Detchd,1918,Unf,3,864,TA,TA,N,0,0,0,0,0,0,NA,NA,NA,0,11,2007,WD,Normal,239000 +419,50,RL,60,8160,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,5,6,1940,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,ALQ,312,Unf,0,444,756,GasA,Fa,N,FuseF,756,378,0,1134,1,0,1,1,3,1,TA,7,Typ,0,NA,Detchd,1940,Unf,1,240,TA,TA,P,0,0,0,0,0,0,NA,NA,NA,0,4,2007,WD,AdjLand,126000 +420,20,RL,65,8450,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1968,1968,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,775,Unf,0,281,1056,GasA,Ex,Y,SBrkr,1056,0,0,1056,1,0,1,0,3,1,TA,6,Typ,1,Fa,Attchd,1968,Unf,1,304,TA,TA,Y,0,85,184,0,0,0,NA,NA,NA,0,7,2010,WD,Normal,142000 +421,90,RM,78,7060,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,Duplex,SFoyer,7,5,1997,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,200,TA,Gd,PConc,Gd,Gd,Gd,GLQ,1309,Unf,0,35,1344,GasA,Ex,Y,SBrkr,1344,0,0,1344,2,0,2,0,2,2,TA,8,Typ,0,NA,Attchd,1997,Fin,4,784,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2008,WD,Alloca,206300 +422,20,RL,NA,16635,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,7,1977,2000,Gable,CompShg,CemntBd,CmentBd,Stone,126,Gd,TA,CBlock,Gd,TA,No,ALQ,1246,Unf,0,356,1602,GasA,Gd,Y,SBrkr,1602,0,0,1602,0,1,2,0,3,1,Gd,8,Typ,1,TA,Attchd,1977,Fin,2,529,TA,TA,Y,240,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,215000 +423,20,RL,100,21750,Pave,NA,Reg,HLS,AllPub,Inside,Mod,Mitchel,Artery,Norm,1Fam,1Story,5,5,1954,1954,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,988,988,GasA,Ex,Y,FuseA,988,0,0,988,0,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1954,RFn,2,520,TA,TA,N,0,0,0,0,0,0,NA,NA,NA,0,2,2008,WD,Normal,113000 +424,60,RL,80,9200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,473,Gd,TA,PConc,Gd,TA,No,GLQ,986,Unf,0,484,1470,GasA,Gd,Y,SBrkr,1470,1160,0,2630,1,0,2,1,4,1,Gd,8,Typ,1,TA,Attchd,1998,Fin,3,696,TA,TA,Y,0,66,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,315000 +425,20,RL,72,9000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1956,1956,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,74,TA,TA,CBlock,Gd,TA,No,LwQ,616,Unf,0,580,1196,GasA,Gd,Y,FuseA,1196,0,0,1196,1,0,1,0,2,1,TA,6,Typ,1,Gd,Attchd,1956,RFn,1,297,TA,TA,Y,0,44,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,139000 +426,60,RM,60,3378,Pave,Grvl,Reg,HLS,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,7,8,1946,1992,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Gd,CBlock,TA,TA,No,Unf,0,Unf,0,651,651,GasA,Gd,Y,SBrkr,707,682,0,1389,0,0,1,1,3,1,TA,6,Typ,2,Gd,Detchd,1947,Unf,1,240,TA,TA,P,0,0,126,0,0,0,NA,NA,NA,0,9,2009,WD,Normal,135000 +427,80,RL,NA,12800,Pave,NA,Reg,Low,AllPub,Inside,Mod,SawyerW,Norm,Norm,1Fam,SLvl,7,5,1989,1989,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,145,Gd,TA,PConc,Gd,TA,Gd,GLQ,1518,Unf,0,0,1518,GasA,Gd,Y,SBrkr,1644,0,0,1644,1,1,2,0,2,1,Gd,5,Typ,1,TA,Attchd,1989,Fin,2,569,TA,TA,Y,80,0,0,0,396,0,NA,NA,NA,0,8,2009,WD,Normal,275000 +428,20,RL,77,8593,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,6,1957,1957,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,288,Unf,0,619,907,GasA,Ex,Y,SBrkr,907,0,0,907,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1964,Unf,1,352,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,109008 +429,20,RL,64,6762,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,BrkFace,108,Gd,TA,PConc,Gd,TA,No,GLQ,664,Unf,0,544,1208,GasA,Ex,Y,SBrkr,1208,0,0,1208,1,0,2,0,2,1,Gd,6,Typ,0,NA,Attchd,2007,RFn,2,628,TA,TA,Y,105,54,0,0,0,0,NA,NA,NA,0,9,2007,New,Partial,195400 +430,20,RL,130,11457,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,1Story,6,5,1988,1988,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,Mn,GLQ,1005,Unf,0,387,1392,GasA,TA,Y,SBrkr,1412,0,0,1412,1,0,2,0,3,1,Gd,6,Typ,1,TA,Attchd,1988,Unf,2,576,TA,TA,Y,0,0,169,0,0,0,NA,NA,NA,0,3,2009,WD,Normal,175000 +431,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,5,1971,1971,Gable,CompShg,HdBoard,HdBoard,BrkFace,232,TA,TA,CBlock,TA,TA,No,ALQ,387,Unf,0,96,483,GasA,TA,Y,SBrkr,483,504,0,987,0,0,1,1,2,1,TA,4,Typ,0,NA,Detchd,1971,Unf,1,264,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2008,COD,Abnorml,85400 +432,50,RM,60,5586,Pave,NA,IR1,Bnk,AllPub,Inside,Gtl,OldTown,Feedr,Norm,1Fam,1.5Fin,6,7,1920,1998,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,901,901,GasA,Gd,Y,SBrkr,1088,110,0,1198,0,0,1,0,4,1,TA,7,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,98,0,0,0,0,NA,MnPrv,NA,0,9,2008,ConLD,Abnorml,79900 +433,160,RM,24,1920,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,TwnhsE,2Story,5,5,1971,1971,Gable,CompShg,HdBoard,HdBoard,BrkFace,376,TA,TA,CBlock,TA,TA,No,ALQ,471,Unf,0,294,765,GasA,Ex,Y,SBrkr,765,600,0,1365,1,0,1,1,2,1,TA,6,Min1,0,NA,Detchd,1971,Unf,2,440,TA,TA,Y,240,36,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,122500 +434,60,RL,100,10839,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1997,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,926,926,GasA,Ex,Y,SBrkr,926,678,0,1604,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1997,Fin,2,470,TA,TA,Y,0,36,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,181000 +435,180,RM,21,1890,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,SFoyer,4,7,1972,1972,Gable,CompShg,CemntBd,CmentBd,None,0,TA,Gd,CBlock,Gd,TA,Av,ALQ,495,Unf,0,135,630,GasA,Gd,Y,SBrkr,630,0,0,630,1,0,1,0,1,1,TA,3,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,88,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,81000 +436,60,RL,43,10667,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,CollgCr,PosN,Norm,1Fam,2Story,7,6,1996,1996,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,385,ALQ,344,70,799,GasA,Ex,Y,SBrkr,827,834,0,1661,1,0,2,1,3,1,Gd,6,Typ,1,TA,Attchd,1996,RFn,2,550,TA,TA,Y,158,61,0,0,0,0,NA,NA,NA,0,4,2009,ConLw,Normal,212000 +437,50,RM,40,4400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,6,8,1920,1950,Gable,CompShg,Stucco,Stucco,None,0,TA,TA,BrkTil,Fa,TA,No,Unf,0,Unf,0,648,648,GasA,TA,Y,FuseA,734,384,0,1118,0,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1990,Unf,2,440,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal,116000 +438,45,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Unf,6,7,1926,2004,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,TA,PConc,TA,TA,No,Unf,0,Unf,0,884,884,GasA,Gd,Y,SBrkr,904,0,0,904,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1926,Unf,1,180,TA,TA,Y,0,0,105,0,0,0,NA,NA,NA,0,1,2009,WD,Normal,119000 +439,30,RL,40,4280,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,5,6,1913,2002,Gable,CompShg,WdShing,Stucco,None,0,TA,TA,PConc,TA,TA,No,LwQ,365,Unf,0,75,440,GasA,TA,N,SBrkr,694,0,0,694,0,0,1,0,2,1,Gd,4,Typ,1,Gd,Detchd,1990,Unf,1,352,Gd,TA,P,0,0,34,0,0,0,NA,MnPrv,NA,0,3,2007,WD,Normal,90350 +440,50,RL,67,12354,Pave,Grvl,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,6,8,1920,2000,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,Fa,Mn,Unf,0,Unf,0,684,684,GasA,Gd,Y,SBrkr,684,512,0,1196,0,0,1,0,3,1,Gd,7,Typ,0,NA,Detchd,2005,Unf,2,528,TA,TA,Y,0,46,0,0,0,0,NA,GdPrv,Shed,800,8,2009,ConLI,Normal,110000 +441,20,RL,105,15431,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,10,5,2008,2008,Hip,CompShg,VinylSd,VinylSd,Stone,200,Ex,TA,PConc,Ex,TA,Gd,GLQ,1767,ALQ,539,788,3094,GasA,Ex,Y,SBrkr,2402,0,0,2402,1,0,2,0,2,1,Ex,10,Typ,2,Gd,Attchd,2008,Fin,3,672,TA,TA,Y,0,72,0,0,170,0,NA,NA,NA,0,4,2009,WD,Normal,555000 +442,90,RL,92,12108,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,Duplex,1Story,4,4,1955,1955,Gable,CompShg,VinylSd,VinylSd,BrkFace,270,TA,TA,CBlock,TA,TA,No,ALQ,133,Unf,0,1307,1440,GasA,TA,N,FuseF,1440,0,0,1440,0,0,2,0,4,2,Fa,8,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal,118000 +443,50,RM,52,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,7,1930,1992,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,1078,1078,GasA,TA,Y,SBrkr,1128,445,0,1573,0,0,2,0,3,1,TA,8,Typ,1,Gd,Detchd,1930,Unf,2,360,TA,TA,P,0,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,162900 +444,120,RL,53,3922,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2006,2007,Gable,CompShg,WdShing,Wd Shng,BrkFace,72,Gd,TA,PConc,Ex,TA,Av,Unf,0,Unf,0,1258,1258,GasA,Ex,Y,SBrkr,1258,0,0,1258,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2007,Fin,3,648,TA,TA,Y,144,16,0,0,0,0,NA,NA,NA,0,6,2007,New,Partial,172500 +445,60,RL,70,8750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,1994,1995,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,Gd,PConc,Gd,TA,No,GLQ,642,Unf,0,273,915,GasA,Ex,Y,SBrkr,933,975,0,1908,1,0,2,1,4,1,Gd,8,Typ,1,TA,Attchd,1994,Unf,2,493,TA,TA,Y,144,133,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,210000 +446,20,RL,73,9855,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,1Story,6,5,1956,1956,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1436,1436,GasA,Fa,Y,SBrkr,1689,0,0,1689,0,0,1,0,3,1,TA,7,Typ,1,Gd,Attchd,1956,Unf,2,480,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,11,2009,COD,Normal,127500 +447,20,RL,137,16492,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,PosA,Norm,1Fam,1Story,6,6,1966,2002,Gable,CompShg,BrkFace,Plywood,None,0,Gd,TA,CBlock,TA,TA,No,ALQ,247,Rec,713,557,1517,GasA,Ex,Y,SBrkr,1888,0,0,1888,0,0,2,1,2,1,Gd,6,Mod,1,Gd,Attchd,1966,Fin,2,578,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,190000 +448,60,RL,NA,11214,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,1998,1999,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,930,930,GasA,Gd,Y,SBrkr,956,930,0,1886,0,0,2,1,4,1,Gd,10,Typ,1,TA,Attchd,1998,Fin,2,431,TA,TA,Y,89,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,199900 +449,50,RM,50,8600,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,6,6,1937,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,780,780,GasA,TA,Y,SBrkr,780,596,0,1376,0,0,2,0,3,1,TA,7,Typ,1,Gd,Detchd,1937,Unf,1,198,TA,TA,N,0,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,119500 +450,50,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,3,7,1948,2002,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,331,Unf,0,318,649,GasA,Ex,Y,SBrkr,679,504,0,1183,0,0,1,1,2,1,TA,6,Typ,0,NA,Detchd,1981,Unf,1,308,TA,TA,Y,0,176,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,120000 +451,30,RM,70,5684,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,6,8,1930,2005,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,813,813,GasA,Ex,Y,FuseA,813,0,0,813,0,0,1,0,2,1,Gd,5,Typ,0,NA,Detchd,1932,Unf,1,270,Fa,Fa,N,0,113,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,110000 +452,20,RL,62,70761,Pave,NA,IR1,Low,AllPub,Inside,Mod,ClearCr,Norm,Norm,1Fam,1Story,7,5,1975,1975,Gable,WdShngl,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,Gd,ALQ,655,Unf,0,878,1533,GasA,TA,Y,SBrkr,1533,0,0,1533,1,0,2,0,2,1,Gd,5,Typ,2,TA,Attchd,1975,Unf,2,576,TA,TA,Y,200,54,0,0,0,0,NA,NA,NA,0,12,2006,WD,Normal,280000 +453,60,RL,NA,9303,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,2Story,6,5,1996,1997,Hip,CompShg,VinylSd,VinylSd,BrkFace,42,Gd,TA,PConc,Ex,TA,No,ALQ,742,Unf,0,130,872,GasA,Ex,Y,SBrkr,888,868,0,1756,1,0,2,1,3,1,TA,7,Typ,0,NA,Attchd,1996,Fin,2,422,TA,TA,Y,144,122,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,204000 +454,60,FV,75,9000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,768,768,GasA,Ex,Y,SBrkr,786,804,0,1590,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2008,RFn,2,676,TA,TA,Y,0,30,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,210000 +455,90,RL,63,9297,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,Duplex,1Story,5,5,1976,1976,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,1606,Unf,0,122,1728,GasA,TA,Y,SBrkr,1728,0,0,1728,2,0,2,0,4,2,TA,8,Typ,0,NA,Detchd,1976,Unf,2,560,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Family,188000 +456,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,7,6,1973,1973,Hip,CompShg,HdBoard,HdBoard,BrkFace,320,TA,TA,CBlock,TA,TA,No,ALQ,916,Unf,0,326,1242,GasA,Fa,Y,SBrkr,1242,0,0,1242,0,0,1,1,3,1,TA,6,Typ,1,TA,Attchd,1973,Unf,2,528,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,9,2007,WD,Normal,175500 +457,70,RM,34,4571,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,5,5,1916,1950,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,624,624,GasA,Fa,N,SBrkr,624,720,0,1344,0,0,1,0,4,1,TA,7,Typ,0,NA,Detchd,1916,Unf,3,513,Fa,Fa,Y,0,0,96,0,0,0,NA,NA,NA,0,5,2008,COD,Abnorml,98000 +458,20,RL,NA,53227,Pave,NA,IR1,Low,AllPub,CulDSac,Mod,ClearCr,Norm,Norm,1Fam,1Story,4,6,1954,1994,Flat,Tar&Grv,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,Gd,BLQ,1116,Unf,0,248,1364,GasA,Ex,Y,SBrkr,1663,0,0,1663,1,0,1,0,2,1,Gd,6,Min1,2,Gd,Attchd,1954,Fin,2,529,TA,TA,Y,224,137,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal,256000 +459,70,RM,NA,5100,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,8,7,1925,1996,Hip,CompShg,Stucco,Wd Shng,None,0,TA,Gd,PConc,TA,TA,No,Unf,0,Unf,0,588,588,GasA,Fa,Y,SBrkr,833,833,0,1666,0,0,1,0,3,1,Gd,7,Typ,1,Gd,Detchd,1925,Unf,1,228,TA,TA,Y,192,63,0,0,0,0,NA,MnPrv,NA,0,6,2008,WD,Normal,161000 +460,50,RL,NA,7015,Pave,NA,IR1,Bnk,AllPub,Corner,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,4,1950,1950,Gable,CompShg,MetalSd,MetalSd,BrkCmn,161,TA,TA,CBlock,TA,TA,No,LwQ,185,Unf,0,524,709,GasA,TA,Y,SBrkr,979,224,0,1203,1,0,1,0,3,1,Gd,5,Typ,1,TA,Detchd,1950,Unf,1,352,TA,TA,Y,0,0,248,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,110000 +461,60,FV,75,8004,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,RRAn,Norm,1Fam,2Story,8,5,2009,2009,Gable,CompShg,VinylSd,VinylSd,Stone,110,Gd,TA,PConc,Gd,TA,No,GLQ,544,Unf,0,288,832,GasA,Ex,Y,SBrkr,832,1103,0,1935,1,0,2,1,3,1,TA,8,Typ,0,NA,BuiltIn,2009,Fin,2,552,TA,TA,Y,0,150,0,0,0,0,NA,NA,NA,0,12,2009,New,Partial,263435 +462,70,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Feedr,Norm,1Fam,2Story,7,9,1936,2007,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,Gd,PConc,Gd,Gd,No,ALQ,350,BLQ,210,0,560,GasA,Ex,Y,SBrkr,575,560,0,1135,1,0,1,0,3,1,Gd,6,Typ,0,NA,Detchd,1971,RFn,2,576,TA,TA,Y,256,0,0,0,0,0,NA,MnPrv,NA,0,4,2009,WD,Normal,155000 +463,20,RL,60,8281,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1965,1965,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,553,BLQ,311,0,864,GasA,Gd,Y,SBrkr,864,0,0,864,0,0,1,0,3,1,TA,5,Typ,1,Po,Detchd,1965,Unf,1,360,TA,TA,Y,0,0,236,0,0,0,NA,GdWo,NA,0,12,2009,WD,Normal,62383 +464,70,RL,74,11988,Pave,NA,IR1,HLS,AllPub,Inside,Mod,Crawfor,Norm,Norm,1Fam,2Story,6,7,1934,1995,Hip,CompShg,Stucco,Stucco,None,0,TA,TA,CBlock,TA,TA,No,LwQ,326,Unf,0,389,715,GasA,Fa,Y,FuseA,849,811,0,1660,0,0,1,1,3,1,TA,6,Typ,1,Gd,Detchd,1939,Unf,1,240,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal,188700 +465,20,RL,60,8430,Pave,NA,Reg,HLS,AllPub,Inside,Mod,CollgCr,Norm,Norm,1Fam,1Story,5,5,1978,1978,Gable,CompShg,HdBoard,HdBoard,BrkFace,136,TA,TA,CBlock,Gd,TA,No,Rec,616,Unf,0,424,1040,GasA,TA,Y,SBrkr,1040,0,0,1040,0,0,2,0,3,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal,124000 +466,120,RM,NA,3072,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2004,2004,Hip,CompShg,VinylSd,VinylSd,BrkFace,18,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1375,1375,GasA,Ex,Y,SBrkr,1414,0,0,1414,0,0,2,0,2,1,Gd,6,Typ,1,TA,Attchd,2004,Fin,2,398,TA,TA,Y,144,20,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,178740 +467,20,RL,85,10628,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,7,5,1970,1970,Flat,Tar&Grv,Plywood,Plywood,None,0,TA,Gd,CBlock,TA,Gd,Gd,GLQ,778,Unf,0,499,1277,GasA,TA,Y,SBrkr,1277,0,0,1277,1,0,1,0,2,1,TA,5,Typ,1,Po,Attchd,1970,Unf,2,526,TA,TA,Y,0,0,0,0,176,0,NA,GdWo,NA,0,4,2007,WD,Normal,167000 +468,70,RL,79,9480,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Artery,Norm,1Fam,2Story,5,7,1942,1995,Gable,CompShg,MetalSd,MetalSd,Stone,224,TA,TA,CBlock,TA,TA,No,LwQ,386,Unf,0,342,728,GasA,Ex,Y,SBrkr,888,756,0,1644,0,0,1,1,3,1,Gd,7,Typ,2,Gd,Attchd,1942,Unf,1,312,TA,TA,Y,168,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,146500 +469,20,RL,98,11428,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,Stone,248,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1626,1626,GasA,Ex,Y,SBrkr,1634,0,0,1634,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2006,RFn,3,866,TA,TA,Y,0,44,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,250000 +470,60,RL,76,9291,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,SawyerW,RRNe,Norm,1Fam,2Story,6,5,1993,1993,Gable,CompShg,HdBoard,HdBoard,BrkFace,120,Gd,TA,PConc,Gd,TA,No,GLQ,426,Unf,0,406,832,GasA,Ex,Y,SBrkr,832,878,0,1710,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,1993,RFn,2,506,TA,TA,Y,144,70,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,187000 +471,120,RL,NA,6820,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,1985,1985,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,368,BLQ,1120,0,1488,GasA,TA,Y,SBrkr,1502,0,0,1502,1,0,1,1,1,1,Gd,4,Typ,0,NA,Attchd,1985,RFn,2,528,TA,TA,Y,0,54,0,0,140,0,NA,NA,NA,0,6,2010,WD,Normal,212000 +472,60,RL,92,11952,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,PosA,Norm,1Fam,2Story,7,6,1977,1977,Mansard,WdShake,WdShing,Plywood,None,0,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,808,808,GasA,TA,Y,SBrkr,1161,808,0,1969,0,0,2,1,3,1,TA,8,Typ,1,Gd,Attchd,1977,RFn,2,534,TA,TA,Y,0,0,0,0,276,0,NA,NA,NA,0,11,2007,WD,Normal,190000 +473,180,RM,35,3675,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,TwnhsE,SLvl,6,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,80,TA,TA,PConc,Gd,TA,Gd,GLQ,459,Unf,0,88,547,GasA,Ex,Y,SBrkr,1072,0,0,1072,1,0,1,0,2,1,TA,5,Typ,0,NA,Basment,2005,RFn,2,525,TA,TA,Y,0,28,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,148000 +474,20,RL,110,14977,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,BrkFace,304,Gd,TA,PConc,Ex,TA,Gd,GLQ,1350,Unf,0,626,1976,GasA,Ex,Y,SBrkr,1976,0,0,1976,1,0,2,0,2,1,Gd,7,Typ,1,Ex,Attchd,2006,RFn,3,908,TA,TA,Y,250,63,0,0,0,0,NA,NA,NA,0,7,2007,New,Partial,440000 +475,120,RL,41,5330,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,2000,2000,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,1196,Unf,0,298,1494,GasA,Ex,Y,SBrkr,1652,0,0,1652,1,0,2,0,2,1,Ex,6,Typ,0,NA,Attchd,2000,RFn,2,499,TA,TA,Y,96,48,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,251000 +476,20,RL,80,8480,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,6,1963,1963,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,GLQ,630,Unf,0,340,970,GasA,TA,Y,SBrkr,970,0,0,970,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1996,Unf,2,624,TA,TA,Y,0,24,0,0,192,0,NA,NA,NA,0,7,2007,WD,Normal,132500 +477,20,RL,75,13125,Pave,NA,Reg,Lvl,AllPub,Inside,Mod,CollgCr,Norm,Norm,1Fam,1Story,6,5,1997,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,215,TA,TA,PConc,Gd,TA,Gd,GLQ,994,Unf,0,484,1478,GasA,Ex,Y,SBrkr,1493,0,0,1493,1,0,2,0,3,1,Gd,7,Typ,1,TA,Attchd,1997,Fin,2,508,TA,TA,Y,140,39,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal,208900 +478,60,RL,105,13693,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,772,Ex,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,2153,2153,GasA,Ex,Y,SBrkr,2069,574,0,2643,0,0,2,1,3,1,Ex,9,Typ,1,Gd,BuiltIn,2006,Fin,3,694,TA,TA,Y,414,84,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal,380000 +479,20,RL,79,10637,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2007,2008,Hip,CompShg,VinylSd,VinylSd,Stone,336,Gd,TA,PConc,Ex,TA,Gd,GLQ,1288,Unf,0,417,1705,GasA,Ex,Y,SBrkr,1718,0,0,1718,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2007,RFn,3,826,TA,TA,Y,208,44,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal,297000 +480,30,RM,50,5925,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,4,7,1937,2000,Hip,CompShg,Stucco,Stucco,BrkCmn,435,TA,TA,BrkTil,Fa,TA,No,Rec,168,Unf,0,739,907,GasA,TA,Y,SBrkr,1131,0,0,1131,0,0,1,0,2,1,TA,7,Typ,0,NA,Detchd,1995,Unf,2,672,TA,TA,Y,0,72,0,0,0,0,NA,MnPrv,NA,0,3,2007,WD,Alloca,89471 +481,20,RL,98,16033,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2004,2005,Hip,CompShg,VinylSd,VinylSd,BrkFace,378,Gd,TA,PConc,Ex,TA,Gd,GLQ,1261,Unf,0,572,1833,GasA,Ex,Y,SBrkr,1850,0,0,1850,1,0,2,0,3,1,Gd,8,Typ,1,Gd,Attchd,2004,Fin,3,772,TA,TA,Y,519,112,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal,326000 +482,20,RL,72,11846,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2003,2004,Hip,CompShg,VinylSd,VinylSd,BrkFace,562,Gd,TA,PConc,Ex,TA,Gd,GLQ,1567,Unf,0,225,1792,GasA,Ex,Y,SBrkr,1792,0,0,1792,1,0,2,0,2,1,Ex,6,Typ,1,Gd,Attchd,2003,Fin,3,874,TA,TA,Y,206,49,0,0,0,0,NA,NA,NA,0,8,2006,WD,Normal,374000 +483,70,RM,50,2500,Pave,Pave,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,2Story,7,8,1915,2005,Gable,CompShg,Stucco,Stucco,None,0,Gd,TA,PConc,TA,TA,No,ALQ,299,Unf,0,611,910,GasA,Ex,Y,SBrkr,916,910,0,1826,1,0,1,1,4,1,Ex,7,Min2,1,Gd,Attchd,1915,Unf,1,164,Fa,Fa,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,155000 +484,120,RM,32,4500,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Mitchel,Norm,Norm,Twnhs,1Story,6,5,1998,1998,Hip,CompShg,VinylSd,VinylSd,BrkFace,116,TA,TA,PConc,Ex,TA,No,GLQ,897,Unf,0,319,1216,GasA,Ex,Y,SBrkr,1216,0,0,1216,1,0,2,0,2,1,TA,5,Typ,0,NA,Attchd,1998,Unf,2,402,TA,TA,Y,0,125,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,164000 +485,20,RL,NA,7758,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,7,1962,2001,Gable,CompShg,HdBoard,Plywood,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,588,Unf,0,411,999,GasA,Gd,Y,SBrkr,999,0,0,999,1,0,1,0,3,1,Gd,6,Typ,0,NA,Detchd,1963,Unf,1,264,TA,TA,Y,0,132,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal,132500 +486,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1950,2007,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,CBlock,TA,TA,No,ALQ,607,Unf,0,506,1113,GasA,Gd,Y,SBrkr,1113,0,0,1113,0,0,1,0,3,1,Gd,5,Typ,1,Gd,Attchd,1950,Unf,1,264,TA,TA,Y,0,80,120,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,147000 +487,20,RL,79,10289,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1965,1965,Hip,CompShg,MetalSd,MetalSd,BrkFace,168,TA,TA,CBlock,TA,TA,No,ALQ,836,Unf,0,237,1073,GasA,TA,Y,SBrkr,1073,0,0,1073,1,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1965,RFn,2,515,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,156000 +488,20,RL,70,12243,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,5,6,1971,1971,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,Av,ALQ,998,Unf,0,486,1484,GasA,Gd,Y,SBrkr,1484,0,0,1484,0,0,2,0,3,1,TA,7,Typ,1,TA,Attchd,1971,Unf,2,487,TA,TA,Y,224,0,0,0,180,0,NA,NA,NA,0,2,2007,WD,Normal,175000 +489,190,RL,60,10800,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,2fmCon,1.5Fin,5,4,1900,1970,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Fa,CBlock,TA,Fa,No,BLQ,664,Unf,0,290,954,GasA,TA,N,FuseA,1766,648,0,2414,0,0,2,0,3,2,TA,10,Mod,1,Gd,Attchd,1970,Unf,2,520,TA,Fa,N,142,0,0,0,0,0,NA,NA,NA,0,5,2006,ConLD,Normal,160000 +490,180,RM,21,1526,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,SFoyer,4,8,1970,2002,Gable,CompShg,CemntBd,CmentBd,None,0,TA,Gd,CBlock,Gd,TA,Av,GLQ,515,Unf,0,115,630,GasA,TA,Y,SBrkr,630,0,0,630,1,0,1,0,1,1,Gd,3,Typ,0,NA,Attchd,1970,Unf,1,286,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,86000 +491,160,RM,NA,2665,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,2Story,5,6,1976,1976,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,264,264,GasA,TA,Y,SBrkr,616,688,0,1304,0,0,1,1,3,1,TA,4,Typ,1,Gd,BuiltIn,1976,Fin,1,336,TA,TA,Y,141,24,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,115000 +492,50,RL,79,9490,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Artery,Norm,1Fam,1.5Fin,6,7,1941,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,403,Rec,165,238,806,GasA,TA,Y,FuseA,958,620,0,1578,1,0,1,0,3,1,Fa,5,Typ,2,TA,Attchd,1941,Unf,1,240,TA,TA,Y,0,0,32,0,0,0,NA,MnPrv,NA,0,8,2006,WD,Normal,133000 +493,60,RL,105,15578,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,728,728,GasA,Gd,Y,SBrkr,728,728,0,1456,0,0,2,1,3,1,TA,8,Typ,0,NA,Attchd,2006,RFn,2,429,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2006,New,Partial,172785 +494,20,RL,70,7931,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1960,1960,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,374,LwQ,532,363,1269,GasA,TA,Y,FuseA,1269,0,0,1269,0,0,1,1,3,1,TA,6,Typ,1,Fa,Detchd,1964,Unf,1,308,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,155000 +495,30,RM,50,5784,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1Story,5,8,1938,1996,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,Fa,TA,No,Unf,0,Unf,0,190,190,GasA,Gd,Y,FuseA,886,0,0,886,0,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1938,Unf,1,273,TA,TA,Y,144,20,80,0,0,0,NA,NA,NA,0,12,2009,WD,Normal,91300 +496,30,C (all),60,7879,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,4,5,1920,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,495,Unf,0,225,720,GasA,TA,N,FuseA,720,0,0,720,0,0,1,0,2,1,TA,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,523,115,0,0,0,NA,GdWo,NA,0,11,2009,WD,Abnorml,34900 +497,20,RL,NA,12692,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,1Story,8,5,1992,1993,Hip,CompShg,BrkFace,BrkFace,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,1231,Unf,0,1969,3200,GasA,Ex,Y,SBrkr,3228,0,0,3228,1,0,3,0,4,1,Gd,10,Typ,1,Gd,Attchd,1992,RFn,2,546,TA,TA,Y,264,75,291,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,430000 +498,50,RL,60,9120,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,7,6,1925,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,PConc,TA,TA,No,Rec,329,Unf,0,697,1026,GasA,Ex,Y,SBrkr,1133,687,0,1820,1,0,2,0,4,1,TA,8,Typ,0,NA,Detchd,1925,Unf,1,240,TA,TA,N,0,100,0,0,0,0,NA,GdPrv,NA,0,6,2008,WD,Normal,184000 +499,20,RL,65,7800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,7,1967,2004,Hip,CompShg,HdBoard,HdBoard,BrkFace,89,TA,TA,PConc,TA,TA,No,ALQ,450,Unf,0,414,864,GasA,Ex,Y,SBrkr,899,0,0,899,0,0,1,0,3,1,Gd,5,Typ,0,NA,Attchd,1967,Fin,1,288,TA,TA,Y,64,0,0,0,0,0,NA,MnPrv,NA,0,6,2009,WD,Normal,130000 +500,20,RL,70,7535,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1958,1985,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,111,LwQ,279,522,912,GasA,Fa,Y,SBrkr,912,0,0,912,0,1,1,0,2,1,TA,5,Typ,0,NA,Attchd,1958,Fin,1,297,TA,TA,Y,12,285,0,0,0,0,NA,MnWw,Shed,480,6,2007,WD,Normal,120000 +501,160,RM,21,1890,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,5,1973,1973,Gable,CompShg,HdBoard,HdBoard,BrkFace,285,TA,TA,CBlock,TA,TA,No,BLQ,356,Unf,0,316,672,GasA,TA,Y,SBrkr,672,546,0,1218,0,0,1,1,3,1,TA,7,Typ,0,NA,Detchd,1973,Unf,1,264,TA,TA,Y,144,28,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,113000 +502,60,FV,75,9803,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,400,Unf,0,466,866,GasA,Gd,Y,SBrkr,866,902,0,1768,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2005,RFn,2,603,TA,TA,Y,0,108,0,0,0,0,NA,NA,NA,0,2,2008,WD,Normal,226700 +503,20,RL,70,9170,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Feedr,Norm,1Fam,1Story,5,7,1965,1965,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,698,GLQ,96,420,1214,GasA,Ex,Y,SBrkr,1214,0,0,1214,1,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1965,Unf,2,461,Fa,Fa,Y,0,0,184,0,0,0,NA,GdPrv,Shed,400,4,2007,WD,Normal,140000 +504,20,RL,100,15602,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,7,8,1959,1997,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,ALQ,1247,Unf,0,254,1501,GasA,TA,Y,SBrkr,1801,0,0,1801,1,0,2,0,1,1,TA,6,Typ,2,TA,Attchd,1959,Fin,2,484,TA,TA,Y,0,54,0,0,161,0,NA,GdWo,NA,0,3,2010,WD,Normal,289000 +505,160,RL,24,2308,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NPkVill,Norm,Norm,TwnhsE,2Story,6,5,1974,1974,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,TA,TA,No,ALQ,257,Rec,495,103,855,GasA,TA,Y,SBrkr,855,467,0,1322,0,1,2,1,3,1,TA,6,Typ,1,Fa,Attchd,1974,Unf,2,440,TA,TA,Y,260,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,147000 +506,90,RM,60,7596,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,Duplex,2Story,5,5,1952,1952,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,360,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,960,960,GasA,Gd,Y,SBrkr,960,1000,0,1960,0,0,2,0,4,2,TA,10,Typ,0,NA,Detchd,1952,Unf,2,400,TA,TA,N,0,0,0,0,0,0,NA,NA,NA,0,7,2009,COD,Normal,124500 +507,60,RL,80,9554,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,8,5,1993,1994,Gable,CompShg,VinylSd,VinylSd,BrkFace,125,Gd,TA,PConc,Gd,TA,No,GLQ,380,Unf,0,397,777,GasA,Ex,Y,SBrkr,1065,846,0,1911,0,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1993,RFn,2,471,TA,TA,Y,182,81,0,0,0,0,NA,NA,NA,0,9,2006,WD,Normal,215000 +508,20,FV,75,7862,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,6,5,2009,2009,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,27,Unf,0,1191,1218,GasA,Ex,Y,SBrkr,1218,0,0,1218,0,0,2,0,2,1,Gd,4,Typ,0,NA,Attchd,2009,Fin,2,676,TA,TA,Y,0,102,0,0,0,0,NA,NA,NA,0,9,2009,New,Partial,208300 +509,70,RM,60,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,7,9,1928,2005,Gambrel,CompShg,MetalSd,MetalSd,None,0,TA,Ex,BrkTil,TA,TA,No,Rec,141,Unf,0,548,689,GasA,Ex,Y,SBrkr,689,689,0,1378,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Detchd,1928,Unf,2,360,TA,TA,N,0,0,116,0,0,0,NA,NA,NA,0,10,2008,WD,Normal,161000 +510,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1959,1959,Gable,CompShg,MetalSd,MetalSd,BrkFace,132,TA,TA,CBlock,TA,TA,No,ALQ,991,Unf,0,50,1041,GasA,Ex,Y,SBrkr,1041,0,0,1041,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1959,RFn,1,270,TA,TA,Y,224,88,0,0,0,0,NA,MnPrv,NA,0,7,2009,WD,Normal,124500 +511,20,RL,75,14559,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1951,2000,Hip,CompShg,Wd Sdng,Wd Sdng,BrkCmn,70,Gd,TA,CBlock,TA,TA,No,BLQ,650,Rec,180,178,1008,GasA,Ex,Y,SBrkr,1363,0,0,1363,1,0,1,0,2,1,TA,6,Min1,2,TA,CarPort,1951,Unf,1,288,TA,TA,Y,324,42,0,0,168,0,NA,NA,Shed,2000,6,2009,WD,Normal,164900 +512,120,RL,40,6792,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,Stone,94,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1368,1368,GasA,Ex,Y,SBrkr,1368,0,0,1368,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2005,RFn,2,474,TA,TA,Y,132,35,0,0,0,0,NA,NA,NA,0,3,2006,New,Partial,202665 +513,20,RL,70,9100,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Feedr,Norm,1Fam,1Story,5,5,1958,1958,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,521,LwQ,174,169,864,GasA,TA,Y,SBrkr,864,0,0,864,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1964,Unf,2,624,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,129900 +514,20,RL,71,9187,Pave,NA,Reg,Bnk,AllPub,Corner,Gtl,Mitchel,Norm,Norm,1Fam,1Story,6,5,1983,1983,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,PConc,TA,TA,No,ALQ,336,Unf,0,748,1084,GasA,TA,Y,SBrkr,1080,0,0,1080,0,0,1,1,3,1,TA,5,Typ,0,NA,Attchd,1983,Unf,2,484,TA,TA,Y,120,0,158,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,134000 +515,45,RL,55,10594,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1.5Unf,5,5,1926,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,768,768,Grav,Fa,N,SBrkr,789,0,0,789,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1926,Unf,1,200,Po,Po,Y,0,0,112,0,0,0,NA,MnPrv,NA,0,6,2007,WD,Normal,96500 +516,20,RL,94,12220,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,10,5,2009,2009,Hip,CompShg,CemntBd,CmentBd,BrkFace,305,Ex,TA,CBlock,Ex,TA,No,GLQ,1436,Unf,0,570,2006,GasA,Ex,Y,SBrkr,2020,0,0,2020,1,0,2,1,3,1,Ex,9,Typ,1,Gd,Attchd,2009,Fin,3,900,TA,TA,Y,156,54,0,0,0,0,NA,NA,NA,0,9,2009,New,Partial,402861 +517,80,RL,NA,10448,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NWAmes,Norm,Norm,1Fam,SLvl,6,6,1972,1972,Gable,CompShg,HdBoard,HdBoard,BrkFace,333,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,689,689,GasA,TA,Y,SBrkr,1378,741,0,2119,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1972,RFn,2,583,TA,TA,Y,0,104,0,0,0,0,NA,GdPrv,NA,0,8,2009,COD,Abnorml,158000 +518,60,RL,79,10208,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,7,5,1996,1997,Gable,CompShg,VinylSd,VinylSd,BrkFace,921,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1264,1264,GasA,Ex,Y,SBrkr,1277,1067,0,2344,0,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1996,RFn,3,889,TA,TA,Y,220,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,265000 +519,60,RL,NA,9531,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,2Story,6,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Mn,GLQ,706,Unf,0,88,794,GasA,Ex,Y,SBrkr,882,914,0,1796,1,0,2,1,3,1,TA,7,Typ,0,NA,Attchd,1998,RFn,2,546,TA,TA,Y,0,36,0,0,0,0,NA,MnPrv,NA,0,5,2007,WD,Normal,211000 +520,70,RL,53,10918,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,7,9,1926,2004,Gambrel,CompShg,MetalSd,MetalSd,None,0,Gd,TA,BrkTil,Gd,TA,No,Unf,0,Unf,0,1276,1276,GasA,Ex,Y,SBrkr,1276,804,0,2080,0,0,1,1,3,1,Gd,9,Typ,2,Gd,Detchd,1926,Unf,1,282,TA,TA,Y,0,0,0,0,145,0,NA,MnPrv,NA,0,6,2009,WD,Normal,234000 +521,190,RL,60,10800,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,2fmCon,2Story,4,7,1900,2000,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,N,FuseA,694,600,0,1294,0,0,2,0,3,2,TA,7,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,220,114,210,0,0,0,NA,NA,NA,0,8,2008,WD,Normal,106250 +522,20,RL,90,11988,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Feedr,Norm,1Fam,1Story,6,6,1957,1957,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,777,Unf,0,467,1244,GasA,Ex,Y,FuseA,1244,0,0,1244,0,0,1,1,3,1,TA,6,Typ,2,Gd,Attchd,1957,Unf,1,336,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,150000 +523,50,RM,50,5000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,BrkSide,Feedr,Norm,1Fam,1.5Fin,6,7,1947,1950,Gable,CompShg,CemntBd,CmentBd,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,399,Unf,0,605,1004,GasA,Ex,Y,SBrkr,1004,660,0,1664,0,0,2,0,3,1,TA,7,Typ,2,Gd,Detchd,1950,Unf,2,420,TA,TA,Y,0,24,36,0,0,0,NA,NA,NA,0,10,2006,WD,Normal,159000 +524,60,RL,130,40094,Pave,NA,IR1,Bnk,AllPub,Inside,Gtl,Edwards,PosN,PosN,1Fam,2Story,10,5,2007,2008,Hip,CompShg,CemntBd,CmentBd,Stone,762,Ex,TA,PConc,Ex,TA,Gd,GLQ,2260,Unf,0,878,3138,GasA,Ex,Y,SBrkr,3138,1538,0,4676,1,0,3,1,3,1,Ex,11,Typ,1,Gd,BuiltIn,2007,Fin,3,884,TA,TA,Y,208,406,0,0,0,0,NA,NA,NA,0,10,2007,New,Partial,184750 +525,60,RL,95,11787,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,7,5,1996,1997,Gable,CompShg,VinylSd,VinylSd,BrkFace,594,Gd,TA,PConc,Gd,TA,No,GLQ,719,Unf,0,660,1379,GasA,Ex,Y,SBrkr,1383,1015,0,2398,1,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1996,Fin,3,834,TA,TA,Y,239,60,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,315750 +526,20,FV,62,7500,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1257,1257,GasA,Ex,Y,SBrkr,1266,0,0,1266,0,0,2,0,3,1,Gd,6,Typ,1,TA,Attchd,2005,Unf,2,453,TA,TA,Y,38,144,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,176000 +527,20,RL,70,13300,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1956,2000,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,Gd,TA,No,Rec,377,Unf,0,551,928,GasA,TA,Y,SBrkr,928,0,0,928,0,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1956,Unf,1,252,TA,TA,Y,261,0,156,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,132000 +528,60,RL,67,14948,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2008,2008,Hip,CompShg,VinylSd,VinylSd,Stone,268,Ex,TA,PConc,Ex,TA,Av,GLQ,1330,Unf,0,122,1452,GasA,Ex,Y,SBrkr,1476,1237,0,2713,1,0,2,1,3,1,Ex,11,Typ,1,Gd,Attchd,2008,Fin,3,858,TA,TA,Y,126,66,0,0,0,0,NA,NA,NA,0,11,2008,New,Partial,446261 +529,30,RL,58,9098,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,7,1920,2002,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,Mn,ALQ,348,Unf,0,180,528,GasA,Ex,Y,SBrkr,605,0,0,605,1,0,1,0,2,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,144,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,86000 +530,20,RL,NA,32668,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Crawfor,Norm,Norm,1Fam,1Story,6,3,1957,1975,Hip,CompShg,Wd Sdng,Stone,NA,NA,Gd,TA,PConc,TA,TA,No,Rec,1219,Unf,0,816,2035,GasA,TA,Y,SBrkr,2515,0,0,2515,1,0,3,0,4,2,TA,9,Maj1,2,TA,Attchd,1975,RFn,2,484,TA,TA,Y,0,0,200,0,0,0,NA,NA,NA,0,3,2007,WD,Alloca,200624 +531,80,RL,85,10200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,SLvl,6,5,1988,1989,Gable,CompShg,HdBoard,HdBoard,BrkFace,219,Gd,TA,CBlock,Gd,TA,Av,GLQ,783,Unf,0,678,1461,GasA,Ex,Y,SBrkr,1509,0,0,1509,1,0,2,0,3,1,Gd,5,Typ,1,Fa,Attchd,1988,RFn,2,600,TA,TA,Y,224,0,0,0,0,0,NA,NA,NA,0,8,2008,WD,Abnorml,175000 +532,70,RM,60,6155,Pave,NA,IR1,Lvl,AllPub,FR3,Gtl,BrkSide,RRNn,Feedr,1Fam,2Story,6,8,1920,1999,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Fa,Fa,Mn,Unf,0,Unf,0,611,611,GasA,Ex,Y,SBrkr,751,611,0,1362,0,0,2,0,3,1,TA,6,Typ,0,NA,Detchd,1920,Fin,2,502,TA,Fa,Y,0,0,84,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,128000 +533,20,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1955,2007,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,Ex,Y,SBrkr,827,0,0,827,0,0,1,0,2,1,TA,5,Mod,1,Po,Detchd,1967,Unf,1,392,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,107500 +534,20,RL,50,5000,Pave,NA,Reg,Low,AllPub,Inside,Mod,BrkSide,Norm,Norm,1Fam,1Story,1,3,1946,1950,Gable,CompShg,VinylSd,VinylSd,None,0,Fa,Fa,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,Fa,N,FuseF,334,0,0,334,0,0,1,0,1,1,Fa,2,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,0,0,0,0,NA,NA,NA,0,1,2007,WD,Normal,39300 +535,60,RL,74,9056,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,8,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,Gd,Av,Unf,0,Unf,0,707,707,GasA,Ex,Y,SBrkr,707,707,0,1414,0,0,2,1,3,1,Gd,6,Typ,1,Gd,Attchd,2004,Fin,2,403,TA,TA,Y,100,35,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal,178000 +536,190,RL,70,7000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,2fmCon,2Story,5,7,1910,1991,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,Gd,TA,Gd,GLQ,969,Unf,0,148,1117,GasA,TA,Y,SBrkr,820,527,0,1347,1,0,1,0,3,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,85,0,148,0,0,0,NA,NA,NA,0,1,2008,WD,Normal,107500 +537,60,RL,57,8924,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,1998,1999,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,880,880,GasA,Ex,Y,SBrkr,880,844,0,1724,0,0,2,1,3,1,Gd,8,Typ,0,NA,Attchd,1998,Fin,2,527,TA,TA,Y,120,155,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,188000 +538,20,RL,NA,12735,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,5,1972,1972,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,600,Unf,0,264,864,GasA,TA,Y,SBrkr,864,0,0,864,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1980,Unf,2,576,TA,TA,Y,216,0,0,0,0,0,NA,MnWw,NA,0,4,2008,COD,Normal,111250 +539,20,RL,NA,11553,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1968,1968,Hip,CompShg,Plywood,Plywood,BrkFace,188,TA,TA,CBlock,TA,TA,No,BLQ,673,Unf,0,378,1051,GasA,TA,Y,SBrkr,1159,0,0,1159,0,0,1,1,3,1,TA,7,Typ,1,Fa,Attchd,1968,Unf,1,336,TA,TA,Y,466,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,158000 +540,20,RL,NA,11423,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2001,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,479,Gd,TA,PConc,Gd,TA,Av,GLQ,1358,Unf,0,223,1581,GasA,Ex,Y,SBrkr,1601,0,0,1601,1,0,2,0,3,1,Gd,6,Typ,1,TA,Attchd,2001,RFn,2,670,TA,TA,Y,180,0,0,0,0,0,NA,MnPrv,Shed,2000,5,2010,WD,Normal,272000 +541,20,RL,85,14601,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,9,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,584,Ex,TA,PConc,Ex,TA,Av,GLQ,1260,Unf,0,578,1838,GasA,Ex,Y,SBrkr,1838,0,0,1838,1,0,2,0,2,1,Ex,8,Typ,1,Gd,Attchd,2006,Fin,3,765,TA,TA,Y,270,68,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal,315000 +542,60,RL,NA,11000,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,72,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,969,969,GasA,Ex,Y,SBrkr,997,1288,0,2285,0,0,2,1,4,1,Gd,8,Typ,1,TA,BuiltIn,2000,Fin,3,648,TA,TA,Y,0,56,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,248000 +543,20,RL,78,10140,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,RRAn,Norm,1Fam,1Story,7,5,1998,1999,Hip,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,No,LwQ,144,GLQ,1127,379,1650,GasA,Ex,Y,SBrkr,1680,0,0,1680,1,0,2,0,3,1,Gd,7,Maj1,1,TA,Attchd,1998,Fin,2,583,TA,TA,Y,78,73,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,213250 +544,120,RH,34,4058,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,TwnhsE,SFoyer,7,5,1998,1998,Gable,CompShg,MetalSd,MetalSd,BrkFace,182,TA,TA,PConc,Gd,TA,Av,GLQ,584,LwQ,139,0,723,GasA,Ex,Y,SBrkr,767,0,0,767,1,0,1,0,1,1,TA,4,Typ,0,NA,Attchd,1998,Fin,1,367,TA,TA,Y,120,40,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,133000 +545,60,RL,58,17104,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,Gd,Av,GLQ,554,Unf,0,100,654,GasA,Ex,Y,SBrkr,664,832,0,1496,1,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2006,RFn,2,426,TA,TA,Y,100,24,0,0,0,0,NA,NA,NA,0,9,2006,New,Partial,179665 +546,50,RL,NA,13837,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NWAmes,Norm,Norm,1Fam,1.5Fin,7,5,1988,1988,Gable,CompShg,HdBoard,HdBoard,BrkFace,178,Gd,Gd,PConc,Gd,Gd,No,GLQ,1002,LwQ,202,0,1204,GasA,Gd,Y,SBrkr,1377,806,0,2183,0,0,2,1,4,1,Gd,9,Typ,0,NA,Attchd,1988,Unf,3,786,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,2,2006,WD,Normal,229000 +547,50,RL,70,8737,Pave,NA,IR1,Bnk,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,7,1923,1950,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,BrkTil,Gd,TA,No,Rec,300,Unf,0,765,1065,GasA,Ex,Y,FuseA,915,720,0,1635,0,0,1,1,3,1,TA,6,Typ,1,Gd,Detchd,1950,Unf,2,440,TA,TA,Y,0,38,0,144,0,0,NA,NA,NA,0,5,2007,WD,Normal,210000 +548,85,RL,54,7244,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,SFoyer,5,7,1970,1970,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,Gd,TA,Av,ALQ,619,Unf,0,149,768,GasA,Ex,Y,SBrkr,768,0,0,768,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1987,Unf,2,624,TA,TA,Y,104,0,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal,129500 +549,20,RM,49,8235,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,OldTown,Feedr,RRNn,1Fam,1Story,5,7,1955,1995,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,LwQ,180,Rec,645,0,825,GasA,TA,Y,SBrkr,825,0,0,825,1,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1963,RFn,2,720,TA,TA,Y,140,50,0,0,0,0,NA,MnPrv,NA,0,6,2008,WD,Normal,125000 +550,60,FV,75,9375,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,912,912,GasA,Ex,Y,SBrkr,912,1182,0,2094,0,0,2,1,4,1,Gd,8,Typ,1,Gd,BuiltIn,2003,Fin,2,615,TA,TA,Y,182,182,0,0,0,0,NA,NA,NA,0,11,2009,WD,Normal,263000 +551,120,RL,53,4043,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NPkVill,Norm,Norm,TwnhsE,1Story,6,6,1977,1977,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,559,Unf,0,510,1069,GasA,TA,Y,SBrkr,1069,0,0,1069,0,0,2,0,2,1,TA,4,Typ,0,NA,Attchd,1977,RFn,2,440,TA,TA,Y,0,55,0,0,200,0,NA,NA,NA,0,10,2008,COD,Abnorml,140000 +552,20,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,6,1957,1957,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,Rec,308,Unf,0,620,928,GasA,Gd,Y,FuseA,928,0,0,928,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1957,Fin,1,288,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,112500 +553,20,RL,87,11146,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,Stone,250,Gd,TA,PConc,Ex,TA,Av,Unf,0,Unf,0,1709,1709,GasA,Ex,Y,SBrkr,1717,0,0,1717,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2006,RFn,3,908,TA,TA,Y,169,39,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,255500 +554,20,RL,67,8777,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Feedr,Norm,1Fam,1Story,4,5,1949,2003,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,Ex,Y,SBrkr,1126,0,0,1126,0,0,2,0,2,1,Gd,5,Typ,0,NA,Detchd,2002,Fin,2,520,TA,TA,N,0,96,0,0,0,0,NA,MnPrv,NA,0,5,2009,WD,Normal,108000 +555,60,RL,85,10625,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,7,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,292,Gd,TA,PConc,Gd,TA,No,GLQ,866,Unf,0,132,998,GasA,Ex,Y,SBrkr,1006,1040,0,2046,1,0,2,1,3,1,Gd,8,Typ,1,Gd,BuiltIn,2003,RFn,3,871,TA,TA,Y,320,62,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal,284000 +556,45,RM,58,6380,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Unf,5,6,1922,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,Fa,No,Unf,0,Unf,0,993,993,GasA,TA,Y,FuseA,1048,0,0,1048,0,0,1,0,2,1,TA,5,Typ,1,Gd,Detchd,1922,Unf,1,280,TA,TA,Y,0,0,116,0,0,0,NA,NA,NA,0,8,2006,WD,Normal,113000 +557,20,RL,69,14850,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1957,1957,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,895,Unf,0,197,1092,GasA,TA,Y,FuseA,1092,0,0,1092,1,0,1,0,2,1,TA,6,Typ,1,TA,Attchd,1957,Fin,1,299,TA,TA,Y,268,0,0,0,122,0,NA,MnWw,NA,0,5,2006,WD,Normal,141000 +558,50,C (all),60,11040,Pave,NA,Reg,Low,AllPub,Inside,Mod,IDOTRR,Norm,Norm,1Fam,1.5Fin,4,6,1920,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,637,Unf,0,0,637,GasA,Gd,Y,SBrkr,897,439,0,1336,0,0,1,1,3,1,TA,7,Typ,0,NA,CarPort,1994,Unf,1,570,TA,TA,Y,0,47,120,0,0,0,NA,NA,NA,0,9,2006,COD,Normal,108000 +559,60,RL,57,21872,Pave,NA,IR2,HLS,AllPub,FR2,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,1996,1997,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,Gd,GLQ,604,Unf,0,125,729,GasA,Ex,Y,SBrkr,729,717,0,1446,0,1,2,1,3,1,TA,6,Typ,1,TA,Attchd,1996,Unf,2,406,TA,TA,Y,264,22,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal,175000 +560,120,RL,NA,3196,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,18,Gd,TA,PConc,Gd,TA,Gd,Unf,0,Unf,0,1374,1374,GasA,Ex,Y,SBrkr,1557,0,0,1557,0,0,2,0,2,1,Gd,7,Typ,1,TA,Attchd,2003,Fin,2,420,TA,TA,Y,143,20,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal,234000 +561,20,RL,NA,11341,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,6,1957,1996,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,180,TA,TA,CBlock,Gd,TA,No,ALQ,1302,Unf,0,90,1392,GasA,TA,Y,SBrkr,1392,0,0,1392,1,0,1,1,3,1,TA,5,Mod,1,Gd,Detchd,1957,Unf,2,528,TA,TA,Y,0,0,0,0,95,0,NA,NA,NA,0,5,2010,WD,Normal,121500 +562,20,RL,77,10010,Pave,NA,Reg,Lvl,AllPub,Inside,Mod,Mitchel,Norm,Norm,1Fam,1Story,5,5,1974,1975,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,Av,ALQ,1071,LwQ,123,195,1389,GasA,Gd,Y,SBrkr,1389,0,0,1389,1,0,1,0,2,1,TA,6,Typ,1,TA,Attchd,1975,RFn,2,418,TA,TA,Y,240,38,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,170000 +563,30,RL,63,13907,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,6,1940,1969,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,290,Unf,0,706,996,GasA,Ex,Y,SBrkr,996,0,0,996,1,0,1,0,3,1,TA,6,Typ,1,Gd,NA,NA,NA,0,0,NA,NA,Y,144,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,108000 +564,50,RL,66,21780,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,6,7,1918,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Gd,TA,Mn,Unf,0,Unf,0,1163,1163,GasA,Ex,Y,SBrkr,1163,511,0,1674,0,0,2,0,4,1,TA,8,Typ,1,Gd,Detchd,1955,Fin,2,396,TA,TA,N,72,36,0,0,144,0,NA,NA,NA,0,7,2008,WD,Normal,185000 +565,60,RL,NA,13346,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NoRidge,Norm,Norm,1Fam,2Story,7,5,1992,2000,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,728,Unf,0,367,1095,GasA,Ex,Y,SBrkr,1166,1129,0,2295,1,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1992,RFn,2,590,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,268000 +566,70,RL,66,6858,Pave,NA,Reg,Bnk,AllPub,Corner,Gtl,SWISU,Norm,Norm,1Fam,2Story,6,4,1915,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,806,806,GasA,TA,N,FuseF,841,806,0,1647,1,0,1,1,4,1,Fa,6,Typ,0,NA,Detchd,1920,Unf,1,216,TA,TA,Y,0,66,136,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,128000 +567,60,RL,77,11198,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,StoneBr,Norm,Norm,1Fam,2Story,9,5,2005,2007,Hip,CompShg,VinylSd,VinylSd,BrkFace,245,Gd,TA,PConc,Gd,Gd,No,Unf,0,Unf,0,1122,1122,GasA,Ex,Y,SBrkr,1134,1370,0,2504,0,0,2,1,4,1,Ex,11,Typ,1,Gd,BuiltIn,2005,Fin,3,656,TA,TA,Y,144,39,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,325000 +568,20,RL,70,10171,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,168,Gd,TA,PConc,Gd,TA,No,GLQ,2,Unf,0,1515,1517,GasA,Ex,Y,SBrkr,1535,0,0,1535,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2004,RFn,2,532,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal,214000 +569,50,RL,79,12327,Pave,NA,IR1,Low,AllPub,Inside,Mod,SawyerW,Norm,Norm,1Fam,1.5Fin,8,8,1983,2009,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,TA,CBlock,Gd,TA,Gd,GLQ,1441,Unf,0,55,1496,GasA,Ex,Y,SBrkr,1496,636,0,2132,1,0,1,1,1,1,Gd,5,Min2,1,Gd,BuiltIn,1983,Fin,2,612,Gd,TA,Y,349,40,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal,316600 +570,90,RL,NA,7032,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,Duplex,SFoyer,5,5,1979,1979,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,Gd,TA,Gd,GLQ,943,Unf,0,0,943,GasA,TA,Y,SBrkr,943,0,0,943,1,0,1,0,2,1,TA,4,Typ,2,TA,Detchd,1979,Unf,2,600,TA,TA,Y,42,0,0,0,0,0,NA,NA,NA,0,12,2006,WD,Normal,135960 +571,90,RL,74,13101,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,Duplex,1Story,5,5,1965,1965,Gable,CompShg,HdBoard,HdBoard,BrkFace,108,TA,TA,CBlock,TA,TA,No,LwQ,231,Unf,0,1497,1728,GasA,TA,Y,SBrkr,1728,0,0,1728,0,0,2,0,6,2,TA,10,Typ,0,NA,Detchd,1987,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2008,WD,Normal,142600 +572,20,RL,60,7332,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1959,1959,Gable,CompShg,WdShing,Wd Shng,BrkFace,207,TA,TA,CBlock,TA,TA,No,BLQ,414,Unf,0,450,864,GasA,Ex,Y,SBrkr,864,0,0,864,1,0,1,0,2,1,Gd,4,Typ,0,NA,Attchd,1959,Unf,1,288,TA,TA,Y,168,0,0,0,0,0,NA,NA,NA,0,10,2006,WD,Abnorml,120000 +573,60,RL,83,13159,Pave,NA,IR1,HLS,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,2Story,7,5,2009,2009,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Ex,TA,Av,Unf,0,Unf,0,846,846,GasA,Gd,Y,SBrkr,846,846,0,1692,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2009,RFn,2,650,TA,TA,Y,208,114,0,0,0,0,NA,NA,NA,0,7,2009,New,Partial,224500 +574,80,RL,76,9967,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,7,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,384,384,GasA,Ex,Y,SBrkr,774,656,0,1430,0,0,2,1,3,1,TA,8,Typ,1,TA,BuiltIn,2000,RFn,2,400,TA,TA,Y,100,0,0,0,0,0,NA,NA,NA,0,12,2007,WD,Normal,170000 +575,80,RL,70,10500,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NAmes,Norm,Norm,1Fam,SLvl,5,7,1971,2005,Gambrel,CompShg,MetalSd,AsphShn,BrkFace,82,TA,TA,CBlock,TA,TA,Av,ALQ,349,Unf,0,23,372,GasA,TA,Y,SBrkr,576,533,0,1109,0,1,1,0,3,1,TA,5,Typ,0,NA,BuiltIn,1971,Unf,1,288,TA,TA,Y,35,0,0,0,0,0,NA,GdWo,NA,0,12,2007,WD,Normal,139000 +576,50,RL,80,8480,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1.5Fin,5,5,1947,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,442,Unf,0,390,832,GasA,TA,Y,SBrkr,832,384,0,1216,0,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1947,Unf,1,336,TA,TA,Y,158,0,102,0,0,0,NA,NA,NA,0,10,2008,COD,Abnorml,118500 +577,50,RL,52,6292,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1.5Fin,7,7,1928,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,861,861,GasA,Gd,Y,SBrkr,877,600,0,1477,0,1,2,0,3,1,TA,6,Typ,1,Gd,Detchd,1928,Unf,1,216,TA,TA,Y,0,50,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal,145000 +578,80,RL,96,11777,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,SLvl,5,6,1966,1966,Gable,CompShg,VinylSd,VinylSd,BrkFace,97,TA,TA,CBlock,TA,TA,Av,LwQ,328,ALQ,551,285,1164,GasA,Ex,Y,SBrkr,1320,0,0,1320,1,0,1,0,3,1,TA,6,Typ,2,Fa,Attchd,1966,RFn,2,564,TA,TA,Y,160,68,240,0,0,0,NA,NA,NA,0,5,2006,WD,Abnorml,164500 +579,160,FV,34,3604,Pave,Pave,Reg,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,689,689,GasA,Ex,Y,SBrkr,703,689,0,1392,0,0,2,0,2,1,Gd,5,Typ,0,NA,Detchd,2007,Unf,2,540,TA,TA,Y,0,102,0,0,0,0,NA,NA,NA,0,2,2008,WD,Abnorml,146000 +580,50,RM,81,12150,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,5,1954,1954,Gable,CompShg,MetalSd,MetalSd,BrkFace,335,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,1050,1050,GasA,Ex,N,FuseF,1050,745,0,1795,0,0,2,0,4,1,TA,7,Typ,0,NA,Attchd,1954,Unf,1,352,Fa,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2008,WD,Normal,131500 +581,20,RL,NA,14585,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1960,1987,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,85,TA,TA,CBlock,TA,TA,No,BLQ,594,Rec,219,331,1144,GasA,Ex,Y,SBrkr,1429,0,0,1429,0,1,1,0,3,1,Gd,7,Typ,2,Gd,Attchd,1960,Unf,2,572,TA,TA,Y,216,110,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,181900 +582,20,RL,98,12704,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2008,2009,Hip,CompShg,VinylSd,VinylSd,BrkFace,306,Ex,TA,PConc,Ex,TA,No,Unf,0,Unf,0,2042,2042,GasA,Ex,Y,SBrkr,2042,0,0,2042,0,0,2,1,3,1,Ex,8,Typ,1,Gd,Attchd,2009,RFn,3,1390,TA,TA,Y,0,90,0,0,0,0,NA,NA,NA,0,8,2009,New,Partial,253293 +583,90,RL,81,11841,Grvl,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,Duplex,SFoyer,6,5,1990,1990,Gable,CompShg,HdBoard,HdBoard,BrkFace,104,TA,Gd,CBlock,Gd,TA,Av,GLQ,816,Unf,0,0,816,GasA,TA,Y,SBrkr,816,0,0,816,1,0,1,0,3,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,32,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,118500 +584,75,RM,75,13500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,PosA,1Fam,2.5Unf,10,9,1893,2000,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Ex,Ex,BrkTil,TA,TA,No,Unf,0,Unf,0,1237,1237,GasA,Gd,Y,SBrkr,1521,1254,0,2775,0,0,3,1,3,1,Gd,9,Typ,1,Gd,Detchd,1988,Unf,2,880,Gd,TA,Y,105,502,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,325000 +585,50,RM,51,6120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,4,7,1935,1995,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,884,884,GasA,Ex,Y,SBrkr,989,584,0,1573,0,0,1,0,3,1,Gd,6,Typ,0,NA,Detchd,1935,Unf,1,240,TA,TA,Y,0,0,54,0,120,0,NA,NA,NA,0,7,2009,WD,Normal,133000 +586,20,RL,88,11443,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2005,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,208,Gd,TA,PConc,Ex,TA,Gd,GLQ,1460,Unf,0,408,1868,GasA,Ex,Y,SBrkr,2028,0,0,2028,1,0,2,0,2,1,Gd,7,Typ,2,Gd,Attchd,2005,RFn,3,880,TA,TA,Y,326,66,0,0,0,0,NA,NA,NA,0,3,2006,New,Partial,369900 +587,30,RL,55,10267,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,RRAn,Norm,1Fam,1Story,6,7,1918,2000,Gable,CompShg,Stucco,Wd Shng,None,0,TA,Gd,BrkTil,TA,Gd,Mn,Rec,210,ALQ,606,0,816,GasA,Ex,Y,SBrkr,838,0,0,838,1,0,1,0,2,1,Fa,5,Typ,0,NA,Detchd,1961,Fin,1,275,TA,TA,N,0,0,112,0,0,0,NA,MnWw,NA,0,5,2008,WD,Normal,130000 +588,85,RL,74,8740,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,SFoyer,5,6,1982,1982,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,Av,ALQ,672,Unf,0,168,840,GasA,TA,Y,SBrkr,860,0,0,860,1,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1996,Unf,2,528,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,137000 +589,20,RL,65,25095,Pave,NA,IR1,Low,AllPub,Inside,Sev,ClearCr,Norm,Norm,1Fam,1Story,5,8,1968,2003,Flat,Tar&Grv,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Gd,GLQ,1324,Unf,0,113,1437,GasA,Ex,Y,SBrkr,1473,0,0,1473,2,0,1,0,1,1,Ex,5,Typ,2,Gd,Attchd,1968,Unf,1,452,TA,TA,Y,0,48,0,0,60,0,NA,NA,NA,0,6,2009,WD,Partial,143000 +590,40,RM,50,9100,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,RRAn,Feedr,1Fam,1Story,5,6,1930,1960,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,742,742,GasA,TA,Y,FuseA,779,0,156,935,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1988,Unf,1,308,TA,TA,P,0,0,0,0,0,0,NA,NA,Shed,600,8,2008,WD,Normal,79500 +591,60,RL,64,8320,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,490,Unf,0,280,770,GasA,Ex,Y,SBrkr,770,812,0,1582,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2004,RFn,2,520,TA,TA,Y,0,45,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal,185900 +592,60,RL,97,13478,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,2Story,10,5,2008,2008,Gable,CompShg,CemntBd,CmentBd,Stone,420,Ex,TA,PConc,Ex,TA,Gd,GLQ,1338,Unf,0,384,1722,GasA,Ex,Y,SBrkr,1728,568,0,2296,1,0,2,1,3,1,Ex,10,Typ,1,Gd,BuiltIn,2008,RFn,3,842,TA,TA,Y,382,274,0,0,0,0,NA,NA,NA,0,6,2009,ConLI,Normal,451950 +593,20,RL,60,6600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,8,1982,2003,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Gd,PConc,TA,Gd,No,GLQ,816,Unf,0,0,816,GasA,Ex,Y,SBrkr,816,0,0,816,1,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1985,Fin,2,816,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,138000 +594,120,RM,NA,4435,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,TwnhsE,1Story,6,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,170,Gd,TA,PConc,Gd,TA,Av,GLQ,685,Unf,0,163,848,GasA,Ex,Y,SBrkr,848,0,0,848,1,0,1,0,1,1,Gd,4,Typ,0,NA,Attchd,2003,Fin,2,420,TA,TA,Y,140,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,140000 +595,20,RL,88,7990,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,6,1975,1975,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,924,924,GasA,TA,Y,SBrkr,924,0,0,924,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1981,Unf,1,280,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,4,2008,WD,Normal,110000 +596,20,RL,69,11302,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,StoneBr,Norm,Norm,1Fam,1Story,8,5,2005,2006,Gable,CompShg,VinylSd,Other,BrkFace,238,Gd,TA,PConc,Gd,TA,Gd,GLQ,1422,Unf,0,392,1814,GasA,Ex,Y,SBrkr,1826,0,0,1826,1,0,2,0,3,1,Gd,7,Typ,1,TA,Attchd,2005,Fin,3,758,TA,TA,Y,180,75,0,0,120,0,NA,NA,NA,0,8,2006,New,Partial,319000 +597,70,RM,60,3600,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,6,7,1910,1993,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,684,684,GasA,Ex,N,FuseA,684,684,0,1368,0,0,1,0,3,1,TA,7,Typ,0,NA,Detchd,1930,Unf,1,216,TA,Fa,N,0,158,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal,114504 +598,120,RL,53,3922,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,BrkFace,72,Gd,TA,PConc,Ex,TA,Av,Unf,0,Unf,0,1258,1258,GasA,Ex,Y,SBrkr,1402,0,0,1402,0,2,0,2,2,1,Gd,7,Typ,1,Gd,Attchd,2006,Fin,3,648,TA,TA,Y,120,16,0,0,0,0,NA,NA,NA,0,2,2007,New,Partial,194201 +599,20,RL,80,12984,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,5,6,1977,1977,Gable,CompShg,Plywood,Plywood,BrkFace,459,TA,TA,CBlock,Gd,TA,Mn,ALQ,1283,LwQ,147,0,1430,GasA,Ex,Y,SBrkr,1647,0,0,1647,1,0,2,0,3,1,Gd,7,Typ,1,TA,Attchd,1977,Fin,2,621,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal,217500 +600,160,RM,24,1950,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blueste,Norm,Norm,Twnhs,2Story,6,6,1980,1980,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,Gd,TA,No,LwQ,81,GLQ,612,23,716,GasA,TA,Y,SBrkr,716,840,0,1556,1,0,2,1,3,1,TA,6,Typ,1,TA,Attchd,1980,Fin,2,452,TA,TA,Y,161,0,0,0,0,0,NA,GdPrv,NA,0,7,2008,COD,Normal,151000 +601,60,RL,74,10927,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,280,Gd,TA,PConc,Gd,TA,Av,GLQ,546,Unf,0,512,1058,GasA,Ex,Y,SBrkr,1058,846,0,1904,1,0,2,1,3,1,Ex,8,Typ,1,Gd,BuiltIn,2003,Fin,2,736,TA,TA,Y,179,60,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,275000 +602,50,RM,50,9000,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,6,6,1937,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,PConc,TA,TA,No,Unf,0,Unf,0,780,780,GasA,TA,Y,SBrkr,780,595,0,1375,0,0,1,1,3,1,Gd,6,Typ,1,Gd,Detchd,1979,Unf,1,544,TA,TA,P,0,162,0,0,126,0,NA,NA,NA,0,12,2007,WD,Normal,141000 +603,60,RL,80,10041,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,8,5,1992,1992,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,Mn,GLQ,789,Unf,0,119,908,GasA,Ex,Y,SBrkr,927,988,0,1915,1,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1992,Fin,2,506,TA,TA,Y,120,150,0,0,0,0,NA,NA,NA,0,2,2006,WD,Abnorml,220000 +604,160,FV,30,3182,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,7,5,2004,2005,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,600,600,GasA,Ex,Y,SBrkr,600,600,0,1200,0,0,2,1,2,1,Gd,4,Typ,0,NA,Detchd,2004,RFn,2,480,TA,TA,Y,0,172,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,151000 +605,20,RL,88,12803,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,99,Gd,TA,PConc,Gd,TA,Mn,GLQ,922,Unf,0,572,1494,GasA,Ex,Y,SBrkr,1494,0,0,1494,1,0,2,0,3,1,Gd,6,Typ,1,TA,Attchd,2002,RFn,2,530,TA,TA,Y,192,36,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal,221000 +606,60,RL,85,13600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,2Story,7,6,1965,1990,Gable,CompShg,HdBoard,HdBoard,BrkFace,176,TA,TA,CBlock,TA,TA,No,BLQ,454,Unf,0,314,768,GasA,TA,Y,SBrkr,1186,800,0,1986,0,0,2,1,3,1,TA,7,Typ,3,Fa,Attchd,1965,Unf,2,486,TA,TA,Y,0,42,0,0,189,0,NA,NA,NA,0,10,2009,WD,Normal,205000 +607,20,RL,82,12464,Pave,NA,IR2,Low,AllPub,Corner,Mod,CollgCr,Norm,Norm,1Fam,1Story,5,5,1996,1996,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,PConc,Gd,TA,No,GLQ,732,Unf,0,308,1040,GasA,Gd,Y,SBrkr,1040,0,0,1040,1,0,1,0,3,1,Gd,6,Typ,0,NA,Detchd,2000,Unf,2,576,TA,TA,Y,168,0,0,0,0,0,NA,GdPrv,NA,0,11,2009,WD,Normal,152000 +608,20,RL,78,7800,Pave,NA,Reg,Bnk,AllPub,Inside,Mod,Edwards,Norm,Norm,1Fam,2Story,5,8,1948,2002,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,Gd,No,GLQ,603,Unf,0,293,896,GasA,Ex,Y,SBrkr,1112,896,0,2008,1,0,3,0,3,1,Ex,8,Typ,0,NA,Attchd,1948,Unf,1,230,TA,TA,Y,103,0,0,0,0,0,NA,NA,NA,0,8,2006,WD,Normal,225000 +609,70,RL,78,12168,Pave,NA,Reg,HLS,AllPub,Inside,Mod,Crawfor,Norm,Norm,1Fam,2Story,8,6,1934,1998,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,PConc,Gd,TA,Mn,BLQ,428,Unf,0,537,965,GasA,TA,Y,SBrkr,1940,1254,0,3194,0,0,2,1,4,1,TA,10,Typ,2,Gd,Basment,1934,Unf,2,380,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,9,2007,WD,Alloca,359100 +610,20,RL,61,7943,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,4,5,1961,1961,Gable,CompShg,VinylSd,VinylSd,BrkCmn,192,TA,Fa,CBlock,TA,TA,Mn,Rec,903,Unf,0,126,1029,GasA,Gd,Y,SBrkr,1029,0,0,1029,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1961,Unf,1,261,TA,TA,Y,64,0,39,0,0,0,NA,NA,NA,0,4,2007,WD,Normal,118500 +611,60,RL,NA,11050,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,PosN,Norm,1Fam,2Story,9,5,2000,2000,Hip,CompShg,VinylSd,VinylSd,BrkFace,204,Gd,TA,PConc,Ex,TA,Mn,GLQ,904,Unf,0,536,1440,GasA,Ex,Y,SBrkr,1476,677,0,2153,1,0,2,1,3,1,Ex,8,Typ,2,Ex,Attchd,2000,Fin,3,736,TA,TA,Y,253,142,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,313000 +612,80,RL,NA,10395,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,NWAmes,Norm,Norm,1Fam,SLvl,6,6,1978,1978,Gable,CompShg,HdBoard,HdBoard,BrkFace,233,TA,TA,CBlock,Gd,TA,Av,ALQ,605,Unf,0,427,1032,GasA,TA,Y,SBrkr,1032,0,0,1032,0,1,2,0,3,1,TA,6,Typ,1,TA,Attchd,1978,Unf,2,564,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,Shed,500,7,2007,WD,Normal,148000 +613,60,RL,NA,11885,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,BrkFace,108,Gd,TA,PConc,Gd,TA,Av,GLQ,990,Unf,0,309,1299,GasA,Ex,Y,SBrkr,1299,573,0,1872,1,0,2,1,3,1,Ex,7,Typ,1,TA,BuiltIn,2001,RFn,2,531,TA,TA,Y,160,122,0,0,0,0,NA,NA,NA,0,11,2009,WD,Normal,261500 +614,20,RL,70,8402,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Feedr,Norm,1Fam,1Story,5,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,ALQ,206,Unf,0,914,1120,GasA,Ex,Y,SBrkr,1120,0,0,1120,0,0,1,0,3,1,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,30,0,0,0,0,NA,NA,NA,0,12,2007,New,Partial,147000 +615,180,RM,21,1491,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,SFoyer,4,6,1972,1972,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,Gd,TA,Av,LwQ,150,GLQ,480,0,630,GasA,Ex,Y,SBrkr,630,0,0,630,1,0,1,0,1,1,TA,3,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,96,24,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,75500 +616,85,RL,80,8800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Feedr,Norm,1Fam,SFoyer,6,7,1963,1963,Gable,CompShg,MetalSd,MetalSd,BrkFace,156,TA,Gd,PConc,TA,TA,Gd,GLQ,763,Unf,0,173,936,GasA,Ex,Y,SBrkr,1054,0,0,1054,1,0,1,0,3,1,Gd,6,Typ,0,NA,Attchd,1963,RFn,2,480,TA,TA,Y,120,0,0,0,0,0,NA,MnPrv,NA,0,5,2010,WD,Abnorml,137500 +617,60,RL,NA,7861,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2002,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,457,Unf,0,326,783,GasA,Ex,Y,SBrkr,807,702,0,1509,1,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2002,Fin,2,393,TA,TA,Y,100,75,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,183200 +618,45,RL,59,7227,Pave,NA,Reg,HLS,AllPub,Corner,Mod,NAmes,Artery,Norm,1Fam,1.5Unf,6,6,1954,1954,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,832,832,GasA,Gd,Y,SBrkr,832,0,0,832,0,0,1,0,2,1,Gd,4,Typ,0,NA,Detchd,1962,Unf,2,528,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,105500 +619,20,RL,90,11694,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2007,2007,Hip,CompShg,CemntBd,CmentBd,BrkFace,452,Ex,TA,PConc,Ex,TA,Av,GLQ,48,Unf,0,1774,1822,GasA,Ex,Y,SBrkr,1828,0,0,1828,0,0,2,0,3,1,Gd,9,Typ,1,Gd,Attchd,2007,Unf,3,774,TA,TA,Y,0,108,0,0,260,0,NA,NA,NA,0,7,2007,New,Partial,314813 +620,60,RL,85,12244,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,2Story,8,5,2003,2003,Hip,CompShg,VinylSd,VinylSd,Stone,226,Gd,TA,PConc,Gd,TA,Gd,GLQ,871,Unf,0,611,1482,GasA,Ex,Y,SBrkr,1482,780,0,2262,1,0,2,1,4,1,Gd,10,Typ,2,Gd,Attchd,2003,Fin,3,749,TA,TA,Y,168,0,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal,305000 +621,30,RL,45,8248,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,3,3,1914,1950,Gable,CompShg,Stucco,Stucco,None,0,TA,TA,BrkTil,TA,TA,No,BLQ,41,Unf,0,823,864,GasA,TA,N,FuseF,864,0,0,864,1,0,1,0,2,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,100,0,0,0,NA,NA,NA,0,9,2008,WD,Normal,67000 +622,60,RL,90,10800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,6,7,1974,1997,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,ALQ,956,Rec,182,384,1522,GasA,TA,Y,SBrkr,1548,1066,0,2614,0,0,2,1,4,1,TA,9,Typ,1,TA,Attchd,1974,RFn,2,624,TA,TA,Y,38,243,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,240000 +623,20,RL,71,7064,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,6,1977,1977,Gable,CompShg,Plywood,Plywood,BrkFace,153,TA,TA,CBlock,TA,TA,No,BLQ,560,Unf,0,420,980,GasA,TA,Y,SBrkr,980,0,0,980,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1986,Unf,2,484,TA,TA,Y,192,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,135000 +624,160,FV,NA,2117,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,6,5,2000,2000,Gable,CompShg,MetalSd,MetalSd,BrkFace,513,Gd,TA,PConc,Gd,TA,No,GLQ,420,Unf,0,336,756,GasA,Ex,Y,SBrkr,756,756,0,1512,0,0,2,1,2,1,Gd,4,Typ,1,TA,Detchd,2000,Unf,2,440,TA,TA,Y,0,32,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,168500 +625,60,RL,80,10400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,6,5,1972,1972,Gable,CompShg,VinylSd,VinylSd,None,288,TA,TA,CBlock,TA,TA,No,Rec,247,Unf,0,485,732,GasA,Gd,Y,SBrkr,1012,778,0,1790,1,0,1,2,4,1,TA,8,Min2,1,TA,Attchd,1972,RFn,2,484,TA,TA,Y,148,0,0,0,147,0,NA,NA,NA,0,11,2006,WD,Normal,165150 +626,20,RL,87,10000,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1962,1962,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,261,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1116,1116,GasA,TA,Y,SBrkr,1116,0,0,1116,0,0,1,1,3,1,TA,5,Typ,0,NA,Attchd,1962,Unf,2,440,TA,TA,Y,0,0,0,0,385,0,NA,NA,NA,0,2,2010,WD,Normal,160000 +627,20,RL,NA,12342,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1960,1978,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,978,978,GasA,TA,Y,SBrkr,1422,0,0,1422,0,0,1,0,3,1,TA,6,Min1,1,TA,Attchd,1960,RFn,1,286,TA,TA,Y,0,0,36,0,0,0,NA,GdWo,Shed,600,8,2007,WD,Normal,139900 +628,80,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,6,6,1955,1972,Gable,CompShg,AsbShng,AsbShng,BrkFace,164,TA,TA,CBlock,TA,TA,Av,BLQ,674,LwQ,132,350,1156,GasA,Ex,Y,SBrkr,1520,0,0,1520,1,0,1,0,3,1,TA,7,Typ,2,Gd,Basment,1955,RFn,1,364,TA,TA,Y,0,0,189,0,0,0,NA,NA,NA,0,3,2010,WD,Normal,153000 +629,60,RL,70,11606,Pave,NA,IR1,HLS,AllPub,Inside,Sev,NAmes,Norm,Norm,1Fam,2Story,5,5,1969,1969,Gable,CompShg,Plywood,Plywood,BrkFace,192,TA,TA,PConc,Gd,TA,Av,Rec,650,Unf,0,390,1040,GasA,TA,Y,SBrkr,1040,1040,0,2080,0,1,1,2,5,1,Fa,9,Typ,2,TA,Attchd,1969,Unf,2,504,TA,TA,Y,335,0,0,0,0,0,NA,NA,NA,0,9,2007,WD,Family,135000 +630,80,RL,82,9020,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Feedr,Norm,1Fam,SLvl,6,5,1964,1964,Gable,WdShngl,Plywood,Wd Sdng,BrkFace,259,TA,TA,CBlock,TA,TA,Gd,GLQ,624,Rec,336,288,1248,GasA,TA,Y,SBrkr,1350,0,0,1350,1,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1964,RFn,2,520,TA,TA,Y,176,0,0,0,0,0,NA,GdPrv,NA,0,6,2008,WD,Normal,168500 +631,70,RM,50,9000,Pave,Grvl,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Artery,Norm,1Fam,2Story,5,6,1880,1991,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,BrkTil,Fa,Fa,No,Unf,0,Unf,0,636,636,GasA,TA,Y,FuseA,1089,661,0,1750,0,0,1,0,3,1,Ex,8,Typ,0,NA,Detchd,1937,Unf,1,240,Fa,Po,N,0,0,293,0,0,0,NA,MnPrv,NA,0,6,2006,WD,Abnorml,124000 +632,120,RL,34,4590,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,Twnhs,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,Stone,108,Gd,TA,PConc,Gd,Gd,Mn,GLQ,24,Unf,0,1530,1554,GasA,Ex,Y,SBrkr,1554,0,0,1554,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2006,RFn,2,627,TA,TA,Y,156,73,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,209500 +633,20,RL,85,11900,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,7,5,1977,1977,Hip,CompShg,Plywood,Plywood,BrkFace,209,TA,Gd,CBlock,TA,TA,No,ALQ,822,Unf,0,564,1386,GasA,TA,Y,SBrkr,1411,0,0,1411,0,0,2,0,3,1,TA,6,Typ,1,TA,Attchd,1977,Fin,2,544,TA,TA,Y,192,0,0,0,0,0,NA,NA,NA,0,4,2009,WD,Family,82500 +634,20,RL,80,9250,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1954,2005,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,480,LwQ,468,108,1056,GasA,TA,Y,SBrkr,1056,0,0,1056,0,1,1,0,3,1,TA,6,Typ,0,NA,Attchd,1954,Unf,1,260,TA,TA,Y,390,0,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,139400 +635,90,RL,64,6979,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,Duplex,SFoyer,6,5,1980,1980,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,GLQ,1056,Unf,0,0,1056,GasA,Gd,Y,SBrkr,1056,0,0,1056,2,0,0,0,0,2,TA,4,Typ,0,NA,Detchd,1980,Unf,2,576,TA,TA,Y,264,56,0,0,0,0,NA,GdPrv,Shed,600,6,2010,WD,Normal,144000 +636,190,RH,60,10896,Pave,Pave,Reg,Bnk,AllPub,Inside,Gtl,SWISU,Feedr,Norm,2fmCon,2.5Fin,6,7,1914,1995,Hip,CompShg,VinylSd,VinylSd,None,0,Fa,TA,CBlock,TA,Fa,No,LwQ,256,Unf,0,1184,1440,GasA,Ex,Y,FuseA,1440,1440,515,3395,0,0,2,0,8,2,Fa,14,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,110,0,0,0,0,NA,NA,NA,0,3,2007,WD,Abnorml,200000 +637,30,RM,51,6120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,2,3,1936,1950,Gable,CompShg,AsbShng,AsbShng,None,0,Fa,Fa,BrkTil,TA,Fa,No,Unf,0,Unf,0,264,264,Grav,Fa,N,FuseA,800,0,0,800,0,0,1,0,1,1,Fa,4,Maj1,1,Po,NA,NA,NA,0,0,NA,NA,N,0,0,0,0,0,0,NA,NA,NA,0,1,2009,ConLw,Normal,60000 +638,190,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,2fmCon,1.5Fin,5,4,1954,1954,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,811,811,GasA,TA,Y,FuseA,811,576,0,1387,0,0,2,0,3,2,Gd,7,Typ,0,NA,BuiltIn,1954,Unf,1,256,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2009,WD,Normal,93000 +639,30,RL,67,8777,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Feedr,Norm,1Fam,1Story,5,7,1910,1950,Gable,CompShg,MetalSd,Wd Sdng,None,0,TA,TA,CBlock,Fa,TA,No,Unf,0,Unf,0,796,796,GasA,Gd,Y,FuseA,796,0,0,796,0,0,1,0,2,1,TA,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,P,328,0,164,0,0,0,NA,MnPrv,NA,0,5,2008,WD,Normal,85000 +640,120,RL,53,3982,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,8,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,Gd,Av,GLQ,1154,Unf,0,366,1520,GasA,Ex,Y,SBrkr,1567,0,0,1567,1,0,2,0,1,1,Ex,7,Typ,1,Gd,Attchd,2006,Fin,3,648,TA,TA,Y,312,0,0,0,0,0,NA,NA,NA,0,10,2006,New,Partial,264561 +641,120,RL,62,12677,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,8,5,2003,2004,Hip,CompShg,MetalSd,MetalSd,BrkFace,472,Ex,TA,PConc,Ex,TA,Gd,GLQ,1218,Unf,0,300,1518,GasA,Ex,Y,SBrkr,1518,0,0,1518,0,0,1,1,1,1,Ex,6,Typ,1,Gd,Attchd,2003,RFn,2,588,TA,TA,Y,185,140,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal,274000 +642,60,FV,NA,7050,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,738,Unf,0,319,1057,GasA,Ex,Y,SBrkr,1057,872,0,1929,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,2001,Fin,2,650,TA,TA,Y,0,235,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,226000 +643,80,RL,75,13860,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,8,7,1972,1995,Gable,CompShg,Plywood,Wd Sdng,None,0,Gd,TA,CBlock,Gd,TA,Gd,GLQ,1410,Unf,0,542,1952,GasA,Gd,Y,SBrkr,2000,704,0,2704,1,0,2,1,4,1,Ex,9,Typ,3,TA,Attchd,1972,Fin,2,538,TA,TA,Y,269,111,0,0,0,0,NA,MnPrv,NA,0,7,2009,WD,Normal,345000 +644,60,RL,80,10793,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,RRAn,Norm,1Fam,2Story,5,5,1969,1969,Mansard,CompShg,WdShing,HdBoard,BrkFace,263,TA,TA,CBlock,TA,TA,No,Rec,493,BLQ,287,0,780,GasA,Ex,Y,SBrkr,780,840,0,1620,0,0,2,1,4,1,TA,7,Min1,0,NA,Attchd,1969,Fin,2,462,TA,TA,Y,208,0,0,0,0,0,NA,GdWo,NA,0,4,2007,WD,Normal,152000 +645,20,FV,85,9187,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,9,5,2009,2009,Gable,CompShg,CemntBd,CmentBd,Stone,162,Ex,TA,PConc,Ex,TA,Mn,GLQ,1121,Unf,0,645,1766,GasA,Ex,Y,SBrkr,1766,0,0,1766,1,0,2,1,2,1,Ex,7,Typ,1,Gd,Attchd,2009,Fin,3,478,TA,TA,Y,195,130,0,0,0,0,NA,NA,NA,0,10,2009,New,Partial,370878 +646,20,RL,NA,10530,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1971,1971,Hip,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,282,LwQ,35,664,981,GasA,TA,Y,SBrkr,981,0,0,981,1,0,1,1,3,1,TA,5,Typ,0,NA,Detchd,1979,Unf,2,576,TA,TA,Y,0,312,40,0,0,0,NA,NA,NA,0,3,2007,WD,Normal,143250 +647,20,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1950,1950,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,Gd,Y,SBrkr,1048,0,0,1048,0,0,1,0,3,1,TA,7,Min1,0,NA,Detchd,1950,Unf,2,420,TA,TA,Y,0,27,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,98300 +648,20,RL,85,10452,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,6,5,1953,1953,Hip,CompShg,Wd Sdng,Wd Sdng,Stone,216,TA,TA,CBlock,TA,TA,Mn,Rec,500,Unf,0,594,1094,GasA,Ex,Y,SBrkr,1094,0,0,1094,0,0,1,0,3,1,TA,5,Typ,2,Gd,Attchd,1953,RFn,2,495,TA,TA,Y,0,0,0,0,287,0,NA,NA,NA,0,6,2008,WD,Normal,155000 +649,60,RL,70,7700,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,PosN,Norm,1Fam,2Story,6,5,1966,1966,Gable,CompShg,MetalSd,MetalSd,BrkFace,351,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,756,756,GasA,TA,Y,SBrkr,1051,788,0,1839,0,0,1,1,4,1,TA,7,Typ,1,TA,Attchd,1966,Unf,2,442,TA,TA,Y,0,124,216,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,155000 +650,180,RM,21,1936,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,SFoyer,4,6,1970,1970,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,Gd,TA,Av,BLQ,131,GLQ,499,0,630,GasA,Gd,Y,SBrkr,630,0,0,630,1,0,1,0,1,1,TA,3,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,12,2007,WD,Normal,84500 +651,60,FV,65,8125,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,6,2007,2007,Gable,CompShg,CemntBd,CmentBd,NA,NA,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,813,813,GasA,Ex,Y,SBrkr,822,843,0,1665,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2007,RFn,2,562,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,205950 +652,70,RL,60,9084,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Artery,Norm,1Fam,2Story,4,5,1940,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,Mn,Unf,0,Unf,0,755,755,GasA,TA,Y,SBrkr,755,755,0,1510,1,0,1,0,4,1,TA,7,Typ,1,Gd,Detchd,1940,Unf,1,296,Fa,Po,P,120,0,0,0,0,0,NA,MnPrv,NA,0,10,2009,WD,Normal,108000 +653,60,RL,70,8750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,1996,1996,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,880,880,GasA,Ex,Y,SBrkr,909,807,0,1716,0,0,2,1,2,1,Gd,7,Typ,1,TA,Attchd,1996,RFn,2,512,TA,TA,Y,0,120,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,191000 +654,50,RM,60,10320,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,6,7,1906,1995,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,756,756,GasA,Ex,Y,SBrkr,756,713,0,1469,0,0,1,0,3,1,TA,7,Typ,0,NA,Detchd,1906,Unf,1,216,TA,TA,Y,57,0,239,0,0,0,NA,MnPrv,NA,0,6,2008,WD,Normal,135000 +655,20,RL,91,10437,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,1Story,8,6,1995,1995,Hip,CompShg,MetalSd,MetalSd,BrkFace,660,Gd,Gd,PConc,Gd,TA,Gd,GLQ,1696,Unf,0,413,2109,GasA,Ex,Y,SBrkr,2113,0,0,2113,1,0,2,1,2,1,Gd,7,Typ,1,TA,Attchd,1995,Fin,3,839,TA,TA,Y,236,46,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal,350000 +656,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,5,1971,1971,Gable,CompShg,HdBoard,ImStucc,BrkFace,381,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,525,525,GasA,TA,Y,SBrkr,525,567,0,1092,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1971,Unf,1,264,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2010,WD,Family,88000 +657,20,RL,72,10007,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1959,2006,Gable,CompShg,HdBoard,HdBoard,BrkFace,54,Gd,TA,CBlock,TA,TA,No,ALQ,806,Unf,0,247,1053,GasA,Ex,Y,SBrkr,1053,0,0,1053,1,0,1,1,3,1,Gd,5,Typ,0,NA,Attchd,1959,RFn,1,312,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,8,2008,WD,Normal,145500 +658,70,RL,60,7200,Pave,NA,Reg,HLS,AllPub,Inside,Mod,Crawfor,Norm,Norm,1Fam,2Story,7,6,1931,2000,Gable,CompShg,Stucco,Wd Shng,None,0,TA,Fa,BrkTil,Gd,TA,No,Unf,0,Unf,0,776,776,GasA,TA,Y,SBrkr,851,651,0,1502,0,0,1,1,3,1,TA,6,Typ,1,Gd,Attchd,1931,RFn,1,270,TA,TA,P,0,0,112,0,0,0,NA,MnPrv,NA,0,2,2008,WD,Normal,149000 +659,50,RL,78,17503,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Artery,Norm,1Fam,1.5Fin,6,5,1948,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,912,912,GasA,TA,Y,SBrkr,912,546,0,1458,0,1,1,0,3,1,TA,6,Typ,1,Gd,Attchd,1948,Unf,1,330,TA,TA,Y,192,0,0,0,0,0,NA,NA,NA,0,1,2010,WD,Abnorml,97500 +660,20,RL,75,9937,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,7,1964,1999,Hip,CompShg,MetalSd,MetalSd,None,0,TA,Gd,PConc,TA,TA,No,BLQ,637,Unf,0,849,1486,GasA,Ex,Y,SBrkr,1486,0,0,1486,1,0,1,0,3,1,TA,7,Typ,0,NA,Detchd,1968,Fin,2,480,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,3,2009,WD,Normal,167000 +661,60,RL,NA,12384,Pave,NA,Reg,Lvl,AllPub,CulDSac,Gtl,NWAmes,Norm,Norm,1Fam,2Story,7,7,1976,1976,Gable,CompShg,Plywood,Plywood,BrkFace,233,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,793,793,GasA,TA,Y,SBrkr,1142,793,0,1935,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1976,RFn,2,550,TA,TA,Y,0,113,252,0,0,0,NA,NA,NA,0,11,2007,WD,Normal,197900 +662,60,RL,52,46589,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,7,1994,2005,Hip,CompShg,VinylSd,VinylSd,BrkFace,528,Gd,TA,PConc,Gd,Gd,No,GLQ,1361,Rec,180,88,1629,GasA,Ex,Y,SBrkr,1686,762,0,2448,1,0,2,1,4,1,Gd,8,Typ,1,TA,Attchd,1994,RFn,3,711,TA,TA,Y,517,76,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,402000 +663,20,RL,120,13560,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,3,1968,1968,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,216,TA,TA,CBlock,Fa,Fa,No,Unf,0,Unf,0,1392,1392,GasA,Gd,Y,SBrkr,1392,0,0,1392,1,0,1,0,2,1,TA,5,Maj2,2,TA,Attchd,1968,RFn,2,576,TA,TA,Y,0,0,240,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,110000 +664,85,RL,90,10012,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,SFoyer,4,5,1972,1972,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,Av,BLQ,920,Rec,180,38,1138,GasA,TA,Y,SBrkr,1181,0,0,1181,1,0,2,0,3,1,TA,6,Typ,0,NA,Detchd,1974,RFn,2,588,TA,TA,Y,0,0,180,0,0,0,NA,MnPrv,NA,0,4,2008,WD,Normal,137500 +665,20,RL,49,20896,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,Somerst,RRAn,Norm,1Fam,1Story,8,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,Mn,GLQ,1721,Unf,0,356,2077,GasA,Ex,Y,SBrkr,2097,0,0,2097,1,0,1,1,1,1,Ex,8,Typ,1,Ex,Attchd,2005,Fin,3,1134,TA,TA,Y,192,267,0,0,0,0,NA,NA,NA,0,1,2006,New,Partial,423000 +666,60,RL,106,11194,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,8,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,40,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1406,1406,GasA,Ex,Y,SBrkr,1454,482,0,1936,0,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,2000,RFn,2,504,TA,TA,Y,188,124,0,0,0,0,NA,NA,NA,0,11,2006,WD,Normal,230500 +667,60,RL,NA,18450,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,2Story,6,5,1965,1979,Flat,Tar&Grv,Plywood,Plywood,BrkCmn,113,TA,Gd,CBlock,Gd,TA,No,LwQ,187,Rec,723,111,1021,GasA,TA,Y,SBrkr,1465,915,0,2380,0,0,2,1,3,1,TA,7,Sev,1,Po,CarPort,1965,Unf,2,596,TA,TA,Y,0,265,0,0,0,0,NA,NA,NA,0,8,2007,WD,Abnorml,129000 +668,20,RL,65,8125,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,6,5,1994,1998,Gable,CompShg,HdBoard,HdBoard,BrkFace,258,TA,TA,PConc,Gd,TA,No,GLQ,1138,Unf,0,270,1408,GasA,Ex,Y,SBrkr,1679,0,0,1679,1,0,2,0,3,1,Gd,7,Typ,1,Fa,Attchd,1994,RFn,2,575,TA,TA,Y,224,42,0,0,0,0,NA,NA,NA,0,10,2008,WD,Normal,193500 +669,20,RL,NA,14175,Pave,NA,Reg,Bnk,AllPub,Corner,Mod,Sawyer,Norm,Norm,1Fam,1Story,5,6,1956,1987,Gable,CompShg,CemntBd,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,988,Unf,0,200,1188,GasA,Gd,Y,SBrkr,1437,0,0,1437,1,0,1,1,3,1,TA,6,Min2,1,TA,Detchd,1999,Unf,2,576,TA,TA,Y,304,0,0,0,0,0,NA,NA,NA,0,11,2006,WD,Normal,168000 +670,30,RL,80,11600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,4,5,1922,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,Fa,TA,No,Unf,0,Unf,0,700,700,GasA,Ex,Y,SBrkr,1180,0,0,1180,0,0,1,0,2,1,Fa,5,Typ,1,Gd,Detchd,1922,Unf,1,252,TA,Fa,Y,0,0,67,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,137500 +671,60,RL,64,8633,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,CollgCr,Norm,Norm,1Fam,2Story,6,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,193,Unf,0,545,738,GasA,Ex,Y,SBrkr,738,738,0,1476,1,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2005,Fin,2,540,TA,TA,Y,100,35,0,0,0,0,NA,NA,NA,0,2,2009,WD,Normal,173500 +672,70,RH,54,6629,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Artery,Norm,1Fam,2Story,6,6,1925,1950,Gambrel,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,BrkTil,TA,TA,No,BLQ,551,Unf,0,121,672,GasA,TA,N,SBrkr,697,672,0,1369,1,0,2,0,3,1,TA,6,Typ,0,NA,Detchd,1930,Unf,1,300,TA,TA,Y,147,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,103600 +673,20,RL,NA,11250,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Veenker,Norm,Norm,1Fam,1Story,6,6,1977,1977,Gable,CompShg,Plywood,Plywood,None,0,Gd,TA,CBlock,Gd,TA,No,ALQ,767,Unf,0,441,1208,GasA,TA,Y,SBrkr,1208,0,0,1208,1,0,1,1,3,1,TA,6,Typ,1,TA,Attchd,1977,RFn,2,546,TA,TA,Y,198,42,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,165000 +674,20,RL,110,14442,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,6,7,1957,2004,Hip,CompShg,CemntBd,CmentBd,BrkFace,106,TA,TA,PConc,TA,TA,No,GLQ,1186,Unf,0,291,1477,GasA,Ex,Y,SBrkr,1839,0,0,1839,1,0,2,0,3,1,Gd,7,Typ,2,TA,Attchd,1957,Fin,2,416,TA,TA,Y,0,87,0,0,200,0,NA,NA,NA,0,6,2007,WD,Normal,257500 +675,20,RL,80,9200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1965,1965,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Rec,892,Unf,0,244,1136,GasA,TA,Y,SBrkr,1136,0,0,1136,1,0,1,0,3,1,TA,5,Typ,1,Gd,Attchd,1965,RFn,1,384,TA,TA,Y,426,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,140000 +676,160,RL,24,2289,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NPkVill,Norm,Norm,Twnhs,2Story,6,6,1978,1978,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,TA,TA,No,ALQ,311,Unf,0,544,855,GasA,TA,Y,SBrkr,855,586,0,1441,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1978,Unf,2,440,TA,TA,Y,28,0,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal,148500 +677,70,RM,60,9600,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,4,2,1900,1950,Gable,CompShg,AsbShng,Stucco,None,0,TA,TA,BrkTil,TA,Fa,No,Unf,0,Unf,0,1095,1095,GasW,Fa,N,SBrkr,1095,679,0,1774,1,0,2,0,4,2,TA,8,Min2,0,NA,2Types,1920,Unf,3,779,Fa,Fa,N,0,0,90,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,87000 +678,30,RL,52,9022,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,8,1924,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,768,768,GasA,Ex,Y,SBrkr,792,0,0,792,0,0,1,0,2,1,Gd,5,Typ,0,NA,Detchd,1924,Unf,1,240,Fa,Fa,N,316,0,120,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,109500 +679,20,RL,80,11844,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,StoneBr,Norm,Norm,1Fam,1Story,8,5,2008,2008,Hip,CompShg,VinylSd,VinylSd,Stone,464,Gd,TA,PConc,Ex,TA,Mn,Unf,0,Unf,0,2046,2046,GasA,Ex,Y,SBrkr,2046,0,0,2046,0,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2008,Fin,3,834,TA,TA,Y,322,82,0,0,0,0,NA,NA,NA,0,7,2009,New,Partial,372500 +680,20,RL,NA,9945,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1961,1961,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,57,TA,TA,CBlock,TA,TA,No,Rec,827,Unf,0,161,988,GasA,TA,Y,SBrkr,988,0,0,988,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1963,Unf,2,572,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2007,WD,Normal,128500 +681,120,RL,50,8012,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,TwnhsE,1Story,6,5,1980,1980,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,No,BLQ,543,BLQ,119,261,923,GasA,TA,Y,SBrkr,923,0,0,923,0,0,2,0,2,1,TA,5,Typ,1,TA,Attchd,1980,RFn,1,264,TA,TA,Y,80,0,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,143000 +682,50,RH,55,4500,Pave,Pave,IR2,Bnk,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1.5Fin,5,5,1932,2000,Gable,CompShg,VinylSd,Stucco,None,0,TA,TA,BrkTil,TA,TA,No,Rec,182,Unf,0,611,793,GasA,Ex,Y,SBrkr,848,672,0,1520,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1968,Unf,1,281,TA,TA,Y,0,0,56,0,0,0,NA,NA,NA,0,7,2009,WD,Abnorml,159434 +683,120,RL,NA,2887,Pave,NA,Reg,HLS,AllPub,Inside,Gtl,ClearCr,Norm,Norm,1Fam,1Story,6,5,1996,1997,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,Gd,TA,Mn,GLQ,1003,Unf,0,288,1291,GasA,Ex,Y,SBrkr,1291,0,0,1291,1,0,1,0,2,1,Gd,6,Typ,1,Gd,Attchd,1996,Unf,2,431,TA,TA,Y,307,0,0,0,0,0,NA,NA,NA,0,11,2008,WD,Normal,173000 +684,20,RL,90,11248,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,9,5,2002,2002,Hip,CompShg,VinylSd,VinylSd,Stone,215,Gd,TA,PConc,Gd,TA,Av,GLQ,1059,Unf,0,567,1626,GasA,Ex,Y,SBrkr,1668,0,0,1668,1,0,2,0,3,1,Gd,7,Typ,1,TA,Attchd,2002,Fin,3,702,TA,TA,Y,257,45,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,285000 +685,60,RL,58,16770,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,NoRidge,Norm,Norm,1Fam,2Story,7,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,30,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1195,1195,GasA,Gd,Y,SBrkr,1195,644,0,1839,0,0,2,1,4,1,TA,7,Typ,0,NA,Attchd,1998,Fin,2,486,TA,TA,Y,0,81,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,221000 +686,160,RL,NA,5062,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,StoneBr,Norm,Norm,TwnhsE,2Story,7,5,1984,1984,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,CBlock,Gd,TA,Mn,GLQ,828,LwQ,182,180,1190,GasA,Gd,Y,SBrkr,1190,900,0,2090,1,0,2,0,3,1,Gd,6,Min1,1,TA,Attchd,1984,Fin,2,577,TA,TA,Y,219,0,0,0,0,0,NA,NA,NA,0,9,2007,WD,Normal,207500 +687,60,FV,84,10207,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,6,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,874,874,GasA,Ex,Y,SBrkr,874,887,0,1761,0,0,3,0,3,1,Gd,7,Typ,0,NA,Attchd,2007,Fin,2,578,TA,TA,Y,144,105,0,0,0,0,NA,NA,NA,0,8,2007,New,Partial,227875 +688,160,FV,NA,5105,Pave,NA,IR2,Lvl,AllPub,FR2,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,7,5,2004,2004,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,239,Unf,0,312,551,GasA,Ex,Y,SBrkr,551,551,0,1102,0,0,2,1,2,1,Gd,4,Typ,0,NA,Detchd,2004,Unf,2,480,TA,TA,Y,0,60,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal,148800 +689,20,RL,60,8089,Pave,NA,Reg,HLS,AllPub,Inside,Gtl,StoneBr,Norm,Norm,1Fam,1Story,8,6,2007,2007,Gable,CompShg,MetalSd,MetalSd,BrkFace,0,Gd,TA,PConc,Gd,TA,Av,GLQ,945,Unf,0,474,1419,GasA,Ex,Y,SBrkr,1419,0,0,1419,1,0,2,0,2,1,Gd,7,Typ,1,Gd,Attchd,2007,RFn,2,567,TA,TA,Y,140,0,0,0,0,0,NA,NA,NA,0,10,2007,New,Partial,392000 +690,120,RL,61,7577,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,6,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,Stone,256,Gd,TA,PConc,Gd,TA,Av,ALQ,20,Unf,0,1342,1362,GasA,Ex,Y,SBrkr,1362,0,0,1362,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2005,RFn,2,460,TA,TA,Y,192,28,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,194700 +691,120,RM,NA,4426,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,TwnhsE,1Story,6,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,147,Gd,TA,PConc,Gd,TA,Gd,GLQ,697,Unf,0,151,848,GasA,Ex,Y,SBrkr,848,0,0,848,1,0,1,0,1,1,Gd,3,Typ,1,TA,Attchd,2004,RFn,2,420,TA,TA,Y,149,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,141000 +692,60,RL,104,21535,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NoRidge,Norm,Norm,1Fam,2Story,10,6,1994,1995,Gable,WdShngl,HdBoard,HdBoard,BrkFace,1170,Ex,TA,PConc,Ex,TA,Gd,GLQ,1455,Unf,0,989,2444,GasA,Ex,Y,SBrkr,2444,1872,0,4316,0,1,3,1,4,1,Ex,10,Typ,2,Ex,Attchd,1994,Fin,3,832,TA,TA,Y,382,50,0,0,0,0,NA,NA,NA,0,1,2007,WD,Normal,755000 +693,60,RL,42,26178,Pave,NA,IR1,Lvl,AllPub,Inside,Mod,Timber,Norm,Norm,1Fam,2Story,7,5,1989,1990,Hip,CompShg,MetalSd,MetalSd,BrkFace,293,Gd,TA,PConc,Gd,TA,Gd,GLQ,965,Unf,0,245,1210,GasA,Ex,Y,SBrkr,1238,1281,0,2519,1,0,2,1,4,1,Gd,9,Typ,2,Gd,Attchd,1989,RFn,2,628,TA,TA,Y,320,27,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,335000 +694,30,RL,60,5400,Pave,NA,Reg,Lvl,AllPub,Corner,Sev,OldTown,Norm,Norm,1Fam,1Story,5,6,1921,1968,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,1073,1073,GasA,Ex,Y,SBrkr,1073,0,0,1073,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1968,Unf,1,326,TA,TA,Y,0,0,112,0,0,0,NA,NA,NA,0,12,2006,WD,Abnorml,108480 +695,50,RM,51,6120,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,6,1936,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Fa,BrkTil,TA,TA,No,Unf,0,Unf,0,927,927,GasA,TA,Y,SBrkr,1067,472,0,1539,0,0,1,1,3,1,TA,5,Typ,0,NA,Detchd,1995,Unf,2,576,TA,TA,Y,112,0,0,0,0,0,NA,MnPrv,NA,0,4,2009,WD,Normal,141500 +696,20,RL,54,13811,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,6,6,1987,1987,Gable,CompShg,HdBoard,HdBoard,BrkFace,72,TA,TA,CBlock,Gd,Gd,No,GLQ,980,LwQ,40,92,1112,GasA,Gd,Y,SBrkr,1137,0,0,1137,1,0,2,0,2,1,Gd,5,Typ,1,TA,Attchd,1987,Unf,2,551,TA,TA,Y,125,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,176000 +697,30,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,5,7,1921,1950,Gable,CompShg,Wd Sdng,Wd Shng,None,0,TA,TA,CBlock,TA,TA,No,LwQ,616,Unf,0,0,616,GasA,Gd,Y,SBrkr,616,0,0,616,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1921,Unf,1,205,TA,TA,Y,0,0,129,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,89000 +698,20,RL,57,6420,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,7,1952,1952,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,Ex,Gd,Mn,LwQ,210,ALQ,551,219,980,GasA,Fa,Y,FuseA,1148,0,0,1148,0,1,1,0,2,1,TA,6,Typ,0,NA,Detchd,1952,Unf,1,308,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,9,2006,WD,Normal,123500 +699,20,RL,65,8450,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,RRAe,Norm,1Fam,1Story,5,8,1965,2009,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,GLQ,553,BLQ,117,224,894,GasA,Ex,Y,SBrkr,894,0,0,894,1,0,1,0,3,1,TA,5,Typ,1,Gd,Detchd,1973,Unf,1,336,TA,TA,Y,416,144,0,0,0,0,NA,MnPrv,NA,0,4,2010,WD,Normal,138500 +700,120,FV,59,4282,Pave,Pave,IR2,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,7,5,2004,2004,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,Mn,GLQ,16,Unf,0,1375,1391,GasA,Ex,Y,SBrkr,1391,0,0,1391,0,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,2004,RFn,2,530,TA,TA,Y,156,158,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,196000 +701,20,RL,85,14331,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2002,2002,Hip,CompShg,VinylSd,VinylSd,BrkFace,630,Gd,TA,PConc,Ex,TA,Gd,GLQ,1274,Unf,0,526,1800,GasA,Ex,Y,SBrkr,1800,0,0,1800,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2002,Fin,3,765,TA,TA,Y,270,78,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,312500 +702,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,7,5,1969,1969,Hip,CompShg,HdBoard,HdBoard,BrkFace,168,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1164,1164,GasA,TA,Y,SBrkr,1164,0,0,1164,0,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1969,Unf,2,528,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,COD,Normal,140000 +703,60,RL,82,12438,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,StoneBr,Norm,Norm,1Fam,2Story,8,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,466,Ex,TA,PConc,Ex,Gd,No,Unf,0,Unf,0,1234,1234,GasA,Ex,Y,SBrkr,1264,1312,0,2576,0,0,2,1,4,1,Ex,10,Typ,1,Gd,BuiltIn,2006,Fin,3,666,TA,TA,Y,324,100,0,0,0,0,NA,NA,NA,0,7,2006,New,Partial,361919 +704,190,RM,76,7630,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Feedr,Norm,2fmCon,2Story,5,9,1900,1996,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,BrkTil,Gd,TA,No,Unf,0,Unf,0,360,360,GasA,Gd,Y,SBrkr,1032,780,0,1812,0,0,2,0,4,2,Gd,8,Typ,1,Po,Detchd,1999,Unf,2,672,TA,TA,N,344,0,40,0,0,0,NA,MnPrv,NA,0,5,2010,WD,Normal,140000 +705,20,RL,70,8400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,109,Gd,TA,PConc,Gd,TA,Av,GLQ,712,Unf,0,761,1473,GasA,Ex,Y,SBrkr,1484,0,0,1484,1,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2004,RFn,2,606,TA,TA,Y,0,35,0,144,0,0,NA,NA,NA,0,5,2010,WD,Normal,213000 +706,190,RM,70,5600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,2fmCon,2Story,4,5,1930,1950,Hip,CompShg,VinylSd,Wd Shng,None,0,Fa,Fa,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,Fa,N,SBrkr,372,720,0,1092,0,0,2,0,3,2,Fa,7,Mod,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,0,0,0,0,NA,NA,Othr,3500,7,2010,WD,Normal,55000 +707,20,RL,NA,115149,Pave,NA,IR2,Low,AllPub,CulDSac,Sev,ClearCr,Norm,Norm,1Fam,1Story,7,5,1971,2002,Gable,CompShg,Plywood,Plywood,Stone,351,TA,TA,CBlock,Gd,TA,Gd,GLQ,1219,Unf,0,424,1643,GasA,TA,Y,SBrkr,1824,0,0,1824,1,0,2,0,2,1,Gd,5,Typ,2,TA,Attchd,1971,Unf,2,739,TA,TA,Y,380,48,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,302000 +708,120,RL,48,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,8,5,2006,2006,Hip,CompShg,MetalSd,MetalSd,BrkFace,176,Gd,TA,PConc,Gd,TA,No,GLQ,863,Unf,0,461,1324,GasA,Ex,Y,SBrkr,1324,0,0,1324,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2006,Fin,2,550,TA,TA,Y,192,38,0,0,0,0,NA,NA,NA,0,12,2009,WD,Normal,254000 +709,60,RL,65,9018,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2007,2007,Hip,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,728,728,GasA,Ex,Y,SBrkr,728,728,0,1456,0,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2007,Fin,2,400,TA,TA,Y,100,24,0,0,0,0,NA,NA,NA,0,7,2007,New,Partial,179540 +710,20,RL,NA,7162,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,7,1966,1966,Gable,CompShg,HdBoard,HdBoard,BrkCmn,41,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,876,876,GasA,TA,Y,SBrkr,904,0,0,904,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1966,Unf,1,408,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,12,2008,WD,Abnorml,109900 +711,30,RL,56,4130,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,3,6,1935,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,CBlock,TA,TA,No,Unf,0,Unf,0,270,270,GasA,Gd,Y,SBrkr,729,0,0,729,0,0,1,0,2,1,TA,5,Maj2,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,52000 +712,50,C (all),66,8712,Pave,Pave,Reg,HLS,AllPub,Inside,Mod,IDOTRR,Norm,Norm,1Fam,1.5Fin,4,7,1900,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,Stone,TA,TA,Mn,Unf,0,Unf,0,859,859,GasA,Gd,Y,SBrkr,859,319,0,1178,0,0,1,0,2,1,TA,7,Typ,0,NA,Detchd,1964,RFn,1,384,TA,TA,N,68,0,98,0,0,0,NA,NA,NA,0,1,2010,WD,Abnorml,102776 +713,120,RL,40,4671,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,1988,1989,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,Mn,GLQ,767,Unf,0,461,1228,GasA,Gd,Y,SBrkr,1228,0,0,1228,1,0,2,0,2,1,Gd,5,Typ,1,Gd,Attchd,1988,Fin,2,472,TA,TA,Y,168,120,0,0,0,0,NA,NA,NA,0,10,2008,WD,Normal,189000 +714,190,RL,60,9873,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,RRAn,Norm,2fmCon,1Story,4,5,1970,1970,Gable,CompShg,HdBoard,HdBoard,BrkFace,160,TA,TA,CBlock,TA,TA,Av,ALQ,789,Unf,0,171,960,GasW,TA,N,SBrkr,960,0,0,960,1,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1970,Unf,2,576,TA,TA,Y,0,288,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,129000 +715,60,RL,NA,13517,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,RRAe,Norm,1Fam,2Story,6,8,1976,2005,Gable,CompShg,HdBoard,Plywood,BrkFace,289,Gd,TA,CBlock,TA,TA,No,GLQ,533,Unf,0,192,725,GasA,Ex,Y,SBrkr,725,754,0,1479,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,1976,RFn,2,475,TA,TA,Y,0,44,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal,130500 +716,20,RL,78,10140,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,5,1974,1974,Hip,CompShg,HdBoard,HdBoard,BrkFace,174,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,1064,1064,GasA,TA,Y,SBrkr,1350,0,0,1350,0,0,2,0,3,1,TA,7,Typ,1,TA,Attchd,1974,RFn,2,478,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,8,2009,WD,Normal,165000 +717,70,RM,60,10800,Pave,Grvl,Reg,Bnk,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,7,8,1890,1998,Gable,CompShg,Wd Sdng,VinylSd,None,0,TA,Gd,BrkTil,TA,TA,No,Unf,0,Unf,0,718,718,GasA,Ex,Y,SBrkr,1576,978,0,2554,0,0,1,1,3,1,TA,8,Typ,0,NA,Detchd,1996,Unf,2,704,TA,TA,P,0,48,143,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,159500 +718,20,RL,80,10000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,5,6,1973,2000,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,No,BLQ,1084,Unf,0,92,1176,GasA,Gd,Y,SBrkr,1178,0,0,1178,0,1,1,1,3,1,Gd,5,Typ,1,Fa,Attchd,1973,Unf,2,439,TA,TA,Y,224,0,0,0,0,0,NA,MnPrv,NA,0,11,2008,WD,Normal,157000 +719,60,RL,96,10542,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,7,5,1993,1994,Hip,CompShg,Wd Sdng,ImStucc,BrkFace,651,Gd,TA,PConc,Gd,TA,Gd,GLQ,1173,Unf,0,138,1311,GasA,Ex,Y,SBrkr,1325,1093,0,2418,1,0,2,1,3,1,Gd,9,Typ,1,TA,Attchd,1993,RFn,3,983,TA,TA,Y,250,154,216,0,0,0,NA,NA,NA,0,8,2008,WD,Normal,341000 +720,20,RL,69,9920,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,6,1969,1969,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,Gd,TA,Gd,ALQ,523,Unf,0,448,971,GasA,TA,Y,SBrkr,971,0,0,971,0,0,1,1,3,1,TA,5,Typ,1,Po,Attchd,1969,Unf,1,300,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,128500 +721,120,RL,NA,6563,Pave,NA,IR1,Low,AllPub,CulDSac,Mod,StoneBr,Norm,Norm,1Fam,1Story,8,5,1985,1985,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,Gd,GLQ,1148,Unf,0,594,1742,GasA,TA,Y,SBrkr,1742,0,0,1742,1,0,2,0,2,1,Gd,5,Typ,1,TA,Attchd,1985,RFn,2,564,TA,TA,Y,114,28,234,0,0,0,NA,NA,NA,0,12,2006,WD,Normal,275000 +722,120,RM,NA,4426,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,TwnhsE,1Story,6,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,169,Gd,TA,PConc,Gd,TA,Av,GLQ,662,Unf,0,186,848,GasA,Ex,Y,SBrkr,848,0,0,848,1,0,1,0,1,1,Gd,3,Typ,0,NA,Attchd,2004,RFn,2,420,TA,TA,Y,160,0,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,143000 +723,20,RL,70,8120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,7,1970,1970,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,191,Unf,0,673,864,GasA,Ex,Y,SBrkr,864,0,0,864,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1994,Unf,2,463,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,124500 +724,50,RL,60,8172,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,4,6,1954,1972,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,941,941,GasA,Ex,Y,SBrkr,997,473,0,1470,0,0,2,0,4,1,TA,7,Typ,0,NA,Detchd,1958,Unf,1,548,TA,TA,Y,0,0,0,0,156,0,NA,NA,NA,0,5,2008,WD,Normal,135000 +725,20,RL,86,13286,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,9,5,2007,2008,Hip,CompShg,CemntBd,CmentBd,Stone,340,Ex,TA,PConc,Ex,TA,No,GLQ,1234,Unf,0,464,1698,GasA,Ex,Y,SBrkr,1698,0,0,1698,1,0,2,0,3,1,Ex,8,Typ,1,Gd,Attchd,2007,Fin,3,768,TA,TA,Y,327,64,0,0,0,0,NA,NA,NA,0,2,2009,WD,Normal,320000 +726,20,RL,60,6960,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,6,1970,1970,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,375,BLQ,239,250,864,GasA,TA,Y,SBrkr,864,0,0,864,0,0,1,0,3,1,Gd,5,Typ,0,NA,Detchd,1989,Unf,2,660,TA,TA,Y,96,0,0,0,0,0,NA,NA,Shed,500,11,2009,WD,Normal,120500 +727,20,RL,NA,21695,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Crawfor,Norm,Norm,1Fam,1Story,6,9,1988,2007,Hip,CompShg,Wd Sdng,Plywood,BrkFace,260,Gd,Gd,CBlock,Gd,TA,No,GLQ,808,Unf,0,72,880,GasA,Ex,Y,SBrkr,1680,0,0,1680,1,0,2,0,3,1,Gd,5,Typ,1,Gd,Attchd,1988,Fin,2,540,TA,TA,Y,292,44,0,182,0,0,NA,NA,NA,0,12,2009,WD,Normal,222000 +728,20,RL,64,7314,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,82,Gd,TA,PConc,Gd,TA,Av,GLQ,724,Unf,0,508,1232,GasA,Ex,Y,SBrkr,1232,0,0,1232,1,0,2,0,2,1,Gd,6,Typ,0,NA,Attchd,2007,RFn,2,632,TA,TA,Y,132,0,0,0,0,0,NA,NA,NA,0,2,2009,WD,Normal,194500 +729,90,RL,85,11475,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,Duplex,1Story,5,5,1958,1958,Gable,CompShg,VinylSd,VinylSd,BrkFace,95,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1584,1584,GasA,TA,Y,SBrkr,1776,0,0,1776,1,0,2,0,4,2,TA,9,Typ,0,NA,Detchd,1968,Unf,3,888,TA,TA,Y,0,25,0,0,0,0,NA,NA,NA,0,7,2009,COD,Abnorml,110000 +730,30,RM,52,6240,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,4,5,1925,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,152,Unf,0,628,780,GasA,TA,Y,FuseA,848,0,360,1208,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1962,Unf,2,539,TA,TA,Y,0,23,112,0,0,0,NA,NA,NA,0,1,2009,WD,Normal,103000 +731,120,RL,39,5389,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,1995,1996,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,1180,Unf,0,415,1595,GasA,Ex,Y,SBrkr,1616,0,0,1616,1,0,2,0,2,1,Gd,5,Typ,1,TA,Attchd,1995,RFn,2,608,TA,TA,Y,237,152,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal,236500 +732,80,RL,73,9590,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,SLvl,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,442,Gd,TA,PConc,Ex,TA,Av,GLQ,786,Unf,0,82,868,GasA,Ex,Y,SBrkr,1146,0,0,1146,1,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2003,Fin,2,438,TA,TA,Y,160,22,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,187500 +733,60,RL,75,11404,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,1998,1999,Gable,CompShg,VinylSd,VinylSd,BrkFace,202,Gd,TA,PConc,Gd,TA,Av,ALQ,252,Unf,0,901,1153,GasA,Ex,Y,SBrkr,1153,878,0,2031,0,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1998,Fin,2,541,TA,TA,Y,192,84,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,222500 +734,20,RL,80,10000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,5,6,1961,1983,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,BLQ,594,Unf,0,270,864,GasA,Ex,Y,SBrkr,1144,0,0,1144,1,0,1,0,3,1,TA,6,Typ,1,TA,Attchd,1961,RFn,1,264,TA,TA,Y,165,0,0,0,0,0,NA,GdWo,Shed,400,3,2009,WD,Normal,131400 +735,20,RL,NA,8978,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1968,1968,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,948,948,GasA,TA,Y,SBrkr,948,0,0,948,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1968,Unf,1,300,TA,TA,Y,147,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Family,108000 +736,75,RM,60,10800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2.5Unf,7,7,1914,1970,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Gd,TA,Mn,Rec,390,Unf,0,490,880,GasW,Fa,N,SBrkr,880,888,0,1768,0,0,1,1,2,1,TA,6,Typ,2,TA,Detchd,1914,Unf,2,320,TA,TA,N,0,341,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal,163000 +737,90,RL,60,8544,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,Duplex,1Story,3,4,1950,1950,Gable,CompShg,Stucco,Stone,None,0,TA,TA,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,Gd,N,FuseF,1040,0,0,1040,0,0,2,0,2,2,TA,6,Typ,0,NA,Detchd,1949,Unf,2,400,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,93500 +738,60,RL,72,10463,Pave,NA,IR1,HLS,AllPub,CulDSac,Gtl,Gilbert,Norm,Norm,1Fam,2Story,8,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,893,893,GasA,Ex,Y,SBrkr,901,900,0,1801,0,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2005,Fin,3,800,TA,TA,Y,0,116,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,239900 +739,90,RL,60,10800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,Duplex,1Story,5,5,1987,1988,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,Gd,Gd,GLQ,1200,Unf,0,0,1200,GasA,TA,Y,SBrkr,1200,0,0,1200,3,0,3,0,3,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,120,0,0,0,0,0,NA,NA,NA,0,3,2009,WD,Alloca,179000 +740,60,RL,65,9313,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,864,864,GasA,Ex,Y,SBrkr,864,864,0,1728,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2004,RFn,2,572,TA,TA,Y,187,56,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal,190000 +741,70,RM,60,9600,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,5,7,1910,2002,Gable,CompShg,Wd Sdng,Wd Shng,None,0,TA,Gd,BrkTil,Fa,Fa,No,Unf,0,Unf,0,264,264,GasA,Ex,Y,SBrkr,768,664,0,1432,0,0,2,0,2,1,TA,7,Typ,0,NA,Detchd,1910,Unf,2,360,TA,Gd,Y,270,0,112,0,0,0,NA,GdPrv,NA,0,5,2007,WD,Abnorml,132000 +742,20,RL,65,6768,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,6,8,1961,1996,Hip,CompShg,HdBoard,HdBoard,None,0,TA,Gd,CBlock,TA,TA,Mn,GLQ,832,Unf,0,80,912,GasA,Gd,Y,SBrkr,912,0,0,912,1,1,1,0,3,1,Gd,5,Typ,0,NA,Detchd,1962,Unf,1,288,TA,TA,Y,168,0,0,0,0,0,NA,GdPrv,NA,0,5,2008,WD,Normal,142000 +743,20,RL,65,8450,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,7,5,2000,2001,Gable,CompShg,VinylSd,VinylSd,BrkFace,108,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1349,1349,GasA,Ex,Y,SBrkr,1349,0,0,1349,0,0,2,0,3,1,TA,6,Typ,0,NA,Attchd,2000,Unf,2,539,TA,TA,Y,120,55,0,0,0,0,NA,GdPrv,NA,0,12,2007,WD,Normal,179000 +744,80,RL,70,12886,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,SLvl,5,6,1963,1999,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,Av,ALQ,444,Unf,0,76,520,GasA,Ex,Y,SBrkr,1464,0,0,1464,0,1,2,0,3,1,TA,6,Min2,1,TA,Attchd,1997,RFn,2,480,TA,TA,Y,302,0,0,0,100,0,NA,NA,NA,0,10,2009,WD,Normal,175000 +745,120,RL,41,5395,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,1993,1993,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,733,Unf,0,604,1337,GasA,Gd,Y,SBrkr,1337,0,0,1337,1,0,2,0,2,1,Gd,5,Typ,1,TA,Attchd,1993,RFn,2,462,TA,TA,Y,96,0,70,168,0,0,NA,NA,NA,0,10,2008,WD,Normal,180000 +746,60,RL,NA,8963,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,8,9,1976,1996,Hip,CompShg,VinylSd,VinylSd,BrkFace,289,Ex,Gd,CBlock,TA,Gd,No,GLQ,575,ALQ,80,487,1142,GasA,Ex,Y,SBrkr,1175,1540,0,2715,0,1,3,1,4,1,Gd,11,Typ,2,TA,BuiltIn,1994,Fin,2,831,TA,TA,Y,0,204,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,299800 +747,60,RL,NA,8795,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,300,Unf,0,652,952,GasA,Ex,Y,SBrkr,980,1276,0,2256,0,0,2,1,4,1,Gd,8,Typ,1,TA,BuiltIn,2000,Fin,2,554,TA,TA,Y,224,54,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal,236000 +748,70,RM,65,11700,Pave,Pave,IR1,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,2Story,7,7,1880,2003,Mansard,CompShg,Stucco,Stucco,None,0,Gd,TA,Stone,TA,Fa,No,Unf,0,Unf,0,1240,1240,GasW,TA,N,SBrkr,1320,1320,0,2640,0,0,1,1,4,1,Gd,8,Typ,1,Gd,Detchd,1950,Unf,4,864,TA,TA,N,181,0,386,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,265979 +749,20,RL,59,10593,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,1Story,7,5,1996,1996,Hip,CompShg,VinylSd,VinylSd,BrkFace,338,Gd,TA,PConc,Gd,TA,No,GLQ,919,Unf,0,801,1720,GasA,Ex,Y,SBrkr,1720,0,0,1720,1,0,2,0,3,1,Gd,7,Typ,1,TA,Attchd,1996,Fin,2,527,TA,TA,Y,240,56,154,0,0,0,NA,NA,NA,0,3,2010,WD,Normal,260400 +750,50,RL,50,8405,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,4,3,1945,1950,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,Wall,TA,N,FuseF,1088,441,0,1529,0,0,2,0,4,1,TA,9,Mod,0,NA,Detchd,1945,Unf,1,240,TA,TA,N,92,0,185,0,0,0,NA,NA,NA,0,4,2009,WD,Normal,98000 +751,50,RM,55,8800,Pave,Grvl,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,4,7,1910,2004,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,Fa,No,Unf,0,Unf,0,576,576,GasA,Gd,Y,SBrkr,792,348,0,1140,0,0,1,0,3,1,TA,7,Min2,0,NA,NA,NA,NA,0,0,NA,NA,N,0,160,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,96500 +752,60,RL,NA,7750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,RRAn,Norm,1Fam,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,660,660,GasA,Ex,Y,SBrkr,660,660,0,1320,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2003,Fin,2,400,TA,TA,Y,0,48,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,162000 +753,20,RL,79,9236,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,6,5,1997,1997,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,PConc,Gd,TA,Gd,GLQ,1200,Unf,0,279,1479,GasA,Ex,Y,SBrkr,1494,0,0,1494,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1997,RFn,2,576,TA,TA,Y,168,27,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,217000 +754,60,RL,80,10240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,178,Gd,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,1030,1030,GasA,Gd,Y,SBrkr,1038,1060,0,2098,0,0,2,1,3,1,Ex,8,Typ,1,Gd,Attchd,2005,RFn,3,878,TA,TA,Y,192,52,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal,275500 +755,20,RL,61,7930,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,8,1969,2005,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,GLQ,439,LwQ,472,115,1026,GasA,Gd,Y,SBrkr,1026,0,0,1026,1,0,1,0,3,1,Gd,5,Typ,0,NA,Detchd,1969,RFn,2,440,TA,TA,Y,171,48,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,156000 +756,160,FV,34,3230,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,6,5,1999,1999,Gable,CompShg,MetalSd,MetalSd,BrkFace,894,TA,TA,PConc,Gd,TA,No,GLQ,381,Unf,0,348,729,GasA,Gd,Y,SBrkr,742,729,0,1471,0,0,2,1,3,1,TA,6,Typ,0,NA,Detchd,1999,Unf,2,440,TA,TA,Y,0,24,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal,172500 +757,60,RL,68,10769,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,20,Unf,0,846,866,GasA,Ex,Y,SBrkr,866,902,0,1768,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2007,RFn,2,578,TA,TA,Y,144,105,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal,212000 +758,60,RL,NA,11616,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,Norm,Norm,1Fam,2Story,6,5,1978,1978,Hip,CompShg,HdBoard,HdBoard,BrkCmn,328,TA,TA,CBlock,TA,TA,Mn,Rec,438,Unf,0,234,672,GasA,TA,Y,SBrkr,672,714,0,1386,0,0,2,1,3,1,TA,6,Typ,1,TA,Attchd,1978,Fin,2,440,TA,TA,Y,335,0,0,0,0,0,NA,GdPrv,NA,0,4,2010,WD,Abnorml,158900 +759,160,FV,24,2280,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,2Story,7,5,1999,1999,Gable,CompShg,MetalSd,MetalSd,BrkFace,360,TA,TA,PConc,Gd,TA,No,ALQ,549,Unf,0,195,744,GasA,Gd,Y,SBrkr,757,744,0,1501,0,0,2,1,3,1,TA,6,Typ,0,NA,Detchd,1999,Unf,2,440,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal,179400 +760,60,RL,65,12257,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1995,1995,Gable,CompShg,VinylSd,VinylSd,BrkFace,513,Gd,TA,PConc,Gd,TA,Av,LwQ,56,ALQ,64,1198,1318,GasA,Ex,Y,SBrkr,1328,1203,0,2531,0,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1995,RFn,3,752,TA,TA,Y,222,98,0,0,0,0,NA,NA,NA,0,11,2007,WD,Normal,290000 +761,20,RL,70,9100,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1959,1959,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,612,Unf,0,252,864,GasA,Ex,Y,SBrkr,864,0,0,864,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,2008,Unf,1,300,Ex,Ex,Y,0,0,0,0,0,0,NA,NA,Shed,450,10,2009,WD,Normal,127500 +762,30,RM,60,6911,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,BrkSide,Feedr,Norm,1Fam,1Story,5,5,1924,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,Mn,LwQ,405,Unf,0,740,1145,GasA,TA,Y,SBrkr,1301,0,0,1301,0,0,1,0,2,1,Fa,5,Min1,0,NA,Detchd,1965,Unf,2,440,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal,100000 +763,60,FV,72,8640,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2009,2009,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Mn,GLQ,24,Unf,0,732,756,GasA,Ex,Y,SBrkr,764,783,0,1547,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2009,Unf,2,614,TA,TA,Y,169,45,0,0,0,0,NA,NA,NA,0,6,2010,Con,Normal,215200 +764,60,RL,82,9430,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,BrkFace,673,Gd,TA,PConc,Gd,TA,Mn,GLQ,1163,Unf,0,89,1252,GasA,Ex,Y,SBrkr,1268,1097,0,2365,1,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,1999,RFn,3,856,TA,TA,Y,0,128,0,0,180,0,NA,NA,NA,0,7,2009,WD,Normal,337000 +765,120,RL,30,9549,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Veenker,Norm,Norm,TwnhsE,1Story,8,5,1995,1996,Hip,CompShg,BrkFace,BrkFace,None,0,Gd,Gd,PConc,Gd,Gd,Av,LwQ,437,GLQ,1057,0,1494,GasA,Ex,Y,SBrkr,1494,0,0,1494,1,0,1,1,2,1,Ex,6,Typ,1,Gd,Attchd,1995,Fin,2,481,TA,TA,Y,0,30,0,0,216,0,NA,NA,NA,0,4,2006,WD,Normal,270000 +766,20,RL,75,14587,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,9,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,Stone,284,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1498,1498,GasA,Ex,Y,SBrkr,1506,0,0,1506,0,0,2,0,2,1,Ex,6,Typ,1,Gd,Attchd,2008,Fin,2,592,TA,TA,Y,0,174,0,0,0,0,NA,NA,NA,0,8,2008,New,Partial,264132 +767,60,RL,80,10421,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,7,5,1988,1988,Gable,CompShg,HdBoard,HdBoard,BrkFace,42,TA,TA,CBlock,Gd,TA,No,GLQ,394,Unf,0,586,980,GasA,TA,Y,SBrkr,980,734,0,1714,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1988,Unf,2,496,TA,TA,Y,228,66,156,0,0,0,NA,MnPrv,Shed,500,3,2010,WD,Normal,196500 +768,50,RL,75,12508,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1.5Fin,6,7,1940,1985,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,Gd,TA,Mn,ALQ,660,Unf,0,323,983,GasA,Ex,Y,SBrkr,983,767,0,1750,1,0,2,0,4,1,TA,7,Mod,0,NA,Attchd,1989,Unf,1,423,TA,TA,Y,245,0,156,0,0,0,NA,NA,Shed,1300,7,2008,WD,Normal,160000 +769,20,RL,70,9100,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2004,2005,Hip,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,24,Unf,0,1836,1860,GasA,Ex,Y,SBrkr,1836,0,0,1836,0,0,2,0,3,1,Gd,8,Typ,1,Gd,Attchd,2004,Fin,2,484,TA,TA,Y,120,33,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal,216837 +770,60,RL,47,53504,Pave,NA,IR2,HLS,AllPub,CulDSac,Mod,StoneBr,Norm,Norm,1Fam,2Story,8,5,2003,2003,Hip,CompShg,CemntBd,Wd Shng,BrkFace,603,Ex,TA,PConc,Gd,TA,Gd,ALQ,1416,Unf,0,234,1650,GasA,Ex,Y,SBrkr,1690,1589,0,3279,1,0,3,1,4,1,Ex,12,Mod,1,Gd,BuiltIn,2003,Fin,3,841,TA,TA,Y,503,36,0,0,210,0,NA,NA,NA,0,6,2010,WD,Normal,538000 +771,85,RL,NA,7252,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,Norm,Norm,1Fam,SFoyer,5,5,1982,1982,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,Gd,TA,Av,GLQ,685,Unf,0,173,858,GasA,TA,Y,SBrkr,858,0,0,858,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1983,Unf,2,576,TA,TA,Y,120,0,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal,134900 +772,20,RL,67,8877,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,5,1951,1951,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,Fa,Fa,No,LwQ,836,Unf,0,0,836,GasA,TA,Y,FuseF,1220,0,0,1220,0,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1951,Unf,2,396,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2006,COD,Normal,102000 +773,80,RL,94,7819,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,SLvl,6,5,1976,1976,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,Av,ALQ,422,BLQ,127,480,1029,GasA,TA,Y,SBrkr,1117,0,0,1117,1,0,1,0,3,1,TA,6,Typ,1,TA,Detchd,1976,Unf,2,672,TA,TA,Y,144,0,0,0,0,0,NA,MnPrv,NA,0,3,2010,WD,Abnorml,107000 +774,20,RL,70,10150,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Feedr,Norm,1Fam,1Story,5,5,1958,1958,Gable,CompShg,Wd Sdng,Wd Sdng,None,1,TA,TA,CBlock,TA,TA,No,Rec,456,Unf,0,456,912,GasA,Ex,Y,FuseA,912,0,0,912,0,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1958,RFn,1,275,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2007,COD,Normal,114500 +775,20,RL,110,14226,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,375,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1935,1935,GasA,Gd,Y,SBrkr,1973,0,0,1973,0,0,2,0,3,1,Gd,9,Typ,1,Gd,Attchd,2006,Fin,3,895,TA,TA,Y,315,45,0,0,0,0,NA,NA,NA,0,7,2007,New,Partial,395000 +776,120,RM,32,4500,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Mitchel,Norm,Norm,TwnhsE,1Story,6,5,1998,1998,Hip,CompShg,VinylSd,VinylSd,BrkFace,320,TA,TA,PConc,Ex,TA,No,GLQ,866,Unf,0,338,1204,GasA,Ex,Y,SBrkr,1204,0,0,1204,1,0,2,0,2,1,TA,5,Typ,0,NA,Attchd,1998,Fin,2,412,TA,TA,Y,0,247,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,162000 +777,20,RL,86,11210,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,240,Gd,TA,PConc,Gd,TA,Av,GLQ,20,Unf,0,1594,1614,GasA,Ex,Y,SBrkr,1614,0,0,1614,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2005,RFn,3,865,TA,TA,Y,144,59,0,0,0,0,NA,NA,NA,0,7,2006,New,Partial,221500 +778,20,RL,100,13350,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1974,1974,Hip,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,762,Unf,0,102,864,GasA,TA,Y,SBrkr,894,0,0,894,1,0,1,0,3,1,TA,5,Typ,1,Fa,Attchd,1974,Unf,2,440,TA,TA,Y,241,0,0,0,0,0,NA,MnPrv,NA,0,6,2006,WD,Normal,142500 +779,90,RH,60,8400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Feedr,Norm,Duplex,1Story,5,5,1977,1977,Gable,CompShg,Plywood,Plywood,BrkFace,320,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,2020,0,0,2020,0,0,2,0,4,2,TA,10,Typ,2,TA,Detchd,1977,Unf,2,630,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2007,WD,Normal,144000 +780,90,RL,78,10530,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,Duplex,SFoyer,6,5,1977,1977,Gable,CompShg,Plywood,ImStucc,BrkFace,90,TA,TA,CBlock,Gd,TA,Gd,GLQ,975,Unf,0,0,975,GasA,TA,Y,SBrkr,1004,0,0,1004,1,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1977,Unf,2,504,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,135000 +781,20,RL,63,7875,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,1Story,7,5,1995,1996,Gable,CompShg,HdBoard,HdBoard,BrkFace,38,TA,TA,PConc,Gd,Gd,No,Unf,0,Unf,0,1237,1237,GasA,Gd,Y,SBrkr,1253,0,0,1253,0,0,2,0,3,1,TA,6,Typ,1,TA,Attchd,1995,Fin,2,402,TA,TA,Y,220,21,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,176000 +782,60,RL,65,7153,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,5,1992,1992,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,Gd,PConc,Gd,TA,No,ALQ,387,Unf,0,374,761,GasA,Ex,Y,SBrkr,810,793,0,1603,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,1992,RFn,2,484,TA,TA,Y,0,124,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,175900 +783,20,RL,67,16285,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2001,2002,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1413,1413,GasA,Ex,Y,SBrkr,1430,0,0,1430,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2001,RFn,2,605,TA,TA,Y,0,33,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,187100 +784,85,RL,NA,9101,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Mitchel,Norm,Norm,1Fam,SFoyer,5,6,1978,1978,Gable,CompShg,Plywood,Plywood,BrkFace,104,TA,Gd,PConc,Gd,TA,Av,GLQ,1097,Unf,0,0,1097,GasA,Ex,Y,SBrkr,1110,0,0,1110,1,0,1,0,1,1,Gd,4,Typ,1,TA,Attchd,1978,Fin,2,602,TA,TA,Y,303,30,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,165500 +785,75,RM,35,6300,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2.5Unf,6,6,1914,2001,Gable,CompShg,Wd Sdng,Wd Shng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,742,742,GasA,Ex,Y,SBrkr,742,742,0,1484,0,0,2,0,3,1,TA,9,Typ,1,Gd,NA,NA,NA,0,0,NA,NA,Y,0,291,134,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,128000 +786,20,RL,NA,9790,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Feedr,Norm,1Fam,1Story,6,5,1967,1967,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,251,LwQ,630,491,1372,GasA,TA,Y,SBrkr,1342,0,0,1342,0,0,2,0,3,1,TA,7,Typ,1,Gd,Attchd,1967,Unf,2,457,TA,TA,Y,0,0,0,0,197,0,NA,NA,NA,0,9,2009,WD,Normal,161500 +787,50,RM,60,10800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1.5Fin,5,6,1915,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,PConc,Fa,TA,No,LwQ,686,Unf,0,0,686,GasA,TA,Y,SBrkr,966,686,0,1652,1,0,2,0,4,1,TA,7,Typ,0,NA,Detchd,1961,Unf,1,416,TA,TA,Y,0,0,196,0,0,0,NA,NA,Shed,1200,6,2010,WD,Normal,139000 +788,60,RL,76,10142,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,656,Unf,0,300,956,GasA,Ex,Y,SBrkr,956,1128,0,2084,1,0,2,1,4,1,Gd,8,Typ,0,NA,BuiltIn,2004,RFn,2,618,TA,TA,Y,0,45,0,0,0,0,NA,NA,NA,0,1,2010,WD,Normal,233000 +789,20,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1Story,4,7,1954,2000,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,901,901,GasA,Ex,Y,SBrkr,901,0,0,901,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1954,Unf,1,281,Fa,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal,107900 +790,60,RL,NA,12205,Pave,NA,IR1,Low,AllPub,Inside,Gtl,ClearCr,Norm,Norm,1Fam,2Story,6,8,1966,2007,Gable,CompShg,HdBoard,HdBoard,BrkFace,157,TA,TA,CBlock,TA,Fa,Gd,LwQ,568,Unf,0,264,832,GasA,Gd,Y,SBrkr,976,1111,0,2087,0,0,2,1,5,1,Gd,9,Typ,0,NA,Attchd,1966,Fin,2,444,TA,TA,Y,133,168,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,187500 +791,120,RL,43,3182,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,11,Gd,TA,PConc,Gd,TA,No,GLQ,16,Unf,0,1129,1145,GasA,Ex,Y,SBrkr,1145,0,0,1145,0,0,2,0,2,1,Gd,5,Typ,1,Gd,Attchd,2005,Fin,2,397,TA,TA,Y,100,16,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal,160200 +792,80,RL,NA,11333,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Mitchel,Norm,Norm,1Fam,SLvl,6,5,1976,1976,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,Av,ALQ,539,Unf,0,490,1029,GasA,TA,Y,SBrkr,1062,0,0,1062,1,0,1,0,3,1,TA,5,Typ,2,TA,Attchd,1976,RFn,2,539,TA,TA,Y,120,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,146800 +793,60,RL,92,9920,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NoRidge,Norm,Norm,1Fam,2Story,7,5,1996,1997,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,862,Unf,0,255,1117,GasA,Ex,Y,SBrkr,1127,886,0,2013,1,0,2,1,3,1,TA,8,Typ,1,TA,Attchd,1997,Unf,2,455,TA,TA,Y,180,130,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,269790 +794,20,RL,76,9158,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,CemntBd,CmentBd,Stone,140,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1496,1496,GasA,Ex,Y,SBrkr,1496,0,0,1496,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2007,Fin,2,474,TA,TA,Y,168,130,0,0,0,0,NA,NA,NA,0,6,2007,New,Partial,225000 +795,60,RL,NA,10832,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,1994,1996,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,712,712,GasA,Ex,Y,SBrkr,1086,809,0,1895,0,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1994,Fin,2,409,TA,TA,Y,143,46,0,0,0,0,NA,NA,Shed,500,10,2008,WD,Normal,194500 +796,60,RL,70,8400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,6,1980,1981,Gable,CompShg,HdBoard,HdBoard,BrkFace,130,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,650,650,GasA,TA,Y,SBrkr,888,676,0,1564,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1980,Unf,2,476,TA,TA,Y,0,50,0,0,204,0,NA,MnPrv,NA,0,4,2010,WD,Normal,171000 +797,20,RL,71,8197,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,6,5,1977,1977,Gable,CompShg,Plywood,Plywood,BrkFace,148,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,660,660,GasA,Ex,Y,SBrkr,1285,0,0,1285,0,0,1,1,3,1,TA,7,Typ,1,TA,Attchd,1977,RFn,2,528,TA,TA,Y,138,0,0,0,0,0,NA,MnPrv,NA,0,4,2007,WD,Normal,143500 +798,20,RL,57,7677,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1953,1953,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,570,Unf,0,203,773,GasA,Gd,Y,SBrkr,773,0,0,773,0,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1953,Unf,1,240,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2008,WD,Abnorml,110000 +799,60,RL,104,13518,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2008,2009,Hip,CompShg,VinylSd,VinylSd,Stone,860,Ex,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1926,1926,GasA,Ex,Y,SBrkr,1966,1174,0,3140,0,0,3,1,4,1,Ex,11,Typ,2,Gd,BuiltIn,2009,Fin,3,820,TA,TA,Y,144,78,0,0,0,0,NA,NA,NA,0,7,2009,New,Partial,485000 +800,50,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,SWISU,Feedr,Norm,1Fam,1.5Fin,5,7,1937,1950,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,252,TA,TA,BrkTil,Gd,TA,No,ALQ,569,Unf,0,162,731,GasA,Ex,Y,SBrkr,981,787,0,1768,1,0,1,1,3,1,Gd,7,Typ,2,TA,Detchd,1939,Unf,1,240,TA,TA,Y,0,0,264,0,0,0,NA,MnPrv,NA,0,6,2007,WD,Normal,175000 +801,60,RL,79,12798,Pave,NA,IR1,HLS,AllPub,Inside,Mod,ClearCr,Feedr,Norm,1Fam,2Story,6,5,1997,1997,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Gd,GLQ,462,Unf,0,154,616,GasA,Gd,Y,SBrkr,616,1072,0,1688,1,0,2,1,4,1,Gd,8,Typ,0,NA,Attchd,1997,RFn,2,603,TA,TA,Y,403,114,185,0,0,0,NA,NA,Shed,400,5,2008,WD,Normal,200000 +802,30,RM,40,4800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,4,7,1916,1990,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,LwQ,197,Unf,0,999,1196,GasA,Ex,Y,FuseA,1196,0,0,1196,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1957,Unf,2,440,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,109900 +803,60,RL,63,8199,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2005,2005,Gable,CompShg,WdShing,Wd Shng,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,648,Unf,0,80,728,GasA,Ex,Y,SBrkr,728,728,0,1456,1,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2005,Fin,2,410,TA,TA,Y,36,18,0,0,0,0,NA,NA,NA,0,10,2008,WD,Normal,189000 +804,60,RL,107,13891,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2008,2009,Hip,CompShg,VinylSd,VinylSd,Stone,424,Ex,TA,PConc,Ex,TA,Gd,Unf,0,Unf,0,1734,1734,GasA,Ex,Y,SBrkr,1734,1088,0,2822,0,0,3,1,4,1,Ex,12,Typ,1,Gd,BuiltIn,2009,RFn,3,1020,TA,TA,Y,52,170,0,0,192,0,NA,NA,NA,0,1,2009,New,Partial,582933 +805,20,RL,75,9000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1954,1954,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,LwQ,812,Unf,0,124,936,GasA,TA,Y,SBrkr,1128,0,0,1128,0,0,1,0,2,1,TA,5,Min1,0,NA,Attchd,1954,Unf,1,286,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,6,2006,WD,Family,118000 +806,20,RL,91,12274,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,Stone,256,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1417,1417,GasA,Ex,Y,SBrkr,1428,0,0,1428,0,0,2,0,3,1,Ex,6,Typ,0,NA,Attchd,2008,RFn,2,554,TA,TA,Y,0,60,0,0,0,0,NA,NA,NA,0,7,2008,New,Partial,227680 +807,80,RL,75,9750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,5,5,1967,1967,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,TA,TA,Av,ALQ,400,Rec,480,100,980,GasA,Gd,Y,SBrkr,980,0,0,980,0,0,2,0,3,1,TA,6,Typ,0,NA,Attchd,1967,Fin,1,384,TA,TA,Y,68,0,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal,135500 +808,70,RL,144,21384,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,2Story,5,6,1923,2004,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Gd,GLQ,1309,Unf,0,15,1324,GasA,Ex,Y,SBrkr,1072,504,0,1576,2,0,1,1,3,1,Gd,6,Typ,1,TA,Attchd,1923,RFn,2,528,TA,TA,Y,0,312,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,223500 +809,80,RL,85,13400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,5,5,1966,1966,Gable,CompShg,VinylSd,VinylSd,BrkFace,1047,TA,TA,CBlock,TA,TA,Av,ALQ,516,BLQ,128,380,1024,GasA,TA,Y,SBrkr,1086,0,0,1086,1,0,1,0,3,1,TA,6,Typ,1,Gd,Attchd,1966,RFn,2,484,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,6,2006,WD,Normal,159950 +810,75,RM,90,8100,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,2.5Unf,5,5,1898,1965,Hip,CompShg,AsbShng,AsbShng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,849,849,GasA,TA,N,FuseA,1075,1063,0,2138,0,0,2,0,2,3,TA,11,Typ,0,NA,Detchd,1910,Unf,2,360,Fa,Po,N,40,156,0,0,0,0,NA,MnPrv,NA,0,11,2009,WD,Normal,106000 +811,20,RL,78,10140,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,6,1974,1999,Hip,CompShg,HdBoard,HdBoard,BrkFace,99,TA,TA,CBlock,TA,TA,No,ALQ,663,LwQ,377,0,1040,GasA,Fa,Y,SBrkr,1309,0,0,1309,1,0,1,1,3,1,Gd,5,Typ,1,Fa,Attchd,1974,RFn,2,484,TA,TA,Y,265,0,0,0,0,648,Fa,GdPrv,NA,0,1,2006,WD,Normal,181000 +812,120,RM,NA,4438,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,TwnhsE,1Story,6,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,169,Gd,TA,PConc,Gd,TA,Gd,GLQ,662,Unf,0,186,848,GasA,Ex,Y,SBrkr,848,0,0,848,1,0,1,0,1,1,Gd,4,Typ,1,Gd,Attchd,2004,Fin,2,420,TA,TA,Y,140,0,0,0,0,0,NA,NA,NA,0,6,2008,ConLD,Normal,144500 +813,20,C (all),66,8712,Grvl,NA,Reg,Bnk,AllPub,Inside,Mod,IDOTRR,Norm,Norm,1Fam,1Story,5,5,1952,1952,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,Fa,TA,CBlock,TA,TA,Av,Unf,0,Unf,0,540,540,GasA,TA,N,FuseA,1044,0,0,1044,0,0,1,0,2,1,Fa,4,Typ,0,NA,Basment,1952,Unf,2,504,TA,TA,N,0,0,0,0,0,0,NA,NA,Shed,54,6,2010,WD,Alloca,55993 +814,20,RL,75,9750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1958,1958,Gable,CompShg,MetalSd,MetalSd,BrkFace,243,TA,TA,CBlock,TA,TA,No,Rec,608,Unf,0,834,1442,GasA,Gd,Y,SBrkr,1442,0,0,1442,0,0,1,1,4,1,TA,7,Typ,0,NA,Attchd,1958,RFn,1,301,TA,TA,Y,0,0,275,0,0,0,NA,NA,Shed,500,4,2007,COD,Normal,157900 +815,50,RL,45,8248,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,5,7,1918,1950,Gable,CompShg,Stucco,Stucco,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,686,686,GasW,Gd,Y,SBrkr,686,564,0,1250,0,1,1,1,3,1,Fa,7,Typ,0,NA,Detchd,1955,Unf,1,280,TA,TA,P,207,0,96,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,116000 +816,20,RL,48,12137,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,442,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1649,1649,GasA,Ex,Y,SBrkr,1661,0,0,1661,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1998,RFn,2,598,TA,TA,Y,0,34,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,224900 +817,20,RL,NA,11425,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1954,1954,Gable,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,BLQ,486,Unf,0,522,1008,GasA,Gd,Y,SBrkr,1008,0,0,1008,0,0,1,0,2,1,TA,4,Typ,1,Gd,Attchd,1954,RFn,1,275,TA,TA,Y,0,0,120,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,137000 +818,20,RL,NA,13265,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Mitchel,Norm,Norm,1Fam,1Story,8,5,2002,2002,Hip,CompShg,CemntBd,CmentBd,BrkFace,148,Gd,TA,PConc,Gd,TA,No,GLQ,1218,Unf,0,350,1568,GasA,Ex,Y,SBrkr,1689,0,0,1689,1,0,2,0,3,1,Gd,7,Typ,2,Gd,Attchd,2002,RFn,3,857,TA,TA,Y,150,59,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,271000 +819,80,RL,80,8816,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,ClearCr,Norm,Norm,1Fam,SLvl,6,7,1971,1971,Gable,CompShg,HdBoard,HdBoard,BrkFace,80,TA,TA,CBlock,TA,TA,Av,GLQ,504,Unf,0,506,1010,GasA,Gd,Y,SBrkr,1052,0,0,1052,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1971,Unf,2,440,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,6,2010,WD,Normal,155000 +820,120,RL,44,6371,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,7,5,2009,2010,Gable,CompShg,VinylSd,VinylSd,Stone,128,Gd,TA,PConc,Gd,TA,Mn,GLQ,733,Unf,0,625,1358,GasA,Ex,Y,SBrkr,1358,0,0,1358,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2010,RFn,2,484,TA,TA,Y,192,35,0,0,0,0,NA,NA,NA,0,6,2010,New,Partial,224000 +821,60,RL,72,7226,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,798,798,GasA,Ex,Y,SBrkr,798,842,0,1640,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2003,RFn,2,595,TA,TA,Y,0,45,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,183000 +822,20,RM,60,6000,Pave,Pave,Reg,Bnk,AllPub,Inside,Mod,OldTown,Norm,Norm,2fmCon,1Story,4,4,1953,1953,Gable,CompShg,MetalSd,MetalSd,None,0,Fa,TA,CBlock,Fa,TA,No,Unf,0,Unf,0,936,936,GasA,TA,N,SBrkr,936,0,0,936,0,0,1,0,2,1,TA,4,Min2,0,NA,Detchd,1974,Unf,2,576,TA,TA,Y,0,32,112,0,0,0,NA,NA,NA,0,2,2009,WD,Normal,93000 +823,60,RL,NA,12394,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Gd,Unf,0,Unf,0,847,847,GasA,Ex,Y,SBrkr,847,886,0,1733,0,0,2,1,3,1,Gd,7,Typ,1,Gd,BuiltIn,2003,Fin,2,433,TA,TA,Y,100,48,0,0,0,0,NA,NA,NA,0,10,2007,WD,Family,225000 +824,50,RL,60,9900,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1.5Fin,6,7,1940,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,778,778,GasA,TA,Y,SBrkr,944,545,0,1489,0,0,2,0,3,1,TA,7,Typ,1,Gd,Detchd,1940,Unf,1,240,TA,TA,Y,335,0,0,0,0,0,NA,GdWo,NA,0,7,2009,WD,Normal,139500 +825,20,FV,81,11216,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,Gd,No,Unf,0,Unf,0,1489,1489,GasA,Ex,Y,SBrkr,1489,0,0,1489,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2006,RFn,2,776,TA,TA,Y,0,140,0,0,0,0,NA,NA,NA,0,6,2006,New,Partial,232600 +826,20,RL,114,14803,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,PosN,PosN,1Fam,1Story,10,5,2007,2008,Hip,CompShg,CemntBd,CmentBd,BrkFace,816,Ex,TA,PConc,Ex,TA,Av,GLQ,1636,Unf,0,442,2078,GasA,Ex,Y,SBrkr,2084,0,0,2084,1,0,2,0,2,1,Ex,7,Typ,1,Gd,Attchd,2007,Fin,3,1220,TA,TA,Y,188,45,0,0,0,0,NA,NA,NA,0,6,2008,New,Partial,385000 +827,45,RM,50,6130,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Unf,5,6,1924,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,ALQ,784,Unf,0,0,784,GasA,Gd,Y,SBrkr,784,0,0,784,1,0,1,0,2,1,Gd,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,116,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,109500 +828,20,RL,65,8529,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,7,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,20,Unf,0,1434,1454,GasA,Ex,Y,SBrkr,1434,0,0,1434,0,0,2,0,3,1,Gd,6,Typ,1,TA,Attchd,2001,RFn,2,527,TA,TA,Y,290,39,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal,189000 +829,60,RL,NA,28698,Pave,NA,IR2,Low,AllPub,CulDSac,Sev,ClearCr,Norm,Norm,1Fam,2Story,5,5,1967,1967,Flat,Tar&Grv,Plywood,Plywood,None,0,TA,TA,PConc,TA,Gd,Gd,LwQ,249,ALQ,764,0,1013,GasA,TA,Y,SBrkr,1160,966,0,2126,0,1,2,1,3,1,TA,7,Min2,0,NA,Attchd,1967,Fin,2,538,TA,TA,Y,486,0,0,0,225,0,NA,NA,NA,0,6,2009,WD,Abnorml,185000 +830,160,FV,24,2544,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,2Story,7,5,2005,2005,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,600,600,GasA,Ex,Y,SBrkr,520,623,80,1223,0,0,2,1,2,1,Gd,4,Typ,0,NA,Detchd,2005,RFn,2,480,TA,TA,Y,0,166,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,147400 +831,20,RL,80,11900,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1957,1957,Gable,CompShg,HdBoard,HdBoard,BrkFace,387,TA,TA,CBlock,TA,TA,No,Rec,1040,Unf,0,352,1392,GasA,TA,Y,FuseA,1392,0,0,1392,1,0,1,1,3,1,TA,6,Typ,2,Gd,Attchd,1957,RFn,2,458,TA,TA,Y,0,0,0,0,192,0,NA,NA,NA,0,6,2008,WD,Normal,166000 +832,160,FV,30,3180,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,7,5,2005,2005,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,600,600,GasA,Ex,Y,SBrkr,520,600,80,1200,0,0,2,1,2,1,Gd,4,Typ,0,NA,Detchd,2005,RFn,2,480,TA,TA,Y,0,166,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,151000 +833,60,RL,44,9548,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,6,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,223,Gd,TA,PConc,Gd,TA,No,GLQ,483,Unf,0,458,941,GasA,Ex,Y,SBrkr,941,888,0,1829,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,2003,RFn,2,613,TA,TA,Y,192,39,0,0,0,0,NA,NA,NA,0,1,2010,WD,Normal,237000 +834,20,RL,100,10004,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1964,1964,Gable,CompShg,HdBoard,Plywood,BrkFace,180,TA,TA,CBlock,TA,TA,No,Rec,196,BLQ,345,975,1516,GasA,TA,Y,SBrkr,1516,0,0,1516,0,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1964,RFn,2,472,TA,TA,Y,0,0,0,0,152,0,NA,NA,NA,0,2,2009,WD,Normal,167000 +835,20,RL,75,7875,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1961,1961,Gable,CompShg,VinylSd,VinylSd,BrkFace,136,TA,TA,CBlock,TA,TA,No,Rec,572,Unf,0,572,1144,GasA,Gd,Y,SBrkr,1144,0,0,1144,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1961,Unf,2,456,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,9,2008,WD,Normal,139950 +836,20,RL,60,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,4,7,1950,1995,Gable,CompShg,VinylSd,HdBoard,None,0,TA,TA,CBlock,Gd,TA,No,BLQ,442,Unf,0,625,1067,GasA,TA,Y,SBrkr,1067,0,0,1067,0,0,2,0,2,1,Gd,4,Min2,0,NA,Attchd,1996,Unf,2,436,TA,TA,Y,290,0,0,0,0,0,NA,NA,NA,0,2,2010,WD,Normal,128000 +837,30,RM,90,8100,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,6,1948,1973,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,BrkTil,TA,TA,No,Rec,338,Unf,0,1221,1559,GasA,Gd,Y,SBrkr,1559,0,0,1559,1,0,1,0,2,1,TA,5,Min2,0,NA,Detchd,1948,Unf,2,812,TA,TA,Y,0,116,230,0,0,0,NA,GdWo,NA,0,6,2007,COD,Normal,153500 +838,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,5,1973,1973,Gable,CompShg,HdBoard,HdBoard,BrkFace,158,TA,TA,CBlock,TA,TA,No,BLQ,330,Unf,0,153,483,GasA,TA,Y,SBrkr,483,504,0,987,1,0,1,1,2,1,TA,5,Typ,0,NA,Detchd,1973,Unf,1,264,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2008,WD,Normal,100000 +839,20,RL,75,9525,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,6,1995,2006,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1099,1099,GasA,Ex,Y,SBrkr,1099,0,0,1099,0,0,1,1,3,1,Gd,6,Typ,0,NA,Attchd,1999,Unf,1,352,TA,TA,Y,278,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,144000 +840,50,RL,70,11767,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,5,6,1946,1995,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,352,Unf,0,416,768,GasA,Ex,Y,SBrkr,768,432,0,1200,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1946,Unf,1,240,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,130500 +841,70,RH,NA,12155,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,2Story,6,8,1925,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,BLQ,156,Unf,0,516,672,GasA,TA,N,SBrkr,810,672,0,1482,0,0,2,0,4,1,Fa,7,Typ,0,NA,Detchd,1934,Unf,1,400,TA,TA,P,0,0,254,0,0,0,NA,NA,NA,0,3,2008,WD,Normal,140000 +842,70,RM,60,10440,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,5,8,1904,2002,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,650,650,GasA,Gd,Y,SBrkr,958,581,0,1539,0,0,2,0,3,1,Gd,8,Typ,1,Po,Detchd,1983,Unf,2,686,Gd,TA,P,70,78,68,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,157500 +843,80,RL,82,9020,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,6,7,1966,1966,Gable,CompShg,HdBoard,HdBoard,BrkFace,183,TA,TA,CBlock,TA,TA,Gd,Rec,312,ALQ,539,276,1127,GasA,TA,Y,SBrkr,1165,0,0,1165,1,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1966,RFn,2,490,Gd,Gd,Y,0,129,0,0,0,0,NA,GdPrv,NA,0,5,2008,WD,Normal,174900 +844,90,RL,80,8000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Artery,Norm,Duplex,1Story,5,4,1961,1961,Gable,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1800,1800,GasA,Ex,N,SBrkr,1800,0,0,1800,0,0,2,0,6,2,TA,10,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,141000 +845,50,RM,100,12665,Pave,Grvl,IR1,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1.5Fin,5,8,1915,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,Mn,Unf,0,Unf,0,876,876,GasA,Gd,Y,SBrkr,876,540,0,1416,0,0,1,1,4,1,TA,7,Typ,1,Gd,Detchd,1949,Unf,3,720,TA,TA,Y,418,0,194,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,153900 +846,85,RL,NA,16647,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,RRAe,Norm,1Fam,SFoyer,5,5,1975,1981,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,Gd,ALQ,1390,Unf,0,0,1390,GasA,TA,Y,SBrkr,1701,0,0,1701,1,0,2,0,3,1,TA,6,Min2,2,TA,Basment,1975,Fin,2,611,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,1,2007,WD,Normal,171000 +847,60,RL,75,9317,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,1993,1993,Gable,CompShg,HdBoard,HdBoard,BrkFace,137,Gd,TA,PConc,Gd,TA,No,ALQ,513,Unf,0,227,740,GasA,Ex,Y,SBrkr,1006,769,0,1775,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1993,Unf,2,425,TA,TA,Y,234,72,192,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,213000 +848,20,RL,36,15523,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,6,1972,1972,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,TA,TA,Av,BLQ,460,Unf,0,404,864,GasA,Ex,Y,SBrkr,864,0,0,864,1,0,1,0,3,1,TA,5,Typ,1,Fa,Attchd,1972,Unf,1,338,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal,133500 +849,50,RL,75,45600,Pave,NA,IR2,Bnk,AllPub,Inside,Gtl,ClearCr,Norm,Norm,1Fam,1.5Fin,6,8,1908,1997,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,907,907,GasA,TA,Y,SBrkr,1307,1051,0,2358,0,0,3,0,5,1,TA,10,Typ,1,Gd,Detchd,1908,Unf,2,360,Fa,TA,Y,486,40,0,0,175,0,NA,NA,NA,0,9,2008,WD,Normal,240000 +850,80,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Veenker,Feedr,Norm,1Fam,SLvl,6,7,1976,1994,Hip,CompShg,Plywood,Plywood,BrkFace,360,Gd,Gd,CBlock,TA,TA,No,Unf,0,Unf,0,528,528,GasA,Ex,Y,SBrkr,1094,761,0,1855,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1976,RFn,2,512,TA,TA,Y,113,100,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,187000 +851,120,RM,36,4435,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,TwnhsE,1Story,6,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,170,Gd,TA,PConc,Gd,TA,Av,GLQ,659,Unf,0,189,848,GasA,Ex,Y,SBrkr,848,0,0,848,1,0,1,0,1,1,Gd,3,Typ,0,NA,Attchd,2003,Fin,2,420,TA,TA,Y,140,0,0,0,0,0,NA,NA,NA,0,11,2007,WD,Normal,131500 +852,120,RL,NA,3196,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,8,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,40,Gd,TA,PConc,Gd,TA,Gd,Unf,0,Unf,0,1273,1273,GasA,Ex,Y,SBrkr,1456,0,0,1456,0,0,2,0,2,1,Gd,7,Typ,1,TA,Attchd,2003,Fin,2,400,TA,TA,Y,143,20,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,215000 +853,75,RL,53,7128,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2.5Unf,7,5,1941,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,Rec,364,Unf,0,554,918,GasA,Gd,Y,SBrkr,918,728,0,1646,0,0,2,0,4,1,TA,7,Typ,2,Gd,Detchd,1941,Unf,1,240,TA,TA,Y,0,0,0,0,126,0,NA,MnPrv,NA,0,8,2007,WD,Normal,164000 +854,80,RL,NA,12095,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,SLvl,6,6,1964,1964,Gable,CompShg,MetalSd,HdBoard,BrkFace,115,TA,Gd,CBlock,TA,TA,Gd,Rec,564,Unf,0,563,1127,GasA,TA,Y,SBrkr,1445,0,0,1445,0,0,1,1,3,1,TA,7,Typ,1,Fa,Attchd,1964,RFn,2,645,TA,TA,Y,180,0,0,0,0,0,NA,MnPrv,NA,0,8,2009,WD,Normal,158000 +855,20,RL,102,17920,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,4,1955,1974,Hip,CompShg,Wd Sdng,Plywood,None,0,TA,TA,CBlock,TA,TA,Mn,ALQ,306,Rec,1085,372,1763,GasA,TA,Y,SBrkr,1779,0,0,1779,1,0,1,1,3,1,TA,6,Typ,1,Gd,Attchd,1955,Unf,2,454,TA,TA,Y,0,418,0,0,312,0,NA,NA,NA,0,7,2006,WD,Abnorml,170000 +856,20,RL,NA,6897,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,8,1962,2010,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Gd,CBlock,TA,TA,No,ALQ,659,Unf,0,381,1040,GasA,Ex,Y,SBrkr,1040,0,0,1040,1,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1962,Unf,1,260,TA,TA,Y,0,104,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,127000 +857,80,RL,NA,10970,Pave,NA,IR1,Low,AllPub,Inside,Mod,CollgCr,Norm,Norm,1Fam,SLvl,6,6,1978,1978,Gable,CompShg,Plywood,HdBoard,None,0,TA,TA,CBlock,Gd,Gd,Gd,GLQ,505,LwQ,435,0,940,GasA,TA,Y,SBrkr,1026,0,0,1026,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1981,Unf,2,576,TA,Fa,Y,0,0,34,0,0,0,NA,MnPrv,NA,0,10,2008,WD,Normal,147000 +858,60,RL,65,8125,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1994,1995,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,702,702,GasA,Gd,Y,SBrkr,702,779,0,1481,0,0,2,1,3,1,TA,6,Typ,1,TA,Attchd,1994,Fin,2,343,TA,TA,Y,0,36,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal,174000 +859,20,RL,80,10400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,7,5,1976,1976,Gable,CompShg,HdBoard,HdBoard,BrkFace,189,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,1090,1090,GasA,TA,Y,SBrkr,1370,0,0,1370,0,0,2,0,3,1,TA,6,Typ,1,TA,Attchd,1976,RFn,2,479,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,6,2009,WD,Family,152000 +860,60,RL,NA,11029,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NWAmes,PosA,Norm,1Fam,2Story,6,7,1968,1984,Gable,CompShg,HdBoard,HdBoard,BrkFace,220,TA,TA,CBlock,TA,TA,Mn,BLQ,619,Unf,0,435,1054,GasA,TA,Y,SBrkr,1512,1142,0,2654,1,0,2,1,4,1,Gd,9,Typ,1,Gd,Attchd,1968,Unf,2,619,TA,TA,Y,0,65,0,0,222,0,NA,NA,NA,0,8,2006,WD,Normal,250000 +861,50,RL,55,7642,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Crawfor,Norm,Norm,1Fam,1.5Fin,7,8,1918,1998,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,912,912,GasA,Gd,Y,SBrkr,912,514,0,1426,0,0,1,1,3,1,Gd,7,Typ,1,Gd,Detchd,1925,Unf,1,216,TA,TA,Y,0,240,0,0,0,0,NA,GdPrv,NA,0,6,2007,WD,Normal,189950 +862,190,RL,75,11625,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,2fmCon,1Story,5,4,1965,1965,Hip,CompShg,Plywood,HdBoard,None,0,TA,TA,PConc,TA,TA,Mn,BLQ,841,Unf,0,198,1039,GasA,Ex,Y,SBrkr,1039,0,0,1039,1,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1965,Unf,2,504,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,131500 +863,20,RL,81,9672,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,1Fam,1Story,6,5,1984,1985,Hip,CompShg,HdBoard,Plywood,None,0,TA,TA,PConc,Gd,TA,No,GLQ,338,Unf,0,702,1040,GasA,TA,Y,SBrkr,1097,0,0,1097,0,0,2,0,3,1,TA,6,Typ,0,NA,Attchd,1986,Unf,2,480,TA,TA,Y,0,0,0,0,0,0,NA,GdPrv,NA,0,5,2010,WD,Normal,152000 +864,20,RL,70,7931,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1959,1959,Hip,CompShg,BrkFace,Plywood,None,0,TA,TA,CBlock,TA,TA,No,BLQ,1148,Unf,0,0,1148,GasA,TA,Y,SBrkr,1148,0,0,1148,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1959,Unf,1,672,TA,TA,Y,0,0,0,0,0,0,NA,GdPrv,NA,0,7,2009,WD,Normal,132500 +865,20,FV,72,8640,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2007,2008,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1372,1372,GasA,Ex,Y,SBrkr,1372,0,0,1372,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2008,Fin,2,529,TA,TA,Y,0,140,0,0,0,0,NA,NA,NA,0,5,2008,New,Partial,250580 +866,20,RL,NA,8750,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1970,1970,Gable,CompShg,MetalSd,MetalSd,BrkFace,76,TA,TA,CBlock,TA,TA,No,BLQ,828,Unf,0,174,1002,GasA,TA,Y,SBrkr,1002,0,0,1002,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1973,Unf,2,902,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,8,2009,WD,Normal,148500 +867,20,RL,67,10656,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,Stone,274,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1638,1638,GasA,Ex,Y,SBrkr,1646,0,0,1646,0,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2007,RFn,3,870,TA,TA,Y,192,80,0,0,0,0,NA,NA,NA,0,11,2007,New,Partial,248900 +868,20,RL,85,6970,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,4,5,1961,1961,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,932,Unf,0,108,1040,GasA,TA,Y,SBrkr,1120,0,0,1120,1,0,1,1,3,1,Fa,5,Typ,0,NA,Attchd,1961,RFn,2,544,TA,TA,Y,168,0,0,0,0,0,NA,NA,Shed,400,5,2007,WD,Normal,129000 +869,60,RL,NA,14762,Pave,NA,IR2,Lvl,AllPub,Corner,Gtl,Gilbert,Feedr,Norm,1Fam,2Story,5,6,1948,1950,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,Gd,Y,SBrkr,1547,720,53,2320,0,0,2,0,2,1,TA,7,Typ,1,TA,Attchd,1979,Unf,2,672,TA,TA,P,120,144,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,169000 +870,60,RL,80,9938,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,1993,1994,Gable,CompShg,MetalSd,MetalSd,BrkFace,246,Gd,TA,PConc,Gd,TA,No,GLQ,750,Unf,0,300,1050,GasA,Ex,Y,SBrkr,1062,887,0,1949,1,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1993,Fin,2,574,TA,TA,Y,156,90,0,0,0,0,NA,GdPrv,NA,0,6,2010,WD,Normal,236000 +871,20,RL,60,6600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,PosN,Norm,1Fam,1Story,5,5,1962,1962,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,894,894,GasA,Gd,N,SBrkr,894,0,0,894,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1962,Unf,1,308,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal,109500 +872,60,RL,70,8750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,6,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,116,TA,TA,PConc,Gd,TA,No,GLQ,505,Unf,0,299,804,GasA,Ex,Y,SBrkr,804,878,0,1682,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,1998,RFn,2,523,TA,TA,Y,0,77,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,200500 +873,20,RL,74,8892,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1953,1996,Gable,CompShg,WdShing,Wd Shng,None,0,Gd,TA,Stone,TA,TA,Av,Unf,0,Unf,0,105,105,GasA,Gd,Y,SBrkr,910,0,0,910,0,0,1,0,3,1,Gd,5,Typ,0,NA,Attchd,1953,Unf,2,414,TA,TA,Y,196,0,150,0,0,0,NA,GdWo,NA,0,10,2008,WD,Normal,116000 +874,40,RL,60,12144,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1949,1950,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,CBlock,TA,TA,No,Rec,375,Unf,0,457,832,GasA,Gd,Y,SBrkr,1036,0,232,1268,0,0,1,0,3,1,TA,6,Typ,1,Gd,Attchd,1949,Unf,1,288,TA,TA,Y,0,28,0,0,0,0,NA,NA,Othr,0,9,2009,WD,Normal,133000 +875,50,RM,52,5720,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1.5Fin,5,6,1941,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,676,676,GasA,Ex,Y,SBrkr,676,455,0,1131,0,0,1,1,3,1,TA,5,Typ,0,NA,Detchd,1941,Unf,1,200,TA,TA,Y,26,0,0,0,0,0,NA,NA,NA,0,8,2009,WD,Abnorml,66500 +876,60,FV,75,9000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2007,2007,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,64,Unf,0,1120,1184,GasA,Ex,Y,SBrkr,1184,1426,0,2610,0,0,2,1,4,1,Ex,11,Typ,1,Gd,BuiltIn,2007,Fin,2,550,TA,TA,Y,208,364,0,0,0,0,NA,NA,NA,0,8,2007,New,Partial,303477 +877,20,RL,94,25286,Pave,NA,Reg,HLS,AllPub,Inside,Mod,Mitchel,Norm,Norm,1Fam,1Story,4,5,1963,1963,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,PConc,TA,TA,Gd,ALQ,633,Unf,0,431,1064,GasA,Gd,Y,SBrkr,1040,0,0,1040,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1963,Unf,2,648,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,1,2007,WD,Normal,132250 +878,60,RL,74,8834,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2004,2005,Hip,CompShg,VinylSd,VinylSd,Stone,216,Gd,TA,PConc,Ex,TA,No,GLQ,1170,Unf,0,292,1462,GasA,Ex,Y,SBrkr,1462,762,0,2224,1,0,2,1,4,1,Ex,10,Typ,1,Gd,Attchd,2004,Fin,3,738,TA,TA,Y,184,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,350000 +879,85,RL,88,11782,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,SFoyer,5,7,1961,1995,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,Av,ALQ,899,Unf,0,210,1109,GasA,TA,Y,SBrkr,1155,0,0,1155,1,0,1,0,3,1,Gd,6,Min2,0,NA,Detchd,1987,Unf,2,576,TA,TA,Y,192,0,0,0,0,0,NA,MnPrv,Shed,400,6,2010,WD,Normal,148000 +880,20,RL,NA,7000,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,8,1978,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,90,Gd,Gd,CBlock,TA,TA,No,ALQ,646,Unf,0,218,864,GasA,Ex,Y,SBrkr,864,0,0,864,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1978,Unf,1,336,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,7,2009,WD,Normal,136500 +881,20,RL,60,7024,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Ex,Gd,No,ALQ,980,Unf,0,110,1090,GasA,Gd,Y,SBrkr,1090,0,0,1090,1,0,1,1,2,1,TA,5,Typ,0,NA,Attchd,2005,Fin,2,450,TA,TA,Y,0,49,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,157000 +882,50,RL,44,13758,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Timber,Norm,Norm,1Fam,1.5Fin,7,5,1990,1991,Gable,CompShg,HdBoard,HdBoard,BrkFace,117,Gd,Gd,CBlock,Gd,TA,Mn,LwQ,902,Unf,0,254,1156,GasA,Ex,Y,SBrkr,1187,530,0,1717,0,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1990,RFn,2,400,TA,TA,Y,168,36,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal,187500 +883,60,RL,NA,9636,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1992,1993,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,808,808,GasA,Gd,Y,SBrkr,808,785,0,1593,0,0,2,1,3,1,TA,7,Typ,1,TA,BuiltIn,1993,RFn,2,389,TA,TA,Y,342,40,0,0,0,0,NA,MnPrv,NA,0,12,2009,WD,Normal,178000 +884,75,RL,60,6204,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,2.5Fin,4,5,1912,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,TA,PConc,TA,Fa,No,Unf,0,Unf,0,795,795,GasA,TA,N,SBrkr,954,795,481,2230,1,0,1,0,5,1,TA,10,Typ,0,NA,Detchd,1997,Unf,1,440,TA,Gd,Y,0,188,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal,118500 +885,20,RL,65,7150,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1967,1967,Gable,CompShg,HdBoard,HdBoard,BrkFace,60,TA,TA,CBlock,TA,TA,No,BLQ,432,Unf,0,460,892,GasA,TA,Y,SBrkr,892,0,0,892,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1967,RFn,1,288,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,7,2009,WD,Normal,100000 +886,120,FV,50,5119,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,9,5,1999,2000,Gable,CompShg,MetalSd,MetalSd,BrkFace,60,Gd,TA,PConc,Ex,TA,Av,GLQ,1238,Unf,0,460,1698,GasA,Ex,Y,SBrkr,1709,0,0,1709,1,0,2,0,2,1,Gd,5,Typ,1,TA,Attchd,1999,Fin,2,506,TA,TA,Y,97,65,0,0,0,0,NA,NA,NA,0,1,2008,CWD,Abnorml,328900 +887,90,RL,70,8393,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,Duplex,1Story,5,5,1959,2005,Gable,CompShg,MetalSd,MetalSd,BrkFace,122,TA,TA,CBlock,TA,TA,No,LwQ,528,Unf,0,1098,1626,GasA,Ex,Y,SBrkr,1712,0,0,1712,0,0,2,0,4,2,TA,8,Typ,0,NA,Attchd,2005,Fin,2,588,TA,TA,Y,272,54,0,0,0,0,NA,NA,NA,0,6,2006,WD,Family,145000 +888,50,RL,59,16466,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,5,7,1955,1955,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,PConc,TA,TA,No,Unf,0,Unf,0,816,816,GasA,TA,Y,SBrkr,872,521,0,1393,0,0,1,1,3,1,TA,8,Typ,0,NA,Attchd,1955,Unf,1,300,TA,TA,Y,121,0,0,0,265,0,NA,NA,NA,0,4,2008,WD,Normal,135500 +889,20,RL,95,15865,Pave,NA,IR1,Lvl,AllPub,Inside,Mod,NAmes,Norm,Norm,1Fam,1Story,8,6,1970,1970,Flat,Tar&Grv,Wd Sdng,Wd Sdng,None,0,Gd,Gd,PConc,TA,Gd,Gd,ALQ,351,Rec,823,1043,2217,GasA,Ex,Y,SBrkr,2217,0,0,2217,1,0,2,0,4,1,Gd,8,Typ,1,TA,Attchd,1970,Unf,2,621,TA,TA,Y,81,207,0,0,224,0,NA,NA,NA,0,10,2007,WD,Normal,268000 +890,20,RL,128,12160,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Feedr,Norm,1Fam,1Story,6,4,1953,1953,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,90,TA,TA,CBlock,TA,TA,No,BLQ,1024,Unf,0,481,1505,GasA,Ex,Y,SBrkr,1505,0,0,1505,1,0,1,0,2,1,TA,6,Typ,1,TA,Attchd,1953,RFn,2,505,TA,TA,Y,0,0,0,162,0,0,NA,NA,NA,0,2,2009,WD,Normal,149500 +891,50,RL,60,8064,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Artery,Norm,1Fam,1.5Fin,5,7,1949,2006,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,Mn,Unf,0,Unf,0,672,672,GasA,Ex,Y,SBrkr,672,252,0,924,0,0,1,0,3,1,TA,6,Typ,1,Po,Detchd,2003,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,Shed,2000,7,2007,WD,Normal,122900 +892,60,RL,70,11184,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,2Story,6,5,1978,1978,Hip,CompShg,HdBoard,HdBoard,BrkFace,92,TA,TA,CBlock,TA,TA,No,LwQ,226,Rec,500,192,918,GasA,Gd,Y,SBrkr,918,765,0,1683,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1978,RFn,2,440,TA,TA,Y,243,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,172500 +893,20,RL,70,8414,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,6,8,1963,2003,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,GLQ,663,Unf,0,396,1059,GasA,TA,Y,SBrkr,1068,0,0,1068,0,1,1,0,3,1,TA,6,Typ,0,NA,Attchd,1963,RFn,1,264,TA,TA,Y,192,0,0,0,0,0,NA,MnPrv,NA,0,2,2006,WD,Normal,154500 +894,20,RL,NA,13284,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,PosN,Norm,1Fam,1Story,5,5,1954,1954,Gable,CompShg,Wd Sdng,Plywood,None,0,TA,TA,PConc,Gd,TA,Mn,BLQ,1064,Unf,0,319,1383,GasA,TA,Y,SBrkr,1383,0,0,1383,1,0,1,0,3,1,TA,6,Typ,1,Gd,Attchd,1954,Unf,1,354,TA,TA,Y,511,116,0,0,0,0,NA,GdPrv,NA,0,6,2008,WD,Normal,165000 +895,90,RL,64,7018,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,SawyerW,Norm,Norm,Duplex,1Story,5,5,1979,1979,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,1535,0,0,1535,0,0,2,0,4,2,TA,8,Typ,0,NA,Attchd,1979,Unf,2,400,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Alloca,118858 +896,60,RL,71,7056,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,2Story,6,5,1963,1963,Hip,CompShg,HdBoard,HdBoard,BrkFace,415,TA,TA,CBlock,TA,TA,No,BLQ,400,Unf,0,380,780,GasA,TA,Y,SBrkr,983,813,0,1796,1,0,1,1,4,1,TA,8,Typ,1,TA,Attchd,1963,RFn,2,483,TA,TA,Y,0,50,0,0,0,0,NA,NA,NA,0,10,2008,WD,Normal,140000 +897,30,RM,50,8765,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,4,6,1936,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,ALQ,285,Unf,0,666,951,GasA,Ex,N,SBrkr,951,0,0,951,0,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1936,Unf,1,327,TA,TA,Y,0,28,0,0,0,0,NA,NA,NA,0,4,2006,WD,Abnorml,106500 +898,90,RL,64,7018,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Feedr,Norm,Duplex,2Story,5,5,1979,1979,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,1120,1120,0,2240,0,0,2,0,6,2,TA,12,Typ,0,NA,Detchd,1979,Unf,2,528,TA,TA,Y,154,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Alloca,142953 +899,20,RL,100,12919,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2009,2010,Hip,CompShg,VinylSd,VinylSd,Stone,760,Ex,TA,PConc,Ex,TA,Gd,GLQ,2188,Unf,0,142,2330,GasA,Ex,Y,SBrkr,2364,0,0,2364,1,0,2,1,2,1,Ex,11,Typ,2,Gd,Attchd,2009,Fin,3,820,TA,TA,Y,0,67,0,0,0,0,NA,NA,NA,0,3,2010,New,Partial,611657 +900,20,RL,65,6993,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,5,7,1961,1994,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,TA,TA,No,BLQ,465,Unf,0,447,912,GasA,TA,Y,SBrkr,1236,0,0,1236,0,0,1,0,3,1,TA,6,Typ,1,TA,Attchd,1961,Unf,1,288,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,135000 +901,20,RL,NA,7340,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,6,1971,1971,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,ALQ,322,Unf,0,536,858,GasA,TA,Y,SBrkr,858,0,0,858,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1979,Unf,1,684,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,110000 +902,20,RL,64,8712,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1957,2000,Hip,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,Mn,BLQ,860,Unf,0,132,992,GasA,TA,Y,SBrkr,1306,0,0,1306,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1968,Unf,1,756,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,153000 +903,60,RL,63,7875,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,783,783,GasA,Ex,Y,SBrkr,807,702,0,1509,0,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2003,Fin,2,393,TA,TA,Y,0,75,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,180000 +904,20,RL,50,14859,Pave,NA,IR1,HLS,AllPub,CulDSac,Gtl,Gilbert,Norm,Norm,1Fam,1Story,7,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,27,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1670,1670,GasA,Ex,Y,SBrkr,1670,0,0,1670,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2006,RFn,3,690,TA,TA,Y,144,60,0,0,0,0,NA,NA,NA,0,8,2006,New,Partial,240000 +905,20,RL,NA,6173,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,6,1967,1967,Gable,CompShg,HdBoard,Wd Sdng,BrkFace,75,TA,TA,CBlock,TA,TA,No,GLQ,599,Unf,0,277,876,GasA,TA,Y,SBrkr,902,0,0,902,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1967,Unf,1,288,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,8,2007,WD,Normal,125500 +906,20,RL,80,9920,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1954,1954,Gable,CompShg,HdBoard,HdBoard,Stone,110,TA,TA,CBlock,TA,TA,No,Rec,354,LwQ,290,412,1056,GasA,TA,Y,SBrkr,1063,0,0,1063,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1954,RFn,1,280,TA,TA,Y,0,0,164,0,0,0,NA,MnPrv,NA,0,2,2010,WD,Normal,128000 +907,20,RL,116,13501,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,Stone,208,Gd,TA,PConc,Gd,TA,No,GLQ,63,Unf,0,1560,1623,GasA,Ex,Y,SBrkr,1636,0,0,1636,1,0,2,0,3,1,Gd,8,Typ,1,Gd,Attchd,2006,RFn,3,865,TA,TA,Y,0,60,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,255000 +908,50,RL,86,11500,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1.5Fin,7,7,1936,1987,Gable,CompShg,BrkFace,BrkFace,None,0,Gd,TA,CBlock,Gd,TA,No,Rec,223,Unf,0,794,1017,GasA,Gd,Y,SBrkr,1020,1037,0,2057,0,0,1,1,3,1,Gd,6,Typ,1,Gd,Attchd,1936,Fin,1,180,Fa,TA,Y,0,0,0,0,322,0,NA,NA,NA,0,6,2006,WD,Normal,250000 +909,20,RL,NA,8885,Pave,NA,IR1,Low,AllPub,Inside,Mod,Mitchel,Norm,Norm,1Fam,1Story,5,5,1983,1983,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,Av,BLQ,301,ALQ,324,239,864,GasA,TA,Y,SBrkr,902,0,0,902,1,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1983,Unf,2,484,TA,TA,Y,164,0,0,0,0,0,NA,MnPrv,NA,0,6,2006,WD,Normal,131000 +910,60,RL,149,12589,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,742,742,GasA,Ex,Y,SBrkr,742,742,0,1484,0,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2005,Fin,2,390,TA,TA,Y,36,24,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,174000 +911,90,RL,80,11600,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Feedr,Norm,Duplex,2Story,5,5,1960,1960,Gable,CompShg,MetalSd,MetalSd,BrkFace,361,TA,TA,CBlock,TA,TA,No,Rec,443,Unf,0,662,1105,GasA,TA,Y,FuseA,1105,1169,0,2274,0,0,2,0,5,2,TA,12,Typ,0,NA,Detchd,1960,Unf,2,480,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,1,2010,WD,Normal,154300 +912,20,RL,NA,9286,Pave,NA,IR1,Lvl,AllPub,CulDSac,Mod,CollgCr,Norm,Norm,1Fam,1Story,5,7,1977,1989,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,Gd,Gd,Av,ALQ,196,Unf,0,1072,1268,GasA,TA,Y,SBrkr,1268,0,0,1268,0,0,1,1,3,1,Gd,5,Typ,0,NA,Detchd,1978,Unf,1,252,TA,TA,Y,173,0,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal,143500 +913,30,RM,51,6120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,5,7,1925,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Rec,489,Unf,0,279,768,GasA,TA,N,SBrkr,1015,0,0,1015,0,0,1,0,3,1,TA,6,Min1,0,NA,Detchd,1925,Unf,1,450,TA,TA,Y,0,0,112,0,120,0,NA,MnPrv,Shed,620,7,2006,WD,Abnorml,88000 +914,90,RH,82,6270,Pave,NA,Reg,HLS,AllPub,Inside,Gtl,Crawfor,Norm,Norm,Duplex,2Story,5,6,1949,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,284,Unf,0,717,1001,GasA,TA,N,FuseA,1001,1001,0,2002,0,0,2,0,4,2,TA,8,Typ,0,NA,2Types,1949,Unf,3,871,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,145000 +915,160,FV,30,3000,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,6,5,2009,2009,Gable,CompShg,VinylSd,VinylSd,Stone,76,Gd,TA,PConc,Gd,TA,Av,GLQ,294,Unf,0,318,612,GasA,Ex,Y,SBrkr,612,612,0,1224,0,0,2,1,2,1,Gd,4,Typ,0,NA,Detchd,2009,RFn,2,528,TA,TA,Y,0,234,0,0,0,0,NA,NA,NA,0,6,2009,New,Partial,173733 +916,160,RM,21,2001,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,2Story,4,5,1970,1970,Gable,CompShg,CemntBd,CmentBd,BrkFace,80,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,546,546,GasA,Fa,Y,SBrkr,546,546,0,1092,0,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1970,Unf,1,286,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,1,2007,WD,Normal,75000 +917,20,C (all),50,9000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,2,3,1949,1950,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,CBlock,TA,TA,Av,BLQ,50,Unf,0,430,480,GasA,TA,N,FuseA,480,0,0,480,1,0,0,0,1,1,TA,4,Typ,0,NA,Detchd,1958,Unf,1,308,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2006,WD,Abnorml,35311 +918,20,RL,NA,17140,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,6,1956,1956,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,1059,Unf,0,75,1134,GasA,Ex,Y,FuseA,1229,0,0,1229,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1956,RFn,1,284,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal,135000 +919,60,RL,103,13125,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,1991,1991,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Ex,TA,Mn,BLQ,48,GLQ,634,422,1104,GasA,Ex,Y,SBrkr,912,1215,0,2127,1,0,2,1,4,1,Gd,8,Typ,1,TA,Attchd,1991,RFn,3,833,TA,TA,Y,72,192,224,0,0,0,NA,GdPrv,NA,0,11,2007,WD,Normal,238000 +920,20,RL,87,11029,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,8,1958,2002,Hip,CompShg,MetalSd,MetalSd,None,0,Ex,TA,CBlock,Gd,TA,No,ALQ,528,BLQ,411,245,1184,GasA,Ex,Y,SBrkr,1414,0,0,1414,1,0,1,0,3,1,TA,6,Min1,1,TA,Attchd,1990,Unf,2,601,TA,TA,Y,0,51,0,0,190,0,NA,NA,NA,0,5,2008,WD,Normal,176500 +921,60,RL,70,8462,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,5,1994,1994,Gable,CompShg,HdBoard,HdBoard,BrkFace,105,Gd,Gd,PConc,Gd,Gd,No,GLQ,814,Unf,0,114,928,GasA,Ex,Y,SBrkr,936,785,0,1721,0,1,2,1,3,1,Gd,7,Typ,0,NA,Attchd,1994,RFn,2,471,TA,TA,Y,300,87,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,201000 +922,90,RL,67,8777,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Feedr,Norm,Duplex,1.5Fin,5,7,1900,2003,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,1084,Unf,0,188,1272,GasA,Gd,Y,SBrkr,1272,928,0,2200,2,0,2,2,4,2,TA,9,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,70,0,0,0,0,NA,GdPrv,NA,0,9,2008,WD,Normal,145900 +923,20,RL,65,10237,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,RRAn,Norm,1Fam,1Story,6,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,28,Unf,0,1288,1316,GasA,Ex,Y,SBrkr,1316,0,0,1316,0,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2005,Fin,2,397,TA,TA,Y,100,0,0,23,0,0,NA,NA,NA,0,10,2006,New,Partial,169990 +924,120,RL,50,8012,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,TwnhsE,1Story,6,5,1993,1994,Gable,CompShg,Plywood,Plywood,None,0,Gd,TA,PConc,Gd,TA,No,LwQ,165,GLQ,841,598,1604,GasA,Ex,Y,SBrkr,1617,0,0,1617,1,0,2,0,2,1,Gd,5,Typ,1,Fa,Attchd,1993,RFn,2,533,TA,TA,Y,0,69,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,193000 +925,20,RL,79,10240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,6,1980,1980,Gable,CompShg,Plywood,Plywood,BrkFace,157,TA,Gd,CBlock,Gd,TA,No,BLQ,625,LwQ,1061,0,1686,GasA,TA,Y,SBrkr,1686,0,0,1686,1,0,2,0,3,1,TA,7,Typ,1,TA,Attchd,1980,Unf,2,612,TA,TA,Y,384,131,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,207500 +926,20,RL,NA,15611,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NWAmes,Norm,Norm,1Fam,1Story,5,6,1977,1977,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Av,ALQ,767,LwQ,93,266,1126,GasA,TA,Y,SBrkr,1126,0,0,1126,0,1,2,0,3,1,Ex,6,Typ,0,NA,Attchd,1977,RFn,2,540,TA,TA,Y,180,0,0,0,0,0,NA,NA,NA,0,3,2008,WD,Abnorml,175000 +927,60,RL,93,11999,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2003,2004,Hip,CompShg,VinylSd,VinylSd,BrkFace,340,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1181,1181,GasA,Ex,Y,SBrkr,1234,1140,0,2374,0,0,2,1,4,1,Ex,10,Typ,1,Gd,BuiltIn,2003,Fin,3,656,TA,TA,Y,104,100,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,285000 +928,60,RL,NA,9900,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Feedr,Norm,1Fam,2Story,7,5,1968,1968,Gable,CompShg,MetalSd,MetalSd,BrkFace,342,TA,TA,CBlock,TA,TA,No,BLQ,552,Unf,0,280,832,GasA,Gd,Y,SBrkr,1098,880,0,1978,0,0,2,1,4,1,TA,9,Typ,1,Gd,Attchd,1968,RFn,2,486,TA,TA,Y,0,43,0,0,0,0,NA,GdPrv,NA,0,4,2008,WD,Normal,176000 +929,20,RL,NA,11838,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2001,2001,Hip,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1753,1753,GasA,Ex,Y,SBrkr,1788,0,0,1788,0,0,2,0,3,1,Ex,7,Typ,1,TA,Attchd,2001,RFn,2,522,TA,TA,Y,202,151,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,236500 +930,60,RL,NA,13006,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,1997,1997,Gable,CompShg,HdBoard,HdBoard,BrkFace,285,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,964,964,GasA,Gd,Y,SBrkr,993,1243,0,2236,0,0,2,1,4,1,Gd,8,Typ,1,TA,BuiltIn,1997,Fin,2,642,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2006,WD,Normal,222000 +931,20,RL,73,8925,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,16,Unf,0,1450,1466,GasA,Ex,Y,SBrkr,1466,0,0,1466,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2007,Fin,3,610,TA,TA,Y,100,18,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,201000 +932,20,RL,70,9100,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1965,1965,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,338,Rec,466,121,925,GasA,Ex,Y,SBrkr,925,0,0,925,0,1,1,0,2,1,TA,5,Typ,0,NA,Detchd,1965,Unf,1,429,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,7,2009,WD,Normal,117500 +933,20,RL,84,11670,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Somerst,RRNn,Norm,1Fam,1Story,9,5,2006,2006,Hip,CompShg,VinylSd,ImStucc,Stone,302,Ex,TA,PConc,Ex,Gd,No,Unf,0,Unf,0,1905,1905,GasA,Ex,Y,SBrkr,1905,0,0,1905,0,0,2,0,3,1,Ex,8,Typ,1,Gd,Attchd,2006,Fin,3,788,TA,TA,Y,0,191,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal,320000 +934,20,RL,63,8487,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,210,Gd,TA,PConc,Gd,TA,Av,GLQ,20,Unf,0,1480,1500,GasA,Ex,Y,SBrkr,1500,0,0,1500,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2004,RFn,2,570,TA,TA,Y,192,36,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal,190000 +935,20,RL,313,27650,Pave,NA,IR2,HLS,AllPub,Inside,Mod,NAmes,PosA,Norm,1Fam,1Story,7,7,1960,2007,Flat,Tar&Grv,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,Gd,TA,Gd,GLQ,425,Unf,0,160,585,GasA,Ex,Y,SBrkr,2069,0,0,2069,1,0,2,0,4,1,Gd,9,Typ,1,Gd,Attchd,1960,RFn,2,505,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2008,WD,Normal,242000 +936,30,RL,52,5825,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,4,5,1926,1953,Gable,CompShg,MetalSd,MetalSd,BrkFace,108,TA,Gd,PConc,Fa,TA,Mn,Unf,0,Unf,0,600,600,GasA,Gd,Y,SBrkr,747,0,0,747,0,0,1,0,1,1,TA,5,Typ,0,NA,Detchd,1953,Unf,2,528,TA,TA,Y,0,0,32,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,79900 +937,20,RL,67,10083,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,NA,NA,Gd,TA,PConc,Gd,TA,No,GLQ,833,Unf,0,343,1176,GasA,Ex,Y,SBrkr,1200,0,0,1200,1,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,2003,RFn,2,555,TA,TA,Y,0,41,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal,184900 +938,60,RL,75,9675,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Mn,GLQ,341,Unf,0,772,1113,GasA,Ex,Y,SBrkr,1113,858,0,1971,0,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2005,RFn,2,689,TA,TA,Y,0,48,0,0,0,0,NA,NA,NA,0,2,2009,WD,Normal,253000 +939,60,RL,73,8760,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,Gd,Mn,GLQ,464,Unf,0,927,1391,GasA,Ex,Y,SBrkr,1391,571,0,1962,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2006,RFn,3,868,TA,TA,Y,0,90,0,0,0,0,NA,NA,NA,0,8,2006,New,Partial,239799 +940,70,RL,NA,24090,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,ClearCr,Norm,Norm,1Fam,2Story,7,7,1940,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,Mn,Unf,0,Unf,0,1032,1032,GasA,Ex,Y,SBrkr,1207,1196,0,2403,0,0,2,0,4,1,TA,10,Typ,2,TA,Attchd,1940,Unf,1,349,TA,TA,Y,56,0,318,0,0,0,NA,NA,NA,0,6,2010,COD,Normal,244400 +941,90,RL,55,12640,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,Duplex,1Story,6,5,1976,1976,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,Gd,Rec,936,LwQ,396,396,1728,GasA,TA,Y,SBrkr,1728,0,0,1728,0,0,2,0,4,2,TA,8,Typ,0,NA,Attchd,1976,Unf,2,574,TA,TA,Y,40,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,150900 +942,60,RL,NA,8755,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,Gilbert,RRNn,Norm,1Fam,2Story,7,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,BrkFace,298,Gd,TA,PConc,Gd,TA,No,ALQ,772,Unf,0,220,992,GasA,Ex,Y,SBrkr,1022,1038,0,2060,1,0,2,1,3,1,Gd,8,Typ,1,TA,BuiltIn,1999,RFn,2,390,TA,TA,Y,0,0,0,168,0,0,NA,GdPrv,NA,0,6,2009,WD,Normal,214000 +943,90,RL,42,7711,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,Duplex,1Story,4,3,1977,1977,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,Gd,TA,Gd,GLQ,1440,Unf,0,0,1440,GasA,TA,Y,SBrkr,1440,0,0,1440,2,0,2,0,4,2,TA,8,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,321,0,0,0,0,0,NA,NA,NA,0,8,2007,Oth,Abnorml,150000 +944,90,RL,100,25000,Pave,NA,Reg,Low,AllPub,Inside,Gtl,Mitchel,Norm,Norm,Duplex,1Story,5,4,1967,1967,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,TA,TA,Av,Unf,0,Unf,0,1632,1632,GasA,TA,Y,SBrkr,1632,0,0,1632,0,0,2,0,4,2,TA,8,Typ,0,NA,Attchd,1967,Unf,2,576,TA,TA,P,0,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,143000 +945,20,RL,NA,14375,Pave,NA,IR1,Lvl,NoSeWa,CulDSac,Gtl,Timber,Norm,Norm,1Fam,SLvl,6,6,1958,1958,Gable,CompShg,HdBoard,HdBoard,BrkFace,541,TA,TA,CBlock,TA,TA,No,GLQ,111,Rec,354,354,819,GasA,Gd,Y,FuseA,1344,0,0,1344,0,1,1,0,3,1,Gd,7,Typ,1,Gd,Basment,1958,RFn,2,525,TA,TA,Y,0,118,0,0,233,0,NA,NA,NA,0,1,2009,COD,Abnorml,137500 +946,50,RM,98,8820,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,6,1890,1996,Hip,CompShg,VinylSd,VinylSd,None,0,TA,TA,BrkTil,TA,TA,No,LwQ,1088,Unf,0,0,1088,GasA,TA,Y,SBrkr,1188,561,120,1869,0,0,1,0,2,1,TA,7,Typ,0,NA,Detchd,1963,Unf,2,456,TA,TA,Y,48,0,244,0,0,0,NA,MnWw,NA,0,9,2009,WD,Normal,124900 +947,80,RL,70,8163,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,5,6,1959,1959,Gable,CompShg,HdBoard,HdBoard,BrkFace,128,TA,Gd,CBlock,TA,TA,Av,ALQ,748,BLQ,294,102,1144,GasA,TA,Y,SBrkr,1144,0,0,1144,1,0,1,0,3,1,TA,6,Typ,1,TA,Attchd,1959,RFn,1,796,TA,TA,Y,86,0,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal,143000 +948,20,RL,85,14536,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2002,2003,Hip,CompShg,VinylSd,VinylSd,BrkFace,236,Gd,TA,PConc,Gd,TA,Av,GLQ,1300,Unf,0,316,1616,GasA,Ex,Y,SBrkr,1629,0,0,1629,1,0,2,0,3,1,Gd,9,Typ,1,Gd,Attchd,2002,Fin,3,808,TA,TA,Y,0,252,0,0,0,0,NA,NA,NA,0,11,2007,WD,Normal,270000 +949,60,RL,65,14006,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,144,Gd,TA,PConc,Gd,TA,NA,Unf,0,Unf,0,936,936,GasA,Ex,Y,SBrkr,936,840,0,1776,0,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,2002,RFn,2,474,TA,TA,Y,144,96,0,0,0,0,NA,NA,NA,0,2,2006,WD,Normal,192500 +950,20,RL,78,9360,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,7,1972,2006,Hip,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,982,Unf,0,179,1161,GasA,TA,Y,SBrkr,1381,0,0,1381,1,0,1,1,3,1,Gd,5,Typ,1,TA,Attchd,1972,RFn,2,676,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal,197500 +951,20,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,8,1950,2002,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,398,BLQ,149,317,864,GasA,Gd,Y,SBrkr,864,0,0,864,1,0,1,0,3,1,Gd,5,Typ,0,NA,Detchd,1980,RFn,2,720,TA,TA,Y,194,0,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,129000 +952,20,RH,60,7800,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,1Fam,1Story,5,5,1965,1965,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,641,Unf,0,187,828,GasA,Gd,Y,SBrkr,965,0,0,965,1,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1979,Unf,1,300,TA,TA,Y,421,0,0,0,0,0,NA,MnPrv,NA,0,7,2006,WD,Abnorml,119900 +953,85,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,SFoyer,5,8,1972,2003,Gable,CompShg,WdShing,HdBoard,None,0,TA,Gd,CBlock,Gd,TA,Av,GLQ,660,Unf,0,108,768,GasA,Gd,Y,SBrkr,768,0,0,768,0,1,1,0,2,1,TA,5,Typ,0,NA,Detchd,1974,Fin,1,396,TA,TA,Y,192,0,0,0,0,0,NA,MnPrv,NA,0,4,2009,WD,Normal,133900 +954,60,RL,NA,11075,Pave,NA,IR1,Lvl,AllPub,Inside,Mod,Mitchel,Norm,Norm,1Fam,2Story,5,4,1969,1969,Gable,CompShg,HdBoard,HdBoard,BrkFace,232,TA,TA,CBlock,TA,TA,Av,ALQ,562,LwQ,193,29,784,GasA,Ex,Y,SBrkr,1168,800,0,1968,0,1,2,1,4,1,TA,7,Min2,1,Po,Attchd,1969,RFn,2,530,TA,TA,Y,305,189,0,0,0,0,NA,MnPrv,Shed,400,9,2008,WD,Normal,172000 +955,90,RL,35,9400,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Edwards,Norm,Norm,Duplex,SFoyer,6,5,1975,1975,Flat,Tar&Grv,WdShing,Plywood,BrkFace,250,TA,TA,CBlock,Gd,Gd,Gd,GLQ,945,Unf,0,0,945,GasA,TA,Y,SBrkr,980,0,0,980,0,2,2,0,4,0,TA,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2006,WD,AdjLand,127500 +956,90,RH,82,7136,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Crawfor,Norm,Norm,Duplex,2Story,6,6,1946,1950,Gable,CompShg,MetalSd,MetalSd,BrkFace,423,TA,TA,CBlock,Gd,TA,No,Rec,484,Unf,0,495,979,GasA,TA,N,FuseF,979,979,0,1958,0,0,2,0,4,2,TA,8,Typ,0,NA,Attchd,1946,Unf,2,492,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,145000 +957,160,RM,24,1300,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blueste,Norm,Norm,TwnhsE,2Story,6,6,1980,1980,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,285,Unf,0,276,561,GasA,TA,Y,SBrkr,561,668,0,1229,0,0,1,1,2,1,TA,5,Typ,1,TA,Attchd,1980,Fin,2,462,TA,TA,Y,150,0,0,0,0,0,NA,GdPrv,NA,0,5,2009,WD,Normal,124000 +958,20,RL,70,7420,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1962,1962,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,417,Unf,0,640,1057,GasA,TA,Y,SBrkr,1057,0,0,1057,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1977,Fin,2,576,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal,132000 +959,20,RL,65,8450,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Mn,GLQ,699,Unf,0,638,1337,GasA,Ex,Y,SBrkr,1337,0,0,1337,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2003,RFn,2,531,TA,TA,Y,0,39,0,0,0,0,NA,NA,NA,0,10,2007,WD,Normal,185000 +960,160,FV,24,2572,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Somerst,Norm,Norm,Twnhs,2Story,7,5,1999,1999,Hip,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,ALQ,604,Unf,0,92,696,GasA,Ex,Y,SBrkr,696,720,0,1416,1,0,2,1,3,1,Gd,6,Typ,0,NA,Detchd,1999,Unf,2,484,TA,TA,Y,0,44,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,155000 +961,20,RL,50,7207,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,5,7,1958,2008,Gable,CompShg,Wd Sdng,Plywood,None,0,TA,Gd,CBlock,TA,TA,Gd,BLQ,696,Unf,0,162,858,GasA,Gd,Y,SBrkr,858,0,0,858,1,0,1,0,2,1,TA,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,117,0,0,0,0,0,NA,NA,NA,0,2,2010,WD,Normal,116500 +962,60,RL,NA,12227,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NWAmes,PosN,Norm,1Fam,2Story,6,7,1977,1995,Gable,CompShg,HdBoard,HdBoard,BrkFace,424,TA,Gd,CBlock,Gd,Gd,No,ALQ,896,Unf,0,434,1330,GasA,TA,Y,SBrkr,1542,1330,0,2872,1,0,2,1,4,1,TA,11,Typ,1,TA,Attchd,1977,Fin,2,619,TA,TA,Y,550,282,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,272000 +963,160,RL,24,2308,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NPkVill,Norm,Norm,TwnhsE,2Story,6,6,1976,1976,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,556,Unf,0,248,804,GasA,TA,Y,SBrkr,804,744,0,1548,1,0,2,1,3,1,Gd,7,Typ,1,TA,Detchd,1976,Unf,2,440,TA,TA,Y,48,0,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,155000 +964,20,RL,122,11923,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,9,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,TA,No,Unf,0,Unf,0,1800,1800,GasA,Ex,Y,SBrkr,1800,0,0,1800,0,0,2,0,2,1,Ex,7,Typ,0,NA,Attchd,2007,Fin,2,702,TA,TA,Y,288,136,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,239000 +965,60,RL,80,11316,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,2Story,7,5,2002,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,44,Gd,TA,PConc,Gd,TA,No,GLQ,624,Unf,0,193,817,GasA,Ex,Y,SBrkr,824,1070,0,1894,1,0,2,1,4,1,Gd,8,Typ,1,Gd,BuiltIn,2002,Fin,2,510,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,2,2010,WD,Normal,214900 +966,60,RL,65,10237,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,RRAn,Norm,1Fam,2Story,6,5,2005,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,783,783,GasA,Ex,Y,SBrkr,783,701,0,1484,0,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2005,Fin,2,393,TA,TA,Y,0,72,0,0,0,0,NA,NA,NA,0,7,2007,New,Partial,178900 +967,50,RL,130,9600,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1.5Fin,5,7,1940,1950,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,Gd,BrkTil,TA,Fa,No,Rec,428,Unf,0,300,728,GasA,Ex,Y,SBrkr,976,332,0,1308,1,0,1,1,2,1,TA,7,Min2,2,TA,Detchd,1940,Unf,1,256,TA,TA,Y,0,70,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,160000 +968,20,RL,NA,7390,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1955,1955,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,151,TA,TA,CBlock,TA,TA,No,ALQ,902,Unf,0,196,1098,GasA,TA,Y,SBrkr,1098,0,0,1098,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1955,Unf,1,260,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,135000 +969,50,RM,50,5925,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,3,6,1910,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,600,600,Grav,Fa,N,SBrkr,600,368,0,968,0,0,1,0,2,1,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,5,2009,WD,Abnorml,37900 +970,190,RL,75,10382,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,2fmCon,SLvl,6,5,1958,1958,Hip,CompShg,HdBoard,HdBoard,BrkFace,105,TA,Fa,CBlock,TA,TA,Gd,ALQ,513,Unf,0,75,588,GasA,TA,Y,SBrkr,1095,0,0,1095,1,0,1,0,2,1,TA,6,Typ,0,NA,Attchd,1958,RFn,1,264,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2006,ConLD,Normal,140000 +971,50,RL,60,10800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1.5Fin,4,4,1949,1950,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,720,720,GasA,TA,N,FuseA,720,472,0,1192,0,0,1,1,4,1,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,12,2006,WD,Abnorml,135000 +972,160,RL,36,2268,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,Twnhs,2Story,7,5,2003,2004,Gable,CompShg,VinylSd,Wd Shng,Stone,106,Gd,TA,PConc,Gd,TA,No,GLQ,567,Unf,0,197,764,GasA,Ex,Y,SBrkr,764,862,0,1626,0,0,2,0,2,1,Gd,6,Typ,0,NA,BuiltIn,2003,RFn,2,474,TA,TA,Y,0,27,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,173000 +973,120,RL,55,7892,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,TwnhsE,1Story,6,5,1979,1979,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,918,918,GasA,TA,Y,SBrkr,918,0,0,918,0,0,2,0,2,1,TA,5,Typ,1,TA,Attchd,1979,Unf,1,264,TA,TA,Y,28,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,99500 +974,20,FV,95,11639,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2007,2008,Gable,CompShg,CemntBd,CmentBd,NA,NA,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1428,1428,GasA,Ex,Y,SBrkr,1428,0,0,1428,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2007,Fin,2,480,TA,TA,Y,0,120,0,0,0,0,NA,NA,NA,0,12,2008,New,Partial,182000 +975,70,RL,60,11414,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,BrkSide,RRAn,Feedr,1Fam,2Story,7,8,1910,1993,Gable,CompShg,HdBoard,HdBoard,None,0,TA,Gd,BrkTil,Gd,TA,No,Unf,0,Unf,0,728,728,GasA,TA,N,SBrkr,1136,883,0,2019,0,0,1,0,3,1,Gd,8,Typ,0,NA,Detchd,1997,Unf,2,532,TA,TA,Y,509,135,0,0,0,0,NA,GdPrv,NA,0,10,2009,WD,Normal,167500 +976,160,FV,NA,2651,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Somerst,Norm,Norm,Twnhs,2Story,7,5,2000,2000,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,641,Unf,0,32,673,GasA,Ex,Y,SBrkr,673,709,0,1382,1,0,2,1,3,1,Gd,6,Typ,0,NA,Detchd,2000,Unf,2,490,TA,TA,Y,153,50,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,165000 +977,30,RL,51,5900,Pave,NA,IR1,Bnk,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,4,7,1923,1958,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,440,440,GasA,TA,Y,FuseA,869,0,0,869,0,0,1,0,2,1,Fa,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2006,WD,Normal,85500 +978,120,FV,35,4274,Pave,Pave,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,7,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,NA,NA,Gd,TA,PConc,Gd,TA,No,GLQ,1106,Unf,0,135,1241,GasA,Ex,Y,SBrkr,1241,0,0,1241,1,0,1,1,1,1,Gd,4,Typ,0,NA,Attchd,2007,Fin,2,569,TA,TA,Y,0,116,0,0,0,0,NA,NA,NA,0,11,2007,New,Partial,199900 +979,20,RL,68,9450,Pave,NA,Reg,Bnk,AllPub,Inside,Mod,Edwards,Norm,Norm,1Fam,1Story,4,5,1954,1954,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,LwQ,552,Unf,0,342,894,GasA,Ex,Y,SBrkr,894,0,0,894,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1999,Unf,2,400,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Abnorml,110000 +980,20,RL,80,8816,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,5,6,1963,1963,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,TA,TA,No,Rec,651,Unf,0,470,1121,GasA,TA,Y,SBrkr,1121,0,0,1121,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1963,Unf,2,480,TA,TA,Y,0,80,0,0,0,0,NA,MnPrv,NA,0,6,2009,WD,Normal,139000 +981,85,RL,NA,12122,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,SFoyer,7,9,1961,2007,Gable,CompShg,CemntBd,CmentBd,Stone,210,Ex,TA,CBlock,TA,TA,Av,ALQ,867,Unf,0,77,944,GasA,Gd,Y,SBrkr,999,0,0,999,1,0,1,0,3,1,Ex,6,Typ,0,NA,Attchd,1961,RFn,2,588,TA,TA,Y,144,76,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,178400 +982,60,RL,98,12203,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1998,1999,Hip,CompShg,VinylSd,VinylSd,BrkFace,975,Gd,TA,PConc,Gd,TA,No,GLQ,854,Unf,0,371,1225,GasA,Ex,Y,SBrkr,1276,1336,0,2612,1,0,2,1,4,1,Gd,8,Typ,1,TA,Attchd,1998,Fin,3,676,TA,TA,Y,250,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,336000 +983,20,RL,43,3182,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,1Fam,1Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,BrkFace,16,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1266,1266,GasA,Ex,Y,SBrkr,1266,0,0,1266,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2007,Fin,2,388,TA,TA,Y,100,16,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal,159895 +984,60,RL,NA,11250,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,2002,2002,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,1128,1128,GasA,Ex,Y,SBrkr,1149,1141,0,2290,0,0,2,1,4,1,Gd,9,Typ,1,Gd,Attchd,2002,Unf,2,779,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,255900 +985,90,RL,75,10125,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,Duplex,1.5Fin,5,5,1977,1977,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,1302,432,0,1734,0,0,2,0,4,2,Gd,8,Typ,0,NA,Attchd,1977,Unf,2,539,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2009,COD,Normal,126000 +986,190,RL,68,10880,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,2fmCon,1Story,5,5,1950,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,1040,Unf,0,124,1164,GasW,TA,N,SBrkr,1164,0,0,1164,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1950,Unf,1,240,TA,TA,Y,0,48,0,0,0,0,NA,NA,NA,0,8,2008,ConLD,Normal,125000 +987,50,RM,59,5310,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Feedr,Norm,1Fam,1.5Fin,6,8,1910,2003,Hip,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,Fa,No,Unf,0,Unf,0,485,485,GasA,Gd,Y,SBrkr,1001,634,0,1635,0,0,1,0,2,1,Gd,5,Typ,0,NA,Attchd,1950,Unf,1,255,Fa,TA,Y,394,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,117000 +988,20,RL,83,10159,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2009,2010,Hip,CompShg,VinylSd,VinylSd,Stone,450,Ex,TA,PConc,Ex,TA,Av,GLQ,1646,Unf,0,284,1930,GasA,Ex,Y,SBrkr,1940,0,0,1940,1,0,2,1,3,1,Ex,8,Typ,1,Gd,Attchd,2010,Fin,3,606,TA,TA,Y,168,95,0,0,0,0,NA,NA,NA,0,4,2010,New,Partial,395192 +989,60,RL,NA,12046,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,6,6,1976,1976,Gable,CompShg,Plywood,Plywood,BrkFace,298,TA,TA,CBlock,TA,TA,No,LwQ,156,Unf,0,692,848,GasA,TA,Y,SBrkr,1118,912,0,2030,0,0,2,1,4,1,Gd,8,Typ,1,TA,Attchd,1976,Fin,2,551,TA,TA,Y,0,224,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,195000 +990,60,FV,65,8125,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,Gd,No,Unf,0,Unf,0,770,770,GasA,Ex,Y,SBrkr,778,798,0,1576,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2006,RFn,2,614,TA,TA,Y,0,50,0,0,0,0,NA,NA,NA,0,8,2006,New,Partial,197000 +991,60,RL,82,9452,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1997,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,423,Gd,TA,PConc,Gd,TA,No,GLQ,1074,Unf,0,322,1396,GasA,Ex,Y,SBrkr,1407,985,0,2392,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1997,Fin,3,870,TA,TA,Y,0,70,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,348000 +992,70,RM,121,17671,Pave,Grvl,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Artery,Norm,1Fam,2Story,8,9,1882,1986,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,Gd,BrkTil,TA,TA,No,BLQ,216,Unf,0,700,916,GasA,Gd,Y,SBrkr,916,826,0,1742,0,0,1,1,4,1,Gd,8,Typ,1,Gd,Attchd,1925,Unf,2,424,TA,TA,P,0,169,0,0,0,0,NA,NA,NA,0,11,2009,WD,Normal,168000 +993,60,RL,80,9760,Pave,NA,Reg,Lvl,AllPub,Inside,Mod,NAmes,Norm,Norm,1Fam,2Story,6,8,1964,1993,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,340,TA,TA,CBlock,TA,TA,Gd,BLQ,536,Rec,117,169,822,GasA,Gd,Y,SBrkr,1020,831,0,1851,0,0,2,1,3,1,Gd,7,Typ,1,Fa,Attchd,1964,RFn,2,440,TA,TA,Y,239,42,0,0,0,0,NA,MnWw,NA,0,7,2007,WD,Normal,187000 +994,60,RL,68,8846,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,6,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,750,750,GasA,Ex,Y,SBrkr,750,750,0,1500,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2005,RFn,2,564,TA,TA,Y,0,35,0,0,0,0,NA,NA,NA,0,8,2006,New,Partial,173900 +995,20,RL,96,12456,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NridgHt,Norm,Norm,1Fam,1Story,10,5,2006,2007,Hip,CompShg,CemntBd,CmentBd,Stone,230,Ex,TA,PConc,Ex,TA,Gd,GLQ,1172,Unf,0,528,1700,GasA,Ex,Y,SBrkr,1718,0,0,1718,1,0,2,0,3,1,Ex,7,Typ,1,Gd,Attchd,2008,Fin,3,786,TA,TA,Y,216,48,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,337500 +996,50,RL,51,4712,Pave,NA,IR1,Lvl,AllPub,Inside,Mod,BrkSide,Feedr,Norm,1Fam,1.5Fin,4,7,1946,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,384,Unf,0,363,747,GasA,TA,Y,SBrkr,774,456,0,1230,1,0,1,1,3,1,TA,5,Typ,0,NA,Detchd,1946,Unf,1,305,TA,TA,Y,0,57,0,0,63,0,NA,MnPrv,NA,0,8,2006,WD,Abnorml,121600 +997,20,RL,NA,10659,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1961,1961,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,915,Unf,0,135,1050,GasA,TA,Y,SBrkr,1050,0,0,1050,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1961,Unf,1,368,TA,TA,Y,0,319,0,0,0,0,NA,NA,NA,0,1,2006,COD,Normal,136500 +998,20,RL,NA,11717,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,PosA,Norm,1Fam,1Story,6,6,1970,1970,Hip,CompShg,HdBoard,HdBoard,BrkFace,571,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1442,1442,GasA,TA,Y,SBrkr,1442,0,0,1442,0,0,2,0,2,1,TA,6,Typ,1,TA,Attchd,1970,RFn,2,615,TA,TA,Y,371,0,0,0,0,0,NA,NA,NA,0,2,2009,WD,Normal,185000 +999,30,RM,60,9786,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,3,4,1922,1950,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,Fa,No,Unf,0,Unf,0,1007,1007,GasA,Fa,N,SBrkr,1077,0,0,1077,0,0,1,0,3,1,TA,6,Typ,1,Gd,Detchd,1922,Unf,1,210,TA,Fa,P,0,100,48,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,91000 +1000,20,RL,64,6762,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,Stone,24,Gd,TA,PConc,Gd,TA,Av,GLQ,686,Unf,0,501,1187,GasA,Ex,Y,SBrkr,1208,0,0,1208,1,0,2,0,2,1,Gd,6,Typ,0,NA,Attchd,2006,RFn,2,632,TA,TA,Y,105,61,0,0,0,0,NA,NA,NA,0,2,2010,WD,Normal,206000 +1001,20,RL,74,10206,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,1Story,3,3,1952,1952,Flat,Tar&Grv,BrkComm,Brk Cmn,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasW,Fa,N,FuseF,944,0,0,944,0,0,1,0,2,1,Fa,4,Min1,0,NA,Detchd,1956,Unf,2,528,TA,Fa,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,82000 +1002,30,RL,60,5400,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,6,1920,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Fa,TA,No,Unf,0,Unf,0,691,691,GasA,Ex,Y,FuseA,691,0,0,691,0,0,1,0,2,1,Ex,4,Typ,0,NA,Detchd,1920,Unf,1,216,Fa,TA,N,0,20,94,0,0,0,NA,NA,NA,0,1,2007,WD,Abnorml,86000 +1003,20,RL,75,11957,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Somerst,RRAn,Norm,1Fam,1Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,53,Gd,TA,PConc,Gd,TA,No,GLQ,24,Unf,0,1550,1574,GasA,Ex,Y,SBrkr,1574,0,0,1574,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2006,RFn,3,824,TA,TA,Y,144,104,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,232000 +1004,90,RL,NA,11500,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NWAmes,Feedr,RRAn,Duplex,1Story,5,6,1976,1976,Gable,CompShg,VinylSd,VinylSd,BrkFace,164,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1680,1680,GasA,Fa,Y,SBrkr,1680,0,0,1680,0,0,2,0,4,2,TA,8,Typ,0,NA,Detchd,1976,Unf,2,528,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,136905 +1005,120,RL,43,3182,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,16,Gd,TA,PConc,Gd,TA,No,GLQ,16,Unf,0,1330,1346,GasA,Ex,Y,SBrkr,1504,0,0,1504,0,0,2,0,1,1,Gd,7,Typ,1,Gd,Attchd,2005,Fin,2,457,TA,TA,Y,156,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,181000 +1006,80,RL,65,8385,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,SLvl,5,8,1977,1977,Gable,CompShg,HdBoard,HdBoard,BrkFace,220,Gd,TA,CBlock,Gd,Gd,Av,GLQ,595,Unf,0,390,985,GasA,TA,Y,SBrkr,985,0,0,985,0,0,2,0,3,1,TA,6,Typ,0,NA,Attchd,1977,Unf,1,328,TA,TA,Y,210,0,0,0,0,0,NA,NA,NA,0,11,2008,WD,Normal,149900 +1007,20,RL,NA,12155,Pave,NA,IR3,Lvl,AllPub,Inside,Gtl,NAmes,PosN,Norm,1Fam,1Story,6,3,1970,1970,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,No,LwQ,1237,Unf,0,420,1657,GasA,Gd,Y,SBrkr,1657,0,0,1657,0,1,2,0,3,1,TA,7,Typ,1,TA,Attchd,1970,Unf,2,484,TA,TA,Y,0,0,0,0,147,0,NA,NA,NA,0,3,2007,WD,Normal,163500 +1008,160,RM,21,2217,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,2Story,4,4,1970,1970,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,273,LwQ,273,0,546,GasA,TA,Y,SBrkr,546,546,0,1092,0,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1970,RFn,1,286,TA,TA,Y,238,0,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal,88000 +1009,20,RL,43,12118,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Mitchel,Norm,Norm,1Fam,1Story,7,5,2004,2005,Hip,CompShg,VinylSd,VinylSd,Stone,108,Gd,TA,PConc,Ex,TA,Mn,Unf,0,Unf,0,1710,1710,GasA,Ex,Y,SBrkr,1710,0,0,1710,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2004,Fin,2,550,TA,TA,Y,100,48,0,0,180,0,NA,NA,NA,0,4,2009,WD,Normal,240000 +1010,50,RL,60,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1.5Fin,5,5,1926,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Fa,BrkTil,TA,TA,No,Unf,0,Unf,0,1008,1008,GasA,Ex,Y,SBrkr,1008,0,514,1522,0,0,2,0,4,1,TA,7,Typ,0,NA,NA,NA,NA,0,0,NA,NA,P,0,0,138,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,102000 +1011,50,RL,115,21286,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1.5Fin,5,5,1948,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,720,720,GasA,TA,Y,SBrkr,720,551,0,1271,0,0,2,0,4,1,TA,7,Typ,1,Gd,Attchd,1948,Unf,1,312,TA,TA,Y,0,0,108,0,0,0,NA,NA,NA,0,8,2008,WD,Normal,135000 +1012,90,RL,75,9825,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,Duplex,1Story,5,5,1965,1965,Hip,CompShg,AsphShn,AsphShn,None,0,TA,TA,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,N,SBrkr,1664,0,0,1664,0,0,2,0,4,2,TA,8,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,100000 +1013,70,RL,55,10592,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,6,7,1923,1996,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,PConc,TA,Fa,No,Unf,0,Unf,0,602,602,GasA,TA,Y,SBrkr,900,602,0,1502,0,0,1,1,3,1,Gd,7,Typ,2,TA,Detchd,1923,Unf,1,180,TA,TA,Y,96,0,112,0,53,0,NA,NA,NA,0,8,2007,WD,Normal,165000 +1014,30,RM,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,4,1910,2006,Hip,CompShg,MetalSd,Stucco,None,0,TA,TA,BrkTil,TA,TA,No,ALQ,247,Rec,465,310,1022,GasW,TA,N,SBrkr,1022,0,0,1022,1,0,1,0,2,1,TA,4,Maj2,0,NA,Detchd,1956,Unf,1,280,TA,TA,Y,0,30,226,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,85000 +1015,20,RL,60,11664,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Artery,Norm,1Fam,1Story,6,5,1948,1950,Gable,CompShg,MetalSd,MetalSd,BrkFace,206,TA,TA,CBlock,TA,Fa,No,BLQ,336,Unf,0,746,1082,GasA,TA,Y,SBrkr,1082,0,0,1082,0,0,1,0,2,1,TA,5,Typ,1,Gd,Detchd,1948,Unf,1,240,TA,TA,Y,0,130,0,0,0,0,NA,NA,NA,0,11,2007,WD,Normal,119200 +1016,60,RL,70,8400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,8,6,2001,2001,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,643,Unf,0,167,810,GasA,Ex,Y,SBrkr,810,855,0,1665,1,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2001,Fin,2,528,TA,TA,Y,0,45,0,0,0,0,NA,NA,NA,0,11,2009,WD,Normal,227000 +1017,20,RL,73,11883,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,1996,1996,Hip,CompShg,VinylSd,VinylSd,BrkFace,196,Gd,TA,PConc,Gd,TA,Gd,GLQ,690,Unf,0,814,1504,GasA,Ex,Y,SBrkr,1504,0,0,1504,1,0,2,0,3,1,Gd,6,Typ,1,TA,Attchd,1996,Fin,2,478,TA,TA,Y,115,66,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,203000 +1018,120,RL,NA,5814,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,1984,1984,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,CBlock,Gd,TA,Av,GLQ,1036,Unf,0,184,1220,GasA,Gd,Y,SBrkr,1360,0,0,1360,1,0,1,0,1,1,Gd,4,Typ,1,Ex,Attchd,1984,RFn,2,565,TA,TA,Y,63,0,0,0,0,0,NA,NA,NA,0,8,2009,COD,Abnorml,187500 +1019,80,RL,NA,10784,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,7,5,1991,1992,Gable,CompShg,HdBoard,HdBoard,BrkFace,76,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,384,384,GasA,Gd,Y,SBrkr,802,670,0,1472,0,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1991,RFn,2,402,TA,TA,Y,164,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,160000 +1020,120,RL,43,3013,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,145,Gd,TA,PConc,Gd,TA,Gd,GLQ,16,Unf,0,1346,1362,GasA,Ex,Y,SBrkr,1506,0,0,1506,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2005,Fin,2,440,TA,TA,Y,142,20,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,213490 +1021,20,RL,60,7024,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,GLQ,1024,Unf,0,108,1132,GasA,Ex,Y,SBrkr,1132,0,0,1132,1,0,1,1,2,1,Gd,5,Typ,0,NA,Attchd,2005,Fin,2,451,TA,TA,Y,252,64,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,176000 +1022,20,RL,64,7406,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,Stone,84,Gd,TA,PConc,Gd,TA,Av,GLQ,684,Unf,0,515,1199,GasA,Ex,Y,SBrkr,1220,0,0,1220,1,0,2,0,2,1,Gd,6,Typ,0,NA,Attchd,2006,RFn,2,632,TA,TA,Y,105,54,0,0,0,0,NA,NA,NA,0,7,2006,New,Partial,194000 +1023,50,RM,52,9439,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,5,1930,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,LwQ,324,Unf,0,588,912,GasA,Gd,Y,FuseA,912,336,0,1248,0,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1957,Unf,1,160,Fa,Fa,Y,0,0,192,0,0,0,NA,NA,NA,0,3,2007,WD,Normal,87000 +1024,120,RL,43,3182,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,14,Gd,TA,PConc,Gd,Gd,No,GLQ,16,Unf,0,1330,1346,GasA,Ex,Y,SBrkr,1504,0,0,1504,0,0,2,0,2,1,Gd,7,Typ,1,Gd,Attchd,2005,Fin,2,437,TA,TA,Y,156,20,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,191000 +1025,20,RL,NA,15498,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,1Story,8,6,1976,1976,Hip,WdShake,Stone,HdBoard,None,0,Gd,TA,CBlock,Gd,TA,Av,ALQ,1165,LwQ,400,0,1565,GasA,TA,Y,SBrkr,2898,0,0,2898,1,0,2,0,2,1,Gd,10,Typ,1,Gd,Attchd,1976,Fin,2,665,TA,TA,Y,0,72,174,0,0,0,NA,NA,NA,0,5,2008,COD,Abnorml,287000 +1026,20,RL,70,7700,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,5,1972,1972,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,LwQ,138,Rec,468,276,882,GasA,TA,Y,SBrkr,882,0,0,882,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1980,Unf,2,461,TA,TA,Y,96,0,0,0,0,0,NA,MnPrv,NA,0,3,2007,WD,Normal,112500 +1027,20,RL,73,9300,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Feedr,Norm,1Fam,1Story,5,5,1960,1960,Gable,CompShg,MetalSd,HdBoard,BrkFace,324,TA,TA,CBlock,TA,TA,No,Rec,697,Unf,0,571,1268,GasA,TA,Y,SBrkr,1264,0,0,1264,1,0,1,0,3,1,TA,6,Typ,2,Gd,Attchd,1960,Unf,2,461,TA,TA,Y,0,0,0,0,143,0,NA,NA,NA,0,4,2010,WD,Normal,167500 +1028,20,RL,71,9520,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2007,2008,Gable,CompShg,VinylSd,VinylSd,Stone,338,Gd,TA,PConc,Gd,TA,Gd,GLQ,1513,Unf,0,125,1638,GasA,Ex,Y,SBrkr,1646,0,0,1646,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2008,RFn,3,800,TA,TA,Y,192,44,0,0,0,0,NA,NA,NA,0,4,2008,New,Partial,293077 +1029,50,RL,79,9492,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Artery,Norm,1Fam,1.5Fin,5,5,1941,1950,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,TA,No,Rec,368,BLQ,41,359,768,GasA,TA,Y,SBrkr,968,408,0,1376,1,0,1,0,3,1,TA,6,Typ,1,Gd,Attchd,1941,Unf,1,240,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal,105000 +1030,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,7,1972,1972,Gable,CompShg,HdBoard,HdBoard,BrkFace,281,TA,TA,CBlock,TA,TA,No,BLQ,317,Unf,0,355,672,GasA,Gd,Y,SBrkr,672,546,0,1218,0,1,1,1,3,1,TA,7,Typ,0,NA,Detchd,1972,Unf,1,264,TA,TA,Y,0,28,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,118000 +1031,190,RH,NA,7082,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,2fmCon,2Story,5,8,1916,1995,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,TA,TA,Mn,Unf,0,Unf,0,686,686,GasA,Gd,Y,SBrkr,948,980,0,1928,0,0,2,0,5,2,TA,10,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,228,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,160000 +1032,75,RL,102,15863,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,SWISU,Norm,Norm,1Fam,2.5Fin,7,3,1920,1970,Gable,CompShg,Wd Sdng,Plywood,None,0,TA,TA,BrkTil,TA,TA,No,GLQ,523,Unf,0,301,824,GasA,Ex,Y,SBrkr,1687,998,397,3082,1,0,2,1,5,1,TA,12,Typ,2,TA,Basment,1970,Fin,2,672,TA,TA,Y,136,63,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal,197000 +1033,60,RL,NA,14541,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,7,1993,1993,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,Gd,PConc,Gd,Gd,No,GLQ,1012,Unf,0,326,1338,GasA,Ex,Y,SBrkr,1352,1168,0,2520,1,0,2,1,5,1,Gd,10,Typ,1,TA,Attchd,1993,RFn,3,796,TA,TA,Y,209,55,0,0,0,0,NA,NA,NA,0,11,2006,WD,Abnorml,310000 +1034,20,RL,NA,8125,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,Stone,295,Gd,TA,PConc,Gd,TA,No,GLQ,986,Unf,0,668,1654,GasA,Ex,Y,SBrkr,1654,0,0,1654,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2002,Unf,3,900,TA,TA,Y,0,136,0,0,0,0,NA,NA,NA,0,2,2006,WD,Normal,230000 +1035,30,RL,50,6305,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,5,7,1938,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,PConc,Fa,Fa,No,Unf,0,Unf,0,920,920,GasA,Ex,Y,SBrkr,954,0,0,954,0,0,1,0,2,1,Fa,5,Typ,1,Gd,Basment,1938,Unf,1,240,Fa,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,6,2007,WD,Normal,119750 +1036,20,RL,NA,11500,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,3,1957,1957,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,Ex,N,SBrkr,845,0,0,845,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1957,Unf,1,290,TA,TA,N,186,0,0,0,0,0,NA,NA,NA,0,1,2009,WD,Normal,84000 +1037,20,RL,89,12898,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,9,5,2007,2008,Hip,CompShg,VinylSd,VinylSd,Stone,70,Gd,TA,PConc,Ex,TA,Gd,GLQ,1022,Unf,0,598,1620,GasA,Ex,Y,SBrkr,1620,0,0,1620,1,0,2,0,2,1,Ex,6,Typ,1,Ex,Attchd,2008,Fin,3,912,TA,TA,Y,228,0,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal,315500 +1038,60,RL,NA,9240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,2001,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,396,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1055,1055,GasA,Ex,Y,SBrkr,1055,1208,0,2263,0,0,2,1,3,1,Gd,7,Typ,1,TA,BuiltIn,2001,Fin,2,905,TA,TA,Y,0,45,0,0,189,0,NA,NA,NA,0,9,2008,WD,Normal,287000 +1039,160,RM,21,1533,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,2Story,4,6,1970,2008,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,546,546,GasA,TA,Y,SBrkr,798,546,0,1344,0,0,1,1,3,1,TA,6,Typ,1,TA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,97000 +1040,180,RM,21,1477,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,SFoyer,4,4,1970,1970,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,Gd,TA,Av,GLQ,509,Unf,0,121,630,GasA,TA,Y,SBrkr,630,0,0,630,1,0,1,0,1,1,TA,3,Typ,0,NA,Attchd,1970,Unf,1,286,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal,80000 +1041,20,RL,88,13125,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,4,1957,2000,Gable,CompShg,Wd Sdng,Wd Sdng,BrkCmn,67,TA,TA,CBlock,TA,TA,No,Rec,168,BLQ,682,284,1134,GasA,Ex,Y,SBrkr,1803,0,0,1803,1,0,2,0,3,1,TA,8,Maj1,1,TA,Attchd,1957,RFn,2,484,TA,TA,Y,0,0,0,0,0,0,NA,GdPrv,NA,0,1,2006,WD,Normal,155000 +1042,60,RL,NA,9130,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Feedr,Norm,1Fam,2Story,6,8,1966,2000,Hip,CompShg,HdBoard,HdBoard,BrkFace,252,TA,TA,CBlock,TA,TA,No,GLQ,400,Rec,64,336,800,GasA,Gd,Y,SBrkr,800,832,0,1632,0,1,1,1,4,1,Gd,7,Typ,0,NA,Attchd,1966,Unf,2,484,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,173000 +1043,120,RL,34,5381,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,Twnhs,1Story,6,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,Stone,135,Gd,TA,PConc,Gd,TA,Av,ALQ,900,Unf,0,406,1306,GasA,Ex,Y,SBrkr,1306,0,0,1306,1,0,2,0,1,1,Gd,5,Typ,1,Gd,Attchd,2005,RFn,2,624,TA,TA,Y,170,63,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal,196000 +1044,60,RL,86,11839,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,7,5,1990,1990,Hip,CompShg,HdBoard,HdBoard,BrkFace,99,TA,TA,PConc,Gd,TA,No,GLQ,1085,Unf,0,390,1475,GasA,Ex,Y,SBrkr,1532,797,0,2329,1,0,2,1,4,1,Gd,10,Typ,1,Ex,Attchd,1990,Unf,2,514,TA,TA,Y,192,121,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,262280 +1045,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,PosN,Norm,1Fam,1Story,8,5,1981,1981,Hip,WdShngl,BrkFace,BrkFace,None,0,Gd,TA,PConc,Gd,TA,No,ALQ,1104,Unf,0,1420,2524,GasA,TA,Y,SBrkr,2524,0,0,2524,1,0,2,1,4,1,Gd,9,Typ,1,Gd,Attchd,1981,Fin,2,542,TA,TA,Y,474,120,0,0,0,0,NA,MnPrv,NA,0,7,2009,WD,Normal,278000 +1046,20,RL,NA,13680,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Edwards,Norm,Norm,1Fam,1Story,3,5,1955,1955,Hip,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,Ex,Y,FuseA,1733,0,0,1733,0,0,2,0,4,1,TA,8,Min2,1,Gd,Attchd,1955,Unf,2,452,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,139600 +1047,60,RL,85,16056,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,StoneBr,Norm,Norm,1Fam,2Story,9,5,2005,2006,Hip,CompShg,CemntBd,CmentBd,Stone,208,Gd,TA,PConc,Ex,TA,Av,GLQ,240,Unf,0,1752,1992,GasA,Ex,Y,SBrkr,1992,876,0,2868,0,0,3,1,4,1,Ex,11,Typ,1,Gd,BuiltIn,2005,Fin,3,716,TA,TA,Y,214,108,0,0,0,0,NA,NA,NA,0,7,2006,New,Partial,556581 +1048,20,RL,57,9245,Pave,NA,IR2,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,5,1994,1995,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,GLQ,686,Unf,0,304,990,GasA,Ex,Y,SBrkr,990,0,0,990,0,1,1,0,3,1,TA,5,Typ,0,NA,Detchd,1996,Unf,2,672,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,2,2008,WD,Normal,145000 +1049,20,RL,100,21750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,4,1960,2006,Hip,CompShg,HdBoard,HdBoard,BrkFace,75,TA,Fa,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,1771,0,0,1771,0,0,1,0,3,1,TA,9,Min1,1,TA,Attchd,1960,Unf,2,336,TA,TA,Y,0,0,0,0,0,0,NA,GdPrv,NA,0,11,2009,WD,Normal,115000 +1050,20,RL,60,11100,Pave,NA,Reg,Low,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,7,1946,2006,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,NA,NA,NA,NA,0,NA,0,0,0,GasA,Ex,Y,SBrkr,930,0,0,930,0,0,1,0,2,1,Gd,6,Typ,0,NA,Detchd,1946,Unf,1,308,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Abnorml,84900 +1051,20,RL,73,8993,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,1Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1302,1302,GasA,Ex,Y,SBrkr,1302,0,0,1302,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2007,Fin,2,436,TA,TA,Y,0,22,0,0,0,0,NA,NA,NA,0,8,2007,New,Partial,176485 +1052,20,RL,103,11175,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1316,1316,GasA,Ex,Y,SBrkr,1316,0,0,1316,0,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2007,Fin,2,440,TA,TA,Y,0,20,0,0,0,0,NA,NA,NA,0,10,2007,New,Partial,200141 +1053,60,RL,100,9500,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Artery,Norm,1Fam,2Story,6,6,1964,1978,Gable,CompShg,VinylSd,VinylSd,BrkCmn,272,TA,TA,CBlock,TA,TA,No,Rec,442,Unf,0,374,816,GasA,TA,Y,SBrkr,1127,850,0,1977,0,1,1,1,4,1,TA,9,Typ,1,TA,Attchd,1964,RFn,2,540,TA,TA,Y,0,52,0,0,0,0,NA,GdPrv,NA,0,6,2007,WD,Normal,165000 +1054,20,RL,68,8562,Pave,NA,Reg,Lvl,AllPub,Inside,Mod,Edwards,Norm,Norm,1Fam,1Story,5,6,1957,2002,Hip,CompShg,HdBoard,HdBoard,Stone,145,TA,TA,CBlock,TA,TA,Av,Rec,383,Unf,0,833,1216,GasA,Ex,Y,FuseA,1526,0,0,1526,0,0,1,0,4,1,TA,7,Min2,1,Gd,Basment,1957,Unf,1,364,TA,TA,Y,116,78,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,144500 +1055,60,RL,90,11367,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,210,Gd,TA,PConc,Gd,TA,Mn,GLQ,932,Unf,0,133,1065,GasA,Ex,Y,SBrkr,1091,898,0,1989,1,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2002,Fin,2,586,TA,TA,Y,199,60,0,0,0,0,NA,NA,NA,0,11,2006,WD,Normal,255000 +1056,20,RL,104,11361,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,5,1976,1976,Gable,CompShg,Plywood,Plywood,BrkFace,160,TA,TA,CBlock,Gd,TA,No,ALQ,644,Unf,0,549,1193,GasA,TA,Y,SBrkr,1523,0,0,1523,0,1,2,0,3,1,TA,7,Typ,1,TA,Attchd,1976,Fin,2,478,TA,TA,Y,0,0,0,0,189,0,NA,MnPrv,NA,0,5,2008,COD,Abnorml,180000 +1057,120,RL,43,7052,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,Stone,240,Gd,TA,PConc,Gd,TA,Av,GLQ,659,Unf,0,705,1364,GasA,Ex,Y,SBrkr,1364,0,0,1364,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2005,RFn,2,484,TA,TA,Y,192,36,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,185850 +1058,60,RL,NA,29959,Pave,NA,IR2,Lvl,AllPub,FR2,Gtl,NoRidge,Norm,Norm,1Fam,2Story,7,6,1994,1994,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,595,Unf,0,378,973,GasA,Ex,Y,SBrkr,979,871,0,1850,0,0,2,1,3,1,Gd,7,Typ,1,Gd,BuiltIn,1994,Fin,2,467,TA,TA,Y,168,98,0,0,0,0,NA,NA,NA,0,1,2009,WD,Normal,248000 +1059,60,RL,96,11308,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,9,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,Stone,154,Ex,TA,PConc,Ex,TA,Av,GLQ,936,Unf,0,168,1104,GasA,Ex,Y,SBrkr,1130,1054,0,2184,1,0,2,1,3,1,Ex,10,Typ,1,Gd,Attchd,2008,Fin,3,836,TA,TA,Y,0,102,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,335000 +1060,50,RL,NA,11275,Pave,NA,IR1,HLS,AllPub,Corner,Mod,Crawfor,Norm,Norm,1Fam,1.5Fin,6,7,1932,1950,Gable,CompShg,MetalSd,MetalSd,BrkFace,480,TA,TA,CBlock,TA,TA,Mn,Rec,297,LwQ,557,0,854,GasA,TA,Y,SBrkr,1096,895,0,1991,0,0,1,1,3,1,TA,7,Typ,1,Gd,Detchd,1977,Unf,2,432,TA,Fa,Y,0,0,19,0,0,0,NA,NA,NA,0,3,2007,WD,Normal,220000 +1061,120,RL,41,4920,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,2001,2001,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Gd,TA,Mn,GLQ,616,Unf,0,722,1338,GasA,Ex,Y,SBrkr,1338,0,0,1338,1,0,2,0,2,1,Gd,6,Typ,0,NA,Attchd,2001,Fin,2,582,TA,TA,Y,0,0,170,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,213500 +1062,30,C (all),120,18000,Grvl,NA,Reg,Low,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,3,4,1935,1950,Gable,CompShg,MetalSd,MetalSd,None,0,Fa,TA,CBlock,TA,TA,No,Unf,0,Unf,0,894,894,GasA,TA,Y,SBrkr,894,0,0,894,0,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1994,RFn,3,1248,TA,TA,Y,0,20,0,0,0,0,NA,NA,Shed,560,8,2008,ConLD,Normal,81000 +1063,190,RM,85,13600,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,2fmCon,2Story,5,5,1900,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,662,662,GasA,TA,N,SBrkr,1422,915,0,2337,0,0,2,0,5,2,TA,10,Min2,0,NA,Detchd,1945,Unf,2,560,TA,TA,Y,0,57,0,0,0,0,NA,NA,NA,0,9,2007,WD,Normal,90000 +1064,30,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1Story,6,6,1925,1980,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,BrkTil,TA,TA,No,BLQ,397,Unf,0,706,1103,GasA,Gd,Y,SBrkr,1103,0,0,1103,0,0,1,0,2,1,Gd,5,Typ,1,Gd,Detchd,1976,Unf,2,440,TA,TA,Y,166,120,0,0,0,0,NA,MnPrv,NA,0,7,2006,WD,Normal,110500 +1065,20,RL,NA,11000,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1966,1966,Gable,CompShg,Plywood,Plywood,BrkFace,200,TA,TA,CBlock,TA,TA,Mn,BLQ,740,Rec,230,184,1154,GasA,Ex,Y,SBrkr,1154,0,0,1154,0,0,1,1,3,1,TA,6,Typ,1,Po,Attchd,1966,RFn,2,480,TA,TA,Y,0,58,0,0,0,0,NA,MnPrv,NA,0,11,2009,WD,Normal,154000 +1066,60,RL,80,14000,Pave,NA,Reg,Lvl,AllPub,Inside,Mod,ClearCr,Norm,Norm,1Fam,2Story,7,5,1996,1997,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,TA,PConc,Ex,TA,Gd,GLQ,1201,Unf,0,105,1306,GasA,Ex,Y,SBrkr,1306,954,0,2260,1,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,1996,RFn,2,533,TA,TA,Y,296,44,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,328000 +1067,60,RL,59,7837,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,7,1993,1994,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,799,799,GasA,Gd,Y,SBrkr,799,772,0,1571,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1993,RFn,2,380,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,178000 +1068,60,RL,80,9760,Pave,NA,Reg,Lvl,AllPub,Inside,Mod,NAmes,Norm,Norm,1Fam,2Story,6,6,1964,1964,Gable,CompShg,HdBoard,HdBoard,BrkFace,360,TA,TA,CBlock,TA,TA,Gd,GLQ,674,LwQ,106,0,780,GasA,TA,Y,SBrkr,798,813,0,1611,1,0,1,1,4,1,TA,7,Typ,0,NA,Attchd,1964,RFn,2,442,TA,TA,Y,328,128,0,0,189,0,NA,NA,NA,0,6,2008,WD,Normal,167900 +1069,160,RM,42,3964,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,2Story,6,4,1973,1973,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,837,Unf,0,105,942,GasA,Gd,Y,SBrkr,1291,1230,0,2521,1,0,2,1,5,1,TA,10,Maj1,1,Gd,Attchd,1973,Fin,2,576,TA,TA,Y,728,20,0,0,0,0,NA,GdPrv,NA,0,6,2006,WD,Normal,151400 +1070,45,RL,60,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1.5Unf,5,7,1949,2003,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,220,Unf,0,625,845,GasA,TA,Y,SBrkr,893,0,0,893,0,1,1,0,2,1,Gd,4,Typ,0,NA,Detchd,1985,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,135000 +1071,20,RL,72,10152,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1956,1956,Hip,CompShg,MetalSd,MetalSd,BrkFace,120,TA,TA,CBlock,TA,TA,No,BLQ,586,Unf,0,462,1048,GasA,TA,Y,SBrkr,1048,0,0,1048,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1956,Unf,1,286,TA,TA,Y,0,20,0,0,192,0,NA,NA,NA,0,6,2007,WD,Normal,135000 +1072,60,RL,78,11700,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,RRAn,Norm,1Fam,2Story,6,6,1968,1968,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,298,Unf,0,429,727,GasA,Ex,Y,SBrkr,829,727,0,1556,0,0,1,1,4,1,TA,8,Typ,0,NA,Attchd,1968,Unf,2,441,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,154000 +1073,50,RL,50,7585,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Artery,Norm,1Fam,1.5Fin,5,3,1948,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,Fa,Fa,Mn,Unf,0,Unf,0,810,810,GasA,Fa,Y,FuseA,1002,454,0,1456,1,1,1,0,4,1,TA,7,Typ,1,TA,Detchd,1954,Unf,1,280,TA,TA,P,0,0,0,0,0,0,NA,NA,NA,0,8,2006,WD,Normal,91500 +1074,60,RL,75,7950,Pave,NA,IR1,Bnk,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,2Story,6,6,1977,1977,Hip,CompShg,HdBoard,Plywood,BrkFace,140,TA,TA,CBlock,TA,TA,No,BLQ,535,Unf,0,155,690,GasA,TA,Y,SBrkr,698,728,0,1426,0,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1977,Fin,2,440,TA,TA,Y,252,0,0,0,0,0,NA,MnPrv,NA,0,7,2009,WD,Normal,159500 +1075,20,RL,74,8556,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1240,1240,GasA,Ex,Y,SBrkr,1240,0,0,1240,0,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,2006,RFn,3,826,TA,TA,Y,140,93,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,194000 +1076,70,RL,75,13125,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,7,6,1940,1984,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,410,Unf,0,390,800,GasA,TA,Y,SBrkr,960,780,0,1740,0,0,1,1,3,1,TA,6,Typ,2,Gd,Attchd,1940,Unf,1,240,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2007,CWD,Normal,219500 +1077,50,RL,60,10800,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,8,1936,1989,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,Fa,TA,No,ALQ,626,Unf,0,170,796,GasA,Gd,Y,SBrkr,1096,370,0,1466,0,1,2,0,3,1,Gd,7,Min1,1,TA,Attchd,1950,Unf,2,566,TA,TA,Y,436,21,0,0,0,0,NA,NA,Shed,500,4,2006,WD,Normal,170000 +1078,20,RL,NA,15870,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1969,1969,Gable,CompShg,VinylSd,Plywood,None,0,TA,TA,CBlock,TA,TA,Mn,BLQ,75,Rec,791,230,1096,GasA,Ex,Y,SBrkr,1096,0,0,1096,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1969,Fin,1,299,TA,TA,Y,240,32,0,0,0,0,NA,NA,NA,0,3,2006,WD,Abnorml,138800 +1079,120,RM,37,4435,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,TwnhsE,1Story,6,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,169,Gd,TA,PConc,Gd,TA,Mn,GLQ,662,Unf,0,186,848,GasA,Ex,Y,SBrkr,848,0,0,848,1,0,1,0,1,1,Gd,3,Typ,1,Gd,Attchd,2004,RFn,2,420,TA,TA,Y,140,0,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,155900 +1080,20,RL,65,8775,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,5,1994,1994,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,GLQ,495,Unf,0,495,990,GasA,Gd,Y,SBrkr,990,0,0,990,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1996,Unf,1,299,TA,TA,Y,0,64,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal,126000 +1081,20,RL,80,11040,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,7,1971,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,144,Gd,Gd,CBlock,TA,TA,No,ALQ,656,Unf,0,602,1258,GasA,Ex,Y,SBrkr,1258,0,0,1258,0,1,2,0,3,1,Gd,5,Typ,0,NA,Attchd,1971,RFn,2,528,TA,TA,Y,55,0,0,216,0,0,NA,NA,NA,0,10,2008,COD,Abnorml,145000 +1082,20,RL,75,7500,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,5,5,1963,1963,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,ALQ,824,Unf,0,216,1040,GasA,Fa,Y,SBrkr,1040,0,0,1040,1,0,1,1,3,1,TA,5,Typ,0,NA,Attchd,1963,Fin,1,308,TA,TA,Y,0,0,220,0,0,0,NA,MnPrv,NA,0,6,2010,WD,Normal,133000 +1083,20,RL,70,8749,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,100,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1459,1459,GasA,Ex,Y,SBrkr,1459,0,0,1459,0,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2002,RFn,2,527,TA,TA,Y,192,39,0,0,0,0,NA,NA,NA,0,9,2007,WD,Normal,192000 +1084,20,RL,80,8800,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1964,1964,Hip,CompShg,HdBoard,HdBoard,BrkFace,425,TA,TA,CBlock,TA,TA,No,BLQ,553,Unf,0,698,1251,GasA,TA,Y,SBrkr,1251,0,0,1251,1,0,1,0,3,1,TA,6,Typ,2,Gd,Attchd,1964,RFn,1,461,TA,TA,Y,0,116,0,0,0,0,NA,MnPrv,Shed,700,3,2006,WD,Normal,160000 +1085,60,RL,NA,13031,Pave,NA,IR2,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1995,1996,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,No,ALQ,592,Unf,0,99,691,GasA,Gd,Y,SBrkr,691,807,0,1498,0,0,2,1,3,1,TA,6,Typ,1,TA,Attchd,1995,Fin,2,409,TA,TA,Y,315,44,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,187500 +1086,85,RL,73,9069,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,SFoyer,6,6,1992,1992,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,Av,GLQ,747,Unf,0,189,936,GasA,Ex,Y,SBrkr,996,0,0,996,1,0,1,0,2,1,Gd,5,Typ,0,NA,Attchd,1992,Unf,2,564,TA,TA,Y,120,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,147000 +1087,160,RM,NA,1974,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,2Story,4,5,1973,1973,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,334,Unf,0,212,546,GasA,TA,Y,SBrkr,546,546,0,1092,0,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1973,RFn,1,286,TA,TA,Y,120,96,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,83500 +1088,60,FV,85,10574,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,8,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,1082,1082,GasA,Ex,Y,SBrkr,1082,871,0,1953,0,0,2,1,3,1,Gd,9,Typ,1,Gd,Attchd,2005,RFn,3,1043,TA,TA,Y,160,50,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,252000 +1089,160,RM,24,2522,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,Twnhs,2Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,Stone,50,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,970,970,GasA,Ex,Y,SBrkr,970,739,0,1709,0,0,2,0,3,1,Gd,7,Maj1,0,NA,Detchd,2004,Unf,2,380,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,137500 +1090,120,FV,37,3316,Pave,Pave,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,8,5,2005,2005,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,1039,Unf,0,208,1247,GasA,Ex,Y,SBrkr,1247,0,0,1247,1,0,1,1,1,1,Gd,4,Typ,1,Gd,Attchd,2005,Fin,2,550,TA,TA,Y,0,84,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,197000 +1091,90,RL,60,8544,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,Duplex,1Story,3,4,1950,1950,Gable,CompShg,BrkFace,BrkFace,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,Wall,Fa,N,FuseA,1040,0,0,1040,0,0,2,0,2,2,TA,6,Typ,0,NA,Detchd,1987,Unf,2,400,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,92900 +1092,160,FV,24,2160,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,2Story,7,5,1999,2000,Gable,CompShg,MetalSd,MetalSd,BrkFace,212,Gd,TA,PConc,Gd,TA,No,BLQ,510,Unf,0,90,600,GasA,Ex,Y,SBrkr,624,628,0,1252,1,0,2,1,2,1,Gd,4,Typ,0,NA,Detchd,1999,Unf,2,462,TA,TA,Y,0,48,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal,160000 +1093,50,RL,60,8400,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1.5Fin,6,5,1925,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,No,Rec,423,Unf,0,758,1181,GasA,Fa,Y,SBrkr,1390,304,0,1694,0,0,2,0,4,1,TA,7,Typ,1,Gd,Detchd,1925,Unf,2,576,TA,TA,Y,342,0,128,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,136500 +1094,20,RL,71,9230,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Feedr,Norm,1Fam,1Story,5,8,1965,1998,Hip,CompShg,MetalSd,MetalSd,BrkFace,166,TA,TA,CBlock,TA,TA,Mn,GLQ,661,Unf,0,203,864,GasA,Gd,Y,SBrkr,1200,0,0,1200,1,0,1,1,1,1,Gd,6,Typ,0,NA,Detchd,1977,Unf,2,884,TA,TA,Y,0,64,0,0,0,0,NA,MnPrv,NA,0,10,2006,WD,Normal,146000 +1095,20,RL,74,5868,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1956,2000,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,248,Rec,240,448,936,GasA,Ex,Y,SBrkr,936,0,0,936,1,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1956,Fin,1,308,TA,TA,Y,0,0,80,0,160,0,NA,NA,NA,0,5,2010,WD,Normal,129000 +1096,20,RL,78,9317,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,6,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,24,Unf,0,1290,1314,GasA,Gd,Y,SBrkr,1314,0,0,1314,0,0,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,2006,RFn,2,440,TA,TA,Y,0,22,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal,176432 +1097,70,RM,60,6882,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,2Story,6,7,1914,2006,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,684,684,GasA,TA,Y,SBrkr,773,582,0,1355,0,0,1,1,3,1,Gd,7,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,136,0,115,0,0,0,NA,NA,NA,0,3,2007,WD,Normal,127000 +1098,120,RL,NA,3696,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,1986,1986,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,1074,1074,GasA,Ex,Y,SBrkr,1088,0,0,1088,0,0,1,1,2,1,Gd,5,Typ,0,NA,Attchd,1987,RFn,2,461,TA,TA,Y,0,74,137,0,0,0,NA,NA,NA,0,10,2007,WD,Normal,170000 +1099,50,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,4,6,1936,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,BLQ,672,Unf,0,0,672,GasA,TA,Y,SBrkr,757,567,0,1324,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1936,Unf,1,240,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,128000 +1100,20,RL,82,11880,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,RRAn,Norm,1Fam,1Story,7,5,1978,1978,Gable,CompShg,Plywood,Plywood,BrkFace,206,TA,TA,CBlock,Gd,TA,No,ALQ,704,Unf,0,567,1271,GasA,TA,Y,SBrkr,1601,0,0,1601,0,0,2,0,3,1,TA,7,Typ,1,TA,Attchd,1978,RFn,2,478,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2009,COD,Abnorml,157000 +1101,30,RL,60,8400,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1Story,2,5,1920,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,Fa,No,Rec,290,Unf,0,0,290,GasA,TA,N,FuseF,438,0,0,438,0,0,1,0,1,1,Fa,3,Typ,0,NA,Detchd,1930,Unf,1,246,TA,TA,N,0,0,0,0,0,0,NA,NA,NA,0,1,2009,WD,Normal,60000 +1102,20,RL,61,9758,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1971,1971,Gable,CompShg,HdBoard,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,412,LwQ,287,251,950,GasA,TA,Y,SBrkr,950,0,0,950,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1981,Unf,1,280,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,119500 +1103,20,RL,70,7000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1960,2002,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,45,TA,TA,CBlock,TA,TA,No,Rec,588,Unf,0,422,1010,GasA,Ex,Y,SBrkr,1134,0,0,1134,0,0,1,0,2,1,TA,6,Typ,0,NA,Attchd,1960,RFn,1,254,TA,TA,Y,0,16,0,0,0,0,NA,MnWw,NA,0,4,2007,WD,Family,135000 +1104,20,RL,79,8910,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1959,1959,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,Mn,ALQ,655,Unf,0,0,655,GasA,Ex,Y,SBrkr,1194,0,0,1194,0,1,1,0,3,1,TA,6,Typ,1,Fa,BuiltIn,1954,Fin,2,539,TA,TA,Y,0,0,192,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,159500 +1105,160,RM,24,2016,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,TwnhsE,2Story,5,5,1970,1970,Gable,CompShg,HdBoard,HdBoard,BrkFace,304,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,630,630,GasA,TA,Y,SBrkr,630,672,0,1302,0,0,2,1,3,1,TA,6,Typ,0,NA,Detchd,1970,Unf,2,440,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal,106000 +1106,60,RL,98,12256,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1994,1995,Gable,CompShg,HdBoard,HdBoard,BrkFace,362,Gd,TA,PConc,Ex,TA,Av,GLQ,1032,Unf,0,431,1463,GasA,Ex,Y,SBrkr,1500,1122,0,2622,1,0,2,1,3,1,Gd,9,Typ,2,TA,Attchd,1994,RFn,2,712,TA,TA,Y,186,32,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,325000 +1107,20,RL,114,10357,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,SawyerW,Feedr,Norm,1Fam,1Story,7,5,1990,1991,Hip,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,Mn,GLQ,738,Unf,0,172,910,GasA,Gd,Y,SBrkr,1442,0,0,1442,1,0,2,0,3,1,Gd,6,Typ,1,TA,Attchd,1990,Fin,2,719,TA,TA,Y,0,244,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,179900 +1108,60,RL,168,23257,Pave,NA,IR3,HLS,AllPub,CulDSac,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,Gd,No,Unf,0,Unf,0,868,868,GasA,Ex,Y,SBrkr,887,1134,0,2021,0,0,2,1,3,1,Gd,9,Typ,1,Gd,BuiltIn,2006,RFn,2,422,TA,TA,Y,0,100,0,0,0,0,NA,NA,NA,0,9,2006,New,Partial,274725 +1109,60,RL,NA,8063,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,924,924,GasA,Ex,Y,SBrkr,948,742,0,1690,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,2000,RFn,2,463,TA,TA,Y,100,48,0,0,0,0,NA,NA,NA,0,11,2007,WD,Abnorml,181000 +1110,20,RL,107,11362,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2004,2005,Gable,CompShg,MetalSd,MetalSd,Stone,42,Gd,TA,PConc,Ex,TA,Mn,GLQ,1039,Unf,0,797,1836,GasA,Ex,Y,SBrkr,1836,0,0,1836,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2004,Fin,3,862,TA,TA,Y,125,185,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal,280000 +1111,60,RL,NA,8000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1995,1996,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,No,GLQ,219,Unf,0,554,773,GasA,Gd,Y,SBrkr,773,885,0,1658,1,0,2,1,3,1,TA,8,Typ,1,TA,Attchd,1995,Fin,2,431,TA,TA,Y,224,84,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,188000 +1112,60,RL,80,10480,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,7,6,1976,1976,Hip,CompShg,Plywood,Plywood,BrkFace,660,TA,TA,CBlock,TA,TA,No,ALQ,403,Unf,0,400,803,GasA,TA,Y,SBrkr,1098,866,0,1964,0,0,2,1,4,1,TA,8,Typ,1,Gd,Attchd,1976,RFn,2,483,TA,TA,Y,0,69,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal,205000 +1113,20,RL,73,7100,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1957,1957,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,CBlock,TA,TA,No,GLQ,708,Unf,0,108,816,GasA,TA,Y,FuseA,816,0,0,816,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1957,Unf,1,308,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,129900 +1114,20,RL,66,8923,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1953,2006,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,643,Unf,0,365,1008,GasA,Gd,Y,SBrkr,1008,0,0,1008,1,0,1,0,2,1,Gd,6,Typ,0,NA,Attchd,1953,Unf,1,240,TA,TA,Y,0,18,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,134500 +1115,20,RL,90,5400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,7,1954,2000,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,Rec,415,Unf,0,418,833,GasA,Ex,Y,SBrkr,833,0,0,833,0,0,1,0,2,1,Gd,4,Typ,0,NA,Detchd,1955,Unf,1,326,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,8,2006,WD,Normal,117000 +1116,20,RL,93,12085,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2007,2007,Hip,CompShg,VinylSd,VinylSd,Stone,328,Gd,TA,PConc,Ex,TA,No,GLQ,1004,Unf,0,730,1734,GasA,Ex,Y,SBrkr,1734,0,0,1734,1,0,2,0,3,1,Ex,7,Typ,1,Gd,Attchd,2007,RFn,3,928,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2007,New,Partial,318000 +1117,80,RL,NA,7750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,8,5,2002,2002,Hip,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,353,Unf,0,55,408,GasA,Ex,Y,SBrkr,779,640,0,1419,1,0,2,1,3,1,Gd,7,Typ,1,TA,BuiltIn,2002,Fin,2,527,TA,TA,Y,120,0,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal,184100 +1118,20,RL,57,9764,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,5,7,1967,2003,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,702,Unf,0,192,894,GasA,Ex,Y,SBrkr,894,0,0,894,1,0,1,0,3,1,Gd,5,Typ,0,NA,Attchd,1967,RFn,2,450,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,130000 +1119,80,RL,85,13825,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,SLvl,5,6,1958,1987,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,Unf,0,Unf,0,533,533,GasA,TA,Y,SBrkr,1021,580,0,1601,0,1,1,0,3,1,TA,6,Min2,0,NA,BuiltIn,1958,RFn,1,300,TA,TA,Y,280,34,0,0,0,0,NA,NA,NA,0,12,2008,WD,Normal,140000 +1120,20,RL,70,7560,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1959,1959,Gable,CompShg,BrkFace,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,LwQ,369,Unf,0,671,1040,GasA,TA,Y,FuseA,1040,0,0,1040,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1959,RFn,1,286,TA,TA,Y,140,0,252,0,0,0,NA,GdWo,NA,0,7,2006,WD,Normal,133700 +1121,30,RM,59,8263,Pave,NA,Reg,Bnk,AllPub,Inside,Mod,IDOTRR,Norm,Norm,1Fam,1Story,6,5,1920,1950,Gable,CompShg,BrkFace,BrkFace,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,1012,1012,GasA,TA,Y,FuseA,1012,0,0,1012,0,0,1,0,2,1,TA,6,Typ,1,Gd,Detchd,1920,Unf,1,308,TA,TA,Y,0,22,112,0,0,0,NA,MnPrv,NA,0,5,2007,WD,Normal,118400 +1122,20,RL,84,10084,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,196,Gd,TA,PConc,Gd,TA,Av,GLQ,24,Unf,0,1528,1552,GasA,Ex,Y,SBrkr,1552,0,0,1552,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2005,RFn,3,782,TA,TA,Y,144,20,0,0,0,0,NA,NA,NA,0,7,2006,New,Partial,212900 +1123,20,RL,NA,8926,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,3,1956,1956,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,672,672,GasA,Ex,Y,FuseA,960,0,0,960,0,0,1,0,3,1,TA,5,Typ,0,NA,Basment,1956,Unf,1,288,TA,TA,Y,64,0,0,0,160,0,NA,MnPrv,NA,0,10,2009,COD,Abnorml,112000 +1124,20,RL,50,9405,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,9,1947,2008,Hip,CompShg,VinylSd,VinylSd,None,0,TA,Ex,CBlock,TA,TA,No,Unf,0,Unf,0,698,698,GasA,Ex,Y,SBrkr,698,0,0,698,0,1,1,0,2,1,TA,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,200,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,118000 +1125,80,RL,NA,9125,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,7,5,1992,1992,Gable,CompShg,HdBoard,HdBoard,BrkFace,170,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,384,384,GasA,Gd,Y,SBrkr,812,670,0,1482,0,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1992,Fin,2,392,TA,TA,Y,100,25,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,163900 +1126,20,RL,60,10434,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,5,1955,1955,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1005,1005,GasA,TA,Y,SBrkr,1005,0,0,1005,0,0,1,0,2,1,Fa,5,Typ,1,TA,Detchd,1977,Unf,2,672,Fa,Fa,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2009,WD,Normal,115000 +1127,120,RL,53,3684,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2007,2007,Hip,CompShg,VinylSd,VinylSd,BrkFace,130,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1373,1373,GasA,Ex,Y,SBrkr,1555,0,0,1555,0,0,2,0,2,1,Gd,7,Typ,1,TA,Attchd,2007,Fin,3,660,TA,TA,Y,143,20,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,174000 +1128,20,RL,182,14572,Pave,NA,IR3,Lvl,AllPub,Corner,Gtl,Gilbert,Norm,Norm,1Fam,1Story,7,5,2004,2004,Hip,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,1300,Unf,0,230,1530,GasA,Ex,Y,SBrkr,1530,0,0,1530,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2004,Fin,3,630,TA,TA,Y,144,36,0,0,0,0,NA,NA,NA,0,11,2007,WD,Family,259000 +1129,60,RL,59,11796,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,847,847,GasA,Ex,Y,SBrkr,847,1112,0,1959,0,0,2,1,4,1,Gd,8,Typ,1,Gd,BuiltIn,2004,Fin,2,434,TA,TA,Y,100,48,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,215000 +1130,90,RM,60,7200,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,Duplex,SFoyer,5,5,1980,1980,Gable,CompShg,MetalSd,MetalSd,BrkFace,180,TA,TA,CBlock,Gd,TA,Gd,GLQ,936,Unf,0,0,936,GasA,TA,Y,SBrkr,936,0,0,936,1,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1980,Unf,2,672,TA,TA,Y,49,0,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,140000 +1131,50,RL,65,7804,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1.5Fin,4,3,1928,1950,Gable,CompShg,WdShing,Plywood,None,0,TA,TA,BrkTil,TA,TA,No,BLQ,622,Unf,0,500,1122,GasA,TA,Y,SBrkr,1328,653,0,1981,1,0,2,0,4,1,Gd,7,Min2,2,TA,Detchd,1981,Unf,2,576,TA,TA,Y,431,44,0,0,0,0,NA,MnPrv,NA,0,12,2009,WD,Normal,135000 +1132,20,RL,63,10712,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,5,1991,1992,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,Mn,BLQ,212,Unf,0,762,974,GasA,TA,Y,SBrkr,974,0,0,974,0,0,1,0,3,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,28,0,0,0,0,NA,MnPrv,NA,0,9,2007,Oth,Abnorml,93500 +1133,70,RM,90,9900,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,6,4,1880,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,Mn,Unf,0,Unf,0,1008,1008,GasW,TA,Y,SBrkr,1178,1032,0,2210,0,0,2,0,5,1,Fa,8,Typ,0,NA,Detchd,1930,Unf,1,205,Fa,TA,N,0,48,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,117500 +1134,60,RL,80,9828,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,8,5,1995,1995,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,584,Unf,0,544,1128,GasA,Ex,Y,SBrkr,1142,878,0,2020,0,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1995,RFn,2,466,TA,TA,Y,0,155,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,239500 +1135,60,RL,57,8773,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1997,1997,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,916,916,GasA,Gd,Y,SBrkr,916,684,0,1600,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1997,Fin,2,460,TA,TA,Y,100,38,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,169000 +1136,30,RM,60,6180,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,BrkSide,Norm,Norm,1Fam,1Story,6,5,1926,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,960,960,GasA,TA,N,SBrkr,986,0,0,986,0,0,1,0,2,1,TA,5,Typ,1,Gd,Detchd,1926,Unf,1,180,TA,TA,Y,0,128,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,102000 +1137,50,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1.5Fin,6,5,1950,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,280,Unf,0,752,1032,GasA,TA,Y,FuseA,1032,220,0,1252,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1950,Unf,1,288,TA,TA,Y,0,0,96,0,0,0,NA,NA,NA,0,4,2008,WD,Abnorml,119000 +1138,50,RL,54,6342,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Feedr,Norm,1Fam,1.5Fin,5,8,1875,1996,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,TA,No,Unf,0,Unf,0,780,780,GasA,Gd,N,SBrkr,780,240,0,1020,0,0,1,0,2,1,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,176,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,94000 +1139,20,RL,NA,9819,Pave,NA,IR1,Lvl,AllPub,Inside,Mod,Mitchel,Norm,Norm,1Fam,1Story,6,5,1977,1977,Gable,CompShg,Plywood,ImStucc,None,0,TA,TA,PConc,TA,TA,Gd,ALQ,1567,Unf,0,0,1567,GasA,TA,Y,SBrkr,1567,0,0,1567,1,0,2,0,2,1,Gd,5,Typ,2,TA,Attchd,1977,RFn,2,714,TA,TA,Y,264,32,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,196000 +1140,30,RL,98,8731,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,5,5,1920,1950,Gable,CompShg,Stucco,Stucco,None,0,TA,Fa,BrkTil,TA,TA,No,BLQ,645,Unf,0,270,915,GasA,TA,Y,SBrkr,1167,0,0,1167,0,0,1,0,3,1,TA,6,Maj1,1,Gd,Detchd,1972,Unf,2,495,TA,TA,Y,0,0,216,0,126,0,NA,NA,NA,0,5,2007,WD,Normal,144000 +1141,20,RL,60,7350,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1951,1951,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,Mn,ALQ,852,Unf,0,100,952,GasA,TA,Y,SBrkr,952,0,0,952,1,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1988,Unf,2,840,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2008,COD,Abnorml,139000 +1142,60,RL,NA,10304,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NWAmes,PosN,Norm,1Fam,2Story,5,7,1976,1976,Gable,CompShg,Plywood,Plywood,BrkFace,44,TA,Gd,CBlock,TA,TA,No,ALQ,381,Unf,0,399,780,GasA,Ex,Y,SBrkr,1088,780,0,1868,1,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1976,Unf,2,484,TA,TA,Y,448,96,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal,197500 +1143,60,RL,77,9965,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,2006,2007,Hip,CompShg,VinylSd,VinylSd,Stone,340,Gd,TA,PConc,Ex,TA,Gd,GLQ,1150,Unf,0,316,1466,GasA,Ex,Y,SBrkr,1466,1362,0,2828,1,0,3,0,4,1,Gd,11,Typ,1,TA,BuiltIn,2006,RFn,3,1052,TA,TA,Y,125,144,0,0,0,0,NA,NA,NA,0,4,2007,New,Partial,424870 +1144,20,RL,NA,9000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,3,1959,1959,Gable,CompShg,Wd Sdng,Plywood,None,0,TA,TA,CBlock,TA,TA,No,GLQ,288,Unf,0,718,1006,GasA,TA,Y,SBrkr,1006,0,0,1006,0,0,1,0,3,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,24,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,80000 +1145,190,RL,60,12180,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,2fmCon,1.5Fin,4,4,1941,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Fa,BrkTil,Gd,TA,No,BLQ,348,Unf,0,324,672,Grav,Fa,N,FuseA,672,252,0,924,1,0,1,0,2,1,Fa,5,Typ,0,NA,Detchd,1941,Unf,1,280,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,7,2010,WD,Normal,80000 +1146,50,RM,52,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,6,1928,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,1042,1042,GasA,Ex,Y,SBrkr,1042,534,0,1576,0,0,1,0,3,1,TA,8,Typ,1,Gd,Detchd,1928,Unf,1,225,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2006,WD,Family,149000 +1147,20,RL,NA,11200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,6,5,1985,1985,Gable,CompShg,Wd Sdng,Wd Shng,BrkFace,85,Gd,TA,CBlock,Gd,TA,No,GLQ,1258,Unf,0,40,1298,GasA,TA,Y,SBrkr,1298,0,0,1298,1,0,2,0,3,1,Gd,5,Typ,1,TA,Attchd,1985,Unf,2,403,TA,TA,Y,165,26,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,180000 +1148,70,RL,75,12000,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,7,7,1941,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,275,Unf,0,429,704,GasA,Ex,Y,SBrkr,860,704,0,1564,0,0,1,1,3,1,Fa,7,Typ,1,Gd,Attchd,1941,Unf,1,234,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,174500 +1149,50,RM,NA,5700,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,7,7,1926,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,572,572,GasA,TA,Y,SBrkr,572,539,0,1111,0,0,1,0,2,1,TA,5,Typ,1,Gd,Detchd,1982,Unf,1,288,TA,TA,Y,0,0,176,0,0,0,NA,NA,NA,0,8,2008,WD,Normal,116900 +1150,70,RM,50,9000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,2Story,7,9,1920,1988,Hip,CompShg,VinylSd,VinylSd,None,0,TA,Gd,PConc,TA,TA,No,ALQ,624,Unf,0,26,650,GasA,Ex,Y,SBrkr,832,650,0,1482,0,1,1,0,3,1,TA,7,Typ,0,NA,Detchd,1930,Unf,2,324,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,143000 +1151,20,RL,57,8280,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,5,1950,1950,Gable,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,932,932,GasA,Ex,Y,FuseA,932,0,0,932,0,0,1,0,2,1,Gd,4,Typ,1,Gd,Attchd,1950,Unf,1,306,TA,TA,Y,0,0,214,0,0,0,NA,GdPrv,NA,0,11,2007,WD,Normal,124000 +1152,20,RL,134,17755,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,4,1959,1959,Gable,CompShg,HdBoard,Plywood,BrkFace,132,TA,TA,CBlock,TA,TA,No,BLQ,176,Unf,0,1290,1466,GasA,TA,Y,SBrkr,1466,0,0,1466,0,0,1,1,3,1,Fa,6,Typ,2,Gd,Attchd,1959,Fin,2,528,TA,TA,Y,0,140,0,0,100,0,NA,NA,NA,0,11,2006,WD,Normal,149900 +1153,20,RL,90,14115,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,6,7,1956,2004,Gable,CompShg,Stone,Stone,None,0,TA,TA,PConc,TA,TA,No,ALQ,296,GLQ,547,230,1073,GasA,Ex,Y,SBrkr,1811,0,0,1811,0,0,1,0,2,1,Ex,6,Typ,1,Gd,Attchd,1956,Fin,2,470,TA,TA,Y,0,0,280,0,0,0,NA,NA,NA,0,7,2006,WD,Abnorml,230000 +1154,30,RM,NA,5890,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,6,8,1930,2007,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,Gd,BrkTil,TA,TA,Av,ALQ,538,Unf,0,278,816,GasA,Ex,Y,SBrkr,816,0,0,816,0,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,2002,Unf,1,432,TA,TA,Y,0,0,96,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,120500 +1155,60,RL,NA,13700,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,2Story,7,6,1965,1988,Gable,CompShg,VinylSd,VinylSd,Stone,288,TA,TA,CBlock,TA,TA,Gd,ALQ,454,Unf,0,410,864,GasA,TA,Y,SBrkr,902,918,0,1820,0,0,1,2,4,1,Gd,8,Typ,2,Gd,Attchd,1965,Unf,2,492,TA,TA,Y,60,84,0,0,273,0,NA,GdPrv,NA,0,5,2008,WD,Normal,201800 +1156,20,RL,90,10768,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Veenker,Norm,Norm,1Fam,1Story,5,8,1976,2004,Gable,CompShg,Plywood,Plywood,None,0,Gd,Gd,CBlock,Gd,TA,Gd,ALQ,1157,Unf,0,280,1437,GasA,TA,Y,SBrkr,1437,0,0,1437,1,0,2,0,3,1,Gd,6,Typ,1,Fa,Attchd,1976,RFn,2,528,TA,TA,Y,0,21,0,0,180,0,NA,NA,NA,0,7,2007,WD,Normal,218000 +1157,80,RL,85,9350,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,5,8,1965,1999,Gable,CompShg,BrkFace,BrkFace,None,0,TA,Gd,PConc,TA,TA,Gd,ALQ,633,Unf,0,586,1219,GasA,Gd,Y,SBrkr,1265,0,0,1265,0,1,2,0,3,1,Gd,6,Typ,1,Gd,Attchd,1965,RFn,2,502,TA,TA,Y,0,92,0,96,0,0,NA,MnPrv,NA,0,10,2008,WD,Normal,179900 +1158,120,RL,34,5001,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,Twnhs,1Story,7,5,2007,2008,Gable,CompShg,VinylSd,VinylSd,Stone,166,Gd,TA,PConc,Gd,TA,No,GLQ,904,Unf,0,410,1314,GasA,Ex,Y,SBrkr,1314,0,0,1314,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2008,RFn,2,626,TA,TA,Y,172,62,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,230000 +1159,20,RL,92,11932,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Somerst,Feedr,Norm,1Fam,1Story,8,5,2007,2008,Gable,CompShg,VinylSd,VinylSd,Stone,186,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1580,1580,GasA,Ex,Y,SBrkr,1580,0,0,1580,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2008,RFn,3,830,TA,TA,Y,0,24,0,0,0,0,NA,NA,NA,0,6,2008,ConLD,Partial,235128 +1160,60,RL,76,9120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,6,6,1974,1974,Hip,CompShg,HdBoard,HdBoard,BrkFace,270,Gd,TA,CBlock,TA,TA,No,ALQ,442,Unf,0,459,901,GasA,TA,Y,SBrkr,943,933,0,1876,0,0,2,1,4,1,Gd,8,Typ,1,TA,Attchd,1974,RFn,2,540,Gd,TA,Y,0,69,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,185000 +1161,160,RL,24,2280,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NPkVill,Norm,Norm,Twnhs,2Story,6,5,1978,1978,Gable,CompShg,Plywood,Brk Cmn,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,311,Unf,0,544,855,GasA,Fa,Y,SBrkr,855,601,0,1456,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1978,Unf,2,440,TA,TA,Y,26,0,0,0,0,0,NA,NA,NA,0,7,2010,WD,Normal,146000 +1162,20,RL,NA,14778,Pave,NA,IR1,Low,AllPub,CulDSac,Gtl,Crawfor,PosN,Norm,1Fam,1Story,6,7,1954,2006,Hip,CompShg,HdBoard,HdBoard,BrkFace,72,Gd,TA,CBlock,TA,TA,No,BLQ,728,Unf,0,568,1296,GasA,Ex,Y,SBrkr,1640,0,0,1640,1,0,1,0,3,1,Gd,7,Typ,1,Gd,Detchd,1993,Unf,2,924,TA,TA,Y,108,0,0,216,0,0,NA,NA,NA,0,11,2008,WD,Normal,224000 +1163,20,RL,109,8724,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1968,1968,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,Gd,TA,No,BLQ,492,Unf,0,402,894,GasA,Gd,Y,SBrkr,894,0,0,894,0,0,1,0,3,1,TA,5,Typ,1,Po,Attchd,1968,Fin,2,450,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,129000 +1164,90,RL,60,12900,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Feedr,Norm,Duplex,SFoyer,4,4,1969,1969,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,Av,GLQ,1198,Unf,0,0,1198,GasA,TA,Y,SBrkr,1258,0,0,1258,2,0,0,2,0,2,TA,6,Typ,0,NA,CarPort,1969,Unf,2,400,Fa,TA,Y,120,0,0,0,0,0,NA,NA,NA,0,1,2008,WD,Alloca,108959 +1165,80,RL,NA,16157,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,Veenker,Feedr,Norm,1Fam,SLvl,5,7,1978,1978,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,PConc,Gd,TA,Gd,ALQ,680,Rec,391,289,1360,GasA,Ex,Y,SBrkr,1432,0,0,1432,1,0,1,1,2,1,Gd,5,Typ,1,TA,Attchd,1978,Unf,2,588,TA,TA,Y,168,180,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,194000 +1166,20,RL,79,9541,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,7,5,2009,2009,Gable,CompShg,VinylSd,VinylSd,Stone,268,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1502,1502,GasA,Ex,Y,SBrkr,1502,0,0,1502,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2009,RFn,2,644,TA,TA,Y,0,114,0,0,0,0,NA,NA,NA,0,9,2009,New,Partial,233170 +1167,20,RL,64,10475,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,Stone,72,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1694,1694,GasA,Ex,Y,SBrkr,1694,0,0,1694,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2008,RFn,3,776,TA,TA,Y,160,33,0,0,0,0,NA,NA,NA,0,2,2010,WD,Normal,245350 +1168,60,RL,58,10852,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,RRAn,Norm,1Fam,2Story,6,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,GLQ,786,Unf,0,173,959,GasA,Ex,Y,SBrkr,959,712,0,1671,1,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,2000,Fin,2,472,TA,TA,Y,0,38,0,0,0,0,NA,NA,NA,0,2,2006,WD,Normal,173000 +1169,70,RL,120,13728,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,2Story,6,7,1935,1986,Hip,CompShg,Stucco,Stucco,None,0,TA,TA,CBlock,TA,TA,No,Rec,626,Unf,0,501,1127,GasA,Ex,Y,SBrkr,1236,872,0,2108,0,0,2,0,4,1,Gd,7,Typ,2,TA,Basment,1935,Unf,2,540,TA,TA,Y,0,0,0,0,90,0,NA,NA,NA,0,7,2008,WD,Normal,235000 +1170,60,RL,118,35760,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NoRidge,Norm,Norm,1Fam,2Story,10,5,1995,1996,Hip,CompShg,HdBoard,HdBoard,BrkFace,1378,Gd,Gd,PConc,Ex,TA,Gd,GLQ,1387,Unf,0,543,1930,GasA,Ex,Y,SBrkr,1831,1796,0,3627,1,0,3,1,4,1,Gd,10,Typ,1,TA,Attchd,1995,Fin,3,807,TA,TA,Y,361,76,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,625000 +1171,80,RL,76,9880,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,SLvl,6,6,1977,1977,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,Av,ALQ,522,Unf,0,574,1096,GasA,TA,Y,SBrkr,1118,0,0,1118,1,0,1,0,3,1,TA,6,Typ,1,Po,Attchd,1977,Fin,1,358,TA,TA,Y,203,0,0,0,0,576,Gd,GdPrv,NA,0,7,2008,WD,Normal,171000 +1172,20,RL,76,9120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1958,1958,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,ALQ,662,Unf,0,599,1261,GasA,Ex,Y,SBrkr,1261,0,0,1261,1,0,1,0,3,1,TA,6,Typ,1,TA,Attchd,1958,RFn,2,433,TA,TA,Y,0,0,0,0,288,0,NA,NA,Shed,1400,11,2008,WD,Normal,163000 +1173,160,FV,35,4017,Pave,Pave,IR1,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,7,5,2006,2007,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,625,625,GasA,Ex,Y,SBrkr,625,625,0,1250,0,0,2,1,2,1,Gd,5,Typ,0,NA,Detchd,2006,Fin,2,625,TA,TA,Y,0,54,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal,171900 +1174,50,RL,138,18030,Pave,NA,IR1,Bnk,AllPub,Inside,Gtl,ClearCr,Norm,Norm,1Fam,1.5Fin,5,6,1946,1994,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,152,BLQ,469,977,1598,GasA,TA,Y,SBrkr,1636,971,479,3086,0,0,3,0,3,1,Ex,12,Maj1,1,Gd,NA,NA,NA,0,0,NA,NA,Y,122,0,0,0,0,0,NA,MnPrv,NA,0,3,2007,WD,Normal,200500 +1175,70,RL,80,16560,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,6,8,1932,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Gd,TA,No,Rec,503,Unf,0,449,952,GasA,TA,Y,SBrkr,1170,1175,0,2345,0,0,2,1,4,1,TA,9,Typ,1,Gd,Detchd,1932,Unf,2,360,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,239000 +1176,50,RL,85,10678,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,1.5Fin,8,5,1992,2000,Hip,CompShg,HdBoard,HdBoard,BrkFace,337,Gd,TA,PConc,Gd,TA,No,GLQ,700,Unf,0,983,1683,GasA,Ex,Y,SBrkr,2129,743,0,2872,0,0,2,1,4,1,Gd,9,Typ,1,TA,Attchd,1992,Fin,2,541,TA,TA,Y,0,33,0,0,0,0,NA,NA,NA,0,4,2007,WD,Normal,285000 +1177,20,RL,37,6951,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,5,1984,1985,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,658,Unf,0,218,876,GasA,TA,Y,SBrkr,923,0,0,923,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1984,Unf,1,264,TA,TA,Y,362,0,0,0,0,0,NA,MnPrv,NA,0,10,2008,WD,Normal,119500 +1178,50,RM,NA,3950,Pave,Grvl,Reg,Bnk,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1.5Fin,6,8,1926,2004,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,468,Unf,0,350,818,GasA,TA,Y,SBrkr,818,406,0,1224,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1926,Unf,1,210,TA,TA,N,0,0,116,0,0,0,NA,NA,NA,0,12,2009,WD,Normal,115000 +1179,50,RL,54,7681,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,Crawfor,Norm,Norm,1Fam,1.5Fin,5,6,1921,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,731,731,GasA,Ex,Y,SBrkr,820,523,0,1343,0,0,1,1,3,1,TA,7,Typ,1,Gd,Detchd,1921,Unf,1,186,Fa,TA,Y,192,0,102,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,154900 +1180,20,RL,77,8335,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,5,1954,1954,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,Gd,Y,SBrkr,1124,0,0,1124,0,0,1,0,3,1,TA,5,Min2,1,Gd,NA,NA,NA,0,0,NA,NA,N,0,36,190,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,93000 +1181,60,RL,NA,11170,Pave,NA,IR2,Lvl,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,2Story,7,5,1990,1991,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,Wood,Gd,TA,No,LwQ,1216,Unf,0,0,1216,GasA,Ex,Y,SBrkr,1298,1216,0,2514,0,0,2,1,4,1,TA,8,Typ,0,NA,Attchd,1990,Fin,2,693,TA,TA,Y,0,0,0,0,0,0,NA,GdPrv,NA,0,4,2006,WD,Normal,250000 +1182,120,RM,64,5587,Pave,NA,IR1,HLS,AllPub,Inside,Mod,Crawfor,Norm,Norm,TwnhsE,1Story,8,5,2008,2008,Hip,CompShg,CemntBd,CmentBd,Stone,186,Ex,TA,PConc,Ex,TA,Gd,GLQ,1480,Unf,0,120,1600,GasA,Ex,Y,SBrkr,1652,0,0,1652,1,1,2,0,2,1,Gd,5,Typ,1,Gd,Attchd,2008,Fin,2,482,TA,TA,Y,162,53,0,153,0,0,NA,NA,NA,0,11,2008,New,Partial,392500 +1183,60,RL,160,15623,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NoRidge,Norm,Norm,1Fam,2Story,10,5,1996,1996,Hip,CompShg,Wd Sdng,ImStucc,None,0,Gd,TA,PConc,Ex,TA,Av,GLQ,2096,Unf,0,300,2396,GasA,Ex,Y,SBrkr,2411,2065,0,4476,1,0,3,1,4,1,Ex,10,Typ,2,TA,Attchd,1996,Fin,3,813,TA,TA,Y,171,78,0,0,0,555,Ex,MnPrv,NA,0,7,2007,WD,Abnorml,745000 +1184,30,RL,60,10800,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,6,1920,1950,Hip,CompShg,Stucco,Stucco,None,0,TA,TA,BrkTil,TA,TA,No,Rec,821,Unf,0,299,1120,GasA,Ex,Y,SBrkr,1130,0,0,1130,1,0,1,0,2,1,TA,5,Typ,1,Gd,Detchd,1970,Unf,2,720,TA,TA,Y,229,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,120000 +1185,20,RL,50,35133,Grvl,NA,Reg,Lvl,AllPub,Inside,Mod,Timber,Norm,Norm,1Fam,1Story,5,4,1963,1963,Hip,CompShg,MetalSd,MetalSd,BrkFace,226,TA,TA,CBlock,TA,TA,Gd,Rec,1159,Unf,0,413,1572,GasA,Gd,Y,SBrkr,1572,0,0,1572,1,0,1,1,3,1,TA,5,Typ,2,TA,2Types,1963,RFn,3,995,TA,TA,Y,0,263,0,0,263,0,NA,NA,NA,0,5,2007,WD,Normal,186700 +1186,50,RL,60,9738,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,5,7,1924,1950,Gable,CompShg,AsbShng,AsbShng,None,0,TA,Gd,BrkTil,TA,TA,No,BLQ,392,Unf,0,392,784,GasA,Gd,Y,SBrkr,949,272,0,1221,1,0,1,0,4,1,TA,7,Typ,0,NA,Attchd,1965,Unf,1,392,TA,TA,Y,0,0,236,0,0,0,NA,NA,NA,0,3,2006,WD,Normal,104900 +1187,190,RL,107,10615,Pave,NA,IR1,Bnk,AllPub,Corner,Mod,OldTown,Artery,Artery,2fmCon,2Story,3,5,1900,1970,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Fa,TA,Mn,BLQ,440,Unf,0,538,978,GasA,TA,Y,SBrkr,1014,685,0,1699,1,0,2,0,3,2,TA,7,Typ,0,NA,CarPort,1920,Unf,2,420,Fa,Fa,Y,0,74,0,0,0,0,NA,NA,NA,0,8,2009,WD,Abnorml,95000 +1188,20,RL,89,12461,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NoRidge,Norm,Norm,1Fam,1Story,8,5,1994,1995,Gable,CompShg,ImStucc,ImStucc,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,1456,Unf,0,168,1624,GasA,Ex,Y,SBrkr,1624,0,0,1624,1,0,2,0,2,1,Gd,5,Typ,1,Fa,Attchd,1994,RFn,3,757,TA,TA,Y,0,114,192,0,0,0,NA,GdPrv,NA,0,7,2006,WD,Normal,262000 +1189,60,RL,68,8935,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,95,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,831,831,GasA,Ex,Y,SBrkr,831,829,0,1660,0,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2002,RFn,2,493,TA,TA,Y,144,68,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,195000 +1190,60,RL,60,7500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,994,994,GasA,Gd,Y,SBrkr,1028,776,0,1804,0,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1999,Fin,2,442,TA,TA,Y,140,60,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,189000 +1191,190,RL,NA,32463,Pave,NA,Reg,Low,AllPub,Inside,Mod,Mitchel,Norm,Norm,2fmCon,1Story,4,4,1961,1975,Gable,CompShg,MetalSd,MetalSd,Stone,149,TA,Gd,CBlock,TA,TA,Av,BLQ,1159,Unf,0,90,1249,GasA,Ex,Y,SBrkr,1622,0,0,1622,1,0,1,0,3,1,TA,7,Typ,1,TA,2Types,1975,Fin,4,1356,TA,TA,Y,439,0,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal,168000 +1192,160,FV,24,2645,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,2Story,8,5,1999,2000,Gable,CompShg,MetalSd,MetalSd,BrkFace,456,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,776,776,GasA,Ex,Y,SBrkr,764,677,0,1441,0,0,2,1,2,1,Gd,5,Typ,0,NA,Detchd,1999,Unf,2,492,TA,TA,Y,206,0,0,0,0,0,NA,NA,NA,0,11,2007,WD,Normal,174000 +1193,50,RM,60,9600,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,5,8,1925,1994,Gambrel,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,TA,TA,Mn,Unf,0,Unf,0,702,702,GasA,Gd,Y,SBrkr,842,630,0,1472,0,0,1,0,3,1,Gd,6,Typ,0,NA,Detchd,1925,Unf,1,250,TA,Fa,P,0,0,84,0,0,0,NA,GdWo,NA,0,7,2007,WD,Normal,125000 +1194,120,RM,NA,4500,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,Mitchel,Norm,Norm,TwnhsE,1Story,6,5,1999,1999,Hip,CompShg,VinylSd,VinylSd,BrkFace,425,TA,TA,PConc,Ex,TA,No,GLQ,883,Unf,0,341,1224,GasA,Ex,Y,SBrkr,1224,0,0,1224,1,0,2,0,2,1,TA,5,Typ,0,NA,Attchd,1999,Fin,2,402,TA,TA,Y,0,304,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,165000 +1195,60,RL,80,9364,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Sawyer,Norm,Norm,1Fam,2Story,6,7,1969,1969,Gable,CompShg,HdBoard,HdBoard,Stone,143,TA,TA,CBlock,TA,TA,No,ALQ,371,Unf,0,292,663,GasA,TA,Y,SBrkr,663,689,0,1352,0,0,1,1,4,1,TA,7,Typ,0,NA,Attchd,1969,Fin,1,299,TA,TA,Y,379,36,0,0,0,0,NA,MnPrv,NA,0,3,2010,WD,Normal,158000 +1196,60,RL,51,8029,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,728,728,GasA,Ex,Y,SBrkr,728,728,0,1456,0,0,2,1,3,1,Gd,8,Typ,0,NA,Attchd,2005,Fin,2,400,TA,TA,Y,100,24,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,176000 +1197,60,RL,58,14054,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,879,879,GasA,Ex,Y,SBrkr,879,984,0,1863,0,0,2,1,4,1,Gd,9,Typ,1,Gd,BuiltIn,2006,Fin,3,660,TA,TA,Y,100,17,0,0,0,0,NA,NA,NA,0,11,2006,New,Partial,219210 +1198,75,RM,65,8850,Pave,NA,IR1,Bnk,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,2.5Unf,7,6,1916,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,815,815,GasA,Ex,Y,SBrkr,815,875,0,1690,0,0,1,0,3,1,TA,7,Typ,1,Gd,Detchd,1916,Unf,1,225,TA,TA,Y,0,0,330,0,0,0,NA,NA,NA,0,7,2006,ConLw,Normal,144000 +1199,20,RL,70,9100,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1212,1212,GasA,Ex,Y,SBrkr,1212,0,0,1212,0,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2001,RFn,2,573,TA,TA,Y,356,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,178000 +1200,20,RL,75,11235,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,4,5,1963,1979,Gable,CompShg,HdBoard,HdBoard,BrkFace,51,TA,TA,CBlock,TA,TA,No,Rec,547,Unf,0,504,1051,GasA,Gd,Y,SBrkr,1382,0,0,1382,0,0,1,1,3,1,TA,6,Typ,1,Po,Attchd,1974,Unf,2,459,TA,TA,Y,0,82,0,0,0,0,NA,NA,NA,0,10,2006,WD,Normal,148000 +1201,20,RL,71,9353,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,5,1970,1970,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,864,864,GasA,Gd,Y,SBrkr,864,0,0,864,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1972,Unf,1,280,TA,TA,Y,0,0,0,0,0,0,NA,NA,Shed,0,7,2006,Oth,Abnorml,116050 +1202,60,RL,80,10400,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,866,866,GasA,Ex,Y,SBrkr,866,913,0,1779,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,1998,RFn,2,546,TA,TA,Y,198,36,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal,197900 +1203,50,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,5,8,1925,1997,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,884,884,GasA,Ex,Y,SBrkr,884,464,0,1348,1,0,1,0,3,1,TA,5,Typ,1,Fa,Detchd,1960,Unf,1,216,TA,TA,N,0,0,208,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,117000 +1204,20,RL,75,9750,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2000,2001,Gable,CompShg,VinylSd,VinylSd,BrkFace,171,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1630,1630,GasA,Ex,Y,SBrkr,1630,0,0,1630,0,0,2,0,3,1,Gd,6,Typ,1,TA,Attchd,2000,Unf,2,451,TA,TA,Y,74,234,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal,213000 +1205,20,RL,78,10140,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,5,6,1975,1975,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,788,Unf,0,268,1056,GasA,Ex,Y,SBrkr,1074,0,0,1074,1,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1975,RFn,2,495,TA,TA,Y,0,88,0,0,0,0,NA,MnPrv,NA,0,7,2006,WD,Normal,153500 +1206,20,RL,90,14684,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,SawyerW,Norm,Norm,1Fam,1Story,7,7,1990,1991,Hip,CompShg,HdBoard,HdBoard,BrkFace,234,Gd,TA,CBlock,Gd,TA,Mn,ALQ,485,BLQ,177,1496,2158,GasA,Gd,Y,SBrkr,2196,0,0,2196,0,0,2,0,3,1,Gd,7,Typ,1,TA,Attchd,1990,RFn,3,701,TA,TA,Y,84,70,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,271900 +1207,20,RH,NA,8900,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,4,4,1966,1966,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,Rec,1056,Unf,0,0,1056,GasA,TA,Y,SBrkr,1056,0,0,1056,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1966,Unf,1,384,TA,TA,Y,0,42,0,0,0,0,NA,MnPrv,NA,0,11,2006,WD,Normal,107000 +1208,20,RL,70,9135,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,6,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,120,Gd,TA,PConc,Gd,TA,Av,GLQ,340,Unf,0,1342,1682,GasA,Ex,Y,SBrkr,1700,0,0,1700,1,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2003,RFn,2,544,TA,TA,Y,192,23,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,200000 +1209,20,RL,70,7763,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1962,1980,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,Rec,504,BLQ,108,319,931,GasA,TA,Y,SBrkr,1283,0,0,1283,1,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1980,Unf,2,506,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,10,2008,WD,Normal,140000 +1210,20,RL,85,10182,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Somerst,RRNn,Norm,1Fam,1Story,8,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,Stone,420,Gd,TA,PConc,Ex,TA,Mn,GLQ,1220,Unf,0,440,1660,GasA,Ex,Y,SBrkr,1660,0,0,1660,1,0,2,0,3,1,Gd,8,Typ,1,Gd,Attchd,2006,RFn,2,500,TA,TA,Y,322,50,0,0,0,0,NA,NA,NA,0,5,2006,New,Partial,290000 +1211,60,RL,70,11218,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,2Story,6,5,1992,1992,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1055,1055,GasA,Ex,Y,SBrkr,1055,790,0,1845,0,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1992,RFn,2,462,TA,TA,Y,635,104,0,0,0,0,NA,GdPrv,Shed,400,5,2010,WD,Normal,189000 +1212,50,RL,152,12134,Pave,NA,IR1,Bnk,AllPub,Inside,Mod,Gilbert,Norm,Norm,1Fam,1.5Fin,8,7,1988,2005,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,TA,Wood,Gd,TA,Av,GLQ,427,Unf,0,132,559,GasA,Gd,Y,SBrkr,1080,672,0,1752,0,0,2,0,4,1,TA,8,Typ,0,NA,Basment,1988,RFn,2,492,TA,TA,Y,325,12,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,164000 +1213,30,RL,50,9340,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,6,1941,1950,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,344,Unf,0,328,672,GasA,TA,Y,SBrkr,672,0,0,672,1,0,1,0,2,1,TA,4,Typ,0,NA,Attchd,1941,Unf,1,234,TA,TA,N,0,113,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal,113000 +1214,80,RL,NA,10246,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,Norm,Norm,1Fam,SLvl,4,9,1965,2001,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,Gd,Av,GLQ,648,Unf,0,0,648,GasA,Ex,Y,SBrkr,960,0,0,960,1,1,0,0,0,1,TA,3,Typ,0,NA,Attchd,1965,Unf,1,364,TA,TA,Y,88,0,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,145000 +1215,85,RL,69,10205,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SFoyer,5,5,1962,1962,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,Av,BLQ,784,Unf,0,141,925,GasA,TA,Y,SBrkr,999,0,0,999,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1962,Unf,1,300,TA,TA,Y,150,72,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,134500 +1216,20,RL,99,7094,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,5,1966,1966,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,180,LwQ,374,340,894,GasA,TA,Y,SBrkr,894,0,0,894,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1966,RFn,1,384,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,5,2007,WD,Normal,125000 +1217,90,RM,68,8930,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,RRAe,Norm,Duplex,1.5Fin,6,5,1978,1978,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,1318,584,0,1902,0,0,2,0,4,2,TA,8,Typ,0,NA,Attchd,1978,Unf,2,539,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,112000 +1218,20,FV,72,8640,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2009,2009,Gable,CompShg,CemntBd,CmentBd,Stone,72,Gd,TA,PConc,Gd,TA,Mn,GLQ,936,Unf,0,364,1300,GasA,Ex,Y,SBrkr,1314,0,0,1314,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2009,RFn,2,552,TA,TA,Y,135,112,0,0,0,0,NA,NA,NA,0,9,2009,New,Partial,229456 +1219,50,RM,52,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,4,5,1947,1950,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,Gd,N,SBrkr,672,240,0,912,0,0,1,0,2,1,TA,3,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,80500 +1220,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,5,1971,1971,Gable,CompShg,CemntBd,CmentBd,BrkFace,236,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,672,672,GasA,TA,Y,SBrkr,672,546,0,1218,0,0,1,1,3,1,TA,7,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,201,0,0,0,0,0,NA,NA,NA,0,4,2006,WD,Abnorml,91500 +1221,20,RL,66,7800,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1964,1964,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,312,LwQ,600,0,912,GasA,TA,Y,SBrkr,912,0,0,912,0,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1964,Unf,1,288,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,11,2006,WD,Abnorml,115000 +1222,20,RL,55,8250,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Feedr,Norm,1Fam,1Story,5,5,1968,1968,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,BLQ,250,LwQ,492,210,952,GasA,Ex,Y,SBrkr,1211,0,0,1211,0,0,1,0,3,1,TA,5,Typ,1,TA,Attchd,1968,Unf,1,322,TA,TA,Y,0,63,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal,134000 +1223,50,RL,78,10496,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Artery,Norm,1Fam,1.5Fin,6,6,1949,1950,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,320,TA,TA,CBlock,TA,TA,Mn,Rec,196,Unf,0,844,1040,GasA,Ex,Y,SBrkr,1168,678,0,1846,0,0,2,0,3,1,TA,7,Typ,1,Gd,Attchd,1949,Unf,1,315,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,1,2007,WD,Normal,143000 +1224,20,RL,89,10680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,3,1951,1951,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,44,TA,TA,CBlock,TA,Fa,No,LwQ,756,Unf,0,1380,2136,GasA,TA,N,FuseA,2136,0,0,2136,0,0,2,0,4,1,TA,7,Mod,0,NA,Detchd,1951,Unf,2,528,TA,TA,Y,0,30,0,0,0,0,NA,MnPrv,NA,0,10,2006,WD,Normal,137900 +1225,60,RL,60,15384,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,RRAn,Norm,1Fam,2Story,7,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Av,GLQ,724,Unf,0,64,788,GasA,Ex,Y,SBrkr,788,702,0,1490,1,0,2,1,3,1,Gd,8,Typ,1,Gd,Attchd,2004,Fin,2,388,TA,TA,Y,100,75,0,0,0,0,NA,NA,NA,0,2,2008,WD,Normal,184000 +1226,80,RL,65,10482,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,6,8,1958,1958,Hip,CompShg,VinylSd,VinylSd,BrkFace,63,TA,Gd,CBlock,TA,TA,Av,GLQ,507,Unf,0,81,588,GasA,Ex,Y,SBrkr,1138,0,0,1138,0,1,1,0,3,1,TA,6,Typ,0,NA,Attchd,1958,RFn,1,264,TA,TA,Y,224,0,0,0,0,0,NA,MnWw,NA,0,6,2007,WD,Normal,145000 +1227,60,RL,86,14598,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Somerst,Feedr,Norm,1Fam,2Story,6,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,74,Gd,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,894,894,GasA,Ex,Y,SBrkr,894,1039,0,1933,0,0,2,1,4,1,Gd,9,Typ,1,Gd,BuiltIn,2007,Fin,3,668,TA,TA,Y,100,18,0,0,0,0,NA,NA,NA,0,1,2008,WD,Normal,214000 +1228,20,RL,72,8872,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,8,1965,2008,Gable,CompShg,VinylSd,VinylSd,BrkFace,300,TA,TA,CBlock,TA,TA,No,ALQ,595,Unf,0,317,912,GasA,Ex,Y,SBrkr,912,0,0,912,1,0,1,0,2,1,Gd,5,Typ,0,NA,Detchd,1992,Unf,2,576,TA,TA,Y,0,240,0,0,0,0,NA,NA,NA,0,12,2008,WD,Normal,147000 +1229,120,RL,65,8769,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,9,5,2008,2008,Hip,CompShg,MetalSd,MetalSd,BrkFace,766,Ex,TA,PConc,Ex,TA,No,GLQ,1540,Unf,0,162,1702,GasA,Ex,Y,SBrkr,1702,0,0,1702,1,0,1,1,1,1,Ex,7,Typ,1,Gd,Attchd,2008,Fin,3,1052,TA,TA,Y,0,72,0,0,224,0,NA,NA,NA,0,10,2008,New,Partial,367294 +1230,80,RL,70,7910,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,5,5,1960,1960,Hip,CompShg,BrkFace,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,ALQ,666,Unf,0,409,1075,GasA,Gd,Y,SBrkr,1507,0,0,1507,0,0,2,0,4,1,TA,7,Maj1,0,NA,Basment,1960,Unf,1,404,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,8,2008,WD,Normal,127000 +1231,90,RL,NA,18890,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Sawyer,Feedr,RRAe,Duplex,1.5Fin,5,5,1977,1977,Shed,CompShg,Plywood,Plywood,None,1,TA,TA,CBlock,Gd,TA,No,GLQ,498,Rec,211,652,1361,GasA,Ex,Y,SBrkr,1361,1259,0,2620,0,0,2,2,4,2,TA,12,Typ,1,TA,BuiltIn,1977,RFn,2,600,TA,TA,N,155,24,145,0,0,0,NA,NA,Gar2,8300,8,2007,WD,Normal,190000 +1232,90,RL,70,7728,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,Duplex,SLvl,5,6,1962,1962,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,120,TA,TA,CBlock,TA,TA,Av,ALQ,803,Unf,0,303,1106,GasA,TA,Y,SBrkr,1190,0,0,1190,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1962,Unf,2,540,TA,TA,Y,0,18,0,0,0,0,NA,GdWo,NA,0,5,2006,WD,Normal,132500 +1233,90,RL,70,9842,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NAmes,Norm,Norm,Duplex,1Story,4,5,1962,1962,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,GasA,TA,Y,SBrkr,1224,0,0,1224,0,0,2,0,2,2,TA,6,Typ,0,NA,CarPort,1962,Unf,2,462,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal,101800 +1234,20,RL,NA,12160,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1959,1959,Hip,CompShg,Plywood,Plywood,BrkFace,180,TA,TA,CBlock,TA,TA,No,Rec,1000,Unf,0,188,1188,GasA,Fa,Y,SBrkr,1188,0,0,1188,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1959,RFn,2,531,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,5,2010,COD,Abnorml,142000 +1235,70,RH,55,8525,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,2Story,5,6,1911,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,Av,Unf,0,Unf,0,940,940,GasA,TA,N,FuseA,1024,940,0,1964,0,0,1,1,4,1,TA,7,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,192,0,0,0,0,NA,NA,NA,0,11,2008,WD,Abnorml,130000 +1236,70,RL,96,13132,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,5,5,1914,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Gd,TA,Mn,Unf,0,Unf,0,747,747,GasA,Gd,Y,FuseF,892,892,0,1784,0,0,1,1,4,1,TA,9,Typ,0,NA,Detchd,1914,Unf,1,180,Fa,Fa,N,203,40,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,138887 +1237,160,RL,36,2628,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,Twnhs,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,Wd Shng,Stone,106,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,764,764,GasA,Ex,Y,SBrkr,764,862,0,1626,0,0,2,1,2,1,Gd,6,Typ,0,NA,BuiltIn,2003,RFn,2,474,TA,TA,Y,0,27,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,175500 +1238,60,RL,41,12393,Pave,NA,IR2,Lvl,AllPub,FR2,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,847,847,GasA,Ex,Y,SBrkr,847,1101,0,1948,0,0,2,1,4,1,Gd,8,Typ,1,Gd,BuiltIn,2004,Fin,2,434,TA,TA,Y,100,48,0,0,0,0,NA,NA,NA,0,9,2006,WD,Normal,195000 +1239,20,RL,63,13072,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,RRAe,Norm,1Fam,1Story,6,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1141,1141,GasA,Ex,Y,SBrkr,1141,0,0,1141,0,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,2005,Unf,2,484,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2006,WD,Abnorml,142500 +1240,20,RL,64,9037,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,32,Gd,TA,PConc,Gd,TA,Av,GLQ,428,Unf,0,1048,1476,GasA,Ex,Y,SBrkr,1484,0,0,1484,0,0,2,0,2,1,Ex,6,Typ,1,Gd,Attchd,2006,RFn,2,472,TA,TA,Y,120,33,0,0,0,0,NA,NA,NA,0,12,2007,WD,Normal,265900 +1241,60,RL,65,8158,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,252,Gd,TA,PConc,Gd,TA,No,GLQ,550,Unf,0,334,884,GasA,Ex,Y,SBrkr,884,884,0,1768,1,0,2,1,3,1,Gd,8,Typ,0,NA,Attchd,2003,RFn,2,543,TA,TA,Y,0,63,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,224900 +1242,20,RL,83,9849,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,6,2007,2007,Hip,CompShg,VinylSd,VinylSd,Stone,0,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1689,1689,GasA,Ex,Y,SBrkr,1689,0,0,1689,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2007,RFn,3,954,TA,TA,Y,0,56,0,0,0,0,NA,NA,NA,0,6,2007,New,Partial,248328 +1243,85,RL,85,10625,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,SFoyer,7,6,1974,1974,Gable,CompShg,Plywood,Plywood,BrkFace,81,TA,TA,CBlock,Gd,TA,Gd,GLQ,885,LwQ,168,0,1053,GasA,TA,Y,SBrkr,1173,0,0,1173,1,0,2,0,3,1,Gd,6,Typ,2,TA,Attchd,1974,RFn,2,528,TA,TA,Y,0,120,0,0,0,0,NA,MnPrv,NA,0,1,2010,WD,Family,170000 +1244,20,RL,107,13891,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,1Story,10,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,NA,NA,Ex,TA,PConc,Ex,Gd,Gd,GLQ,1386,Unf,0,690,2076,GasA,Ex,Y,SBrkr,2076,0,0,2076,1,0,2,1,2,1,Ex,7,Typ,1,Gd,Attchd,2006,Fin,3,850,TA,TA,Y,216,229,0,0,0,0,NA,NA,NA,0,9,2006,New,Partial,465000 +1245,70,RL,NA,11435,Pave,NA,IR1,HLS,AllPub,Corner,Mod,Crawfor,Norm,Norm,1Fam,2Story,8,7,1929,1950,Gable,CompShg,BrkFace,Stucco,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,792,792,GasA,Fa,Y,SBrkr,792,725,0,1517,0,0,1,0,3,1,Gd,7,Typ,2,Gd,Detchd,1931,Unf,2,400,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,230000 +1246,80,RL,78,12090,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,SLvl,6,7,1984,2003,Hip,CompShg,VinylSd,VinylSd,BrkFace,74,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,585,585,GasA,Ex,Y,SBrkr,1140,728,0,1868,0,0,3,1,3,1,TA,7,Typ,1,TA,BuiltIn,1984,Fin,2,477,TA,TA,Y,268,112,0,0,147,0,NA,NA,NA,0,1,2007,WD,Abnorml,178000 +1247,60,FV,65,8125,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,756,756,GasA,Ex,Y,SBrkr,756,797,0,1553,0,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2005,RFn,2,615,TA,TA,Y,0,45,0,0,0,0,NA,NA,NA,0,3,2006,New,Partial,186500 +1248,80,RL,NA,12328,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,SLvl,6,5,1976,1976,Gable,CompShg,HdBoard,HdBoard,BrkFace,335,TA,TA,CBlock,TA,TA,Av,GLQ,539,Unf,0,473,1012,GasA,TA,Y,SBrkr,1034,0,0,1034,1,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1976,Unf,3,888,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,169900 +1249,75,RM,60,9600,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2.5Unf,6,5,1917,1950,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,BrkTil,Gd,TA,No,Rec,319,Unf,0,416,735,OthW,Fa,N,SBrkr,1134,924,0,2058,0,0,1,1,3,1,TA,8,Typ,1,Gd,Detchd,1950,Unf,2,396,Fa,Fa,P,0,0,259,0,0,0,NA,NA,NA,0,4,2008,WD,Normal,129500 +1250,20,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1950,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,534,Rec,96,246,876,GasA,TA,Y,SBrkr,988,0,0,988,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1950,Unf,1,276,TA,TA,Y,0,80,0,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,119000 +1251,20,RL,93,11160,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,7,5,1968,1968,Hip,CompShg,BrkFace,BrkFace,None,0,Gd,TA,CBlock,TA,TA,No,ALQ,1065,Unf,0,1045,2110,GasA,Ex,Y,SBrkr,2110,0,0,2110,1,0,2,1,3,1,Ex,8,Typ,2,TA,Attchd,1968,Fin,2,522,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,244000 +1252,120,RL,NA,3136,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,7,5,2003,2003,Gable,CompShg,VinylSd,Wd Shng,Stone,163,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1405,1405,GasA,Ex,Y,SBrkr,1405,0,0,1405,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2003,RFn,2,478,TA,TA,Y,148,36,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal,171750 +1253,20,RL,62,9858,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,6,1968,1968,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,BLQ,510,Unf,0,354,864,GasA,TA,Y,SBrkr,874,0,0,874,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1968,RFn,1,288,TA,TA,Y,33,0,0,0,0,0,NA,GdWo,Shed,600,11,2009,WD,Normal,130000 +1254,60,RL,NA,17542,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Veenker,Norm,Norm,1Fam,2Story,7,7,1974,2003,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,Gd,TA,CBlock,TA,TA,Gd,LwQ,125,ALQ,1031,36,1192,GasA,TA,Y,SBrkr,1516,651,0,2167,1,0,2,1,3,1,Gd,9,Typ,2,Gd,Attchd,1974,RFn,2,518,TA,TA,Y,220,47,0,0,0,0,NA,MnPrv,NA,0,7,2007,WD,Normal,294000 +1255,60,RL,60,6931,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,2Story,7,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,Stone,92,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,746,746,GasA,Ex,Y,SBrkr,760,896,0,1656,0,0,2,1,3,1,Gd,7,Typ,1,Gd,BuiltIn,2003,Fin,2,397,TA,TA,Y,178,128,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,165400 +1256,50,RM,52,6240,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,6,1931,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,Fa,No,LwQ,425,Unf,0,459,884,GasA,TA,Y,FuseA,959,408,0,1367,0,0,1,0,3,1,TA,6,Typ,1,Gd,Detchd,1978,Unf,1,560,TA,TA,Y,0,0,0,0,120,0,NA,NA,NA,0,11,2007,WD,Normal,127500 +1257,20,RL,91,14303,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NoRidge,Norm,Norm,1Fam,1Story,8,5,1994,1994,Hip,CompShg,HdBoard,HdBoard,BrkFace,554,Gd,TA,PConc,Gd,TA,Gd,GLQ,1314,Unf,0,672,1986,GasA,Ex,Y,SBrkr,1987,0,0,1987,1,0,2,0,2,1,Gd,7,Typ,1,TA,Attchd,1994,Fin,2,691,TA,TA,Y,262,36,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal,301500 +1258,30,RL,56,4060,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Edwards,Feedr,Norm,1Fam,1Story,5,8,1922,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,Fa,TA,No,Unf,0,Unf,0,864,864,GasA,Ex,Y,SBrkr,864,0,0,864,0,0,1,0,2,1,TA,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,96,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,99900 +1259,80,RL,59,9587,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,SLvl,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,Stone,182,Gd,TA,PConc,Gd,TA,Gd,GLQ,655,Unf,0,201,856,GasA,Ex,Y,SBrkr,1166,0,0,1166,1,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,2005,Fin,2,400,TA,TA,Y,212,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,190000 +1260,20,RL,65,9750,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,8,1969,1969,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,602,LwQ,438,14,1054,GasA,Gd,Y,SBrkr,1054,0,0,1054,1,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1969,Unf,2,460,TA,TA,Y,180,0,0,0,80,0,NA,NA,NA,0,7,2008,WD,Normal,151000 +1261,60,RL,NA,24682,Pave,NA,IR3,Lvl,AllPub,CulDSac,Gtl,Gilbert,RRAn,Norm,1Fam,2Story,6,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,841,841,GasA,Ex,Y,SBrkr,892,783,0,1675,0,0,2,1,3,1,TA,7,Typ,1,TA,BuiltIn,1999,Fin,2,502,TA,TA,Y,0,103,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,181000 +1262,20,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1956,1956,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Rec,504,Unf,0,546,1050,GasA,Gd,Y,SBrkr,1050,0,0,1050,0,0,1,0,2,1,TA,5,Typ,0,NA,Attchd,1956,Unf,1,338,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,128900 +1263,50,RL,NA,11250,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,ClearCr,Norm,Norm,1Fam,1.5Fin,4,5,1957,1989,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Av,Unf,0,Unf,0,1104,1104,GasA,Ex,Y,FuseA,1104,684,0,1788,1,0,1,0,5,1,TA,8,Min2,2,TA,Attchd,1957,Unf,1,304,TA,TA,Y,120,0,0,0,0,0,NA,NA,NA,0,11,2009,WD,Normal,161500 +1264,70,RL,60,13515,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,2Story,6,6,1919,1950,Gambrel,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,764,764,GasA,Ex,Y,FuseA,1060,764,0,1824,0,0,1,0,3,1,TA,8,Typ,1,Gd,Detchd,1940,Unf,2,520,TA,TA,N,0,0,126,0,0,0,NA,GdPrv,NA,0,7,2007,WD,Normal,180500 +1265,120,RH,34,4060,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,TwnhsE,1Story,6,5,1998,1999,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,266,Unf,0,1139,1405,GasA,Ex,Y,SBrkr,1337,0,0,1337,1,0,2,0,2,1,Gd,5,Typ,0,NA,Attchd,1998,Fin,2,511,TA,TA,Y,144,68,0,0,0,0,NA,NA,NA,0,8,2008,COD,Abnorml,181000 +1266,160,FV,35,3735,Pave,NA,Reg,Lvl,AllPub,FR3,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,7,5,1999,1999,Hip,CompShg,MetalSd,MetalSd,BrkFace,218,Gd,TA,PConc,Gd,TA,No,GLQ,450,Unf,0,241,691,GasA,Ex,Y,SBrkr,713,739,0,1452,1,0,2,1,3,1,Gd,6,Typ,0,NA,Detchd,1999,Unf,2,506,TA,TA,Y,0,34,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal,183900 +1267,190,RM,60,10120,Pave,NA,IR1,Bnk,AllPub,Inside,Gtl,OldTown,Feedr,Norm,2fmCon,2.5Unf,7,4,1910,1950,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,Fa,TA,CBlock,TA,TA,No,Unf,0,Unf,0,925,925,GasA,TA,N,FuseF,964,925,0,1889,0,0,1,1,4,2,TA,9,Typ,1,Gd,Detchd,1960,Unf,1,308,TA,TA,N,0,0,264,0,0,0,NA,MnPrv,NA,0,1,2007,WD,Normal,122000 +1268,20,RL,89,13214,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,9,5,2008,2009,Hip,CompShg,Stucco,CmentBd,None,0,Ex,TA,PConc,Ex,TA,Gd,Unf,0,Unf,0,2002,2002,GasA,Ex,Y,SBrkr,2018,0,0,2018,0,0,2,0,3,1,Ex,10,Typ,1,Gd,Attchd,2009,Fin,3,746,TA,TA,Y,144,76,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,378500 +1269,50,RL,NA,14100,Pave,NA,IR1,Lvl,AllPub,Inside,Mod,Crawfor,Norm,Norm,1Fam,1.5Fin,8,9,1935,1997,Gable,CompShg,Stucco,Stucco,BrkFace,632,TA,Gd,CBlock,TA,TA,Mn,Rec,192,Unf,0,536,728,GasA,Ex,Y,SBrkr,1968,1479,0,3447,0,0,3,1,4,1,Gd,11,Typ,2,Gd,BuiltIn,1982,Unf,3,1014,TA,TA,Y,314,12,0,0,0,0,NA,GdWo,NA,0,5,2008,WD,Normal,381000 +1270,50,RL,78,11344,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Feedr,Norm,1Fam,1.5Fin,5,5,1958,1958,Gable,CompShg,MetalSd,MetalSd,BrkFace,180,TA,TA,CBlock,TA,TA,No,BLQ,460,Unf,0,414,874,GasW,TA,Y,FuseA,874,650,0,1524,0,0,1,1,3,1,TA,7,Typ,0,NA,Attchd,1958,Unf,1,315,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,7,2007,WD,Normal,144000 +1271,40,RL,NA,23595,Pave,NA,Reg,Low,AllPub,Inside,Sev,ClearCr,Norm,Norm,1Fam,1Story,7,6,1979,1979,Shed,WdShake,Plywood,Plywood,None,0,Gd,TA,PConc,Gd,TA,Gd,GLQ,1258,Unf,0,74,1332,GasA,TA,Y,SBrkr,1332,192,0,1524,2,0,0,1,0,1,Gd,4,Typ,1,TA,Attchd,1979,Fin,2,586,TA,TA,Y,268,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,260000 +1272,20,RL,NA,9156,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,PosN,Norm,1Fam,1Story,6,7,1968,1968,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1489,1489,GasA,Gd,Y,SBrkr,1489,0,0,1489,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,1968,RFn,2,462,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal,185750 +1273,20,RL,NA,13526,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,6,1965,1965,Hip,CompShg,HdBoard,Plywood,BrkFace,114,TA,TA,CBlock,TA,TA,No,BLQ,560,LwQ,375,0,935,GasA,TA,Y,SBrkr,935,0,0,935,1,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1965,Unf,1,288,TA,TA,Y,180,0,0,0,0,0,NA,MnPrv,NA,0,11,2006,WD,Normal,137000 +1274,80,RL,124,11512,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Edwards,Norm,Norm,1Fam,SLvl,6,7,1959,2006,Gable,CompShg,Plywood,Plywood,BrkFace,84,TA,TA,CBlock,TA,TA,Av,ALQ,719,Unf,0,300,1019,GasA,Gd,Y,SBrkr,1357,0,0,1357,1,0,1,0,2,1,Ex,5,Typ,1,Gd,Basment,1959,RFn,1,312,TA,TA,Y,0,0,0,0,163,0,NA,GdPrv,NA,0,5,2008,WD,Normal,177000 +1275,50,RL,53,5362,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,Crawfor,Norm,Norm,1Fam,1.5Fin,5,6,1910,2003,Gable,CompShg,Wd Sdng,Wd Shng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,661,661,GasA,Ex,Y,SBrkr,661,589,0,1250,0,0,2,0,3,1,TA,8,Typ,1,Gd,Detchd,1985,Unf,2,552,TA,TA,Y,242,0,81,0,0,0,NA,NA,NA,0,11,2007,WD,Normal,139000 +1276,90,RL,95,11345,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Feedr,Norm,Duplex,2Story,5,5,1948,1950,Gable,Roll,AsbShng,AsbShng,Stone,567,TA,TA,CBlock,TA,TA,No,Rec,220,Unf,0,708,928,GasA,Gd,Y,FuseA,928,992,0,1920,0,0,2,0,4,2,TA,10,Typ,0,NA,Detchd,1948,Unf,2,400,TA,Fa,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,137000 +1277,60,RL,NA,12936,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NWAmes,Norm,Norm,1Fam,2Story,6,6,1972,1972,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,TA,Gd,No,BLQ,593,Unf,0,130,723,GasA,TA,Y,SBrkr,735,660,0,1395,0,1,1,1,3,1,TA,6,Typ,1,TA,Attchd,1972,Unf,2,497,TA,TA,Y,294,116,0,0,0,0,NA,NA,NA,0,12,2009,WD,Normal,162000 +1278,80,RL,NA,17871,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NWAmes,Norm,Norm,1Fam,SLvl,6,5,1967,1976,Gable,CompShg,HdBoard,HdBoard,BrkFace,359,TA,TA,CBlock,Gd,TA,Av,ALQ,528,Unf,0,1152,1680,GasA,Fa,Y,SBrkr,1724,0,0,1724,1,0,1,1,3,1,TA,7,Typ,1,Gd,Attchd,1967,RFn,2,480,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,197900 +1279,60,RL,75,9473,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,NA,NA,Gd,TA,PConc,Gd,TA,No,GLQ,804,Unf,0,324,1128,GasA,Ex,Y,SBrkr,1128,903,0,2031,1,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2002,RFn,2,577,TA,TA,Y,0,211,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal,237000 +1280,50,C (all),60,7500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,4,4,1920,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,No,Unf,0,Unf,0,698,698,GasA,TA,Y,FuseA,698,430,0,1128,0,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1980,RFn,2,528,TA,TA,Y,30,0,164,0,0,0,NA,NA,NA,0,4,2010,COD,Abnorml,68400 +1281,20,RL,67,9808,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,110,Gd,TA,PConc,Gd,TA,No,GLQ,788,Unf,0,785,1573,GasA,Ex,Y,SBrkr,1573,0,0,1573,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2002,RFn,2,544,TA,TA,Y,0,72,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal,227000 +1282,20,RL,50,8049,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Timber,Norm,Norm,1Fam,1Story,7,5,1990,1990,Hip,CompShg,HdBoard,HdBoard,BrkFace,54,TA,TA,CBlock,Gd,TA,No,ALQ,1053,Unf,0,256,1309,GasA,TA,Y,SBrkr,1339,0,0,1339,1,0,2,0,2,1,TA,6,Typ,1,TA,Attchd,1990,Fin,2,484,Gd,Gd,Y,0,58,0,0,90,0,NA,NA,NA,0,7,2006,WD,Normal,180000 +1283,20,RL,61,8800,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,7,1977,2008,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Gd,TA,Mn,LwQ,532,Rec,144,364,1040,GasA,TA,Y,SBrkr,1040,0,0,1040,0,0,2,0,3,1,Gd,5,Typ,0,NA,Detchd,1977,Unf,2,484,TA,TA,Y,0,0,0,0,288,0,NA,NA,NA,0,9,2009,WD,Normal,150500 +1284,90,RL,94,9400,Pave,NA,Reg,Low,AllPub,Corner,Gtl,Mitchel,Norm,Norm,Duplex,2Story,6,5,1971,1971,Mansard,CompShg,MetalSd,Wd Shng,None,0,TA,TA,CBlock,TA,TA,Av,Unf,0,Unf,0,912,912,GasA,TA,Y,SBrkr,912,912,0,1824,0,0,2,2,4,2,TA,8,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,128,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,139000 +1285,50,RL,50,9638,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Feedr,Norm,1Fam,1.5Fin,6,7,1919,1990,Gable,CompShg,Wd Sdng,Wd Shng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,804,804,GasA,Ex,Y,SBrkr,1699,748,0,2447,0,0,2,0,4,1,Gd,10,Min2,1,Gd,Detchd,1969,Unf,1,336,TA,TA,Y,272,0,42,0,116,0,NA,NA,NA,0,3,2010,WD,Normal,169000 +1286,50,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,6,1939,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Fa,CBlock,TA,TA,No,Unf,0,Unf,0,780,780,GasA,Ex,Y,FuseF,825,587,0,1412,0,0,1,0,4,1,TA,6,Typ,1,Gd,Detchd,1939,Unf,1,280,TA,TA,Y,45,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,132500 +1287,20,RL,NA,9790,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Feedr,Norm,1Fam,1Story,6,5,1963,1963,Hip,CompShg,HdBoard,HdBoard,BrkFace,451,TA,TA,CBlock,TA,TA,No,ALQ,569,Rec,81,678,1328,GasA,TA,Y,SBrkr,1328,0,0,1328,1,0,1,1,3,1,TA,6,Typ,2,Gd,Attchd,1963,Unf,2,528,TA,TA,Y,0,26,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,143000 +1288,20,RL,NA,36500,Pave,NA,IR1,Low,AllPub,Inside,Mod,ClearCr,Norm,Norm,1Fam,1Story,5,5,1964,1964,Gable,CompShg,Wd Sdng,Wd Sdng,BrkCmn,621,TA,Gd,CBlock,TA,TA,Av,Rec,812,Unf,0,812,1624,GasA,Fa,Y,SBrkr,1582,0,0,1582,0,1,2,0,4,1,TA,7,Typ,0,NA,Attchd,1964,Unf,2,390,TA,TA,N,168,198,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,190000 +1289,120,RL,40,5664,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,StoneBr,Norm,Norm,TwnhsE,1Story,8,5,2000,2000,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,1158,Unf,0,343,1501,GasA,Ex,Y,SBrkr,1659,0,0,1659,1,0,2,0,2,1,Ex,5,Typ,1,Ex,Attchd,2000,Fin,2,499,TA,TA,Y,212,59,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal,278000 +1290,60,RL,86,11065,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,1Fam,2Story,8,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,Stone,788,Gd,TA,PConc,Gd,TA,Mn,Unf,0,Unf,0,1085,1085,GasA,Ex,Y,SBrkr,1120,850,0,1970,0,0,2,1,3,1,Ex,8,Typ,1,Gd,BuiltIn,2006,Fin,3,753,TA,TA,Y,177,74,0,0,0,0,NA,NA,NA,0,10,2006,New,Partial,281000 +1291,80,RL,NA,14112,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,SLvl,5,7,1964,1964,Hip,CompShg,Wd Sdng,HdBoard,BrkFace,86,TA,TA,PConc,TA,TA,Av,GLQ,1014,Unf,0,138,1152,GasA,TA,Y,SBrkr,1152,0,0,1152,1,0,1,0,3,1,TA,6,Typ,1,Gd,Attchd,1964,RFn,2,484,TA,TA,Y,227,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,180500 +1292,160,RM,21,1680,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,5,7,1972,1972,Gable,CompShg,CemntBd,CmentBd,BrkFace,268,TA,TA,CBlock,TA,TA,No,ALQ,231,Unf,0,399,630,GasA,TA,Y,SBrkr,630,672,0,1302,0,0,2,1,3,1,TA,6,Typ,0,NA,Detchd,1972,Unf,1,264,TA,TA,Y,185,0,0,0,0,0,NA,NA,NA,0,2,2009,WD,Normal,119500 +1293,70,RM,60,6600,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,2Story,5,4,1892,1965,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,Stone,TA,TA,No,Unf,0,Unf,0,994,994,GasA,TA,N,SBrkr,1378,994,0,2372,0,0,2,0,4,2,TA,11,Min2,0,NA,Attchd,1985,RFn,1,432,TA,TA,Y,0,287,0,0,0,0,NA,NA,NA,0,12,2009,WD,Normal,107500 +1294,60,RL,78,10140,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,2Story,7,5,1976,1976,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,Gd,TA,No,GLQ,194,Unf,0,638,832,GasA,TA,Y,SBrkr,832,832,0,1664,0,0,2,1,4,1,TA,8,Typ,1,TA,Attchd,1976,RFn,2,528,TA,TA,Y,0,28,0,0,259,0,NA,GdWo,NA,0,3,2006,WD,Normal,162900 +1295,20,RL,60,8172,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,7,1955,1990,Hip,CompShg,WdShing,Plywood,None,0,TA,TA,CBlock,TA,TA,No,Rec,167,Unf,0,697,864,GasA,TA,Y,SBrkr,864,0,0,864,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1957,Unf,2,572,TA,TA,N,0,0,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,115000 +1296,20,RL,70,8400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Feedr,Norm,1Fam,1Story,5,5,1968,1968,Hip,CompShg,HdBoard,HdBoard,BrkFace,168,TA,TA,CBlock,TA,TA,Av,BLQ,1016,Unf,0,36,1052,GasA,Gd,Y,SBrkr,1052,0,0,1052,1,0,1,1,3,1,TA,5,Typ,0,NA,Attchd,1968,RFn,1,288,TA,TA,Y,356,0,0,0,0,0,NA,GdWo,NA,0,11,2006,WD,Normal,138500 +1297,20,RL,80,8700,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1963,1963,Hip,CompShg,MetalSd,MetalSd,BrkFace,148,TA,Gd,CBlock,TA,TA,Mn,ALQ,776,Unf,0,344,1120,GasA,Gd,Y,SBrkr,1128,0,0,1128,1,0,2,0,3,1,TA,6,Typ,0,NA,Attchd,1963,RFn,2,525,TA,TA,Y,192,20,123,0,0,0,NA,MnPrv,NA,0,12,2008,WD,Normal,155000 +1298,180,RM,35,3675,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,TwnhsE,SFoyer,6,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,BrkFace,82,TA,TA,PConc,Gd,TA,Gd,GLQ,547,Unf,0,0,547,GasA,Gd,Y,SBrkr,1072,0,0,1072,1,0,2,0,2,1,TA,5,Typ,0,NA,Basment,2005,Fin,2,525,TA,TA,Y,0,44,0,0,0,0,NA,NA,NA,0,6,2006,New,Partial,140000 +1299,60,RL,313,63887,Pave,NA,IR3,Bnk,AllPub,Corner,Gtl,Edwards,Feedr,Norm,1Fam,2Story,10,5,2008,2008,Hip,ClyTile,Stucco,Stucco,Stone,796,Ex,TA,PConc,Ex,TA,Gd,GLQ,5644,Unf,0,466,6110,GasA,Ex,Y,SBrkr,4692,950,0,5642,2,0,2,1,3,1,Ex,12,Typ,3,Gd,Attchd,2008,Fin,2,1418,TA,TA,Y,214,292,0,0,0,480,Gd,NA,NA,0,1,2008,New,Partial,160000 +1300,20,RL,75,7500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,7,1959,1994,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,LwQ,340,Rec,906,0,1246,GasA,Ex,Y,SBrkr,1246,0,0,1246,1,0,1,1,3,1,Gd,6,Typ,0,NA,Attchd,1959,RFn,1,305,TA,TA,Y,218,0,0,0,0,0,NA,GdPrv,NA,0,5,2010,WD,Normal,154000 +1301,60,RL,NA,10762,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,None,344,Gd,TA,PConc,Gd,TA,No,GLQ,694,Unf,0,284,978,GasA,Ex,Y,SBrkr,1005,978,0,1983,0,0,2,1,3,1,Gd,9,Typ,1,TA,Attchd,1999,Fin,2,490,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,225000 +1302,70,RL,NA,7500,Pave,NA,IR1,Bnk,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,6,7,1942,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,BLQ,547,Unf,0,224,771,GasA,Fa,Y,SBrkr,753,741,0,1494,0,0,1,0,3,1,Gd,7,Typ,2,Gd,Attchd,1942,Unf,1,213,TA,TA,P,0,0,0,0,224,0,NA,NA,NA,0,11,2009,WD,Normal,177500 +1303,60,RL,92,10120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1994,1994,Hip,CompShg,VinylSd,VinylSd,BrkFace,391,Gd,TA,PConc,Gd,TA,No,GLQ,740,Unf,0,425,1165,GasA,Ex,Y,SBrkr,1203,1323,0,2526,1,0,2,1,4,1,Gd,8,Typ,1,TA,Attchd,1994,RFn,3,844,TA,TA,Y,309,78,0,0,0,0,NA,NA,NA,0,12,2006,WD,Normal,290000 +1304,20,RL,73,8688,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,228,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1616,1616,GasA,Ex,Y,SBrkr,1616,0,0,1616,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2005,RFn,3,834,TA,TA,Y,208,59,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,232000 +1305,160,RM,32,3363,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,TwnhsE,2Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,Stone,117,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,976,976,GasA,Ex,Y,SBrkr,976,732,0,1708,0,0,2,0,3,1,Gd,7,Maj1,0,NA,Detchd,2004,Unf,2,380,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,4,2006,WD,Normal,130000 +1306,20,RL,108,13173,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2006,2007,Hip,CompShg,VinylSd,VinylSd,Stone,300,Gd,TA,PConc,Ex,TA,No,GLQ,1572,Unf,0,80,1652,GasA,Ex,Y,SBrkr,1652,0,0,1652,1,0,2,0,2,1,Ex,6,Typ,2,Ex,Attchd,2006,Fin,2,840,TA,TA,Y,404,102,0,0,0,0,NA,NA,NA,0,11,2009,WD,Normal,325000 +1307,120,RL,48,6955,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NridgHt,Norm,Norm,TwnhsE,1Story,7,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,Stone,94,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1368,1368,GasA,Ex,Y,SBrkr,1368,0,0,1368,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2005,RFn,2,474,TA,TA,Y,132,35,0,0,0,0,NA,NA,NA,0,9,2006,New,Partial,202500 +1308,20,RL,60,8072,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,5,1994,1995,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,PConc,Gd,Gd,No,ALQ,746,Unf,0,244,990,GasA,Ex,Y,SBrkr,990,0,0,990,1,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,2000,Unf,2,480,TA,TA,Y,0,64,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,138000 +1309,20,RM,100,12000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,7,1948,2005,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,GLQ,144,ALQ,608,172,924,GasA,Ex,Y,SBrkr,1122,0,0,1122,1,0,1,0,2,1,Gd,6,Typ,0,NA,Attchd,1948,Unf,2,528,TA,TA,Y,0,36,0,0,0,0,NA,GdWo,NA,0,5,2008,WD,Normal,147000 +1310,20,RL,NA,7153,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,6,5,1991,1991,Gable,CompShg,HdBoard,HdBoard,BrkFace,88,TA,TA,CBlock,Gd,TA,No,GLQ,1200,Unf,0,78,1278,GasA,Gd,Y,SBrkr,1294,0,0,1294,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,1991,RFn,2,496,TA,TA,Y,112,51,0,0,0,0,NA,GdWo,NA,0,6,2008,WD,Normal,179200 +1311,20,RL,100,17500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,PosA,Norm,1Fam,1Story,7,8,1959,2002,Gable,CompShg,BrkFace,HdBoard,None,0,Gd,Gd,PConc,Gd,TA,Av,GLQ,1406,Unf,0,496,1902,GasA,TA,Y,SBrkr,1902,0,0,1902,1,0,2,0,3,1,Ex,7,Typ,2,TA,Attchd,1959,Fin,2,567,TA,TA,Y,0,207,162,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,335000 +1312,20,RL,68,8814,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2005,2007,Gable,CompShg,VinylSd,VinylSd,BrkFace,80,Gd,TA,PConc,Gd,TA,No,GLQ,925,Unf,0,349,1274,GasA,Ex,Y,SBrkr,1274,0,0,1274,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2005,RFn,2,508,TA,TA,Y,264,98,0,0,0,0,NA,NA,NA,0,1,2007,New,Partial,203000 +1313,60,RL,NA,9572,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1990,1990,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,336,Gd,TA,PConc,Ex,TA,No,GLQ,482,Unf,0,971,1453,GasA,Ex,Y,SBrkr,1453,1357,0,2810,0,0,2,1,4,1,Gd,9,Typ,1,Ex,Attchd,1990,RFn,2,750,Gd,Gd,Y,500,0,0,0,0,0,NA,NA,NA,0,6,2007,WD,Normal,302000 +1314,60,RL,108,14774,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NoRidge,Norm,Norm,1Fam,2Story,9,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,BrkFace,165,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1393,1393,GasA,Ex,Y,SBrkr,1422,1177,0,2599,0,0,2,1,4,1,Gd,10,Typ,1,TA,BuiltIn,1999,Fin,3,779,TA,TA,Y,668,30,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,333168 +1315,20,RL,60,8190,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,6,1954,1954,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,732,Unf,0,216,948,GasA,Ex,Y,SBrkr,948,0,0,948,1,0,1,0,3,1,TA,5,Typ,1,TA,Detchd,1956,Unf,1,280,TA,TA,Y,0,36,0,0,0,0,NA,NA,NA,0,10,2007,WD,Normal,119000 +1316,60,RL,85,11075,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,2Story,6,5,1969,1969,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,Fa,TA,Mn,ALQ,500,LwQ,276,176,952,GasA,TA,Y,SBrkr,1092,1020,0,2112,0,0,2,1,4,1,TA,9,Typ,2,Gd,Attchd,1969,Unf,2,576,TA,TA,Y,280,0,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,206900 +1317,20,RL,61,10226,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,Stone,270,Gd,TA,PConc,Ex,TA,Gd,Unf,0,Unf,0,1622,1622,GasA,Ex,Y,SBrkr,1630,0,0,1630,1,0,2,0,3,1,Ex,8,Typ,1,Gd,Attchd,2008,RFn,3,860,TA,TA,Y,172,42,0,0,0,0,NA,NA,NA,0,1,2009,WD,Normal,295493 +1318,120,FV,47,4230,Pave,Pave,Reg,Lvl,AllPub,Corner,Gtl,Somerst,Norm,Norm,TwnhsE,1Story,7,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Ex,Gd,No,Unf,0,Unf,0,1352,1352,GasA,Ex,Y,SBrkr,1352,0,0,1352,0,0,2,0,2,1,Gd,5,Typ,1,Gd,Attchd,2006,RFn,2,466,TA,TA,Y,0,241,0,0,0,0,NA,NA,NA,0,4,2007,New,Partial,208900 +1319,20,RL,NA,14781,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2001,2002,Hip,CompShg,VinylSd,VinylSd,BrkFace,178,Gd,TA,PConc,Gd,TA,Gd,Unf,0,Unf,0,1753,1753,GasA,Ex,Y,SBrkr,1787,0,0,1787,0,0,2,0,3,1,Gd,7,Typ,1,TA,Attchd,2001,RFn,3,748,TA,TA,Y,198,150,0,0,0,0,NA,NA,NA,0,8,2006,WD,Normal,275000 +1320,20,RL,75,10215,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,4,5,1954,1954,Hip,CompShg,Wd Sdng,Wd Sdng,BrkFace,132,TA,TA,PConc,TA,TA,No,ALQ,492,Unf,0,372,864,GasA,Ex,Y,SBrkr,948,0,0,948,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1954,Unf,1,248,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,2,2007,WD,Normal,111000 +1321,20,RL,70,8400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,3,1957,1957,Hip,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,ALQ,189,Rec,661,628,1478,GasA,Gd,Y,SBrkr,1478,0,0,1478,1,0,1,1,3,1,TA,6,Typ,2,Gd,Attchd,1957,RFn,2,442,TA,TA,Y,114,0,0,0,216,0,NA,NA,NA,0,6,2009,WD,Normal,156500 +1322,20,RL,NA,6627,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,BrkSide,Feedr,Norm,1Fam,1Story,3,6,1949,1950,Hip,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,NA,NA,NA,NA,0,NA,0,0,0,Floor,TA,N,SBrkr,720,0,0,720,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1955,Unf,1,287,TA,Fa,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,72500 +1323,60,RL,107,10186,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,7,5,1992,1992,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,674,Unf,0,76,750,GasA,Ex,Y,SBrkr,1061,862,0,1923,1,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1992,RFn,2,564,TA,TA,Y,240,39,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,190000 +1324,30,RL,50,5330,Pave,NA,Reg,HLS,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1Story,4,7,1940,1950,Hip,CompShg,VinylSd,VinylSd,None,0,Fa,TA,CBlock,TA,TA,No,LwQ,280,Unf,0,140,420,GasA,Gd,Y,SBrkr,708,0,0,708,0,0,1,0,2,1,Fa,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,164,0,0,0,0,0,NA,NA,NA,0,12,2009,WD,Normal,82500 +1325,20,RL,75,9986,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,BrkFace,428,Gd,TA,PConc,Ex,TA,Av,Unf,0,Unf,0,1795,1795,GasA,Ex,Y,SBrkr,1795,0,0,1795,0,0,2,0,2,1,Gd,7,Typ,1,Gd,Attchd,2007,RFn,3,895,TA,TA,Y,0,49,0,0,0,0,NA,NA,NA,0,2,2007,New,Partial,147000 +1326,30,RM,40,3636,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1Story,4,4,1922,1950,Gable,CompShg,AsbShng,AsbShng,None,0,TA,TA,BrkTil,TA,Fa,No,Unf,0,Unf,0,796,796,GasA,Fa,N,SBrkr,796,0,0,796,0,0,1,0,2,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,0,100,0,0,0,NA,MnPrv,NA,0,1,2008,WD,Normal,55000 +1327,30,RH,70,4270,Pave,NA,Reg,Bnk,AllPub,Inside,Mod,Edwards,Norm,Norm,1Fam,1Story,3,6,1931,2006,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,No,Rec,544,Unf,0,0,544,GasA,Ex,Y,SBrkr,774,0,0,774,0,0,1,0,3,1,Gd,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,286,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,79000 +1328,20,RL,60,6600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,9,1982,2008,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,Gd,CBlock,TA,TA,No,ALQ,641,Unf,0,175,816,GasA,Ex,Y,SBrkr,816,0,0,816,0,1,1,0,3,1,Gd,5,Typ,1,Ex,Attchd,1982,Unf,1,264,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,10,2008,WD,Normal,130500 +1329,50,RM,60,10440,Pave,Grvl,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1.5Fin,6,7,1920,1950,Gable,CompShg,BrkFace,Wd Sdng,None,0,Gd,Gd,BrkTil,Gd,TA,No,LwQ,493,Unf,0,1017,1510,GasW,Ex,Y,SBrkr,1584,1208,0,2792,0,0,2,0,5,1,TA,8,Mod,2,TA,Detchd,1920,Unf,2,520,Fa,TA,Y,0,547,0,0,480,0,NA,MnPrv,Shed,1150,6,2008,WD,Normal,256000 +1330,60,RL,63,9084,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,7,5,1998,1998,Hip,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,935,935,GasA,Gd,Y,SBrkr,955,677,0,1632,0,0,2,1,3,1,TA,8,Typ,1,TA,Attchd,1998,Fin,2,462,TA,TA,Y,0,28,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,176500 +1331,20,RL,85,10000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,Stone,410,Gd,TA,PConc,Gd,Gd,Av,Unf,0,Unf,0,1588,1588,GasA,Ex,Y,SBrkr,1588,0,0,1588,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2006,RFn,3,825,TA,TA,Y,144,45,0,0,0,0,NA,NA,NA,0,12,2007,WD,Normal,227000 +1332,80,RL,55,10780,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,SLvl,5,5,1976,1976,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,Av,ALQ,483,Unf,0,428,911,GasA,Gd,Y,SBrkr,954,0,0,954,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1976,Unf,2,576,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,132500 +1333,20,RL,67,8877,Pave,NA,Reg,Lvl,AllPub,Inside,Mod,Edwards,Norm,Norm,1Fam,1Story,4,6,1938,1958,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,Mn,ALQ,690,Unf,0,126,816,GasA,Ex,Y,SBrkr,816,0,0,816,1,0,1,0,2,1,TA,3,Typ,1,Gd,Detchd,1958,Unf,1,288,Fa,Fa,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,100000 +1334,50,RM,60,7200,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,5,6,1938,1995,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,803,803,GasA,Ex,Y,SBrkr,803,557,0,1360,0,0,1,1,2,1,Gd,6,Typ,0,NA,Detchd,1951,Unf,1,297,TA,TA,Y,0,65,190,0,0,0,NA,MnPrv,NA,0,7,2006,WD,Normal,125500 +1335,160,RM,24,2368,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,TwnhsE,2Story,5,6,1970,1970,Gable,CompShg,HdBoard,HdBoard,None,312,TA,TA,CBlock,TA,TA,No,LwQ,765,Unf,0,0,765,GasA,TA,Y,SBrkr,765,600,0,1365,0,0,1,1,3,1,TA,7,Min1,0,NA,Attchd,1970,Unf,2,440,TA,TA,Y,0,36,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,125000 +1336,20,RL,80,9650,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,5,1977,1977,Gable,CompShg,Plywood,Plywood,BrkFace,360,TA,TA,CBlock,Gd,TA,No,ALQ,686,Unf,0,664,1350,GasA,TA,Y,SBrkr,1334,0,0,1334,0,1,2,0,2,1,TA,6,Typ,1,TA,Attchd,1977,RFn,2,630,TA,TA,Y,0,16,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal,167900 +1337,90,RL,87,9246,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Feedr,Norm,Duplex,1Story,5,5,1973,1973,Gable,CompShg,Plywood,Plywood,BrkFace,564,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1656,1656,GasA,TA,Y,SBrkr,1656,0,0,1656,0,0,2,0,4,2,TA,8,Typ,0,NA,Detchd,1973,Unf,2,506,TA,TA,Y,0,211,0,0,0,0,NA,NA,NA,0,11,2008,WD,Normal,135000 +1338,30,RM,153,4118,Pave,Grvl,IR1,Bnk,AllPub,Corner,Mod,OldTown,Feedr,Norm,1Fam,1Story,4,4,1941,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,693,693,Grav,Fa,N,FuseA,693,0,0,693,0,0,1,0,2,1,Fa,4,Typ,0,NA,NA,NA,NA,0,0,NA,NA,N,0,20,0,0,0,0,NA,NA,NA,0,3,2006,WD,Normal,52500 +1339,60,RL,95,13450,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,700,Unf,0,216,916,GasA,Ex,Y,SBrkr,920,941,0,1861,1,0,2,1,3,1,Gd,8,Typ,0,NA,BuiltIn,2002,RFn,2,492,TA,TA,Y,146,91,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,200000 +1340,20,RL,120,9560,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,1Story,5,7,1972,1972,Hip,CompShg,MetalSd,MetalSd,None,0,TA,Gd,CBlock,TA,TA,Mn,Rec,360,Unf,0,504,864,GasA,Ex,Y,SBrkr,864,0,0,864,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1972,RFn,1,288,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,128500 +1341,20,RL,70,8294,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,5,1971,1971,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,858,858,GasA,TA,Y,SBrkr,872,0,0,872,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1974,Unf,4,480,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,6,2007,WD,Normal,123000 +1342,20,RL,66,13695,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SawyerW,RRAe,Norm,1Fam,1Story,6,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,GLQ,814,Unf,0,300,1114,GasA,Ex,Y,SBrkr,1114,0,0,1114,1,0,1,0,3,1,Gd,6,Typ,0,NA,Detchd,2004,Unf,2,576,TA,TA,Y,0,78,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,155000 +1343,60,RL,NA,9375,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,2002,2002,Gable,CompShg,VinylSd,VinylSd,BrkFace,149,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1284,1284,GasA,Ex,Y,SBrkr,1284,885,0,2169,0,0,2,1,3,1,Gd,7,Typ,1,Gd,Attchd,2002,RFn,2,647,TA,TA,Y,192,87,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,228500 +1344,50,RL,57,7558,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1.5Fin,6,6,1928,1950,Gable,CompShg,BrkFace,Stone,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,896,896,GasA,Gd,Y,SBrkr,1172,741,0,1913,0,0,1,1,3,1,TA,9,Typ,1,TA,Detchd,1929,Unf,2,342,Fa,Fa,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2009,WD,Normal,177000 +1345,60,RL,85,11103,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,728,728,GasA,Ex,Y,SBrkr,728,728,0,1456,0,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,2006,Fin,2,440,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,7,2007,New,Partial,155835 +1346,30,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,4,4,1920,1950,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,PConc,TA,TA,No,ALQ,250,Unf,0,710,960,GasA,Gd,Y,FuseA,960,0,0,960,0,0,1,0,2,1,Fa,5,Typ,0,NA,Detchd,1997,Unf,1,308,TA,TA,Y,0,0,168,0,0,0,NA,NA,NA,0,7,2007,WD,Normal,108500 +1347,20,RL,NA,20781,Pave,NA,IR2,Lvl,AllPub,CulDSac,Gtl,NWAmes,PosN,Norm,1Fam,1Story,7,7,1968,2003,Hip,CompShg,BrkFace,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,BLQ,297,Rec,68,1203,1568,GasA,TA,Y,SBrkr,2156,0,0,2156,0,0,2,0,3,1,TA,9,Typ,1,Gd,Attchd,1968,RFn,2,508,Gd,TA,Y,0,80,0,290,0,0,NA,NA,NA,0,6,2006,WD,Normal,262500 +1348,20,RL,93,15306,Pave,NA,IR1,HLS,AllPub,Corner,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,Stone,100,Gd,TA,PConc,Ex,TA,Gd,GLQ,80,Unf,0,1652,1732,GasA,Ex,Y,SBrkr,1776,0,0,1776,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2006,Fin,3,712,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2007,New,Partial,283463 +1349,20,RL,NA,16196,Pave,NA,IR3,Low,AllPub,Inside,Gtl,SawyerW,Norm,Norm,1Fam,1Story,7,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,Gd,GLQ,1443,Unf,0,39,1482,GasA,Ex,Y,SBrkr,1494,0,0,1494,1,0,2,0,3,1,Gd,5,Typ,1,Fa,Attchd,1998,RFn,2,514,TA,TA,Y,402,25,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,215000 +1350,70,RM,50,5250,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,8,5,1872,1987,Gable,CompShg,MetalSd,MetalSd,None,0,TA,Gd,BrkTil,TA,Fa,No,LwQ,259,Unf,0,425,684,OthW,Fa,N,SBrkr,938,1215,205,2358,0,0,2,0,4,1,TA,8,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,54,20,0,0,0,NA,NA,NA,0,12,2008,WD,Normal,122000 +1351,90,RL,91,11643,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Artery,Norm,Duplex,2Story,5,5,1969,1969,Gable,CompShg,MetalSd,MetalSd,BrkFace,368,TA,TA,CBlock,TA,TA,No,LwQ,500,Unf,0,748,1248,GasA,TA,Y,SBrkr,1338,1296,0,2634,1,1,2,2,6,2,TA,12,Typ,0,NA,Detchd,1969,Unf,4,968,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2009,WD,Normal,200000 +1352,60,RL,70,9247,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,2Story,6,6,1962,1962,Gable,CompShg,HdBoard,HdBoard,BrkFace,318,TA,TA,CBlock,TA,TA,No,Rec,319,Unf,0,539,858,GasA,Ex,Y,SBrkr,858,858,0,1716,0,0,1,1,4,1,TA,8,Typ,1,Gd,Attchd,1962,Fin,2,490,TA,TA,Y,0,84,0,0,120,0,NA,NA,NA,0,3,2008,WD,Normal,171000 +1353,50,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,9,1937,2000,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,698,698,GasA,TA,Y,SBrkr,786,390,0,1176,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1999,Unf,2,624,TA,TA,N,210,0,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,134900 +1354,50,RL,56,14720,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NoRidge,Norm,Norm,1Fam,1.5Fin,8,5,1995,1996,Hip,CompShg,VinylSd,VinylSd,BrkFace,579,Gd,TA,PConc,Gd,TA,Av,GLQ,816,Unf,0,1217,2033,GasA,Ex,Y,SBrkr,2053,1185,0,3238,1,0,2,1,4,1,Gd,9,Typ,1,Ex,Attchd,1996,Fin,3,666,TA,TA,Y,283,86,0,0,0,0,NA,NA,NA,0,3,2010,WD,Normal,410000 +1355,60,RL,NA,10316,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,735,Unf,0,257,992,GasA,Ex,Y,SBrkr,992,873,0,1865,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,2000,RFn,3,839,TA,TA,Y,0,184,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,235000 +1356,80,RL,102,10192,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,SLvl,7,6,1968,1992,Gable,CompShg,MetalSd,MetalSd,BrkFace,143,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,570,570,GasA,Gd,Y,SBrkr,1222,698,0,1920,0,0,3,0,4,1,Gd,8,Typ,1,TA,Attchd,1968,RFn,2,487,TA,TA,Y,0,98,0,0,0,0,NA,GdPrv,NA,0,9,2006,WD,Normal,170000 +1357,20,RL,NA,9477,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1966,1966,Gable,CompShg,HdBoard,HdBoard,BrkFace,65,TA,TA,CBlock,TA,TA,No,Rec,340,Unf,0,524,864,GasA,TA,Y,SBrkr,892,0,0,892,0,0,1,0,3,1,TA,5,Typ,0,NA,Attchd,1966,RFn,1,264,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,10,2008,WD,Normal,110000 +1358,20,RL,NA,12537,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1971,2008,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,No,GLQ,734,Unf,0,344,1078,GasA,Ex,Y,SBrkr,1078,0,0,1078,1,0,1,1,3,1,TA,6,Typ,1,Fa,Attchd,1971,Fin,2,500,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,149900 +1359,160,FV,NA,2117,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,Twnhs,2Story,6,5,2000,2000,Gable,CompShg,MetalSd,MetalSd,BrkFace,216,Gd,TA,PConc,Gd,TA,No,GLQ,378,Unf,0,378,756,GasA,Ex,Y,SBrkr,769,804,0,1573,0,0,2,1,3,1,Gd,5,Typ,0,NA,Detchd,2000,Unf,2,440,TA,TA,Y,0,32,0,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,177500 +1360,20,RL,129,16737,Pave,NA,Reg,Lvl,AllPub,FR3,Gtl,NridgHt,Norm,Norm,1Fam,1Story,9,5,2004,2005,Hip,CompShg,VinylSd,VinylSd,BrkFace,66,Gd,TA,PConc,Ex,TA,Av,GLQ,1447,Unf,0,533,1980,GasA,Ex,Y,SBrkr,1980,0,0,1980,1,0,2,0,3,1,Ex,8,Typ,1,Gd,Attchd,2004,Fin,3,770,TA,TA,Y,194,45,0,0,0,0,NA,NA,NA,0,9,2006,WD,Normal,315000 +1361,70,RL,51,9842,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Feedr,Norm,1Fam,2Story,5,6,1921,1998,Gable,CompShg,MetalSd,Wd Sdng,None,0,TA,TA,BrkTil,TA,Fa,No,Unf,0,Unf,0,612,612,GasA,Ex,Y,SBrkr,990,1611,0,2601,0,0,3,1,4,1,TA,8,Typ,0,NA,BuiltIn,1998,RFn,2,621,TA,TA,Y,183,0,301,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,189000 +1362,20,RL,124,16158,Pave,NA,IR1,Low,AllPub,Inside,Mod,StoneBr,Norm,Norm,1Fam,1Story,7,5,2005,2005,Hip,CompShg,VinylSd,VinylSd,Stone,16,Gd,TA,PConc,Ex,TA,Av,ALQ,1274,Unf,0,256,1530,GasA,Ex,Y,SBrkr,1530,0,0,1530,1,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2005,Fin,2,430,TA,TA,Y,168,36,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,260000 +1363,50,RL,NA,12513,Pave,NA,IR1,Lvl,AllPub,FR2,Gtl,NAmes,Feedr,Norm,1Fam,1.5Fin,4,4,1920,2007,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,BrkTil,TA,Fa,No,Unf,0,Unf,0,715,715,GasA,Gd,Y,SBrkr,1281,457,0,1738,0,0,2,0,4,1,TA,7,Typ,1,Gd,Attchd,1920,Unf,1,368,TA,TA,Y,55,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,104900 +1364,60,RL,73,8499,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,616,616,GasA,Ex,Y,SBrkr,616,796,0,1412,0,0,2,1,3,1,Gd,6,Typ,1,Gd,BuiltIn,2007,Fin,2,432,TA,TA,Y,0,36,0,0,0,0,NA,NA,NA,0,3,2007,New,Partial,156932 +1365,160,FV,30,3180,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,TwnhsE,2Story,7,5,2005,2005,Gable,CompShg,MetalSd,MetalSd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,600,600,GasA,Ex,Y,SBrkr,520,600,80,1200,0,0,2,1,2,1,Gd,4,Typ,0,NA,Detchd,2005,RFn,2,480,TA,TA,Y,0,166,0,0,0,0,NA,NA,NA,0,4,2006,WD,Abnorml,144152 +1366,60,FV,NA,7500,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,533,Unf,0,281,814,GasA,Ex,Y,SBrkr,814,860,0,1674,1,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,2000,RFn,2,663,TA,TA,Y,0,96,0,0,0,0,NA,NA,NA,0,1,2010,WD,Normal,216000 +1367,60,RL,68,9179,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,1999,1999,Gable,CompShg,VinylSd,VinylSd,BrkFace,158,Gd,TA,PConc,Gd,TA,No,GLQ,633,Unf,0,240,873,GasA,Ex,Y,SBrkr,882,908,0,1790,1,0,2,1,3,1,Gd,7,Typ,0,NA,Attchd,1999,RFn,2,588,TA,TA,Y,0,88,0,0,0,0,NA,NA,NA,0,6,2008,WD,Abnorml,193000 +1368,160,RM,41,2665,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,TwnhsE,2Story,5,6,1977,1977,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,PConc,TA,TA,No,ALQ,548,Rec,173,36,757,GasA,Ex,Y,SBrkr,925,550,0,1475,0,0,2,0,4,1,TA,6,Typ,1,TA,Attchd,1977,RFn,1,336,TA,TA,Y,104,26,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,127000 +1369,120,RM,NA,4435,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,TwnhsE,1Story,6,5,2003,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,170,Gd,TA,PConc,Gd,TA,Av,GLQ,685,Unf,0,163,848,GasA,Ex,Y,SBrkr,848,0,0,848,1,0,1,0,1,1,Gd,4,Typ,0,NA,Attchd,2003,Fin,2,420,TA,TA,Y,140,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,144000 +1370,20,RL,48,10635,Pave,NA,IR2,Lvl,AllPub,FR2,Gtl,CollgCr,Norm,Norm,1Fam,1Story,8,5,2003,2003,Hip,CompShg,VinylSd,VinylSd,BrkFace,171,Gd,TA,PConc,Gd,TA,Av,BLQ,370,GLQ,972,315,1657,GasA,Ex,Y,SBrkr,1668,0,0,1668,1,0,2,0,3,1,Gd,8,Typ,1,TA,Attchd,2003,Fin,2,502,TA,TA,Y,0,262,0,0,0,0,NA,NA,NA,0,5,2010,WD,Normal,232000 +1371,50,RL,90,5400,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Artery,Norm,1Fam,1.5Fin,4,6,1920,1950,Gable,CompShg,CBlock,CBlock,None,0,Fa,TA,PConc,TA,TA,No,ALQ,315,Rec,105,420,840,GasA,Ex,Y,SBrkr,840,534,0,1374,0,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1967,Fin,1,338,TA,TA,Y,0,0,198,0,0,0,NA,NA,NA,0,10,2009,WD,Normal,105000 +1372,80,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SLvl,6,6,1955,1996,Hip,CompShg,AsbShng,AsbShng,None,0,TA,TA,CBlock,TA,TA,Av,BLQ,831,Unf,0,161,992,GasA,Gd,Y,SBrkr,1661,0,0,1661,1,0,1,0,3,1,Gd,8,Typ,1,TA,BuiltIn,1955,RFn,1,377,TA,TA,Y,0,28,0,0,178,0,NA,MnPrv,NA,0,10,2008,WD,Normal,165500 +1373,60,RL,75,9750,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,6,1998,1998,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,Av,GLQ,975,Unf,0,133,1108,GasA,Ex,Y,SBrkr,1108,989,0,2097,1,0,2,1,3,1,Gd,8,Typ,1,TA,Detchd,1998,RFn,2,583,TA,TA,Y,253,170,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,274300 +1374,20,RL,NA,11400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,1Story,10,5,2001,2002,Hip,CompShg,VinylSd,VinylSd,BrkFace,705,Ex,TA,PConc,Ex,TA,Gd,GLQ,1282,Unf,0,1351,2633,GasA,Ex,Y,SBrkr,2633,0,0,2633,1,0,2,1,2,1,Ex,8,Typ,2,Gd,Attchd,2001,RFn,3,804,TA,TA,Y,314,140,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal,466500 +1375,60,FV,85,10625,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,7,5,2005,2005,Gable,CompShg,CemntBd,CmentBd,None,0,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1026,1026,GasA,Ex,Y,SBrkr,1026,932,0,1958,0,0,2,1,3,1,Gd,9,Typ,1,Gd,Attchd,2005,Fin,3,936,TA,TA,Y,154,210,0,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,250000 +1376,20,RL,89,10991,Pave,NA,IR1,HLS,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,BrkFace,80,Gd,TA,PConc,Gd,TA,Gd,Unf,0,Unf,0,1571,1571,GasA,Ex,Y,SBrkr,1571,0,0,1571,0,0,2,0,3,1,Gd,7,Typ,1,Gd,Attchd,2007,Fin,3,722,TA,TA,Y,100,36,0,0,0,0,NA,NA,NA,0,12,2007,New,Partial,239000 +1377,30,RL,52,6292,Pave,NA,Reg,Bnk,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1Story,6,5,1930,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Gd,TA,Mn,Rec,384,Unf,0,384,768,GasA,TA,N,SBrkr,790,0,0,790,0,0,1,0,2,1,TA,4,Typ,0,NA,Detchd,1925,Unf,1,160,Fa,TA,Y,0,141,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal,91000 +1378,50,RL,60,10998,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,5,5,1941,1960,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,LwQ,408,BLQ,420,156,984,GasA,Ex,Y,SBrkr,984,620,0,1604,0,0,2,0,3,1,TA,6,Min2,0,NA,Detchd,1977,Unf,2,660,TA,TA,Y,0,68,0,0,0,0,NA,NA,NA,0,7,2009,WD,Normal,117000 +1379,160,RM,21,1953,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrDale,Norm,Norm,Twnhs,2Story,6,5,1973,1973,Gable,CompShg,HdBoard,HdBoard,BrkFace,408,TA,TA,CBlock,TA,Fa,No,BLQ,309,Unf,0,174,483,GasA,TA,Y,SBrkr,483,504,0,987,0,0,1,1,2,1,TA,5,Typ,0,NA,Detchd,1973,Unf,1,264,TA,TA,Y,72,0,0,0,0,0,NA,NA,NA,0,6,2006,WD,Normal,83000 +1380,80,RL,73,9735,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,SLvl,5,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,384,384,GasA,Gd,Y,NA,754,640,0,1394,0,0,2,1,3,1,Gd,7,Typ,0,NA,BuiltIn,2007,Fin,2,400,TA,TA,Y,100,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,167500 +1381,30,RL,45,8212,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,3,3,1914,1950,Gable,CompShg,Stucco,Stucco,None,0,TA,Fa,BrkTil,TA,Fa,No,Rec,203,Unf,0,661,864,GasA,TA,N,FuseF,864,0,0,864,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1938,Unf,1,200,TA,Fa,Y,0,0,96,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,58500 +1382,20,RL,NA,12925,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,7,1970,1970,Gable,CompShg,BrkFace,Plywood,None,0,TA,TA,CBlock,TA,TA,Mn,BLQ,865,Unf,0,340,1205,GasA,Ex,Y,SBrkr,2117,0,0,2117,0,0,2,1,4,1,TA,7,Typ,2,Gd,Attchd,1970,Fin,2,550,TA,TA,Y,0,42,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,237500 +1383,70,RM,60,7200,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,2Story,7,7,1920,1950,Hip,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Fa,TA,No,Unf,0,Unf,0,596,596,GasA,Ex,Y,SBrkr,998,764,0,1762,1,0,1,1,4,1,Gd,8,Typ,0,NA,Detchd,1989,Unf,2,576,TA,TA,N,36,0,221,0,0,0,NA,NA,NA,0,10,2006,WD,Normal,157000 +1384,30,RL,NA,25339,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,1Story,5,7,1918,2007,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,BrkTil,TA,TA,No,Unf,0,Unf,0,816,816,GasA,Ex,Y,SBrkr,1416,0,0,1416,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2007,Unf,2,576,TA,TA,N,0,0,112,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,112000 +1385,50,RL,60,9060,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1.5Fin,6,5,1939,1950,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,BrkTil,TA,TA,Mn,Rec,204,Unf,0,356,560,GasA,TA,Y,SBrkr,698,560,0,1258,0,0,1,0,2,1,TA,6,Typ,0,NA,Detchd,1939,Unf,1,280,TA,TA,P,0,0,0,0,0,0,NA,MnPrv,NA,0,10,2009,WD,Normal,105000 +1386,50,RM,40,5436,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,IDOTRR,Norm,Norm,1Fam,1.5Fin,4,8,1922,2007,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,BrkTil,TA,TA,No,BLQ,735,Unf,0,61,796,GasA,Gd,Y,SBrkr,796,358,0,1154,1,0,1,0,3,1,Gd,7,Typ,0,NA,Detchd,1922,Unf,1,240,TA,TA,N,0,96,0,0,0,0,NA,MnPrv,NA,0,5,2010,WD,Normal,125500 +1387,60,RL,80,16692,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NWAmes,RRAn,Norm,1Fam,2Story,7,5,1978,1978,Gable,CompShg,Plywood,Plywood,BrkFace,184,TA,TA,CBlock,Gd,TA,No,BLQ,790,LwQ,469,133,1392,GasA,TA,Y,SBrkr,1392,1392,0,2784,1,0,3,1,5,1,Gd,12,Typ,2,TA,Attchd,1978,RFn,2,564,TA,TA,Y,0,112,0,0,440,519,Fa,MnPrv,TenC,2000,7,2006,WD,Normal,250000 +1388,50,RM,60,8520,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1.5Fin,6,7,1916,1950,Gable,CompShg,Stucco,Stucco,None,0,TA,Gd,BrkTil,TA,TA,No,Rec,168,LwQ,546,0,714,GasW,TA,N,SBrkr,1664,862,0,2526,0,0,2,0,5,1,Gd,10,Typ,1,Gd,Detchd,1916,Unf,1,216,TA,TA,Y,88,15,0,0,0,0,NA,GdWo,NA,0,8,2007,CWD,Family,136000 +1389,20,RL,42,14892,Pave,NA,IR1,HLS,AllPub,CulDSac,Gtl,Gilbert,Norm,Norm,1Fam,1Story,9,5,2006,2007,Gable,CompShg,VinylSd,VinylSd,Stone,160,Ex,TA,PConc,Ex,TA,Gd,GLQ,1320,Unf,0,426,1746,GasA,Ex,Y,SBrkr,1746,0,0,1746,1,0,2,0,3,1,Ex,7,Typ,2,Gd,Attchd,2006,Fin,3,758,TA,TA,Y,201,39,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal,377500 +1390,50,RM,60,6000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,6,1941,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,Gd,BrkTil,TA,Gd,No,ALQ,375,Unf,0,360,735,GasA,Ex,Y,SBrkr,869,349,0,1218,0,1,1,0,3,1,TA,6,Typ,1,Gd,Detchd,2003,Unf,2,440,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,3,2007,WD,Normal,131000 +1391,20,RL,70,9100,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,244,Gd,TA,PConc,Gd,TA,Av,GLQ,1400,Unf,0,125,1525,GasA,Ex,Y,SBrkr,1525,0,0,1525,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2000,RFn,2,541,TA,TA,Y,219,36,0,0,0,0,NA,NA,NA,0,9,2006,WD,Normal,235000 +1392,90,RL,65,8944,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,Duplex,1Story,5,5,1967,1967,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1584,1584,GasA,TA,Y,SBrkr,1584,0,0,1584,0,0,2,0,4,2,TA,8,Mod,0,NA,Detchd,1967,Unf,3,792,TA,TA,Y,0,152,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal,124000 +1393,85,RL,68,7838,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,SFoyer,5,5,1967,1967,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,Av,ALQ,769,Unf,0,95,864,GasA,TA,Y,SBrkr,900,0,0,900,1,0,1,0,3,1,TA,6,Typ,1,Po,Attchd,1967,RFn,1,288,TA,TA,Y,175,144,0,0,0,0,NA,MnWw,NA,0,12,2006,WD,Normal,123000 +1394,190,RM,60,10800,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,2fmCon,1.5Fin,6,7,1905,2000,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,Fa,TA,No,Unf,0,Unf,0,482,482,GasA,Ex,N,SBrkr,1221,691,0,1912,0,0,2,0,3,2,TA,7,Typ,1,TA,Detchd,2003,Unf,2,672,Gd,TA,Y,0,25,212,0,0,0,NA,NA,NA,0,4,2008,WD,Normal,163000 +1395,120,RL,53,4045,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2006,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,45,Gd,TA,PConc,Gd,TA,Av,GLQ,1070,Unf,0,286,1356,GasA,Ex,Y,SBrkr,1500,0,0,1500,1,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2006,Fin,3,648,TA,TA,Y,161,20,0,0,0,0,NA,NA,NA,0,10,2006,New,Partial,246578 +1396,60,RL,88,12665,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Timber,Norm,Norm,1Fam,2Story,8,5,2005,2006,Hip,CompShg,VinylSd,VinylSd,BrkFace,245,Gd,TA,PConc,Gd,Gd,Gd,Unf,0,Unf,0,1094,1094,GasA,Ex,Y,SBrkr,1133,1349,0,2482,0,0,2,1,4,1,Gd,9,Typ,1,Gd,BuiltIn,2005,Fin,3,642,TA,TA,Y,144,39,0,0,0,0,NA,NA,NA,0,2,2007,WD,Normal,281213 +1397,20,RL,NA,57200,Pave,NA,IR1,Bnk,AllPub,Inside,Sev,Timber,Norm,Norm,1Fam,1Story,5,5,1948,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,Av,BLQ,353,Rec,334,60,747,GasA,TA,Y,SBrkr,1687,0,0,1687,1,0,1,0,3,1,TA,7,Min1,2,TA,Detchd,1966,Unf,2,572,TA,TA,N,0,0,50,0,0,0,NA,NA,NA,0,6,2010,WD,Normal,160000 +1398,70,RM,51,6120,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,2Story,5,8,1920,2004,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,TA,TA,Mn,Unf,0,Unf,0,939,939,GasA,Ex,Y,SBrkr,939,574,0,1513,0,0,1,1,4,1,TA,8,Typ,0,NA,Detchd,1933,Unf,1,180,Fa,Fa,N,24,0,150,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,137500 +1399,50,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1.5Fin,5,4,1950,1982,Gable,CompShg,VinylSd,Wd Sdng,None,0,TA,TA,CBlock,TA,TA,No,Rec,180,BLQ,352,676,1208,GasA,Gd,Y,FuseA,1136,768,0,1904,1,0,1,1,3,1,TA,7,Min1,0,NA,Attchd,1950,Unf,1,240,TA,TA,Y,0,0,168,0,0,0,NA,GdPrv,NA,0,5,2009,WD,Normal,138000 +1400,50,RL,51,6171,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,SWISU,Norm,Norm,1Fam,1.5Fin,6,6,1925,1990,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,BrkTil,TA,TA,No,BLQ,264,Unf,0,712,976,GasA,Ex,Y,SBrkr,1160,448,0,1608,0,0,2,1,3,1,Gd,7,Typ,1,Gd,Detchd,1925,Unf,1,216,Fa,TA,Y,147,16,0,0,0,0,NA,MnPrv,NA,0,10,2009,WD,Normal,137450 +1401,50,RM,50,6000,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,7,1929,1950,Gable,CompShg,WdShing,Wd Shng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,862,862,GasA,TA,Y,SBrkr,950,208,0,1158,0,0,1,0,3,1,TA,5,Typ,1,Gd,BuiltIn,1929,RFn,1,208,TA,TA,Y,0,0,112,0,0,0,NA,NA,NA,0,7,2008,WD,Normal,120000 +1402,60,RL,62,7415,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,TA,TA,No,GLQ,759,Unf,0,80,839,GasA,Ex,Y,SBrkr,864,729,0,1593,1,0,2,1,3,1,TA,8,Typ,1,TA,Attchd,2004,Fin,2,398,TA,TA,Y,100,75,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal,193000 +1403,20,RL,64,6762,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,Gd,Av,Unf,0,Unf,0,1286,1286,GasA,Ex,Y,SBrkr,1294,0,0,1294,0,0,2,0,2,1,Gd,6,Typ,1,Gd,Attchd,2006,RFn,2,662,TA,TA,Y,168,55,0,0,0,0,NA,NA,NA,0,7,2006,New,Partial,193879 +1404,20,RL,49,15256,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Somerst,RRAn,Norm,1Fam,1Story,8,5,2007,2007,Gable,CompShg,VinylSd,VinylSd,Stone,84,Gd,TA,PConc,Gd,TA,Gd,GLQ,929,Unf,0,556,1485,GasA,Ex,Y,SBrkr,1464,0,0,1464,1,0,2,0,3,1,Gd,6,Typ,0,NA,Attchd,2007,Unf,3,754,TA,TA,Y,168,160,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,282922 +1405,50,RL,60,10410,Pave,Grvl,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Artery,Norm,1Fam,1.5Fin,3,4,1915,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,672,672,GasA,TA,Y,SBrkr,694,520,0,1214,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1998,Unf,3,936,TA,TA,Y,216,0,160,0,0,0,NA,MnPrv,NA,0,1,2006,WD,Family,105000 +1406,120,RM,44,3842,Pave,NA,IR1,HLS,AllPub,Inside,Mod,Crawfor,Norm,Norm,TwnhsE,1Story,8,5,2004,2005,Hip,CompShg,CemntBd,CmentBd,Stone,174,Gd,TA,PConc,Ex,TA,Gd,GLQ,1373,Unf,0,221,1594,GasA,Ex,Y,SBrkr,1646,0,0,1646,1,1,2,0,2,1,Gd,5,Typ,1,Gd,Attchd,2004,Fin,2,482,TA,TA,Y,128,53,0,0,155,0,NA,NA,NA,0,1,2008,WD,Normal,275000 +1407,85,RL,70,8445,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,CollgCr,Norm,Norm,1Fam,SFoyer,5,7,1972,2007,Gable,CompShg,HdBoard,Wd Shng,None,0,TA,TA,CBlock,Gd,TA,Av,GLQ,656,Unf,0,112,768,GasA,TA,Y,SBrkr,768,0,0,768,1,0,1,0,2,1,TA,5,Typ,0,NA,Detchd,1988,Unf,2,396,TA,TA,Y,58,0,0,0,0,0,NA,MnPrv,NA,0,3,2009,WD,Normal,133000 +1408,20,RL,NA,8780,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,5,1985,1985,Gable,CompShg,HdBoard,Plywood,None,0,TA,TA,CBlock,TA,TA,No,ALQ,625,Unf,0,208,833,GasA,Ex,Y,SBrkr,833,0,0,833,1,0,1,0,3,1,TA,5,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,3,2009,WD,Normal,112000 +1409,70,RM,60,7740,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,2Story,4,7,1910,1950,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,Fa,TA,No,Unf,0,Unf,0,622,622,GasA,Gd,Y,SBrkr,741,622,0,1363,0,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1966,Unf,2,528,TA,TA,Y,0,0,0,0,168,0,NA,NA,NA,0,6,2010,WD,Normal,125500 +1410,60,RL,46,20544,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,NWAmes,Norm,Norm,1Fam,2Story,7,6,1986,1991,Gable,CompShg,Plywood,Plywood,BrkFace,123,TA,Gd,CBlock,Gd,TA,No,Unf,0,Unf,0,791,791,GasA,Gd,Y,SBrkr,1236,857,0,2093,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1986,Fin,2,542,TA,TA,Y,364,63,0,0,0,0,NA,MnPrv,NA,0,11,2008,WD,Normal,215000 +1411,60,RL,79,12420,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,7,5,2001,2001,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,666,Unf,0,278,944,GasA,Ex,Y,SBrkr,944,896,0,1840,1,0,2,1,3,1,Gd,6,Typ,0,NA,Attchd,2001,RFn,2,622,TA,TA,Y,0,45,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,230000 +1412,50,RL,80,9600,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1.5Fin,6,8,1950,2005,Gable,CompShg,VinylSd,VinylSd,None,0,TA,Gd,CBlock,TA,TA,No,BLQ,120,Unf,0,736,856,GasA,Ex,Y,SBrkr,1112,556,0,1668,0,0,1,1,3,1,TA,6,Min2,0,NA,Attchd,1950,Unf,1,271,TA,TA,Y,0,0,0,0,0,0,NA,MnPrv,NA,0,9,2009,WD,Normal,140000 +1413,90,RL,60,7200,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,Duplex,1Story,4,5,1949,1950,Gable,CompShg,BrkFace,Stone,None,0,TA,TA,Slab,NA,NA,NA,NA,0,NA,0,0,0,Wall,Fa,N,FuseF,1040,0,0,1040,0,0,2,0,2,2,TA,6,Typ,0,NA,Detchd,1956,Unf,2,420,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,6,2009,WD,Normal,90000 +1414,20,RL,88,10994,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,SawyerW,Norm,Norm,1Fam,1Story,8,5,2005,2006,Gable,CompShg,VinylSd,VinylSd,Stone,366,Gd,TA,PConc,Gd,Gd,No,GLQ,976,Unf,0,868,1844,GasA,Ex,Y,SBrkr,1844,0,0,1844,1,0,2,0,2,1,Gd,7,Typ,1,Gd,Attchd,2005,Fin,2,620,TA,TA,Y,165,44,0,0,0,0,NA,NA,NA,0,9,2009,COD,Abnorml,257000 +1415,50,RL,64,13053,Pave,Pave,Reg,Bnk,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Fin,6,7,1923,2000,Gambrel,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,833,833,GasA,Gd,Y,SBrkr,1053,795,0,1848,0,0,1,1,4,1,Gd,8,Typ,1,Gd,Detchd,1922,Unf,2,370,TA,TA,N,0,0,0,0,220,0,NA,NA,NA,0,6,2008,WD,Normal,207000 +1416,120,RL,51,3635,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Blmngtn,Norm,Norm,TwnhsE,1Story,7,5,2007,2007,Hip,CompShg,VinylSd,VinylSd,BrkFace,130,Gd,TA,PConc,Gd,TA,No,ALQ,988,Unf,0,398,1386,GasA,Ex,Y,SBrkr,1569,0,0,1569,0,1,2,0,1,1,Gd,7,Typ,1,TA,Attchd,2007,RFn,3,660,TA,TA,Y,143,20,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,175900 +1417,190,RM,60,11340,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,2fmCon,2Story,4,6,1885,1950,Gable,CompShg,VinylSd,AsbShng,None,0,TA,TA,PConc,TA,TA,No,Unf,0,Unf,0,777,777,GasA,Gd,Y,SBrkr,1246,1044,0,2290,0,0,2,0,4,2,TA,11,Typ,0,NA,Detchd,1971,Unf,2,560,TA,TA,N,0,0,114,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,122500 +1418,60,RL,NA,16545,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,8,5,1998,1998,Gable,CompShg,VinylSd,VinylSd,BrkFace,731,Gd,TA,PConc,Gd,TA,Mn,GLQ,781,Unf,0,503,1284,GasA,Ex,Y,SBrkr,1310,1140,0,2450,1,0,2,1,3,1,Gd,7,Typ,1,TA,Attchd,1998,Fin,3,1069,TA,TA,Y,0,126,0,0,0,0,NA,NA,NA,0,5,2009,WD,Normal,340000 +1419,20,RL,71,9204,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1963,1963,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,BLQ,25,Rec,872,247,1144,GasA,TA,Y,SBrkr,1144,0,0,1144,1,0,1,1,3,1,TA,6,Typ,0,NA,Detchd,1962,Unf,1,336,TA,TA,Y,0,88,0,0,0,0,NA,NA,NA,0,8,2008,COD,Normal,124000 +1420,20,RL,NA,16381,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,1Story,6,5,1969,1969,Gable,CompShg,Plywood,Plywood,BrkFace,312,Gd,Gd,CBlock,TA,TA,Av,Rec,1110,Unf,0,734,1844,GasA,Gd,Y,SBrkr,1844,0,0,1844,1,0,2,0,3,1,Gd,7,Typ,1,TA,Attchd,1969,RFn,2,540,TA,TA,Y,0,73,216,0,0,0,NA,NA,NA,0,12,2006,WD,Normal,223000 +1421,60,RL,90,11700,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,NWAmes,Norm,Norm,1Fam,2Story,6,6,1968,1968,Gable,CompShg,HdBoard,HdBoard,BrkFace,420,TA,TA,CBlock,TA,TA,No,ALQ,404,Unf,0,304,708,GasA,Gd,Y,SBrkr,708,708,0,1416,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1968,RFn,2,776,TA,TA,Y,0,169,0,0,119,0,NA,NA,NA,0,5,2006,WD,Normal,179900 +1422,120,RL,53,4043,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NPkVill,Norm,Norm,TwnhsE,1Story,6,5,1977,1977,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,No,ALQ,360,Unf,0,709,1069,GasA,TA,Y,SBrkr,1069,0,0,1069,0,0,2,0,2,1,TA,4,Typ,1,Fa,Attchd,1977,RFn,2,440,TA,TA,Y,0,55,0,0,165,0,NA,NA,NA,0,7,2010,WD,Normal,127500 +1423,120,RM,37,4435,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,TwnhsE,1Story,6,5,2003,2003,Gable,CompShg,VinylSd,VinylSd,BrkFace,170,Gd,TA,PConc,Gd,TA,Av,GLQ,686,Unf,0,162,848,GasA,Ex,Y,SBrkr,848,0,0,848,1,0,1,0,1,1,Gd,3,Typ,0,NA,Attchd,2003,Fin,2,420,TA,TA,Y,140,0,0,0,0,0,NA,NA,NA,0,3,2008,WD,Normal,136500 +1424,80,RL,NA,19690,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Edwards,Norm,Norm,1Fam,SLvl,6,7,1966,1966,Flat,Tar&Grv,Plywood,Plywood,None,0,Gd,Gd,CBlock,Gd,TA,Av,Unf,0,Unf,0,697,697,GasA,TA,Y,SBrkr,1575,626,0,2201,0,0,2,0,4,1,Gd,8,Typ,1,Gd,Attchd,1966,Unf,2,432,Gd,Gd,Y,586,236,0,0,0,738,Gd,GdPrv,NA,0,8,2006,WD,Alloca,274970 +1425,20,RL,NA,9503,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,5,1958,1983,Hip,CompShg,HdBoard,HdBoard,None,0,TA,TA,CBlock,TA,TA,No,ALQ,457,Rec,374,193,1024,GasA,TA,Y,SBrkr,1344,0,0,1344,1,0,1,0,2,1,TA,6,Min1,1,TA,Detchd,1970,Unf,1,484,TA,TA,Y,316,28,0,0,0,0,NA,GdWo,NA,0,6,2007,WD,Normal,144000 +1426,20,RL,80,10721,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,6,1959,1959,Hip,CompShg,HdBoard,HdBoard,Stone,243,Gd,TA,CBlock,TA,TA,No,Unf,0,Unf,0,1252,1252,GasA,Ex,Y,SBrkr,1252,0,0,1252,0,0,1,0,3,1,Gd,7,Typ,0,NA,Detchd,1960,Unf,2,528,TA,TA,Y,0,39,0,0,0,0,NA,NA,NA,0,10,2008,WD,Normal,142000 +1427,60,RL,81,10944,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NoRidge,Norm,Norm,1Fam,2Story,7,5,1994,1994,Gable,CompShg,VinylSd,VinylSd,BrkFace,448,Gd,TA,PConc,Gd,TA,No,GLQ,1000,Unf,0,223,1223,GasA,Ex,Y,SBrkr,1223,904,0,2127,1,0,2,1,3,1,Gd,5,Typ,2,TA,Attchd,1994,RFn,2,525,TA,TA,Y,171,132,0,0,0,0,NA,NA,NA,0,8,2008,WD,Normal,271000 +1428,50,RL,60,10930,Pave,Grvl,Reg,Bnk,AllPub,Inside,Gtl,NAmes,Artery,Norm,1Fam,1.5Fin,5,6,1945,1950,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,BLQ,580,Unf,0,333,913,GasA,TA,Y,FuseA,1048,510,0,1558,1,0,1,1,3,1,TA,6,Typ,1,TA,Attchd,1962,Unf,1,288,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,4,2008,WD,Normal,140000 +1429,30,RM,60,7200,Pave,NA,Reg,Lvl,AllPub,Corner,Gtl,OldTown,Norm,Norm,1Fam,1Story,5,7,1940,1992,Gable,CompShg,MetalSd,MetalSd,Stone,294,TA,Gd,CBlock,TA,TA,No,BLQ,510,Unf,0,278,788,GasA,TA,Y,SBrkr,804,0,0,804,1,0,1,0,2,1,Gd,4,Typ,2,Gd,Attchd,1940,Unf,1,240,TA,TA,Y,0,0,154,0,0,0,NA,MnPrv,NA,0,2,2010,WD,Abnorml,119000 +1430,20,RL,NA,12546,Pave,NA,IR1,Lvl,AllPub,Corner,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,7,1981,1981,Gable,CompShg,MetalSd,MetalSd,BrkFace,310,Gd,Gd,CBlock,Gd,TA,No,BLQ,678,Unf,0,762,1440,GasA,Ex,Y,SBrkr,1440,0,0,1440,0,0,2,0,3,1,Gd,7,Typ,1,TA,Attchd,1981,Fin,2,467,TA,TA,Y,0,0,99,0,0,0,NA,NA,NA,0,4,2007,WD,Normal,182900 +1431,60,RL,60,21930,Pave,NA,IR3,Lvl,AllPub,Inside,Gtl,Gilbert,RRAn,Norm,1Fam,2Story,5,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,Gd,Av,Unf,0,Unf,0,732,732,GasA,Ex,Y,SBrkr,734,1104,0,1838,0,0,2,1,4,1,TA,7,Typ,1,Gd,BuiltIn,2005,Fin,2,372,TA,TA,Y,100,40,0,0,0,0,NA,NA,NA,0,7,2006,WD,Normal,192140 +1432,120,RL,NA,4928,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,NPkVill,Norm,Norm,TwnhsE,1Story,6,6,1976,1976,Gable,CompShg,Plywood,Plywood,None,0,TA,TA,CBlock,Gd,TA,No,LwQ,958,Unf,0,0,958,GasA,TA,Y,SBrkr,958,0,0,958,0,0,2,0,2,1,TA,5,Typ,0,NA,Attchd,1976,RFn,2,440,TA,TA,Y,0,60,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal,143750 +1433,30,RL,60,10800,Pave,Grvl,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Norm,Norm,1Fam,1Story,4,6,1927,2007,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,656,656,GasA,TA,Y,SBrkr,968,0,0,968,0,0,2,0,4,1,TA,5,Typ,0,NA,Detchd,1928,Unf,1,216,Fa,Fa,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,64500 +1434,60,RL,93,10261,Pave,NA,IR1,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,2000,2000,Gable,CompShg,VinylSd,VinylSd,BrkFace,318,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,936,936,GasA,Ex,Y,SBrkr,962,830,0,1792,1,0,2,1,3,1,TA,8,Typ,1,TA,Attchd,2000,Fin,2,451,TA,TA,Y,0,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,186500 +1435,20,RL,80,17400,Pave,NA,Reg,Low,AllPub,Inside,Mod,Mitchel,Norm,Norm,1Fam,1Story,5,5,1977,1977,Gable,CompShg,BrkFace,BrkFace,None,0,TA,TA,CBlock,TA,TA,No,ALQ,936,Unf,0,190,1126,GasA,Fa,Y,SBrkr,1126,0,0,1126,1,0,2,0,3,1,TA,5,Typ,1,Gd,Attchd,1977,RFn,2,484,TA,TA,P,295,41,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,160000 +1436,20,RL,80,8400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,6,9,1962,2005,Gable,CompShg,Wd Sdng,Wd Sdng,BrkFace,237,Gd,Gd,CBlock,TA,TA,No,Unf,0,Unf,0,1319,1319,GasA,TA,Y,SBrkr,1537,0,0,1537,1,0,1,1,3,1,Gd,7,Typ,1,Gd,Attchd,1962,RFn,2,462,TA,TA,Y,0,36,0,0,0,0,NA,GdPrv,NA,0,7,2008,COD,Abnorml,174000 +1437,20,RL,60,9000,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NAmes,Norm,Norm,1Fam,1Story,4,6,1971,1971,Gable,CompShg,HdBoard,HdBoard,None,0,TA,TA,PConc,TA,TA,No,ALQ,616,Unf,0,248,864,GasA,TA,Y,SBrkr,864,0,0,864,0,0,1,0,3,1,TA,5,Typ,0,NA,Detchd,1974,Unf,2,528,TA,TA,Y,0,0,0,0,0,0,NA,GdWo,NA,0,5,2007,WD,Normal,120500 +1438,20,RL,96,12444,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NridgHt,Norm,Norm,1Fam,1Story,8,5,2008,2008,Hip,CompShg,VinylSd,VinylSd,Stone,426,Ex,TA,PConc,Ex,TA,Av,GLQ,1336,Unf,0,596,1932,GasA,Ex,Y,SBrkr,1932,0,0,1932,1,0,2,0,2,1,Ex,7,Typ,1,Gd,Attchd,2008,Fin,3,774,TA,TA,Y,0,66,0,304,0,0,NA,NA,NA,0,11,2008,New,Partial,394617 +1439,20,RM,90,7407,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,OldTown,Artery,Norm,1Fam,1Story,6,7,1957,1996,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,No,GLQ,600,Unf,0,312,912,GasA,TA,Y,FuseA,1236,0,0,1236,1,0,1,0,2,1,TA,6,Typ,0,NA,Attchd,1957,Unf,2,923,TA,TA,Y,0,158,158,0,0,0,NA,MnPrv,NA,0,4,2010,WD,Normal,149700 +1440,60,RL,80,11584,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,SLvl,7,6,1979,1979,Hip,CompShg,HdBoard,HdBoard,BrkFace,96,TA,TA,CBlock,TA,TA,No,GLQ,315,Rec,110,114,539,GasA,TA,Y,SBrkr,1040,685,0,1725,0,0,2,1,3,1,TA,6,Typ,1,TA,Attchd,1979,RFn,2,550,TA,TA,Y,0,88,216,0,0,0,NA,NA,NA,0,11,2007,WD,Normal,197000 +1441,70,RL,79,11526,Pave,NA,IR1,Bnk,AllPub,Inside,Mod,Crawfor,Norm,Norm,1Fam,2.5Fin,6,7,1922,1994,Gable,CompShg,MetalSd,MetalSd,None,0,TA,TA,BrkTil,Ex,TA,No,Unf,0,Unf,0,588,588,GasA,Fa,Y,SBrkr,1423,748,384,2555,0,0,2,0,3,1,TA,11,Min1,1,Gd,Detchd,1993,Fin,2,672,TA,TA,Y,431,0,0,0,0,0,NA,NA,NA,0,9,2008,WD,Normal,191000 +1442,120,RM,NA,4426,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,TwnhsE,1Story,6,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,147,Gd,TA,PConc,Gd,TA,Av,GLQ,697,Unf,0,151,848,GasA,Ex,Y,SBrkr,848,0,0,848,1,0,1,0,1,1,Gd,3,Typ,1,TA,Attchd,2004,RFn,2,420,TA,TA,Y,149,0,0,0,0,0,NA,NA,NA,0,5,2008,WD,Normal,149300 +1443,60,FV,85,11003,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,2Story,10,5,2008,2008,Gable,CompShg,VinylSd,VinylSd,Stone,160,Ex,TA,PConc,Ex,TA,Av,GLQ,765,Unf,0,252,1017,GasA,Ex,Y,SBrkr,1026,981,0,2007,1,0,2,1,3,1,Ex,10,Typ,1,Ex,Attchd,2008,Fin,3,812,TA,TA,Y,168,52,0,0,0,0,NA,NA,NA,0,4,2009,WD,Normal,310000 +1444,30,RL,NA,8854,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,BrkSide,Norm,Norm,1Fam,1.5Unf,6,6,1916,1950,Gable,CompShg,Wd Sdng,Wd Sdng,None,0,TA,TA,BrkTil,TA,TA,No,Unf,0,Unf,0,952,952,Grav,Fa,N,FuseF,952,0,0,952,0,0,1,0,2,1,Fa,4,Typ,1,Gd,Detchd,1916,Unf,1,192,Fa,Po,P,0,98,0,0,40,0,NA,NA,NA,0,5,2009,WD,Normal,121000 +1445,20,RL,63,8500,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,CollgCr,Norm,Norm,1Fam,1Story,7,5,2004,2004,Gable,CompShg,VinylSd,VinylSd,BrkFace,106,Gd,TA,PConc,Gd,TA,Av,Unf,0,Unf,0,1422,1422,GasA,Ex,Y,SBrkr,1422,0,0,1422,0,0,2,0,3,1,Gd,7,Typ,0,NA,Attchd,2004,RFn,2,626,TA,TA,Y,192,60,0,0,0,0,NA,NA,NA,0,11,2007,WD,Normal,179600 +1446,85,RL,70,8400,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Sawyer,Norm,Norm,1Fam,SFoyer,6,5,1966,1966,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,TA,TA,Gd,LwQ,187,Rec,627,0,814,GasA,Gd,Y,SBrkr,913,0,0,913,1,0,1,0,3,1,TA,6,Typ,0,NA,Detchd,1990,Unf,1,240,TA,TA,Y,0,0,252,0,0,0,NA,NA,NA,0,5,2007,WD,Normal,129000 +1447,20,RL,NA,26142,Pave,NA,IR1,Lvl,AllPub,CulDSac,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,7,1962,1962,Gable,CompShg,HdBoard,HdBoard,BrkFace,189,TA,TA,CBlock,TA,TA,No,Rec,593,Unf,0,595,1188,GasA,TA,Y,SBrkr,1188,0,0,1188,0,0,1,0,3,1,TA,6,Typ,0,NA,Attchd,1962,Unf,1,312,TA,TA,P,261,39,0,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,157900 +1448,60,RL,80,10000,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,CollgCr,Norm,Norm,1Fam,2Story,8,5,1995,1996,Gable,CompShg,VinylSd,VinylSd,BrkFace,438,Gd,TA,PConc,Gd,TA,No,GLQ,1079,Unf,0,141,1220,GasA,Ex,Y,SBrkr,1220,870,0,2090,1,0,2,1,3,1,Gd,8,Typ,1,TA,Attchd,1995,RFn,2,556,TA,TA,Y,0,65,0,0,0,0,NA,NA,NA,0,12,2007,WD,Normal,240000 +1449,50,RL,70,11767,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,2Story,4,7,1910,2000,Gable,CompShg,MetalSd,HdBoard,None,0,TA,TA,CBlock,Fa,TA,No,Unf,0,Unf,0,560,560,GasA,Gd,N,SBrkr,796,550,0,1346,0,0,1,1,2,1,TA,6,Min2,0,NA,Detchd,1950,Unf,1,384,Fa,TA,Y,168,24,0,0,0,0,NA,GdWo,NA,0,5,2007,WD,Normal,112000 +1450,180,RM,21,1533,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,MeadowV,Norm,Norm,Twnhs,SFoyer,5,7,1970,1970,Gable,CompShg,CemntBd,CmentBd,None,0,TA,TA,CBlock,Gd,TA,Av,GLQ,553,Unf,0,77,630,GasA,Ex,Y,SBrkr,630,0,0,630,1,0,1,0,1,1,Ex,3,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,0,0,0,0,0,0,NA,NA,NA,0,8,2006,WD,Abnorml,92000 +1451,90,RL,60,9000,Pave,NA,Reg,Lvl,AllPub,FR2,Gtl,NAmes,Norm,Norm,Duplex,2Story,5,5,1974,1974,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,CBlock,Gd,TA,No,Unf,0,Unf,0,896,896,GasA,TA,Y,SBrkr,896,896,0,1792,0,0,2,2,4,2,TA,8,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,32,45,0,0,0,0,NA,NA,NA,0,9,2009,WD,Normal,136000 +1452,20,RL,78,9262,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,8,5,2008,2009,Gable,CompShg,CemntBd,CmentBd,Stone,194,Gd,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1573,1573,GasA,Ex,Y,SBrkr,1578,0,0,1578,0,0,2,0,3,1,Ex,7,Typ,1,Gd,Attchd,2008,Fin,3,840,TA,TA,Y,0,36,0,0,0,0,NA,NA,NA,0,5,2009,New,Partial,287090 +1453,180,RM,35,3675,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,TwnhsE,SLvl,5,5,2005,2005,Gable,CompShg,VinylSd,VinylSd,BrkFace,80,TA,TA,PConc,Gd,TA,Gd,GLQ,547,Unf,0,0,547,GasA,Gd,Y,SBrkr,1072,0,0,1072,1,0,1,0,2,1,TA,5,Typ,0,NA,Basment,2005,Fin,2,525,TA,TA,Y,0,28,0,0,0,0,NA,NA,NA,0,5,2006,WD,Normal,145000 +1454,20,RL,90,17217,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Mitchel,Norm,Norm,1Fam,1Story,5,5,2006,2006,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,1140,1140,GasA,Ex,Y,SBrkr,1140,0,0,1140,0,0,1,0,3,1,TA,6,Typ,0,NA,NA,NA,NA,0,0,NA,NA,Y,36,56,0,0,0,0,NA,NA,NA,0,7,2006,WD,Abnorml,84500 +1455,20,FV,62,7500,Pave,Pave,Reg,Lvl,AllPub,Inside,Gtl,Somerst,Norm,Norm,1Fam,1Story,7,5,2004,2005,Gable,CompShg,VinylSd,VinylSd,None,0,Gd,TA,PConc,Gd,TA,No,GLQ,410,Unf,0,811,1221,GasA,Ex,Y,SBrkr,1221,0,0,1221,1,0,2,0,2,1,Gd,6,Typ,0,NA,Attchd,2004,RFn,2,400,TA,TA,Y,0,113,0,0,0,0,NA,NA,NA,0,10,2009,WD,Normal,185000 +1456,60,RL,62,7917,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Gilbert,Norm,Norm,1Fam,2Story,6,5,1999,2000,Gable,CompShg,VinylSd,VinylSd,None,0,TA,TA,PConc,Gd,TA,No,Unf,0,Unf,0,953,953,GasA,Ex,Y,SBrkr,953,694,0,1647,0,0,2,1,3,1,TA,7,Typ,1,TA,Attchd,1999,RFn,2,460,TA,TA,Y,0,40,0,0,0,0,NA,NA,NA,0,8,2007,WD,Normal,175000 +1457,20,RL,85,13175,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NWAmes,Norm,Norm,1Fam,1Story,6,6,1978,1988,Gable,CompShg,Plywood,Plywood,Stone,119,TA,TA,CBlock,Gd,TA,No,ALQ,790,Rec,163,589,1542,GasA,TA,Y,SBrkr,2073,0,0,2073,1,0,2,0,3,1,TA,7,Min1,2,TA,Attchd,1978,Unf,2,500,TA,TA,Y,349,0,0,0,0,0,NA,MnPrv,NA,0,2,2010,WD,Normal,210000 +1458,70,RL,66,9042,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Crawfor,Norm,Norm,1Fam,2Story,7,9,1941,2006,Gable,CompShg,CemntBd,CmentBd,None,0,Ex,Gd,Stone,TA,Gd,No,GLQ,275,Unf,0,877,1152,GasA,Ex,Y,SBrkr,1188,1152,0,2340,0,0,2,0,4,1,Gd,9,Typ,2,Gd,Attchd,1941,RFn,1,252,TA,TA,Y,0,60,0,0,0,0,NA,GdPrv,Shed,2500,5,2010,WD,Normal,266500 +1459,20,RL,68,9717,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,NAmes,Norm,Norm,1Fam,1Story,5,6,1950,1996,Hip,CompShg,MetalSd,MetalSd,None,0,TA,TA,CBlock,TA,TA,Mn,GLQ,49,Rec,1029,0,1078,GasA,Gd,Y,FuseA,1078,0,0,1078,1,0,1,0,2,1,Gd,5,Typ,0,NA,Attchd,1950,Unf,1,240,TA,TA,Y,366,0,112,0,0,0,NA,NA,NA,0,4,2010,WD,Normal,142125 +1460,20,RL,75,9937,Pave,NA,Reg,Lvl,AllPub,Inside,Gtl,Edwards,Norm,Norm,1Fam,1Story,5,6,1965,1965,Gable,CompShg,HdBoard,HdBoard,None,0,Gd,TA,CBlock,TA,TA,No,BLQ,830,LwQ,290,136,1256,GasA,Gd,Y,SBrkr,1256,0,0,1256,1,0,1,1,3,1,TA,6,Typ,0,NA,Attchd,1965,Fin,1,276,TA,TA,Y,736,68,0,0,0,0,NA,NA,NA,0,6,2008,WD,Normal,147500 diff --git a/A Comprehensive ML Workflow with Python.ipynb b/A Comprehensive ML Workflow with Python.ipynb new file mode 100644 index 0000000..ab31632 --- /dev/null +++ b/A Comprehensive ML Workflow with Python.ipynb @@ -0,0 +1,1208 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "cell_type": "markdown", + "source": "###
A Comprehensive Machine Learning Workflow with Python
\n\n
There are plenty of courses and tutorials that can help you learn machine learning from scratch but here in Kaggle, I want to solve Titanic competition a popular machine learning Dataset as a comprehensive workflow with python packages. \nAfter reading, you can use this workflow to solve other real problems and use it as a template to deal with machine learning problems.
\n
last update: 15/12/2018
\n\n\n\n>###### If you have read the notebook, you can follow next steps: [**Course Home Page**](https://www.kaggle.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n---------------------------------------------------------------------\nyou can Fork and Run this kernel on Github:\n\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n-------------------------------------------------------------------------------------------------------------\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "cell_type": "markdown", + "source": "
\n## Notebook Content\n1. [Introduction](#1)\n 1. [Courses](#11)\n 1. [Kaggle kernels](#12)\n 1. [Ebooks](#13)\n 1. [CheatSheet](#14)\n1. [Machine learning](#2)\n 1. [Machine learning workflow](#21)\n 1. [Real world Application Vs Competitions](#22)\n1. [Problem Definition](#3)\n 1. [Problem feature](#31)\n 1. [Why am I using Titanic dataset](#331)\n 1. [Aim](#32)\n 1. [Variables](#33)\n 1. [Types of Features](#331)\n 1. [Categorical](#3311)\n 1. [Ordinal](#3312)\n 1. [Continous](#3313)\n1. [ Inputs & Outputs](#4)\n 1. [Inputs ](#41)\n 1. [Outputs](#42)\n1. [Installation](#5)\n 1. [ jupyter notebook](#51)\n 1. [What browsers are supported?](#511)\n 1. [ kaggle kernel](#52)\n \n 1. [Colab notebook](#53)\n 1. [install python & packages](#54)\n 1. [Loading Packages](#55)\n1. [Exploratory data analysis](#6)\n 1. [Data Collection](#61)\n 1. [Visualization](#62)\n 1. [Scatter plot](#621)\n 1. [Box](#622)\n 1. [Histogram](#623)\n 1. [Multivariate Plots](#624)\n 1. [Violinplots](#625)\n 1. [Pair plot](#626)\n 1. [Kde plot](#25)\n 1. [Joint plot](#26)\n 1. [Andrews curves](#27)\n 1. [Heatmap](#28)\n 1. [Radviz](#29)\n 1. [Data Preprocessing](#30)\n 1. [Data Cleaning](#31)\n1. [Model Deployment](#7)\n 1. [Families of ML algorithms](#71)\n 1. [Prepare Features & Targets](#72)\n 1. [Accuracy and precision](#73)\n 1. [RandomForestClassifier](#74)\n 1. [prediction](#741)\n 1. [XGBoost](#75)\n 1. [prediction](#751)\n 1. [Logistic Regression](#74)\n 1. [ 1. [prediction](#74)\n1. [Conclusion](#8)\n1. [References](#9)" + }, + { + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "cell_type": "markdown", + "source": "
\n
\n## 1- Introduction\nThis is a **comprehensive ML techniques with python** , that I have spent for more than two months to complete it.\n\nIt is clear that everyone in this community is familiar with Titanic dataset but if you need to review your information about the dataset please visit this [link](https://www.kaggle.com/c/titanic/data).\n\nI have tried to help **beginners** in Kaggle how to face machine learning problems. and I think it is a great opportunity for who want to learn machine learning workflow with python completely.\nI have covered most of the methods that are implemented for **Titanic** until **2018**, you can start to learn and review your knowledge about ML with a perfect dataset and try to learn and memorize the workflow for your journey in Data science world." + }, + { + "metadata": { + "_uuid": "0146428e0c60dceb1f6f5f741498ebb10c319fb1" + }, + "cell_type": "markdown", + "source": "
\n
\n## 1-1 Courses\nThere are a lot of online courses that can help you develop your knowledge, here I have just listed some of them:\n\n1. [Machine Learning Certification by Stanford University (Coursera)](https://www.coursera.org/learn/machine-learning/)\n\n2. [Machine Learning A-Z™: Hands-On Python & R In Data Science (Udemy)](https://www.udemy.com/machinelearning/)\n\n3. [Deep Learning Certification by Andrew Ng from deeplearning.ai (Coursera)](https://www.coursera.org/specializations/deep-learning)\n\n4. [Python for Data Science and Machine Learning Bootcamp (Udemy)](Python for Data Science and Machine Learning Bootcamp (Udemy))\n\n5. [Mathematics for Machine Learning by Imperial College London](https://www.coursera.org/specializations/mathematics-machine-learning)\n\n6. [Deep Learning A-Z™: Hands-On Artificial Neural Networks](https://www.udemy.com/deeplearning/)\n\n7. [Complete Guide to TensorFlow for Deep Learning Tutorial with Python](https://www.udemy.com/complete-guide-to-tensorflow-for-deep-learning-with-python/)\n\n8. [Data Science and Machine Learning Tutorial with Python – Hands On](https://www.udemy.com/data-science-and-machine-learning-with-python-hands-on/)\n\n9. [Machine Learning Certification by University of Washington](https://www.coursera.org/specializations/machine-learning)\n\n10. [Data Science and Machine Learning Bootcamp with R](https://www.udemy.com/data-science-and-machine-learning-bootcamp-with-r/)\n11. [Creative Applications of Deep Learning with TensorFlow](https://www.class-central.com/course/kadenze-creative-applications-of-deep-learning-with-tensorflow-6679)\n12. [Neural Networks for Machine Learning](https://www.class-central.com/mooc/398/coursera-neural-networks-for-machine-learning)\n13. [Practical Deep Learning For Coders, Part 1](https://www.class-central.com/mooc/7887/practical-deep-learning-for-coders-part-1)\n14. [Machine Learning](https://www.cs.ox.ac.uk/teaching/courses/2014-2015/ml/index.html)" + }, + { + "metadata": { + "_uuid": "bb542dc342f6f3378ccbd1612796f45d5859d0c9" + }, + "cell_type": "markdown", + "source": "
\n
\n## 1-2 Kaggle kernels\nI want to thanks **Kaggle team** and all of the **kernel's authors** who develop this huge resources for Data scientists. I have learned from The work of others and I have just listed some more important kernels that inspired my work and I've used them in this kernel:\n\n1. [https://www.kaggle.com/ash316/eda-to-prediction-dietanic](https://www.kaggle.com/ash316/eda-to-prediction-dietanic)\n\n2. [https://www.kaggle.com/mrisdal/exploring-survival-on-the-titanic](https://www.kaggle.com/mrisdal/exploring-survival-on-the-titanic)\n\n3. [https://www.kaggle.com/yassineghouzam/titanic-top-4-with-ensemble-modeling](https://www.kaggle.com/yassineghouzam/titanic-top-4-with-ensemble-modeling)\n\n4. [https://www.kaggle.com/ldfreeman3/a-data-science-framework-to-achieve-99-accuracy](https://www.kaggle.com/ldfreeman3/a-data-science-framework-to-achieve-99-accuracy)\n\n5. [https://www.kaggle.com/startupsci/titanic-data-science-solutions](https://www.kaggle.com/startupsci/titanic-data-science-solutions)\n6. [scikit-learn-ml-from-start-to-finish](https://www.kaggle.com/jeffd23/scikit-learn-ml-from-start-to-finish)\n
\n[go to top](#top)" + }, + { + "metadata": { + "_uuid": "04ea4730e0f8cc169540b3e731bc38d43f476014" + }, + "cell_type": "markdown", + "source": "
\n
\n## 1-3 Ebooks\nSo you love reading , here is **10 free machine learning books**\n1. [Probability and Statistics for Programmers](http://www.greenteapress.com/thinkstats/)\n2. [Bayesian Reasoning and Machine Learning](http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/091117.pdf)\n2. [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/)\n2. [Understanding Machine Learning](http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/index.html)\n2. [A Programmer’s Guide to Data Mining](http://guidetodatamining.com/)\n2. [Mining of Massive Datasets](http://infolab.stanford.edu/~ullman/mmds/book.pdf)\n2. [A Brief Introduction to Neural Networks](http://www.dkriesel.com/_media/science/neuronalenetze-en-zeta2-2col-dkrieselcom.pdf)\n2. [Deep Learning](http://www.deeplearningbook.org/)\n2. [Natural Language Processing with Python](https://www.researchgate.net/publication/220691633_Natural_Language_Processing_with_Python)\n2. [Machine Learning Yearning](http://www.mlyearning.org/)" + }, + { + "metadata": { + "_uuid": "627e2b5bdb18563aeca5e7f97f3469f1542a5f74" + }, + "cell_type": "markdown", + "source": "
\n
\n## 1-4 Cheat Sheets\nData Science is an ever-growing field, there are numerous tools & techniques to remember. It is not possible for anyone to remember all the functions, operations and formulas of each concept. That’s why we have cheat sheets. But there are a plethora of cheat sheets available out there, choosing the right cheat sheet is a tough task. So, I decided to write this article.\n\nHere I have selected the cheat sheets on the following criteria: comprehensiveness, clarity, and content [26]:\n1. [Quick Guide to learn Python for Data Science ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Science-in-Python.pdf)\n1. [Python for Data Science Cheat sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/beginners_python_cheat_sheet.pdf)\n1. [Python For Data Science Cheat Sheet NumPy](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Numpy_Python_Cheat_Sheet.pdf)\n1. [Exploratory Data Analysis in Python]()\n1. [Data Exploration using Pandas in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Exploration-in-Python.pdf)\n1. [Data Visualisation in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/data-visualisation-infographics1.jpg)\n1. [Python For Data Science Cheat Sheet Bokeh](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Python_Bokeh_Cheat_Sheet.pdf)\n1. [Cheat Sheet: Scikit Learn ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Scikit-Learn-Infographic.pdf)\n1. [MLalgorithms CheatSheet](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/MLalgorithms-.pdf)\n1. [Probability Basics Cheat Sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/probability_cheatsheet.pdf)\n\nI am open to getting your feedback for improving this **kernel**\n
\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "e11b73b618b0f6e4335520ef80267c6d577d1ba5" + }, + "cell_type": "markdown", + "source": "
\n## 2- Machine Learning\nMachine Learning is a field of study that gives computers the ability to learn without being explicitly programmed.\n\n**Arthur\tSamuel, 1959**" + }, + { + "metadata": { + "_uuid": "20c66c96b3cf0abd94f514e362a80a084b9ac562" + }, + "cell_type": "markdown", + "source": "
\n## 2-1 Machine Learning Workflow\n\nIf you have already read some [machine learning books](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/tree/master/Ebooks). You have noticed that there are different ways to stream data into machine learning.\n\nMost of these books share the following steps:\n1. Define Problem\n1. Specify Inputs & Outputs\n1. Exploratory data analysis\n1. Data Collection\n1. Data Preprocessing\n1. Data Cleaning\n1. Visualization\n1. Model Design, Training, and Offline Evaluation\n1. Model Deployment, Online Evaluation, and Monitoring\n1. Model Maintenance, Diagnosis, and Retraining\n\nOf course, the same solution can not be provided for all problems, so the best way is to create a **general framework** and adapt it to new problem.\n\n**You can see my workflow in the below image** :\n\n \n\n**Data Science has so many techniques and procedures that can confuse anyone.**" + }, + { + "metadata": { + "_uuid": "d8b27260d5ccff025f37490d84bd35bba7eef00a" + }, + "cell_type": "markdown", + "source": "
\n## 2-1 Real world Application Vs Competitions\nWe all know that there are differences between real world problem and competition problem. The following figure that is taken from one of the courses in coursera, has partly made this comparison \n\n\n\nAs you can see, there are a lot more steps to solve in real problems.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "600be852c0d28e7c0c5ebb718904ab15a536342c" + }, + "cell_type": "markdown", + "source": " \n
\n## 3- Problem Definition\nI think one of the important things when you start a new machine learning project is Defining your problem. that means you should understand business problem.( **Problem Formalization**)\n\nProblem Definition has four steps that have illustrated in the picture below:\n" + }, + { + "metadata": { + "_uuid": "1bef8401fc30b062fd63af4dc5a8cb6a0e1e7cad" + }, + "cell_type": "markdown", + "source": "\n
\n### 3-1 Problem Feature\nThe sinking of the Titanic is one of the most infamous shipwrecks in history. **On April 15, 1912**, during her maiden voyage, the Titanic sank after colliding with an iceberg, killing **1502 out of 2224** passengers and crew. That's why the name DieTanic. This is a very unforgetable disaster that no one in the world can forget.\n\nIt took about $7.5 million to build the Titanic and it sunk under the ocean due to collision. The Titanic Dataset is a very good dataset for begineers to start a journey in data science and participate in competitions in Kaggle.\n\nٌe will use the classic titanic data set. This dataset contains information about **11 different variables**:\n\n\n1. Survival\n1. Pclass\n1. Name\n1. Sex\n1. Age\n1. SibSp\n1. Parch\n1. Ticket\n1. Fare\n1. Cabin\n1. Embarked" + }, + { + "metadata": { + "_uuid": "5b4fdff5aafeab324b00937353920d4577b3c2da" + }, + "cell_type": "markdown", + "source": " \n
\n### 3-3-1 Why am I using Titanic dataset\n\n1- This is a good project because it is so well understood.\n\n2- Attributes are numeric and categorical so you have to figure out how to load and handle data.\n\n3- It is a ML problem, allowing you to practice with perhaps an easier type of supervised learning algorithm.\n\n4- we can define problem as clustering(unsupervised algorithm) project too.\n\n5- because we love **Kaggle** :-) .\n\n
\n### 3-2 Aim\nIt is your job to predict if a passenger survived the sinking of the Titanic or not. For each PassengerId in the test set, you must predict a 0 or 1 value for the Survived variable." + }, + { + "metadata": { + "_uuid": "47fd05d6f7e0ce47c8d4d6edae1826ced2a6ca78" + }, + "cell_type": "markdown", + "source": "
\n### 3-3 Variables\n\n1. **Age** ==>> Age is fractional if less than 1. If the age is estimated, is it in the form of xx.5\n\n2. **Sibsp** ==>> The dataset defines family relations in this way...\n\n a. Sibling = brother, sister, stepbrother, stepsister\n\n b. Spouse = husband, wife (mistresses and fiancés were ignored)\n\n3. **Parch** ==>> The dataset defines family relations in this way...\n\n a. Parent = mother, father\n\n b. Child = daughter, son, stepdaughter, stepson\n\n c. Some children travelled only with a nanny, therefore parch=0 for them.\n\n4. **Pclass** ==>> A proxy for socio-economic status (SES)\n * 1st = Upper\n * 2nd = Middle\n * 3rd = Lower\n5. **Embarked** ==>> nominal datatype \n6. **Name** ==>> nominal datatype . It could be used in feature engineering to derive the gender from title\n7. **Sex** ==>> nominal datatype \n8. **Ticket** ==>> that have no impact on the outcome variable. Thus, they will be excluded from analysis\n9. **Cabin** ==>> is a nominal datatype that can be used in feature engineering\n11. **Fare** ==>> Indicating the fare\n12. **PassengerID ** ==>> have no impact on the outcome variable. Thus, it will be excluded from analysis\n11. **Survival** is ==>> **[dependent variable](http://www.dailysmarty.com/posts/difference-between-independent-and-dependent-variables-in-machine-learning)** , 0 or 1" + }, + { + "metadata": { + "_uuid": "aa9d19d9da445963e52ead2d0ef6cf144a09acda" + }, + "cell_type": "markdown", + "source": "
\n### 3-3-1 Types of Features\n
\n### 3-3-1-1 Categorical\n\nA categorical variable is one that has two or more categories and each value in that feature can be categorised by them. for example, gender is a categorical variable having two categories (male and female). Now we cannot sort or give any ordering to such variables. They are also known as Nominal Variables.\n\n1. **Categorical Features in the dataset: Sex,Embarked.**\n
\n### 3-3-1-2 Ordinal\nAn ordinal variable is similar to categorical values, but the difference between them is that we can have relative ordering or sorting between the values. For eg: If we have a feature like Height with values Tall, Medium, Short, then Height is a ordinal variable. Here we can have a relative sort in the variable.\n\n1. **Ordinal Features in the dataset: PClass**\n
\n### 3-3-1-3 Continous:\nA feature is said to be continous if it can take values between any two points or between the minimum or maximum values in the features column.\n\n1. **Continous Features in the dataset: Age**\n\n**<< Note >>**\n> You must answer the following question:\nHow does your company expact to use and benfit from your model.\n
\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "8bb4dfebb521f83543e1d45db3559216dad8f6fb" + }, + "cell_type": "markdown", + "source": "
\n## 4- Inputs & Outputs\n
\n### 4-1 Inputs\n**Titanic** is a very popular **Machine Learning** problem then I decided to apply it on plenty of machine learning methods.\nThe titanic data set is a **multivariate data set** .\n
\n### 4-2 Outputs\nYour score is the percentage of passengers you correctly predict. This is known simply as \"accuracy”.\n\n\nThe Outputs should have exactly **2 columns**:\n\nPassengerId (sorted in any order)\nSurvived (contains your binary predictions: 1 for survived, 0 for deceased)\n" + }, + { + "metadata": { + "_uuid": "89ee0cda57822cd4102eadf8992c5bfe1964d557" + }, + "cell_type": "markdown", + "source": "
\n## 5-Installation\n#### Windows:\n1. Anaconda (from https://www.continuum.io) is a free Python distribution for SciPy stack. It is also available for Linux and Mac.\n1. Canopy (https://www.enthought.com/products/canopy/) is available as free as well as commercial distribution with full SciPy stack for Windows, Linux and Mac.\n1. Python (x,y) is a free Python distribution with SciPy stack and Spyder IDE for Windows OS. (Downloadable from http://python-xy.github.io/)\n\n#### Linux:\n1. Package managers of respective Linux distributions are used to install one or more packages in SciPy stack.\n\n1. For Ubuntu Users:\nsudo apt-get install python-numpy python-scipy python-matplotlibipythonipythonnotebook\npython-pandas python-sympy python-nose" + }, + { + "metadata": { + "_uuid": "c1793fb141d3338bbc4300874be6ffa5cb1a9139" + }, + "cell_type": "markdown", + "source": "
\n## 5-1 Jupyter notebook\nI strongly recommend installing **Python** and **Jupyter** using the **[Anaconda Distribution](https://www.anaconda.com/download/)**, which includes Python, the Jupyter Notebook, and other commonly used packages for scientific computing and data science.\n\n1. First, download Anaconda. We recommend downloading Anaconda’s latest Python 3 version.\n\n2. Second, install the version of Anaconda which you downloaded, following the instructions on the download page.\n\n3. Congratulations, you have installed Jupyter Notebook! To run the notebook, run the following command at the Terminal (Mac/Linux) or Command Prompt (Windows):" + }, + { + "metadata": { + "_uuid": "abbd1757dde9805758a2cec47a186e31dbc29822" + }, + "cell_type": "markdown", + "source": "> jupyter notebook\n> " + }, + { + "metadata": { + "_uuid": "8a70c253d5afa93f07a7a7e048dbb2d7812c8d10" + }, + "cell_type": "markdown", + "source": "
\n## 5-2 Kaggle Kernel\nKaggle kernel is an environment just like you use jupyter notebook, it's an **extension** of the where in you are able to carry out all the functions of jupyter notebooks plus it has some added tools like forking et al." + }, + { + "metadata": { + "_uuid": "237bbe4e4509c9491ce165e3599c432b979d7b90" + }, + "cell_type": "markdown", + "source": "
\n## 5-3 Colab notebook\n**Colaboratory** is a research tool for machine learning education and research. It’s a Jupyter notebook environment that requires no setup to use.\n
\n### 5-3-1 What browsers are supported?\nColaboratory works with most major browsers, and is most thoroughly tested with desktop versions of Chrome and Firefox.\n
\n### 5-3-2 Is it free to use?\nYes. Colaboratory is a research project that is free to use.\n
\n### 5-3-3 What is the difference between Jupyter and Colaboratory?\nJupyter is the open source project on which Colaboratory is based. Colaboratory allows you to use and share Jupyter notebooks with others without having to download, install, or run anything on your own computer other than a browser.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "cell_type": "markdown", + "source": "
\n## 5-5 Loading Packages\nIn this kernel we are using the following packages:" + }, + { + "metadata": { + "_uuid": "61f49281fdd8592b44c0867225f57e6fce36342c" + }, + "cell_type": "markdown", + "source": " \n" + }, + { + "metadata": { + "_uuid": "5bf55263fff62fb1f9d478e0e11a4038a562637f" + }, + "cell_type": "markdown", + "source": "### 5-5-1 Import" + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.metrics import make_scorer, accuracy_score\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.ensemble import RandomForestClassifier\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.metrics import classification_report\nfrom sklearn.model_selection import GridSearchCV\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.metrics import accuracy_score\nfrom sklearn import preprocessing\nimport matplotlib.pylab as pylab\nimport matplotlib.pyplot as plt\nfrom pandas import get_dummies\nimport matplotlib as mpl\nimport xgboost as xgb\nimport seaborn as sns\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport scipy\nimport numpy\nimport json\nimport sys\nimport csv\nimport os", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "795d96c03ef46bcce2f96e0e5eb8ef5c1ba7d210" + }, + "cell_type": "markdown", + "source": "### 5-5-2 Version" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "2c6bfbb75bf93a2eb52b34c2455c863bcd106ad8" + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "187f8389fd6e034a5bb1555e3ed2fff5184a8f44" + }, + "cell_type": "markdown", + "source": "### 5-5-2 Setup\n\nA few tiny adjustments for better **code readability**" + }, + { + "metadata": { + "_uuid": "cb7e4af0977f267f0055ef6c7b9d7081cbaeb889", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.set(style='white', context='notebook', palette='deep')\npylab.rcParams['figure.figsize'] = 12,8\nwarnings.filterwarnings('ignore')\nmpl.style.use('ggplot')\nsns.set_style('white')\n%matplotlib inline", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" + }, + "cell_type": "markdown", + "source": "
\n## 6- Exploratory Data Analysis(EDA)\n In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n \n* Which variables suggest interesting relationships?\n* Which observations are unusual?\n* Analysis of the features!\n\nBy the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations:\n\n* 5-1 Data Collection\n* 5-2 Visualization\n* 5-3 Data Preprocessing\n* 5-4 Data Cleaning\n\n\n " + }, + { + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "cell_type": "markdown", + "source": "
\n## 6-1 Data Collection\n**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\nI start Collection Data by the training and testing datasets into Pandas DataFrames\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# import train and test to play with it\ndf_train = pd.read_csv('../input/train.csv')\ndf_test = pd.read_csv('../input/test.csv')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "cell_type": "markdown", + "source": "**<< Note 1 >>**\n\n* Each **row** is an observation (also known as : sample, example, instance, record)\n* Each **column** is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)" + }, + { + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "cell_type": "markdown", + "source": "After loading the data via **pandas**, we should checkout what the content is, description and via the following:" + }, + { + "metadata": { + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type(df_train)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type(df_test)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" + }, + "cell_type": "markdown", + "source": "
\n## 6-2 Visualization\n**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns.\n\nWith interactive visualization, you can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data you see and how it’s processed.[SAS]\n\n In this section I show you **11 plots** with **matplotlib** and **seaborn** that is listed in the blew picture:\n \n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "b0014a7a52e714996bc443981c853095926d20e5" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-1 Scatter plot\n\nScatter plot Purpose To identify the type of relationship (if any) between two quantitative variables\n\n\n" + }, + { + "metadata": { + "_uuid": "af099546eed64ebc796403d4139cb4c977c27b03", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Modify the graph above by assigning each species an individual color.\ng = sns.FacetGrid(df_train, hue=\"Survived\", col=\"Pclass\", margin_titles=True,\n palette={1:\"seagreen\", 0:\"gray\"})\ng=g.map(plt.scatter, \"Fare\", \"Age\",edgecolor=\"w\").add_legend();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d1c7b62b5f8cba427bca13049256365141655372" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-2 Box\nIn descriptive statistics, a **box plot** or boxplot is a method for graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram.[wikipedia]" + }, + { + "metadata": { + "_uuid": "7b193e4aa7e6fb337d3f65c334849094addd097a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "ax= sns.boxplot(x=\"Pclass\", y=\"Age\", data=df_train)\nax= sns.stripplot(x=\"Pclass\", y=\"Age\", data=df_train, jitter=True, edgecolor=\"gray\")\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "743a92c3c2fff1a1f99845518247f7971ad18b7c" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-3 Histogram\nWe can also create a **histogram** of each input variable to get an idea of the distribution.\n\n" + }, + { + "metadata": { + "_uuid": "5da0520ed3e738ee8814b2d91843ed4acec2b6e6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# histograms\ndf_train.hist(figsize=(15,20))\nplt.figure()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b4e3de19781686010c6038f0e3076eb678398169" + }, + "cell_type": "markdown", + "source": "It looks like perhaps two of the input variables have a Gaussian distribution. This is useful to note as we can use algorithms that can exploit this assumption.\n\n" + }, + { + "metadata": { + "_uuid": "9f80a6e971cbf0af72d659b51af552ea1dddc9a8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df_train[\"Age\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "06c7ec477241ef4e5ea68e6cc09f785638b31d6f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,2,figsize=(20,10))\ndf_train[df_train['Survived']==0].Age.plot.hist(ax=ax[0],bins=20,edgecolor='black',color='red')\nax[0].set_title('Survived= 0')\nx1=list(range(0,85,5))\nax[0].set_xticks(x1)\ndf_train[df_train['Survived']==1].Age.plot.hist(ax=ax[1],color='green',bins=20,edgecolor='black')\nax[1].set_title('Survived= 1')\nx2=list(range(0,85,5))\nax[1].set_xticks(x2)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "18637e84198615d9f936d0ef62723a98aa8cf4a4", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,2,figsize=(18,8))\ndf_train['Survived'].value_counts().plot.pie(explode=[0,0.1],autopct='%1.1f%%',ax=ax[0],shadow=True)\nax[0].set_title('Survived')\nax[0].set_ylabel('')\nsns.countplot('Survived',data=df_train,ax=ax[1])\nax[1].set_title('Survived')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4349021072da9bc4d1f1b523991e19590593d048", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,2,figsize=(18,8))\ndf_train[['Sex','Survived']].groupby(['Sex']).mean().plot.bar(ax=ax[0])\nax[0].set_title('Survived vs Sex')\nsns.countplot('Sex',hue='Survived',data=df_train,ax=ax[1])\nax[1].set_title('Sex:Survived vs Dead')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3bbff56707484f88625eb8ef309b712ba03f939e" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-4 Multivariate Plots\nNow we can look at the interactions between the variables.\n\nFirst, let’s look at scatterplots of all pairs of attributes. This can be helpful to spot structured relationships between input variables." + }, + { + "metadata": { + "_uuid": "eb4e5d117e4ef40d7668632f42130206a5537bd0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n# scatter plot matrix\npd.plotting.scatter_matrix(df_train,figsize=(10,10))\nplt.figure()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "de7fea7986071fafbe0b93933e3beda445cbe373" + }, + "cell_type": "markdown", + "source": "Note the diagonal grouping of some pairs of attributes. This suggests a high correlation and a predictable relationship." + }, + { + "metadata": { + "_uuid": "e0f696ec021ec99c1058a62e22c8b73082fe6fa7" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-5 violinplots" + }, + { + "metadata": { + "_uuid": "e352d2f8340609adf4bf6718b1d2ecee0fa730b5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# violinplots on petal-length for each species\nsns.violinplot(data=df_train,x=\"Sex\", y=\"Age\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f9a29b9689cd5c3901f27901aa0b5295fc2f04f1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,2,figsize=(18,8))\nsns.violinplot(\"Pclass\",\"Age\", hue=\"Survived\", data=df_train,split=True,ax=ax[0])\nax[0].set_title('Pclass and Age vs Survived')\nax[0].set_yticks(range(0,110,10))\nsns.violinplot(\"Sex\",\"Age\", hue=\"Survived\", data=df_train,split=True,ax=ax[1])\nax[1].set_title('Sex and Age vs Survived')\nax[1].set_yticks(range(0,110,10))\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0ed35bceb87051e56316d35a630334518e8b8c64" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-6 pairplot" + }, + { + "metadata": { + "_uuid": "b80350add6f9a742f10bffc4b497562f8bebea95", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Using seaborn pairplot to see the bivariate relation between each pair of features\nsns.pairplot(df_train, hue=\"Sex\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2544d3c2dd34a360d295019d8cb597c7ef8f66bc" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-7 kdeplot" + }, + { + "metadata": { + "_uuid": "fb187bcc0fb51e53f8abe9e3952c6ae5c3177411" + }, + "cell_type": "markdown", + "source": "From the plot, we can see that the species setosa is separataed from the other two across all feature combinations\n\nWe can also replace the histograms shown in the diagonal of the pairplot by kde." + }, + { + "metadata": { + "_uuid": "1d07222b89303b386e9e824d52cc73c045667f25", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# seaborn's kdeplot, plots univariate or bivariate density estimates.\n#Size can be changed by tweeking the value used\nsns.FacetGrid(df_train, hue=\"Survived\", size=5).map(sns.kdeplot, \"Fare\").add_legend()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "560d8e8f17bacefaf8c3855a9648f26b82fdee9b" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-8 jointplot" + }, + { + "metadata": { + "_uuid": "4adb4da16ea61e0f1a12bc9925dfbbaaa81e0360", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.jointplot(x='Fare',y='Age',data=df_train)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "1b4f23fbbaf78fa34ae426c09e732286c6f6f83a" + }, + "cell_type": "code", + "source": "sns.jointplot(x='Fare',y='Age' ,data=df_train, kind='reg')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3768e31e990bfe4c2ff7b45087fbba85e0560d00" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-9 Swarm plot" + }, + { + "metadata": { + "_uuid": "263eaa9d2bfad0f8c68b6e8e874bdc11a6e802ac", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.swarmplot(x='Pclass',y='Age',data=df_train)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8e73333289d17dd648b7b2112d7fe3fe7ea444d0" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-10 Heatmap" + }, + { + "metadata": { + "_uuid": "3100955ca9dc61ac7d435e9c064d10d06f26afa7", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure(figsize=(7,4)) \nsns.heatmap(df_train.corr(),annot=True,cmap='cubehelix_r') #draws heatmap with input as the correlation matrix calculted by(iris.corr())\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ab06d1cd799430c7c7f8de978ee2c6e275e7655b" + }, + "cell_type": "markdown", + "source": "### 6-2-11 Bar Plot" + }, + { + "metadata": { + "_uuid": "329488de1a908a6d367b9da4b40a20238163d32e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df_train['Pclass'].value_counts().plot(kind=\"bar\");", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3dafbfb8735b66c98088cb0e85d50d4772a06df1" + }, + "cell_type": "markdown", + "source": "### 6-2-12 Factorplot" + }, + { + "metadata": { + "_uuid": "33f7dd81d408b1530113c451dc1b58194ec487b8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.factorplot('Pclass','Survived',hue='Sex',data=df_train)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "739bba4248dec9a31b7f4f00618cd2fce103d172" + }, + "cell_type": "markdown", + "source": "### 6-2-13 distplot" + }, + { + "metadata": { + "_uuid": "318b702bd9751c332c3ad854e7f90e685b1417f5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,3,figsize=(20,8))\nsns.distplot(df_train[df_train['Pclass']==1].Fare,ax=ax[0])\nax[0].set_title('Fares in Pclass 1')\nsns.distplot(df_train[df_train['Pclass']==2].Fare,ax=ax[1])\nax[1].set_title('Fares in Pclass 2')\nsns.distplot(df_train[df_train['Pclass']==3].Fare,ax=ax[2])\nax[2].set_title('Fares in Pclass 3')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0859caf857ceeb19f4cc47ccd11fbbfdfe4b0dd9" + }, + "cell_type": "markdown", + "source": "**<< Note >>**\n\n**Yellowbrick** is a suite of visual diagnostic tools called “Visualizers” that extend the Scikit-Learn API to allow human steering of the model selection process. In a nutshell, Yellowbrick combines scikit-learn with matplotlib in the best tradition of the scikit-learn documentation, but to produce visualizations for your models! " + }, + { + "metadata": { + "_uuid": "5af51158a5bc342947c553392e3d1665ac24ba62" + }, + "cell_type": "markdown", + "source": "### 6-2-12 Conclusion\nwe have used Python to apply data visualization tools to the Iris dataset. Color and size changes were made to the data points in scatterplots. I changed the border and fill color of the boxplot and violin, respectively." + }, + { + "metadata": { + "_uuid": "91dda1f631cf4ed362162501aaaac6d19cfd6cc7" + }, + "cell_type": "markdown", + "source": "
\n## 6-3 Data Preprocessing\n**Data preprocessing** refers to the transformations applied to our data before feeding it to the algorithm.\n \nData Preprocessing is a technique that is used to convert the raw data into a clean data set. In other words, whenever the data is gathered from different sources it is collected in raw format which is not feasible for the analysis.\nthere are plenty of steps for data preprocessing and we just listed some of them :\n* removing Target column (id)\n* Sampling (without replacement)\n* Making part of iris unbalanced and balancing (with undersampling and SMOTE)\n* Introducing missing values and treating them (replacing by average values)\n* Noise filtering\n* Data discretization\n* Normalization and standardization\n* PCA analysis\n* Feature selection (filter, embedded, wrapper)\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "581b90e6a869c3793472c7edd59091d6d6342fb2" + }, + "cell_type": "markdown", + "source": "
\n## 6-3-1 Features\nFeatures:\n* numeric\n* categorical\n* ordinal\n* datetime\n* coordinates\n\nfind the type of features in titanic dataset\n" + }, + { + "metadata": { + "_uuid": "73ab30f86273b590a51fc363d9bf78c2709558fa" + }, + "cell_type": "markdown", + "source": "
\n### 6-3-2 Explorer Dataset\n1- Dimensions of the dataset.\n\n2- Peek at the data itself.\n\n3- Statistical summary of all attributes.\n\n4- Breakdown of the data by the class variable.[7]\n\nDon’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# shape\nprint(df_train.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#columns*rows\ndf_train.size", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "cell_type": "markdown", + "source": "how many NA elements in every column\n" + }, + { + "metadata": { + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df_train.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e8e124ca20643ad307d9bfdc34328d548c6ddcbc", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# remove rows that have NA's\n#train = train.dropna()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "cell_type": "markdown", + "source": "\nWe can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property.\n\nYou should see 150 instances and 5 attributes:" + }, + { + "metadata": { + "_uuid": "95ee5e18f97bc410df1e54ac74e32cdff2b30755" + }, + "cell_type": "markdown", + "source": "for getting some information about the dataset you can use **info()** command" + }, + { + "metadata": { + "_uuid": "ca840f02925751186f87e402fcb5f637ab1ab8a0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print(df_train.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3458838205be4c7fbff88e95ef69934e13e2199b" + }, + "cell_type": "markdown", + "source": "you see number of unique item for Species with command below:" + }, + { + "metadata": { + "_uuid": "4b90d165a007106ae99809ad28edd75bd8153dd8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df_train['Age'].unique()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8accfbddf2228274ad412c3ad3be72b4107d6f6c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df_train[\"Pclass\"].value_counts()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "cell_type": "markdown", + "source": "to check the first 5 rows of the data set, we can use head(5)." + }, + { + "metadata": { + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df_train.head(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "cell_type": "markdown", + "source": "to check out last 5 row of the data set, we use tail() function" + }, + { + "metadata": { + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df_train.tail() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "cell_type": "markdown", + "source": "to pop up 5 random rows from the data set, we can use **sample(5)** function" + }, + { + "metadata": { + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df_train.sample(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "cell_type": "markdown", + "source": "to give a statistical summary about the dataset, we can use **describe()" + }, + { + "metadata": { + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df_train.describe() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "031d16ca235837e889734635ecff193be64b27a4" + }, + "cell_type": "markdown", + "source": "to check out how many null info are on the dataset, we can use **isnull().sum()" + }, + { + "metadata": { + "_uuid": "8807b632269e2fa734ad26e8513199400fc09a83", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df_train.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "446e6162e16325213047ff31454813455668b574", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df_train.groupby('Pclass').count()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + }, + "cell_type": "markdown", + "source": "To print dataset **columns**, we can use columns atribute" + }, + { + "metadata": { + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df_train.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "22bc5d81c18275ee1fb082c0adbb7a65bdbec4cc" + }, + "cell_type": "markdown", + "source": "**<< Note 2 >>**\nin pandas's data frame you can perform some query such as \"where\"" + }, + { + "metadata": { + "_uuid": "c8c8d9fd63d9bdb601183aeb4f1435affeb8a596", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df_train.where(df_train ['Age']==30).head(2)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "33fc33a18489b438a884819d99dc00a02b113be8" + }, + "cell_type": "markdown", + "source": "as you can see in the below in python, it is so easy perform some query on the dataframe:" + }, + { + "metadata": { + "_uuid": "8b545ff7e8367c5ab9c1db710f70b6936ac8422c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df_train[df_train['Age']<7.2].head(2)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1c92b300076a232321c915857d8a7c5685a97865", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Seperating the data into dependent and independent variables\nX = df_train.iloc[:, :-1].values\ny = df_train.iloc[:, -1].values", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "aa882e5bcdc7d5f440489eff75d1d225269655a4" + }, + "cell_type": "markdown", + "source": "**<< Note >>**\n>**Preprocessing and generation pipelines depend on a model type**" + }, + { + "metadata": { + "_uuid": "8280749a19af32869978c61941d1dea306632d71" + }, + "cell_type": "markdown", + "source": "
\n## 6-4 Data Cleaning \nWhen dealing with real-world data,** dirty data** is the norm rather than the exception. We continuously need to predict correct values, impute missing ones, and find links between various data artefacts such as schemas and records. We need to stop treating data cleaning as a piecemeal exercise (resolving different types of errors in isolation), and instead leverage all signals and resources (such as constraints, available statistics, and dictionaries) to accurately predict corrective actions.\n\nThe primary goal of data cleaning is to detect and remove errors and **anomalies** to increase the value of data in analytics and decision making. While it has been the focus of many researchers for several years, individual problems have been addressed separately. These include missing value imputation, outliers detection, transformations, integrity constraints violations detection and repair, consistent query answering, deduplication, and many other related problems such as profiling and constraints mining.[8]\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "166e019ad0c531d7b82447eadbd61fb09a062047" + }, + "cell_type": "markdown", + "source": "
\n## 6-4-1 Transforming Features" + }, + { + "metadata": { + "_uuid": "60dcf563b3a637f4836d5d3487b15a8f444caf53", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\ndef simplify_ages(df):\n df.Age = df.Age.fillna(-0.5)\n bins = (-1, 0, 5, 12, 18, 25, 35, 60, 120)\n group_names = ['Unknown', 'Baby', 'Child', 'Teenager', 'Student', 'Young Adult', 'Adult', 'Senior']\n categories = pd.cut(df.Age, bins, labels=group_names)\n df.Age = categories\n return df\n\ndef simplify_cabins(df):\n df.Cabin = df.Cabin.fillna('N')\n df.Cabin = df.Cabin.apply(lambda x: x[0])\n return df\n\ndef simplify_fares(df):\n df.Fare = df.Fare.fillna(-0.5)\n bins = (-1, 0, 8, 15, 31, 1000)\n group_names = ['Unknown', '1_quartile', '2_quartile', '3_quartile', '4_quartile']\n categories = pd.cut(df.Fare, bins, labels=group_names)\n df.Fare = categories\n return df\n\ndef format_name(df):\n df['Lname'] = df.Name.apply(lambda x: x.split(' ')[0])\n df['NamePrefix'] = df.Name.apply(lambda x: x.split(' ')[1])\n return df \n \ndef drop_features(df):\n return df.drop(['Ticket', 'Name', 'Embarked'], axis=1)\n\ndef transform_features(df):\n df = simplify_ages(df)\n df = simplify_cabins(df)\n df = simplify_fares(df)\n df = format_name(df)\n df = drop_features(df)\n return df\n\ndf_train = transform_features(df_train)\ndf_test = transform_features(df_test)\ndf_train.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "ce3592cb833dd39620f7c2ddf2db42cc156eff7d" + }, + "cell_type": "code", + "source": "def cleanticket(ticket):\n ticket = ticket.replace('.', '')\n ticket = ticket.replace('/', '')\n ticket = ticket.split()\n ticket = map(lambda t : t.strip(), ticket)\n ticket = list(filter(lambda t : not t.isdigit(), ticket))\n if len(ticket) > 0:\n return ticket[0]\n else: \n return 'XXX'", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "460e83e7cdb3db098cff0a82432a729619aac918" + }, + "cell_type": "markdown", + "source": "
\n## 6-4-2 Feature Encoding\n1. Encode labels with value between 0 and n_classes-1\n1. LabelEncoder can be used to normalize labels.\n1. It can also be used to transform non-numerical labels (as long as they are hashable and comparable) to numerical labels." + }, + { + "metadata": { + "trusted": true, + "_uuid": "babcb0a6523046000101b51ba3e813313d299ec0", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def encode_features(df_train, df_test):\n features = ['Fare', 'Cabin', 'Age', 'Sex', 'Lname', 'NamePrefix']\n df_combined = pd.concat([df_train[features], df_test[features]])\n \n for feature in features:\n le = preprocessing.LabelEncoder()\n le = le.fit(df_combined[feature])\n df_train[feature] = le.transform(df_train[feature])\n df_test[feature] = le.transform(df_test[feature])\n return df_train, df_test", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "72cc7c7b60a33390a85b16bc34e3b9e424650cdd" + }, + "cell_type": "markdown", + "source": "
\n## 7- Model Deployment\nIn this section have been applied plenty of ** learning algorithms** that play an important rule in your experiences and improve your knowledge in case of ML technique.\n\n> **<< Note 3 >>** : The results shown here may be slightly different for your analysis because, for example, the neural network algorithms use random number generators for fixing the initial value of the weights (starting points) of the neural networks, which often result in obtaining slightly different (local minima) solutions each time you run the analysis. Also note that changing the seed for the random number generator used to create the train, test, and validation samples can change your results." + }, + { + "metadata": { + "_uuid": "4b7788bbaaace438242d3b2d0d2ed489a91939ce" + }, + "cell_type": "markdown", + "source": "\n
\n## 7-1 Families of ML algorithms\nThere are several categories for machine learning algorithms, below are some of these categories:\n* Linear\n * Linear Regression\n * Logistic Regression\n * Support Vector Machines\n* Tree-Based\n * Decision Tree\n * Random Forest\n * GBDT\n* KNN\n* Neural Networks\n\n-----------------------------\nAnd if we want to categorize ML algorithms with the type of learning, there are below type:\n* Classification\n\n * k-Nearest \tNeighbors\n * LinearRegression\n * SVM\n * DT \n * NN\n \n* clustering\n\n * K-means\n * HCA\n * Expectation Maximization\n \n* Visualization \tand\tdimensionality \treduction:\n\n * Principal \tComponent \tAnalysis(PCA)\n * Kernel PCA\n * Locally -Linear\tEmbedding \t(LLE)\n * t-distributed\tStochastic\tNeighbor\tEmbedding \t(t-SNE)\n \n* Association \trule\tlearning\n\n * Apriori\n * Eclat\n* Semisupervised learning\n* Reinforcement Learning\n * Q-learning\n* Batch learning & Online learning\n* Ensemble Learning\n\n**<< Note >>**\n> Here is no method which outperforms all others for all tasks\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "daf9910caba26e071ff560dbdaca079ee148e140" + }, + "cell_type": "markdown", + "source": "
\n## 7-2 Prepare Features & Targets\nFirst of all seperating the data into dependent(Feature) and independent(Target) variables.\n\n**<< Note 4 >>**\n* X==>>Feature\n* y==>>Target" + }, + { + "metadata": { + "_uuid": "b06cb1191a0f52a904c52a918d1f999536e79bda", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df_train, df_test = encode_features(df_train, df_test)\ndf_train.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "78abd46dab662d9e81e4dac47c83fa1df3429e32" + }, + "cell_type": "code", + "source": "x_all = df_train.drop(['Survived', 'PassengerId'], axis=1)\ny_all = df_train['Survived']\n\nnum_test = 0.3\nX_train, X_test, y_train, y_test = train_test_split(x_all, y_all, test_size=num_test, random_state=100)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d13f167dd92888d856c4ad2ff2895bf4855e361c" + }, + "cell_type": "markdown", + "source": "
\n## 7-3 Accuracy and precision\nWe know that the titanic problem is a binary classification and to evaluate, we just need to calculate the accuracy.\n\n1. **accuracy**\n\n 1. Your score is the percentage of passengers you correctly predict. This is known simply as \"accuracy”.\n\n1. **precision** : \n\n 1. In pattern recognition, information retrieval and binary classification, precision (also called positive predictive value) is the fraction of relevant instances among the retrieved instances, \n1. **recall** : \n\n 1. recall is the fraction of relevant instances that have been retrieved over the total amount of relevant instances. \n1. **F-score** :\n\n 1. the F1 score is a measure of a test's accuracy. It considers both the precision p and the recall r of the test to compute the score: p is the number of correct positive results divided by the number of all positive results returned by the classifier, and r is the number of correct positive results divided by the number of all relevant samples (all samples that should have been identified as positive). The F1 score is the harmonic average of the precision and recall, where an F1 score reaches its best value at 1 (perfect precision and recall) and worst at 0.\n\n1. **What is the difference between accuracy and precision?**\n 1. \"Accuracy\" and \"precision\" are general terms throughout science. A good way to internalize the difference are the common \"bullseye diagrams\". In machine learning/statistics as a whole, accuracy vs. precision is analogous to bias vs. variance." + }, + { + "metadata": { + "trusted": true, + "_uuid": "f36542f64cfec03ddefa3116a2fd033bf12c8ab8" + }, + "cell_type": "code", + "source": "result=None", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "855fe3c46fa4fe0a1f776c644694b47093616617" + }, + "cell_type": "markdown", + "source": "
\n## 7-4 RandomForestClassifier\nA random forest is a meta estimator that fits a number of decision tree classifiers on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting. The sub-sample size is always the same as the original input sample size but the samples are drawn with replacement if bootstrap=True (default)." + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "471ac0e11bf734968a6d3152dfb35eb33695da64" + }, + "cell_type": "code", + "source": "# Choose the type of classifier. \nrfc = RandomForestClassifier()\n\n# Choose some parameter combinations to try\nparameters = {'n_estimators': [4, 6, 9], \n 'max_features': ['log2', 'sqrt','auto'], \n 'criterion': ['entropy', 'gini'],\n 'max_depth': [2, 3, 5, 10], \n 'min_samples_split': [2, 3, 5],\n 'min_samples_leaf': [1,5,8]\n }\n\n# Type of scoring used to compare parameter combinations\nacc_scorer = make_scorer(accuracy_score)\n\n# Run the grid search\ngrid_obj = GridSearchCV(rfc, parameters, scoring=acc_scorer)\ngrid_obj = grid_obj.fit(X_train, y_train)\n\n# Set the clf to the best combination of parameters\nrfc = grid_obj.best_estimator_\n\n# Fit the best algorithm to the data. \nrfc.fit(X_train, y_train)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c0c4ce2da9cb78411e21f7c67b21da5473b01d8a" + }, + "cell_type": "markdown", + "source": "
\n## 7-4-1 prediction" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "402d8924cbacc83edce356b89a268c24820ea637" + }, + "cell_type": "code", + "source": "rfc_prediction = rfc.predict(X_test)\nrfc_score=accuracy_score(y_test, rfc_prediction)\nprint(rfc_score)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0bbce674c5f9c0f25f37f24c46f5effc1129dfd0" + }, + "cell_type": "markdown", + "source": "
\n## 7-5 XGBoost\n[XGBoost](https://en.wikipedia.org/wiki/XGBoost) is an open-source software library which provides a gradient boosting framework for C++, Java, Python, R, and Julia. it aims to provide a \"Scalable, Portable and Distributed Gradient Boosting (GBM, GBRT, GBDT) Library\". " + }, + { + "metadata": { + "trusted": true, + "_uuid": "f4a86e079308436741b02b813c47f2eb467def18" + }, + "cell_type": "code", + "source": "xgboost = xgb.XGBClassifier(max_depth=3, n_estimators=300, learning_rate=0.05).fit(X_train, y_train)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a09c6cd1fdc4914c928a706f47bc3abb31e1865f" + }, + "cell_type": "markdown", + "source": "
\n## 7-5-1 prediction" + }, + { + "metadata": { + "trusted": true, + "_uuid": "ae942009092c5316cc3264b9030ba98e355ec263" + }, + "cell_type": "code", + "source": "xgb_prediction = xgboost.predict(X_test)\nxgb_score=accuracy_score(y_test, xgb_prediction)\nprint(xgb_score)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3d240a0df576395a9c08df161df732bba89fda1e" + }, + "cell_type": "markdown", + "source": "
\n## 7-6 Logistic Regression\n" + }, + { + "metadata": { + "trusted": true, + "_uuid": "70478a52a315460748cce36779e25dbb4d109258" + }, + "cell_type": "code", + "source": "logreg = LogisticRegression()\nlogreg.fit(X_train, y_train)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2d02b551619c6a02aa6e62b4c2c9e019c0b72b7e" + }, + "cell_type": "markdown", + "source": "
\n## 7-6-1 prediction" + }, + { + "metadata": { + "trusted": true, + "_uuid": "a0fb319adb2974342f5825b77cedfb7969d06fda" + }, + "cell_type": "code", + "source": "logreg_prediction = logreg.predict(X_test)\nlogreg_score=accuracy_score(y_test, logreg_prediction)\nprint(logreg_score)\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ddba8d3a95a81966359182e0a6dfc9ad31cdb9d9" + }, + "cell_type": "markdown", + "source": "## 7-7 Submission" + }, + { + "metadata": { + "trusted": true, + "_uuid": "ac88efa855ff9c00884c2cc4f8e7c26530ca0c15" + }, + "cell_type": "code", + "source": "#submission = pd.DataFrame({\n# \"PassengerId\": df_test[\"PassengerId\"],\n# \"Survived\": rfc_prediction\n# })\n#submission.to_csv('titanic.csv', index=False)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "97adc471c068fbd8d36ca19a4db0d98b0924c731" + }, + "cell_type": "markdown", + "source": "-----------------\n
\n# 8- Conclusion\nThis kernel is not completed yet , I have tried to cover all the parts related to the process of **Machine Learning** with a variety of Python packages and I know that there are still some problems then I hope to get your feedback to improve it." + }, + { + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "cell_type": "markdown", + "source": "you can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/Machine-Learning-Workflow-with-Python)\n\n--------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated** " + }, + { + "metadata": { + "_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0", + "_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a", + "collapsed": true + }, + "cell_type": "markdown", + "source": "
\n\n-----------\n\n# 9- References\n1. [https://skymind.ai/wiki/machine-learning-workflow](https://skymind.ai/wiki/machine-learning-workflow)\n\n1. [Problem-define](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n\n1. [Sklearn](http://scikit-learn.org/)\n\n1. [machine-learning-in-python-step-by-step](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n\n1. [Data Cleaning](http://wp.sigmod.org/?p=2288)\n\n1. [competitive data science](https://www.coursera.org/learn/competitive-data-science/)\n\n1. [Machine Learning Certification by Stanford University (Coursera)](https://www.coursera.org/learn/machine-learning/)\n\n1. [Machine Learning A-Z™: Hands-On Python & R In Data Science (Udemy)](https://www.udemy.com/machinelearning/)\n\n1. [Deep Learning Certification by Andrew Ng from deeplearning.ai (Coursera)](https://www.coursera.org/specializations/deep-learning)\n\n1. [Python for Data Science and Machine Learning Bootcamp (Udemy)](Python for Data Science and Machine Learning Bootcamp (Udemy))\n\n1. [Mathematics for Machine Learning by Imperial College London](https://www.coursera.org/specializations/mathematics-machine-learning)\n\n1. [Deep Learning A-Z™: Hands-On Artificial Neural Networks](https://www.udemy.com/deeplearning/)\n\n1. [Complete Guide to TensorFlow for Deep Learning Tutorial with Python](https://www.udemy.com/complete-guide-to-tensorflow-for-deep-learning-with-python/)\n\n1. [Data Science and Machine Learning Tutorial with Python – Hands On](https://www.udemy.com/data-science-and-machine-learning-with-python-hands-on/)\n\n1. [Machine Learning Certification by University of Washington](https://www.coursera.org/specializations/machine-learning)\n\n1. [Data Science and Machine Learning Bootcamp with R](https://www.udemy.com/data-science-and-machine-learning-bootcamp-with-r/)\n\n1. [Creative Applications of Deep Learning with TensorFlow](https://www.class-central.com/course/kadenze-creative-applications-of-deep-learning-with-tensorflow-6679)\n\n1. [Neural Networks for Machine Learning](https://www.class-central.com/mooc/398/coursera-neural-networks-for-machine-learning)\n\n1. [Practical Deep Learning For Coders, Part 1](https://www.class-central.com/mooc/7887/practical-deep-learning-for-coders-part-1)\n\n1. [Machine Learning](https://www.cs.ox.ac.uk/teaching/courses/2014-2015/ml/index.html)\n\n1. [https://www.kaggle.com/ash316/eda-to-prediction-dietanic](https://www.kaggle.com/ash316/eda-to-prediction-dietanic)\n\n1. [https://www.kaggle.com/mrisdal/exploring-survival-on-the-titanic](https://www.kaggle.com/mrisdal/exploring-survival-on-the-titanic)\n\n1. [https://www.kaggle.com/yassineghouzam/titanic-top-4-with-ensemble-modeling](https://www.kaggle.com/yassineghouzam/titanic-top-4-with-ensemble-modeling)\n\n1. [https://www.kaggle.com/ldfreeman3/a-data-science-framework-to-achieve-99-accuracy](https://www.kaggle.com/ldfreeman3/a-data-science-framework-to-achieve-99-accuracy)\n\n1. [https://www.kaggle.com/startupsci/titanic-data-science-solutions](https://www.kaggle.com/startupsci/titanic-data-science-solutions)\n\n1. [Top 28 Cheat Sheets for Machine Learning](https://www.analyticsvidhya.com/blog/2017/02/top-28-cheat-sheets-for-machine-learning-data-science-probability-sql-big-data/)\n-------------\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "3218340bb7dfc4ab53987820284a5c2b1c34eb45" + }, + "cell_type": "markdown", + "source": ">###### If you have read the notebook, you can follow next steps: [**Course Home Page**](https://www.kaggle.com/mjbahmani/10-steps-to-become-a-data-scientist)" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/A Comprehensive Machine ML Workflow with Python/A Comprehensive Machine Learning Workflow with Python.ipynb b/A Comprehensive Machine ML Workflow with Python/A Comprehensive Machine Learning Workflow with Python.ipynb new file mode 100644 index 0000000..312bf4b --- /dev/null +++ b/A Comprehensive Machine ML Workflow with Python/A Comprehensive Machine Learning Workflow with Python.ipynb @@ -0,0 +1,1846 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "source": [ + "###
A Comprehensive Machine Learning Workflow with Python
\n", + "\n", + "
There are plenty of courses and tutorials that can help you learn machine learning from scratch but here in Kaggle, I want to solve Titanic competition a popular machine learning Dataset as a comprehensive workflow with python packages. \n", + "After reading, you can use this workflow to solve other real problems and use it as a template to deal with machine learning problems.
\n", + "
last update: 10/31/2018
\n", + "\n", + "\n", + "\n", + ">###### you may be interested have a look at it: [**10-steps-to-become-a-data-scientist**](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n", + "\n", + "\n", + "---------------------------------------------------------------------\n", + "you can Fork and Run this kernel on Github:\n", + "\n", + "> ###### [ GitHub](https://github.com/mjbahmani/Machine-Learning-Workflow-with-Python)\n", + "\n", + "-------------------------------------------------------------------------------------------------------------\n", + " **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n", + " \n", + " -----------" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "source": [ + "## Notebook Content\n", + "* 1- [Introduction](#1)\n", + " * 1- [Courses](#1)\n", + " * 1- [Kaggle kernels](#1)\n", + " * 1- [Ebooks](#1)\n", + " * 1- [CheatSheet](#1)\n", + "* 2- [Machine learning](#2)\n", + "* 2- [Machine learning workflow](#2)\n", + "* 2-1 [Real world Application Vs Competitions](#2)\n", + "\n", + "* 3- [Problem Definition](#3)\n", + "* 3-1 [Problem feature](#4)\n", + "* 3-2 [Aim](#5)\n", + "* 3-3 [Variables](#6)\n", + "* 4-[ Inputs & Outputs](#7)\n", + "* 4-1 [Inputs ](#8)\n", + "* 4-2 [Outputs](#9)\n", + "* 5- [Installation](#10)\n", + "* 5-1 [ jupyter notebook](#11)\n", + "* 5-2[ kaggle kernel](#12)\n", + "* 5-3 [Colab notebook](#13)\n", + "* 5-4 [install python & packages](#14)\n", + "* 5-5 [Loading Packages](#15)\n", + "* 6- [Exploratory data analysis](#16)\n", + "* 6-1 [Data Collection](#17)\n", + "* 6-2 [Visualization](#18)\n", + "* 6-2-1 [Scatter plot](#19)\n", + "* 6-2-2 [Box](#20)\n", + "* 6-2-3 [Histogram](#21)\n", + "* 6-2-4 [Multivariate Plots](#22)\n", + "* 6-2-5 [Violinplots](#23)\n", + "* 6-2-6 [Pair plot](#24)\n", + "* 6-2-7 [Kde plot](#25)\n", + "* 6-2-8 [Joint plot](#26)\n", + "* 6-2-9 [Andrews curves](#27)\n", + "* 6-2-10 [Heatmap](#28)\n", + "* 6-2-11 [Radviz](#29)\n", + "* 6-3 [Data Preprocessing](#30)\n", + "* 6-4 [Data Cleaning](#31)\n", + "* 7- [Model Deployment](#32)\n", + "* 7-1[ KNN](#33)\n", + "* 7-2 [Radius Neighbors Classifier](#34)\n", + "* 7-3 [Logistic Regression](#35)\n", + "* 7-4 [Passive Aggressive Classifier](#36)\n", + "* 7-5 [Naive Bayes](#37)\n", + "* 7-6 [MultinomialNB](#38)\n", + "* 7-7 [BernoulliNB](#39)\n", + "* 7-8 [SVM](#40)\n", + "* 7-9 [Nu-Support Vector Classification](#41)\n", + "* 7-10 [Linear Support Vector Classification](#42)\n", + "* 7-11 [Decision Tree](#43)\n", + "* 7-12 [ExtraTreeClassifier](#44)\n", + "* 7-13 [Neural network](#45)\n", + "* 7-13-1 [What is a Perceptron?](#45)\n", + "* 7-14 [RandomForest](#46)\n", + "* 7-15 [Bagging classifier ](#47)\n", + "* 7-16 [AdaBoost classifier](#48)\n", + "* 7-17 [Gradient Boosting Classifier](#49)\n", + "* 7-18 [Linear Discriminant Analysis](#50)\n", + "* 7-19 [Quadratic Discriminant Analysis](#51)\n", + "* 7-20 [Kmeans](#52)\n", + "* 7-21 [Backpropagation](#53)\n", + "* 8- [Conclusion](#54)\n", + "* 9- [References](#55)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "source": [ + "
\n", + "## 1- Introduction\n", + "This is a **comprehensive ML techniques with python** , that I have spent for more than two months to complete it.\n", + "\n", + "it is clear that everyone in this community is familiar with Titanic dataset but if you need to review your information about the dataset please visit this [link](https://www.kaggle.com/c/titanic/data).\n", + "\n", + "I have tried to help **beginners** in Kaggle how to face machine learning problems. and I think it is a great opportunity for who want to learn machine learning workflow with python completely.\n", + "I have covered most of the methods that are implemented for **Titanic** until **2018**, you can start to learn and review your knowledge about ML with a perfect dataset and try to learn and memorize the workflow for your journey in Data science world.\n", + "## 1-1 Courses\n", + "There are a lot of online courses that can help you develop your knowledge, here I have just listed some of them:\n", + "\n", + "1. [Machine Learning Certification by Stanford University (Coursera)](https://www.coursera.org/learn/machine-learning/)\n", + "\n", + "2. [Machine Learning A-Z™: Hands-On Python & R In Data Science (Udemy)](https://www.udemy.com/machinelearning/)\n", + "\n", + "3. [Deep Learning Certification by Andrew Ng from deeplearning.ai (Coursera)](https://www.coursera.org/specializations/deep-learning)\n", + "\n", + "4. [Python for Data Science and Machine Learning Bootcamp (Udemy)](Python for Data Science and Machine Learning Bootcamp (Udemy))\n", + "\n", + "5. [Mathematics for Machine Learning by Imperial College London](https://www.coursera.org/specializations/mathematics-machine-learning)\n", + "\n", + "6. [Deep Learning A-Z™: Hands-On Artificial Neural Networks](https://www.udemy.com/deeplearning/)\n", + "\n", + "7. [Complete Guide to TensorFlow for Deep Learning Tutorial with Python](https://www.udemy.com/complete-guide-to-tensorflow-for-deep-learning-with-python/)\n", + "\n", + "8. [Data Science and Machine Learning Tutorial with Python – Hands On](https://www.udemy.com/data-science-and-machine-learning-with-python-hands-on/)\n", + "\n", + "9. [Machine Learning Certification by University of Washington](https://www.coursera.org/specializations/machine-learning)\n", + "\n", + "10. [Data Science and Machine Learning Bootcamp with R](https://www.udemy.com/data-science-and-machine-learning-bootcamp-with-r/)\n", + "11. [Creative Applications of Deep Learning with TensorFlow](https://www.class-central.com/course/kadenze-creative-applications-of-deep-learning-with-tensorflow-6679)\n", + "12. [Neural Networks for Machine Learning](https://www.class-central.com/mooc/398/coursera-neural-networks-for-machine-learning)\n", + "13. [Practical Deep Learning For Coders, Part 1](https://www.class-central.com/mooc/7887/practical-deep-learning-for-coders-part-1)\n", + "14. [Machine Learning](https://www.cs.ox.ac.uk/teaching/courses/2014-2015/ml/index.html)\n", + "\n", + "## 1-2 Kaggle kernels\n", + "I want to thanks **Kaggle team** and all of the **kernel's authors** who develop this huge resources for Data scientists. I have learned from The work of others and I have just listed some more important kernels that inspired my work and I've used them in this kernel:\n", + "\n", + "1. [https://www.kaggle.com/ash316/eda-to-prediction-dietanic](https://www.kaggle.com/ash316/eda-to-prediction-dietanic)\n", + "\n", + "2. [https://www.kaggle.com/mrisdal/exploring-survival-on-the-titanic](https://www.kaggle.com/mrisdal/exploring-survival-on-the-titanic)\n", + "\n", + "3. [https://www.kaggle.com/yassineghouzam/titanic-top-4-with-ensemble-modeling](https://www.kaggle.com/yassineghouzam/titanic-top-4-with-ensemble-modeling)\n", + "\n", + "4. [https://www.kaggle.com/ldfreeman3/a-data-science-framework-to-achieve-99-accuracy](https://www.kaggle.com/ldfreeman3/a-data-science-framework-to-achieve-99-accuracy)\n", + "\n", + "5. [https://www.kaggle.com/startupsci/titanic-data-science-solutions](https://www.kaggle.com/startupsci/titanic-data-science-solutions)\n", + "\n", + "## 1-3 Ebooks\n", + "So you love reading , here is **10 free machine learning books**\n", + "1. [Probability and Statistics for Programmers](http://www.greenteapress.com/thinkstats/)\n", + "2. [Bayesian Reasoning and Machine Learning](http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/091117.pdf)\n", + "2. [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/)\n", + "2. [Understanding Machine Learning](http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/index.html)\n", + "2. [A Programmer’s Guide to Data Mining](http://guidetodatamining.com/)\n", + "2. [Mining of Massive Datasets](http://infolab.stanford.edu/~ullman/mmds/book.pdf)\n", + "2. [A Brief Introduction to Neural Networks](http://www.dkriesel.com/_media/science/neuronalenetze-en-zeta2-2col-dkrieselcom.pdf)\n", + "2. [Deep Learning](http://www.deeplearningbook.org/)\n", + "2. [Natural Language Processing with Python](https://www.researchgate.net/publication/220691633_Natural_Language_Processing_with_Python)\n", + "2. [Machine Learning Yearning](http://www.mlyearning.org/)\n", + "\n", + "## 1-4 Cheat Sheets\n", + "Data Science is an ever-growing field, there are numerous tools & techniques to remember. It is not possible for anyone to remember all the functions, operations and formulas of each concept. That’s why we have cheat sheets. But there are a plethora of cheat sheets available out there, choosing the right cheat sheet is a tough task. So, I decided to write this article.\n", + "\n", + "Here I have selected the cheat sheets on the following criteria: comprehensiveness, clarity, and content [26]:\n", + "1. [Quick Guide to learn Python for Data Science ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Science-in-Python.pdf)\n", + "1. [Python for Data Science Cheat sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/beginners_python_cheat_sheet.pdf)\n", + "1. [Python For Data Science Cheat Sheet NumPy](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Numpy_Python_Cheat_Sheet.pdf)\n", + "1. [Exploratory Data Analysis in Python]()\n", + "1. [Data Exploration using Pandas in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Exploration-in-Python.pdf)\n", + "1. [Data Visualisation in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/data-visualisation-infographics1.jpg)\n", + "1. [Python For Data Science Cheat Sheet Bokeh](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Python_Bokeh_Cheat_Sheet.pdf)\n", + "1. [Cheat Sheet: Scikit Learn ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Scikit-Learn-Infographic.pdf)\n", + "1. [MLalgorithms CheatSheet](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/MLalgorithms-.pdf)\n", + "1. [Probability Basics Cheat Sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/probability_cheatsheet.pdf)\n", + "\n", + "I am open to getting your feedback for improving this **kernel**\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "e11b73b618b0f6e4335520ef80267c6d577d1ba5" + }, + "source": [ + "
\n", + "## 2- Machine Learning\n", + "Machine Learning is a field of study that gives computers the ability to learn without being explicitly programmed.\n", + "\n", + "**Arthur\tSamuel, 1959**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "20c66c96b3cf0abd94f514e362a80a084b9ac562" + }, + "source": [ + "## 2-1 Machine Learning Workflow\n", + "\n", + "\n", + "\n", + "If you have already read some [machine learning books](https://towardsdatascience.com/list-of-free-must-read-machine-learning-books-89576749d2ff). You have noticed that there are different ways to stream data into machine learning.\n", + "\n", + "most of these books share the following steps (checklist):\n", + "* Define the Problem(Look at the big picture)\n", + "* Specify Inputs & Outputs\n", + "* Data Collection\n", + "* Exploratory data analysis\n", + "* Data Preprocessing\n", + "* Model Design, Training, and Offline Evaluation\n", + "* Model Deployment, Online Evaluation, and Monitoring\n", + "* Model Maintenance, Diagnosis, and Retraining\n", + "\n", + "**You can see my workflow in the below image** :\n", + " \n", + "\n", + "**you should\tfeel free\tto\tadapt \tthis\tchecklist \tto\tyour needs**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "d8b27260d5ccff025f37490d84bd35bba7eef00a" + }, + "source": [ + "## 2-1 Real world Application Vs Competitions\n", + "Just a simple comparison between real-world apps with competitions:\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "600be852c0d28e7c0c5ebb718904ab15a536342c" + }, + "source": [ + "
\n", + "## 3- Problem Definition\n", + "I think one of the important things when you start a new machine learning project is Defining your problem. that means you should understand business problem.( **Problem Formalization**)\n", + "\n", + "Problem Definition has four steps that have illustrated in the picture below:\n", + "\n", + "
\n", + "### 3-1 Problem Feature\n", + "The sinking of the Titanic is one of the most infamous shipwrecks in history. **On April 15, 1912**, during her maiden voyage, the Titanic sank after colliding with an iceberg, killing **1502 out of 2224** passengers and crew. That's why the name DieTanic. This is a very unforgetable disaster that no one in the world can forget.\n", + "\n", + "It took about $7.5 million to build the Titanic and it sunk under the ocean due to collision. The Titanic Dataset is a very good dataset for begineers to start a journey in data science and participate in competitions in Kaggle.\n", + "\n", + "we will use the classic titanic data set. This dataset contains information about **11 different variables**:\n", + "\n", + "\n", + "* Survival\n", + "* Pclass\n", + "* Name\n", + "* Sex\n", + "* Age\n", + "* SibSp\n", + "* Parch\n", + "* Ticket\n", + "* Fare\n", + "* Cabin\n", + "* Embarked\n", + "\n", + "\n", + "### 3-3-1 Why am I using Titanic dataset\n", + "\n", + "1- This is a good project because it is so well understood.\n", + "\n", + "2- Attributes are numeric and categorical so you have to figure out how to load and handle data.\n", + "\n", + "3- It is a ML problem, allowing you to practice with perhaps an easier type of supervised learning algorithm.\n", + "\n", + "4- we can define problem as clustering(unsupervised algorithm) project too.\n", + "\n", + "5- because we love **Kaggle** :-) .\n", + "\n", + "
\n", + "### 3-2 Aim\n", + "It is your job to predict if a passenger survived the sinking of the Titanic or not. For each PassengerId in the test set, you must predict a 0 or 1 value for the Survived variable.\n", + "\n", + "
\n", + "### 3-3 Variables\n", + "\n", + "1. **Age** ==>> Age is fractional if less than 1. If the age is estimated, is it in the form of xx.5\n", + "\n", + "2. **Sibsp** ==>> The dataset defines family relations in this way...\n", + "\n", + " a. Sibling = brother, sister, stepbrother, stepsister\n", + "\n", + " b. Spouse = husband, wife (mistresses and fiancés were ignored)\n", + "\n", + "3. **Parch** ==>> The dataset defines family relations in this way...\n", + "\n", + " a. Parent = mother, father\n", + "\n", + " b. Child = daughter, son, stepdaughter, stepson\n", + "\n", + " c. Some children travelled only with a nanny, therefore parch=0 for them.\n", + "\n", + "4. **Pclass** ==>> A proxy for socio-economic status (SES)\n", + " * 1st = Upper\n", + " * 2nd = Middle\n", + " * 3rd = Lower\n", + "5. **Embarked** ==>> nominal datatype \n", + "6. **Name** ==>> nominal datatype . It could be used in feature engineering to derive the gender from title\n", + "7. **Sex** ==>> nominal datatype \n", + "8. **Ticket** ==>> that have no impact on the outcome variable. Thus, they will be excluded from analysis\n", + "9. **Cabin** ==>> is a nominal datatype that can be used in feature engineering\n", + "11. **Fare** ==>> Indicating the fare\n", + "12. **PassengerID ** ==>> have no impact on the outcome variable. Thus, it will be excluded from analysis\n", + "11. **Survival** is ==>> **[dependent variable](http://www.dailysmarty.com/posts/difference-between-independent-and-dependent-variables-in-machine-learning)** , 0 or 1\n", + "\n", + "### 3-3-1 Types of Features\n", + "\n", + "### 3-3-1-1 Categorical\n", + "\n", + "A categorical variable is one that has two or more categories and each value in that feature can be categorised by them. for example, gender is a categorical variable having two categories (male and female). Now we cannot sort or give any ordering to such variables. They are also known as Nominal Variables.\n", + "\n", + "**Categorical Features in the dataset: Sex,Embarked.**\n", + "\n", + "### 3-3-1-2 Ordinal\n", + "An ordinal variable is similar to categorical values, but the difference between them is that we can have relative ordering or sorting between the values. For eg: If we have a feature like Height with values Tall, Medium, Short, then Height is a ordinal variable. Here we can have a relative sort in the variable.\n", + "\n", + "**Ordinal Features in the dataset: PClass**\n", + "\n", + "### 3-3-1-3 Continous:\n", + "A feature is said to be continous if it can take values between any two points or between the minimum or maximum values in the features column.\n", + "\n", + "**Continous Features in the dataset: Age**\n", + "\n", + "**<< Note >>**\n", + "> You must answer the following question:\n", + "How does your company expact to use and benfit from your model." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "8bb4dfebb521f83543e1d45db3559216dad8f6fb" + }, + "source": [ + "
\n", + "## 4- Inputs & Outputs\n", + "
\n", + "### 4-1 Inputs\n", + "**Titanic** is a very popular **Machine Learning** problem then I decided to apply it on plenty of machine learning methods.\n", + "The titanic data set is a **multivariate data set** .\n", + "
\n", + "### 4-2 Outputs\n", + "Your score is the percentage of passengers you correctly predict. This is known simply as \"accuracy”.\n", + "\n", + "\n", + "The Outputs should have exactly **2 columns**:\n", + "\n", + "PassengerId (sorted in any order)\n", + "Survived (contains your binary predictions: 1 for survived, 0 for deceased)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "89ee0cda57822cd4102eadf8992c5bfe1964d557" + }, + "source": [ + "
\n", + "## 5-Installation\n", + "#### Windows:\n", + "* Anaconda (from https://www.continuum.io) is a free Python distribution for SciPy stack. It is also available for Linux and Mac.\n", + "* Canopy (https://www.enthought.com/products/canopy/) is available as free as well as commercial distribution with full SciPy stack for Windows, Linux and Mac.\n", + "* Python (x,y) is a free Python distribution with SciPy stack and Spyder IDE for Windows OS. (Downloadable from http://python-xy.github.io/)\n", + "\n", + "#### Linux:\n", + "Package managers of respective Linux distributions are used to install one or more packages in SciPy stack.\n", + "\n", + "For Ubuntu Users:\n", + "sudo apt-get install python-numpy python-scipy python-matplotlibipythonipythonnotebook\n", + "python-pandas python-sympy python-nose" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c1793fb141d3338bbc4300874be6ffa5cb1a9139" + }, + "source": [ + "
\n", + "## 5-1 Jupyter notebook\n", + "I strongly recommend installing **Python** and **Jupyter** using the **[Anaconda Distribution](https://www.anaconda.com/download/)**, which includes Python, the Jupyter Notebook, and other commonly used packages for scientific computing and data science.\n", + "\n", + "1. First, download Anaconda. We recommend downloading Anaconda’s latest Python 3 version.\n", + "\n", + "2. Second, install the version of Anaconda which you downloaded, following the instructions on the download page.\n", + "\n", + "3. Congratulations, you have installed Jupyter Notebook! To run the notebook, run the following command at the Terminal (Mac/Linux) or Command Prompt (Windows):" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "abbd1757dde9805758a2cec47a186e31dbc29822" + }, + "source": [ + "> jupyter notebook\n", + "> " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "8a70c253d5afa93f07a7a7e048dbb2d7812c8d10" + }, + "source": [ + "
\n", + "## 5-2 Kaggle Kernel\n", + "Kaggle kernel is an environment just like you use jupyter notebook, it's an **extension** of the where in you are able to carry out all the functions of jupyter notebooks plus it has some added tools like forking et al." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "237bbe4e4509c9491ce165e3599c432b979d7b90" + }, + "source": [ + "
\n", + "## 5-3 Colab notebook\n", + "**Colaboratory** is a research tool for machine learning education and research. It’s a Jupyter notebook environment that requires no setup to use.\n", + "### 5-3-1 What browsers are supported?\n", + "Colaboratory works with most major browsers, and is most thoroughly tested with desktop versions of Chrome and Firefox.\n", + "### 5-3-2 Is it free to use?\n", + "Yes. Colaboratory is a research project that is free to use.\n", + "### 5-3-3 What is the difference between Jupyter and Colaboratory?\n", + "Jupyter is the open source project on which Colaboratory is based. Colaboratory allows you to use and share Jupyter notebooks with others without having to download, install, or run anything on your own computer other than a browser." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "source": [ + "
\n", + "## 5-5 Loading Packages\n", + "In this kernel we are using the following packages:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "61f49281fdd8592b44c0867225f57e6fce36342c" + }, + "source": [ + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "5bf55263fff62fb1f9d478e0e11a4038a562637f" + }, + "source": [ + "### 5-5-1 Import" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5" + }, + "outputs": [], + "source": [ + "from sklearn.cross_validation import train_test_split\n", + "from sklearn.metrics import classification_report\n", + "from sklearn.metrics import confusion_matrix\n", + "from sklearn.metrics import accuracy_score\n", + "import matplotlib.pylab as pylab\n", + "import matplotlib.pyplot as plt\n", + "from pandas import get_dummies\n", + "import matplotlib as mpl\n", + "import seaborn as sns\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib\n", + "import warnings\n", + "import sklearn\n", + "import scipy\n", + "import numpy\n", + "import json\n", + "import sys\n", + "import csv\n", + "import os\n", + "\n", + "\n", + "print('matplotlib: {}'.format(matplotlib.__version__))\n", + "print('sklearn: {}'.format(sklearn.__version__))\n", + "print('scipy: {}'.format(scipy.__version__))\n", + "print('seaborn: {}'.format(sns.__version__))\n", + "print('pandas: {}'.format(pd.__version__))\n", + "print('numpy: {}'.format(np.__version__))\n", + "print('Python: {}'.format(sys.version))\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "187f8389fd6e034a5bb1555e3ed2fff5184a8f44" + }, + "source": [ + "### 5-5-2 Setup\n", + "\n", + "A few tiny adjustments for better **code readability**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "cb7e4af0977f267f0055ef6c7b9d7081cbaeb889" + }, + "outputs": [], + "source": [ + "sns.set(style='white', context='notebook', palette='deep')\n", + "pylab.rcParams['figure.figsize'] = 12,8\n", + "warnings.filterwarnings('ignore')\n", + "mpl.style.use('ggplot')\n", + "sns.set_style('white')\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" + }, + "source": [ + "
\n", + "## 6- Exploratory Data Analysis(EDA)\n", + " In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n", + " \n", + "* Which variables suggest interesting relationships?\n", + "* Which observations are unusual?\n", + "* Analysis of the features!\n", + "By the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations:\n", + "\n", + "* 5-1 Data Collection\n", + "* 5-2 Visualization\n", + "* 5-3 Data Preprocessing\n", + "* 5-4 Data Cleaning\n", + "\n", + "\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "source": [ + "
\n", + "## 6-1 Data Collection\n", + "**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n", + "I start Collection Data by the training and testing datasets into Pandas DataFrames\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "9269ae851b744856bce56840637030a16a5877e1" + }, + "outputs": [], + "source": [ + "# import train and test to play with it\n", + "train = pd.read_csv('../input/train.csv')\n", + "test = pd.read_csv('../input/test.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "source": [ + "**<< Note 1 >>**\n", + "\n", + "* Each **row** is an observation (also known as : sample, example, instance, record)\n", + "* Each **column** is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "source": [ + "After loading the data via **pandas**, we should checkout what the content is, description and via the following:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51" + }, + "outputs": [], + "source": [ + "type(train)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51" + }, + "outputs": [], + "source": [ + "type(test)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" + }, + "source": [ + "
\n", + "## 6-2 Visualization\n", + "**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns.\n", + "\n", + "With interactive visualization, you can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data you see and how it’s processed.[SAS]\n", + "\n", + " In this section I show you **11 plots** with **matplotlib** and **seaborn** that is listed in the blew picture:\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "b0014a7a52e714996bc443981c853095926d20e5" + }, + "source": [ + "
\n", + "### 6-2-1 Scatter plot\n", + "\n", + "Scatter plot Purpose To identify the type of relationship (if any) between two quantitative variables\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "af099546eed64ebc796403d4139cb4c977c27b03" + }, + "outputs": [], + "source": [ + "# Modify the graph above by assigning each species an individual color.\n", + "g = sns.FacetGrid(train, hue=\"Survived\", col=\"Pclass\", margin_titles=True,\n", + " palette={1:\"seagreen\", 0:\"gray\"})\n", + "g=g.map(plt.scatter, \"Fare\", \"Age\",edgecolor=\"w\").add_legend();" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "d1c7b62b5f8cba427bca13049256365141655372" + }, + "source": [ + "
\n", + "### 6-2-2 Box\n", + "In descriptive statistics, a **box plot** or boxplot is a method for graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram.[wikipedia]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "0655e20f31a582f861d391308a088778cd7eaae9" + }, + "outputs": [], + "source": [ + "train.plot(kind='box', subplots=True, layout=(2,4), sharex=False, sharey=False)\n", + "plt.figure()\n", + "#This gives us a much clearer idea of the distribution of the input attributes:\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "f7f6426fd44bcd77d35a5fdbc8c4fc4f18d991ad" + }, + "outputs": [], + "source": [ + "# To plot the species data using a box plot:\n", + "\n", + "sns.boxplot(x=\"Fare\", y=\"Age\", data=test )\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "7b193e4aa7e6fb337d3f65c334849094addd097a" + }, + "outputs": [], + "source": [ + "# Use Seaborn's striplot to add data points on top of the box plot \n", + "# Insert jitter=True so that the data points remain scattered and not piled into a verticle line.\n", + "# Assign ax to each axis, so that each plot is ontop of the previous axis. \n", + "\n", + "ax= sns.boxplot(x=\"Fare\", y=\"Age\", data=train)\n", + "ax= sns.stripplot(x=\"Fare\", y=\"Age\", data=train, jitter=True, edgecolor=\"gray\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "56adbafa89c117118621c72b3b7cb19edc21298e" + }, + "outputs": [], + "source": [ + "# Tweek the plot above to change fill and border color color using ax.artists.\n", + "# Assing ax.artists a variable name, and insert the box number into the corresponding brackets\n", + "\n", + "ax= sns.boxplot(x=\"Fare\", y=\"Age\", data=train)\n", + "ax= sns.stripplot(x=\"Fare\", y=\"Age\", data=train, jitter=True, edgecolor=\"gray\")\n", + "\n", + "boxtwo = ax.artists[2]\n", + "boxtwo.set_facecolor('red')\n", + "boxtwo.set_edgecolor('black')\n", + "boxthree=ax.artists[1]\n", + "boxthree.set_facecolor('yellow')\n", + "boxthree.set_edgecolor('black')\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "743a92c3c2fff1a1f99845518247f7971ad18b7c" + }, + "source": [ + "
\n", + "### 6-2-3 Histogram\n", + "We can also create a **histogram** of each input variable to get an idea of the distribution.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "5da0520ed3e738ee8814b2d91843ed4acec2b6e6" + }, + "outputs": [], + "source": [ + "# histograms\n", + "train.hist(figsize=(15,20))\n", + "plt.figure()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "b4e3de19781686010c6038f0e3076eb678398169" + }, + "source": [ + "It looks like perhaps two of the input variables have a Gaussian distribution. This is useful to note as we can use algorithms that can exploit this assumption.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "9f80a6e971cbf0af72d659b51af552ea1dddc9a8" + }, + "outputs": [], + "source": [ + "train[\"Age\"].hist();" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "06c7ec477241ef4e5ea68e6cc09f785638b31d6f" + }, + "outputs": [], + "source": [ + "f,ax=plt.subplots(1,2,figsize=(20,10))\n", + "train[train['Survived']==0].Age.plot.hist(ax=ax[0],bins=20,edgecolor='black',color='red')\n", + "ax[0].set_title('Survived= 0')\n", + "x1=list(range(0,85,5))\n", + "ax[0].set_xticks(x1)\n", + "train[train['Survived']==1].Age.plot.hist(ax=ax[1],color='green',bins=20,edgecolor='black')\n", + "ax[1].set_title('Survived= 1')\n", + "x2=list(range(0,85,5))\n", + "ax[1].set_xticks(x2)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "18637e84198615d9f936d0ef62723a98aa8cf4a4" + }, + "outputs": [], + "source": [ + "f,ax=plt.subplots(1,2,figsize=(18,8))\n", + "train['Survived'].value_counts().plot.pie(explode=[0,0.1],autopct='%1.1f%%',ax=ax[0],shadow=True)\n", + "ax[0].set_title('Survived')\n", + "ax[0].set_ylabel('')\n", + "sns.countplot('Survived',data=train,ax=ax[1])\n", + "ax[1].set_title('Survived')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "4349021072da9bc4d1f1b523991e19590593d048" + }, + "outputs": [], + "source": [ + "f,ax=plt.subplots(1,2,figsize=(18,8))\n", + "train[['Sex','Survived']].groupby(['Sex']).mean().plot.bar(ax=ax[0])\n", + "ax[0].set_title('Survived vs Sex')\n", + "sns.countplot('Sex',hue='Survived',data=train,ax=ax[1])\n", + "ax[1].set_title('Sex:Survived vs Dead')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "3bbff56707484f88625eb8ef309b712ba03f939e" + }, + "source": [ + "
\n", + "### 6-2-4 Multivariate Plots\n", + "Now we can look at the interactions between the variables.\n", + "\n", + "First, let’s look at scatterplots of all pairs of attributes. This can be helpful to spot structured relationships between input variables." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "eb4e5d117e4ef40d7668632f42130206a5537bd0" + }, + "outputs": [], + "source": [ + "\n", + "# scatter plot matrix\n", + "pd.plotting.scatter_matrix(train,figsize=(10,10))\n", + "plt.figure()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "de7fea7986071fafbe0b93933e3beda445cbe373" + }, + "source": [ + "Note the diagonal grouping of some pairs of attributes. This suggests a high correlation and a predictable relationship." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "e0f696ec021ec99c1058a62e22c8b73082fe6fa7" + }, + "source": [ + "
\n", + "### 6-2-5 violinplots" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "e352d2f8340609adf4bf6718b1d2ecee0fa730b5" + }, + "outputs": [], + "source": [ + "# violinplots on petal-length for each species\n", + "sns.violinplot(data=train,x=\"Fare\", y=\"Age\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "f9a29b9689cd5c3901f27901aa0b5295fc2f04f1" + }, + "outputs": [], + "source": [ + "f,ax=plt.subplots(1,2,figsize=(18,8))\n", + "sns.violinplot(\"Pclass\",\"Age\", hue=\"Survived\", data=train,split=True,ax=ax[0])\n", + "ax[0].set_title('Pclass and Age vs Survived')\n", + "ax[0].set_yticks(range(0,110,10))\n", + "sns.violinplot(\"Sex\",\"Age\", hue=\"Survived\", data=train,split=True,ax=ax[1])\n", + "ax[1].set_title('Sex and Age vs Survived')\n", + "ax[1].set_yticks(range(0,110,10))\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "0ed35bceb87051e56316d35a630334518e8b8c64" + }, + "source": [ + "
\n", + "### 6-2-6 pairplot" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "b80350add6f9a742f10bffc4b497562f8bebea95" + }, + "outputs": [], + "source": [ + "# Using seaborn pairplot to see the bivariate relation between each pair of features\n", + "sns.pairplot(train, hue=\"Age\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "fb187bcc0fb51e53f8abe9e3952c6ae5c3177411" + }, + "source": [ + "From the plot, we can see that the species setosa is separataed from the other two across all feature combinations\n", + "\n", + "We can also replace the histograms shown in the diagonal of the pairplot by kde." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "5570ff32db5a4740b26b244531af552ac1b57f4a" + }, + "outputs": [], + "source": [ + "# updating the diagonal elements in a pairplot to show a kde\n", + "sns.pairplot(train, hue=\"Age\",diag_kind=\"kde\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "2544d3c2dd34a360d295019d8cb597c7ef8f66bc" + }, + "source": [ + "
\n", + "### 6-2-7 kdeplot" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "1d07222b89303b386e9e824d52cc73c045667f25" + }, + "outputs": [], + "source": [ + "# seaborn's kdeplot, plots univariate or bivariate density estimates.\n", + "#Size can be changed by tweeking the value used\n", + "sns.FacetGrid(train, hue=\"Survived\", size=5).map(sns.kdeplot, \"Fare\").add_legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "560d8e8f17bacefaf8c3855a9648f26b82fdee9b" + }, + "source": [ + "
\n", + "### 6-2-8 jointplot" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "4adb4da16ea61e0f1a12bc9925dfbbaaa81e0360" + }, + "outputs": [], + "source": [ + "# Use seaborn's jointplot to make a hexagonal bin plot\n", + "#Set desired size and ratio and choose a color.\n", + "sns.jointplot(x=\"Age\", y=\"Survived\", data=train, size=10,ratio=10, kind='hex',color='green')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "3768e31e990bfe4c2ff7b45087fbba85e0560d00" + }, + "source": [ + "
\n", + "### 6-2-9 andrews_curves" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "263eaa9d2bfad0f8c68b6e8e874bdc11a6e802ac" + }, + "outputs": [], + "source": [ + "# we will use seaborn jointplot shows bivariate scatterplots and univariate histograms with Kernel density \n", + "# estimation in the same figure\n", + "sns.jointplot(x=\"Age\", y=\"Fare\", data=train, size=6, kind='kde', color='#800000', space=0)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "8e73333289d17dd648b7b2112d7fe3fe7ea444d0" + }, + "source": [ + "
\n", + "### 6-2-10 Heatmap" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "3100955ca9dc61ac7d435e9c064d10d06f26afa7" + }, + "outputs": [], + "source": [ + "plt.figure(figsize=(7,4)) \n", + "sns.heatmap(train.corr(),annot=True,cmap='cubehelix_r') #draws heatmap with input as the correlation matrix calculted by(iris.corr())\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "bc691cdb2001f0a7dc35b2f2644e4cf455e3016a" + }, + "outputs": [], + "source": [ + "sns.heatmap(train.corr(),annot=False,cmap='RdYlGn',linewidths=0.2) \n", + "fig=plt.gcf()\n", + "fig.set_size_inches(10,8)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "ab06d1cd799430c7c7f8de978ee2c6e275e7655b" + }, + "source": [ + "### 6-2-11 Bar Plot" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "329488de1a908a6d367b9da4b40a20238163d32e" + }, + "outputs": [], + "source": [ + "train['Pclass'].value_counts().plot(kind=\"bar\");" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "3dafbfb8735b66c98088cb0e85d50d4772a06df1" + }, + "source": [ + "### 6-2-12 Factorplot" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "33f7dd81d408b1530113c451dc1b58194ec487b8" + }, + "outputs": [], + "source": [ + "sns.factorplot('Pclass','Survived',hue='Sex',data=train)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "739bba4248dec9a31b7f4f00618cd2fce103d172" + }, + "source": [ + "### 6-2-13 distplot" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "318b702bd9751c332c3ad854e7f90e685b1417f5" + }, + "outputs": [], + "source": [ + "f,ax=plt.subplots(1,3,figsize=(20,8))\n", + "sns.distplot(train[train['Pclass']==1].Fare,ax=ax[0])\n", + "ax[0].set_title('Fares in Pclass 1')\n", + "sns.distplot(train[train['Pclass']==2].Fare,ax=ax[1])\n", + "ax[1].set_title('Fares in Pclass 2')\n", + "sns.distplot(train[train['Pclass']==3].Fare,ax=ax[2])\n", + "ax[2].set_title('Fares in Pclass 3')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "0859caf857ceeb19f4cc47ccd11fbbfdfe4b0dd9" + }, + "source": [ + "**<< Note >>**\n", + "\n", + "**Yellowbrick** is a suite of visual diagnostic tools called “Visualizers” that extend the Scikit-Learn API to allow human steering of the model selection process. In a nutshell, Yellowbrick combines scikit-learn with matplotlib in the best tradition of the scikit-learn documentation, but to produce visualizations for your models! " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "5af51158a5bc342947c553392e3d1665ac24ba62" + }, + "source": [ + "### 6-2-12 Conclusion\n", + "we have used Python to apply data visualization tools to the Iris dataset. Color and size changes were made to the data points in scatterplots. I changed the border and fill color of the boxplot and violin, respectively." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "91dda1f631cf4ed362162501aaaac6d19cfd6cc7" + }, + "source": [ + "
\n", + "## 6-3 Data Preprocessing\n", + "**Data preprocessing** refers to the transformations applied to our data before feeding it to the algorithm.\n", + " \n", + "Data Preprocessing is a technique that is used to convert the raw data into a clean data set. In other words, whenever the data is gathered from different sources it is collected in raw format which is not feasible for the analysis.\n", + "there are plenty of steps for data preprocessing and we just listed some of them :\n", + "* removing Target column (id)\n", + "* Sampling (without replacement)\n", + "* Making part of iris unbalanced and balancing (with undersampling and SMOTE)\n", + "* Introducing missing values and treating them (replacing by average values)\n", + "* Noise filtering\n", + "* Data discretization\n", + "* Normalization and standardization\n", + "* PCA analysis\n", + "* Feature selection (filter, embedded, wrapper)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "581b90e6a869c3793472c7edd59091d6d6342fb2" + }, + "source": [ + "## 6-3-1 Features\n", + "Features:\n", + "* numeric\n", + "* categorical\n", + "* ordinal\n", + "* datetime\n", + "* coordinates\n", + "\n", + "find the type of features in titanic dataset\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "73ab30f86273b590a51fc363d9bf78c2709558fa" + }, + "source": [ + "### 6-3-2 Explorer Dataset\n", + "1- Dimensions of the dataset.\n", + "\n", + "2- Peek at the data itself.\n", + "\n", + "3- Statistical summary of all attributes.\n", + "\n", + "4- Breakdown of the data by the class variable.[7]\n", + "\n", + "Don’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5" + }, + "outputs": [], + "source": [ + "# shape\n", + "print(train.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c" + }, + "outputs": [], + "source": [ + "#columns*rows\n", + "train.size" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "source": [ + "how many NA elements in every column\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5" + }, + "outputs": [], + "source": [ + "train.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "e8e124ca20643ad307d9bfdc34328d548c6ddcbc" + }, + "outputs": [], + "source": [ + "# remove rows that have NA's\n", + "#train = train.dropna()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "source": [ + "\n", + "We can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property.\n", + "\n", + "You should see 150 instances and 5 attributes:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "95ee5e18f97bc410df1e54ac74e32cdff2b30755" + }, + "source": [ + "for getting some information about the dataset you can use **info()** command" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "ca840f02925751186f87e402fcb5f637ab1ab8a0" + }, + "outputs": [], + "source": [ + "print(train.info())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "3458838205be4c7fbff88e95ef69934e13e2199b" + }, + "source": [ + "you see number of unique item for Species with command below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "4b90d165a007106ae99809ad28edd75bd8153dd8" + }, + "outputs": [], + "source": [ + "train['Age'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "8accfbddf2228274ad412c3ad3be72b4107d6f6c" + }, + "outputs": [], + "source": [ + "train[\"Pclass\"].value_counts()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "source": [ + "to check the first 5 rows of the data set, we can use head(5)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156" + }, + "outputs": [], + "source": [ + "train.head(5) " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "source": [ + "to check out last 5 row of the data set, we use tail() function" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305" + }, + "outputs": [], + "source": [ + "train.tail() " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "source": [ + "to pop up 5 random rows from the data set, we can use **sample(5)** function" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140" + }, + "outputs": [], + "source": [ + "train.sample(5) " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "source": [ + "to give a statistical summary about the dataset, we can use **describe()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3" + }, + "outputs": [], + "source": [ + "train.describe() " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "031d16ca235837e889734635ecff193be64b27a4" + }, + "source": [ + "to check out how many null info are on the dataset, we can use **isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "8807b632269e2fa734ad26e8513199400fc09a83" + }, + "outputs": [], + "source": [ + "train.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "446e6162e16325213047ff31454813455668b574" + }, + "outputs": [], + "source": [ + "train.groupby('Pclass').count()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + }, + "source": [ + "to print dataset **columns**, we can use columns atribute" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f" + }, + "outputs": [], + "source": [ + "train.columns" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "22bc5d81c18275ee1fb082c0adbb7a65bdbec4cc" + }, + "source": [ + "**<< Note 2 >>**\n", + "in pandas's data frame you can perform some query such as \"where\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "c8c8d9fd63d9bdb601183aeb4f1435affeb8a596" + }, + "outputs": [], + "source": [ + "train.where(train ['Age']==30)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "33fc33a18489b438a884819d99dc00a02b113be8" + }, + "source": [ + "as you can see in the below in python, it is so easy perform some query on the dataframe:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "8b545ff7e8367c5ab9c1db710f70b6936ac8422c" + }, + "outputs": [], + "source": [ + "train[train['Age']>7.2]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "1c92b300076a232321c915857d8a7c5685a97865" + }, + "outputs": [], + "source": [ + "# Seperating the data into dependent and independent variables\n", + "X = train.iloc[:, :-1].values\n", + "y = train.iloc[:, -1].values" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "aa882e5bcdc7d5f440489eff75d1d225269655a4" + }, + "source": [ + "**<< Note >>**\n", + ">**Preprocessing and generation pipelines depend on a model type**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "8280749a19af32869978c61941d1dea306632d71" + }, + "source": [ + "
\n", + "## 6-4 Data Cleaning\n", + "When dealing with real-world data, dirty data is the norm rather than the exception. We continuously need to predict correct values, impute missing ones, and find links between various data artefacts such as schemas and records. We need to stop treating data cleaning as a piecemeal exercise (resolving different types of errors in isolation), and instead leverage all signals and resources (such as constraints, available statistics, and dictionaries) to accurately predict corrective actions.\n", + "\n", + "The primary goal of data cleaning is to detect and remove errors and **anomalies** to increase the value of data in analytics and decision making. While it has been the focus of many researchers for several years, individual problems have been addressed separately. These include missing value imputation, outliers detection, transformations, integrity constraints violations detection and repair, consistent query answering, deduplication, and many other related problems such as profiling and constraints mining.[8]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "60dcf563b3a637f4836d5d3487b15a8f444caf53" + }, + "outputs": [], + "source": [ + "cols = train.columns\n", + "features = cols[0:12]\n", + "labels = cols[4]\n", + "print(features)\n", + "print(labels)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "72cc7c7b60a33390a85b16bc34e3b9e424650cdd" + }, + "source": [ + "
\n", + "## 7- Model Deployment\n", + "In this section have been applied plenty of ** learning algorithms** that play an important rule in your experiences and improve your knowledge in case of ML technique.\n", + "\n", + "> **<< Note 3 >>** : The results shown here may be slightly different for your analysis because, for example, the neural network algorithms use random number generators for fixing the initial value of the weights (starting points) of the neural networks, which often result in obtaining slightly different (local minima) solutions each time you run the analysis. Also note that changing the seed for the random number generator used to create the train, test, and validation samples can change your results." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "4b7788bbaaace438242d3b2d0d2ed489a91939ce" + }, + "source": [ + "## 7-1 Families of ML algorithms\n", + "There are several categories for machine learning algorithms, below are some of these categories:\n", + "* Linear\n", + " * Linear Regression\n", + " * Logistic Regression\n", + " * Support Vector Machines\n", + "* Tree-Based\n", + " * Decision Tree\n", + " * Random Forest\n", + " * GBDT\n", + "* KNN\n", + "* Neural Networks\n", + "\n", + "-----------------------------\n", + "And if we want to categorize ML algorithms with the type of learning, there are below type:\n", + "* Classification\n", + "\n", + " * k-Nearest \tNeighbors\n", + " * LinearRegression\n", + " * SVM\n", + " * DT \n", + " * NN\n", + " \n", + "* clustering\n", + "\n", + " * K-means\n", + " * HCA\n", + " * Expectation Maximization\n", + " \n", + "* Visualization \tand\tdimensionality \treduction:\n", + "\n", + " * Principal \tComponent \tAnalysis(PCA)\n", + " * Kernel PCA\n", + " * Locally -Linear\tEmbedding \t(LLE)\n", + " * t-distributed\tStochastic\tNeighbor\tEmbedding \t(t-SNE)\n", + " \n", + "* Association \trule\tlearning\n", + "\n", + " * Apriori\n", + " * Eclat\n", + "* Semisupervised learning\n", + "* Reinforcement Learning\n", + " * Q-learning\n", + "* Batch learning & Online learning\n", + "* Ensemble Learning\n", + "\n", + "**<< Note >>**\n", + "> Here is no method which outperforms all others for all tasks\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "daf9910caba26e071ff560dbdaca079ee148e140" + }, + "source": [ + "
\n", + "## 7-2 Prepare Features & Targets\n", + "First of all seperating the data into dependent(Feature) and independent(Target) variables.\n", + "\n", + "**<< Note 4 >>**\n", + "* X==>>Feature\n", + "* y==>>Target" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "b06cb1191a0f52a904c52a918d1f999536e79bda" + }, + "outputs": [], + "source": [ + "\n", + "X = train.iloc[:, :-1].values\n", + "y = train.iloc[:, -1].values\n", + "\n", + "# Splitting the dataset into the Training set and Test set\n", + "from sklearn.cross_validation import train_test_split\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "d13f167dd92888d856c4ad2ff2895bf4855e361c" + }, + "source": [ + "## 7-3 Accuracy and precision\n", + "* **precision** : \n", + "\n", + "In pattern recognition, information retrieval and binary classification, precision (also called positive predictive value) is the fraction of relevant instances among the retrieved instances, \n", + "* **recall** : \n", + "\n", + "recall is the fraction of relevant instances that have been retrieved over the total amount of relevant instances. \n", + "* **F-score** :\n", + "\n", + "the F1 score is a measure of a test's accuracy. It considers both the precision p and the recall r of the test to compute the score: p is the number of correct positive results divided by the number of all positive results returned by the classifier, and r is the number of correct positive results divided by the number of all relevant samples (all samples that should have been identified as positive). The F1 score is the harmonic average of the precision and recall, where an F1 score reaches its best value at 1 (perfect precision and recall) and worst at 0.\n", + "\n", + "**What is the difference between accuracy and precision?**\n", + "\"Accuracy\" and \"precision\" are general terms throughout science. A good way to internalize the difference are the common \"bullseye diagrams\". In machine learning/statistics as a whole, accuracy vs. precision is analogous to bias vs. variance." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "b8b544762cc789bfeb8ebccd6765f77b9c7e1a0f" + }, + "source": [ + "
\n", + "## 7-4 K-Nearest Neighbours\n", + "In **Machine Learning**, the **k-nearest neighbors algorithm** (k-NN) is a non-parametric method used for classification and regression. In both cases, the input consists of the k closest training examples in the feature space. The output depends on whether k-NN is used for classification or regression:\n", + "\n", + "In k-NN classification, the output is a class membership. An object is classified by a majority vote of its neighbors, with the object being assigned to the class most common among its k nearest neighbors (k is a positive integer, typically small). If k = 1, then the object is simply assigned to the class of that single nearest neighbor.\n", + "In k-NN regression, the output is the property value for the object. This value is the average of the values of its k nearest neighbors.\n", + "k-NN is a type of instance-based learning, or lazy learning, where the function is only approximated locally and all computation is deferred until classification. The k-NN algorithm is among the simplest of all machine learning algorithms." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "97adc471c068fbd8d36ca19a4db0d98b0924c731" + }, + "source": [ + "-----------------\n", + "
\n", + "# 8- Conclusion" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "1adfb5ba84e0f1d8fba58a2fca30546ead095047", + "collapsed": true + }, + "source": [ + "this kernel is not completed yet , I have tried to cover all the parts related to the process of **Machine Learning** with a variety of Python packages and I know that there are still some problems then I hope to get your feedback to improve it.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "source": [ + "you can Fork and Run this kernel on Github:\n", + "> ###### [ GitHub](https://github.com/mjbahmani/Machine-Learning-Workflow-with-Python)\n", + "\n", + "--------------------------------------\n", + "\n", + " **I hope you find this kernel helpful and some UPVOTES would be very much appreciated** " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0", + "_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a", + "collapsed": true + }, + "source": [ + "
\n", + "\n", + "-----------\n", + "\n", + "# 9- References\n", + "1. [https://skymind.ai/wiki/machine-learning-workflow](https://skymind.ai/wiki/machine-learning-workflow)\n", + "\n", + "1. [Problem-define](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n", + "\n", + "1. [Sklearn](http://scikit-learn.org/)\n", + "\n", + "1. [machine-learning-in-python-step-by-step](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n", + "\n", + "1. [Data Cleaning](http://wp.sigmod.org/?p=2288)\n", + "\n", + "1. [competitive data science](https://www.coursera.org/learn/competitive-data-science/)\n", + "\n", + "1. [Machine Learning Certification by Stanford University (Coursera)](https://www.coursera.org/learn/machine-learning/)\n", + "\n", + "1. [Machine Learning A-Z™: Hands-On Python & R In Data Science (Udemy)](https://www.udemy.com/machinelearning/)\n", + "\n", + "1. [Deep Learning Certification by Andrew Ng from deeplearning.ai (Coursera)](https://www.coursera.org/specializations/deep-learning)\n", + "\n", + "1. [Python for Data Science and Machine Learning Bootcamp (Udemy)](Python for Data Science and Machine Learning Bootcamp (Udemy))\n", + "\n", + "1. [Mathematics for Machine Learning by Imperial College London](https://www.coursera.org/specializations/mathematics-machine-learning)\n", + "\n", + "1. [Deep Learning A-Z™: Hands-On Artificial Neural Networks](https://www.udemy.com/deeplearning/)\n", + "\n", + "1. [Complete Guide to TensorFlow for Deep Learning Tutorial with Python](https://www.udemy.com/complete-guide-to-tensorflow-for-deep-learning-with-python/)\n", + "\n", + "1. [Data Science and Machine Learning Tutorial with Python – Hands On](https://www.udemy.com/data-science-and-machine-learning-with-python-hands-on/)\n", + "\n", + "1. [Machine Learning Certification by University of Washington](https://www.coursera.org/specializations/machine-learning)\n", + "\n", + "1. [Data Science and Machine Learning Bootcamp with R](https://www.udemy.com/data-science-and-machine-learning-bootcamp-with-r/)\n", + "\n", + "1. [Creative Applications of Deep Learning with TensorFlow](https://www.class-central.com/course/kadenze-creative-applications-of-deep-learning-with-tensorflow-6679)\n", + "\n", + "1. [Neural Networks for Machine Learning](https://www.class-central.com/mooc/398/coursera-neural-networks-for-machine-learning)\n", + "\n", + "1. [Practical Deep Learning For Coders, Part 1](https://www.class-central.com/mooc/7887/practical-deep-learning-for-coders-part-1)\n", + "\n", + "1. [Machine Learning](https://www.cs.ox.ac.uk/teaching/courses/2014-2015/ml/index.html)\n", + "\n", + "1. [https://www.kaggle.com/ash316/eda-to-prediction-dietanic](https://www.kaggle.com/ash316/eda-to-prediction-dietanic)\n", + "\n", + "1. [https://www.kaggle.com/mrisdal/exploring-survival-on-the-titanic](https://www.kaggle.com/mrisdal/exploring-survival-on-the-titanic)\n", + "\n", + "1. [https://www.kaggle.com/yassineghouzam/titanic-top-4-with-ensemble-modeling](https://www.kaggle.com/yassineghouzam/titanic-top-4-with-ensemble-modeling)\n", + "\n", + "1. [https://www.kaggle.com/ldfreeman3/a-data-science-framework-to-achieve-99-accuracy](https://www.kaggle.com/ldfreeman3/a-data-science-framework-to-achieve-99-accuracy)\n", + "\n", + "1. [https://www.kaggle.com/startupsci/titanic-data-science-solutions](https://www.kaggle.com/startupsci/titanic-data-science-solutions)\n", + "\n", + "1. [Top 28 Cheat Sheets for Machine Learning](https://www.analyticsvidhya.com/blog/2017/02/top-28-cheat-sheets-for-machine-learning-data-science-probability-sql-big-data/)\n", + "-------------\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "3218340bb7dfc4ab53987820284a5c2b1c34eb45" + }, + "source": [ + "# The kernel is not complete and will be updated soon !!!" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/A Data Science Framework for Elo/A Data Science Framework for Elo.ipynb b/A Data Science Framework for Elo/A Data Science Framework for Elo.ipynb new file mode 100644 index 0000000..184ed82 --- /dev/null +++ b/A Data Science Framework for Elo/A Data Science Framework for Elo.ipynb @@ -0,0 +1,1203 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "cell_type": "markdown", + "source": "#
A Data Science Framework for Elo
\n###
Quite Practical and Far from any Theoretical Concepts
\n
last update: 11/28/2018
\n\nYou can Fork and Run this kernel on **Github**:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n" + }, + { + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "cell_type": "markdown", + "source": "
\n## 1- Introduction\n**[Elo](https://www.cartaoelo.com.br/)** has defined a competition in **Kaggle**. A realistic and attractive data set for data scientists.\non this notebook, I will provide a **comprehensive** approach to solve Elo Recommendation problem.\n\nI am open to getting your feedback for improving this **kernel**." + }, + { + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "cell_type": "markdown", + "source": "
\n## Notebook Content\n1. [Introduction](#1)\n1. [Data Science Workflow for Elo](#2)\n1. [Problem Definition](#3)\n 1. [Business View](#4)\n 1. [Real world Application Vs Competitions](#31)\n1. [Problem feature](#7)\n 1. [Aim](#8)\n 1. [Variables](#9)\n 1. [ Inputs & Outputs](#10)\n 1. [Evaluation](#10)\n1. [Select Framework](#11)\n 1. [Import](#12)\n 1. [Version](#13)\n 1. [Setup](#14)\n1. [Exploratory data analysis](#15)\n 1. [Data Collection](#16)\n 1. [data_dictionary Analysis](#17)\n 1. [Explorer Dataset](#18)\n 1. [Data Cleaning](#19)\n 1. [Data Preprocessing](#20)\n 1. [Data Visualization](#23)\n 1. [countplot](#61)\n 1. [pie plot](#62)\n 1. [Histogram](#63)\n 1. [violin plot](#64)\n 1. [kdeplot](#65)\n1. [Apply Learning](#24)\n1. [Conclusion](#25)\n1. [References](#26)" + }, + { + "metadata": { + "_uuid": "e9438d850fcacb93c4dc1f7873255803ecbf521c" + }, + "cell_type": "markdown", + "source": "-------------------------------------------------------------------------------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "e11b73b618b0f6e4335520ef80267c6d577d1ba5" + }, + "cell_type": "markdown", + "source": "
\n## 2- A Data Science Workflow for Elo\nOf course, the same solution can not be provided for all problems, so the best way is to create a **general framework** and adapt it to new problem.\n\n**You can see my workflow in the below image** :\n\n \n\n**You should feel free\tto\tadjust \tthis\tchecklist \tto\tyour needs**\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "600be852c0d28e7c0c5ebb718904ab15a536342c" + }, + "cell_type": "markdown", + "source": "
\n## 3- Problem Definition\nI think one of the important things when you start a new machine learning project is Defining your problem. that means you should understand business problem.( **Problem Formalization**)\n\n> We are predicting a **loyalty score** for each card_id represented in test.csv and sample_submission.csv.\n\n## 3-1 About Elo\n [Elo](https://www.cartaoelo.com.br/) is one of the largest **payment brands** in Brazil, has built partnerships with merchants in order to offer promotions or discounts to cardholders. But \n1. do these promotions work for either the consumer or the merchant?\n1. Do customers enjoy their experience? \n1. Do merchants see repeat business? \n\n**Personalization is key**.\n
\n## 3-2 Business View \n**Elo** has built machine learning models to understand the most important aspects and preferences in their customers’ lifecycle, from food to shopping. But so far none of them is specifically tailored for an individual or profile. This is where you come in.\n
\n### 3-2-1 Real world Application Vs Competitions\nJust a simple comparison between real-world apps with competitions:\n\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "556980c672d2f7b2a4ee943b9d13b88de6e41e04" + }, + "cell_type": "markdown", + "source": "
\n## 4- Problem Feature\nProblem Definition has four steps that have illustrated in the picture below:\n\n\n1. Aim\n1. Variable\n1. Inputs & Outputs\n1. Evaluation\n
\n\n### 4-1 Aim\nDevelop algorithms to identify and serve the most relevant opportunities to individuals, by uncovering signal in customer loyalty.\nWe are predicting a **loyalty score** for each card_id represented in test.csv and sample_submission.csv.\n\n
\n### 4-2 Variables\nThe data is formatted as follows:\n\ntrain.csv and test.csv contain card_ids and information about the card itself - the first month the card was active, etc. train.csv also contains the target.\n\nhistorical_transactions.csv and new_merchant_transactions.csv are designed to be joined with train.csv, test.csv, and merchants.csv. They contain information about transactions for each card, as described above.\n\nmerchants can be joined with the transaction sets to provide additional merchant-level information.\n\n\n
\n### 4-3 Inputs & Outputs\nwe use train.csv and test.csv as Input and we should upload a submission.csv as Output\n\n### 4-4 Evaluation\nSubmissions are scored on the root mean squared error. RMSE(Root Mean Squared Error) is defined as:\n\nwhere y^ is the predicted loyalty score for each card_id, and y is the actual loyalty score assigned to a card_id.\n\n**<< Note >>**\n> You must answer the following question:\nHow does your company expect to use and benefit from **your model**.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "cell_type": "markdown", + "source": "
\n## 5- Select Framework\nAfter problem definition and problem feature, we should select our **framework** to solve the **problem**.\nWhat we mean by the framework is that the programming languages you use and by what modules the problem will be solved.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "c90e261f3b150e10aaec1f34ab3be768acf7aa25" + }, + "cell_type": "markdown", + "source": "
\n## 5-2 Import" + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_kg_hide-input": true, + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.model_selection import train_test_split\nfrom sklearn.metrics import classification_report\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.metrics import accuracy_score\nimport matplotlib.pylab as pylab\nimport matplotlib.pyplot as plt\nfrom pandas import get_dummies\nimport matplotlib as mpl\nimport seaborn as sns\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport scipy\nimport numpy\nimport json\nimport sys\nimport csv\nimport os", + "execution_count": 14, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1c2beac253f7ddddcc2e1aa26dc850d5b87268f3" + }, + "cell_type": "markdown", + "source": "
\n## 5-3 version" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "9ffe2f1e5995150c8138f9e98509c7525fb230b4", + "trusted": true + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))\n", + "execution_count": 15, + "outputs": [ + { + "output_type": "stream", + "text": "matplotlib: 2.2.3\nsklearn: 0.20.1\nscipy: 1.1.0\nseaborn: 0.9.0\npandas: 0.23.4\nnumpy: 1.15.4\nPython: 3.6.6 |Anaconda, Inc.| (default, Oct 9 2018, 12:34:16) \n[GCC 7.3.0]\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "431bf889ae401c1089a13835356c13f2b6a06f6c" + }, + "cell_type": "markdown", + "source": "
\n## 5-4 Setup\n\nA few tiny adjustments for better **code readability**" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "05ccd847c8212f67972d1f127b67931eb546110f" + }, + "cell_type": "code", + "source": "sns.set(style='white', context='notebook', palette='deep')\nwarnings.filterwarnings('ignore')\nsns.set_style('white')\n%matplotlib inline", + "execution_count": 16, + "outputs": [] + }, + { + "metadata": { + "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" + }, + "cell_type": "markdown", + "source": "
\n## 6- EDA\n In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n \n* Which variables suggest interesting relationships?\n* Which observations are unusual?\n* Analysis of the features!\n\nBy the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations:\n\n1. Data Collection\n1. Visualization\n1. Data Cleaning\n1. Data Preprocessing\n\n\n ###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "cell_type": "markdown", + "source": "
\n## 6-1 Data Collection\n**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n\nI start Collection Data by the training and testing datasets into **Pandas DataFrames**.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "trusted": true + }, + "cell_type": "code", + "source": "train = pd.read_csv('../input/train.csv', parse_dates=[\"first_active_month\"] )\ntest = pd.read_csv('../input/test.csv' ,parse_dates=[\"first_active_month\"] )\nmerchants=pd.read_csv('../input/merchants.csv')\n", + "execution_count": 17, + "outputs": [] + }, + { + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "cell_type": "markdown", + "source": "**<< Note 1 >>**\n\n* Each **row** is an observation (also known as : sample, example, instance, record).\n* Each **column** is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate).\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "8a8d34d874032d0aa0898f44832a23c623ed330f" + }, + "cell_type": "markdown", + "source": "## 6-1-1 data_dictionary Analysis\nElo Provides a excel file to describe about data. It has four sheet and we have just read them with below code:" + }, + { + "metadata": { + "trusted": true, + "_uuid": "1e882cf7e8696a51d8aa2fe05dd9035bd7063b56" + }, + "cell_type": "code", + "source": "data_dictionary_train=pd.read_excel('../input/Data_Dictionary.xlsx',sheet_name='train')\ndata_dictionary_history=pd.read_excel('../input/Data_Dictionary.xlsx',sheet_name='history')\ndata_dictionary_new_merchant_period=pd.read_excel('../input/Data_Dictionary.xlsx',sheet_name='new_merchant_period')\ndata_dictionary_merchant=pd.read_excel('../input/Data_Dictionary.xlsx',sheet_name='merchant')", + "execution_count": 18, + "outputs": [] + }, + { + "metadata": { + "_uuid": "513bf092e78388de9a1337b8e2f401a1aa61704a" + }, + "cell_type": "markdown", + "source": "### 6-1-1-1 data_dictionary_train" + }, + { + "metadata": { + "trusted": true, + "_uuid": "cb0c886bd76df2497a3845e805db69e31cda4bf1" + }, + "cell_type": "code", + "source": "data_dictionary_train.head(10)\n# what we know about train:", + "execution_count": 19, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 19, + "data": { + "text/plain": " train.csv Unnamed: 1\n0 NaN NaN\n1 Columns Description\n2 card_id Unique card identifier\n3 first_active_month 'YYYY-MM', month of first purchase\n4 feature_1 Anonymized card categorical feature\n5 feature_2 Anonymized card categorical feature\n6 feature_3 Anonymized card categorical feature\n7 target Loyalty numerical score calculated 2 months af...", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
train.csvUnnamed: 1
0NaNNaN
1ColumnsDescription
2card_idUnique card identifier
3first_active_month'YYYY-MM', month of first purchase
4feature_1Anonymized card categorical feature
5feature_2Anonymized card categorical feature
6feature_3Anonymized card categorical feature
7targetLoyalty numerical score calculated 2 months af...
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "ac8d426954246fea0684765402be77c40a4beaf1" + }, + "cell_type": "markdown", + "source": "### 6-1-1-2 data_dictionary_history" + }, + { + "metadata": { + "trusted": true, + "_uuid": "2dc908cd4b38873830f70ed4af8f7e9e951a896d" + }, + "cell_type": "code", + "source": "data_dictionary_history.head(10)\n# what we know about history:", + "execution_count": 20, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 20, + "data": { + "text/plain": " historical_transactions.csv Unnamed: 1\n0 NaN NaN\n1 Columns Description\n2 card_id Card identifier\n3 month_lag month lag to reference date\n4 purchase_date Purchase date\n5 authorized_flag Y' if approved, 'N' if denied\n6 category_3 anonymized category\n7 installments number of installments of purchase\n8 category_1 anonymized category\n9 merchant_category_id Merchant category identifier (anonymized )", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
historical_transactions.csvUnnamed: 1
0NaNNaN
1ColumnsDescription
2card_idCard identifier
3month_lagmonth lag to reference date
4purchase_datePurchase date
5authorized_flagY' if approved, 'N' if denied
6category_3anonymized category
7installmentsnumber of installments of purchase
8category_1anonymized category
9merchant_category_idMerchant category identifier (anonymized )
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "ce946d38bbfdfb90ab6622656e3511bb6d5e6b29" + }, + "cell_type": "markdown", + "source": "### 6-1-1-3 data_dictionary_new_merchant_period" + }, + { + "metadata": { + "trusted": true, + "_uuid": "9e8f388465e2e8684eb00f0d20094441b4a0155e" + }, + "cell_type": "code", + "source": "data_dictionary_new_merchant_period.head(10)\n# what we know about new_merchant_period:", + "execution_count": 21, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 21, + "data": { + "text/plain": " new_merchant_period.csv Unnamed: 1\n0 NaN NaN\n1 Columns Description\n2 card_id Card identifier\n3 month_lag month lag to reference date\n4 purchase_date Purchase date\n5 authorized_flag Y' if approved, 'N' if denied\n6 category_3 anonymized category\n7 installments number of installments of purchase\n8 category_1 anonymized category\n9 merchant_category_id Merchant category identifier (anonymized )", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
new_merchant_period.csvUnnamed: 1
0NaNNaN
1ColumnsDescription
2card_idCard identifier
3month_lagmonth lag to reference date
4purchase_datePurchase date
5authorized_flagY' if approved, 'N' if denied
6category_3anonymized category
7installmentsnumber of installments of purchase
8category_1anonymized category
9merchant_category_idMerchant category identifier (anonymized )
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "80594c47da7c1cfa28d81d683bdbe0100a34aec4" + }, + "cell_type": "markdown", + "source": "### 6-1-1-4 data_dictionary_merchant:" + }, + { + "metadata": { + "trusted": true, + "_uuid": "5b2e4f8c61d7eb96e486999144dd35e1dbc8e4a7" + }, + "cell_type": "code", + "source": "data_dictionary_merchant.head(30)\n# what we know about merchant:", + "execution_count": 22, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 22, + "data": { + "text/plain": " merchants.csv Unnamed: 1\n0 NaN NaN\n1 Columns Description\n2 merchant_id Unique merchant identifier\n3 merchant_group_id Merchant group (anonymized )\n4 merchant_category_id Unique identifier for merchant category (anony...\n5 subsector_id Merchant category group (anonymized )\n6 numerical_1 anonymized measure\n7 numerical_2 anonymized measure\n8 category_1 anonymized category\n9 most_recent_sales_range Range of revenue (monetary units) in last acti...\n10 most_recent_purchases_range Range of quantity of transactions in last acti...\n11 avg_sales_lag3 Monthly average of revenue in last 3 months di...\n12 avg_purchases_lag3 Monthly average of transactions in last 3 mont...\n13 active_months_lag3 Quantity of active months within last 3 months\n14 avg_sales_lag6 Monthly average of revenue in last 6 months di...\n15 avg_purchases_lag6 Monthly average of transactions in last 6 mont...\n16 active_months_lag6 Quantity of active months within last 6 months\n17 avg_sales_lag12 Monthly average of revenue in last 12 months d...\n18 avg_purchases_lag12 Monthly average of transactions in last 12 mon...\n19 active_months_lag12 Quantity of active months within last 12 months\n20 category_4 anonymized category\n21 city_id City identifier (anonymized )\n22 state_id State identifier (anonymized )\n23 category_2 anonymized category", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
merchants.csvUnnamed: 1
0NaNNaN
1ColumnsDescription
2merchant_idUnique merchant identifier
3merchant_group_idMerchant group (anonymized )
4merchant_category_idUnique identifier for merchant category (anony...
5subsector_idMerchant category group (anonymized )
6numerical_1anonymized measure
7numerical_2anonymized measure
8category_1anonymized category
9most_recent_sales_rangeRange of revenue (monetary units) in last acti...
10most_recent_purchases_rangeRange of quantity of transactions in last acti...
11avg_sales_lag3Monthly average of revenue in last 3 months di...
12avg_purchases_lag3Monthly average of transactions in last 3 mont...
13active_months_lag3Quantity of active months within last 3 months
14avg_sales_lag6Monthly average of revenue in last 6 months di...
15avg_purchases_lag6Monthly average of transactions in last 6 mont...
16active_months_lag6Quantity of active months within last 6 months
17avg_sales_lag12Monthly average of revenue in last 12 months d...
18avg_purchases_lag12Monthly average of transactions in last 12 mon...
19active_months_lag12Quantity of active months within last 12 months
20category_4anonymized category
21city_idCity identifier (anonymized )
22state_idState identifier (anonymized )
23category_2anonymized category
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "bcf89ac9e4b2944e241279956859a257b049d2e6" + }, + "cell_type": "markdown", + "source": "## 6-1-2 Train Analysis" + }, + { + "metadata": { + "_uuid": "4708d70e39d1ae861bbf34411cf03d07f261fceb", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.sample(1) ", + "execution_count": 23, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 23, + "data": { + "text/plain": " first_active_month card_id ... feature_3 target\n176371 2015-11-01 C_ID_425bfd2291 ... 1 -1.088887\n\n[1 rows x 6 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
first_active_monthcard_idfeature_1feature_2feature_3target
1763712015-11-01C_ID_425bfd2291311-1.088887
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "f8e7a84ab982504d7263b1812fa66bba78bddbdc", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "test.sample(1) ", + "execution_count": 24, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 24, + "data": { + "text/plain": " first_active_month card_id ... feature_2 feature_3\n45750 2017-10-01 C_ID_1dea159575 ... 1 0\n\n[1 rows x 5 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
first_active_monthcard_idfeature_1feature_2feature_3
457502017-10-01C_ID_1dea159575210
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "3483fbc1e932d9f387703a796248963e77cefa1d" + }, + "cell_type": "markdown", + "source": "Or you can use others command to explorer dataset, such as " + }, + { + "metadata": { + "_uuid": "08a94b16129d4c231b64d4691374e18aa80f1d80", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.tail(1)", + "execution_count": 25, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 25, + "data": { + "text/plain": " first_active_month card_id ... feature_3 target\n201916 2017-07-01 C_ID_92c9984c58 ... 1 -1.859413\n\n[1 rows x 6 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
first_active_monthcard_idfeature_1feature_2feature_3target
2019162017-07-01C_ID_92c9984c58311-1.859413
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "581b90e6a869c3793472c7edd59091d6d6342fb2" + }, + "cell_type": "markdown", + "source": "
\n## 6-1-1 Features\nFeatures can be from following types:\n* numeric\n* categorical\n* ordinal\n* datetime\n* coordinates\n\nFind the type of features in **Qoura dataset**?!\n\nFor getting some information about the dataset you can use **info()** command." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "ca840f02925751186f87e402fcb5f637ab1ab8a0", + "trusted": true + }, + "cell_type": "code", + "source": "print(train.info())", + "execution_count": 26, + "outputs": [ + { + "output_type": "stream", + "text": "\nRangeIndex: 201917 entries, 0 to 201916\nData columns (total 6 columns):\nfirst_active_month 201917 non-null datetime64[ns]\ncard_id 201917 non-null object\nfeature_1 201917 non-null int64\nfeature_2 201917 non-null int64\nfeature_3 201917 non-null int64\ntarget 201917 non-null float64\ndtypes: datetime64[ns](1), float64(1), int64(3), object(1)\nmemory usage: 9.2+ MB\nNone\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "4cbcf76344a6e3c8e841ccf1f43bf00d040a06a1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print(test.info())", + "execution_count": 27, + "outputs": [ + { + "output_type": "stream", + "text": "\nRangeIndex: 123623 entries, 0 to 123622\nData columns (total 5 columns):\nfirst_active_month 123622 non-null datetime64[ns]\ncard_id 123623 non-null object\nfeature_1 123623 non-null int64\nfeature_2 123623 non-null int64\nfeature_3 123623 non-null int64\ndtypes: datetime64[ns](1), int64(3), object(1)\nmemory usage: 4.7+ MB\nNone\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "73ab30f86273b590a51fc363d9bf78c2709558fa" + }, + "cell_type": "markdown", + "source": "
\n## 6-1-2 Explorer Dataset\n1- Dimensions of the dataset.\n\n2- Peek at the data itself.\n\n3- Statistical summary of all attributes.\n\n4- Breakdown of the data by the class variable.\n\nDon’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true + }, + "cell_type": "code", + "source": "# shape for train and test\nprint('Shape of train:',train.shape)\nprint('Shape of test:',test.shape)", + "execution_count": 28, + "outputs": [ + { + "output_type": "stream", + "text": "Shape of train: (201917, 6)\nShape of test: (123623, 5)\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true + }, + "cell_type": "code", + "source": "#columns*rows\ntrain.size", + "execution_count": 29, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 29, + "data": { + "text/plain": "1211502" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "cell_type": "markdown", + "source": "After loading the data via **pandas**, we should checkout what the content is, description and via the following:" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true + }, + "cell_type": "code", + "source": "type(train)", + "execution_count": 30, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 30, + "data": { + "text/plain": "pandas.core.frame.DataFrame" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true + }, + "cell_type": "code", + "source": "type(test)", + "execution_count": 31, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 31, + "data": { + "text/plain": "pandas.core.frame.DataFrame" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "1b8b6f0c962a59e5258e74ed9e740a4aaf7c8113", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.describe()", + "execution_count": 32, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 32, + "data": { + "text/plain": " feature_1 feature_2 feature_3 target\ncount 201917.000000 201917.000000 201917.000000 201917.000000\nmean 3.105311 1.745410 0.565569 -0.393636\nstd 1.186160 0.751362 0.495683 3.850500\nmin 1.000000 1.000000 0.000000 -33.219281\n25% 2.000000 1.000000 0.000000 -0.883110\n50% 3.000000 2.000000 1.000000 -0.023437\n75% 4.000000 2.000000 1.000000 0.765453\nmax 5.000000 3.000000 1.000000 17.965068", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
feature_1feature_2feature_3target
count201917.000000201917.000000201917.000000201917.000000
mean3.1053111.7454100.565569-0.393636
std1.1861600.7513620.4956833.850500
min1.0000001.0000000.000000-33.219281
25%2.0000001.0000000.000000-0.883110
50%3.0000002.0000001.000000-0.023437
75%4.0000002.0000001.0000000.765453
max5.0000003.0000001.00000017.965068
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "cell_type": "markdown", + "source": "To pop up 5 random rows from the data set, we can use **sample(5)** function and find the type of features." + }, + { + "metadata": { + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.sample(5) ", + "execution_count": 33, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 33, + "data": { + "text/plain": " first_active_month card_id ... feature_3 target\n24049 2016-02-01 C_ID_6f347c12b6 ... 1 -1.349221\n22944 2016-07-01 C_ID_5d355bc83c ... 1 -3.291095\n159853 2017-08-01 C_ID_bf31f1ff75 ... 1 3.354917\n201364 2017-10-01 C_ID_22a7e87c3b ... 1 0.688432\n170115 2017-12-01 C_ID_5b7e90ce33 ... 0 0.073997\n\n[5 rows x 6 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
first_active_monthcard_idfeature_1feature_2feature_3target
240492016-02-01C_ID_6f347c12b6511-1.349221
229442016-07-01C_ID_5d355bc83c521-3.291095
1598532017-08-01C_ID_bf31f1ff753213.354917
2013642017-10-01C_ID_22a7e87c3b5210.688432
1701152017-12-01C_ID_5b7e90ce332300.073997
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "8280749a19af32869978c61941d1dea306632d71" + }, + "cell_type": "markdown", + "source": "
\n## 6-2 Data Cleaning\nWhen dealing with real-world data, dirty data is the norm rather than the exception. We continuously need to predict correct values, impute missing ones, and find links between various data artefacts such as schemas and records. We need to stop treating data cleaning as a piecemeal exercise (resolving different types of errors in isolation), and instead leverage all signals and resources (such as constraints, available statistics, and dictionaries) to accurately predict corrective actions.\n\nThe primary goal of data cleaning is to detect and remove errors and **anomalies** to increase the value of data in analytics and decision making. While it has been the focus of many researchers for several years, individual problems have been addressed separately. These include missing value imputation, outliers detection, transformations, integrity constraints violations detection and repair, consistent query answering, deduplication, and many other related problems such as profiling and constraints mining.[4]\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "cell_type": "markdown", + "source": "How many NA elements in every column!!\n\nGood news, it is Zero!\n\nTo check out how many null info are on the dataset, we can use **isnull().sum()**." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5", + "trusted": true + }, + "cell_type": "code", + "source": "train.isnull().sum()", + "execution_count": 34, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 34, + "data": { + "text/plain": "first_active_month 0\ncard_id 0\nfeature_1 0\nfeature_2 0\nfeature_3 0\ntarget 0\ndtype: int64" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "5faa6528c6667060c05268757ff46e211b4fea3f" + }, + "cell_type": "markdown", + "source": "But if we had , we can just use **dropna()**(be careful sometimes you should not do this!)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "e8e124ca20643ad307d9bfdc34328d548c6ddcbc", + "trusted": true + }, + "cell_type": "code", + "source": "# remove rows that have NA's\nprint('Before Droping',train.shape)\ntrain = train.dropna()\nprint('After Droping',train.shape)", + "execution_count": 35, + "outputs": [ + { + "output_type": "stream", + "text": "Before Droping (201917, 6)\nAfter Droping (201917, 6)\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "cell_type": "markdown", + "source": "\nWe can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property." + }, + { + "metadata": { + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + }, + "cell_type": "markdown", + "source": "To print dataset **columns**, we can use columns atribute." + }, + { + "metadata": { + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.columns", + "execution_count": 36, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 36, + "data": { + "text/plain": "Index(['first_active_month', 'card_id', 'feature_1', 'feature_2', 'feature_3',\n 'target'],\n dtype='object')" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "3458838205be4c7fbff88e95ef69934e13e2199b" + }, + "cell_type": "markdown", + "source": "You see number of unique item for Target with command below:" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "c7937700664991b29bdb0b3f04942c59498da760", + "trusted": true + }, + "cell_type": "code", + "source": "train_target = train['target'].values\n\nnp.unique(train_target)", + "execution_count": 37, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 37, + "data": { + "text/plain": "array([-33.21928095, -17.60814651, -17.49263951, ..., 15.99445509,\n 17.67571588, 17.9650684 ])" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "cell_type": "markdown", + "source": "To check the first 5 rows of the data set, we can use head(5)." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156", + "trusted": true + }, + "cell_type": "code", + "source": "train.head(5) ", + "execution_count": 38, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 38, + "data": { + "text/plain": " first_active_month card_id ... feature_3 target\n0 2017-06-01 C_ID_92a2005557 ... 1 -0.820283\n1 2017-01-01 C_ID_3d0044924f ... 0 0.392913\n2 2016-08-01 C_ID_d639edf6cd ... 0 0.688056\n3 2017-09-01 C_ID_186d6a6901 ... 0 0.142495\n4 2017-11-01 C_ID_cdbd2c0db2 ... 0 -0.159749\n\n[5 rows x 6 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
first_active_monthcard_idfeature_1feature_2feature_3target
02017-06-01C_ID_92a2005557521-0.820283
12017-01-01C_ID_3d0044924f4100.392913
22016-08-01C_ID_d639edf6cd2200.688056
32017-09-01C_ID_186d6a69014300.142495
42017-11-01C_ID_cdbd2c0db2130-0.159749
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "cell_type": "markdown", + "source": "Or to check out last 5 row of the data set, we use tail() function." + }, + { + "metadata": { + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.tail() ", + "execution_count": 39, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 39, + "data": { + "text/plain": " first_active_month card_id ... feature_3 target\n201912 2017-09-01 C_ID_963962de2c ... 1 -2.740821\n201913 2015-10-01 C_ID_1314773c0b ... 1 0.312917\n201914 2017-08-01 C_ID_7666735b3d ... 0 0.093494\n201915 2016-07-01 C_ID_73f5a0efd0 ... 1 -4.676589\n201916 2017-07-01 C_ID_92c9984c58 ... 1 -1.859413\n\n[5 rows x 6 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
first_active_monthcard_idfeature_1feature_2feature_3target
2019122017-09-01C_ID_963962de2c321-2.740821
2019132015-10-01C_ID_1314773c0b3110.312917
2019142017-08-01C_ID_7666735b3d4300.093494
2019152016-07-01C_ID_73f5a0efd0321-4.676589
2019162017-07-01C_ID_92c9984c58311-1.859413
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "cell_type": "markdown", + "source": "To give a **statistical summary** about the dataset, we can use **describe()**\n" + }, + { + "metadata": { + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.describe() ", + "execution_count": 40, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 40, + "data": { + "text/plain": " feature_1 feature_2 feature_3 target\ncount 201917.000000 201917.000000 201917.000000 201917.000000\nmean 3.105311 1.745410 0.565569 -0.393636\nstd 1.186160 0.751362 0.495683 3.850500\nmin 1.000000 1.000000 0.000000 -33.219281\n25% 2.000000 1.000000 0.000000 -0.883110\n50% 3.000000 2.000000 1.000000 -0.023437\n75% 4.000000 2.000000 1.000000 0.765453\nmax 5.000000 3.000000 1.000000 17.965068", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
feature_1feature_2feature_3target
count201917.000000201917.000000201917.000000201917.000000
mean3.1053111.7454100.565569-0.393636
std1.1861600.7513620.4956833.850500
min1.0000001.0000000.000000-33.219281
25%2.0000001.0000000.000000-0.883110
50%3.0000002.0000001.000000-0.023437
75%4.0000002.0000001.0000000.765453
max5.0000003.0000001.00000017.965068
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "10bdb8246f66c14043392806cae714f688cc8251" + }, + "cell_type": "markdown", + "source": "As you can see, the statistical information that this command gives us is not suitable for this type of data\n**describe() is more useful for numerical data sets**" + }, + { + "metadata": { + "_uuid": "91dda1f631cf4ed362162501aaaac6d19cfd6cc7" + }, + "cell_type": "markdown", + "source": "
\n## 6-3 Data Preprocessing\n**Data preprocessing** refers to the transformations applied to our data before feeding it to the algorithm.\n \nData Preprocessing is a technique that is used to convert the raw data into a clean data set. In other words, whenever the data is gathered from different sources it is collected in raw format which is not feasible for the analysis.\nthere are plenty of steps for data preprocessing and we just listed some of them in general(Not just for Quora) :\n1. removing Target column (id)\n1. Sampling (without replacement)\n1. Making part of iris unbalanced and balancing (with undersampling and SMOTE)\n1. Introducing missing values and treating them (replacing by average values)\n1. Noise filtering\n1. Data discretization\n1. Normalization and standardization\n1. PCA analysis\n1. Feature selection (filter, embedded, wrapper)\n1. Etc.\n\nWhat methods of preprocessing can we run on Quora?! \n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "6c8c838f497c66a227975fb9a2f588e431f0c568" + }, + "cell_type": "markdown", + "source": "**<< Note 2 >>**\nin pandas's data frame you can perform some query such as \"where\"" + }, + { + "metadata": { + "_uuid": "c8c8d9fd63d9bdb601183aeb4f1435affeb8a596", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.where(train ['target']==1).count()", + "execution_count": 41, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 41, + "data": { + "text/plain": "first_active_month 117\ncard_id 117\nfeature_1 117\nfeature_2 117\nfeature_3 117\ntarget 117\ndtype: int64" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "33fc33a18489b438a884819d99dc00a02b113be8" + }, + "cell_type": "markdown", + "source": "As you can see in the below in python, it is so easy perform some query on the dataframe:" + }, + { + "metadata": { + "_uuid": "8b545ff7e8367c5ab9c1db710f70b6936ac8422c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train[train['target']<-32].head(5)", + "execution_count": 47, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 47, + "data": { + "text/plain": " first_active_month card_id ... feature_3 target\n64 2017-09-01 C_ID_8186f3fcc1 ... 1 -33.219281\n92 2015-05-01 C_ID_b9379a30ea ... 1 -33.219281\n125 2015-10-01 C_ID_e9120f535c ... 1 -33.219281\n151 2017-03-01 C_ID_65715cb80d ... 0 -33.219281\n225 2017-01-01 C_ID_ae77d244b6 ... 0 -33.219281\n\n[5 rows x 6 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
first_active_monthcard_idfeature_1feature_2feature_3target
642017-09-01C_ID_8186f3fcc1311-33.219281
922015-05-01C_ID_b9379a30ea331-33.219281
1252015-10-01C_ID_e9120f535c331-33.219281
1512017-03-01C_ID_65715cb80d420-33.219281
2252017-01-01C_ID_ae77d244b6210-33.219281
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "d517b2b99a455a6b89c238faf1647515b8a67d87", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train[train['target']==1].head(5)", + "execution_count": 43, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 43, + "data": { + "text/plain": " first_active_month card_id ... feature_3 target\n297 2017-11-01 C_ID_d25746fced ... 0 1.0\n904 2015-08-01 C_ID_76e4bf4bb7 ... 0 1.0\n910 2017-03-01 C_ID_e88589f8a3 ... 0 1.0\n2213 2017-06-01 C_ID_8369e9930c ... 0 1.0\n5479 2015-08-01 C_ID_ffafee7ba5 ... 0 1.0\n\n[5 rows x 6 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
first_active_monthcard_idfeature_1feature_2feature_3target
2972017-11-01C_ID_d25746fced2101.0
9042015-08-01C_ID_76e4bf4bb71201.0
9102017-03-01C_ID_e88589f8a32201.0
22132017-06-01C_ID_8369e9930c2201.0
54792015-08-01C_ID_ffafee7ba54201.0
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "19d3ed2ef536b88a079e563b8fd237ff4b64ccaa" + }, + "cell_type": "code", + "source": "train.feature_1.unique()", + "execution_count": 49, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 49, + "data": { + "text/plain": "array([5, 4, 2, 1, 3])" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "679c51cf1d0818124da821835f6aa394a511f6c4" + }, + "cell_type": "code", + "source": "train.feature_2.unique()", + "execution_count": 50, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 50, + "data": { + "text/plain": "array([2, 1, 3])" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "31c3542bf74e1552d93aa22419d19c329efb9446" + }, + "cell_type": "code", + "source": "train.feature_3.unique()", + "execution_count": 51, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 51, + "data": { + "text/plain": "array([1, 0])" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "600b1b02db54739461e00e2f56675dee4cedf977" + }, + "cell_type": "code", + "source": "train.first_active_month.unique()", + "execution_count": 53, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 53, + "data": { + "text/plain": "array(['2017-06-01T00:00:00.000000000', '2017-01-01T00:00:00.000000000',\n '2016-08-01T00:00:00.000000000', '2017-09-01T00:00:00.000000000',\n '2017-11-01T00:00:00.000000000', '2016-09-01T00:00:00.000000000',\n '2016-12-01T00:00:00.000000000', '2017-08-01T00:00:00.000000000',\n '2016-10-01T00:00:00.000000000', '2016-03-01T00:00:00.000000000',\n '2017-04-01T00:00:00.000000000', '2017-02-01T00:00:00.000000000',\n '2016-07-01T00:00:00.000000000', '2016-06-01T00:00:00.000000000',\n '2017-10-01T00:00:00.000000000', '2015-10-01T00:00:00.000000000',\n '2016-04-01T00:00:00.000000000', '2017-07-01T00:00:00.000000000',\n '2016-01-01T00:00:00.000000000', '2016-11-01T00:00:00.000000000',\n '2015-11-01T00:00:00.000000000', '2013-05-01T00:00:00.000000000',\n '2016-02-01T00:00:00.000000000', '2016-05-01T00:00:00.000000000',\n '2014-02-01T00:00:00.000000000', '2017-05-01T00:00:00.000000000',\n '2017-12-01T00:00:00.000000000', '2017-03-01T00:00:00.000000000',\n '2015-08-01T00:00:00.000000000', '2015-05-01T00:00:00.000000000',\n '2015-01-01T00:00:00.000000000', '2014-08-01T00:00:00.000000000',\n '2015-02-01T00:00:00.000000000', '2014-06-01T00:00:00.000000000',\n '2014-07-01T00:00:00.000000000', '2014-03-01T00:00:00.000000000',\n '2015-06-01T00:00:00.000000000', '2014-05-01T00:00:00.000000000',\n '2015-12-01T00:00:00.000000000', '2015-07-01T00:00:00.000000000',\n '2015-03-01T00:00:00.000000000', '2015-09-01T00:00:00.000000000',\n '2014-01-01T00:00:00.000000000', '2014-04-01T00:00:00.000000000',\n '2014-10-01T00:00:00.000000000', '2014-11-01T00:00:00.000000000',\n '2014-09-01T00:00:00.000000000', '2013-12-01T00:00:00.000000000',\n '2014-12-01T00:00:00.000000000', '2013-06-01T00:00:00.000000000',\n '2015-04-01T00:00:00.000000000', '2013-10-01T00:00:00.000000000',\n '2013-08-01T00:00:00.000000000', '2013-07-01T00:00:00.000000000',\n '2012-05-01T00:00:00.000000000', '2012-08-01T00:00:00.000000000',\n '2012-10-01T00:00:00.000000000', '2012-06-01T00:00:00.000000000',\n '2012-09-01T00:00:00.000000000', '2012-04-01T00:00:00.000000000',\n '2012-12-01T00:00:00.000000000', '2013-11-01T00:00:00.000000000',\n '2013-09-01T00:00:00.000000000', '2013-04-01T00:00:00.000000000',\n '2012-11-01T00:00:00.000000000', '2013-01-01T00:00:00.000000000',\n '2011-11-01T00:00:00.000000000', '2013-02-01T00:00:00.000000000',\n '2012-03-01T00:00:00.000000000', '2012-02-01T00:00:00.000000000',\n '2013-03-01T00:00:00.000000000', '2018-01-01T00:00:00.000000000',\n '2012-07-01T00:00:00.000000000', '2018-02-01T00:00:00.000000000',\n '2011-12-01T00:00:00.000000000'], dtype='datetime64[ns]')" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "aa882e5bcdc7d5f440489eff75d1d225269655a4" + }, + "cell_type": "markdown", + "source": "**<< Note >>**\n>**Preprocessing and generation pipelines depend on a model type**" + }, + { + "metadata": { + "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" + }, + "cell_type": "markdown", + "source": "
\n## 6-4 Data Visualization\n**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns.\n\n> * Two** important rules** for Data visualization:\n> 1. Do not put too little information\n> 1. Do not put too much information\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "fbe8c50bcc1b632f42dd249e27a9a7c14517fd29" + }, + "cell_type": "markdown", + "source": "
\n## 6-4-1 Histogram" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "e065ebff5374a9ab83df9c099a05962eb3645934", + "trusted": true + }, + "cell_type": "code", + "source": "train[\"target\"].hist();", + "execution_count": 44, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "42991453dab1bac979de2207dcbbbe98e2c7921a" + }, + "cell_type": "code", + "source": "# histograms\ntrain.hist(figsize=(15,20))\nplt.figure()", + "execution_count": 81, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 81, + "data": { + "text/plain": "
" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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SrfLk9lJ2+Sp7KBt8pFJfnY+HGdvkt/P7Kvw16Yv2R4T7FO35X1ti3X+aGYHs9fX/7y2+Iru/i/ZhtfjBPv+pb8et1hjkrwoyU3d/fET7mLp+4iJjk+2oy+3WudPZdZXP7Npu/y7mf3k0S/U7FrRPZmFm29YUY2nen28PLNvRn1RZj+rccUSQu1W60xmZxd/en5WdrNlv8anONZb2vvlnmPHpvzWWgAAAM4VhqQCAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDACAAAwJDDCxGrmlqr6b1X1bauuBwB2o6q6raq+YkWP/aaq+v5VPDZM7fxVFwDnoH+Z5N3d/dRF7qSq3pPkxu7+iUmqOrPHfneS/Unul+SDSV7Z3e/Y7joAYBWqam93H111HbATCIwwvccn+XerLqKqzu/uz57l4v80ye9392er6tIk76qqC7v7TyYsEQCWoqrenORxSW6qqqNJvjfJlyV5RpILkvznJC/t7t+bz/+mJJ/MbB/+zCTPqar3J3nT/O9O8s4kf6u7nz5f5slJfiTJgSRHknxPd/+HqnpxkhckOVZV/yyzD5Ev2471hmXYc+zYsVXXAOeMqvrlzHYs9yT5bGY7kW9O8vzMztb9XJJ/3t2frKrPS/LmJJdm9uHNryW5qrsPVdVrkrx80/28KcnrMjvbd5/jQXDzWciq+sb5Y/1mkiuT/Nj/3979R0t2lnWi/3Y6gBGQHwkQoUlyRfpB00GgZUDlx8wgOs7IAIJAhoRR1lwI4s3ce3VGcFC5d5YYMVwREkhGR4cxyFUcTRBF1rCuGYwRBw5EODI8RDRJd5DOSYIKOgmYzv2j6piT8CY53afOqXO6Pp+1zjpV+9m76t3vqqpd39rv3ru7X1dVL0/yb5KcPK29oruvPYJ1+gdJPpjkGd3934+yawBgS1XVNUn+VXd/YHr/5UneneRLSX46k/D3hGntPyV5fpJ/muQPk9w3k21vkrw8yWmZBMZru/tpVXX/JJ9K8uOZbMvPSPJfM9lWfnL6eAe7+3WbvJqw6RzDCDPU3f84ye8n+cHufkCSc5LsTfKEJF+f5FGZbFySyfvvlzL5NfOUTH7ZvGD6OP9u7eN09w+uswlPSfJnSR6R5Cer6rlJfjTJ9yR52PQx37WeB6qq91bVLUn+KMnlST6yzjYAwLbT3b/Y3V/o7luTvD7JN1XVg9bMcll3/0F3H87kB9sXJPmJ7v7b7v5kknesmfe7k1zT3b/U3X/X3R9L8l+SfO/WrA1sHUNSYZNU1a4kr0jy+O6+eTrtDUl+Jclru/umTDYuq/P/ZJLf2+DTfra73zq9/XdVdU6Sn+ru/7Hm+X+0qk69t72M3f3dVXWfJN+e5BumG1AA2HGqaneSn8wk0D0syeo27aQkfzW9fWDNIg/L5Hvy2mlrb5+a5ClV9Zdrph2fyd5GOKYIjLB5Hpbkq5MsVdXqtF1JdidJVX11kp9N8k+SPGRaf+AGD7Q/cJf7pyb5uap605ppuzLZ03mvw1K7+8tJ3ldV/7qq/rS733OU7QKArbb2uKt/keS5mfwIek2SByX5fCbbxNH8K5kcErInyaen0x69pn4gyX/r7mev47lhRxMYYfPcmMkw09O7+/pB/YeSVJKndPfnquoJST6WOzZed93Y/M30/1cn+evp7ZPvMs9dlzmQ5Ce7+51H0f61jk/ymA0+BgBspUNJvm56+4FJbk1yUybb0Tfc04LdfVtV/UaS11fVv8rk0JGXJbluOst7k5xXVWfnjhPdPSHJF6ejetY+N+xojmGETTIdwvnzSX62qh6eJFX1qKr6zuksD8wkUP5lVT00yU/c5SHutLHp7pUk1yc5q6p2Tw/ev7cQd1GS11bV6dPnf1BV3ePxFVX1uKr6rqo6oaruU1VnJXlGkv+2jtUGgO3ip5K8bjps9KGZjKy5Psknk3xoHcv/YCZ7Ij+XyVDTd2USOtPdX0jyHUlekuSz03l+OpMT3CXJf0zyjVX1l1V16axWCObBHkbYXD+SyUluPlRVJ2WyoXp7Jmdae3MmxzPemMnG5k1Jnrdm2Z9L8o6qelWSX+7uczM5C+rbMvll9D8mufKenry7f7OqHpDk/62qUzM5TuO/ZnKWuLuzK5OTAXxjktuSXJ3kxd390fWvNgDM1/T6wfd0DeH/vGbe7xssv5Lkn63er6qfTnJwTb3X1u+y7NWZ7HGEHW9dl9WoqvMzOVPUaUnO6O7lqjoxk19bHpPJ6YmvTvLK6ZsrVfXUJBdncq2ba5Kc1d03bFYNAABmZXqdxfsm+UQm13D8nUwu02GPIQtlvUNSL81kSNrak2TcnuSN3V3dfUaSzyQ5L0mq6rgklyR5dXfvzeQabptWAwCAGXtgkt/I5BwCv5rJSKB72mMJx6R1DUnt7iuSZM2ZHjO9TMDla2b7UJJXTW/vT3LL6nKZHEd1TSYXPt2MGnAEqurpSd43qk2vHwkAC627P5zJNZRhoc3kGMbp3r9XJVk95f4pWbM3srtvrKrjpif2mHlt9Rp3wPp09+8nEQwBALhHszrpzVuTfDHJBTN6vJmrqvtlMv78LzI5kQcA29PuJF+b5MPdfeu8G8O9s40F2DGOeBu74cA4PSHOY5M8Z3oZgWRyjZpT18xzUpLD3X1zVc28ts6mPjnJ7x/VSgIwD09PcsW9zsV2YBsLsLOsexu7ocBYVW/I5NjCf3aXhLqU5ISqetr0mMNzcsdp/Dejth5/kSTvfOc7c/LJd73W+fosLy9n3759R7XssUQ/3EFfTOiHCf0wsdF++NznPpeXvvSlyfRzmx1hw9vYzeA9qQ8Wff0TfZDog7XrfzTb2HUFxqp6S5LvSXJykg9U1U1JXpTktUk+neTK6Qlx/ry7n9/dh6vq7CQXV9VXZXoJjGRyMfNZ19bptiQ5+eSTs2fPniNY7A6HDh066mWPJfrhDvpiQj9M6IeJGfaDoY07x4a3sZvBe1IfLPr6J/og0Qd3s/7r3sau9yyp5yY5d1DadQ/LXJnkjK2qAQAAMFvrvQ4jAAAAC0ZgBAAAYEhgBAAAYEhgBAAAYEhgBAAAYEhgBAAAYEhgBAAAYEhgBAAAYEhgBAAAYEhgBAAAYEhgBAAAYEhgBAAAYEhgBAAAYEhgBAAAYEhgBAAAYEhgBAAAYEhgBAAAYEhgBAAAYOj4eTcAgNn50pdvy33vs3uubXjcN5w+1+ffaarq/CQvSHJakjO6e7mqTkty6ZrZHpzka7r7odNlrklyy/QvSX6ku98/rT01ycVJTkhyTZKzuvuGjdSA+dno5/r+/fvn3gZ2NoER4Bhy3/vsznN+6LK5tuG33vTcuT7/DnRpkp9L8vurE7r7miRPWL1fVW/OV26zX9jdy2snVNVxSS5J8n3dfUVVvS7JeUlefrS12a4qcKR8rjNvhqQCwBx19xXdfeDu6lV13yQvTfKL63i4/Ulu6e4rpvcvSvKiDdYAWGACIwBsb/88yfXd/dG7TH9nVX28qt5WVQ+eTjslybWrM3T3jUmOq6qHbqAGwAIzJBUAtreX5yv3Lj69uw9U1f2SvDnJBUnO2vKW3cXy8nIOHTo072bcydLS0rybMHeL3gc7ff1ncQziLOz0ftzp7d+o1fVfWVk54mUFRgDYpqrqUUmemeTstdNXh7B2961V9bYk75mWrkty6prlT0pyuLtvrqqjqh1Je/ft25c9e/YcySKbamlpadt82Z6XRe+DRV//WdrJ/bjor4O163/w4MEjXt6QVADYvv5lkt/u7ptWJ1TV/avqQdPbu5K8JMlV0/JSkhOq6mnT++ckefcGawAsMIERAOaoqt5SVQeT7Enygar6kzXl78tXDkd9RJLLq+rjSZaT7E3yA0nS3Ycz2Rv59qq6OpO9k6/ZSA2AxWZIKgDMUXefm+Tcu6ntHUz7syRPvIfHuzLJGbOsAbC47GEEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABg6Ph7m6Gqzk/ygiSnJTmju5en0/cmeUeSE5PclORl3X31PGoAAADM3nr2MF6a5BlJrr3L9IuSXNjde5NcmOTiOdYAAACYsXvdw9jdVyRJVf39tKp6eJInJXn2dNK7klxQVQ9Lsmsra929coTrDAAAwDoc7TGMj05yfXffliTT/5+dTt/qGgAAAJvgXvcwHmuWl5dz6NCho15+aWlphq3ZufTDHfTFhH6YmHc/7N+/f67Pv2oj/bCyYuAIAGwXRxsYDyR5VFXt7u7bqmp3kkdOp+/a4toR2bdvX/bs2XNUK720tLRtvozNk364g76Y0A8T+uEOG+mHgwcPzrAlAMBGHNWQ1O6+IclVSc6cTjozyce6e2Wra0fTfgAAAO7dei6r8ZYk35Pk5CQfqKqbuvv0JOckeUdV/XiSzyd52ZrFtroGAADAjK3nLKnnJjl3MP1TSZ5yN8tsaQ0AAIDZO9qzpAIAAHCMExgBAAAYEhgBAAAYWrjrMALAdlJV5yd5QZLTkpzR3cvT6dckuWX6lyQ/0t3vn9aemuTiJCckuSbJWdMzim9KDYDFZQ8jAMzXpUmekeTaQe2F3f2E6d9qWDwuySVJXt3de5N8MMl5m1UDYLEJjAAwR919RXcfOIJF9ie5pbuvmN6/KMmLNrEGwAIzJBUAtq93VtWuJFck+dHu/sskp2TN3sjuvrGqjquqh25GrbtvXm9jl5eXc+jQoaNf202wtLQ07ybM3aL3wU5f//3798+7CUl2fj/u9PZv1Or6r6ysHPGyAiMAbE9P7+4DVXW/JG9OckGSs+bcpnu0b9++7NmzZ97N+HtLS0vb5sv2vCx6Hyz6+s/STu7HRX8drF3/gwcPHvHyhqQCwDa0Oky1u29N8rYk3zYtXZfk1NX5quqkJIenewI3owbAAhMYAWCbqar7V9WDprd3JXlJkqum5aUkJ1TV06b3z0ny7k2sAbDABEYAmKOqektVHUyyJ8kHqupPkjwiyeVV9fEky0n2JvmBJOnuw0nOTvL2qro6yTOTvGazagAsNscwAsAcdfe5Sc4dlJ54D8tcmeSMraoBsLjsYQQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYDwCj/uG0+fdhHzpy7fNuwkAAMCCOH7eDdhJ7v/VX5Xn/NBlc23Db73puXN9fgAAYHHYwwgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMDQ8fNuAAAssqo6P8kLkpyW5IzuXq6qE5P8cpLHJPlSkquTvLK7V6bL3J7kE0kOTx/m7O7+xLT2nCQ/k8k2finJ93f3326kBsDisocRAObr0iTPSHLtmmm3J3ljd1d3n5HkM0nOu8ty39rdT5j+rYbFByT5+STP6e6vT/KFJD+8kRoAi01gBIA56u4ruvvAXabd3N2Xr5n0oSSnruPhvivJR7r76un9i5K8eIM1ABaYIakAsI1V1XFJXpXkPXcpXV5Vxyd5X5LXd/etSU7JnfdUXpfk0dPbR1sDYIFtODBW1Xcn+fdJdk3//q/u/o2q2pvkHUlOTHJTkpet/nK5GTUAOEa9NckXk1ywZtop3X2gqr4mk2MdfyzJ6+bRuLWWl5dz6NCheTfjTpaWlubdhLlb9D7Y6eu/f//+eTchyc7vx53e/o1aXf+VlZUjXnZDgbGqdmWyoXr69CD9xyf5g6q6NJPhLBd29yVVdVaSi5P84+mim1EDgGPK9IQ4j83k2MLVE9xkdQhrd/91Vf1Ckv9zWrouyT9a8xCnJDmwwdq67du3L3v27DnSxTbN0tLStvmyPS+L3geLvv6ztJP7cdFfB2vX/+DBg0e8/CyOYTyc5EHT2w9O8hdJTkrypCTvmk5/V5InVdXDqurhs67NYB0AYFupqjck2Z/kedPhpqvTH1JVJ0xvH5/khUmumpZ/N8mTq+qx0/vnJPm1DdYAWGAbCozdfXuSFyW5rKquzeRMby/L5LiH67v7tul8tyX57HT6ZtQAYEeqqrdU1cEke5J8oKr+pKpOT/LaJI9McmVVXVVVvzld5HFJ/qiq/jjJx5N8OZMhqenuLyR5RZL3VtWfZvKD7vkbqQGw2DY6JPX4TDZoz+3uP6iqb8vkF8mzZ9G4zbCR4yu2y67s7TAGezu0YbvQFxP6YWLe/XAsfE4dzfEVO1l3n5vk3EFp193M/4dJHn8Pj3dZkstmWQNgcW30pDdPSPLI7v6DJJmGxodBRRkAABsgSURBVL9JckuSR1XV7u6+rap2Z/Ir6YFMNoCzrq3bdju+4mjM+wvhoo8DX0tfTOiHCf1wh430w9EcXwEAbI6NHsN4MMmeqqokqapvSPKIJFdncjzFmdP5zkzyse5e6e4bZl3b4DoAAAAwsKE9jN39uap6VZJfr6rVs7e9vLtvrqpzkryjqn48yeczObZx1WbUAAAAmKENX4exu9+Z5J2D6Z9K8pS7WWbmNQAAAGZrFpfVAAAA4BgkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADB0/LwbAACLqqrOT/KCJKclOaO7l6fT9yZ5R5ITk9yU5GXdffU8agAsNnsYAWB+Lk3yjCTX3mX6RUku7O69SS5McvEcawAsMHsYAWBOuvuKJKmqv59WVQ9P8qQkz55OeleSC6rqYUl2bWWtu1dmusIA7Dj2MALA9vLoJNd3921JMv3/2en0ra4BsODsYQQAZmJ5eTmHDh2adzPuZGlpad5NmLtF74Odvv779++fdxOS7Px+3Ont36jV9V9ZOfKBIwIjAGwvB5I8qqp2d/dtVbU7ySOn03dtce2I7Nu3L3v27NlwB8zK0tLStvmyPS+L3geLvv6ztJP7cdFfB2vX/+DBg0e8vCGpALCNdPcNSa5KcuZ00plJPtbdK1td27y1BGCnsIcRAOakqt6S5HuSnJzkA1V1U3efnuScJO+oqh9P8vkkL1uz2FbXAFhgAiMAzEl3n5vk3MH0TyV5yt0ss6U1ABabIakAAAAMCYwAAAAMCYwAAAAMCYwAAAAMCYwAAAAMCYwAAAAMCYwAAAAMCYwAAAAMCYwAAAAMCYwAAAAMHb/RB6iqr0rys0m+PcktSf6wu19RVXuTvCPJiUluSvKy7r56uszMawAAAMzWLPYwvjGToLi3u89I8mPT6RclubC79ya5MMnFa5bZjBoAAAAztKE9jFX1gCQvS7Knu29Pku4+VFUPT/KkJM+ezvquJBdU1cOS7Jp1rbtXNrIeAAAAfKWN7mF8TCZDQ3+iqj5SVZdX1dOSPDrJ9d19W5JM/392On0zagAAAMzYRo9h3J3k65J8rLv/TVU9JclvJfneDbdskywvL+fQoUNHtez+/ftn3Jqjs7S0NO8mbIs2bBf6YkI/TMy7H46Fz6mVFYNGAGC72GhgvC7J32UyPDTd/UdVdWOS/5nkUVW1u7tvq6rdSR6Z5EAmQ0tnXVu3ffv2Zc+ePRtc7fma9xfCpaWlubdhu9AXE/phQj/cYSP9cPDgwRm2BADYiA0NSe3uG5P8XqbHFU7PYvrwJJ9OclWSM6eznpnJXsiV7r5h1rWNrAMAAABjG76sRpJzkvxiVb0pyZeTnN3df1lV5yR5R1X9eJLPZ3JynLXLzLoGAADADG04MHb3nyX5h4Ppn0rylLtZZuY1AAAAZmsW12EEAADgGCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMHT8vBsAAHylqjotyaVrJj04ydd090Or6pokt0z/kuRHuvv90+WemuTiJCckuSbJWd19w0ZqACwuexgBYBvq7mu6+wmrf5mEx19ZM8sL19RXw+JxSS5J8uru3pvkg0nO20gNgMUmMALANldV903y0iS/eC+z7k9yS3dfMb1/UZIXbbAGwAITGAFg+/vnSa7v7o+umfbOqvp4Vb2tqh48nXZKkmtXZ+juG5McV1UP3UANgAXmGEYA2P5enjvvXXx6dx+oqvsleXOSC5KcNZeWrbG8vJxDhw7Nuxl3srS0NO8mzN2i98FOX//9+/fPuwlJdn4/7vT2b9Tq+q+srBzxsgIjAGxjVfWoJM9McvbqtO4+MP1/a1W9Lcl7pqXrkpy6ZtmTkhzu7pur6qhqR9LWffv2Zc+ePUe6iptmaWlp23zZnpdF74NFX/9Z2sn9uOivg7Xrf/DgwSNe3pBUANje/mWS3+7um5Kkqu5fVQ+a3t6V5CVJrprOu5TkhKp62vT+OUnevcEaAAtMYASA7e37cufhqI9IcnlVfTzJcpK9SX4gSbr7cCZ7It9eVVdnsmfyNRupAbDYDEkFgG1sepmLtff/LMkT72H+K5OcMcsaAIvLHkYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGBEYAAACGjp/VA1XVTyR5fZIzunu5qp6a5OIkJyS5JslZ3X3DdN6Z1wAAAJitmexhrKonJXlqkmun949LckmSV3f33iQfTHLeZtUAAACYvQ0Hxqq6X5ILk7xqzeT9SW7p7ium9y9K8qJNrAEAADBjs9jD+H8nuaS7r1kz7ZRM9zYmSXffmOS4qnroJtUAAACYsQ0dw1hV35Lkm5O8ZjbN2XzLy8s5dOjQUS27f//+Gbfm6CwtLc27CduiDduFvpjQDxPz7odj4XNqZWVlhi0BADZioye9eWaSb0jy51WVJHuSvD/JW5KcujpTVZ2U5HB331xV1826diQN3rdvX/bs2XPka7qNzPsL4dLS0tzbsF3oiwn9MKEf7rCRfjh48OAMWwIAbMSGhqR293nd/cjuPq27T0tyMMl3JvmZJCdU1dOms56T5N3T20ubUAMAAGDGNuU6jN19OMnZSd5eVVdnsifyNZtVAwAAYPZmdh3GJJnuZVy9fWWSM+5mvpnXAAAAmK1N2cMIAADAzicwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMHT8vBsAAIxV1TVJbpn+JcmPdPf7q+qpSS5OckKSa5Kc1d03TJeZeQ2AxWUPIwBsby/s7idM/95fVccluSTJq7t7b5IPJjkvSTajBsBiExgBYGfZn+SW7r5iev+iJC/axBoAC0xgBIDt7Z1V9fGqeltVPTjJKUmuXS12941Jjquqh25SDYAF5hhGANi+nt7dB6rqfknenOSCJL855zbdreXl5Rw6dGjezbiTpaWleTdh7ha9D3b6+u/fv3/eTUiy8/txp7d/o1bXf2Vl5YiXFRgBYJvq7gPT/7dW1duSvCfJzyU5dXWeqjopyeHuvrmqrpt17Ujau2/fvuzZs+doVnVTLC0tbZsv2/Oy6H2w6Os/Szu5Hxf9dbB2/Q8ePHjEyxuSCgDbUFXdv6oeNL29K8lLklyVZCnJCVX1tOms5yR59/T2ZtQAWGACIwBsT49IcnlVfTzJcpK9SX6guw8nOTvJ26vq6iTPTPKaJNmMGgCLzZBUANiGuvvPkjzxbmpXJjljq2oALC57GAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABgSGAEAABg6fiMLV9WJSX45yWOSfCnJ1Ule2d0rVfXUJBcnOSHJNUnO6u4bpsvNvAYAAMBsbXQP4+1J3tjd1d1nJPlMkvOq6rgklyR5dXfvTfLBJOclyWbUAAAAmL0NBcbuvrm7L18z6UNJTk2yP8kt3X3FdPpFSV40vb0ZNQAAAGZsQ0NS15ruAXxVkvckOSXJtau17r6xqo6rqoduRq27b15vO5eXl3Po0KGjWsf9+/cf1XKztrS0NO8mbIs2bBf6YkI/TMy7H46Fz6mVlZUZtgQA2IiZBcYkb03yxSQXJHn+DB93pvbt25c9e/bMuxkbMu8vhEtLS3Nvw3ahLyb0w4R+uMNG+uHgwYMzbAkAsBEzOUtqVZ2f5LFJXtzdh5Ncl8nQ1NX6SUkOT/cEbkYNAACAGdtwYKyqN2RyfOHzuvvW6eSlJCdU1dOm989J8u5NrAEAADBjG72sxulJXpvk00murKok+fPufn5VnZ3k4qr6qkwvgZEk3X141jUAAABmb0OBsbv/JMmuu6ldmeSMraoBAAAwWzM5hhEAAIBjj8AIAADAkMAIAADAkMAIAADAkMAIAADAkMAIAADA0IYuqwEAbI6qOjHJLyd5TJIvJbk6ySu7e6Wqbk/yiSSHp7Of3d2fmC73nCQ/k8k2finJ93f3326kBsDisocRALan25O8sburu89I8pkk562pf2t3P2H6txoWH5Dk55M8p7u/PskXkvzwRmoALDaBEQC2oe6+ubsvXzPpQ0lOvZfFvivJR7r76un9i5K8eIM1ABaYIakAsM1V1XFJXpXkPWsmX15Vxyd5X5LXd/etSU5Jcu2aea5L8ujp7aOtrdvy8nIOHTp0pIttqqWlpXk3Ye4WvQ92+vrv379/3k1IsvP7cae3f6NW139lZeWIlxUYAWD7e2uSLya5YHr/lO4+UFVfk8lxjj+W5HXzatyqffv2Zc+ePfNuxt9bWlraNl+252XR+2DR13+WdnI/LvrrYO36Hzx48IiXNyQVALaxqjo/yWOTvLi7DydJdx+Y/v/rJL+Q5Nums1+XOw9bPSXJgQ3WAFhgAiMAbFNV9YYk+5M8bzrkNFX1kKo6YXr7+CQvTHLVdJHfTfLkqnrs9P45SX5tgzUAFpjACADbUFWdnuS1SR6Z5MqquqqqfjPJ45L8UVX9cZKPJ/lyJkNS091fSPKKJO+tqj9N8qAk52+kBsBicwwjAGxD3f0nSXbdTfnx97DcZUkum2UNgMVlDyMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAABDAiMAAAx86cu3zbsJMHfHz7sBAACwHd33PrvznB+6bK5t+K03PXeuzw/2MAIAADAkMAIAADAkMAIAAHdrOxzLuR3asKgcwwgAANwtx3IuNnsYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAQAAGBIYAYC5+9KXb5v5Y+7fv3/ubQDY6Y6fdwOOVFXtTfKOJCcmuSnJy7r76vm2CgB2vnluY+97n915zg9dthVPdbd+603PnevzA2xHO3EP40VJLuzuvUkuTHLxnNsDAMcK21gA7mRHBcaqeniSJyV513TSu5I8qaoeNr9WAcDOZxsLwMhOG5L66CTXd/dtSdLdt1XVZ6fTV+5l2d1J8rnPfW5DDfjy3968oeU36uDBg3N9/iRZWVnZFu3YDvTFhH6Y2C79sNM/p9Z8Tu/ecGM4Erax2+D9O2vb5XNpXmax/tvhdakNG3t/eh/csf5Hs43daYFxI742SV760pfOux0b8qz/77x5NwHgHs3wc+prk3xmVg/GprKNhU2yHV6X2nBMWvc2dqcFxgNJHlVVu6e/fO5O8sjp9Hvz4SRPT/IXSZwGDWD72p3JhuzD827IgrGNBTj2HfE2dkcFxu6+oaquSnJmkkum/z/W3fc2VCbdfWuSKza5iQDMhj2LW8w2FmBhHNE2dtftt9++WQ3ZFFX1uExO+f2QJJ/P5JTfPd9WAcDOZxsLwF3tuMAIAADA1thRl9UAAABg6wiMAAAADAmMAAAADAmMAAAADAmMAAAADO2o6zBuharam8kpxU9MclMmpxS/+i7z7E7yliT/JMntSc7r7l/Y6rZutnX2xY8leUkmF2r+cpIf7e73b3VbN9N6+mHNvJXkY0ne1t0/vHWt3Hzr7YeqelGSH0uyK5P3x7d396GtbOtmWuf74uFJfinJo5PcJ8nvJTm3u/9ui5u7aarq/CQvSHJakjO6e3kwz0J8VrL9VNW/S/LiTLZNu5L8VHf/6rT21Zm8P/cn+bskP9zd751XWzdDVV2Y5FlJbk3yxST/urs/Mq09IskvZ/Le/Z9JXtHdfzSnpm6aqjoryb9N8o1J/vfuvmBN7Zh/DSRH9v3lWHF326ZF6YuqOjGT9/djknwpydVJXtndK1X11CQXJzkhyTVJzuruG9bzuPYwfqWLklzY3XuTXJhJx97VS5N8fZLHJvmWJK+vqtO2rIVbZz198d+TPLm7H5/k5Ul+tapO2MI2boX19MPql+OLk1y6hW3bSvfaD1X1zUlen+TZ3b0vydOS/NVWNnILrOf18KNJ/sf0ffH4TL6UfM/WNXFLXJrkGUmuvYd5FuWzku3ngu5+fHc/Mck/TfLzVfWQae2Hk/x1d399kuck+YWqesC8GrpJ3pfJl+VvSvJTSX51Te2nknxw+hn26iSXVNWuObRxs12VyQ/avzKoLcJrIFnn95djzN1tmxalL25P8sburu4+I8lnkpxXVccluSTJq6d98MEk5633QQXGNaZ7BZ6U5F3TSe9K8qSqethdZn1xkp/v7sPdvZLJi/N7t66lm2+9fdHd7+/uv53e/Xgmv+SeuGUN3WRH8JpIktckeW+ST29R87bMEfTD/5Hk/O7+XJJ091919y1b19LNdQT9cHuSB04/oO+X5L5Jrt+yhm6B7r6iuw/cy2zH/Gcl21N3r/2h6gGZvCdXv/O8ONMvi9M9DB9J8l1b2sBN1t3v7e4vT+/+YZI908+jJHlRJl+e091XZLIX8pu3vpWbq7uXu/uTSQ4Pysf8a+AIv78cM0bbpkXqi+6+ubsvXzPpQ0lOzeSH61um7/lk8hnwovU+rsB4Z49Ocn1335Yk0/+fnU5f65Tc+ZeL6wbz7HTr7Yu1XpbkM919cAvat1XW1Q9V9U1JvjPJz255C7fGel8P35jk66rqg1X10ap63TH2y/V6++HfJ9mb5C+SfC7J+7v7D7ayodvEInxWsk1V1TlV9alMDhN4RXffNC0t2uvyB5P8dncfng5X29XdN66pH+vrP7IIr4Gj+R53rFrIvpj+SPSqJO/JXV7z08+A46rqoet5LMcwMhNV9cxMviQ/e95t2WpVdZ8k/yHJ93f3bZPDGBfW7kyGYD47k71qv5vJhvg/z7NRc/C9mexxf1aSByZ5X1W9sLt/fb7NgmNDVX00ky9AI4/o7tu6+6IkF1XVGUneWVUfWBMad7T1rP90vpck+ReZDNE7pqy3D2CBvTWTY5gvSPL8jTyQwHhnB5I8qqp2T7/4707yyOn0ta7LZPfuh6f37/pL1bFgvX2RqvqWTMZFP7e7e4vbudnW0w9fm8nBxb8zDYsPTrKrqr6mu1+x5S3eHEfy3vj17r41ya1VdVmSf5BjJzCutx/+tyQv7+7DSf5q2g//KMmiBcZF+KxkDrr7SUcw7yeq6rNJ/mGS/5I7Xpcr01lOyeTEVDvGeta/qp6f5CeTPGv1xGPdfVNVpapOWrOX8ZQMtu3b3ZG8BgZ2/GtgHdb9PW4BLFxfTE/+89gkz5mOLlh9za/WT0pyuLtvXs/jGZK6xvRMQVclOXM66cwkH5see7PWu5P8r1V13HT88/NyjH0RXG9fVNWTMzmY/oXd/dGtbeXmW08/dPd13X1Sd5/W3acleXMmx20dK2HxSN4bv5LkO6pq13TP67OS/PHWtXRzHUE//HkmZwZNVd03ybcn+YqziC6AY/6zku2pqr5xze3/JckTk3xyOundSV45rT02yZMzGQ1xzKiq707y/yT5zu6+5i7ldyc5Zzrf0zI5Y+LSljZw/o7518ARbK+OeYvWF1X1hkyOWXze9Af8ZPIeP2H6nk8mnwHvXu9j7rr99ttn28odrqoel8lpdx+S5POZnHa3q+p3kvx4d39k+svEBUm+Y7rYT3f3f5hPizfPOvviw5mcunjtCT3O7u5PbHmDN8l6+uEu878+yQP62LusxnpeD8clOT+TkwccTvL+TE5XPjrpwI60zn54TCYHlJ+cyTDd38vktPbH0mU13pLJmV9PTnJjkpu6+/RF/Kxk+6mqX0tyeiaXe7otk7MGrl5W4/5J/lMmIfK2JP+2uy+bU1M3RVWtZHJK/bVfiJ813cN4ciajgk7N5LIa53T3lXNo5qaqqjOT/Ewmn9VfSvI3Sb6juz+5CK+B5O63V/Nt1ea6h23TQvRFVZ2eyQ/Un87k/Z0kf97dz6+qb83kZE9flTsuq7Guy54JjAAAAAwZkgoAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMCQwAgAAMDQ/w/4L8Ia4gjmrwAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "1026049fc9949cd408fd3687d2fb8fd46b4a91cf" + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,2,figsize=(20,10))\ntrain[train['feature_3']==0].target.plot.hist(ax=ax[0],bins=20,edgecolor='black',color='red')\nax[0].set_title('feature_3= 0')\nx1=list(range(0,85,5))\nax[0].set_xticks(x1)\ntrain[train['feature_3']==1].target.plot.hist(ax=ax[1],color='green',bins=20,edgecolor='black')\nax[1].set_title('feature_3= 1')\nx2=list(range(0,85,5))\nax[1].set_xticks(x2)\nplt.show()", + "execution_count": 84, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "8dc3a96d6f689c8d50dec8f0099f3d2eade17d56" + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,2,figsize=(18,8))\ntrain['feature_3'].value_counts().plot.pie(explode=[0,0.1],autopct='%1.1f%%',ax=ax[0],shadow=True)\nax[0].set_title('feature_3')\nax[0].set_ylabel('')\nsns.countplot('feature_3',data=train,ax=ax[1])\nax[1].set_title('feature_3')\nplt.show()", + "execution_count": 85, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "517f0ceb6ad267a9aff9f8cac0f2f103669a25c5" + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,2,figsize=(18,8))\ntrain[['feature_3','feature_2']].groupby(['feature_3']).mean().plot.bar(ax=ax[0])\nax[0].set_title('Survived vs feature_2')\nsns.countplot('feature_3',hue='feature_2',data=train,ax=ax[1])\nax[1].set_title('feature_3:feature')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6ac47758b3b5019e9171d2f97e3b2237d6c023b6" + }, + "cell_type": "markdown", + "source": "## 6-4-2 distplot" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "2c1ec5a796a1fe04d7ebf2623f4878d0d155fa7a" + }, + "cell_type": "code", + "source": "sns.distplot(train['target'])", + "execution_count": 45, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 45, + "data": { + "text/plain": "" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "2ad9e0a985358467c2ee96f886f36f704ca06c91" + }, + "cell_type": "markdown", + "source": "## 6-4-3 violinplot" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "5ae31260ab611ea0b7c4f794c11d49ec2b679aba" + }, + "cell_type": "code", + "source": "sns.violinplot(data=train, x=\"feature_1\", y='target')", + "execution_count": 46, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 46, + "data": { + "text/plain": "" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZQAAAESCAYAAADaLCNlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3Xl4HNWZ7/Fv761dsmRLtuRVto9t2XhfsDGbGRsyMGQgkJCQDMkMCSGQkLkkQDLJzQ3JkEAu3AyBIQkzkJlwSa5DFpZgjA0G78aLvGD7eJU3SZYta5d6r/tHt6Q2SLKWkqpbej/Pw6NSV3frddFdvzqnTp2yGYaBEEII0Vd2qwsQQggxOEigCCGEMIUEihBCCFNIoAghhDCFBIoQQghTSKAIIYQwhQSKEEIIU0igCCGEMIUEihBCCFNIoAghhDCFBIoQQghTOK0uoL8ppTzAfKACCFtcjhBCJAsHMBL4QGvt784LBn2gEA2T9VYXIYQQSWopsKE7TxwKgVIB8NJLL1FQUGB1LUIIkRQqKyv53Oc+B7F9aHckTKAopXKB/waKgQBwGPiK1vqcUmoR8EsgBSgD7tRaV3XzrcMABQUFFBUVmV63EEIMct0+VZBIJ+UN4HGttdJazwCOAj9RStmB3wJf01pPBt4HfmJhnUIIITqQMIGitb6gtV4X99AWYCwwF/BprVv78J4Dbh/g8oQQQlxCwgRKvFir5KvAq8AY4ETrOq31ecCulBpmUXlCCCE6kJCBAjwNNAK/sLoQIYQQ3ZNwgaKU+hkwCfi01joCnCTa9dW6Pg+IaK0vWFSiEEKIDiRUoCil/pXoOZNPxl1IswNIUUpdEfv9HmClFfUJIYToXMIEilKqBHgEGAVsUkqVKqX+FGulfB74d6XUYeAq4GELSxVCiH61fv16zp49a3UZPZYw16ForT8EbJ2s2wTMGNiKhBDCGo8//jhTp07l8ccft7qUHkmYFooQQoh2Bw4csLqEHpNAEUIIYQoJFCGEEKaQQBFCCGEKCRQhhBCmkEARQghhCgkUIYQQppBAEcJCwWAQwzCsLkMIU0igCGGhe++9l+eff97qMoQwhQTKAHn11VfZsKFbt2UWQ0hlZSWvvvqq1WUIYYqEmXplsPv1r38NwBVXXHGJZwohRHKSFooQQghTSKAIIYQwhQSKEEIIU0igCCGEMIUEihhwr7zyClu3brW6DCGEyWSUlxhwL774IgCvvfaatYUIIUwlLRQhhBCmkEARQghhCgkUIYQQppBAEUIIYQoJFCGEEKaQQBFCCGEKCRQhhBCmkEARQghhCgkUIYQQppBAEUIIYQoJFCGEEKZIqLm8lFI/A24FxgEztNb7Yo9PBn4D5ALVwBe01oetqlMIIcTHJVoL5c/AlcCJjzz+HPCM1noy8Azwy4EuTAjRv37wgx+wZs0aq8sQfZBQgaK13qC1PhX/mFJqBDAHeDn20MvAHKXU8IGuTwjRf3bs2MHPf/5zq8sQfZBQgdKJ0cAZrXUYIPazPPa4EEKIBJEMgSKEECIJJEOgnAIKlVIOgNjPUbHHhRBCJIiEDxStdRVQCtwRe+gOYJfW+px1VQkhhPiohAoUpdS/KaVOA0XAGqXUh7FV9wD3K6UOAffHfhdCCJFAEuo6FK3114Gvd/D4QWDhwFckhBCiuxKqhSKEEENdJBKxuoRek0ARQogEYhiG1SX0mgSKEEIkEGmhCCFEHyTzUbnZwuGw1SX0mgSKEBaRnWi7ZD4qN1soFLK6hF6TQBHCIsm84zBbMBi0uoSEkcyfCwkUISwSCASsLiFhJPNO1GzJHK4SKAMgmftERf+RQGnn9/utLiFhSKCILsmXpZ30lbeTz0U72RbtkvlAQwJlAMiXpV0yf1nM1tLSYnUJCaO5udnqEhJGMn9HJFAGQPwHZKiP7PH5fFaXkDAaGxutLiFhyLZol8wHGhIoAyD+6CuZjz7MkMxfFrM1NDS0LQ/1k9L19fVWl5AwmpqarC6h1yRQBkD8BySZPyxmiN+JDvXWWk1NTYfLQ1FdXV3b8lBvxcZ/R5KNBMoAiP+yxC8PRfFHokM9XM+da7+lT1VVlYWVWC8+UC9cuGBhJdaL/44k2whRCZQBEP8Fqa6utrAS68Vvi6G+4ygvLwdbdLmiosLaYix2/vz5tmX5jrR/L5Kt5SqBMgDijz7jj0qHovhtcfbsWQsrsV7ZiRO48lOx2W2cPHnS6nIsVV5eTobd3rY8lCXzd0QCZQBUVlbi8GRis9mprKy0uhxLHT9+nEyPA4CysjJri7GQz+ejsqICZ44HR5abY8eOWV2SZSKRCKdOnmS0043TZh/y4VpWdoK0lGEASbctJFAGwLFjx7G5s7B7sjh+/LjV5VgmHA6z/8MPGZ/lIjfVxb59+6wuyTL79u3DMAycwzw4cjwcOHBgyI4ArKiooLmlhRFOJ3kOB4e0troky9TW1lJVdZbcrPG4XV50km0LCZR+VlNTQ1XVWezeHOyeHLQ+lHQn2sxy4MABGpuamDzMw+QcF3v27B6yF7Rt3boVm91GpDmEuyCVQCDAnj17rC7LEqWlpQAUOJ0UOJwcPnJkyA7Y2L59OwBZ6QWkp+azffv2pNpfSKD0s127dgHgTCvAkV5Ac3MThw8ftrgqa6xduxa3w87EHDdT8zyEQmHWr19vdVkDrqmpiXXr1oHLhv9UI67hXhweJ3/961+tLs0SG9avJ8fpJMfhZLzbTTgcZsuWLVaXZYl33nmXFE8maSm55GWPp66ujt27d1tdVrdJoPSzNWvWYHO4CftrcaYVYLM7WLt2rdVlDbja2lrWv/8+I9MdHKj2MzrDxYg0F6+//lpSHYGZ4fXXX8fn82FPcQJgc9hxj0/ngw8+GHLnUg4dOsS+Dz9kmM2O9vvIdzjJcTr50x//OOTmfTt06BB79+4hxZvN+dpj5GQU4XalsHLlH6wurdskUPrRkSNH2Lt3L9hdhOqOY3O4cWaMZe3ad5JuOGBfPf/884RCQYJhg11nW7DZbFxRlEJZ2QlWrVpldXkDpqysjJd/9zLuUWnYnO1fP29xFg6vkyeffDKpZ5vtiXA4zPPPP4/X7qApEuFgwIfNZmO228uJkyd5++23rS5xwEQiEV588Te4XF6CQR9VFw5jtzsYNXwG+/btZceOHVaX2C0SKP2kubmZx594AofLi82Z0va4K3cKoXCYJ554Ysgcma9evZr33nuPJYWpuBy2tsdnDPcyIdvNiy+8kHQnH3ujurqax37yGDhtpM3Ou2id3eMgdXYuJ06c4Be/+MWQ+Gy8/PLLHDhwgCXeFOztHwsmuz0Uutz86le/4sSJE9YVOIBWrlzJ3r17KBoxC5utfWPkD5tMqjeLJ598MikuOZBA6Qd1dXU89thjVFRU4B65+KIPiMOTiSd/Hnv37uXpp58e9NNMvPnmmzz99NMU53i4ckzaRetsNhs3T84kxR7me//yLxw4cMCiKvtfRUUF3/r2t6isOkvaguHYY0On47lHppEyNYd33nmHn/70p4O2pRI9Gn+R3//+9yi3h8ke70XrbTYby1LTcIbDPPzQQ+zfv9+iSvufYRisWbOGl156ibzsCeQPm3zRervdweQx19Dc1MKjj/4o4S/6lEAx2ebNm/nqvfeye/cePPnzcKaN+NhzXNnjcedOY+3atdx3//2D8gtz+vRpfvjD/8Wzzz7LpGEePjMtC2f8YWhMlsfBXTOySbGHefjhh/nlL385qCYKjEQivPXWWzzwzQe4UFdDxpJ8XHkpnT4/dWoOqZflsnnzZv75f/wzBw8eHMBq+9/p06d59NFHeeWVVyjxeLk6Nb3D56XZHfx9WiZOv59/+e53Wbly5aA7+GpoaODxnz7Oz3/+czLSRjCh6PKLDj5bpXizmDj6Sk6ePMnXvva1hB7IYhvsE/QppcYBx9euXUtRUVG//I1gMMiWLVtYvXo1paWlOFJy8BQsxOHNBqD5RPQkfOrYZRe9LtR0lkDlB4SDTVyxZAnXXXcds2bNwuH4+NFrsigvL+eNN97gjddfx2mHpUWpLCpMbQuTF/ZEp5X44mXDLnpdUzDCu2WN7DjbQmpqKp/+9Ge49tprycrKGvB/g1mOHj3Ks88+y6FDh3DlpZA2OxdHhrttfd370SvCs64c9bHXBsqbaN5zgXBLiBXLl/P5z38+qbfFhQsXePnll1m9ejVOYL4nhRkeb9sO9C8NtQDcnJF90etaIhHWNTdSFgwwLCeHz3/hC1xzzTVJ/R1pbGzkvffe43e/+z31dXUU5c9i1PASbLbo8f2HR6PnFEuKr7/odS3+eo6e2kBD8zkWLVrEJz/5SaZNm9ZhCJnh9OnTLFu2DGC81rqsO6+RQOmDo0ePsmbNGt59dx1NTY043Kk4sibizp3S9uGAzgMFwAgH8Z//kHD9cSIhP8OG5bJs2bVcd911jBr18R1NIqqqqmLDhg28//57HD16DJsN5uSncM3YNNLdF3/xOwuUVmebgrx1rJFjtQHsdjszL7uMK6+6ikWLFpGe3vHRbCLx+/1s3LiRVatWceDAARxeJyklObjHpH/si99VoAAYwQjNB2rwHa3H6XCwZMkSVqxYwfTp0/ttJ2Imn8/Hli1beG/dOnbu2gWGQYnbw1xvKin2iztHOguUVuXBIJt9zVSFgmRmZHDlVVdx9dVXM3ny5KTYFoZhsH//ft566y02bNhAMBgkIzWP8YWXt10V36qzQIm+T4QzVfuoOL+PUDhI4ahCVly/ol8OviRQOmBmoNTU1LB371727NnDrl2lVFWdxWZ34EgvxJU1Hkda/kVB0qqrQGllRMKEGssJ1R0n1FgBGIwePYZZs2Yyc+ZMSkpKEmaHGg6HOXr0KLt372br1q1tJ9QLM9yU5LkpGe4lq4NzBIZh8PT28/jDBlePTWdeQUqnO4PKxiD7zvv48HyAmpYQDoeDOXPmMG/ePGbMmEFRUVHC7EgikQhHjx7lnXfe4Z133qG5uRlnhhv32HQ84zKwuzveFrWrT2GEIqROHYZnfEan/55QfQDfsXqCp5uIBMKMHDmS66+/nqVLlzJ8+PD+/uf1SFNTE3v27GHTpk1s3rQJfyBAhsPJRKeLqR4vWR20LAzD4OX6GgKGwfyUVKa5vR1uC8MwOBEMogM+ToSChA2Dgvx8rr7mGubPn09xcXFCtVxCoRBaa3bt2sWG9Rs4U34Gp8NFbtZ4RgybTHpqboev6ypQWoUjQapry6iqOUxD0zkcDgcLFixg3rx5zJ4925TPxaAOFKXUZOA3QC5QDXxBa33JKwT7EiiNjY3s27ePPXv2UFq6m1OnovPq2B1u7CnDcaQX4Moci83h7vQ9DMOg6egbEAniHj4DV3bxJXeEkWAzofqThJoqibScx4iEsNlsFBcXM3NmNGCmTp2K1+vt8n3MEolEKCsrY8+ePezZs4d9+/bS0hLtzy5Id1GS56Ekz8Ow2HUVnfmgvJk3jrbf6+FvizOYPyq1y9cYhkF5Y4h953zsrw5Q54veiConO5uZs2YxY8YMLrvsMgoKCvr4r+wZv9/Pnj172Lp1K1u3baW2phab3YarMA3vuAyceR3vFFv5jtXTVNo+w27arDy8EzK7/JtGKELgTBP+sgaC1dHtP278OBYtXMSCBQsoLi7Gbh/Y06KtBxc7d+5k544d6EOHiEQieOx2JjhdTHZ7Gel0drkt9vlbWN/cfmX80tQ0pns6P88E4DciHAsEOBwMcCYYnbImPS2NWbNnM2fOHGbPnk1eXl6X72E2wzCoqKhg165d7Ny5kz179uDzRYdCZ6SOYHhOMbnZ43DYXV2+R6n+E+FwkKKCWeQPu3QLrNlXw9kLh6mpP4E/EJ15YtSoQubOjW6H6dOnk5LS9fbsyGAPlHeA/9Ra/1YpdSfwJa31td143Ti6GSjhcJjDhw+za9cuduzYwaFDhzAMA5vdiT0lD0dqPs60Edi9OR22RDoSqDmMv7J9DLmnYC7unEndei1EWy7hlmrCzWcJN1cRaanGMCI4nE5Kpk1j7ty5zJ49m3Hjxpl6xN7Y2MiOHTvYunUru3bupDE2FUZuqotxmU7GZ7sZl+X6WJdWV367r4YjNe3zVU3McXPn9Jxuv94wDC74wpTVBjheF6CsPkyjPxoww/PymDd/PosWLWLGjBm4XJ1/aXurtTtr06ZN7Nq1i0AggN3lwDnci3tkKq6C1A5Hb3WkfmMFwbPtd6905aeQuWRkt2sJNwQIVDQTrGgmeMEHBmTnZLNwwUKuuuqqfu0W8/v97Ny5k40bN7Jj+/a2z8YIp4sip5PRTjf5TieObv79NxrqOBlqH9E2xunibzO6333TEolwOhTkVDDA6XCIptiQ69FFRVy+eDFLlixh/Pjx/bI9wuEw+/fvZ+PGjWzbtq1taG+KJ4PM9FFkp48iM70AZxcHnfEqqw9y/MzWtt/HFy6kIHdKt15rGAYt/lpqG8qpa6ygoeks4Ui0dT916lQuv/xylixZQm5uxy2jjxq0gaKUGgEcAnK11mGllINoK2WS1rrLwdmXCpT6+no2b97Mzp072VVaSktsbilHSi6O1HwcaQU4UnKx2XvXlG4++R7hpvZ7XTjSRpI65qpevReAEQkSbj5PqKkSo/ksIV+07zkrK7vtiGTRokW9ar2cO3eOrVu3smXLFvbt3Us4EiHN7WBitosJ2W7GZbs77Mrqrhf2XOBEXfuOY2yWq9NzKd1hGAbnmsMcrwtwvDbAsdoggXCEFK+XufPmsXDhQubNm9fnrsKqqir++te/suqtVTQ1NuFMdeEoSImGSF4KNkfPd1R175cTOt8+asmZ5+30XMqlRPxhgpXNBCqaCZ3zEQmGKRpdxN/d9Hdcc801prRkfT4fH3zwAZs2beKDbdvwBwJ47Q7GOJ2Mcbkpcro+dl6ku/7SUEt53C2QRzmdnZ5LuRTDMLgQCXMqGOBkKEh5MIgB5I8YwRVLl7J48WImT558yffpSmuIbNiwgY0bN1JXV4fD7iQzfSTZGdEQ8Xq6bm125sDxNdQ2nGn7PTujkKnjr+vVe0UiYRqaqqhtLKeu8QxNLTXYbDamTJnC0ti26CpcBnOgzAX+S2tdEvfYfuBOrfXOS7x2HJ0EimEYfP3r36Cs7DgOdyr2lHwc6SNxpuZjc3pMqb3p2CrcNh/Lly9n9erVBAwvaRM67xvtqUiwmXBTZbR7rPkskZCfxYsX88gjj/TofVatWsUzzzwDQF6qCzXMhcr1UJThwm7Skd1zO89TG3a1bYtsR5B75pjXLRGMGByvDXCw2s+hmiCN/hBOp5PHH3+cSZO63ypsVVNTwzPPPsO2rdswMHCPTMVbnHXJ7qzuqF17Gpff3rYtgp4I2cv6PmjECEfwn24icKyeYI2flNQUbvzbG7nzzjv71B324IMPorUm1eFgnMNFsdvNSKer262Qrqysr6HR1f65SA8GuS2z+y3XrrREIhwPBjgW9HMmFCJiGNx///0sX768V++3du1aXnjhhbYQycooJC9rHNmZhV12ZXXX7kOvEqGlbVvYSWHm5L/r8/sCtPjqqK4r40L9ibZwKSmZzsMPP9ThCf3eBErXnd6D3K5duygrO44nfy6unIn90iQ2IkGW37Ccu+++G8MweH3VO6a+v92Vij17Aq7sCRhGBH/VbjZt3kx5eXmPRom1nsy8VWUxY0T/nJvxhQyWr2jfFutXv2Hq+7vstuhMxsM8RAyD1cca2VLe3Osj9KNHj7J1y1YcGS4ylozEkWre18UIRli+/Pq2bfHG2jdNeV+bw453bAaeMekEz7XQsLGSV199ldtvv73X2+HEiRNorZnrTWGeN9W0A4xWfsNg+fL2z8W6N8z7XKTY7UzzeJnm8eKPRPhzUz2r3nyz14Fy/Phx6urqGJ0/i5HDp5kSIvHC4SAr4vYXq1e9a9p7p3izKPLOpCh/Ji2+OvSJd9m/f7+pt01IlkA5BRQqpRxxXV6jYo/3WuvopGD1h0T8NTgzRuNIG4HNZt5IEZvdxerVqzEMg7fffhub3fydtREJEWqsINRwikhTBRgGhw4d6lGgLF68mOee+3deO9LA3nMtTBrmYVKOh2yvedvC67RdtC2ynebumAzD4GxTiMM1AY7UBDhVH2DChPGMHj26V+83d+5crr/+elatWoXvaB3ecRkXXUfSFzaX/eLPhce8k+lGxCB03ofvUB1g49vf/nafur1azwvs9vuoj0SY6vYwyuky7QDMY7v4c5FuemBFOBLwczAQ4EIoRKQPU5jcdtttvP3221yoP4nHnUF2RiEuk3ozAByOi/cXDkfPT6Z3xTAMmn0XuFB3ihZ/HZ/85CdNHSmYFIGita5SSpUCdwC/jf3cdanzJ5fyqU99irFjx7Jp0ya2bt1KS+0x7E439rRRONMLcaaNwObo24fF5nDha67ltddeA8CRmtGn92sVCbYQbq4k1HCGcFMlRiRERkYmi6+7lsWLFzN79uwevV9aWhqPPfYT1q5dy/YPtvHGkfNAA8PTXEzMdjEpx83oLDeuDq527y6P046vyde2LTxZfT+6awlFOF4b4PAFP0dqQzTETtJPGD+eW5fP4/rre9+9aLPZ+MpXvkJDQwMbN27Ed7gOZ5YH16hU3IVpODN7Hy42lx1fXfu2cKb37UCjNUT8ZxoJVbQQ9oVwu9189Z57WLBgQZ/ee968eTz11FO8/fbbrHv3XQ431pPldDLe4WK0y9Xnri+3zYbP174thjn7vltqjkSi51GCAcpCIUJGhDGjR/NPK1Zw9dVX9/p9s7KyuO+++3juuec4cmo9NmxkpI0gO6OInMwiUjxZfQpap8NNfVNN27bITOv7tSXhSIj6xgou1J+mrvE0/kAzNpuNGTNm8JnPfKbP7x8vKQIl5h7gN0qp7wM1wBf6+oYul4vFixezePFiAoEApaWlbNy4kc1bttBypgwAR8qw2Mn5fBwpw3t+ct7m7Pr3bjLCQcLNVYSazhJpOUvYVwdAVnY2V9ywgiVLljBt2rQ+jcOfPHkykydPxrjnHk6fPs2OHTvYvn07H3y4j81nmnE57IzNdFKc46Y428PwVEePvjwfDaPehFPYMDjTEORoTfQk/OmGAIYBqSkpzJ4XPQk/Z84chg3r/cn+eE6nk4cffpjq6mo2bdrEhg0bOHDgAC0HanBmenAV9j1ceqstRE7HQsQfwu3xsHhBdDTP3LlzTRtaPnHiRCZOnMiXvvQlNm/ezJo1a9i7bx+l/hZcdjuFDiejXS7GON1k9vAz6MTW5e/dETEMzoZDnAwGOBUKcS42aiwrI5Prlizmb/7mb5g0aZIpraqlS5eyZMkSDh8+zLZt29i2dRtlJ3ZwsnIHXk8G2RlFDMscTUZaPvZujgZtZbc7u/y9uwLBZmrqT3Oh/hT1TRVEImE8Hi9z581h/vz5zJ07l5wcc85TxUuKk/J90ZvrUEKhEIcPH6a0tJTS0lIOHtREImFsdgf2lDycaaNwZo7G7ur6Ggro27DhiL+eYP1Jws2VhFuqwTBwudyUlExj9uzZzJw5k/Hjx/f7tQctLS3s3buXXbt2sWvnDs6UR0etZXmdTMhyMjXPS3GO+5JHqb25DgXAH4qwv9rPoWo/x+tD+IJhbDYbkyZOZHbsmgOlFE4Tjmy7o7q6mi1btvD++vc5sP9A9Fa+sZaLpyitW91ivR02bBgfCRFfNEQWLljAFVdcwZw5cwbs+qTm5mb27o1Orb7jg+1UnY92GOQ6XRQ7XRS7PWR3I1x6cx0KxA4uQkGOBvyUhUP4wmHsdjtTpkxh7ty5zJkzhwkTJgzItTnnzp1j+/btbN26jd27SwmFQricHrLSR5GTOZrsjMJuDR3u7bDhaFdWLTX1p6htOEVDc/Qap+HDh7No0SLmz5/P9OnTezScftCO8uoLM66Ub2lp4cMPP6S0tJSdO3e1XeDoTB2BI3MsrsyiTrvGenphY+tFjeGGk4RaLoDNxsSJE5kzezazZs1iypQp/XKNRU9UVVW1Xby1u7SUpuZm0j0OZuR5mJnvpSCt4/p6cqV8xIiO2Npd5eNAdYBgOEJe7jDmzJ3XFqYZGeZ0H/bFhQsX2LhxI+vXr2+bLdmV48UzMRN3YRq2TlphPb2wMRII4ztaT6CsgXBLtDtrwYIFLF26lLlz5+LxmNeP3xuGYVBeXh4dWrxxIwdik1rmOV1McLqY4vGQ1knrvrtXyrc+tyIU4lDAx/FQCF8kjNfrZeHChVx++eXMmjWLtLS0Dl87UFpaWigtLWXr1q1s27qNhsYG7DY7mekF5OdOISej81keenphYyDYQmX1QarrjuPzRw/WJk2axMKFC1m4cCFjx47tdatMAqUD/TGXV3l5Oe+99x7vrltHRXk5NpsdR9pI3HklOFI+3tXSnalXQk2VBKv3E2qqAqC4eCJXX30VS5cu7faFSFYIBoPs2LGDtWvX8sEHHxAOhylId3FFUSoleZ6PfZgvNZdXKGKw5UwzH1T6qPOFSE1JYemVV7Js2TKmTJmSMNOtdOT8+fNs3LiRv775V8rPlONMc+GZlIVnbDo2x8VHyd2deiXcHMJ3pI5AWQORUIS5c+eybNky5s+fP2Atkd44d+4cmzZtYv369WitcdhsTHF7mO1NIaODYLnUXF6GYXAqFGSHv4XKYBCvx8PCRYvaWmVu98B3OXZHOBxGa822bdtYt24d1dXVpHqzKMidSl5OMY4OurS6M/VKs6+WinP7OV93DMOIMHv2bBYvXsz8+fNN6+6VQOlAf04OaRgGR48e5b333uPtNWtoamzEmTUOz/DLLuoO6ypQwv46AlWlhBoryM3LY8Xy5Vx55ZUUFhaaWutAqKurY/369bz55l85efIUY7PcXD8hnZHp7S2WzgLFMAwOVvtZXdZETUuImTNnsmLFChYsWGD50XdPRSIRtm7dyso/rOTwocM4UlykzsnFnX9x915Xk0MahkGLrsV3sBYbNq688kpuvfVWxo0bNxD/BFOVl5fzyiuvsHbtWoxIhGluD5enpOGMC9CuAqU6FGJdSxNVoSC5w4Zx2+23c9111yXd5yIUCrFx40b+9Mc/cfTYUVwuL0XDZ5Kfqy46mOiA1q9WAAAW60lEQVQqUPzBJo6f2UJN/WlcLjfXXbeMm2++uV/2FxIoHRiI6eshOineypUr+ctf/kI4Au4Rs3DnTAQ6DhTDMAic20ug+gApKSncccdnuPHGGy3vzjJDOBxmzZo1/NdvXqShoZErx6Rx9Zg0bDZbh4ESjBi8crCOg9V+RhcVcfeXv9zjUWqJyDAM9u3bx7PPPsvp06fxTsoitWRYWzdYZ4ESbg7RtP0cwfMtXLH0Cu76h7vIz88f8PrNVlVVxR/+8AdWvfkmeU4Xy1PT207gdxYoh/w+3mtpJiMrk8/deSfXXntt0n9HWj8Xv3v5d+zZu4dhWWMpLlrcdo6ls0CpaTjD0dMbsNsNPvWpT3HDDTf06y0N5MJGC6WlpXHXXXdxww038Mwzz7Br13YwDNzDPn4C3jAM/FWlBC9oli1bxpe+9CUyM3s3VUMicjgcrFgRHXn2q1/9infffZeIAdeO/XjfdjBi8Pv9dRyp8fPFL36Rm2++OaFmjO2L1qGZTz31FP/xH//BqlWriNQFSF9c0Om5lXBjkIb3K3AYDh544AGuvfbahO7m64kRI0Zw7733Mn/+fH72xM94pamev0/L7PTEfamvmc0tzZSUlPDQQw/1y6gkK7R+LkpKSvjzn//Mb37zX+w98jpTx/0NXk/H5wXPVO3lZOVOxowZy8MPP9Tra6v6m9yx0WT5+fl873vfY8GCBfjP7iBYf/JjzwlUHyB4QXPTTTfxjW98Y1CFSbz09HQeeOABVqxYwfpTTWyvaPnYc147XM+RGj/3338/t9xyy6AJk3her5evfe1r3HfffQSqWmjaeY6OegYi/jCNm8/idXp46sknWbZs2aAJk3jz58/nqf/zFK6UFFY1N+A3Ih97zolggM0tzSxZsoQf/ehHgyZM4tntdm655RZ++tOf4HBEOHRyHeFI6GPPq647wcnKnSxdupQnn/zfCRsmIIHSL1wuFw8//DDFxRMJVpXizByLK2sCAJFgE8HqD7n88sXcfffdg3KHEc9ut3Pvvfcyc+ZM1p5oJhxp35Eerw2wp8rH7bff3uupMJLJihUruOOOO/CfbMR/ouFj65t2noeWCN//3vcZM2aMBRUOnFGjRvHId75DXSTC1pbmi9YFjAjvtjQxftw4HnjggQEbDm6VKVOm8OC3HqTZV0NZ+baL1vkCjRw7vZGJEyfyzW9+M+HPG3U7UJRSf+nk8T+aV87g4XK5uOeerxAONmOEfLiyxwPgr9qD0+Hg7rv/adCHSSu73c5Xv/pVgga4HTZm50evMVhT1kT+iOHcfvvtFlc4cO644w6UUvgO1EJcKyV4roVARROf/exnmTZtmoUVDpwZM2Zwww03sN/vY7TTzRR3dNTaLl8LLeEwX//GNxJ6JJuZ5s2bx0033cS5C0fIzixiRKyrvPzcPsDgkUceSYpzRz1poVzTyeNXm1DHoNR6gVW47iiGESYS8hFuOMUNN1yfcHfa62+FhYUsXryYiqYIJcO9VDYGOdMQ4O9u/mTCH3WZyWazcffddxNuCRHxhdsebzlQS25uLjfffLOF1Q28O+64A6fTSbMRQXm8hA2D/YEAixcvZuLEiVaXN6BuueUWbHY7gWAzw3OKCYX8nK89ylVXX8WIESOsLq9bLtmWVEr9MLbojltuNQE4YXpVg8iNN97Ijh07CDVWYAQaMYwIn/jEJ6wuyxLXXXcd69ev53htgFP1Qex2e5/mVUpWSikmTZ7E0VPH8YxNJ9wUJHi+hU98/lMJez1Ff8nKymLhokVs37yZxYbBiWAAXyTMihUrrC5twOXm5rJgwXx27dzLuJHzqWk4Qzgc4oYbbrC6tG7rTgtldOw/e9zyaKCI6Gy/t/VbdYPAzJkzcbnchJuqCDVXUVhYlJTXmJhh+vTpuJxOjtcGKKsLMmnixEE7IOFSll27jEhLCNcwL4Ez0WlHhmK4QnSma184zPlwiFPBIF6vl5kzZ1pdliXmzZuHP9BEi7+WusZy0tPTk6qldskWitb6iwBKqU1a61/3f0mDi8vlYvLkyRw8VoERbKRkce/v1pjs3G43xRMncrr8KBWNIW4cIucKOtJ6nU3wnI/geR+jCkclTbeG2aZPnw5ARShEZSRMyYzLBuVov+6YMWMGAA3N52lqOc9ls6Yn1bbo9jkUrfWvlVJTlFLfU0r9AkBFXdZ/5Q0Oo0aNJBKoJxLyM3Jk9+8bPhiNGTOGU/VBQhFj0I9k6srIkSPJyMwkdMFHpCZAybSSS79okMrJySEnO5uzoSA1oWBSHZGbraCgAI/HS0PTWZp9dRQXF1tdUo/0ZJTXbcB6oJD2qeMzgCf7oa5BJTc3FyMcbFseyuIDtaCgwMJKrGWz2ZgwfjzBcz7C/hDjx4+3uiRLjR03jhPBAAYM6QMNu93OmDGjuVAfvXdgsm2Lnozy+iFwndb6HqB1eMpuYGh2dvZAdnZ2h8tDUV5eXofLQ9Ho0aOJtEQvZOvPaYGSQUFBAaG45aGssLCQcDh6W96e3HU1EfQkUEYAe2LLRtzPwT0ZmAkkUNrF//sH49XPPRE/dHyonj9pFX9wMdRb8fHztiXbHG49CZQdwOc/8thngG0dPFfEkUBpFz+Z3VC5aK0z8dOMmzXleLKK/17054SHySA+XFNSzL2nfH/ryZwGXwdWK6X+EUhTSr0FTAYG/5wZfRT/ZRmqw2RbWX3zo0QS/1kY6uGanp7etjzYp1q5lGQ+uOj2/zmt9UGl1BTgRuB1otegvK61buyv4gaL+DsLJtMQwP4ggdIufic6VKbh6Yx8LtrFfy6STY8OBbTWzcD/66daBi35srQb6kfi8ZKtO6M/paamXvpJQ0Qy7y+6HShKqfV0fALeD5wG/qi1fs2swgaTod4qiSfbop0ESruhNJ/bpSTztujJSfl1wDjgPeC3sZ9jge3AWeA/lVLfNrk+IQYtaa21S+adqNmSYVbhzvSky2s5sEJrfaD1AaXUS8BvtNYLY9PYvww8bnKNQgxKybzjMNtQmxSzK8k8KKEnLZQpwLGPPHYCUABa621Acg2aFsJCEijtZFu0S+Zu4Z5E4fvAC0qp7xM9Z1IE/ADYAKCUmgFUmF2gEIOV3S43TG0lgdIumT8XPan8H2LP3w80AR8CDuCu2PoAcIeZxQkhhoZk7uYxWzIHSrf+Lyql7MAsoqHyWWA4cE5rHWl9jtZa90uFQohBL5m7ecyWzNuiW4GitY4opf6itW69Qu9sP9YkhBhihvqFnfGSuYXSk8rfV0ot6rdKhBBCJHW49qTj8gTwplLqL0SnXWm7yFFr/f2+FKGUuhP4NjANeEBr/Yu4danAC8BcIAQ8qLV+vS9/TwghEtVQaaGkAH8mGiRFXHx/+b4qJTpz8f/tYN2DQL3WeiJwE/C8Uip5J7sRQohBqieTQ36xv4rQWu8DUEpFOlj9aaKDAdBaH1ZKbQduAFb2Vz1CCCF6rsdj9ZRSGUAe0NbRp7X+6AWPZhpDtLut1UnMaRUJIYQwUU8mh5wGvET0lr8G0UBpPY/S5Tg3pdROosHQkXytdbiTdUIIIZJET1oozwLvAtcAx4lOFPkYsOlSL9Raz+lNcTEniU5CeS72+5hYHUIIIRJIT07KzwQe0lrXAjatdR3wLeDRfqms3UrgKwBKqUnAfGBVP/9NIYQQPdSTQPEBrRPunFdKjYm9PrevRSil7lBKnQZuAx5VSp2OdbEBPAFkK6WOEL1T5Je11g19/ZtCCCHM1ZMur/XA7cCLwB+AN4neXGttX4vQWr9MdOr7jtY1EQ0aIYQQCawngbJNa/1ibPk7wD4gA8gxuyghhBDJpyeB8n3gZxCd24voXRtRSl0A/tX80oQQQiSTSwaKUura1ucqpa4h7voTYAIg5zOEEEJ0q4XyH7GfHuA/4x43iM46fL/ZRQkhhEg+lwwUrfV4AKXUf2mtv9D/JQkhhEhG3R42LGEihBCiK8k7T7IQQoiEIoEihBDCFBIoQgghTCGBIoQQwhQSKEIIIUwhgSKEEMIUEihCCCFMIYEihBDCFBIoQgghTCGBIoQQwhQSKEIIIUwhgSKEEMIUEihCCCFMIYEihBDCFBIoQgghTCGBIoQQwhQSKEIIIUwhgSKEEMIUEihCCCFMIYEihBDCFBIoQgghTCGBIoQQwhROqwsAUEo9AywD/EAj8A2t9fbYunzgv4FxQAvwZa31VotKFUII0YlEaaG8CczQWs8EHgN+H7fuMeB9rfVk4GvAb5VSNgtqFEII0YWECBSt9eta62Ds181AkVKqtbbbgediz9tAtBUzb+CrFEII0ZWECJSPuA94Q2sdUUrlAjat9fm49SeB0daUJoQQojMDcg5FKbUTGNPJ6nytdTj2vM8AnwWuHIi6hBBCmGdAAkVrPedSz1FK/T3wY2CZ1vps7HXVSimUUnlxrZQxwKn+q1YIIURvJESXl1LqRuBJYIXWuuwjq1cC98SedwWQAuwY0AKFEEJcUkIMGwZeAALAH5RSrY8t01pXAw8THdn1D0SHDX9eax2xpkwhhBCdSYhA0VoP72JdJXDdAJYjhBCiFxKiy0sIIUTyk0ARQghhCgkUIYQQppBAEUIIYQoJFCGEEKaQQBFCCGEKCRQhhBCmkEARQghhCgkUIYQQppBAEUIIYQoJFCGEEKaQQBFCCGEKCRQhhBCmkEARQghhCgkUIYQQppBAEUIIYQoJFCGEEKaQQBFCCGEKCRQhhBCmkEARQghhCgkUIYQQppBAEUIIYQoJFCGEEKaQQBFCCGEKCRQhhBCmkEARQghhCgkUIYQQppBAEUIIYQqn1QUAKKW+C3waCAM24DGt9e9j61KBF4C5QAh4UGv9ulW1CiGE6FiitFB+obW+TGs9G/gE8GulVE5s3YNAvdZ6InAT8LxSKt2qQoUQQnQsIQJFa10X92s6YNBe26eBX8aedxjYDtwwoAUKIYS4pITo8gJQSt0DPACMBr6kta6OrRoDnIh76snYc4QQQiSQAQkUpdROosHQkXytdVhr/RzwnFJqBvCSUmpNXKgIIYRIcAMSKFrrOT147l6lVDlwNfAK0RbJWOBc7CljgHfNrlEIIUTfJMQ5FKXUtLjl8cBsYH/soZXAV2LrJgHzgVUDXaMQQoiuJco5lB8opUqAINGhw1/XWh+IrXsCeFEpdSS27sta6waL6hRCCNGJhAgUrfXtXaxrAm4bwHKEEEL0QkJ0eQkhhEh+EihCCJFAwuGw1SX0mgSKEMJyybwTNVswGLS6hF6TQBEDSnYc7UKhkNUlJIyamhqrS0gY5eXlVpfQaxIoA6CxsdHqEhJGVVVV27JhGBZWYr0zZ860Lcu2OHPpJw0RZWVlbcvJ9rmQQBkA586da1tuaWmxsBLr7d69u235xIkTXTxz8Nu+fXvb8unTpy2sxHrHjx9vWx7qB2AHDx5sW44/AEsGEigD4MKFC23LtbW1FlZivUOHDrUta60trMR6J0+e7HB5KIrv8pLvyCEcDjcAhw8ftrianpFAGQDxzdZIJGJhJdbLyMhoW87MzLSwEuulpKR0uDwUxZ+ITuaT0mZIS0sjHA4AkJqaanE1PSOBMgByc3M7XB6KCgoK2pbz8/MtrMR6w4cP73B5KJLPRbvCwsK25VGjRllYSc9JoAyA+J2F1+u1sBLrlZSUtC2PHTvWwkqsN2vWrLbloqIiCyuxXvxnIdmOys1WXFzctpxs4ZoQU68MdmlpaVaXkDBGjx7N7FmzKJ44EYfDYXU5lho/fjxXXnUl06ZOw2azWV2OpVqPylOG+AEXwLRp0blyi4uLk+5zIYEyAGw2G/fddx9ZWVlWl2I5m83GDx991OoyEoLdbudbD37L6jISQm5uLrfeeivTp0+3uhTLjR49moceeuiilkqykEAZICtWrLC6BCESls1m46677rK6jIRxxRVXWF1Cr8g5FCGEEKaQQBFCCGEKCRQhhBCmkEARQghhCgkUIYQQppBAEUIIYYqhMGzYAVBZWWl1HUIIkTTi9pndvgJ5KATKSIDPfe5zVtchhBDJaCRwtDtPHAqB8gGwFKgA5HaBQgjRPQ6iYfJBd19gS7Y7ggkhhEhMclJeCCGEKSRQhBBCmEICRQghhCkkUIQQQphCAkUIIYQpJFCEEEKYQgJFCCGEKYbChY2WUkr9DLgVGAfM0Frvs7Yi6yilcoH/BoqBAHAY+IrW+pylhVlEKfVnYDwQARqB+7XWpdZWZR2l1P8EfoB8T8oAX+w/gIe01m9ZVlAPSKD0vz8DPwfWW11IAjCAx7XW6wCUUk8APwH+0cqiLPQPWus6AKXUzcB/AnOsLckaSqk5wCLghNW1JIhPJWOoSqD0M631BgCllNWlWE5rfQFYF/fQFuCr1lRjvdYwicki2lIZcpRSHuAZ4A4u/nyIJCOBIiyhlLITDZNXra7FSkqp54HlgA243uJyrPJD4Lda6zI58GrzklLKBmwAvqO1rrW6oO6Qk/LCKk8TPW/wC6sLsZLW+p+01mOA7wBPWF3PQFNKXQ7MA561upYEslRrPROYT/RAI2m+IxIoYsDFBipMAj6ttR6S3TwfpbX+b+Ca2MCFoeQqYCpwPHYyugh4Sym13MqirKS1PhX76ScatEusraj7pMtLDCil1L8Cc4G/jX1hhiSlVDqQ07rzUErdBFyI/TdkaK1/QnRgBtA2wunGZDwhbQalVBrg1FrXxbq8PgMkzcg/CZR+ppT6N+AWoABYo5Sq1lqXWFyWJZRSJcAjwCFgU6y//LjW+u8tLcwaacDK2A4kTDRIbtJay/0khrZ84BWllIPo/Uj2A/daW1L3yf1QhBBCmELOoQghhDCFBIoQQghTSKAIIYQwhQSKEEIIU0igCCGEMIUEihBCCFPIdShCfISKXiDze6LT7H9Xa/1vFpckRFKQQBHi474NvKu1ntWXN1FKrSM66eHzplTVs7/9KPBJotOa/Ehr/YOBrkEMPdLlJcTHjQU+tLoIpVRfDviOEA3GN0wqR4hLkivlhYijlHqH6ISFQSBEdN6xu4HbAQ/wJ+CbWusWpVQO0TtQLiTa2t8I3KO1Pq2U+jHwcNz7vAj8DDgOuLTWodjfW0esFaOUuiv2t7YBXwD+XWv9L0qpLwHfIjp9zzbgy1rrbt2ISin1W+CItFDEQJAWihBxtNbXEr275n1a63TgHmAyMAuYCBQC34893Q68QLRFMwZoITbVuNb6u/Hvo7W+r5slLASOEZ3T6cexOzl+h+h8cMNj7/lyH/+ZQvQLOYciRCdis71+GbgsdrfJ1tmS/y/wiNa6Gngl7vk/Bt7t458t11o/HVsOKaXuAR7TWh+I+/vfUUqN7W4rRYiBIoEiROeGA6nAjrg7CdqIzgKLUioVeIronRZzYuszlFIOrXW4l3/z1Ed+Hwv8XCn1v+MesxFtKUmgiIQigSJE584T7cYq0Vqf6WD9/wAUsFBrXamUmgXsIrrDB/joCcqm2M9UoD62XPCR53z0NaeAH2utX+pF/UIMKDmHIkQnYneT/DXwlFJqBIBSqlAptSL2lAyigVOrlBoG/M+PvMVZYELc+50DzgB3KqUcsZPtxZco4zngkdi9ZFBKZSmlbrtU7Uopl1LKS/Q77lRKeWP32BCi30igCNG1h4gOwd2ilKoH1hBtlQD8HyCFaEtmC7DqI6/9OfAppVRN7EZrEB3F9S2gGigBNnX1x7XWfwJ+Cvwu9vf3ATd0o+5fEw27O4DvxpY/343XCdFrMmxYCCGEKaSFIoQQwhRyUl6IJKSUWgq82dG62PUzQgw46fISQghhCunyEkIIYQoJFCGEEKaQQBFCCGEKCRQhhBCmkEARQghhiv8PL4z7Lds4HbIAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "93b7635568ef38bd6c12b23750dd960fa942aab8" + }, + "cell_type": "markdown", + "source": "## 6-2-4 Scatter plot\nScatter plot Purpose to identify the type of relationship (if any) between two quantitative variables" + }, + { + "metadata": { + "trusted": true, + "_uuid": "362ecd283f5a648d08f5b82b5c26882f6cf9620b" + }, + "cell_type": "code", + "source": "# Modify the graph above by assigning each species an individual color.\ng = sns.FacetGrid(train, hue=\"feature_3\", col=\"feature_2\", margin_titles=True,\n palette={1:\"blue\", 0:\"red\"} )\ng=g.map(plt.scatter, \"first_active_month\", \"target\",edgecolor=\"w\").add_legend();", + "execution_count": 65, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "e4a41e83625a4d4fe831a104e973adbd30f566df" + }, + "cell_type": "markdown", + "source": "\n## 6-4-5 Box\nIn descriptive statistics, a box plot or boxplot is a method for graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram.[wikipedia]" + }, + { + "metadata": { + "trusted": true, + "_uuid": "2cb7dc55fb72a95fa786cefaa5c016c09d311cbd" + }, + "cell_type": "code", + "source": "sns.boxplot(x=\"feature_3\", y=\"feature_2\", data=test )\nplt.show()", + "execution_count": 80, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "72cc7c7b60a33390a85b16bc34e3b9e424650cdd" + }, + "cell_type": "markdown", + "source": "
\n## 7- Apply Learning\nHow to understand what is the best way to solve our problem?!\n\nThe answer is always \"**It depends**.\" It depends on the **size**, **quality**, and **nature** of the **data**. It depends on what you want to do with the answer. It depends on how the **math** of the algorithm was translated into instructions for the computer you are using. And it depends on how much **time** you have. Even the most **experienced data scientists** can't tell which algorithm will perform best before trying them.(see a nice [cheatsheet](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/microsoft-machine-learning-algorithm-cheat-sheet-v7.pdf) for this section)\nCategorize the problem\nThe next step is to categorize the problem. This is a two-step process.\n\n1. **Categorize by input**:\n 1. If you have labelled data, it’s a supervised learning problem.\n 1. If you have unlabelled data and want to find structure, it’s an unsupervised learning problem.\n 1. If you want to optimize an objective function by interacting with an environment, it’s a reinforcement learning problem.\n1. **Categorize by output**.\n 1. If the output of your model is a number, it’s a regression problem.\n 1. If the output of your model is a class, it’s a classification problem.\n 1. If the output of your model is a set of input groups, it’s a clustering problem.\n 1. Do you want to detect an anomaly ? That’s anomaly detection\n1. **Understand your constraints**\n 1. What is your data storage capacity? Depending on the storage capacity of your system, you might not be able to store gigabytes of classification/regression models or gigabytes of data to clusterize. This is the case, for instance, for embedded systems.\n 1. Does the prediction have to be fast? In real time applications, it is obviously very important to have a prediction as fast as possible. For instance, in autonomous driving, it’s important that the classification of road signs be as fast as possible to avoid accidents.\n 1. Does the learning have to be fast? In some circumstances, training models quickly is necessary: sometimes, you need to rapidly update, on the fly, your model with a different dataset.\n1. **Find the available algorithms**\n 1. Now that you a clear understanding of where you stand, you can identify the algorithms that are applicable and practical to implement using the tools at your disposal. Some of the factors affecting the choice of a model are:\n\n 1. Whether the model meets the business goals\n 1. How much pre processing the model needs\n 1. How accurate the model is\n 1. How explainable the model is\n 1. How fast the model is: How long does it take to build a model, and how long does the model take to make predictions.\n 1. How scalable the model is\n" + }, + { + "metadata": { + "_uuid": "d67f43bc3f49ef1accb71d4721e0d92f91e7db2b" + }, + "cell_type": "markdown", + "source": "
\n# 8- Conclusion\nThis kernel is not completed yet , I have tried to cover all the parts related to the process of **Elo problem** with a variety of Python packages and I know that there are still some problems then I hope to get your feedback to improve it.\n" + }, + { + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "cell_type": "markdown", + "source": "you can Fork and Run this kernel on **Github**:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n" + }, + { + "metadata": { + "_uuid": "3218340bb7dfc4ab53987820284a5c2b1c34eb45" + }, + "cell_type": "markdown", + "source": "#### The kernel is not completed and will be updated soon !!!" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/A Data Science Framework for Elo/Data_Dictionary.xlsx b/A Data Science Framework for Elo/Data_Dictionary.xlsx new file mode 100644 index 0000000..23394cc Binary files /dev/null and b/A Data Science Framework for Elo/Data_Dictionary.xlsx differ diff --git a/A Data Science Framework for Quora/A Data Science Framework for Quora.ipynb b/A Data Science Framework for Quora/A Data Science Framework for Quora.ipynb new file mode 100644 index 0000000..045b5de --- /dev/null +++ b/A Data Science Framework for Quora/A Data Science Framework for Quora.ipynb @@ -0,0 +1,3261 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "source": [ + "#
A Data Science Framework for Quora
\n", + "###
Quite Practical and Far from any Theoretical Concepts
\n", + "\n", + "
last update: 11/24/2018
\n", + "\n", + "You can Fork and Run this kernel on **Github**:\n", + "> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "source": [ + "
\n", + "## 1- Introduction\n", + "**Quora** has defined a competition in **Kaggle**. A realistic and attractive data set for data scientists.\n", + "on this notebook, I will provide a **comprehensive** approach to solve Quora classification problem.\n", + "\n", + "I am open to getting your feedback for improving this **kernel**." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "source": [ + "
\n", + "## Notebook Content\n", + "1. [Introduction](#1)\n", + "1. [Data Science Workflow for Quora](#2)\n", + "1. [Problem Definition](#3)\n", + " 1. [Business View](#4)\n", + " 1. [Real world Application Vs Competitions](#31)\n", + " 1. [What is a insincere question?](#5)\n", + " 1. [How can we find insincere question?](#6)\n", + "1. [Problem feature](#7)\n", + " 1. [Aim](#8)\n", + " 1. [Variables](#9)\n", + " 1. [ Inputs & Outputs](#10)\n", + "1. [Select Framework](#11)\n", + " 1. [Import](#12)\n", + " 1. [Version](#13)\n", + " 1. [Setup](#14)\n", + "1. [Exploratory data analysis](#15)\n", + " 1. [Data Collection](#16)\n", + " 1. [Features](#17)\n", + " 1. [Explorer Dataset](#18)\n", + " 1. [Data Cleaning](#19)\n", + " 1. [Data Preprocessing](#20)\n", + " 1. [Is data set imbalance?](#21)\n", + " 1. [Some Feature Engineering](#22)\n", + " 1. [Data Visualization](#23)\n", + " 1. [countplot](#61)\n", + " 1. [pie plot](#62)\n", + " 1. [Histogram](#63)\n", + " 1. [violin plot](#64)\n", + " 1. [kdeplot](#65)\n", + "1. [Apply Learning](#24)\n", + "1. [Conclusion](#25)\n", + "1. [References](#26)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "e9438d850fcacb93c4dc1f7873255803ecbf521c" + }, + "source": [ + "-------------------------------------------------------------------------------------------------------------\n", + "\n", + " **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n", + " \n", + " -----------" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "e11b73b618b0f6e4335520ef80267c6d577d1ba5" + }, + "source": [ + "
\n", + "## 2- A Data Science Workflow for Quora\n", + "Of course, the same solution can not be provided for all problems, so the best way is to create a **general framework** and adapt it to new problem.\n", + "\n", + "**You can see my workflow in the below image** :\n", + "\n", + " \n", + "\n", + "**You should feel free\tto\tadjust \tthis\tchecklist \tto\tyour needs**\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "600be852c0d28e7c0c5ebb718904ab15a536342c" + }, + "source": [ + "
\n", + "## 3- Problem Definition\n", + "I think one of the important things when you start a new machine learning project is Defining your problem. that means you should understand business problem.( **Problem Formalization**)\n", + "> **we will be predicting whether a question asked on Quora is sincere or not.**\n", + "\n", + "## 3-1 About Quora\n", + "Quora is a platform that empowers people to learn from each other. On Quora, people can ask questions and connect with others who contribute unique insights and quality answers. A key challenge is to weed out insincere questions -- those founded upon false premises, or that intend to make a statement rather than look for helpful answers.\n", + "
\n", + "## 3-2 Business View \n", + "An existential problem for any major website today is how to handle toxic and divisive content. **Quora** wants to tackle this problem head-on to keep their platform a place where users can feel safe sharing their knowledge with the world.\n", + "\n", + "**Quora** is a platform that empowers people to learn from each other. On Quora, people can ask questions and connect with others who contribute unique insights and quality answers. A key challenge is to weed out insincere questions -- those founded upon false premises, or that intend to make a statement rather than look for helpful answers.\n", + "\n", + "In this kernel, I will develop models that identify and flag insincere questions.we Help Quora uphold their policy of “Be Nice, Be Respectful” and continue to be a place for sharing and growing the world’s knowledge.\n", + "
\n", + "### 3-2-1 Real world Application Vs Competitions\n", + "Just a simple comparison between real-world apps with competitions:\n", + "\n", + "
\n", + "## 3-3 What is a insincere question?\n", + "Is defined as a question intended to make a **statement** rather than look for **helpful answers**.\n", + "\n", + "
\n", + "## 3-4 How can we find insincere question?\n", + "Some characteristics that can signify that a question is insincere:\n", + "\n", + "1. **Has a non-neutral tone**\n", + " 1. Has an exaggerated tone to underscore a point about a group of people\n", + " 1. Is rhetorical and meant to imply a statement about a group of people\n", + "1. **Is disparaging or inflammatory**\n", + " 1. Suggests a discriminatory idea against a protected class of people, or seeks confirmation of a stereotype\n", + " 1. Makes disparaging attacks/insults against a specific person or group of people\n", + " 1. Based on an outlandish premise about a group of people\n", + " 1. Disparages against a characteristic that is not fixable and not measurable\n", + "1. **Isn't grounded in reality**\n", + " 1. Based on false information, or contains absurd assumptions\n", + " 1. Uses sexual content (incest, bestiality, pedophilia) for shock value, and not to seek genuine answers\n", + " ###### [Go to top](#top)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "556980c672d2f7b2a4ee943b9d13b88de6e41e04" + }, + "source": [ + "
\n", + "## 4- Problem Feature\n", + "Problem Definition has three steps that have illustrated in the picture below:\n", + "\n", + "1. Aim\n", + "1. Variable\n", + "1. Inputs & Outputs\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
\n", + "### 4-1 Aim\n", + "We will be predicting whether a question asked on Quora is **sincere** or not.\n", + "\n", + "\n", + "
\n", + "### 4-2 Variables\n", + "\n", + "1. qid - unique question identifier\n", + "1. question_text - Quora question text\n", + "1. target - a question labeled \"insincere\" has a value of 1, otherwise 0\n", + "\n", + "
\n", + "### 4-3 Inputs & Outputs\n", + "we use train.csv and test.csv as Input and we should upload a submission.csv as Output\n", + "\n", + "\n", + "**<< Note >>**\n", + "> You must answer the following question:\n", + "How does your company expect to use and benefit from **your model**.\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "source": [ + "
\n", + "## 5- Select Framework\n", + "After problem definition and problem feature, we should select our framework to solve the problem.\n", + "What we mean by the framework is that the programming languages you use and by what modules the problem will be solved.\n", + "\n", + "
\n", + "## 5-1 Python Deep Learning Packages\n", + "\n", + "*State of open source deep learning frameworks in 2017*\n", + "1. **keras**[11]\n", + ">Well known for being minimalistic, the Keras neural network library (with a supporting interface of Python) supports both convolutional and recurrent networks that are capable of running on either TensorFlow or Theano. The library is written in Python and was developed keeping quick experimentation as its USP.\n", + "1. **TensorFlow**\n", + "> TensorFlow is arguably one of the best deep learning frameworks and has been adopted by several giants such as Airbus, Twitter, IBM, and others mainly due to its highly flexible system architecture.\n", + "1. **Caffe**\n", + "> Caffe is a deep learning framework that is supported with interfaces like C, C++, Python, and MATLAB as well as the command line interface. It is well known for its speed and transposability and its applicability in modeling convolution neural networks (CNN).\n", + "1. **Microsoft Cognitive Toolkit/CNTK**\n", + "> Popularly known for easy training and the combination of popular model types across servers, the Microsoft Cognitive Toolkit (previously known as CNTK) is an open-source deep learning framework to train deep learning models. It performs efficient convolution neural networks and training for image, speech, and text-based data. Similar to Caffe, it is supported by interfaces such as Python, C++, and the command line interface.\n", + "1. **Torch/PyTorch**\n", + "> Torch is a scientific computing framework that offers wide support for machine learning algorithms. It is a Lua-based deep learning framework and is used widely amongst industry giants such as Facebook, Twitter, and Google. It employs CUDA along with C/C++ libraries for processing and was basically made to scale the production of building models and provide overall flexibility.\n", + "1. **MXNet**\n", + "> Designed specifically for the purpose of high efficiency, productivity, and flexibility, MXNet(pronounced as mix-net) is a deep learning framework supported by Python, R, C++, and Julia.\n", + "1. **Chainer**\n", + ">Highly powerful, dynamic and intuitive, Chainer is a Python-based deep learning framework for neural networks that is designed by the run strategy. Compared to other frameworks that use the same strategy, you can modify the networks during runtime, allowing you to execute arbitrary control flow statements.\n", + "1. **Deeplearning4j**\n", + ">Parallel training through iterative reduce, microservice architecture adaptation, and distributed CPUs and GPUs are some of the salient features of the Deeplearning4j deep learning framework. It is developed in Java as well as Scala and supports other JVM languages, too.\n", + "1. **Theano**\n", + ">Theano is beautiful. Without Theano, we wouldn’t have anywhere near the amount of deep learning libraries (specifically in Python) that we do today. In the same way that without NumPy, we couldn’t have SciPy, scikit-learn, and scikit-image, the same can be said about Theano and higher-level abstractions of deep learning.\n", + "1. **Lasagne**\n", + ">Lasagne is a lightweight library used to construct and train networks in Theano. The key term here is lightweight — it is not meant to be a heavy wrapper around Theano like Keras is. While this leads to your code being more verbose, it does free you from any restraints, while still giving you modular building blocks based on Theano.\n", + "1. **PaddlePaddle**\n", + ">PaddlePaddle (PArallel Distributed Deep LEarning) is an easy-to-use, efficient, flexible and scalable deep learning platform, which is originally developed by Baidu scientists and engineers for the purpose of applying deep learning to many products at Baidu.\n", + "\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c90e261f3b150e10aaec1f34ab3be768acf7aa25" + }, + "source": [ + "
\n", + "## 5-2 Import" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_kg_hide-input": true, + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5" + }, + "outputs": [], + "source": [ + "from sklearn.model_selection import train_test_split\n", + "from sklearn.metrics import classification_report\n", + "from sklearn.metrics import confusion_matrix\n", + "from sklearn.metrics import accuracy_score\n", + "from wordcloud import WordCloud as wc\n", + "from nltk.corpus import stopwords\n", + "import matplotlib.pylab as pylab\n", + "import matplotlib.pyplot as plt\n", + "from pandas import get_dummies\n", + "import matplotlib as mpl\n", + "import seaborn as sns\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib\n", + "import warnings\n", + "import sklearn\n", + "import string\n", + "import scipy\n", + "import numpy\n", + "import nltk\n", + "import json\n", + "import sys\n", + "import csv\n", + "import os" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "1c2beac253f7ddddcc2e1aa26dc850d5b87268f3" + }, + "source": [ + "
\n", + "## 5-3 version" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "_kg_hide-input": true, + "_uuid": "9ffe2f1e5995150c8138f9e98509c7525fb230b4" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "matplotlib: 2.2.3\n", + "sklearn: 0.20.0\n", + "scipy: 1.1.0\n", + "seaborn: 0.9.0\n", + "pandas: 0.23.4\n", + "numpy: 1.15.4\n", + "Python: 3.6.6 |Anaconda, Inc.| (default, Oct 9 2018, 12:34:16) \n", + "[GCC 7.3.0]\n" + ] + } + ], + "source": [ + "print('matplotlib: {}'.format(matplotlib.__version__))\n", + "print('sklearn: {}'.format(sklearn.__version__))\n", + "print('scipy: {}'.format(scipy.__version__))\n", + "print('seaborn: {}'.format(sns.__version__))\n", + "print('pandas: {}'.format(pd.__version__))\n", + "print('numpy: {}'.format(np.__version__))\n", + "print('Python: {}'.format(sys.version))\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "431bf889ae401c1089a13835356c13f2b6a06f6c" + }, + "source": [ + "
\n", + "## 5-4 Setup\n", + "\n", + "A few tiny adjustments for better **code readability**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c5048b61a4837c8826551c8871609973ebbe3847" + }, + "source": [ + "
\n", + "## 5-5 NLTK\n", + "The Natural Language Toolkit (NLTK) is one of the leading platforms for working with human language data and Python, the module NLTK is used for natural language processing. NLTK is literally an acronym for Natural Language Toolkit. with it you can tokenizing words and sentences.\n", + "NLTK is a library of Python that can mine (scrap and upload data) and analyse very large amounts of textual data using computational methods.\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "adadeb7a83d0bc711a779948197c40841b10f1ca" + }, + "outputs": [], + "source": [ + "from nltk.tokenize import sent_tokenize, word_tokenize\n", + " \n", + "data = \"All work and no play makes jack a dull boy, all work and no play\"\n", + "print(word_tokenize(data))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "e49407d9fe96b86c9851fbd7065ebfb218281687" + }, + "source": [ + "
\n", + "All of them are words except the comma. Special characters are treated as separate tokens.\n", + "\n", + "## 5-5-1 Tokenizing sentences\n", + "The same principle can be applied to sentences. Simply change the to sent_tokenize()\n", + "We have added two sentences to the variable data:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "ec9e6c715a1d49b2813c934fb4405ccec77884a1" + }, + "outputs": [], + "source": [ + "from nltk.tokenize import sent_tokenize, word_tokenize\n", + " \n", + "data = \"All work and no play makes jack dull boy. All work and no play makes jack a dull boy.\"\n", + "print(sent_tokenize(data))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "75bb691fdb4982097ee8eb59ae930c1d81074afa" + }, + "source": [ + "
\n", + "## 5-5-2 NLTK and arrays\n", + "If you wish to you can store the words and sentences in arrays" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "fde02d4189b0a52b7f919ac0fa0643d84ebacaf7" + }, + "outputs": [], + "source": [ + "from nltk.tokenize import sent_tokenize, word_tokenize\n", + " \n", + "data = \"All work and no play makes jack dull boy. All work and no play makes jack a dull boy.\"\n", + " \n", + "phrases = sent_tokenize(data)\n", + "words = word_tokenize(data)\n", + " \n", + "print(phrases)\n", + "print(words)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "f7fad127cb8ed99cc063b98b3391645263737958" + }, + "source": [ + "
\n", + "## 5-5-3 NLTK stop words\n", + "Natural language processing (nlp) is a research field that presents many challenges such as natural language understanding.\n", + "Text may contain stop words like ‘the’, ‘is’, ‘are’. Stop words can be filtered from the text to be processed. There is no universal list of stop words in nlp research, however the nltk module contains a list of stop words.\n", + "\n", + "In this article you will learn how to remove stop words with the nltk module." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "3357ec158943478d584c392bb7702fe7e6d4b355" + }, + "outputs": [], + "source": [ + "from nltk.tokenize import sent_tokenize, word_tokenize\n", + "from nltk.corpus import stopwords\n", + " \n", + "data = \"All work and no play makes jack dull boy. All work and no play makes jack a dull boy.\"\n", + "stopWords = set(stopwords.words('english'))\n", + "words = word_tokenize(data)\n", + "wordsFiltered = []\n", + " \n", + "for w in words:\n", + " if w not in stopWords:\n", + " wordsFiltered.append(w)\n", + " \n", + "print(wordsFiltered)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "581a7ba2ce1ae5dae6c36d54f8999af838c7b80c" + }, + "source": [ + "A module has been imported:\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "2cb63648a5f138fe779744f0c52d570f30f84b13" + }, + "outputs": [], + "source": [ + "from nltk.corpus import stopwords\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "e7528080723ea540729e78b6e135475a870a5618" + }, + "source": [ + "We get a set of English stop words using the line:\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "6fbe468728072fb1883e064d0c1e892259fb1c0c" + }, + "outputs": [], + "source": [ + "stopWords = set(stopwords.words('english'))\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "43843cdaccbe961422631c13d982e13bf25607c6" + }, + "source": [ + "The returned list stopWords contains 153 stop words on my computer.\n", + "You can view the length or contents of this array with the lines:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "53582f8f5ae2871e2cbba4542fc38965b61a5012" + }, + "outputs": [], + "source": [ + "print(len(stopWords))\n", + "print(stopWords)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "d25fed9ed1fd0016cea56de8e71b010a0d3176c3" + }, + "source": [ + "We create a new list called wordsFiltered which contains all words which are not stop words.\n", + "To create it we iterate over the list of words and only add it if its not in the stopWords list." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "3b28823a9862bb263183c6d62a4e91286bfe8d30" + }, + "outputs": [], + "source": [ + "for w in words:\n", + " if w not in stopWords:\n", + " wordsFiltered.append(w)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "8546a903a5b3916bca4feb96116dd00db1fc51c0" + }, + "source": [ + "
\n", + "## 5-5-4 NLTK – stemming\n", + "Start by defining some words:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "f3a8e1427f235183fc5b9656a15a1cdb9befb55b" + }, + "outputs": [], + "source": [ + "words = [\"game\",\"gaming\",\"gamed\",\"games\"]\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "4a6ea3737dbb032d08c896f24cc6555b7b516274" + }, + "outputs": [], + "source": [ + "from nltk.stem import PorterStemmer\n", + "from nltk.tokenize import sent_tokenize, word_tokenize" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "4bd4f0bc00227a77cfe734575ebfa7d124d333d4" + }, + "source": [ + "And stem the words in the list using:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "12b5f99ca390ed21e68862e5eb5968d31e3858ef" + }, + "outputs": [], + "source": [ + "from nltk.stem import PorterStemmer\n", + "from nltk.tokenize import sent_tokenize, word_tokenize\n", + "\n", + "words = [\"game\",\"gaming\",\"gamed\",\"games\"]\n", + "ps = PorterStemmer()\n", + " \n", + "for word in words:\n", + " print(ps.stem(word))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "b0af11da2319b2be2643ad0003ebbc207067dc34" + }, + "source": [ + "
\n", + "## 5-5-5 NLTK speech tagging\n", + "The module NLTK can automatically tag speech.\n", + "Given a sentence or paragraph, it can label words such as verbs, nouns and so on.\n", + "\n", + "NLTK – speech tagging example\n", + "The example below automatically tags words with a corresponding class." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "fe586131bec724c1901a441b56753c1d47562483" + }, + "outputs": [], + "source": [ + "import nltk\n", + "from nltk.tokenize import PunktSentenceTokenizer\n", + " \n", + "document = 'Whether you\\'re new to programming or an experienced developer, it\\'s easy to learn and use Python.'\n", + "sentences = nltk.sent_tokenize(document) \n", + "for sent in sentences:\n", + " print(nltk.pos_tag(nltk.word_tokenize(sent)))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "22e469c3b880de5c4f00a609192e74d97d22436a" + }, + "source": [ + "We can filter this data based on the type of word:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "8edca0d46e25f4d8dba85c454bb70299b7c1e112" + }, + "outputs": [], + "source": [ + "import nltk\n", + "from nltk.corpus import state_union\n", + "from nltk.tokenize import PunktSentenceTokenizer\n", + " \n", + "document = 'Today the Netherlands celebrates King\\'s Day. To honor this tradition, the Dutch embassy in San Francisco invited me to'\n", + "sentences = nltk.sent_tokenize(document) \n", + " \n", + "data = []\n", + "for sent in sentences:\n", + " data = data + nltk.pos_tag(nltk.word_tokenize(sent))\n", + " \n", + "for word in data: \n", + " if 'NNP' in word[1]: \n", + " print(word)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "_kg_hide-input": true, + "_uuid": "2a498652935827a033d0bcb7df1d28c068f44a25" + }, + "outputs": [], + "source": [ + "sns.set(style='white', context='notebook', palette='deep')\n", + "pylab.rcParams['figure.figsize'] = 12,8\n", + "warnings.filterwarnings('ignore')\n", + "mpl.style.use('ggplot')\n", + "sns.set_style('white')\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" + }, + "source": [ + "
\n", + "## 6- EDA\n", + " In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n", + " \n", + "* Which variables suggest interesting relationships?\n", + "* Which observations are unusual?\n", + "* Analysis of the features!\n", + "\n", + "By the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations:\n", + "\n", + "1. Data Collection\n", + "1. Visualization\n", + "1. Data Cleaning\n", + "1. Data Preprocessing\n", + "\n", + "\n", + " ###### [Go to top](#top)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "source": [ + "
\n", + "## 6-1 Data Collection\n", + "**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n", + "\n", + "I start Collection Data by the training and testing datasets into **Pandas DataFrames**.\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "_kg_hide-input": true, + "_uuid": "9269ae851b744856bce56840637030a16a5877e1" + }, + "outputs": [], + "source": [ + "train = pd.read_csv('../input/train.csv')\n", + "test = pd.read_csv('../input/test.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "source": [ + "**<< Note 1 >>**\n", + "\n", + "* Each **row** is an observation (also known as : sample, example, instance, record).\n", + "* Each **column** is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate).\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "_uuid": "4708d70e39d1ae861bbf34411cf03d07f261fceb" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
qidquestion_texttarget
520800a3736fd8590759a888fCan AI segregate bio degradable waste from pla...0
\n", + "
" + ], + "text/plain": [ + " qid ... target\n", + "52080 0a3736fd8590759a888f ... 0\n", + "\n", + "[1 rows x 3 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.sample(1) " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "_uuid": "f8e7a84ab982504d7263b1812fa66bba78bddbdc" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
qidquestion_text
66541e69f4fb9309efcdf97eHow did Matthew McGrory die?
\n", + "
" + ], + "text/plain": [ + " qid question_text\n", + "6654 1e69f4fb9309efcdf97e How did Matthew McGrory die?" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test.sample(1) " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "3483fbc1e932d9f387703a796248963e77cefa1d" + }, + "source": [ + "Or you can use others command to explorer dataset, such as " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "_uuid": "08a94b16129d4c231b64d4691374e18aa80f1d80" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
qidquestion_texttarget
1306121ffffed09fedb5088744aWho wins in a battle between a Wolverine and a...0
\n", + "
" + ], + "text/plain": [ + " qid ... target\n", + "1306121 ffffed09fedb5088744a ... 0\n", + "\n", + "[1 rows x 3 columns]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.tail(1)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "581b90e6a869c3793472c7edd59091d6d6342fb2" + }, + "source": [ + "
\n", + "## 6-1-1 Features\n", + "Features can be from following types:\n", + "* numeric\n", + "* categorical\n", + "* ordinal\n", + "* datetime\n", + "* coordinates\n", + "\n", + "Find the type of features in **Qoura dataset**?!\n", + "\n", + "For getting some information about the dataset you can use **info()** command." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "_kg_hide-input": true, + "_uuid": "ca840f02925751186f87e402fcb5f637ab1ab8a0" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 1306122 entries, 0 to 1306121\n", + "Data columns (total 3 columns):\n", + "qid 1306122 non-null object\n", + "question_text 1306122 non-null object\n", + "target 1306122 non-null int64\n", + "dtypes: int64(1), object(2)\n", + "memory usage: 29.9+ MB\n", + "None\n" + ] + } + ], + "source": [ + "print(train.info())" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "_uuid": "4cbcf76344a6e3c8e841ccf1f43bf00d040a06a1" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 56370 entries, 0 to 56369\n", + "Data columns (total 2 columns):\n", + "qid 56370 non-null object\n", + "question_text 56370 non-null object\n", + "dtypes: object(2)\n", + "memory usage: 880.9+ KB\n", + "None\n" + ] + } + ], + "source": [ + "print(test.info())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "73ab30f86273b590a51fc363d9bf78c2709558fa" + }, + "source": [ + "
\n", + "## 6-1-2 Explorer Dataset\n", + "1- Dimensions of the dataset.\n", + "\n", + "2- Peek at the data itself.\n", + "\n", + "3- Statistical summary of all attributes.\n", + "\n", + "4- Breakdown of the data by the class variable.\n", + "\n", + "Don’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects.\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "_kg_hide-input": true, + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Shape of train: (1306122, 3)\n", + "Shape of test: (56370, 2)\n" + ] + } + ], + "source": [ + "# shape for train and test\n", + "print('Shape of train:',train.shape)\n", + "print('Shape of test:',test.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "_kg_hide-input": true, + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "3918366" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#columns*rows\n", + "train.size" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "source": [ + "After loading the data via **pandas**, we should checkout what the content is, description and via the following:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "_kg_hide-input": true, + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "pandas.core.frame.DataFrame" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(train)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "_kg_hide-input": true, + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "pandas.core.frame.DataFrame" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(test)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "_uuid": "1b8b6f0c962a59e5258e74ed9e740a4aaf7c8113" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
target
count1.306122e+06
mean6.187018e-02
std2.409197e-01
min0.000000e+00
25%0.000000e+00
50%0.000000e+00
75%0.000000e+00
max1.000000e+00
\n", + "
" + ], + "text/plain": [ + " target\n", + "count 1.306122e+06\n", + "mean 6.187018e-02\n", + "std 2.409197e-01\n", + "min 0.000000e+00\n", + "25% 0.000000e+00\n", + "50% 0.000000e+00\n", + "75% 0.000000e+00\n", + "max 1.000000e+00" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "246d8c9f7cb0166a65b2db877610ac2c32174f87" + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "source": [ + "To pop up 5 random rows from the data set, we can use **sample(5)** function and find the type of features." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
qidquestion_texttarget
948939b9f0d71db2ed47fc45cdWhy does secular music annoy me SO much?0
1209928ed251b5aae2449d5c5f3Are there experts available to pay for help in...0
413620510c1d905fb0f3a27b35How can I get THC out of me?0
875432ab83543c354944be463bDid all the Valars descend into Arda? Are ther...0
446638577f453649527b76426bWhat things could Stone Age people get from an...0
\n", + "
" + ], + "text/plain": [ + " qid ... target\n", + "948939 b9f0d71db2ed47fc45cd ... 0\n", + "1209928 ed251b5aae2449d5c5f3 ... 0\n", + "413620 510c1d905fb0f3a27b35 ... 0\n", + "875432 ab83543c354944be463b ... 0\n", + "446638 577f453649527b76426b ... 0\n", + "\n", + "[5 rows x 3 columns]" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.sample(5) " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "8280749a19af32869978c61941d1dea306632d71" + }, + "source": [ + "
\n", + "## 6-2 Data Cleaning\n", + "When dealing with real-world data, dirty data is the norm rather than the exception. We continuously need to predict correct values, impute missing ones, and find links between various data artefacts such as schemas and records. We need to stop treating data cleaning as a piecemeal exercise (resolving different types of errors in isolation), and instead leverage all signals and resources (such as constraints, available statistics, and dictionaries) to accurately predict corrective actions.\n", + "\n", + "The primary goal of data cleaning is to detect and remove errors and **anomalies** to increase the value of data in analytics and decision making. While it has been the focus of many researchers for several years, individual problems have been addressed separately. These include missing value imputation, outliers detection, transformations, integrity constraints violations detection and repair, consistent query answering, deduplication, and many other related problems such as profiling and constraints mining.[4]\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "source": [ + "How many NA elements in every column!!\n", + "\n", + "Good news, it is Zero!\n", + "\n", + "To check out how many null info are on the dataset, we can use **isnull().sum()**." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "_kg_hide-input": true, + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "qid 0\n", + "question_text 0\n", + "target 0\n", + "dtype: int64" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.isnull().sum()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "5faa6528c6667060c05268757ff46e211b4fea3f" + }, + "source": [ + "But if we had , we can just use **dropna()**(be careful sometimes you should not do this!)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "_kg_hide-input": true, + "_uuid": "e8e124ca20643ad307d9bfdc34328d548c6ddcbc" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Before Droping (1306122, 3)\n", + "After Droping (1306122, 3)\n" + ] + } + ], + "source": [ + "# remove rows that have NA's\n", + "print('Before Droping',train.shape)\n", + "train = train.dropna()\n", + "print('After Droping',train.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "source": [ + "\n", + "We can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + }, + "source": [ + "To print dataset **columns**, we can use columns atribute." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['qid', 'question_text', 'target'], dtype='object')" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.columns" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "3458838205be4c7fbff88e95ef69934e13e2199b" + }, + "source": [ + "You see number of unique item for Target with command below:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "_kg_hide-input": true, + "_uuid": "c7937700664991b29bdb0b3f04942c59498da760" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 1])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_target = train['target'].values\n", + "\n", + "np.unique(train_target)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "d824cb29e135dc5ae98964e71ec0adc0e05ebd43" + }, + "source": [ + "YES, quora problem is a **binary classification**! :)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "source": [ + "To check the first 5 rows of the data set, we can use head(5)." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "_kg_hide-input": true, + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
qidquestion_texttarget
000002165364db923c7e6How did Quebec nationalists see their province...0
1000032939017120e6e44Do you have an adopted dog, how would you enco...0
20000412ca6e4628ce2cfWhy does velocity affect time? Does velocity a...0
3000042bf85aa498cd78eHow did Otto von Guericke used the Magdeburg h...0
40000455dfa3e01eae3afCan I convert montra helicon D to a mountain b...0
\n", + "
" + ], + "text/plain": [ + " qid ... target\n", + "0 00002165364db923c7e6 ... 0\n", + "1 000032939017120e6e44 ... 0\n", + "2 0000412ca6e4628ce2cf ... 0\n", + "3 000042bf85aa498cd78e ... 0\n", + "4 0000455dfa3e01eae3af ... 0\n", + "\n", + "[5 rows x 3 columns]" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.head(5) " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "source": [ + "Or to check out last 5 row of the data set, we use tail() function." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
qidquestion_texttarget
1306117ffffcc4e2331aaf1e41eWhat other technical skills do you need as a c...0
1306118ffffd431801e5a2f4861Does MS in ECE have good job prospects in USA ...0
1306119ffffd48fb36b63db010cIs foam insulation toxic?0
1306120ffffec519fa37cf60c78How can one start a research project based on ...0
1306121ffffed09fedb5088744aWho wins in a battle between a Wolverine and a...0
\n", + "
" + ], + "text/plain": [ + " qid ... target\n", + "1306117 ffffcc4e2331aaf1e41e ... 0\n", + "1306118 ffffd431801e5a2f4861 ... 0\n", + "1306119 ffffd48fb36b63db010c ... 0\n", + "1306120 ffffec519fa37cf60c78 ... 0\n", + "1306121 ffffed09fedb5088744a ... 0\n", + "\n", + "[5 rows x 3 columns]" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.tail() " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "source": [ + "To give a **statistical summary** about the dataset, we can use **describe()**\n" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
target
count1.306122e+06
mean6.187018e-02
std2.409197e-01
min0.000000e+00
25%0.000000e+00
50%0.000000e+00
75%0.000000e+00
max1.000000e+00
\n", + "
" + ], + "text/plain": [ + " target\n", + "count 1.306122e+06\n", + "mean 6.187018e-02\n", + "std 2.409197e-01\n", + "min 0.000000e+00\n", + "25% 0.000000e+00\n", + "50% 0.000000e+00\n", + "75% 0.000000e+00\n", + "max 1.000000e+00" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.describe() " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "10bdb8246f66c14043392806cae714f688cc8251" + }, + "source": [ + "As you can see, the statistical information that this command gives us is not suitable for this type of data\n", + "**describe() is more useful for numerical data sets**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "91dda1f631cf4ed362162501aaaac6d19cfd6cc7" + }, + "source": [ + "
\n", + "## 6-3 Data Preprocessing\n", + "**Data preprocessing** refers to the transformations applied to our data before feeding it to the algorithm.\n", + " \n", + "Data Preprocessing is a technique that is used to convert the raw data into a clean data set. In other words, whenever the data is gathered from different sources it is collected in raw format which is not feasible for the analysis.\n", + "there are plenty of steps for data preprocessing and we just listed some of them in general(Not just for Quora) :\n", + "1. removing Target column (id)\n", + "1. Sampling (without replacement)\n", + "1. Making part of iris unbalanced and balancing (with undersampling and SMOTE)\n", + "1. Introducing missing values and treating them (replacing by average values)\n", + "1. Noise filtering\n", + "1. Data discretization\n", + "1. Normalization and standardization\n", + "1. PCA analysis\n", + "1. Feature selection (filter, embedded, wrapper)\n", + "1. Etc.\n", + "\n", + "What methods of preprocessing can we run on Quora?! \n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "6c8c838f497c66a227975fb9a2f588e431f0c568" + }, + "source": [ + "**<< Note 2 >>**\n", + "in pandas's data frame you can perform some query such as \"where\"" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "_uuid": "c8c8d9fd63d9bdb601183aeb4f1435affeb8a596" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "qid 80810\n", + "question_text 80810\n", + "target 80810\n", + "dtype: int64" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.where(train ['target']==1).count()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "33fc33a18489b438a884819d99dc00a02b113be8" + }, + "source": [ + "As you can see in the below in python, it is so easy perform some query on the dataframe:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "_uuid": "8b545ff7e8367c5ab9c1db710f70b6936ac8422c" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
qidquestion_texttarget
\n", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: [qid, question_text, target]\n", + "Index: []" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train[train['target']>1]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "2788d023986eca622f7db9e1d64c2a4e02737ddb" + }, + "source": [ + "Some examples of questions that they are insincere" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "_uuid": "d517b2b99a455a6b89c238faf1647515b8a67d87" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
qidquestion_texttarget
220000e91571b60c2fb487Has the United States become the largest dicta...1
3000013ceca3f624b09f42Which babies are more sweeter to their parents...1
1100004a7fcb2bf73076489If blacks support school choice and mandatory ...1
11400052793eaa287aff1e1I am gay boy and I love my cousin (boy). He is...1
115000537213b01fd77b58aWhich races have the smallest penis?1
\n", + "
" + ], + "text/plain": [ + " qid ... target\n", + "22 0000e91571b60c2fb487 ... 1\n", + "30 00013ceca3f624b09f42 ... 1\n", + "110 0004a7fcb2bf73076489 ... 1\n", + "114 00052793eaa287aff1e1 ... 1\n", + "115 000537213b01fd77b58a ... 1\n", + "\n", + "[5 rows x 3 columns]" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train[train['target']==1].head(5)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "4b67d109a0cec1a5475b863bbce8aa3ac9d2d4fb" + }, + "source": [ + "
\n", + "## 6-3-1 Is data set imbalance?\n" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "_uuid": "4218d492753322c50142021833efb24cfdfc6ad3" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0.06187017751787352" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_target.mean()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "8e058f90ca403f00d91d0405a7d8822dc7d6de55" + }, + "source": [ + "A large part of the data is unbalanced, but **how can we solve it?**" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "_kg_hide-input": true, + "_uuid": "dc6340ee1b637d192e29cbc8d3744ae6351b9c8b" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0 1225312\n", + "1 80810\n", + "Name: target, dtype: int64" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train[\"target\"].value_counts()\n", + "# data is imbalance" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "8c948aad0aefbea90524b91c771ad74b6261387c" + }, + "source": [ + "**Imbalanced dataset** is relevant primarily in the context of supervised machine learning involving two or more classes. \n", + "\n", + "**Imbalance** means that the number of data points available for different the classes is different:\n", + "If there are two classes, then balanced data would mean 50% points for each of the class. For most machine learning techniques, little imbalance is not a problem. So, if there are 60% points for one class and 40% for the other class, it should not cause any significant performance degradation. Only when the class imbalance is high, e.g. 90% points for one class and 10% for the other, standard optimization criteria or performance measures may not be as effective and would need modification.\n", + "\n", + "\n", + "\n", + "[Image source](http://api.ning.com/files/vvHEZw33BGqEUW8aBYm4epYJWOfSeUBPVQAsgz7aWaNe0pmDBsjgggBxsyq*8VU1FdBshuTDdL2-bp2ALs0E-0kpCV5kVdwu/imbdata.png)\n", + "\n", + "A typical example of imbalanced data is encountered in e-mail classification problem where emails are classified into ham or spam. The number of spam emails is usually lower than the number of relevant (ham) emails. So, using the original distribution of two classes leads to imbalanced dataset.\n", + "\n", + "Using accuracy as a performace measure for highly imbalanced datasets is not a good idea. For example, if 90% points belong to the true class in a binary classification problem, a default prediction of true for all data poimts leads to a classifier which is 90% accurate, even though the classifier has not learnt anything about the classification problem at hand![9]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "873b2cfdee04b8ba087df1c4bf01ae69ef2f1c52" + }, + "source": [ + "## 6-3-2 Exploreing Question" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "_kg_hide-input": true, + "_uuid": "e445c859d7c43857cfbf370ff20060a5341d3c89" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sample 1: How did Quebec nationalists see their province as a nation in the 1960s?\n", + "sample 2: Do you have an adopted dog, how would you encourage people to adopt and not shop?\n", + "sample 3: Why does velocity affect time? Does velocity affect space geometry?\n", + "sample 4: How did Otto von Guericke used the Magdeburg hemispheres?\n", + "sample 5: Can I convert montra helicon D to a mountain bike by just changing the tyres?\n" + ] + } + ], + "source": [ + "question = train['question_text']\n", + "i=0\n", + "for q in question[:5]:\n", + " i=i+1\n", + " print('sample '+str(i)+':' ,q)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "_kg_hide-input": true, + "_uuid": "fa78f61df85a9c76bd092dbf6d6bcec4b6b2631f" + }, + "outputs": [], + "source": [ + "text_withnumber = train['question_text']\n", + "result = ''.join([i for i in text_withnumber if not i.isdigit()])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c50c6c2683c5c08a6c9c34b75be61567d5993fa0" + }, + "source": [ + "
\n", + "## 6-3-2 Some Feature Engineering" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c641754f26e07c368596af3054268f1b3b764921" + }, + "source": [ + "[NLTK](https://www.nltk.org/) is one of the leading platforms for working with human language data and Python, the module NLTK is used for natural language processing. NLTK is literally an acronym for Natural Language Toolkit.\n", + "\n", + "We get a set of **English stop** words using the line" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "_kg_hide-input": true, + "_uuid": "10ca7d56255b95fc774fff5adf7b4273ec7a1ea2" + }, + "outputs": [], + "source": [ + "#from nltk.corpus import stopwords\n", + "eng_stopwords = set(stopwords.words(\"english\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "3f5af107041b279ce723761f37f4ffebae2b22a3" + }, + "source": [ + "The returned list stopWords contains **179 stop words** on my computer.\n", + "You can view the length or contents of this array with the lines:" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "_kg_hide-input": true, + "_uuid": "eca2d53bfae70c55b3b5b0e2c244826465cb478b" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "179\n", + "{'can', \"mustn't\", \"wasn't\", 'mightn', 'herself', 'most', 'on', 'why', 'how', 'ours', \"you'd\", 'are', 'other', 'my', 'himself', \"it's\", \"that'll\", 'their', 'but', 'same', 'was', 'for', 'is', 'of', 'him', 'under', 'each', 'because', 'a', 'by', 'am', 'about', 'so', 'i', 't', 'nor', 'myself', \"haven't\", 'the', 'after', \"wouldn't\", 'that', \"don't\", 'needn', 'or', 'wasn', 'which', 'all', \"doesn't\", 'being', 'only', 'few', 'will', 'our', \"you'll\", 'where', 's', 're', 'both', 'shan', \"mightn't\", 'whom', 'if', 'some', 'o', 'hasn', 'while', 'own', 'having', 'such', 'above', 'what', 'be', 'then', 'very', 'been', 'it', 'any', 'during', 'your', 'do', \"weren't\", 'he', \"should've\", 'have', 'hadn', 'should', 'with', 'once', 'not', 'm', 'further', \"aren't\", 'too', \"won't\", 'weren', 'more', 'against', 'his', 'again', 'her', 'through', 'until', 'mustn', 'yourself', 'here', 'did', 'than', 'me', 'won', 'yours', 'ma', 'has', \"she's\", 'we', 'between', 'she', 'ourselves', 'wouldn', 'below', 'does', 'aren', 'as', 'had', 'and', 'them', \"shouldn't\", 'doesn', 'shouldn', 'hers', 'no', 'this', 'themselves', 'when', \"couldn't\", 'its', 'll', 'yourselves', 'don', 'at', 'theirs', 'to', 'from', 've', 'itself', 'just', 'over', 'off', \"needn't\", 'out', 'you', 'y', 'in', 'didn', 'these', 'those', 'before', \"hadn't\", 'up', \"shan't\", \"isn't\", \"didn't\", 'an', 'd', 'were', 'now', 'down', \"you're\", \"hasn't\", \"you've\", 'doing', 'into', 'haven', 'isn', 'couldn', 'ain', 'who', 'there', 'they'}\n" + ] + } + ], + "source": [ + "print(len(eng_stopwords))\n", + "print(eng_stopwords)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "6f049c6d9633200496ed97f8066257849b4824da" + }, + "source": [ + "The metafeatures that we'll create based on SRK's EDAs, [sudalairajkumar](http://http://www.kaggle.com/sudalairajkumar/simple-feature-engg-notebook-spooky-author) and [tunguz](https://www.kaggle.com/tunguz/just-some-simple-eda) are:\n", + "1. Number of words in the text\n", + "1. Number of unique words in the text\n", + "1. Number of characters in the text\n", + "1. Number of stopwords\n", + "1. Number of punctuations\n", + "1. Number of upper case words\n", + "1. Number of title case words\n", + "1. Average length of the words\n", + "\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "f4982fc699bcb147513c247b9f4d86b02902eded" + }, + "source": [ + "Number of words in the text " + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "_kg_hide-input": true, + "_uuid": "5b29fbd86ab48be6bd84fcac6fb6bca84d4b8792" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "maximum of num_words in train 134\n", + "min of num_words in train 1\n", + "maximum of num_words in test 87\n", + "min of num_words in train 2\n" + ] + } + ], + "source": [ + "train[\"num_words\"] = train[\"question_text\"].apply(lambda x: len(str(x).split()))\n", + "test[\"num_words\"] = test[\"question_text\"].apply(lambda x: len(str(x).split()))\n", + "print('maximum of num_words in train',train[\"num_words\"].max())\n", + "print('min of num_words in train',train[\"num_words\"].min())\n", + "print(\"maximum of num_words in test\",test[\"num_words\"].max())\n", + "print('min of num_words in train',test[\"num_words\"].min())\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "83becd8affc2abab2252e065f77c80dc0dcf53be" + }, + "source": [ + "Number of unique words in the text" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "_kg_hide-input": true, + "_uuid": "72aebb943122982b891c959fa9fa36224adcb2fc" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "maximum of num_unique_words in train 96\n", + "mean of num_unique_words in train 12.135776749798257\n", + "maximum of num_unique_words in test 61\n", + "mean of num_unique_words in train 12.096363313819408\n" + ] + } + ], + "source": [ + "train[\"num_unique_words\"] = train[\"question_text\"].apply(lambda x: len(set(str(x).split())))\n", + "test[\"num_unique_words\"] = test[\"question_text\"].apply(lambda x: len(set(str(x).split())))\n", + "print('maximum of num_unique_words in train',train[\"num_unique_words\"].max())\n", + "print('mean of num_unique_words in train',train[\"num_unique_words\"].mean())\n", + "print(\"maximum of num_unique_words in test\",test[\"num_unique_words\"].max())\n", + "print('mean of num_unique_words in train',test[\"num_unique_words\"].mean())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "cb2719fa417f2c3fabea9b6582081738ecdf678b" + }, + "source": [ + "Number of characters in the text " + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "_kg_hide-input": true, + "_uuid": "a7029af9cfed9eb2e624d7177887e111a71054ff" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "maximum of num_chars in train 1017\n", + "maximum of num_chars in test 588\n" + ] + } + ], + "source": [ + "\n", + "train[\"num_chars\"] = train[\"question_text\"].apply(lambda x: len(str(x)))\n", + "test[\"num_chars\"] = test[\"question_text\"].apply(lambda x: len(str(x)))\n", + "print('maximum of num_chars in train',train[\"num_chars\"].max())\n", + "print(\"maximum of num_chars in test\",test[\"num_chars\"].max())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "ddd289db2420b4f3fee7268fef94926688afd203" + }, + "source": [ + "Number of stopwords in the text" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "_kg_hide-input": true, + "_uuid": "086e229b918087420c33b57c7ad51d6723cf70f7" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "maximum of num_stopwords in train 56\n", + "maximum of num_stopwords in test 47\n" + ] + } + ], + "source": [ + "train[\"num_stopwords\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).lower().split() if w in eng_stopwords]))\n", + "test[\"num_stopwords\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).lower().split() if w in eng_stopwords]))\n", + "print('maximum of num_stopwords in train',train[\"num_stopwords\"].max())\n", + "print(\"maximum of num_stopwords in test\",test[\"num_stopwords\"].max())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "428a009f1a3b00b73ec7d6e8558aebc995e42594" + }, + "source": [ + "Number of punctuations in the text" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "_kg_hide-input": true, + "_uuid": "947abd63c51d74dc33c2891fb1e1b9381d9da23c" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "maximum of num_punctuations in train 411\n", + "maximum of num_punctuations in test 260\n" + ] + } + ], + "source": [ + "\n", + "train[\"num_punctuations\"] =train['question_text'].apply(lambda x: len([c for c in str(x) if c in string.punctuation]) )\n", + "test[\"num_punctuations\"] =test['question_text'].apply(lambda x: len([c for c in str(x) if c in string.punctuation]) )\n", + "print('maximum of num_punctuations in train',train[\"num_punctuations\"].max())\n", + "print(\"maximum of num_punctuations in test\",test[\"num_punctuations\"].max())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "a93e8fd32c2ff7dffd81f62ff3b6b3a5975d6836" + }, + "source": [ + "Number of title case words in the text" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "_kg_hide-input": true, + "_uuid": "82c95fcf5848ca383a6a84501fe74fef371392d1" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "maximum of num_words_upper in train 37\n", + "maximum of num_words_upper in test 36\n" + ] + } + ], + "source": [ + "\n", + "train[\"num_words_upper\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.isupper()]))\n", + "test[\"num_words_upper\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.isupper()]))\n", + "print('maximum of num_words_upper in train',train[\"num_words_upper\"].max())\n", + "print(\"maximum of num_words_upper in test\",test[\"num_words_upper\"].max())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "5bc4c2b642cb8adf12fd6dbb01616079a454d384" + }, + "source": [ + "Number of title case words in the text" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "_kg_hide-input": true, + "_uuid": "b938bdcfe7c418f5b4d57c9fd21c77d8bf4d3f06" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "maximum of num_words_title in train 37\n", + "maximum of num_words_title in test 24\n" + ] + } + ], + "source": [ + "\n", + "train[\"num_words_title\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.istitle()]))\n", + "test[\"num_words_title\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.istitle()]))\n", + "print('maximum of num_words_title in train',train[\"num_words_title\"].max())\n", + "print(\"maximum of num_words_title in test\",test[\"num_words_title\"].max())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "2c81bb79d34d242f74b8ed650a8998efdb29e38b" + }, + "source": [ + " Average length of the words in the text " + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "_kg_hide-input": true, + "_uuid": "3058236ff8702754ee4132f7eb705dd54f354af4" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mean_word_len in train 57.666666666666664\n", + "mean_word_len in test 29.333333333333332\n" + ] + } + ], + "source": [ + "\n", + "train[\"mean_word_len\"] = train[\"question_text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))\n", + "test[\"mean_word_len\"] = test[\"question_text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))\n", + "print('mean_word_len in train',train[\"mean_word_len\"].max())\n", + "print(\"mean_word_len in test\",test[\"mean_word_len\"].max())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c91162602814ba230ab9fe30f9941ac6409133b9" + }, + "source": [ + "We add some new feature to train and test data set now, print columns agains" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "_uuid": "05cae032149a7c79a92a3b2bf80185c483d0e976" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Index(['qid', 'question_text', 'target', 'num_words', 'num_unique_words',\n", + " 'num_chars', 'num_stopwords', 'num_punctuations', 'num_words_upper',\n", + " 'num_words_title', 'mean_word_len'],\n", + " dtype='object')\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
qidquestion_texttargetnum_wordsnum_unique_wordsnum_charsnum_stopwordsnum_punctuationsnum_words_uppernum_words_titlemean_word_len
000002165364db923c7e6How did Quebec nationalists see their province...013137271024.615385
\n", + "
" + ], + "text/plain": [ + " qid ... mean_word_len\n", + "0 00002165364db923c7e6 ... 4.615385\n", + "\n", + "[1 rows x 11 columns]" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print(train.columns)\n", + "train.head(1)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "aa882e5bcdc7d5f440489eff75d1d225269655a4" + }, + "source": [ + "**<< Note >>**\n", + ">**Preprocessing and generation pipelines depend on a model type**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" + }, + "source": [ + "
\n", + "## 6-4 Data Visualization\n", + "**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns.\n", + "\n", + "> * Two** important rules** for Data visualization:\n", + "> 1. Do not put too little information\n", + "> 1. Do not put too much information\n", + "\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "5d991f5a4a9e4fffcbcee4a51b3cf1cd95007427" + }, + "source": [ + "
\n", + "## 6-4-1 CountPlot" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "_kg_hide-input": true, + "_uuid": "1b54931579ed4e3004369a59fe9c6f23b97719de" + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAa4AAAEdCAYAAABUq4NBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAHPpJREFUeJzt3Xu4VVW9//H3BtQgzAuKifdMvmHZr6NoZYamkpVaPVlxNKXSNLTM7gd/kaJRB7L0VEpYmbfOj8pOYVJpdjGPVocg/JmpX43EUFAQpLyhuF3njzk3LTds2Ev2XmtNfL+eZz/sNca8jLmU9WGMOdaYHbVaDUmSqmJAqxsgSVIjDC5JUqUYXJKkSjG4JEmVYnBJkirF4JIkVYrBpeetiNg9ImoRcVCr29LfIuKyiPhFHxznhoj4Vh8cZ2FETNrY4+j5aVCrGyD1RkRcBuycmYe3uB2TgA9k5u6tbEeXiHiaoj2XbWDTM/AfqhsUESOBs4BDgG2AW4CPZuYfWtkuPZv/I0vPA5n598x8uNXtqIADgb8AbwNGAyuAH0dER0tbpWexx6VKioiXA+cDrwY2A/4GfCEzr1zPPu8GvgDsDPwRmNqtvgP4BnAoMAJYAnwXOCczn4yI9wGfK7ftWnLmnMycHBHHUfRqXgasBv4H+Fhm3rWe9uwMfAU4GBgKLAa+npnnlfWbAZ8B3gvsCCwAvpqZF5f1C4GBwKURcSlAZq7zA7Z7j7XrNXA18G/A1uW1ngqcBJwJvAi4CvhwZj5Vd7gBETEV+ACwebnfRzJzVXnssWW7X1m27xbgU5k5Zz3vxXrfv4jYHbgHGAeMp/hv9ABwbn1vMyKGAlOAY4DhFP8Nv5GZXyjrdwCmAUcCLwBuBc7MzBvL92/NserepyPL9+LvPbVfzWWPS1U1E1hO8S/kfYCPAz32KCLiX8p9rgL+D/AlitCo1wEsBY4DRgEfBd4P/N+y/nsUH3r3UQTJjuVxALag+MDcFxgLdAI/iYjN13MN04GtgMMpPrBPKo/d5ZvAO4APlu05F5gWESeV9fuX5/loXXsacQBFr2IscCxwPPBjivf0TeXrE8p21XsnMAx4PfAe4O3Av9fVDy2v7bXlse4Gro2IYetpS2/fv6nAFRSh+F3gW+XwXtc/PGYDbwVOp3jPxgPLyvrBwK+BLYE3A/8C/BS4PiJGdW9QRLwYOBu4LDMNrTZij0tVtRtwfmbeXr7+6wa2/wTw+8w8s3ydETEC+FrXBpn5DEVPocvCiNgTOA04OzOfiIhHgc7MfKD+4Jl5af3rsne2nCJcbl7PNfwoM2/pOl/d/ntQfOjunZl3lsX3RERQfChfkpnLipf8vXt7emkVcHLZm7ojIn5J0YPdKTOfLMt+DhwGfL1uvxXAhMzsLLeZBHw1IiZl5mOZ+aNu78UpFD2gNwH/ua6GNPD+XZiZ3y+3+Wz5XrwBuIuiF3YwsH9mzi23/ytwY/n7OIqe07jMfLos+3xEHEbxj4OP1p1/V+A35b6nrKvNah2DS1X1JYp/bb8PuAH4cWb+cT3b7w38slvZTd03ioiTKYbAdgdeSPF3ZIMjExHxKop/nb8K2I6i9wZFOPUUXP8BXBwRby6v4SddQ1YUPaEOYG4ZTl0GUfRG+sId3YYAHwCyDK36su69kTllaHW5maLHtCdwaxm651L0uIZTvH9DKN6LdWrg/esKeTKzMyKWAjuURfsBD9eFVnf7Ay8GVnZ7T7cAnui27TkU1/6+zHQl8jbjUKEqKTM/B4wEvg+8Avh9REzZmGNGxLuAiyiGBN9CMZR0LsU9tPXtNwT4OVCjGFo8gOJDskZxD6ina7iU4oN5BsUw388i4jtlddffzQMpPsy7fl5BMUzWF1Z3e13roazRz4nZwK7Ah4DXULR7KT28Fw2+f091e91I+wYAd/Ds9/NVFMF8crdtd6YIcUOrDdnjUmVl5l8p7qVMj4iJwKeAnr4bdDtFCNR7XbfXY4D5mXl+V0E5KaDeUxQTDuqNArYHPpOZd5T7Hcg/ew3ru4YlwKUUEyx+CsyMiNOAeeUmu2bm7PUcYl3t6W/7R8TAul7XgcCTwILyPtbewFsy8zpYMwll+HqO95zfv27mAdtExOgeel1zKYZf/5GZSzdwrA+xdkiqTRhcqpxy5tg04L8oZpptTXH/5Pb17HYB8IeI+DxwOfByivte9RI4KSLeBtwGHEUxOaLePcCLI+K1FJMOHgfupfjgPj0ivkwxzDiVojewvuu4kGJyQFLMcHsHsAh4JDP/ERHfBr4ZEZ8GfkcxdLkfsH1mTqtrzxsi4mfAU5n50PrO2UeGARdFxFeAl1DMtLw4Mx+LiCcoJkOcHBELym2/yNpDcfWe0/u3Dr8C/hv4XkR8nGLG4AhgVGZ+i+L+2scoJn18huK+2A4U98buyMxZdceaBNxPMbtSbcahQlXR0xRfDr2EYujnOuBBitmA65SZ88r6fwX+BEyk+BCrdzFwJUUPaD7FRIXJ3baZRTEz8ScUH9CfLsPieIrZcH+muP/2SeCZDVxHB8V9rtsoJgG8EHhz3fDUKRSB+xmKUP4lxdT4+okon6AIs4Vle5rhB8AjFPcIv0sxNDgR1kxweRfl/S7gMoprXNLTwTbi/et+nBrF1PWfUgy/JvAdintmlNP1D6boeV1KEVw/pBiavLfb4Xal8VmaapIOn4AsSaoSe1ySpEoxuCRJlWJwSZIqxeCSJFWKwSVJqhS/x9WH6lYMlyQ1oKcnG6yLwdXHMrPVTZCkSum2duQGOVQoSaoUg0uSVCkGlySpUrzHJUkVs3r1alauXNnqZjRks802Y+utt+6TYxlcklQhq1evZvny5QwfPpwBA6ozaLZy5Uoef/xxhgwZstHHqs5VS5JYuXJl5UILYKuttuLRRx/tk2PZ42oDHbtMbnUT2lpt0eRWN0FqK1ULLYCOjg46Ohp9Nui6Ve/qJUnPawaXJKlSmjZUGBFfAo6heCz3Ppl5W0QMo3ji7J7AUxSPQv9gZi4r93kNxVNpB1M84fX4zFzaijpJaneHHnooU6ZM4cADD2z6uSdOnMgOO+zAxz7W/cHifa+ZPa5ZwBie/YjsGvDFzIzM3AdYAEwFiIgBFI/d/lBmjqR4tHlL6iRpU9fZ2dnqJvRa03pcmXkTPHtNqsxcAdxQt9nvgVPL3/cDVnXtB8yg6AWd2IK6pps7Zk4rTttyo288oNVNkCrpU5/6FIsXL2bChAkMHDiQ0047jT/96U/MmzePVatW8bKXvYzJkyez1157AUUPaYsttmDx4sX84Q9/YPr06YwaNYozzzyTOXPmsMcee3DQQQcxZ84cZs6cCcCCBQuYMmUKf/7zn9lmm20444wzeMtb3sL3vvc9rrnmGjo6Orjiiit49atfzYwZM/rtWtvmHlfZ4zkV+HFZtCt1vbPMfAgYEBHbtqBOktraeeedx4gRI5gxYwbz58/n5JNPZsyYMVx33XX87ne/Y++99+aTn/zks/aZPXs2EyZM4I9//CP77bcf5557LoMHD+bmm29m2rRpzJo1a822jz/+OCeeeCJHHXUUv/3tb7ngggs455xz+Mtf/sK4ceM4+uijOemkk5g/f36/hha0UXABXwMeBS5sdUMkaVPwzne+k6FDh7L55ptz+umnc+edd/LII4+sqT/ssMPYb7/9GDBgAIMGDeLnP/85p59+OoMHD+alL30pb3/729dse8MNN7DTTjtxzDHHMGjQIPbee2+OOOIIrr322qZfV1t8j6ucuLEXcHRmPlMW/w3YrW6b7YBnMnNFRDS1rh8uWZL6VWdnJxdccAHXXnstK1asWPPdr4cffpgtt9wSgB133HHN9itWrODpp59+Vln97/fffz+33noro0ePftY53vrWt/b3payl5T2uiPgCxf2lt2fmk3VV84DBEXFQ+XoCcFWL6iSpUq655hp++ctfcumllzJv3jx+9atfAVCrrft5t9tuuy2DBg3igQceWFO2ZMmSNb/vuOOO7L///sydO3fNz/z58znnnHMA+uzLxb3RtOCKiK9GxH3AzsAvIuLPEfFy4ExgBPDbiLglIn4EUPa8TgC+HhF3AwcDE1tRJ0lVsN1227Fo0SIAHnvsMTbffHO22WYbnnjiCc4///z17jtw4EDGjh3LhRdeyBNPPMGCBQu4+uqr19QfcsghLFy4kFmzZrF69WpWr17NrbfeyoIFCwAYNmwY9913X/9dXJ1mzir8CPCRdVT1GNOZ+Vtgn3aok6R2d8oppzBlyhTOO+88TjzxREaMGMHrX/96tt56a84444w1swN7ctZZZzFx4kRe97rXsccee3DkkUdy2223ATB06FAuueQSpk6dytSpU6nVakQEZ555JlDcTzvjjDMYPXo0BxxwANOnT++36+zoqduoxkVELTMb3m9daxU6Hf6fXKtQ+qdly5ax/fbbN+Vc5513Hg899BDTpk3rk+P11PaIIDN7PdbY8ntckqT2sGDBAu68805qtRq33norP/jBDxg7dmyrm7WWtphVKElqvccee4xPfOITLF26lGHDhnHiiSdy2GGHtbpZazG4JEkAvPKVr+T6669vdTM2yKFCSVKlGFySpEoxuCRJleI9LkmqqHV9laa/tNPXUuxxSZIqxeCSJG2Ue+65h3HjxnHEEUcwbtw4Fi5c2K/nM7gkSRvl7LPP5rjjjuO6667juOOO46yzzurX8xlckqTnbPny5dx+++0cddRRABx11FHcfvvtrFjRf0+EcnKGJG1C+mKd03WtGdqTJUuWsMMO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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax=sns.countplot(x='target',hue=\"target\", data=train ,linewidth=5,edgecolor=sns.color_palette(\"dark\", 3))\n", + "plt.title('Is data set imbalance?');" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "_kg_hide-input": true, + "_uuid": "eb15e8fed181179a086bf0db7dc21eaabb4eb088" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = sns.countplot(y=\"target\", hue=\"target\", data=train)\n", + "plt.title('Is data set imbalance?');" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "be2b936baaa6dcc2d574a861c75584ed04d3589e" + }, + "source": [ + "
\n", + "## 6-4-2 Pie Plot" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "_kg_hide-input": true, + "_uuid": "4a2332f8c87da0a4f8cc31f587ce547470a0d615" + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWkAAAD+CAYAAAD4b/QBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3Xd4VGXaBvD7lOk9bZKQSiBDAoTeBUEY6aCI3RXRz7UvVizbrLu67tp2XdfeFXuhWKKIgAoISocJkEJ6n2QmU0/5/phRERsl4cxMnt915UphJnsPbu4c3vMWRpZlEEIIiU2s0gEIIYT8MippQgiJYVTShBASw6ikCSEkhlFJE0JIDKOSJoSQGEYlTQghMYxKmijK4XB84nA4nlM6x6EcDsefHA5HpdI5CAGopEkCcDgcjMPhUCmdg5CewNCKQ6KU6BX0osO+PAWAE8ACALkAWgGsBHCzy+XqiD7vIgBPRR/3AICBAOa7XK4PHA7HtQBuBJAEYB2AlwC8ACDb5XLVRJ8/AsDfAYwH4I8+7jqXy1UV/d7PHpbpDpfLdXt3vW5CjgZdSRMlLUGkIF8HkBF9+xKR4vw9gGIAFwGYDOCRw57LArgPwPUABgDY7HA4FgD4J4D7AQwB8Gr0Md9zOBzFAD4H8BWAkQBOASACKHU4HFoAr0WfU3NIpn922ysm5CjxSgcgvZfL5epwOBwhAH6Xy9VwyB/dfcjHlQ6H41YAyxwOx2KXyyVFv84AuMHlcq377oEOh+MGAK+6XK6Ho1/a53A4BgC4+ZDvtxTACpfL9ddDnncBgHYAM1wu17sOh8MLQDwsEyGKoJImMSd6RXwtgH4AzIhcNasBpAOoO+ShXx/21GIArxz2ta8O+3wUgH7RIj6UFkD/44hNSI+gkiYxxeFwjAHwBiJjxjchcoU7FsDziBT1d0SXyxX4mW/xWzdZWAAvArj3Z/6s9agDE9LDqKSJ0kIAuEM+PwlAi8vl+tN3X3A4HAuP8HvtBjAOwH8P+drYwx6zGUAJgAMul+uXCv3wTIQohkqaKK0CwBSHw1EAoANAGYBUh8NxCYDPECntK4/we/0LwGsOh2MTgA8Qmb1xYfTPvivkvwHYBOAlh8PxMIBmAHkATgPwsMvlKo9mSnc4HOMA7APgc7lcvuN6lYQcI5rdQZT2LwAtALYhUpgeAPcgUqY7AJyDyLDHb3K5XG8jcmPwluhzzwdwR/SPA9HH7EGkvI0APkLk6vtJADoA7uhj30VkyGVlNNPS43h9hBwXmidNEprD4fgLgD+4XK4UpbMQcixouIMkjOiqwxsArALQhcjCmJsAPKpkLkKOB5U0SSQyIgtfbgBgQmRs+W+ILG4hJC7RcAchhMQwunFICCExjEqaEEJiGJU0IYTEMCppQgiJYVTShBASw6ikCSEkhlFJE0JIDKOSJoSQGEYlTQghMYxKmhBCYhiVNCGExDAqaUIIiWFU0oQQEsOopAkhJIZRSRNCSAyjkiaEkBhGJU0IITGMSpoQQmIYlTQhhMQwKmlCCIlhVNKEEBLDqKQJISSG8UoHIOQY8ADMALTRz+VD3g7//NCviwC80feExAUqaaIkDYAsKeDPE5vqS+RQMAeSbJVDQZ0cDmnkUEgjCyGNHA5rIAhaWQhrZFHQIBRSi54OlRwMcAAAhgEDRv7uYzCMHH0f+RgAwzAAx8mswSQwKnUIPB9kOC4IXhVkVKoQo9b4GY3Wx2i0fobjWxiVqpYxmqr55LQyAJUA3Pih7Ak5YaikSU9hAKQAyBGa6gdIns4SORTMkbydZtnXZZECfovk7TQLNVVGob7aIjQ3clJHO+SAH5CV7UJGpwdrsoA1W8HbM3yq7Hw3l5zqYbR6N2swdrAGk5vR6mpYo2kbn95nJyIl3g4qcdIDGFnhHwgS9xgAfcRO91CxuXGy5O0skDrdqZLXkyo01pmEmkqL0FinF5saIHk7lc7abRiDEXxaBvj0Pj4+O9/Np9i9jF7fzpqsrZzFWsGl2D/hbMkbATSAypscByppcjR4AI5wbdUUqbNjnOhuzZQ6O+zhgxVJobKdKeGD5Zzs9SidUXGMVgdVXj9JUzSkmc/Oa2HN1gbOllzPmq3rVZnZnwPYBxoXJ0eISpr8GqPY3nqK0FR/utjSVCC2t2SGXDtTQmW7LEJdNSBJSueLHywHvk821IUD3er+A1s4i7WBtSU3craUz1RZue8AqFM6IolNVNLkUGaxrWWq0FR/mtjcWCA01GT5v/6iT6hsF49wSOlsCYnPzoNu1MQGVd/CWj7VXsklp37IZ2QvB9CodDYSG6ikezer0NLkFJsb5onNjX3D9dVZga/X9wnt281BEJTO1vswDFS5BbJ29MQGVW5BDZ+WXsklpa7k0/usANCqdDyiDCrp3ic3VF52udhYNyFUuT/Pv2ldZvjAXg4iDZHGHJaFKr9Q0o2ZWK/Kzq/l0jJcfGbO05zZsg4AjTX1ElTSiY+RBaE4XFF2RbixbkRg59b+gfWlyVI7XZjFG0atgXb42C7t2JMrVRnZLs6e8TKfmr4SQFDpbKTnUEknJlbyeceGD1ZcKjTWDfF/s6EgsGGNmWZeJBCWhaZ4SEg/6dQqPju/jE/v8xKflvEOqLATDpV04mDEjvaxQu3BJeH66oG+DWv7hrZ8oZeD9DOb8BgG6gElYcMpsyr47Ly9fHrWC3yqfTkAutubAKik4581VLl/Sbimak7X+k+Lgl+tNtBNv16MZaEZODSkP2X2flVuwUaNY9BdACqUjkWOHZV0fGLEtpbJoZqq63x7to8MfvxuhthQq3QmEmMYvQHG6ac3aoeP2c1nZD/DZ2QtA0C/weMMlXR8SQ6Vl10frK6Y3bW21BHetE4LiWZlkN+mLh4aMs44vYzPzluvKRx4D4AapTORI0MlHfsYoblxarju4PW+XduGBz96xy620DoHcmxYkwWGWWfUa0tG7OIzc/7Hp2W8C1qiHtOopGMXG647eJ6/qvxa/6crBoY2rtXSMmzSnTRDRweM009z8Tl931Tn9bsfNDMkJlFJxx51sOrAVd79rstCH73TV9j1rUrpQCSx8dn5ovmsxXtV+f3fVOf3vxdAQOlM5AdU0rFD7d+/d2nX/r0Xh1a8liNW7OOUDkR6F75PrmQ+++K9qvz+b6n7Fv4dgF/pTIRKOhZovK5dt/j2710sLF+WLVZX0LmTRFF8RpZkOvtil7pgwHvqvoV3A+hSOlNvRiWtHM6zd+ct/gOu3wvLX80WqysZpQMRcijOnimbz77Ype5XtEJd4LgDkfMhyQlGJa2Alr27Zol1Bx8R33kpTyx30bAGiWlcWrpsPu/3Lk3/4qdVef0eAG3udEJRSZ9ATbU1ueF9e95gN64ZJKz9SKd0HkKOhtoxKGi54PKtfE7+9XyK/Uul8/QWVNInQHNdnTZwYO+TfEXZXPG9ly1ygO7HkDjFMDDOWtisP2XWGs2AwVcCaFE6UqKjku5ZTM2mL6/imutvld56PkNqrKNxZ5IQWKMZlkVX7VcXlTyrzu9/H2hBTI+hku4h9a49I+S6gy/ik/f6iVs30VxnkpBUBQNClkVXbldl59/Ep2WsUTpPIqKS7mafv/8um6FVv2A6WDZPeP9VE514QnoDw/TTWg3OuZ9rioZcAsCtdJ5EQiXdjZY9/K8x44oHLFO9/3K2WF5GszZIr8KaLLBdsXSvqsCxVJWVt1zpPImCSrobOO1W9q//eujRvpx0rvT60xY5RFsgkN7L4JzXZph1xgpN4cDLQasWjxuV9HF67t678yYMKVmpX/9hP2nrJrXSeQiJBVxqumy78pZtqvz+/8en2rconSeecbfffrvSGeKS025l7FbLTePysl9QvfRornSwnIY3CImSfV7Gt+7jdFann80azVrOlrxe6Uzxiq6kj8Hdly42z587e1Vy2fbh4meraFEKIb9CM2iY33LRNZ9pikrOB91UPGpU0kfpTxecPe6SC3+3TP3aU9lSQw3NeybkCLAmC2zX3LZb7Ri0iE+xb1Y6Tzyhkj5CTruVmzxn3h8WnXH6rXju4VS5i/aaIeSoMAwsi6+p0o08aakqt+/rSseJF1TSR8Bpt2rPueTSh2YOHXS2+NJ/rTT3mZBjZ5y9sMkw/fQH1QWOe5XOEg+opH+D025NvvZPf35pGCecJK58w6h0HkISgXbUhE7L+Ze/pu5fdDloV71fRSX9K+YVZBX++Z6/v9Znz5YicfN6jdJ5CEkkqvz+IdvVt32iGTB4IWg+9S+ikv4Fl5w0ZurS22590rhyWY5UuZ+m1xHSA9ikFDn5xrs2aoeMmg+gSek8sYhK+jBOu5XJKXSc9+c//ekfqhf/kym1tyodiZCExmh1SLrhzl2agUPP4iy23UrniTVU0odw2q2qjNy8K++6666b+WcezJC8nUpHIqR3YDkkXfeXfbrRE+eyRrNL6TixhA49jXLarar0nNwb76aCJuTEk0S0PXhn/8C3G9+RQ6EcpePEEippRAo6NbPPDffcfffV7DMPUEETogRJROs//1IU+HbDCgDpSseJFb1+uMNpt6rNtqRr//Xww1ernn0oW/J0KB2JkF6N0WiQfNv93+pGjp8GoE3pPErr1VfSTruV1xmN19z30ENXqF56lAqakBggB4Nove/WYYGtmz4AYFY6j9J6bUk77VZOpVZf9o9H/n2Z7rUnc6U2Ok+TkFgh+7rQeu+towM7vlkJQK90HiX1ypJ22q0MgEV/ue/+i00rl/WVmuppoyRCYozk6UDrfbeeFNy9bTmAXntOaK8r6WhBn3vhFVedllO1t0iqOkALVQiJUVJ7K9oevH1SaN/u/yqdRSm9rqQBTCoZO27KtML8ieL6UtoLmpAYJ9RV8553Xl4QPlhxodJZlNCrStppt+aak5LmX3flFXOEZU9alc5DCDkyvs8/Sgps3Xi75PcVKJ3lROs1Je20Ww0Mw1xyzz8fmMW8+Gg6bTdKSHxxP/1QfmjP9mUAtEpnOZF6RUk77VYWwO9vvuvuyabV7/el/TgIiUOCgLaH7xoRLNv1nNJRTqReUdIAFsw565wxxUHPMGnv9l57l5iQeCe2NDKdrzw5M1S5/w9KZzlREr6knXbrCEtyyoSFp049RfjgTdq0n5A4F/h6vTmwad2NQmvTEKWznAgJXdJOuzUVwMLb7rzzZLz+dKrSeQgh3aPjxceyharyJwAk/BTahC3p6HzoiyY4p9symmv604pCQhKIJMH9zCPDQhX7/qx0lJ6WsCUN4CSW41IWX3D+LGHVWzTMQUiCCVeUqYLbN18IoI/SWXpSQpa0027VA5j+h1v/OFT10VsZkGi6HSGJqOOF/+YHd377pNI5elJCljSAszJy83TD0lNGimW7eKXDEEJ6hhzww/vh2+OExroZSmfpKQlX0k67NR9A8c233TZdfvO5JKXzEEJ6lu+zD6zh6oo7kaA3EROqpKOLVs6ZdtqC5KTy3fl0wgohvUPny0+UhKsOLFE6R09IqJIG4ARgWTBn9snCZ6t69R60hPQmobJdmlB52SUANEpn6W4JU9JOu1UHYNLQ8ScZjAcPpEOSlI5ECDmBPG+9UBg+WHGZ0jm6W8KUNCJX0cyiCy88Rfz0fYPSYQghJ1a4Yh8v1FWdDyChDvFIiJJ22q08gBFZBf34ZG97HzkYUDoSIUQBXZ+uLBKaG6cqnaM7JURJAxgHQHv51ddMlj58y6J0GEKIMvwbPjcJtVU3KZ2jOyk6h9jhcBQCeB5AMoBWABe6XK59R/M9osu/Jxot1nCWismX3L3+BHhCei9JQuDbjSWagUPzGZW6Quk43UHpK+n/AXjU5XIVAngUwOPH8D2KAdiuuOHGsUzpe8ndmo4QEne8K99MD+3fe4fSObqLYiXtcDjSAAwH8Gr0S68CGO5wOI52t7pTAXQ57KlFYm1VQt0wIIQcPdnfhdD+veMAmJTO0h2UvJLOBlDrcrlEAIi+r4t+/Yg47dYsAJkjJk1O0VTstfVMTEJIvPGufL0gXF15idI5uoPSwx3HayoA3+mnnz5K3PA5nfxNCAEACNWVjNjadKrSObqDkiVdDaCPw+HgACD6PjP69d8UXQKeD0C26zR9aAk4IeRQQkNtXyg8OaI7KFbSLperCcBWAOdGv3QugG9dLlfzEX6LPACGAcNHWDS1ldYeiEgIiWP+TetyJK9nvNI5jpfSwx2XA7jG4XCUAbgm+vmROgmAb96CBSXy5vW0wpAQ8iPBrRt14dqqRUrnOF6K/lPA5XLtBTDmaJ8XnRudA0DOTUnJEZsbuj0bISS+ycEgxOaGgXAMUjrKcYnX8ZpkAFaNVuczhPy2WN5K6W13CKs6w5ABzDKrcIZVjWdbg/iySwALwMoxuMmuRQr/03/UPNESwEafCFkGhus5XJWiQRjAX+r9aBFkzLWoMN+iBgA80BTAXLMK/bUJuaUuIcckdMCVoz9pWgaAeqWzHCulhzuO1UgAodHTnHZu3y6z0mF+SUVQxKrOMP6TpccT2Xps6BJQG5Jwlk2NJ3MMeDzHgLEGHi+1hX7y3F1+EbsCIp7I1uPJHD1cARHb/CI2+0QM0nJ4IluPTzrDAIADQRGSDCpoQg7jX/9JRvhgxXlK5zge8VrS/QCEhgwenCVXl6uUDvNLDoYlDNBw0LIMOIbBEB2H9V1hGNgf1tz4Jflnn8sACMmAIANhGRAB2HgGPICgDAgAvnvmc61BXJSs7uFXQ0j8EeqqIXa0xfXNw3gd7kgBgJysrExhdY3SWX5RnprFM61BdIgyNAywsUtAYfRq95nWIEo9kcL+Z5+fTvEu1nEYquNwVqUXMoDTLGrkqjlkqWSUesK4ptqHs2xqfNkloJ+G+9nhEkIIIHV2xPUxenFX0tGTwPUAfHpGNkKM3ZPAc9UczrGpcUudD1qGQYGG+/4QtouTNbg4WYNX2oJ4zx3GouQfHyhRG5JQFZKwLM8IAFha68MOPYfBOh5/TI+UuiDLuKXOjzszdHisOYAmQYbTrMJ4Q9z9ZyWkx8g+b1yXdDxefqUg+stFI4kxv8pwplmNx7INeDBLDxPHoI/6x3/lU00qrOsSfvK89V0CirUcdCwDHctgtIHH7sCPfyG93xGG06TCnoAIA8fgT+lavNn+0/FtQnozscNtBRDzXfFL4rGk+wIIqjQaVi2EYv4cw3YhMvekMSxhvVfAVKMKNaEf5qN82SUgW/XT/wxpPINtfhGiLEOQZWz3i8hR/3Bj0CPK2NAlwGniEZBksIiMYwflnx/jJqS3ClfusyLSG3EpHv9dnA0gWDxiVBJTWxXzvx3vaAigU5TBM8A1qRoYOQb/bAqgJiyBAWDnGVybpgUAuAIiVnSGcUOaFpOMPLb6RVx60AcAGKXnMO6QYYwX24I4z6YGyzAYpefxfocfl3p9mGOO2fuohCgifLDcLDQ3DOFT03cpneVYxGNJWwBg8LBh6WxNpVbpML/loayfXuzfnvHzv1scWg6O6I1FjmFwXdovv7wrU3/4MzXL4L4+Mf+PCkIUIdTVQOpwj0Jq+itKZzkW8TjcYQGA7MzMNKGlUekshJAYJ/u7IPm8R7wFcqyJq5KOHjhrBACe53mEwwonIoTEA9nvMyqd4VjFVUkjcoeWAwCO41g5hqffEUJihyxJ8dZ134u34N9NYgDPcRykn05dI4SQn5DEuN0zId5uHH7/S4XjOI6upMnhWJMFXFKK0jFIjGFU6pifCfZL4rGkGQBgOY6N5dWGRBmMLVniZp/VpR08nPH5Ax7X9q37GirK3bJME8h7G1EU1HPPPvddnV4fBsdXKJ3nWMVjSUc+YBkW9HNHDiMeLGfF//7dFADApdiN/YeMtuX1Lej0sHzn7gPlB1a+/da+2vIDvkOfM2jsBNvUi68cITF8vP08kF8hyxJbpUkZxzEqERImoKHzgqN5Ps+ytf3TjH/tqXxHnEPpAEfp+ytpRgbzG48lvZzY0gh8ulzLAFozkDYxt6DftMsvLlHlFtSwyWnlIaP5rU8//nj19i/XB4cOHzqqHdrzWn1CUW1HIHvtgZbMnfUeXpBiebdy8pv2bTvmHf//OH3ADirpo/d9SQuSKIDnAYFuHpIjE646gHDVgQwAGeD5UarCQQtHDxnrKT7jDHfFN5tr3968c8uyFaVvm41G/tyF8wunDR8+VOB1KQ1+2bah2msub+1S+iWQE4gBExPlEo8lLQNAQ0Njc0aKHWJDrcKRSFwSBIR3b+Wwe6vVCFhNOkPe0sEjRi+59RJvh9bYfqDTX/PCC89/tXbjltbCvrmG0+fNKTpjlKMgzOts+92CeWN1p67ZS5tZJTKGQUzc9Iq3kvYDkABgX2Vlw0h7piQ21MbbNEISg2R/F4RNa1XcprW2JMCWkpTSd8zQsaP9s672dGr07Vtqmvc/+MADK10HKr0TRg1LmjtrVomtOCMrwGis25uC5m9qO1VdoZj4mSbdhGOZmPgPGm8l3YnIISXYv3NnuzTrFD/wNZ0UTrqd1NYCrF6h1WCFNhVInZOdXzhzzviTu1Lmedp5bcune8t2P/yfx75sc3eE55w6JfOiyVNKNKZku0dWWb6u85l21ns44RdO3SHxQavifL/9qJ4XVyVd2ugWnHarDwBbvmeXR150XggAlTTpcUJ1BVBdYdADBj3HpV/cf2Dx7y6d6/UYkzobJbbx7fWfb3/74zUfabUabuHcWfl/GDV6oKQ2JLWEWMtX1V7TgRYaz443Vp2qRekMQJyVdJQHgCUcDEoCrwrSFA9ywokihL3bWWbvdrMZMFu0uqw/Dhox5MalF3k6dSZ3ZVeo9oXXX1u/+otNzQW52frT580ecPrI4n4Cr7OVdwiWjTUeXaMnqPSr+FVy0Af/upcgtdcBYKCd9Dvw9h+2ZA7v34Tgto8ByGBUWmgnnAsuOQuS3wP/J49DDvmgGTEPqryhAADfx49BO+FcsAarMi/oKFl0KuhV3AGlcwDxWdJdiO6EF2K4gOY3HkxIT5MDfgib1/Pc5vU2G2BLtiXnjxw6ZqR/+tXeTo2hbWtdS/mj/37kg52u/Z6xw0tsc2bPHpxU1Cc7xGqsO5pD5s01nWpvMCYmEnwvsOF18FnFUE/7PWRRAIQf3yRlTMkwzLkOjMaAcPVO+Ne/DOP8mxE+8DVUAyZClT8Mvg//A1XeUISrtoNNzo6bggaAvCS9ZDdrv1A6BxCfJd0BoA8AOcRSSZPYI7W3Ap+t0qo/W6VNAVJm9MktdJ46fmLX+TM9bpW+dbWrfM+///fExtY2d2jm1EkZi06ZWqIxJ9u7oLJurvOZt9d72LCo3Hi2HPJDqN8P7aRFAACG4wHux1XB2wt++DgtH4Gu9shjWQ4QQ4AYBlgWsiQitGs19KdeeeJeQDfol2pst+pUMXFIQDyWdD2AoQCC7V2+NovRDMnbqXQmQn6RUFsF1FZFxrNZLv2ifkVF5y+e5fWaUzqbwDW9t+GLHa9/+FmpWsUzC+bMyLt69NhB0BqTW0KsZUON17S/uQsnsrIlTwsYnRGBtS9AbKsBl5wD7bizwKh+/pIo5PoSfNZAAICq32j4P3sGob3roR11OkK7P4eq3xgwvPoEvoLjl5+sdwM4qHQOID5LugaABkDw8/XrdxcMHDpK2riWzowi8UESIZTtZJmynWYTYDZrtFlLBw0vWXLThd5Onan9oD9c9+Lbb35Zum5DU15Wpu6M0+Y65o8sLgzzOluVRzRvrPbq6zsDPZxRgtRSDe24s6FLy0fgq9cR3PYRtCPn/eShQp0LYdeX0M+9AQDAqHXQT78KACAHuxDc9hH0zsvgX/cS5KAP6sHTfjS2HavMWlUbQPOkj1UDgDAArP9wVf1F99/XiY1rkxXORMgxkYMBCFu+5LktX1ptgDXZYssfPmTMSP+0q7ydGn3b9sb28sceffTDbbtdnaOHDrbOmTNrUJojJyfIaWy7WoLmzTUedWege8ezGYMVjMEKPi0fAMDnD0No28c/eZzYWgP/upegn3E1WO1P99QPfvsBNENnInxgMzh7AVT5w+H75HHwM//QrXl7gknDtyqd4TtxV9KljW6f025tA6ALB4NSl0rTqQWopElCkDragbUfatRrP9SkAMmnZmb3n3bK+Ine82Z4OlS61rX7Du69++nn3q5vagnOPGVi+gXTppVozcl2H9TWLfU+87Y6DxcSj2+/EVZvAWuwQXQ3gLOmQ6h1gbWm/zintw2+T5+AbvJF4Cz2n3wPsaMJUlc7+MxCBNtqwGgMAMNExqpjnIZnYdWpYmYpc9yVdFQjgHwAcpPXV59ntuZLnW6lMxHS7YS6aqDuNb0e0OtZ1n5+wYABZ//uVK/HkuJpAd/03qYNO17/cPUnLMMyC+ZMz71y7LhBjNaU3BZmLRtqukz7mr3Msayp0Y4/G/41zwKiCNacAt2k3yG0Zy0AQF00CcFvVkIOeBH4YlnkCSwL42m3fv/84Ob3oBk5HwCgKhgJf+njCG37CJoRc47776Snjci2BrOsumVK5/gOE4/b7Drt1hEAzgHQNXzS5JTrxpZcEl69KuZPDiekOzEaDbiioUJw0EivR29xVweE+pfXbd720edfNWXaUzVnzJ9TOGDgYEdYpbdVeyXLxmqPvrajh8ezE8DSaYX7zhyWNQjAUW3O4nA4/gngDAB5AAa7XK6d3ZEnXq+kdyM6qP/tus9bQuec6WawKv03nkNIQpGDQQhbN/Lc1o1WK2BNMlvyhg4ZM/yuv17h7dQY2nc2d1Q8+cTjH2/ZvrtjREmxZd6c2QPthXl5IU5j3d0aMn9d49F0+GN/+OFE62PRVeAoCzrqXQAPA1jXnXnisqRLG91+p93aBMAsyzI6GK7FynHpdFIL6c2kzg5g3cca1bqPNclA8inpffpNOWnchK6zpnk6VPq29QdqXPc89+LbdY3NQeek8Wnnneos0VlTMvyM2vJNfcC8ta6TDwq9e/9su0kDu0lzTItYXC7XegBwOBzdmikuSzpqP4AxAMKfrPl8yzmjJhYKG9bE12RMQnqQ2FALfPCmXgfodSxrPye/cMDC86Z6vbZUTyujblqxdcvOV1d++pkkS/Lps6fnXDl+wmBGZ0ppC3PmjTVes6v1nPDnAAAVd0lEQVTp2Maz49nM4vT6glTjU0rnOFQ8l/QGAJMAhD94fVnlgieeaGE3rMlUOhQhMUmSIBzYy+DAXpMRMJnUmswlRUMGXXHduV6P3txRE5DqX13x/tcrP/uiISMtRXPGvNn9Zw8f4hBUelttl2zZUO0xVLv9Sr+KHjcow3wAQJ3SOQ4VzyXdHH3TybKMPXUNu0v65GaItVW05xIhv0EOBSFs28Sz2zZZLYDVZjTnlpSMGv7Xv1zu6dQY2ve0dlY989RTn2zausM9pNhhnj93dnHmqL75YU5r3dsWtmyq6dS0+xJrPDvVqEaGRdut48ndIS5nd3zHabdOBDAHgN+SnKx65K9/vkx84T80Z5qQ48TZMyEPHefzZeV7O1T61q8q68qeXfGpq7Kmzu+cOC7NOX16iTEpNcPPqK3fNgTM39Z18oFwfI9nXzQmt+GqSQWjAVQfz/dxOByVAOb09tkd39kAwAkAHa2t4WZOU5us0yfL/pjYq5uQuCU21gEfvaXXAnotw6QtzOs/4LSzJnV5bWmdraym+YMdW3e+svKTNaGwIJ82c1rWZSdNLGH15pQOgbdsqusy7WnwsmIcXQByDIMxeUk7cBwF7XA4HgGwAEA6gE8cDkery+UaeLzZ4vpKGgCcduu5AIoBiCXjJiTd6Jx4sbDqTToIgJCewqvAF5WIocGjvR6DtaMuLNe/9uW325d/uq4+OcmqPmPe7IJBQ4YVSWpDUq1PNm+s9hqr2mP7wmlGkb3jD5P7zUs1atYqneVwiVDSNgC3AvABwONPP7NI9djf8hQNRUgvwhhNYAePCgUdJd4OjaF9n9t38NnS9Ts2fLO9fWBhgem0eXOLsvIL+oY5ra2sPWzeVOPRtnbF1iG+Dy8c8sX4/OSTlM7xc+K+pAHAabdeg+j+HRdccdXAU4Ntpwnbv473oRxC4hKXaoc8dJzfl13g7VDrWzcebNz33MrVew9UVfsmjx+VMnPGzBJzij3Tz2isWxv9lm9rPbwvrNwah9G5Nv8tTsfibJv+NcVC/IpEKeliAIsBdLEcxzz5zDOXMP+5uw8S4LUREu/43H6yOHx8lycp3dPOaVo+2rV/14srSssDgaA4f/rUrPGTTi7hDZbUDpG3bKrtMu1u9LLiCZygff9pg7dM7p86GkBM3vlMlJJmANwGQAUAp55+Rs4F/bPPFlav0CubjBDyIzwP3jFYDJWM8XqMto76sNz4xsZt2979+PM6q8WkOnP+nILBw4YXiyqDrTEAy4Yar7GitefGswvTjMJdswfe1DfF8FCP/Y8cp4QoaQBw2q1DAZyH6Nj0v596+hzj8w87aKYHIbGL0RvADRoZDgwY4u3Umdr3d/irn1/91Y71m75pdRTkGRfMn1uU16+wIMRqrfvcgmVTTae22dt949l3zi7eObM4fQSOba+OEyKRSpoBsASADYDct3iQ6faLL7xYWPZE/Jx+SUgvxyWnQR461u/P7e/tUBvaNtc07X921eo9ZeVVXZPGjEieOWtmiSU1vU+Q1Vq3NQbM39R2qrpCxzae3ceilf9x2uD7CtNMt/72o5WTMCUNAE67NR3A9YheTd/xrwen561+Z4zYWEerEAmJQ3xOXwjDxnV1pWR2tnPaltLd5btfWvVJeaenS5h76pTMiZOnlKgMljSPrLJ8Xesz7WzwcMIRjmf/fd6gndMcaaMBxPR694QqaQBw2q0XACgCEDaYzfx//vXPS+XH/5GmdC5CyHHiuMh49pAxXq/R1tkoso1Pla7f/MHaDY3JNqtq4bxZfYeOHDVQUhuSmgIwf1XtNZX/wnj2xIIUzx9OLrg8L9nwygl+FUctEUtaj8hNRAEALr3uhqEnuWtmiTu20GG1hCQQLrefvH/G+dvm3/L3TwEEEP2ZB4D++bmGBfPnDOhbOKBfmNfZDrgF88Zqj67JG4SaY/HvM4d8OjzbNk259Ecu4UoaAJx26zRElov7GYbB/559fpH6qfvz5EBM/6uGEHIUUv7ywLYyk33c5IWLbQBGInKknh2ABkAXolPqGIbBuBFDkmbNmjk0r/8AfVpqimFgummOXs0fUC79kUvUkuYA3ILolLycQofhruuWLBaffoA2XyIkARhmndFsPvOis/i0jDWHft1WPF6FSFmPAJAFIAUAi0hpCwD+3r77y7g6HSQhSxoAnHZrPwCXInpTYOGixYVz7eb54uqVNHeakDjGpqZLKbfd94KmcODi33qsrXi8DpF7VMMArGvf/WVZjwfsZglb0gDgtFvnADgJkfEq3P3gwzOz1y4fKVZXssomI4QcC0ajQcpfH9qoHTLqZABBpfOcCIleVisB1APgAOD2pTd+GDp9UQ2j0SibihByTGxX31amGVCyAL2koIEEL+nSRrcM4OnvPhfCYfnv9973JnveFW0KxiKEHAPjwgsb1EUlVzIaTUwdb9XTErqkAaC00e0F8BIAPQCU797p+Wjrjk/5SdNpqgchcUI9bKzXMHnmQ6qM7E+VznKiJXxJA0Bpo9sF4AsAWgB45cnHd1fnDtjJ5vWPq7u8hPRGbFqGZLvwiuXq/P73KZ1FCb2ipKOWA2hC9DX/+fprP/DOPvsAm2pP3DunhMQ5RqNF8nV/3aguHHiR0lmU0mtKurTRLQF4MvopI4mifNM1V78eOveKg6zJomQ0QsjPYRjYlvzZpS0ZuQAxvEtdT+s1JQ0ApY1uD4D/AlADgN/rFW9deuOr8uJr62nGByExhGFgu+aP5dpBw88B0KB0HCX1qpIGgNJGdwOAZwDoAKC1oSF4xz1/e4W99KYmqNTKhiOEAAwDy1W3VmqHjz2TS07dqnQcpfW6kgaA0kb3PgCvI1rUla493nsefOhl/tIbW8BxyoYjpDdjGJivuPmgfuSEhXxq+jdKx4kFvbKkAaC00b0FkZuJOgAo27a18/7HH3+Fv/TGVrBU1ISccAwD0xU3HzSMnLCQT7VvUTpOrOi1JQ0ApY3u9QA+RnQO9Y6NG9sfeeHl1/jf39hKQx+EnEAMA9NlNx00jppwJm/P+FrpOLEkoffuOFJOu3UGgCmIbsZUOGSo+dbrrz8Xzz6YLns9yoYjpBcwXXZTtXHsyWfyaekblc4Sa6iko6JFfQqiR2+l9cnS3nPvveeqXnksW2pupOO3COkJHAfT5UsPGkeMO4e3Z36ldJxYRCV9CKfdOhbA6YheUeuMRu4fj/znTPMHrxeIFWW8sukISSysyQLjNX/cYyoZMZ81WfYpnSdWUUkfxmm3OgAsRmSXLZnlOOaeBx+enbn9q0Hi1o00mZqQbsBl50n6S2/YYB0xbiaATqXzxDIq6Z/htFszAFwJQEb0CJ6ld9w1aVBXyxiBDg0g5LhwIyYEDQsvfMNSMuIiALR/zm+gkv4FTrvVDOAaRGZ+hAFg8dXXlEzJSp8qvPWcGfT3RshRU807t8Mw6dR7TEWD71c6S7ygkv4VTrtVC+ByRA63DALApBkzMxafc/Z85uXH7FJ7q6L5CIkbvAraS65tMA0dfaE2J79U6TjxhEr6N0QPtV0EwIHoDUVLcrLqjnv/cZrt6zUF4jdf0Tg1Ib+CtSVDd/nSMuvwsdNZvaFS6Tzxhkr6CDjtVgaRsxJnI3pDEQCuXHrLqLHpyeOF15+2QhCUjEhITOLGnBzQzFq4OnnkuLMQObGbHCUq6aPgtFvtAP4PgAHRrROHjB2XtOSqqxawrz2VKTXU0HxqQhDZB5o777JWtq/jj/bhox9XOk88o5I+Sk67VQXgLAAliA5/aPV67vZ/3D8ro3x3kbj2I52iAQlRGNe/WJRPu8DF9XVMT8/JrVE6T7yjkj5GTrt1OICFAAREp+md+3+/L54xctgp0rInkmk5Oel1VGpwCxZ1BHL6Ptd3svN6RH8uyPGhkj4OTrvVgsjwRwqisz/65PfVL731tjm2fTtyhc9oTjXpHbj+xaI499wKr8E8v2jshN1K50kkVNLHyWm3sgDmApiAyPCHDACzzjw7b+Hsmady779iFw+W9+rdBkniYnQGsKdf0NGRnP7q1zt2XXnhTbdQoXQzKuluEl2leB4ic6p9AKDSaNibbr/jZIeGK5HefsEqB/yKZiSk27As+FPm+L2OIWWNMrvwpNlz9ysdKVFRSXej6FS98QBmILJXdxgA+hYPMl1//XVzTDs25YhffKpVMiMhx4sbODwcmjyrcbOr7M7H7/3bU6WNbiqRHkQl3QOcdqsOwJkABuOQuaELFy0unH3ypCnMO8/bpXqarkfiC2vPhDz//Ja9Le1vP/3vR5a8unV3QOlMvQGVdA9y2q3ZiAyB2AAEgMh0vaW33zmlQMsVycuXJdHSchLrGJ0B7PzzOuo0xi3vLV/+u7teXFandKbehEq6h0VvLE4GMBWRm4oCANizs7XX3nTztMxwV4G8/DWr5KXdGkmM4Tjwp8zxdxQUV3y07ovLl/zjgXVKR+qNqKRPEKfdakDkQIHBiKxWFAEgu19/w5Lrr3emedryxFVvWOQur5IxCQGj1oCbNrfLk92vYcOOXfe/+MiDT5Y2umnOs0KopE+w6NzqMwAMQGQIRAIiNxevvOqqaald7lx51RsWurImJxqjN4CbcYanNcle/94HHzy25r13/1fa6KZxZ4VRSSvEabcmI7JisQCHlHVOocNw1ZIlU9ODXfnyytetUke7kjFJL8Bak8DMOMPdqDXVvPLqq09s/WLd86WNbrpKiBFU0gpz2q2pAE4DUIjIYhgJiKxcvGLJksl91Hweu+6jJHHfbk7JnCTxsKnpwKwz22pEVLz43PP/dm395o3SRrdP6Vzkx6ikY4TTbk1CpKwdiMyvFgBAo9Wxv7vyqpJRRQOG6sr3pIlrP9TJwaCSUUmc44tKRHH8tPbyzq69zz35xIPV+/etLG100/+pYhSVdIyJjlnPADAQgBbR1YsAMGrK1NRzzzpzUlLQl8msXp4k1lUrFZPEGdaaBHbKLI8ntU/b5p27vn7rxecf62xvX1va6KaN0GMclXSMctqtPIARiBw2kIFIWUsAYE1JVf9+ybVjHOlpA1TbNqYIm9apIdF5nuQwLAd+xLiwMGxca5XbU/fKSy+u2rd92/sAttBsjfhBJR0HovuCTAfQHwCH6MIYhmEw86xz8mZNmzrO5HWnMl99ZhXKXbSSsZfjM7IgT57ldhusrZ+sW7dh5asvfyBJ0ielje5GpbORo0clHUeiB+OeBGA0gCRElpzLQOTcxTMXLR44bIBjoLGrIxlfrbaK5WVU2L0EazSDG3uyP9C3qG1vXUPFS08/taKx+uCnALbSkEZ8o5KOQ9GNnAoATAGQi8jY9ferYCzJyaqzL7p40BBH/4FGrzsJG9ZQYScg1pYMdtyUrmBmXnutt6t5+fIV67d8/tkaAKtLG91upfOR7kElHeeiY9dFAMYiUtgaHLKpkzUlVX32RYsHlRT2KzZ63UnMV59ZhYp9VNhxis/OA0ZN8gSS7e2Vre0Nb7/5xtd7v9myE8AaAGU01px4qKQTyCGFPQ5ADn6msM9ZfPGg4n4FhUYhZFVVHzBLWzfpxBYaqoxZPA9+4HBRHjLa7dHo23eXVxx8743Xt9WWH3AB2ARgZ2mjO6x0TNJzqKQTVLSwBwIYg0hha3HIGDbDMBgyYWLyjJkzB2WnJGXpQwErt2+XWdq+WU1L0pXDaDTgCwdJ0sDhnUG90dMhM+7Pv/hy3yfvvrMr4OuqBLABkStmGmfuJaike4HoCecFAIYD6IPImYwsDrnKZjmOOWnG7PSpp0wpSdNr7fqg38Lu+sYs7N7Ky0HavqGnMEYT+KIhguQo6fRrdJ3tYbHtq01fl69Zuby2s72tFkA5IsVcR5vr905U0r2Q027VI7KycQiATABWRK6wvz/fS2c0ctPmL8gZN2ZUsUXF23Ri2MQ3NRiYsu2GcOV+QKALuaPGMODsmWD6DwxKBQM8Pk7V2ezzN61Zu7biy48/rgv6fS0AmgDsBrCrtNFNR84TKmny/SrHwYiMZ2cAMCOyleqPDmXsWzzIdNLUqbmDHI4CIwuzVhKMfFuLjinfYxAq9rG0zeoPWFsyuNwCSc4v7BLMSf4Ax3X5Gd5bXVfXsH79+rpv1q6pl0SxDUA9gB0A9pc2urt+49uSXohKmvxIdHpfMiIbPvUDkIrInGwtInuK/GjsI6ugn370pJMzSwYO7Jtk0CVpREGvFgUt5/NqmPqDWjTUqYWGGsi+BOwfhgFrTQJnz5TlvEKfZM/0B1i+K8ByXU3t7uatO3dVbl67xtNUUx0EEATQjEgpbwVQSftlkCNBJU1+k9Nu5QCkITJEkodIaVsB6PDD2PaPpn4lp6drHEOHW/sXFqbl5+RkWAx6s0YSdSpJ1KolQce0NquZ+oM6uaWJlbydkDwdsTWEEi1gPsUOOdUeklMygrLVFg4zbDDMcMEwywaDYAJt7W73gaqquq/Xr2ur3LM7JMtyCIAHQDuAVkTGlKsAtJY2umntPjlqVNLkmESvuK0AshFZrm4DYIy+GQCoECnwACIn0XyP5Tgmz1Fk7DdosK0gLzfVarGYzGazUcNzGk6WeV6WVJws8ZwsqzhJ4jnIKsbv4+Dt4OH1cIwkMBBFBrLMQJQYRpYYSCIgSSwjy5AlEZBkQBIBWQZUKsgarQSNVoBGJ8pavQStToLeIEkcL0gMK4oMI0gMI4gMKwgsGw7KCLS2tbdX19U1VVZUtJfv3tXZcLBKkGVZg8j4vYjILyd39K0CkUJuLm10/+j1EnI8qKRJt4tO/7MgMoskC0A6AFP0zYjI/G0OkRJn8cPWrAIOuyIHItMFTVabKi0rW5dkt2t5nmdYlmM4nmdZjmU4jmc4nmcZlmU4nmc4lmVVHMdyPMdxLMv6AsFgl8cT8nk94a7OzrC3syPs7XCH3c0toWDAL0UzqKK5vivgECIl7Iu+70Lkpl4DIlfIHaWNbv/hWQnpblTS5IRz2q0aRIZKdAD0iFyFW/DDEIom+qY+5GMWAPMzbzjkz77D4IeyFfHDLwARkV8IoUPehxAp4k5ExovbAHQACNCUNxILqKRJQogOvwA/FLZMY8AkEVBJE0JIDGOVDkAIIeSXUUkTQkgMo5ImhJAYRiVNCCExjEqaEEJiGJU0IYTEMCppQgiJYVTShBASw6ikCSEkhlFJE0JIDKOSJoSQGEYlTQghMYxKmhBCYhiVNCGExDAqaUIIiWFU0oQQEsOopAkhJIZRSRNCSAyjkiaEkBhGJU0IITGMSpoQQmIYlTQhhMQwKmlCCIlhVNKEEBLDqKQJISSGUUkTQkgMo5ImhJAYRiVNCCExjEqaEEJiGJU0IYTEMCppQgiJYf8PJ99SvrE6NOAAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "ax=train['target'].value_counts().plot.pie(explode=[0,0.1],autopct='%1.1f%%' ,shadow=True)\n", + "ax.set_title('target')\n", + "ax.set_ylabel('')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "_uuid": "ee5a0017d867f90a5b89a78866582e73ceef5a05" + }, + "outputs": [], + "source": [ + "#plt.pie(train['target'],autopct='%1.1f%%')\n", + " \n", + "#plt.axis('equal')\n", + "#plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "fbe8c50bcc1b632f42dd249e27a9a7c14517fd29" + }, + "source": [ + "
\n", + "## 6-4-3 Histogram" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": { + "_kg_hide-input": true, + "_uuid": "e41be26587175bee1bfe63e43eca1dd3f445c082" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "f,ax=plt.subplots(1,2,figsize=(20,10))\n", + "train[train['target']==0].num_words.plot.hist(ax=ax[0],bins=20,edgecolor='black',color='red')\n", + "ax[0].set_title('target= 0')\n", + "x1=list(range(0,85,5))\n", + "ax[0].set_xticks(x1)\n", + "train[train['target']==1].num_words.plot.hist(ax=ax[1],color='green',bins=20,edgecolor='black')\n", + "ax[1].set_title('target= 1')\n", + "x2=list(range(0,85,5))\n", + "ax[1].set_xticks(x2)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "_kg_hide-input": true, + "_uuid": "a7d0a12e7f719781cd09e0d6df6ae1e780a6b1ab" + }, + "outputs": [ + { + "data": { + "image/png": "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7LMPe+65Jw8++CAnn3wye++9N/vvvz/Nzc3dbvPWW2/lM5/5DAAtLS28/e1v53/+538AuOyyyzj33HMBuP/++znggAPYe++9OeCAA7j//vuX2f6ZZ57Jhz/8Ya666ioWLlzI9OnT2XPPPTnkkEN46qmnOrZ38803s/fee/OhD32Ivfbai7vuuquO76AkSZKGsi9+8Ys8++yzHHnkkbzrXe/isssuY/r06bznPe9h6tSpHHzwwTzyyCMd8zc1NXHKKafw6U9/mm222Ya77rqLF154gSOPPJJtt92Wfffdl/POO48DDzywY5nHHnuMww47jB122IH3ve99/OIXvwDgRz/6EbNmzeLb3/4273rXuzjyyPr3qJbUd30KIzLztsx8urv2iBgFHAx8p16FDVZjx47lv//7v/n617/OGWec0adlXnzxRaZOncrVV1/Nfvvtxyc/+UkOPvhgZs2axVZbbcWVV17Z7bLbbbcd9913H4sXL+aOO+5gm2224Y477gDgzjvvZKeddqK1tZXp06fz+c9/nlmzZnHMMccwffp0WltbO7a/9dZb87Of/YwDDzyQiy++mDXXXJPrr7+e888/nz/84Q8d27vgggs47bTTuOaaa7jmmmvYaqut+vFuSZIkaVVy1llnsd5663HJJZdwzz338OlPf5qdd96ZG264gTvuuIMtt9yS4447bpllrr32Wo488kj++Mc/MnXqVE477TTWWGMNfve733HmmWdy9dVvdtZ+7bXXOPzww9lrr724/fbbOe+88/jKV77Co48+2nFi7lOf+hT33HMPl1xySdUvX1KNet1N45+AOZn5xx7m+VhE3B8RN0bETnXa7krnAx/4AADbbLMN8+fPZ9GiRb0uM2bMGHbZZRcAttpqK9Zdd1222GKLjue1PRM6W2ONNdhss8247777uP322znqqKO45557aG1t5YEHHmDbbbfl8ccfZ7XVVmOnnYq3/d3vfjerrbYajz/+OACjR4/m/e9/f8c677rrLvbbbz8Axo8fzx577NHRNm3aNL72ta/xrW99i8cee4yxY8cux7sjSZIkLWu//fZj7NixjBo1iqOPPpo//elPLFy4sKN9t912Y+rUqQwfPpyRI0dy4403cvTRR7PGGmuw6aabss8++3TMe8stt7D++uuz7777MnLkSLbcckve9773cf311zfipUnqQb3C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8SzQbTFp2xb/36ct2xERERERERGRFUd7TmApIiIiIiIiIvK+FIwQERERERERkbpq0zANERERERFZeg3TpzF/1gwAeg0YyKrrbdDJORIRqS/1jBARERERqbP5s2Yw/twzGH/uGe8FJUREViYKRoiIiIiIiIhIXSkYISIiIiIiIiJ1pWCEiIiIiIiIiNSVJrAUEREREVmOaHJLEVkZqGeEiIiIiMhyRJNbisjKQMEIEREREREREakrBSNEREREREREpK4UjBARERERERGRulIwQkRERERERETqSk/TEBERERHpIvSkDRFZUahnhIiIiIhIF6EnbYjIikLBCBERERERERGpKwUjRERERERERKSuFIwQERERERERkbrSBJYiIiIiIisATW4pIl2JekaIiIiIiKwANLmliHQlCkaIiIiIiIiISF0pGCEiIiIiIiIidaU5I0REREREVnCaT0JEljfqGSEiIiIisoLTfBIisrxRMEJERERERERE6krBCBERERERERGpKwUjRERERERERKSuNIGliIiIiMhKTJNbikhnUM8IEREREZGVmCa3FJHOoGCEiIiIiIiIiNSVghEiIiIiIiIiUleaM0JERERERFqk+SREpKOoZ4SIiIiIiLRI80mISEdRMEJERERERERE6krDNEREREQ6WNXVXd3cRUREgnpGiIiIiHSwqqu7urnLiqRh+jTmjXuaeeOepmH6tM7Ojoh0MQpGiIiIiIjIUtN8EiLSFgpGiIiIiIiIiEhdac4IERERERFpV3okqIi8H/WMEBERERGRdqUhHCLyftQzQkRERGQlNbv3WrwwaQbr9u3NBmv3qVsawLp9e9M8VVYW6jUhIqCeESIiIiIrtNm91+KpSTOY9urri6TNevtd/uPXD/PKa2/VNa2l9Cqfi8urrDjUa0JEQMEIERERkRXakoIDyxMFKkREVi4apiEiIiIiy7VZb7/LGXc9DMBFR+zRbHiHhn6sWDSEQ2TloWCEiIiISBe3pHkaVnTLGqhQEGP5VA3hABj+/fObBSMUqBBZsSgYISIiItLFVQ3yi47YY6ULRizJkgIVCmJ0PUsKVIhI16NghIiIiIhIoSOCGNKxltRrQj0qRJZPCkaIiIiIdAEr81CMrqIjelsowNE6S+o1oaEfIssnBSNEREREugANxejalrW3hXpidKy2BCqqdAUxRJaN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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "f,ax=plt.subplots(1,2,figsize=(18,8))\n", + "train[['target','num_words']].groupby(['target']).mean().plot.bar(ax=ax[0])\n", + "ax[0].set_title('num_words vs target')\n", + "sns.countplot('num_words',hue='target',data=train,ax=ax[1])\n", + "ax[1].set_title('num_words:target=0 vs target=1')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "_kg_hide-input": true, + "_uuid": "7870ad9dc4a007463301513963d6a2c1fe978aa4" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# histograms\n", + "train.hist(figsize=(15,20))\n", + "plt.figure()" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "_kg_hide-input": true, + "_uuid": "e065ebff5374a9ab83df9c099a05962eb3645934" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "train[\"num_words\"].hist();" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "a0df20cff46a2bcdeef476e797d1535fd66850c4" + }, + "source": [ + "
\n", + "## 6-4-4 Violin Plot" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "_kg_hide-input": true, + "_uuid": "fe8ca6c82ce44d745ad1ebc942826cf03e2d9895" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.violinplot(data=train,x=\"target\", y=\"num_words\")" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "_uuid": "8436fb0e0a159e9136a44dcd3eb9aae65a4a3b8b" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.violinplot(data=train,x=\"target\", y=\"num_words_upper\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "b08771239bf613afa9f89457fdf25c044279940e" + }, + "source": [ + "
\n", + "## 6-4-5 KdePlot" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": { + "_kg_hide-input": true, + "_uuid": "92f2ce0f1ff05002d196522a6a62579f0dba6ef3" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.FacetGrid(train, hue=\"target\", size=5).map(sns.kdeplot, \"num_words\").add_legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "a38e752250257db85554f00b9b440e5d968d4c7a" + }, + "source": [ + "## 6-4-6 BoxPlot" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": { + "_uuid": "ede2021504e4c4d9eb53c9428f643f11e827f666" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "train['num_words'].loc[train['num_words']>60] = 60 #truncation for better visuals\n", + "axes= sns.boxplot(x='target', y='num_words', data=train)\n", + "axes.set_xlabel('Target', fontsize=12)\n", + "axes.set_title(\"Number of words in each class\", fontsize=15)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": { + "_uuid": "05a3de95dca3933c118bbaca719a7bd6e4c007cd" + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAEeCAYAAACg8JNZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3XucVVX9//HXABoIWjMIkQgYfuVjGXkhyxsWihSmlZcy+KFpX00yL1mJaWV2sWywm4nBN7MoHSo1za9FIgomkn2/+hAR/faRGGW4KcigiQTEzPz+WPvImcPMmXNmn9l7D/N+Ph7zOLP22pfPObPnfM7aa521q1paWhAREemsXmkHICIi3ZsSiYiIxKJEIiIisSiRiIhILEokIiISixKJiIjEokSSADO71sxazOz+NuruNLOFCcbygSiWdyV1zHKY2TvM7BEzez2K84C0Y+oq0XnxctpxFDKzhWZ2Z9pxlMPMzo3OlwFdsO9u93okTYkkWRPM7Mi0g8i46cBbgI8ARwPr0g2nR7oIuCrtIKT76JN2AD1II7AG+ArwsZRj6TJm1tfdt8bYxcHAve7+YKVi6onMrDfQ2923l7utuz/bBSHJbkyJJDktwHXAHDMb7e5Pt7WSmV0LXOzu+xYsbwEucfebovILwJ3Ay8BlwF7ALcCXgImET/bDgQeB89x9U8Gh9jOz64FxwEbgO+4+s+CYY4FvA0cC/wJ+D3zB3V+L6s8FfgG8D6iNHr8DfKud53YY8H1CS2Mb8Kdofy9Fl7Cej1a93MwuBx529w+0s68W4PPAW4ELCK/vHdH+tiX8WrbLzE4jfLofDWwB/gZ81t1X5q1zOPBT4N2AA5e6+yN59ecAnwHeCVQBS4Ar3P3xvHV+CbyL8Pe6DhgFnGBmTwM3ACcDNcB64H53v6BIzAuBl939zKh8LXAxcFKxONvZV1/gm8AkYDDwd+Aqd/9TOc8vWu944BuE87EJeBK43N2fzFvt7Wb2A+AYYBVwtbv/voMYewPTgPOAEcAGYL67n9vO+gcD1wLHAgMJ5+3PgBvdvTlaZw/gu8AnCOfoRsLf/ix3325mb6HMv0uW6dJWsu4AlhNaJZXwSeC9hH+AWuALwA8Ib+RfA6YC7yec0IV+DiwFTie8of/UzE7JVZrZscB84EXgTMKb9smExFFoDvDfUf19bQVqZoOAhYQ36cnAJVFsD5jZnoRLWEdHx6uLfr+og+f/RWA/YArhzf5CQiLojDivZZvM7GxC8l1BeEM5D3gOGJS32l7AbGAWcAYhwf7ezPbKW+cA4FfAxwmv3SrgETMbWXDIA6LYv0tIgM9Hz+E44HLgg8DVhKRbrlLibMudwLmEDxinAv8L3Bt9qCj5+ZnZBwiJ/N/Ap4CzgEeAoQXHqwPuBU4j/K/9xsz27yDGWYQE9TvgFMJ5Vex5DSUk0osI5/zPou2vzFvnKuD/Ec6dkwj/P68CvaP6Sv1dMkEtkgS5e7OZfRf4uZld4+7PxdzlVuDj7t4E/NnMPkp4gz7I3Z8HMLNDCf94Uwu2nevuV0e/329mBwJfZWciuB5Y7O5n5TYwszXAg2b2LndflrevG939xx3E+sXo8YPu/s9of8uBx4Az3H0O8JiZbQPWuftjJTz/F/I+Nd4fJb/TCW+m5YrzWu7CzHoRXsO73X1SXtW9Bav2Az7v7g9F260jfNI+HvgzgLt/s2C/DxCS3hTCp/2cgcB4d1+St/57gRnu/tu89W7rKP42dBhnITM7Efgw8AF3fzhaPM/MRhE+TH28jOf3XeApwvmTe8Nt67g/dPdbo309AbxESA4z21g317r4T+Ayd78xr+q3ba0fxfsgIalhZlXAIkLiuYCdHzTeC9S5++y8TX+X93ul/i6ZoESSvNuArxM+sZwXc18Loze+nH8ANbk3vrxlg8xsz4Lr5XcX7Ov3wI1RM/9NhBbBJWaWf44sInwiHAPkJ5I/lhDre4F5uSQC4O5/iy4rHUdo1ZRrXkH5WeA9ndgPxHst22KE1lJbLbh82wkttZxc/8Qbn6LN7B2ET/THEC4P5Ywq2Nea/CQSWQJcYWZNhMs1nf3w0mGcbRhPaGE+WnAePUhopQAdPz8z60+4bHpZXhJpzxvnhLtvNLP1HcQ4Lnr8ZQf7fUN0uS7X4hgO7JFX18fddxBe98+a2UuEhPd0QeyV+rtkgi5tJSw6yWqBKWY2IubuXikob29nWRWwZ8Hy9W2U+wD7AtWEJvjNhMSR+9lG+KcZVrDtSyXE+rZ21nuJcI24M9p6rn0ruK9SX8u2DIweOxp19lruujpAXoLqC2BmexPeHIcRLreNJfQRPMWuz7Wt1/di4B7gGsDNbLmZfbKE+MuKsx37AkNofQ79m9C/MAxKfn7VhNe9lBF85Z4TA4HX8z/glOB7hP6z/yJc2jqS0DdF3rG+DcwgXP56ClhlZvmXXSv1d8kEtUjScSvhMtKVbdRtpeCNysyquyCGwW2UdxA6nPsSrtdeS+g/KbS2oFzKtd11bRwTQkfkEyVs3xlJvZZt2Rg9vi3mfo4mfKI+yd3/nltoZm9uY91d/g7u/gpwKXCpmb2b0Kl8u5ktTWB0Vm6kYrFRiqU8v01AM/Ffy7ZsBPqb2T5lJJOPAz9x9zcuoZrZh/NXiEYuXgNcY2YHES6H/sjM3N3/nPLfpeLUIklBNKroBuDT7PrPsRrY28zyOxEndEEYp7VRfsLdm9z9dULfhbn74238FCaSUvwN+GD0CRSA6Ds1BxAumXWFpF7LtjjhTfRTMffTL3rclltgZscQXrfyAnJfClxB+L8/OGZcpXiQ0CLZ3NZ5FK3T4fOLzse/AedEfRKV9FD0eE4Z2/Sjdby9CYM12uTuywktmG2EkWmF9Un/XSpOLZL0zCKM1DgGeDhv+Z8JQ21vNbPvA2+nhM7dTphoZtdFxz6dMLLko3n10wgd682EkTevEa4Hfxj4Sieu6f4A+CyhU/x7wABCZ/TTwF1xnkgRSb2Wu4gGVuQ+Zd5O6ANqAU4A5hQObS3iMWAz8DMzqyV8er+WkKQ6ZGaLCP1hy6LjXwC8DvxP6c+m0x4A7ieMzPse8AywD3AY0Nfdr6L05/dlwijCuWb2X9FzOBp43N3bHClYCnf3aH/fN7PBwF8IX4g9093bSw4PAJ8zs38QWl2fI/QrvsHM7ia0tJ8knINnEt5v/xLVp/l3qTi1SFLi7luAH7ax/GXC8Mr9CddQpxCGRFba+cAR0TFOAT7n7m+MKHL3RYQROYOAXxOG904jDM0spU+kFXffQOjY3Ep4U51BGL55Ume+NFfiMZN6Lds7fl10/IMJyfhX0e8bytjHS4RLKUOAPxCGkU4ldPyX4q+Eju07CaOG9gUmuvvqUmPorKhz+XTCpdzPE5LKLEICWBStU9Lzc/e/ED7s7EUYsPJbwnDsSjyPiwjDd6cQLuX+iPCdn/ZcQjh3Z0TPbRm7DgtfTLikV0d4XmMIoxNzHyBS+7t0hSrdaldEROJQi0RERGJRH4lIJ0QdrO12/EbDvEV6BLVIRDonN11Hez8iPYZaJCKdcyGwd4drifQA6mwXEZFYdusWSTRduIiIlMndS/7y526dSADcPe0QRES6FTMra311touISCxKJCIiEosSiYiIxKJEIiIisSTW2W5m9xBmX20mzPZ5ibsvie6QtzX6AbjS3e+PtjmKMMlbP+AFYIq7F96QSbrYihUrmDZtGtOnT2fkyMLbhIukS+dn+pJskXzK3Q9198MJ9+K4Na/uTHc/LPrJJZFehFk+P+fuowjTL1+fYLwSqa2tZcuWLdTWduZW6CJdS+dn+hJLJO7+al7xzYSWSTFjgK3RdOYAM4FPdEVs0r4VK1bQ0NAAwMqVK6mvr085IpGddH5mQ6J9JGZ2i5k1ANfR+s5xt5vZUjO72czeEi0bDqzMrRDdW6KXmXX2/t7SCYWf8vSpT7JE52c2JJpI3P18dx9OuDPg9GjxWHc/FDiSMJvqTUnGJMXlPu3lrFy5sp01RZKn8zMbUhm15e6/BsaZ2UB3XxUt2wbcDBwbrdYAjMhtY2b7As3u3ph0vD3Z8OHDW5VHjBjRzpoiydP5mQ2JJBIzG2Bmw/LKpxLudbzVzN4cLasCPgksiVZ7AuhnZsdF5anAHUnEKztNmzataFkkTTo/syGp4b/9gTvMrD/QREgipwJvBe6KbhLUG3iWcP9k3L3ZzM4GZplZX6LhvwnFK5EDDzyQ4cOH09DQwIgRIzS8UjJF52c27NbTyJtZiyZtjE/j9CXLdH5WnpmVNfuvEomIiLRSbiLRFCki0q01NjZyxRVX0NiocThpUSIRkW6trq6OZ555hrq6urRD6bGUSESk22psbOSBBx6gpaWFBx54QK2SlCiRiEi3VVdXR1NTEwBNTU1qlaREiUREuq0FCxa0SiQLFixIOaKeSYlERLqto48+umhZkqFEIiK7jaqqkkesSgUpkUiHNLxSsmrx4sWtyo8++mhKkfRsSiTSIQ2vlKwaNGhQq/LgwYNTiqRnUyKRojS8UrJsw4YNrcrr1+tO3GlQIpGi6urqaG4ON7Nsbm5Wq0Qy5YQTTnijX6SqqooTTjgh5Yh6JiUSKWrBggXs2LEDgB07dmh4pWTK5MmT6dMnTGK+xx57MHny5JQj6pmUSKSocePGtfrEN27cuJQjEtmppqaGCRMmUFVVxUknnURNje7EnQYlEilq4sSJ5GaIbmlp4eSTT045IpHWJk+ezCGHHKLWSIqUSKSouXPntmqR/OlPf0o5IpHWampqmD59ulojKVIikaIWLFjQqkWiPhIRKaREIkWNGzfujc7MPn36qI9EMmfFihWcccYZ1NfXpx1Kj6VEIkVNnjyZXr3CadKrVy9dh5bMqa2tZcuWLdTW1qYdSo/VJ6kDmdk9wNuBZmAzcIm7LzGzUcBsYCCwETjH3ZdH27RbJ8moqalh7NixPPjgg4wdO1bXoSVTVqxYQUNDAwArV66kvr5e921PQZItkk+5+6HufjhwA3BrtHwmMMPdRwEzgFl52xSrk4Rs27YNgO3bt6cciUhrha0QtUrSkVgicfdX84pvBprNbDBwBDAnWj4HOMLMBhWrSypmCVOk5CbCW7RokaZIkUzJtUZyVq5cmVIkPVuifSRmdouZNQDXAZ8ChgFr3L0JIHpcGy0vVicJufXWW1uN2vrFL36RckQiOw0YMKBoWZKRaCJx9/PdfThwNTA9yWNL5xQO933ooYdSikRkV7npe9orSzJSGbXl7r8GxgGrgaFm1hsgetwPWBX9tFcnCclN2NheWSRNJ554YtGyJCORRGJmA8xsWF75VKARWA8sASZFVZOAJ919g7u3W5dEzCKSfZMnT6Z3795A+J6ThqenI6nhv/2BO8ysP9BESCKnunuLmU0FZpvZNcAm4Jy87YrViUgPV1NTw9ChQ2loaGDo0KEanp6SRBKJu78EHNVO3d+B95VbJ8kYMmQIL774YquySFY0Njaybt06ANauXUtjY6OSSQr0zXYp6pVXXilaFklTXV1dq/vl6MZr6VAikaL22WefomWRND300EOthqdrVGE6lEikqMJ7YOue2JIlhZexdFkrHUokItJtrV27tmhZkqFEIkX179+/aFlERIlEirr44otblS+99NKUIhHZVe4WB+2VJRl61aWoZcuWtSovXbo0pUhEdjVmzJhW5fe85z0pRdKzKZFIUYVzbelWu5Ila9asKVqWZCiRSFG61a5kWWHiWL16dUqR9GxKJFLU5MmTqaqqAnSrXckeTSOfDUokUlRNTQ2DBw8GYNCgQRqnL5miaeSzQYlEimpsbHxjbH5uLiORrHj3u99dtCzJUCKRonSHRMmyZ555pmhZkqFEIkU9/PDDrcoLFy5MJxCRNrz++utFy5IMJRIpqqmpqWhZJE25gSDtlSUZSiRS1F577VW0LJKm3GXX9sqSDCUSKUqXDiTLct9xaq8syVAikaKGDh1atCySJg3/zQYlEilKiUSyTJdes0GJRIp6/PHHi5ZF0rR169aiZUlGIhcUzWwg8GvgQGA7sBy40N03mFkL8DTQHK1+trs/HW13KjA9ivMJ4Dx335JEzBI0NzcXLYukSednNiTVImkBat3d3H00sAK4Pq/+GHc/LPrJJZEBwM+AU939P4DXgC8lFK+IiJQokUTi7o3uvjBv0WPAiA42mwg87u7Lo/JM4KwuCE9ERGJIfKycmfUCPgvcm7d4oZn1AeYC17r7NmA4sDJvnQZgWGKBiohISdLobP8JsBm4KSoPd/f3AMcD7wS+lkJMIiLSSYkmEjO7ATgIOMvdmwHcfVX0+E/gFuDYaPUGWl/+Gg6sSi5aEREpRWKJxMy+A4wBPhZdusLMqs2sX/R7H+BMYEm0yZ+BI83soKg8FfhdUvGKiEhpkhr+ewhwFfAcsNjMAJ4HaoFZ0RDgPYDFRJe23P01M/sMcJ+Z9QaeBC5LIl4R6dj8+fOZN29e2mHsYtq0aakcd8KECYwfPz6VY6ctkUTi7s8A7U3L2e6daNz9D8AfuiQoERGpCM1wJiKdMn78+NQ/gU+cOHGXZbW1tSlE0rNpihQR6bbmzp1btCzJUCIREZFYlEhEpFsbPXo0o0ePVmskRUokIiISixKJiIjEokQiIiKxxEokZjbOzN5fqWBERKT7KSuRmNnDZnZs9PuVwG+AOjO7uiuCExGR7Cu3RfIuwr1EAC4AxgFHEebBEhGRHqjcb7b3AlrM7ECgyt2fhTD5YsUjExGRbqHcRLKIcB+RtwF3A0RJ5eUKxyUiIt1EuZe2zgVeAZYCX4+WHQz8uIIxiYhIN1JyiySayv0HwGdy9xMBcPc/dkVgIiLSPZTcInH3JmAC0Nx14YiISHdT7qWtHwLfMLM9uiIYERHpfsrtbL8EGAJ8wcw2AC25CncfXsnARESkeyg3kUzpkihERKTbKiuRuPvDXRWIiIh0T2XfatfMDgPGAvuSdx92d7+myDYDgV8DBwLbgeXAhe6+wcyOAmYB/YAXgCnuvj7art06ERHJhnLn2voM8ChwAnAlMBr4IvAfHWzaAtS6u7n7aGAFcL2Z9QJuAz7n7qOAvwDXR8dqt05ERLKj3FFb04APuftpwL+ixzOBfxfbyN0b3X1h3qLHgBHAGGCruy+Kls8EPhH9XqxOREQyotxEMtjdH4l+bzazXu4+Fzi11B1ELY3PAvcCw4GVuTp3fxnoZWY1HdSJiEhGlJtIVpvZAdHvzwEfNbOxhH6PUv0E2EyYs0tERLq5chNJLfCO6PdvEvowHgK+UcrGZnYDcBBwlrs3Aw2ES1y5+n2BZndv7KBOREQyoqxE4u6/jC5lET1WA9Xu/tOOtjWz7xD6PT6WN1fXE0A/MzsuKk8F7iihTkREMqLs4b8AZjYYGJBfdvf6IusfAlxFuBy22MwAnnf308zsbGCWmfUlGuIL4O7N7dWJiEh2lJVIzOxDwM8J06RU5VW1AL3b287dnylYP79uMWEYcVl1IiKSDeW2SGYA3wJmu/u/uiAeERHpZspNJNXALHdv6XBNERHpEcodtfVz4LyuCERERLqnDlskZvYIO6eLrwIuM7MvAy/mr+fux1c+PBERybpSLm3d0kFZRER6sA4TibvPTiIQERHpnsqd/fdGMzumYNkxZvajyoYlIiLdRbmd7ZOAxwuWPQFMrkw4IiLS3ZSbSFra2KZ3J/YjIiK7iXITwCPAt6Op4HNTwl8bLRcRkR6o3C8kXgbcB6wzs5WEe4aso4z7kYiIyO6l3Nl/VwNHAB8FpgMfA8ZEywEws/0rGqGIiGRa2bP/RvcReSz6acuzwD5xghIRke6jKzrJ25zlV0REdk9dkUg0oaOISA+iYbsiIhKLEomIiMSiPhIREYmlKxLJO7tgnyIiklHl3rP9UOCHwGHAgGhxFdDi7nsCuPuqdra9ATgDOAAY7e7LouUvAFujH4Ar3f3+qO4oYBbQD3gBmOLu68uJWUREula53yOZA9wFXAqUe8/2e4Af0/Z0KmfmEktONP3KbcC57r7IzL4KXA98uszjiohIFyo3kQwBrunMPdvdfRGAmZW6yRhga247YCahVaJEIiKSIeX2kcyma6aMv93MlprZzWb2lmjZcGBlbgV3fxnoZWY1XXB8ERHppHJbJNcDfzWzq4GX8ivc/YROxjDW3VeZ2ZuAHwE3AVM6uS8REUlYuYnkTuB54G7K7yNpU65z3t23mdnNwL1RVQMwIreeme0LNLt7YyWOKyIilVFuIjkMGOju2ytxcDPrD/Rx91fNrAr4JLAkqn4C6Gdmx0X9JFOBOypxXBERqZxyE8kjhO+JLOloxUJmdiNwOqHDfr6ZbSTcx+QuM+tNuNPis8BFEGYZNrOzgVlm1pdo+G+5xxURka5VbiJ5HphnZnezax/JNcU2dPdLCcOGCx1eZJvFwOgyY9ytzJ8/n3nz5qUdRivTpk1L7dgTJkxg/PjxqR1fRHZVbiLZC/gjsCcwrPLhiIhId1NWInH387oqEGnb+PHjU/0EPnHixF2W1dbWphCJiGRVuVOkjGyvzt3r44cjIiLdTblfSPwHsDx6/EdeeXmF45KMmDt3btGyiEi5l7ZaJR4zGwJ8nbbnzxIRkR6g3M72Vtz9RTP7PPAcUFeZkCRrRo8OA+fUN5IdM2fOpL5eV5OBN16HNEcTZsnIkSOZOnVqoseMlUgiRhjNJSIJqa+vZ+mzDgM09RzN4W1sacOGlAPJgM3pTPxRbmf7I0D+zL/9CV9Q/FYlgxKREgyoofnQU9KOQjKk11P3pXLcclsktxSUXweecnd1touI9FDljtr6DfAm4H3AicBHgK+Z2a8qHZiIiHQP5bZIfgkcCvw3BVOkiIhIz1RuIvkQ8HZ3f6UrghERke6n3EtbDYRLWyIiIkD5LZJfAX8wsx+z6+y/D1UsKhER6TbKTSQXR4/fKVjeArQ7D5eIiOy+yp0i5e1dFYiIiHRP5faRiIiItKJEIiIisSiRiIhILEokIiISSyVm/+2Qmd0AnAEcAIx292XR8lHAbGAgsBE4JzdvV7E6ERHJjqRaJPcAxwMrC5bPBGa4+yhgBjCrxDoREcmIRBKJuy9y91X5y8xsMHAEMCdaNAc4wswGFatLIl4RESldmn0kw4A17t4EED2ujZYXqxMRkQxRZ7uIiMSSZiJZBQw1s94A0eN+0fJidSIikiGpJRJ3Xw8sASZFiyYBT7r7hmJ1yUcqIiLFJJJIzOxGM1sN7A/MN7NnoqqpwCVm9hxwSVSmhDoREcmIRL5H4u6XApe2sfzvhNv2trVNu3UiIpId6mwXEZFYEmmRiEhlbdq0CTZvpNdT96UdimTJ5o1s2pT827paJCIiEotaJO2YOXMm9fX1aYeRCbnXYdq0aSlHkg0jR45k6tR0x35UV1ez6rUdNB96SqpxSLb0euo+qqurEz+uEkk76uvrWb7saYb0TjuS9PVrDo+v/d/T6QaSAS82pR2BSPYokRQxpDecv09V2mFIhtzyz5a0QxDJHPWRiIhILEokIiISixKJiIjEokQiIiKxKJGIiEgsSiQiIhKLEomIiMSiRCIiIrEokYiISCxKJCIiEosSiYiIxKK5ttqxadMmNuzQ3ErS2rodsGPTprTDEMkUtUhERCSWTLRIzOwFYGv0A3Clu99vZkcBs4B+wAvAFHdfn0RM1dXV9HlxtWb/lVZu+WcLe6dwv4c2bW7UHRIBtv8rPO7ZL904smBzIzAo8cNmIpFEznT3ZbmCmfUCbgPOdfdFZvZV4Hrg02kFKJIVI0eOTDuEzMjdeG3k8OTfQLNnUCrnRpYSSaExwFZ3XxSVZxJaJUok0uOlfYfGLMndubO2tjblSHquLPWR3G5mS83sZjN7CzAcWJmrdPeXgV5mVpNahCIisousJJKx7n4ocCRQBdyUcjwiIlKiTCQSd18VPW4DbgaOBRqAEbl1zGxfoNndG1MJUkRE2pR6H4mZ9Qf6uPurZlYFfBJYAjwB9DOz46J+kqnAHUnG9mKTvkcCsLk5PA7IxMeOdL3YBHunHYRIxqSeSIC3AneZWW+gN/AscJG7N5vZ2cAsM+tLNPw3qaA0KmanDdGomLfpNWFvdG6IFEo9kbh7PXB4O3WLgdHJRhRoVMxOGhUjIsXoYoWIiMSiRCIiIrEokYiISCxKJCIiEosSiYiIxKJEIiIisSiRiIhILEokIiISixKJiIjEokQiIiKxKJGIiEgsSiQiIhKLEomIiMSiRCIiIrEokYiISCxKJCIiEosSiYiIxKJEIiIisSiRiIhILKnfs70jZjYKmA0MBDYC57j78nSjSs78+fOZN29eqjHU19cDO+/dnqYJEyYwfvz4tMMQkTzdoUUyE5jh7qOAGcCslOPpcaqrq6murk47DBHJqKqWlpa0Y2iXmQ0GngMGunuTmfUmtEoOcvcNJWzf4u5dHaZIj5SF1jLsbDGPHDky1Th2p9aymeHuVaWun/UWyTBgjbs3AUSPa6PlIiJqMWdA5vtIRCSbxo8fv9t8Apd4st4iWQUMjS5pET3uFy0XEZEMyHQicff1wBJgUrRoEvBkKf0jIiKSjO5waWsqMNvMrgE2AeekHI+IiOTJfCJx978D70s7DhERaVumL22JiEj2KZGIiEgsSiQiIhKLEomIiMSS+c72uMws7RBERHZrmZ5rS0REsk+XtkREJBYlEhERiUWJREREYlEiERGRWJRIREQkFiUSERGJRYlERERiUSIREZFYdvtvtkt8ZjYKmA0MBDYC57j78nSjEgEzuwE4AzgAGO3uy9KNqGdSi0RKMROY4e6jgBnArJTjEcm5BzgeWJl2ID2ZEokUZWaDgSOAOdGiOcARZjYovahEAndf5O6r0o6jp1MikY4MA9a4exNA9Lg2Wi4iokQiIiLxKJFIR1YBQ82sN0D0uF+0XEREiUSKc/f1wBJgUrRoEvCku29ILyoRyRLdj0Q6ZGYHE4b/VgObCMN/Pd2oRMDMbgROB4YALwMb3f2QdKPqeZRIREQkFl3aEhGRWJRIREQkFiUSERGJRYlERERiUSIREZFYlEhERCQWTSMvUgIz25xX3AvYBjRF5Qvd/fYEY+kL/AsY5u6rkzquSHsW/fgKAAACLElEQVSUSERK4O4Dcr+b2QvA+e4+vzP7MrM+7r6jQqGJpE6JRKQCzOxY4AeAAVuA3wJXuPuOvBbERcCXgH8DB5vZh4EfAYOAXwJHATe5+23RPi8EvhDV/xX4jLuvAf4SHdbNrAWY4u73JPJERdqgPhKRyvg3cDHhLpJjgVOB8wvWOQUYAxxuZm8jJJvLCYlibVQHgJmdBXw+2s9bgSeB26Lq43OrufsAJRFJm1okIhXg7v+TV1xhZrcA7yfcXTLnOnd/BcDMzgb+193vi8o3EForOVOBb7v7c1H9N4AtZvZW4NWueyYi5VMiEakAM3sn8H3C3ST7Ef63Hi1YLX/q/VZT8bt7s5mtyasfAcw0sxl5y3YA+6NEIhmjRCJSGT8DFgIfd/fNZvZlYHzBOvkzpK5j5yUqzKwXMDSvfhWhj+WuwgOZ2ZsqFbRIJaiPRKQy9gZejZLIIcAFHax/L/A+MzvZzPoQOtWr8+pnAl81MwMws2ozOwPA3bcRWiUjK/0kRDpDiUSkMi4Hzo++bzKD0JHeLndfR7hJ2I2E+2jsDzxN+H4K7j4HuAn4vZn9k3BzsZPydnENcIeZvWJmH6nwcxEpi+5HIpIBUavkReBUd/9r2vGIlEN9JCIpMbOJwGJCK+QrhO+fPJFqUCKdoEtbIuk5HngeWA+cCJzm7tvTDUmkfLq0JSIisahFIiIisSiRiIhILEokIiISixKJiIjEokQiIiKxKJGIiEgs/x8QYsDtxzT2nAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "train['num_chars'].loc[train['num_chars']>350] = 350 #truncation for better visuals\n", + "\n", + "axes= sns.boxplot(x='target', y='num_chars', data=train)\n", + "axes.set_xlabel('Target', fontsize=12)\n", + "axes.set_title(\"Number of num_chars in each class\", fontsize=15)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "08745636a4aef9797daf0f52610cdd84d6cfd8f7" + }, + "source": [ + "## 6-4-6 WordCloud" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": { + "_uuid": "582eb9b3a4e7ba61cea78b803c9fee55326f9940" + }, + "outputs": [], + "source": [ + "def generate_wordcloud(text): \n", + " wordcloud = wc(relative_scaling = 1.0,stopwords = eng_stopwords).generate(text)\n", + " fig,ax = plt.subplots(1,1,figsize=(10,10))\n", + " ax.imshow(wordcloud, interpolation='bilinear')\n", + " ax.axis(\"off\")\n", + " ax.margins(x=0, y=0)\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": { + "_uuid": "3d192ec8ece7238fdd16327e7a2e81fcaf0ec18c" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "text =\" \".join(train.question_text)\n", + "generate_wordcloud(text)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "72cc7c7b60a33390a85b16bc34e3b9e424650cdd" + }, + "source": [ + "
\n", + "## 7- Apply Learning\n", + "How to understand what is the best way to solve our problem?!\n", + "\n", + "The answer is always \"**It depends**.\" It depends on the **size**, **quality**, and **nature** of the **data**. It depends on what you want to do with the answer. It depends on how the **math** of the algorithm was translated into instructions for the computer you are using. And it depends on how much **time** you have. Even the most **experienced data scientists** can't tell which algorithm will perform best before trying them.(see a nice [cheatsheet](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/microsoft-machine-learning-algorithm-cheat-sheet-v7.pdf) for this section)\n", + "Categorize the problem\n", + "The next step is to categorize the problem. This is a two-step process.\n", + "\n", + "1. **Categorize by input**:\n", + " 1. If you have labelled data, it’s a supervised learning problem.\n", + " 1. If you have unlabelled data and want to find structure, it’s an unsupervised learning problem.\n", + " 1. If you want to optimize an objective function by interacting with an environment, it’s a reinforcement learning problem.\n", + "1. **Categorize by output**.\n", + " 1. If the output of your model is a number, it’s a regression problem.\n", + " 1. If the output of your model is a class, it’s a classification problem.\n", + " 1. If the output of your model is a set of input groups, it’s a clustering problem.\n", + " 1. Do you want to detect an anomaly ? That’s anomaly detection\n", + "1. **Understand your constraints**\n", + " 1. What is your data storage capacity? Depending on the storage capacity of your system, you might not be able to store gigabytes of classification/regression models or gigabytes of data to clusterize. This is the case, for instance, for embedded systems.\n", + " 1. Does the prediction have to be fast? In real time applications, it is obviously very important to have a prediction as fast as possible. For instance, in autonomous driving, it’s important that the classification of road signs be as fast as possible to avoid accidents.\n", + " 1. Does the learning have to be fast? In some circumstances, training models quickly is necessary: sometimes, you need to rapidly update, on the fly, your model with a different dataset.\n", + "1. **Find the available algorithms**\n", + " 1. Now that you a clear understanding of where you stand, you can identify the algorithms that are applicable and practical to implement using the tools at your disposal. Some of the factors affecting the choice of a model are:\n", + "\n", + " 1. Whether the model meets the business goals\n", + " 1. How much pre processing the model needs\n", + " 1. How accurate the model is\n", + " 1. How explainable the model is\n", + " 1. How fast the model is: How long does it take to build a model, and how long does the model take to make predictions.\n", + " 1. How scalable the model is\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "97adc471c068fbd8d36ca19a4db0d98b0924c731" + }, + "source": [ + "-----------------\n", + "
\n", + "# 8- Conclusion" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "1adfb5ba84e0f1d8fba58a2fca30546ead095047", + "collapsed": true + }, + "source": [ + "This kernel is not completed yet , I have tried to cover all the parts related to the process of **Quora problem** with a variety of Python packages and I know that there are still some problems then I hope to get your feedback to improve it.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "source": [ + "you can Fork and Run this kernel on **Github**:\n", + "> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n", + "\n", + "--------------------------------------\n", + "\n", + " **I hope you find this kernel helpful and some UPVOTES would be very much appreciated** " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0", + "_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a", + "collapsed": true + }, + "source": [ + "
\n", + "\n", + "-----------\n", + "\n", + "# 9- References\n", + "## 9-1 Kaggle's Kernels\n", + "**In the end , I want to thank all the kernels I've used in this notebook**:\n", + "1. [SRK](https://www.kaggle.com/sudalairajkumar/simple-exploration-notebook-qiqc)\n", + "1. [mihaskalic](https://www.kaggle.com/mihaskalic/lstm-is-all-you-need-well-maybe-embeddings-also)\n", + "1. [artgor](https://www.kaggle.com/artgor/eda-and-lstm-cnn)\n", + "1. [tunguz](https://www.kaggle.com/tunguz/just-some-simple-eda)\n", + "\n", + "## 9-2 Other References\n", + "\n", + "1. [Machine Learning Certification by Stanford University (Coursera)](https://www.coursera.org/learn/machine-learning/)\n", + "\n", + "1. [Machine Learning A-Z™: Hands-On Python & R In Data Science (Udemy)](https://www.udemy.com/machinelearning/)\n", + "\n", + "1. [Deep Learning Certification by Andrew Ng from deeplearning.ai (Coursera)](https://www.coursera.org/specializations/deep-learning)\n", + "\n", + "1. [Python for Data Science and Machine Learning Bootcamp (Udemy)](Python for Data Science and Machine Learning Bootcamp (Udemy))\n", + "\n", + "1. [Mathematics for Machine Learning by Imperial College London](https://www.coursera.org/specializations/mathematics-machine-learning)\n", + "\n", + "1. [Deep Learning A-Z™: Hands-On Artificial Neural Networks](https://www.udemy.com/deeplearning/)\n", + "\n", + "1. [Complete Guide to TensorFlow for Deep Learning Tutorial with Python](https://www.udemy.com/complete-guide-to-tensorflow-for-deep-learning-with-python/)\n", + "\n", + "1. [Data Science and Machine Learning Tutorial with Python – Hands On](https://www.udemy.com/data-science-and-machine-learning-with-python-hands-on/)\n", + "1. [imbalanced-dataset](https://www.quora.com/What-is-an-imbalanced-dataset)\n", + "1. [algorithm-choice](https://docs.microsoft.com/en-us/azure/machine-learning/studio/algorithm-choice)\n", + "-------------\n", + "\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "3218340bb7dfc4ab53987820284a5c2b1c34eb45" + }, + "source": [ + "#### The kernel is not complete and will be updated soon !!!" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/A journey with Scikit-Learn/A Journey with Scikit-Learn + 20 ML Algorithms.ipynb b/A journey with Scikit-Learn/A Journey with Scikit-Learn + 20 ML Algorithms.ipynb new file mode 100644 index 0000000..cff553b --- /dev/null +++ b/A journey with Scikit-Learn/A Journey with Scikit-Learn + 20 ML Algorithms.ipynb @@ -0,0 +1,1195 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "1247188a5193a0bb99f176fea36dc594d283160e" + }, + "cell_type": "markdown", + "source": "##
A Journey with Scikit-Learn + 20 ML Algorithms
\n\n
There are plenty of courses and tutorials that can help you learn Scikit-Learn from scratch but here in Kaggle, After reading, you can use this workflow to solve other real problems and use it as a template to deal with machine learning problems.
\n
last update: 11/13/2018
\n\n\n\n\n>###### you may be interested have a look at it: [**10-steps-to-become-a-data-scientist**](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n---------------------------------------------------------------------\nyou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n-------------------------------------------------------------------------------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "0a45d14ee727bf2f88a7cd0ba5e6aa338977d10b" + }, + "cell_type": "markdown", + "source": "
\n## Notebook Content\n1. [Introduction](#1)\n 1. [Import](#2)\n 1. [Version](#3)\n1. [Algorithms](#4)\n 1. [Data Collection](#5)\n1. [Framework](#6)\n1. [Applications](#7)\n1. [How to use Sklearn Data Set? ](#8)\n1. [Loading external data](#9)\n1. [Model Deployment](#10)\n 1. [Families of ML algorithms](#11)\n 1. [Prepare Features & Targets](#12)\n 1. [Accuracy and precision](#13)\n 1. [Estimators](#14)\n 1. [Predictors](#15)\n 1. [K-Nearest Neighbours](#16)\n 1. [Radius Neighbors Classifier](#17)\n 1. [Logistic Regression](#18)\n 1. [Passive Aggressive Classifier](#19)\n 1. [Naive Bayes](#20)\n 1. [BernoulliNB](#21)\n 1. [SVM](#22)\n 1. [Nu-Support Vector Classification](#23)\n 1. [Linear Support Vector Classification](#24)\n 1. [Decision Tree](#25)\n 1. [ExtraTreeClassifier](#26)\n 1. [Neural network](#27)\n 1. [What is a Perceptron?](#28)\n 1. [The XOR Problem](#29)\n 1. [RandomForest](#30)\n 1. [Bagging classifier ](#31)\n 1. [AdaBoost classifier](#32)\n 1. [Gradient Boosting Classifier](#33)\n 1. [Linear Discriminant Analysis](#34)\n 1. [Quadratic Discriminant Analysis](#35)\n 1. [Kmeans](#36)\n1. [conclusion](#37)\n1. [References](#38)" + }, + { + "metadata": { + "_uuid": "ec7344e7f2a1bafa9a44a518722fcd8ec47c374b" + }, + "cell_type": "markdown", + "source": "
\n# 1-Introduction\n\n- The __open source__ Python ecosystem provides __a standalone, versatile and powerful scientific working environment__, including: [NumPy](http://numpy.org), [SciPy](http://scipy.org), [IPython](http://ipython.org), [Matplotlib](http://matplotlib.org), [Pandas](http://pandas.pydata.org/), _and many others..._\n\n\n\n- Scikit-Learn builds upon NumPy and SciPy and __complements__ this scientific environment with machine learning algorithms;\n- By design, Scikit-Learn is __non-intrusive__, easy to use and easy to combine with other libraries;\n- Core algorithms are implemented in low-level languages." + }, + { + "metadata": { + "_uuid": "4e28cde75726e3617dc80585626f7f8a1297a9e4" + }, + "cell_type": "markdown", + "source": "
\n## 1-1 Import" + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.gaussian_process import GaussianProcessClassifier\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.metrics import classification_report\nfrom sklearn.gaussian_process.kernels import RBF\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.metrics import accuracy_score\nfrom sklearn.decomposition import PCA\nimport matplotlib.pyplot as plt\nfrom pandas import get_dummies\nimport plotly.graph_objs as go\nfrom sklearn import datasets\nfrom sklearn.svm import SVC\nimport seaborn as sns\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport scipy\nimport numpy\nimport json\nimport sys\nimport csv\nimport os", + "execution_count": 46, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3c3c434ac82d771c5549c4f36d0e8e878489f252" + }, + "cell_type": "markdown", + "source": "
\n## 1-2 Version" + }, + { + "metadata": { + "_uuid": "72fdff866b7cbe404867e82f9122e16fc33facf2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))", + "execution_count": 47, + "outputs": [ + { + "output_type": "stream", + "text": "matplotlib: 2.2.3\nsklearn: 0.20.0\nscipy: 1.1.0\nseaborn: 0.8.1\npandas: 0.23.4\nnumpy: 1.15.3\nPython: 3.6.6 |Anaconda, Inc.| (default, Oct 9 2018, 12:34:16) \n[GCC 7.3.0]\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "4284a92f8326eb09dccf0a795f44931c5a7487cc" + }, + "cell_type": "markdown", + "source": "## 1-3 Setup\n\nA few tiny adjustments for better **code readability**" + }, + { + "metadata": { + "trusted": true, + "_uuid": "f9a265dce077fd183b2172378a85ed2d23290189", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.set(style='white', context='notebook', palette='deep')\nwarnings.filterwarnings('ignore')\nsns.set_style('white')\n%matplotlib inline", + "execution_count": 48, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "cell_type": "markdown", + "source": "\n" + }, + { + "metadata": { + "_uuid": "6e80040de557789b0dff267ce45ba3e494885fee" + }, + "cell_type": "markdown", + "source": "
\n# 2- Algorithms" + }, + { + "metadata": { + "_uuid": "666c206f83175114a513b37fb9ae322b5cd8543e" + }, + "cell_type": "markdown", + "source": "**Supervised learning**:\n\n* Linear models (Ridge, Lasso, Elastic Net, ...)\n* Support Vector Machines\n* Tree-based methods (Random Forests, Bagging, GBRT, ...)\n* Nearest neighbors \n* Neural networks (basics)\n* Gaussian Processes\n* Feature selection" + }, + { + "metadata": { + "_uuid": "44eef8d741beebe15555c5166360b2ce77f5d5b1" + }, + "cell_type": "markdown", + "source": "**Unsupervised learning**:\n\n* Clustering (KMeans, Ward, ...)\n* Matrix decomposition (PCA, ICA, ...)\n* Density estimation\n* Outlier detection" + }, + { + "metadata": { + "_uuid": "8da2cc5428b697a7b5f21d34038d343bb8b094bb" + }, + "cell_type": "markdown", + "source": "__Model selection and evaluation:__\n\n* Cross-validation\n* Grid-search\n* Lots of metrics\n\n_... and many more!_ (See our [Reference](http://scikit-learn.org/dev/modules/classes.html))\n
\n## 2-1 Data Collection\n**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n\n**Iris dataset** consists of 3 different types of irises’ (Setosa, Versicolour, and Virginica) petal and sepal length, stored in a 150x4 numpy.ndarray\n\nThe rows being the samples and the columns being: Sepal Length, Sepal Width, Petal Length and Petal Width.[6]\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# import Dataset to play with it\ndataset = pd.read_csv('../input/Iris.csv')", + "execution_count": 49, + "outputs": [] + }, + { + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "cell_type": "markdown", + "source": "**<< Note 1 >>**\n\n* Each row is an observation (also known as : sample, example, instance, record)\n* Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)" + }, + { + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "cell_type": "markdown", + "source": "After loading the data via **pandas**, we should checkout what the content is, description and via the following:" + }, + { + "metadata": { + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type(dataset)", + "execution_count": 50, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 50, + "data": { + "text/plain": "pandas.core.frame.DataFrame" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "e8a877d51d20c1ad31bb635cffc89175426eb77c" + }, + "cell_type": "markdown", + "source": "
\n# 3- Framework\n\nData comes as a finite learning set ${\\cal L} = (X, y)$ where\n* Input samples are given as an array $X$ of shape `n_samples` $\\times$ `n_features`, taking their values in ${\\cal X}$;\n* Output values are given as an array $y$, taking _symbolic_ values in ${\\cal Y}$.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "bafb45df9ecfe90563f2f9a1be8a327823cf6d35" + }, + "cell_type": "markdown", + "source": "The goal of supervised classification is to build an estimator $\\varphi: {\\cal X} \\mapsto {\\cal Y}$ minimizing\n\n$$\nErr(\\varphi) = \\mathbb{E}_{X,Y}\\{ \\ell(Y, \\varphi(X)) \\}\n$$\n\nwhere $\\ell$ is a loss function, e.g., the zero-one loss for classification $\\ell_{01}(Y,\\hat{Y}) = 1(Y \\neq \\hat{Y})$." + }, + { + "metadata": { + "_uuid": "7efef8f514caf78e7bc2a60b4d5c0e7fa6d160ac" + }, + "cell_type": "markdown", + "source": "
\n# 4- Applications\n\n- **Classifying** signal from background events; \n- **Diagnosing** disease from symptoms;\n- **Recognising** cats in pictures;\n- **Identifying** body parts with Kinect cameras;\n- ...\n ###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "7cc13baab79cbc6446763e4ebe8feba2c95e74c9" + }, + "cell_type": "markdown", + "source": "
\n# 5- How to use Sklearn Data Set? \n\n- Input data = Numpy arrays or Scipy sparse matrices ;\n- Algorithms are expressed using high-level operations defined on matrices or vectors (similar to MATLAB) ;\n - Leverage efficient low-leverage implementations ;\n - Keep code short and readable. " + }, + { + "metadata": { + "_uuid": "ea74e169f182b48bc12abc501df217e7c711157c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Generate data\nfrom sklearn.datasets import make_blobs\nimport numpy as np\nX, y = make_blobs(n_samples=1000, centers=20, random_state=123)\nlabels = [\"b\", \"r\"]\ny = np.take(labels, (y < 10))\nprint(X) \nprint(y[:5])", + "execution_count": 51, + "outputs": [ + { + "output_type": "stream", + "text": "[[-6.45255647 -8.76358259]\n [ 0.28982141 0.14677196]\n [-5.18412293 -1.25347025]\n ...\n [-0.23142814 -1.60800704]\n [-0.60291835 6.87297279]\n [ 2.28425964 4.87408773]]\n['r' 'r' 'b' 'r' 'b']\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "9430d1ac40a1d7ba715347c27039b9b0859e674a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# X is a 2 dimensional array, with 1000 rows and 2 columns\nprint(X.shape)\n \n# y is a vector of 1000 elements\nprint(y.shape)", + "execution_count": 52, + "outputs": [ + { + "output_type": "stream", + "text": "(1000, 2)\n(1000,)\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "0e4d94f4cde57a7f8aeaec876d0020b144fd7818", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Rows and columns can be accessed with lists, slices or masks\nprint(X[[1, 2, 3]]) # rows 1, 2 and 3\nprint(X[:5]) # 5 first rows\nprint(X[500:510, 0]) # values from row 500 to row 510 at column 0\nprint(X[y == \"b\"][:5]) # 5 first rows for which y is \"b\"", + "execution_count": 53, + "outputs": [ + { + "output_type": "stream", + "text": "[[ 0.28982141 0.14677196]\n [-5.18412293 -1.25347025]\n [-4.71388847 3.67440463]]\n[[-6.45255647 -8.76358259]\n [ 0.28982141 0.14677196]\n [-5.18412293 -1.25347025]\n [-4.71388847 3.67440463]\n [ 4.51558296 -2.88138033]]\n[-4.43836309 -2.45974437 4.33104832 -7.92069399 1.56972029 0.56451501\n 4.99608298 4.75811106 -1.60421418 1.10129122]\n[[-5.18412293 -1.25347025]\n [ 4.51558296 -2.88138033]\n [ 1.70826922 2.62387342]\n [-0.52606562 8.95985097]\n [-1.07591403 9.78730967]]\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "f87a77afd2c6d75c7d20390394a1f9ae569a30dc", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Plot\nfrom matplotlib import pyplot as plt\nplt.rcParams[\"figure.figsize\"] = (8, 8)\nplt.rcParams[\"figure.max_open_warning\"] = -1\nplt.figure()\nfor label in labels:\n mask = (y == label)\n plt.scatter(X[mask, 0], X[mask, 1], c=label)\nplt.xlim(-10, 10)\nplt.ylim(-10, 10)\nplt.show()", + "execution_count": 54, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_kg_hide-input": true, + "_uuid": "71b52d10786896ab758025f670f7dc5c80db03a4" + }, + "cell_type": "code", + "source": "from sklearn.datasets import load_wine\ndata = load_wine()\ndata.target[[10, 80, 140]]\nlist(data.target_names)\n", + "execution_count": 55, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 55, + "data": { + "text/plain": "['class_0', 'class_1', 'class_2']" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "af3faf3d05bc406b6d882f527f5f5637c4e572a8" + }, + "cell_type": "markdown", + "source": "
\n# 6- Loading external data\n\n- Numpy provides some [simple tools](https://docs.scipy.org/doc/numpy/reference/routines.io.html) for loading data from files (CSV, binary, etc);\n\n- For structured data, Pandas provides more [advanced tools](http://pandas.pydata.org/pandas-docs/stable/io.html) (CSV, JSON, Excel, HDF5, SQL, etc);\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "db67b8ed29fd65ec13569321eb9aed2edb1fec80" + }, + "cell_type": "markdown", + "source": "## 6-1 what is new?\nA new clustering algorithm: cluster.**OPTICS**: an algoritm related to cluster.**DBSCAN**, that has hyperparameters easier to set and that scales better\n" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "5294a607209dc1d413e84d9e182334a41fa5ee08" + }, + "cell_type": "code", + "source": "from sklearn.cluster import DBSCAN\nimport numpy as np\nX = np.array([[1, 2], [2, 2], [2, 3],[8, 7], [8, 8], [25, 80]])\nclustering = DBSCAN(eps=3, min_samples=2).fit(X)\n", + "execution_count": 56, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "8e49459a594753031d57b263ee211615e978c04f", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "clustering.labels_", + "execution_count": 57, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 57, + "data": { + "text/plain": "array([ 0, 0, 0, 1, 1, -1])" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "a409afb829be4b4c983398fdd08b816fefd50331", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "clustering ", + "execution_count": 58, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 58, + "data": { + "text/plain": "DBSCAN(algorithm='auto', eps=3, leaf_size=30, metric='euclidean',\n metric_params=None, min_samples=2, n_jobs=None, p=None)" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "72cc7c7b60a33390a85b16bc34e3b9e424650cdd" + }, + "cell_type": "markdown", + "source": "
\n# 7- Model Deployment\nAll learning algorithms in scikit-learn share a uniform and limited API consisting of complementary interfaces:\n\n- an `estimator` interface for building and fitting models;\n- a `predictor` interface for making predictions;\n- a `transformer` interface for converting data.\n\nGoal: enforce a simple and consistent API to __make it trivial to swap or plug algorithms__. \n\nIn this section have been applied more than **20 learning algorithms** that play an important rule in your experiences and improve your knowledge in case of using sklearn.\n\n> **<< Note 3 >>** : The results shown here may be slightly different for your analysis because, for example, the neural network algorithms use random number generators for fixing the initial value of the weights (starting points) of the neural networks, which often result in obtaining slightly different (local minima) solutions each time you run the analysis. Also note that changing the seed for the random number generator used to create the train, test, and validation samples can change your results.\n\n ###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "4b7788bbaaace438242d3b2d0d2ed489a91939ce" + }, + "cell_type": "markdown", + "source": "
\n## 7-1 Families of ML algorithms\nThere are several categories for machine learning algorithms, below are some of these categories:\n* Linear\n * Linear Regression\n * Logistic Regression\n * Support Vector Machines\n* Tree-Based\n * Decision Tree\n * Random Forest\n * GBDT\n* KNN\n* Neural Networks\n\n-----------------------------\nAnd if we want to categorize ML algorithms with the type of learning, there are below type:\n* Classification\n\n * k-Nearest \tNeighbors\n * LinearRegression\n * SVM\n * DT \n * NN\n \n* clustering\n\n * K-means\n * HCA\n * Expectation Maximization\n \n* Visualization \tand\tdimensionality \treduction:\n\n * Principal \tComponent \tAnalysis(PCA)\n * Kernel PCA\n * Locally -Linear\tEmbedding \t(LLE)\n * t-distributed\tStochastic\tNeighbor\tEmbedding \t(t-SNE)\n \n* Association \trule\tlearning\n\n * Apriori\n * Eclat\n* Semisupervised learning\n* Reinforcement Learning\n * Q-learning\n* Batch learning & Online learning\n* Ensemble Learning\n\n**<< Note >>**\n> Here is no method which outperforms all others for all tasks\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "daf9910caba26e071ff560dbdaca079ee148e140" + }, + "cell_type": "markdown", + "source": "
\n## 7-2 Prepare Features & Targets\nFirst of all seperating the data into dependent(**Feature**) and independent(**Target**) variables.\n\n**<< Note 4 >>**\n* X==>>Feature\n* y==>>Target\n## Test error\n\nIssue: the training error is a __biased__ estimate of the generalization error.\n\nSolution: Divide ${\\cal L}$ into two disjoint parts called training and test sets (usually using 70% for training and 30% for test).\n- Use the training set for fitting the model;\n- Use the test set for evaluation only, thereby yielding an unbiased estimate." + }, + { + "metadata": { + "_uuid": "b06cb1191a0f52a904c52a918d1f999536e79bda", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\nX = dataset.iloc[:, :-1].values\ny = dataset.iloc[:, -1].values\n\n# Splitting the dataset into the Training set and Test set\nfrom sklearn.model_selection import train_test_split\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)", + "execution_count": 59, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d13f167dd92888d856c4ad2ff2895bf4855e361c" + }, + "cell_type": "markdown", + "source": "
\n## 7-3 Accuracy and precision\n- Recall that we want to learn an estimator $\\varphi$ minimizing the generalization error $Err(\\varphi) = \\mathbb{E}_{X,Y}\\{ \\ell(Y, \\varphi(X)) \\}$.\n\n- Problem: Since $P_{X,Y}$ is unknown, the generalization error $Err(\\varphi)$ cannot be evaluated.\n\n- Solution: Use a proxy to approximate $Err(\\varphi)$.\n* **precision** : \n\nIn pattern recognition, information retrieval and binary classification, precision (also called positive predictive value) is the fraction of relevant instances among the retrieved instances, \n* **recall** : \n\nrecall is the fraction of relevant instances that have been retrieved over the total amount of relevant instances. \n* **F-score** :\n\nthe F1 score is a measure of a test's accuracy. It considers both the precision p and the recall r of the test to compute the score: p is the number of correct positive results divided by the number of all positive results returned by the classifier, and r is the number of correct positive results divided by the number of all relevant samples (all samples that should have been identified as positive). The F1 score is the harmonic average of the precision and recall, where an F1 score reaches its best value at 1 (perfect precision and recall) and worst at 0.\n**What is the difference between accuracy and precision?**\n\"Accuracy\" and \"precision\" are general terms throughout science. A good way to internalize the difference are the common \"bullseye diagrams\". In machine learning/statistics as a whole, accuracy vs. precision is analogous to bias vs. variance.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "bc2471a2bc5d24fbee0532a71219e8b25996c20c" + }, + "cell_type": "markdown", + "source": "
\n## 7-4- Estimators" + }, + { + "metadata": { + "_uuid": "ae2c9909a05b213a567338be03f0b880dcbc42fd", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "class Estimator(object):\n def fit(self, X, y=None):\n \"\"\"Fits estimator to data.\"\"\"\n # set state of ``self``\n return self", + "execution_count": 60, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c7c25b799b47dd172f3f73e2c85d2670b0095124", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Import the nearest neighbor class\nfrom sklearn.neighbors import KNeighborsClassifier # Change this to try \n # something else\n\n# Set hyper-parameters, for controlling algorithm\nclf = KNeighborsClassifier(n_neighbors=5)\n\n# Learn a model from training data\nclf.fit(X, y)", + "execution_count": 61, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 61, + "data": { + "text/plain": "KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n metric_params=None, n_jobs=None, n_neighbors=5, p=2,\n weights='uniform')" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "f3813605cc909c6fecd52a12e2edc37ad4cc42c2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Estimator state is stored in instance attributes\nclf._tree", + "execution_count": 62, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 62, + "data": { + "text/plain": "" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "0984dea25e9a6c6c7b7372057f87c4bacd230375" + }, + "cell_type": "markdown", + "source": "
\n## 7-5- Predictors" + }, + { + "metadata": { + "_uuid": "9ca84979bfe46e0b6ce79ade03ac19efde72f5c3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Make predictions \nprint(clf.predict(X[:5])) ", + "execution_count": 63, + "outputs": [ + { + "output_type": "stream", + "text": "['Iris-setosa' 'Iris-setosa' 'Iris-setosa' 'Iris-setosa' 'Iris-setosa']\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "1b12ceaf8ca499e5e7d3486955f281f5bd72f34b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Compute (approximate) class probabilities\nprint(clf.predict_proba(X[:5]))", + "execution_count": 64, + "outputs": [ + { + "output_type": "stream", + "text": "[[1. 0. 0.]\n [1. 0. 0.]\n [1. 0. 0.]\n [1. 0. 0.]\n [1. 0. 0.]]\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "b8b544762cc789bfeb8ebccd6765f77b9c7e1a0f" + }, + "cell_type": "markdown", + "source": "
\n## 7-6 K-Nearest Neighbours\nIn **Machine Learning**, the **k-nearest neighbors algorithm** (k-NN) is a non-parametric method used for classification and regression. In both cases, the input consists of the k closest training examples in the feature space. The output depends on whether k-NN is used for classification or regression:\n\nIn k-NN classification, the output is a class membership. An object is classified by a majority vote of its neighbors, with the object being assigned to the class most common among its k nearest neighbors (k is a positive integer, typically small). If k = 1, then the object is simply assigned to the class of that single nearest neighbor.\nIn k-NN regression, the output is the property value for the object. This value is the average of the values of its k nearest neighbors.\nk-NN is a type of instance-based learning, or lazy learning, where the function is only approximated locally and all computation is deferred until classification. The k-NN algorithm is among the simplest of all machine learning algorithms.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "eaa2caacfbc319932f79c75c549364089d1e649f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# K-Nearest Neighbours\nfrom sklearn.neighbors import KNeighborsClassifier\n\nModel = KNeighborsClassifier(n_neighbors=8)\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": 65, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 1.00 1.00 1.00 11\nIris-versicolor 1.00 1.00 1.00 13\n Iris-virginica 1.00 1.00 1.00 6\n\n micro avg 1.00 1.00 1.00 30\n macro avg 1.00 1.00 1.00 30\n weighted avg 1.00 1.00 1.00 30\n\n[[11 0 0]\n [ 0 13 0]\n [ 0 0 6]]\naccuracy is 1.0\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "e01bbec9f80532e30c6cf26d5c3fffffb5ea01d4" + }, + "cell_type": "markdown", + "source": "
\n## 7-7 Radius Neighbors Classifier\nClassifier implementing a **vote** among neighbors within a given **radius**\n\nIn scikit-learn **RadiusNeighborsClassifier** is very similar to **KNeighborsClassifier** with the exception of two parameters. First, in RadiusNeighborsClassifier we need to specify the radius of the fixed area used to determine if an observation is a neighbor using radius. Unless there is some substantive reason for setting radius to some value, it is best to treat it like any other hyperparameter and tune it during model selection. The second useful parameter is outlier_label, which indicates what label to give an observation that has no observations within the radius - which itself can often be a useful tool for identifying outliers.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "7728fdafa163e068668cea92cf8d79306b41d458", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.neighbors import RadiusNeighborsClassifier\nModel=RadiusNeighborsClassifier(radius=8.0)\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\n#summary of the predictions made by the classifier\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_test,y_pred))\n#Accouracy score\nprint('accuracy is ', accuracy_score(y_test,y_pred))", + "execution_count": 66, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 1.00 1.00 1.00 11\nIris-versicolor 1.00 1.00 1.00 13\n Iris-virginica 1.00 1.00 1.00 6\n\n micro avg 1.00 1.00 1.00 30\n macro avg 1.00 1.00 1.00 30\n weighted avg 1.00 1.00 1.00 30\n\n[[11 0 0]\n [ 0 13 0]\n [ 0 0 6]]\naccuracy is 1.0\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "e55a785373bf654e0d4b2a78693fab1c8a625acb" + }, + "cell_type": "markdown", + "source": "
\n## 7-8 Logistic Regression\nLogistic regression is the appropriate regression analysis to conduct when the dependent variable is **dichotomous** (binary). Like all regression analyses, the logistic regression is a **predictive analysis**.\n\nIn statistics, the logistic model (or logit model) is a widely used statistical model that, in its basic form, uses a logistic function to model a binary dependent variable; many more complex extensions exist. In regression analysis, logistic regression (or logit regression) is estimating the parameters of a logistic model; it is a form of binomial regression. Mathematically, a binary logistic model has a dependent variable with two possible values, such as pass/fail, win/lose, alive/dead or healthy/sick; these are represented by an indicator variable, where the two values are labeled \"0\" and \"1\"\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "55eb348cf69272192274cd0728a123796b459b55", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# LogisticRegression\nfrom sklearn.linear_model import LogisticRegression\nModel = LogisticRegression()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": 67, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 1.00 1.00 1.00 11\nIris-versicolor 1.00 0.85 0.92 13\n Iris-virginica 0.75 1.00 0.86 6\n\n micro avg 0.93 0.93 0.93 30\n macro avg 0.92 0.95 0.92 30\n weighted avg 0.95 0.93 0.94 30\n\n[[11 0 0]\n [ 0 11 2]\n [ 0 0 6]]\naccuracy is 0.9333333333333333\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "c0a1c2ccaa4f6e9c5e2e42c47a295ceef7abd3b9" + }, + "cell_type": "markdown", + "source": "
\n## 7-9 Passive Aggressive Classifier" + }, + { + "metadata": { + "_uuid": "d509b2111a143660dd5cb1f02ea2779e38295b77", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.linear_model import PassiveAggressiveClassifier\nModel = PassiveAggressiveClassifier()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": 68, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 0.58 1.00 0.73 11\nIris-versicolor 1.00 0.15 0.27 13\n Iris-virginica 0.67 1.00 0.80 6\n\n micro avg 0.63 0.63 0.63 30\n macro avg 0.75 0.72 0.60 30\n weighted avg 0.78 0.63 0.54 30\n\n[[11 0 0]\n [ 8 2 3]\n [ 0 0 6]]\naccuracy is 0.6333333333333333\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "52938b49082dac7b35dc627828838bf12924cc7f" + }, + "cell_type": "markdown", + "source": "
\n## 7-10 Naive Bayes\nIn machine learning, naive Bayes classifiers are a family of simple \"**probabilistic classifiers**\" based on applying Bayes' theorem with strong (naive) independence assumptions between the features." + }, + { + "metadata": { + "_uuid": "522d4a3fa874950d0850a5a9a4178ec763781ec3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Naive Bayes\nfrom sklearn.naive_bayes import GaussianNB\nModel = GaussianNB()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": 69, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 1.00 1.00 1.00 11\nIris-versicolor 1.00 1.00 1.00 13\n Iris-virginica 1.00 1.00 1.00 6\n\n micro avg 1.00 1.00 1.00 30\n macro avg 1.00 1.00 1.00 30\n weighted avg 1.00 1.00 1.00 30\n\n[[11 0 0]\n [ 0 13 0]\n [ 0 0 6]]\naccuracy is 1.0\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "e530d18ab308e36d575806583e534cc07fe61c61" + }, + "cell_type": "markdown", + "source": "
\n## 7-11 BernoulliNB\nLike MultinomialNB, this classifier is suitable for **discrete data**. The difference is that while MultinomialNB works with occurrence counts, BernoulliNB is designed for binary/boolean features." + }, + { + "metadata": { + "_uuid": "e7051b5e9aa144b74e9913cb2a6668832e7f3e02", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# BernoulliNB\nfrom sklearn.naive_bayes import BernoulliNB\nModel = BernoulliNB()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": 70, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 0.00 0.00 0.00 11\nIris-versicolor 0.00 0.00 0.00 13\n Iris-virginica 0.20 1.00 0.33 6\n\n micro avg 0.20 0.20 0.20 30\n macro avg 0.07 0.33 0.11 30\n weighted avg 0.04 0.20 0.07 30\n\n[[ 0 0 11]\n [ 0 0 13]\n [ 0 0 6]]\naccuracy is 0.2\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "386d2d0e4fc7f5dc2b9298226d8e2ecfb7150346" + }, + "cell_type": "markdown", + "source": "
\n## 7-12 SVM\n\nThe advantages of support vector machines are:\n* Effective in high dimensional spaces.\n* Still effective in cases where number of dimensions is greater than the number of samples. \n* Uses a subset of training points in the decision function (called support vectors), so it is also memory efficient.\n* Versatile: different Kernel functions can be specified for the decision function. Common kernels are provided, but it is also possible to specify custom kernels.\n\nThe disadvantages of support vector machines include:\n\n* If the number of features is much greater than the number of samples, avoid over-fitting in choosing Kernel functions and regularization term is crucial.\n* SVMs do not directly provide probability estimates, these are calculated using an expensive five-fold cross-validation\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "a44a5a43945404c95863668c2ba099f6032357f8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Support Vector Machine\nfrom sklearn.svm import SVC\n\nModel = SVC()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": 71, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 1.00 1.00 1.00 11\nIris-versicolor 1.00 1.00 1.00 13\n Iris-virginica 1.00 1.00 1.00 6\n\n micro avg 1.00 1.00 1.00 30\n macro avg 1.00 1.00 1.00 30\n weighted avg 1.00 1.00 1.00 30\n\n[[11 0 0]\n [ 0 13 0]\n [ 0 0 6]]\naccuracy is 1.0\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "b1d092cc03dcaa712f4fe4ec6867b292321377d5" + }, + "cell_type": "markdown", + "source": "
\n## 7-13 Nu-Support Vector Classification\n\n> Similar to SVC but uses a parameter to control the number of support vectors." + }, + { + "metadata": { + "_uuid": "2fa7c9a5bef780adb400bd9ad83d030f83a8d2b3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Support Vector Machine's \nfrom sklearn.svm import NuSVC\n\nModel = NuSVC()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": 72, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 1.00 1.00 1.00 11\nIris-versicolor 1.00 1.00 1.00 13\n Iris-virginica 1.00 1.00 1.00 6\n\n micro avg 1.00 1.00 1.00 30\n macro avg 1.00 1.00 1.00 30\n weighted avg 1.00 1.00 1.00 30\n\n[[11 0 0]\n [ 0 13 0]\n [ 0 0 6]]\naccuracy is 1.0\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "5d07a75e83251ddbf8cfdfd11c9faa2671ad87ff" + }, + "cell_type": "markdown", + "source": "
\n## 7-14 Linear Support Vector Classification\n\nSimilar to **SVC** with parameter kernel=’linear’, but implemented in terms of liblinear rather than libsvm, so it has more flexibility in the choice of penalties and loss functions and should scale better to large numbers of samples.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "7e7275f160f2e4e270200eaa01c13be5cb465142", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Linear Support Vector Classification\nfrom sklearn.svm import LinearSVC\n\nModel = LinearSVC()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": 73, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 1.00 1.00 1.00 11\nIris-versicolor 0.92 0.92 0.92 13\n Iris-virginica 0.83 0.83 0.83 6\n\n micro avg 0.93 0.93 0.93 30\n macro avg 0.92 0.92 0.92 30\n weighted avg 0.93 0.93 0.93 30\n\n[[11 0 0]\n [ 0 12 1]\n [ 0 1 5]]\naccuracy is 0.9333333333333333\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "cec81c9e0c3bc6afba07811a321b5383a0f823f3" + }, + "cell_type": "markdown", + "source": "
\n## 7-15 Decision Tree\nDecision Trees (DTs) are a non-parametric supervised learning method used for **classification** and **regression**. The goal is to create a model that predicts the value of a target variable by learning simple **decision rules** inferred from the data features.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "10e25ad67f7c25a8654637d4ba496b64121d67d0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Decision Tree's\nfrom sklearn.tree import DecisionTreeClassifier\n\nModel = DecisionTreeClassifier()\n\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": 74, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 1.00 1.00 1.00 11\nIris-versicolor 0.93 1.00 0.96 13\n Iris-virginica 1.00 0.83 0.91 6\n\n micro avg 0.97 0.97 0.97 30\n macro avg 0.98 0.94 0.96 30\n weighted avg 0.97 0.97 0.97 30\n\n[[11 0 0]\n [ 0 13 0]\n [ 0 1 5]]\naccuracy is 0.9666666666666667\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "a7d897130fd705943764e924bbe468c99b7c036a" + }, + "cell_type": "markdown", + "source": "
\n## 7-16 ExtraTreeClassifier\nAn extremely randomized tree classifier.\n\nExtra-trees differ from classic decision trees in the way they are built. When looking for the best split to separate the samples of a node into two groups, random splits are drawn for each of the **max_features** randomly selected features and the best split among those is chosen. When max_features is set 1, this amounts to building a totally random decision tree.\n\n**Warning**: Extra-trees should only be used within ensemble methods.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "5a775006a814b6aacdcc07dc46995eb291b873f1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# ExtraTreeClassifier\nfrom sklearn.tree import ExtraTreeClassifier\n\nModel = ExtraTreeClassifier()\n\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": 75, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 1.00 1.00 1.00 11\nIris-versicolor 1.00 1.00 1.00 13\n Iris-virginica 1.00 1.00 1.00 6\n\n micro avg 1.00 1.00 1.00 30\n macro avg 1.00 1.00 1.00 30\n weighted avg 1.00 1.00 1.00 30\n\n[[11 0 0]\n [ 0 13 0]\n [ 0 0 6]]\naccuracy is 1.0\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "48f940f73580a2997d75f22eba09d938c86a1a97" + }, + "cell_type": "markdown", + "source": "
\n## 7-17 Neural network\n\nI have used multi-layer Perceptron classifier.\nThis model optimizes the log-loss function using **LBFGS** or **stochastic gradient descent**.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "1c10482510f654878f93b573dc1abe4112b861eb" + }, + "cell_type": "markdown", + "source": "
\n## 7-17-1 What is a Perceptron?" + }, + { + "metadata": { + "_uuid": "a94d82b497cbe543da0a637ecfed6e9e8b7569e7" + }, + "cell_type": "markdown", + "source": "There are many online examples and tutorials on perceptrons and learning. Here is a list of some articles:\n- [Wikipedia on Perceptrons](https://en.wikipedia.org/wiki/Perceptron)\n- Jurafsky and Martin (ed. 3), Chapter 8\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "e8e4da1a0b3d51a5fff38750fb4631ac3aa7eebb" + }, + "cell_type": "markdown", + "source": "This is an example that I have taken from a draft of the 3rd edition of Jurafsky and Martin, with slight modifications:\nWe import *numpy* and use its *exp* function. We could use the same function from the *math* module, or some other module like *scipy*. The *sigmoid* function is defined as in the textbook:\n" + }, + { + "metadata": { + "_uuid": "196e5a54ed0de712e2254e77439051267cad4b3d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "import numpy as np\n\ndef sigmoid(z):\n return 1 / (1 + np.exp(-z))", + "execution_count": 76, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9aa207d0bb6a7342932406d8fa68cbd49be866b5" + }, + "cell_type": "markdown", + "source": "Our example data, **weights** $w$, **bias** $b$, and **input** $x$ are defined as:" + }, + { + "metadata": { + "_uuid": "69cae82df8a906ad43594464c6497e05e282dcd1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "w = np.array([0.2, 0.3, 0.8])\nb = 0.5\nx = np.array([0.5, 0.6, 0.1])", + "execution_count": 77, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8cd5da02c0fc0beedd9a3417e399982293d28fd2" + }, + "cell_type": "markdown", + "source": "Our neural unit would compute $z$ as the **dot-product** $w \\cdot x$ and add the **bias** $b$ to it. The sigmoid function defined above will convert this $z$ value to the **activation value** $a$ of the unit:" + }, + { + "metadata": { + "_uuid": "65d083572bf2cc897d816765db05758b107741ff", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "z = w.dot(x) + b\nprint(\"z:\", z)\nprint(\"a:\", sigmoid(z))", + "execution_count": 78, + "outputs": [ + { + "output_type": "stream", + "text": "z: 0.8600000000000001\na: 0.7026606543447316\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "9e9101a20c9a167a1d925f3b64aafb94317155e2" + }, + "cell_type": "markdown", + "source": "
\n### 7-17-2 The XOR Problem\nThe power of neural units comes from combining them into larger networks. Minsky and Papert (1969): A single neural unit cannot compute the simple logical function XOR.\n\nThe task is to implement a simple **perceptron** to compute logical operations like AND, OR, and XOR.\n\n- Input: $x_1$ and $x_2$\n- Bias: $b = -1$ for AND; $b = 0$ for OR\n- Weights: $w = [1, 1]$\n\nwith the following activation function:\n\n$$\ny = \\begin{cases}\n \\ 0 & \\quad \\text{if } w \\cdot x + b \\leq 0\\\\\n \\ 1 & \\quad \\text{if } w \\cdot x + b > 0\n \\end{cases}\n$$\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "c03b3a6a5307cc53e637afd6da5c307c985be7ac" + }, + "cell_type": "markdown", + "source": "We can define this activation function in Python as:" + }, + { + "metadata": { + "_uuid": "7b0832df65fc1aa694a1cf67b8713c894b1ed2a2", + "trusted": true + }, + "cell_type": "code", + "source": "def activation(z):\n if z > 0:\n return 1\n return 0", + "execution_count": 79, + "outputs": [] + }, + { + "metadata": { + "_uuid": "27ae56a47bd180ebbfd82b3f0242c8078db6ac97" + }, + "cell_type": "markdown", + "source": "For AND we could implement a perceptron as:" + }, + { + "metadata": { + "_uuid": "3267d3f1a2864f29ff2382a2057b0b88fa74b649", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "w = np.array([1, 1])\nb = -1\nx = np.array([0, 0])\nprint(\"0 AND 0:\", activation(w.dot(x) + b))\nx = np.array([1, 0])\nprint(\"1 AND 0:\", activation(w.dot(x) + b))\nx = np.array([0, 1])\nprint(\"0 AND 1:\", activation(w.dot(x) + b))\nx = np.array([1, 1])\nprint(\"1 AND 1:\", activation(w.dot(x) + b))", + "execution_count": 80, + "outputs": [ + { + "output_type": "stream", + "text": "0 AND 0: 0\n1 AND 0: 0\n0 AND 1: 0\n1 AND 1: 1\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "dbee1f41f0bd66613f5b49e0f65be4bfd9f91283" + }, + "cell_type": "markdown", + "source": "For OR we could implement a perceptron as:" + }, + { + "metadata": { + "_uuid": "bf47440fb2f5a0fb016286f0a3a41a05a8416495", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "w = np.array([1, 1])\nb = 0\nx = np.array([0, 0])\nprint(\"0 OR 0:\", activation(w.dot(x) + b))\nx = np.array([1, 0])\nprint(\"1 OR 0:\", activation(w.dot(x) + b))\nx = np.array([0, 1])\nprint(\"0 OR 1:\", activation(w.dot(x) + b))\nx = np.array([1, 1])\nprint(\"1 OR 1:\", activation(w.dot(x) + b))", + "execution_count": 81, + "outputs": [ + { + "output_type": "stream", + "text": "0 OR 0: 0\n1 OR 0: 1\n0 OR 1: 1\n1 OR 1: 1\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "181068ef1b8e1ba568093184c41a118b4c0bfe7f" + }, + "cell_type": "markdown", + "source": "There is no way to implement a perceptron for XOR this way." + }, + { + "metadata": { + "_uuid": "d12494da861ea094378c7cf6a3409803fb5585ac" + }, + "cell_type": "markdown", + "source": "no see our prediction for iris" + }, + { + "metadata": { + "_uuid": "5f040cfaeb71f8caa94e4d7f18cccde8d2a0b8a7", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.neural_network import MLPClassifier\nModel=MLPClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\n# Summary of the predictions\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_test,y_pred))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": 82, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 1.00 0.18 0.31 11\nIris-versicolor 0.00 0.00 0.00 13\n Iris-virginica 0.21 1.00 0.35 6\n\n micro avg 0.27 0.27 0.27 30\n macro avg 0.40 0.39 0.22 30\n weighted avg 0.41 0.27 0.18 30\n\n[[ 2 0 9]\n [ 0 0 13]\n [ 0 0 6]]\naccuracy is 0.26666666666666666\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "ffc339dbf9c8da74194b994930694bd97bb2afbb" + }, + "cell_type": "markdown", + "source": "
\n## 7-18 RandomForest\nA random forest is a meta estimator that **fits a number of decision tree classifiers** on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting. \n\nThe sub-sample size is always the same as the original input sample size but the samples are drawn with replacement if bootstrap=True (default).\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "8ed2305b51c2248a8aa62cf4452632f448e83771", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import RandomForestClassifier\nModel=RandomForestClassifier(max_depth=2)\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": 83, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 1.00 1.00 1.00 11\nIris-versicolor 1.00 1.00 1.00 13\n Iris-virginica 1.00 1.00 1.00 6\n\n micro avg 1.00 1.00 1.00 30\n macro avg 1.00 1.00 1.00 30\n weighted avg 1.00 1.00 1.00 30\n\n[[11 0 0]\n [ 0 13 0]\n [ 0 0 6]]\naccuracy is 1.0\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "1311eb15f2afceed2219faeb859d0d07b7072176" + }, + "cell_type": "markdown", + "source": "
\n## 7-19 Bagging classifier \nA Bagging classifier is an ensemble **meta-estimator** that fits base classifiers each on random subsets of the original dataset and then aggregate their individual predictions (either by voting or by averaging) to form a final prediction. Such a meta-estimator can typically be used as a way to reduce the variance of a black-box estimator (e.g., a decision tree), by introducing randomization into its construction procedure and then making an ensemble out of it.\n\nThis algorithm encompasses several works from the literature. When random subsets of the dataset are drawn as random subsets of the samples, then this algorithm is known as Pasting . If samples are drawn with replacement, then the method is known as Bagging . When random subsets of the dataset are drawn as random subsets of the features, then the method is known as Random Subspaces . Finally, when base estimators are built on subsets of both samples and features, then the method is known as Random Patches .[http://scikit-learn.org]\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "c11c731d3db6c1c81301da85dc158cb7d324c4cb", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import BaggingClassifier\nModel=BaggingClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": 84, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 1.00 1.00 1.00 11\nIris-versicolor 0.93 1.00 0.96 13\n Iris-virginica 1.00 0.83 0.91 6\n\n micro avg 0.97 0.97 0.97 30\n macro avg 0.98 0.94 0.96 30\n weighted avg 0.97 0.97 0.97 30\n\n[[11 0 0]\n [ 0 13 1]\n [ 0 0 5]]\naccuracy is 0.9666666666666667\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "c0944bd32424f38906148d96f4b1e6fccfbf97a6" + }, + "cell_type": "markdown", + "source": "
\n## 7-20 AdaBoost classifier\n\nAn AdaBoost classifier is a meta-estimator that begins by fitting a classifier on the original dataset and then fits additional copies of the classifier on the same dataset but where the weights of incorrectly classified instances are adjusted such that subsequent classifiers focus more on difficult cases.\nThis class implements the algorithm known as **AdaBoost-SAMME** ." + }, + { + "metadata": { + "_uuid": "938946ee8e017b982c4c06e193d4d13cb7d3fb5f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import AdaBoostClassifier\nModel=AdaBoostClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": 85, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 1.00 1.00 1.00 11\nIris-versicolor 0.93 1.00 0.96 13\n Iris-virginica 1.00 0.83 0.91 6\n\n micro avg 0.97 0.97 0.97 30\n macro avg 0.98 0.94 0.96 30\n weighted avg 0.97 0.97 0.97 30\n\n[[11 0 0]\n [ 0 13 1]\n [ 0 0 5]]\naccuracy is 0.9666666666666667\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "9d62842d12731d3eb1d6577c5b35c12c4886c708" + }, + "cell_type": "markdown", + "source": "
\n## 7-21 Gradient Boosting Classifier\nGB builds an additive model in a forward stage-wise fashion; it allows for the optimization of arbitrary differentiable loss functions." + }, + { + "metadata": { + "_uuid": "863124561c0d1b5995d0b8d3702daa7bc364d6b0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import GradientBoostingClassifier\nModel=GradientBoostingClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": 86, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 1.00 1.00 1.00 11\nIris-versicolor 0.93 1.00 0.96 13\n Iris-virginica 1.00 0.83 0.91 6\n\n micro avg 0.97 0.97 0.97 30\n macro avg 0.98 0.94 0.96 30\n weighted avg 0.97 0.97 0.97 30\n\n[[11 0 0]\n [ 0 13 1]\n [ 0 0 5]]\naccuracy is 0.9666666666666667\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "e89b4494bd78c2d66beeba34a4e320fd8c9dae0c" + }, + "cell_type": "markdown", + "source": "
\n## 7-22 Linear Discriminant Analysis\nLinear Discriminant Analysis (discriminant_analysis.LinearDiscriminantAnalysis) and Quadratic Discriminant Analysis (discriminant_analysis.QuadraticDiscriminantAnalysis) are two classic classifiers, with, as their names suggest, a **linear and a quadratic decision surface**, respectively.\n\nThese classifiers are attractive because they have closed-form solutions that can be easily computed, are inherently multiclass, have proven to work well in practice, and have no **hyperparameters** to tune.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "0796cd9f1c902345df605b7557a9c3ff686e35a9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.discriminant_analysis import LinearDiscriminantAnalysis\nModel=LinearDiscriminantAnalysis()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": 87, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 1.00 1.00 1.00 11\nIris-versicolor 1.00 1.00 1.00 13\n Iris-virginica 1.00 1.00 1.00 6\n\n micro avg 1.00 1.00 1.00 30\n macro avg 1.00 1.00 1.00 30\n weighted avg 1.00 1.00 1.00 30\n\n[[11 0 0]\n [ 0 13 0]\n [ 0 0 6]]\naccuracy is 1.0\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "296137970fc94fa4a4eb4185cb5fa952b1985c57" + }, + "cell_type": "markdown", + "source": "
\n## 7-23 Quadratic Discriminant Analysis\nA classifier with a quadratic decision boundary, generated by fitting class conditional densities to the data and using Bayes’ rule.\n\nThe model fits a **Gaussian** density to each class.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "5f521d19f295b8e8f24f5715e93b1c45e9a6bce3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis\nModel=QuadraticDiscriminantAnalysis()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": 88, + "outputs": [ + { + "output_type": "stream", + "text": " precision recall f1-score support\n\n Iris-setosa 1.00 1.00 1.00 11\nIris-versicolor 1.00 1.00 1.00 13\n Iris-virginica 1.00 1.00 1.00 6\n\n micro avg 1.00 1.00 1.00 30\n macro avg 1.00 1.00 1.00 30\n weighted avg 1.00 1.00 1.00 30\n\n[[11 0 0]\n [ 0 13 0]\n [ 0 0 6]]\naccuracy is 1.0\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "0518634bf8850ac1bfcfc301e93a8740e1995c3a" + }, + "cell_type": "markdown", + "source": "
\n## 7-24 Kmeans \nK-means clustering is a type of unsupervised learning, which is used when you have unlabeled data (i.e., data without defined categories or groups). \n\nThe goal of this algorithm is **to find groups in the data**, with the number of groups represented by the variable K. The algorithm works iteratively to assign each data point to one of K groups based on the features that are provided.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "427f08af02fc7288a5e35de5ff4b6c33b8fce491", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.cluster import KMeans\niris_SP = dataset[['SepalLengthCm','SepalWidthCm','PetalLengthCm','PetalWidthCm']]\n# k-means cluster analysis for 1-15 clusters \nfrom scipy.spatial.distance import cdist\nclusters=range(1,15)\nmeandist=[]\n\n# loop through each cluster and fit the model to the train set\n# generate the predicted cluster assingment and append the mean \n# distance my taking the sum divided by the shape\nfor k in clusters:\n model=KMeans(n_clusters=k)\n model.fit(iris_SP)\n clusassign=model.predict(iris_SP)\n meandist.append(sum(np.min(cdist(iris_SP, model.cluster_centers_, 'euclidean'), axis=1))\n / iris_SP.shape[0])\n\n\"\"\"\nPlot average distance from observations from the cluster centroid\nto use the Elbow Method to identify number of clusters to choose\n\"\"\"\nplt.plot(clusters, meandist)\nplt.xlabel('Number of clusters')\nplt.ylabel('Average distance')\nplt.title('Selecting k with the Elbow Method') \n# pick the fewest number of clusters that reduces the average distance\n# If you observe after 3 we can see graph is almost linear", + "execution_count": 89, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 89, + "data": { + "text/plain": "Text(0.5,1,'Selecting k with the Elbow Method')" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "7dfdff6d8a54c846d12a3c234e7765bb7f9d06f3" + }, + "cell_type": "markdown", + "source": "
\n## 7-25 Plot classification probability" + }, + { + "metadata": { + "trusted": true, + "_uuid": "f8e04572a7c768f5928229a8896dc65008571cbc", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print(__doc__)\n\n# Author: Alexandre Gramfort \n# License: BSD 3 clause\n\n\niris = datasets.load_iris()\nX = iris.data[:, 0:2] # we only take the first two features for visualization\ny = iris.target\n\nn_features = X.shape[1]\n\nC = 10\nkernel = 1.0 * RBF([1.0, 1.0]) # for GPC\n\n# Create different classifiers.\nclassifiers = {\n 'L1 logistic': LogisticRegression(C=C, penalty='l1',\n solver='saga',\n multi_class='multinomial',\n max_iter=10000),\n 'L2 logistic (Multinomial)': LogisticRegression(C=C, penalty='l2',\n solver='saga',\n multi_class='multinomial',\n max_iter=10000),\n 'L2 logistic (OvR)': LogisticRegression(C=C, penalty='l2',\n solver='saga',\n multi_class='ovr',\n max_iter=10000),\n 'Linear SVC': SVC(kernel='linear', C=C, probability=True,\n random_state=0),\n 'GPC': GaussianProcessClassifier(kernel)\n}\n\nn_classifiers = len(classifiers)\n\nplt.figure(figsize=(3 * 2, n_classifiers * 2))\nplt.subplots_adjust(bottom=.2, top=.95)\n\nxx = np.linspace(3, 9, 100)\nyy = np.linspace(1, 5, 100).T\nxx, yy = np.meshgrid(xx, yy)\nXfull = np.c_[xx.ravel(), yy.ravel()]\n\nfor index, (name, classifier) in enumerate(classifiers.items()):\n classifier.fit(X, y)\n\n y_pred = classifier.predict(X)\n accuracy = accuracy_score(y, y_pred)\n print(\"Accuracy (train) for %s: %0.1f%% \" % (name, accuracy * 100))\n\n # View probabilities:\n probas = classifier.predict_proba(Xfull)\n n_classes = np.unique(y_pred).size\n for k in range(n_classes):\n plt.subplot(n_classifiers, n_classes, index * n_classes + k + 1)\n plt.title(\"Class %d\" % k)\n if k == 0:\n plt.ylabel(name)\n imshow_handle = plt.imshow(probas[:, k].reshape((100, 100)),\n extent=(3, 9, 1, 5), origin='lower')\n plt.xticks(())\n plt.yticks(())\n idx = (y_pred == k)\n if idx.any():\n plt.scatter(X[idx, 0], X[idx, 1], marker='o', c='w', edgecolor='k')\n\nax = plt.axes([0.15, 0.04, 0.7, 0.05])\nplt.title(\"Probability\")\nplt.colorbar(imshow_handle, cax=ax, orientation='horizontal')\n\nplt.show()", + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": "\nPlot average distance from observations from the cluster centroid\nto use the Elbow Method to identify number of clusters to choose\n\nAccuracy (train) for L1 logistic: 82.7% \nAccuracy (train) for L2 logistic (Multinomial): 82.7% \nAccuracy (train) for L2 logistic (OvR): 79.3% \nAccuracy (train) for Linear SVC: 82.0% \n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "9b5bef86a8db19453817ecce661079eb4cad4fa8" + }, + "cell_type": "markdown", + "source": " # 9- Read more\n \n you can start to learn and review your knowledge about ML with a perfect dataset and try to learn and memorize the workflow for your journey in Data science world with read more sources, here I want to give some courses, e-books and cheatsheet:\n ## 9-1 Courses\n \nThere are a lot of online courses that can help you develop your knowledge, here I have just listed some of them:\n\n1. [Machine Learning Certification by Stanford University (Coursera)](https://www.coursera.org/learn/machine-learning/)\n\n2. [Machine Learning A-Z™: Hands-On Python & R In Data Science (Udemy)](https://www.udemy.com/machinelearning/)\n\n3. [Deep Learning Certification by Andrew Ng from deeplearning.ai (Coursera)](https://www.coursera.org/specializations/deep-learning)\n\n4. [Python for Data Science and Machine Learning Bootcamp (Udemy)](Python for Data Science and Machine Learning Bootcamp (Udemy))\n\n5. [Mathematics for Machine Learning by Imperial College London](https://www.coursera.org/specializations/mathematics-machine-learning)\n\n6. [Deep Learning A-Z™: Hands-On Artificial Neural Networks](https://www.udemy.com/deeplearning/)\n\n7. [Complete Guide to TensorFlow for Deep Learning Tutorial with Python](https://www.udemy.com/complete-guide-to-tensorflow-for-deep-learning-with-python/)\n\n8. [Data Science and Machine Learning Tutorial with Python – Hands On](https://www.udemy.com/data-science-and-machine-learning-with-python-hands-on/)\n\n9. [Machine Learning Certification by University of Washington](https://www.coursera.org/specializations/machine-learning)\n\n10. [Data Science and Machine Learning Bootcamp with R](https://www.udemy.com/data-science-and-machine-learning-bootcamp-with-r/)\n11. [Creative Applications of Deep Learning with TensorFlow](https://www.class-central.com/course/kadenze-creative-applications-of-deep-learning-with-tensorflow-6679)\n12. [Neural Networks for Machine Learning](https://www.class-central.com/mooc/398/coursera-neural-networks-for-machine-learning)\n13. [Practical Deep Learning For Coders, Part 1](https://www.class-central.com/mooc/7887/practical-deep-learning-for-coders-part-1)\n14. [Machine Learning](https://www.cs.ox.ac.uk/teaching/courses/2014-2015/ml/index.html)\n\n## 9-2 Ebooks\n\nSo you love reading , here is **10 free machine learning books**\n1. [Probability and Statistics for Programmers](http://www.greenteapress.com/thinkstats/)\n2. [Bayesian Reasoning and Machine Learning](http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/091117.pdf)\n2. [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/)\n2. [Understanding Machine Learning](http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/index.html)\n2. [A Programmer’s Guide to Data Mining](http://guidetodatamining.com/)\n2. [Mining of Massive Datasets](http://infolab.stanford.edu/~ullman/mmds/book.pdf)\n2. [A Brief Introduction to Neural Networks](http://www.dkriesel.com/_media/science/neuronalenetze-en-zeta2-2col-dkrieselcom.pdf)\n2. [Deep Learning](http://www.deeplearningbook.org/)\n2. [Natural Language Processing with Python](https://www.researchgate.net/publication/220691633_Natural_Language_Processing_with_Python)\n2. [Machine Learning Yearning](http://www.mlyearning.org/)\n\n## 9-3 Cheat Sheets\n\nData Science is an ever-growing field, there are numerous tools & techniques to remember. It is not possible for anyone to remember all the functions, operations and formulas of each concept. That’s why we have cheat sheets. But there are a plethora of cheat sheets available out there, choosing the right cheat sheet is a tough task. So, I decided to write this article.\n\nHere I have selected the cheat sheets on the following criteria: comprehensiveness, clarity, and content [26]:\n1. [Quick Guide to learn Python for Data Science ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Science-in-Python.pdf)\n1. [Python for Data Science Cheat sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/beginners_python_cheat_sheet.pdf)\n1. [Python For Data Science Cheat Sheet NumPy](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Numpy_Python_Cheat_Sheet.pdf)\n1. [Exploratory Data Analysis in Python]()\n1. [Data Exploration using Pandas in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Exploration-in-Python.pdf)\n1. [Data Visualisation in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/data-visualisation-infographics1.jpg)\n1. [Python For Data Science Cheat Sheet Bokeh](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Python_Bokeh_Cheat_Sheet.pdf)\n1. [Cheat Sheet: Scikit Learn ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Scikit-Learn-Infographic.pdf)\n1. [MLalgorithms CheatSheet](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/MLalgorithms-.pdf)\n1. [Probability Basics Cheat Sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/probability_cheatsheet.pdf)" + }, + { + "metadata": { + "_uuid": "fe3d19ff691fcc7c7edf8d2cb1224e3bdeee396e" + }, + "cell_type": "markdown", + "source": "
\n# 8- conclusion\nThis kernel is a simple tutorial for machine learning with sklearn and it is not completed yet!" + }, + { + "metadata": { + "_uuid": "a8424e6f84874112757040d36b93542a2e5ba8cb" + }, + "cell_type": "markdown", + "source": ">###### you may be interested have a look at it: [**10-steps-to-become-a-data-scientist**](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n---------------------------------------------------------------------\nyou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n-------------------------------------------------------------------------------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "1923ba01df86012077df2a2750b92ebb2adb8236" + }, + "cell_type": "markdown", + "source": "
\n# 9- References\n1. [Coursera](https://www.coursera.org/specializations/data-science-python)\n1. [GitHub](https://github.com/mjbahmani)\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "7f0644ae4e74da4a20cba4e9094ed2458be44361" + }, + "cell_type": "markdown", + "source": "#### This Kernel is not completed and will be updated soon!!!" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/A journey with Scikit-Learn/A journey with Scikit-Learn.ipynb b/A journey with Scikit-Learn/A journey with Scikit-Learn.ipynb new file mode 100644 index 0000000..f4c32ab --- /dev/null +++ b/A journey with Scikit-Learn/A journey with Scikit-Learn.ipynb @@ -0,0 +1,815 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "1247188a5193a0bb99f176fea36dc594d283160e" + }, + "cell_type": "markdown", + "source": "##
A Journey with Scikit-Learn
\n\n
There are plenty of courses and tutorials that can help you learn Scikit-Learn from scratch but here in Kaggle, After reading, you can use this workflow to solve other real problems and use it as a template to deal with machine learning problems.
\n
last update: 11/08/2018
\n\n\n\n\n>###### you may be interested have a look at it: [**10-steps-to-become-a-data-scientist**](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n---------------------------------------------------------------------\nyou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/Machine-Learning-Workflow-with-Python)\n\n-------------------------------------------------------------------------------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "0a45d14ee727bf2f88a7cd0ba5e6aa338977d10b" + }, + "cell_type": "markdown", + "source": "## Notebook Content\n1. [Introduction](#1)\n 1. [Import](#2)\n 1. [Version](#3)\n1. [Algorithms](#4)\n 1. [Data Collection](#5)\n1. [Framework](#6)\n1. [Applications](#7)\n1. [How to use Sklearn Data Set? ](#8)\n1. [Loading external data](#9)\n1. [Model Deployment](#10)\n 1. [Families of ML algorithms](#11)\n 1. [Prepare Features & Targets](#12)\n 1. [Accuracy and precision](#13)\n 1. [Estimators](#14)\n 1. [Predictors](#15)\n 1. [K-Nearest Neighbours](#16)\n 1. [Radius Neighbors Classifier](#17)\n 1. [Logistic Regression](#18)\n 1. [Passive Aggressive Classifier](#19)\n 1. [Naive Bayes](#20)\n 1. [BernoulliNB](#21)\n 1. [SVM](#22)\n 1. [Nu-Support Vector Classification](#23)\n 1. [Linear Support Vector Classification](#24)\n 1. [Decision Tree](#25)\n 1. [ExtraTreeClassifier](#26)\n 1. [Neural network](#27)\n 1. [What is a Perceptron?](#28)\n 1. [The XOR Problem](#29)\n 1. [RandomForest](#30)\n 1. [Bagging classifier ](#31)\n 1. [AdaBoost classifier](#32)\n 1. [Gradient Boosting Classifier](#33)\n 1. [Linear Discriminant Analysis](#34)\n 1. [Quadratic Discriminant Analysis](#35)\n 1. [Kmeans](#36)\n1. [conclusion](#37)\n1. [References](#38)" + }, + { + "metadata": { + "_uuid": "ec7344e7f2a1bafa9a44a518722fcd8ec47c374b" + }, + "cell_type": "markdown", + "source": "
\n## 1-Introduction\n\n- The __open source__ Python ecosystem provides __a standalone, versatile and powerful scientific working environment__, including: [NumPy](http://numpy.org), [SciPy](http://scipy.org), [IPython](http://ipython.org), [Matplotlib](http://matplotlib.org), [Pandas](http://pandas.pydata.org/), _and many others..._\n\n\n\n- Scikit-Learn builds upon NumPy and SciPy and __complements__ this scientific environment with machine learning algorithms;\n- By design, Scikit-Learn is __non-intrusive__, easy to use and easy to combine with other libraries;\n- Core algorithms are implemented in low-level languages." + }, + { + "metadata": { + "_uuid": "4e28cde75726e3617dc80585626f7f8a1297a9e4" + }, + "cell_type": "markdown", + "source": "
\n### 1-1 Import" + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.model_selection import train_test_split\nfrom sklearn.metrics import classification_report\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.metrics import accuracy_score\nfrom sklearn.decomposition import PCA\nimport matplotlib.pyplot as plt\nfrom pandas import get_dummies\nimport plotly.graph_objs as go\nfrom sklearn import datasets\nimport seaborn as sns\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport scipy\nimport numpy\nimport json\nimport sys\nimport csv\nimport os", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3c3c434ac82d771c5549c4f36d0e8e878489f252" + }, + "cell_type": "markdown", + "source": "
\n### 1-2 Version" + }, + { + "metadata": { + "_uuid": "72fdff866b7cbe404867e82f9122e16fc33facf2", + "trusted": true + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "cell_type": "markdown", + "source": "\n" + }, + { + "metadata": { + "_uuid": "6e80040de557789b0dff267ce45ba3e494885fee" + }, + "cell_type": "markdown", + "source": "
\n## 2- Algorithms" + }, + { + "metadata": { + "_uuid": "666c206f83175114a513b37fb9ae322b5cd8543e" + }, + "cell_type": "markdown", + "source": "**Supervised learning**:\n\n* Linear models (Ridge, Lasso, Elastic Net, ...)\n* Support Vector Machines\n* Tree-based methods (Random Forests, Bagging, GBRT, ...)\n* Nearest neighbors \n* Neural networks (basics)\n* Gaussian Processes\n* Feature selection" + }, + { + "metadata": { + "_uuid": "44eef8d741beebe15555c5166360b2ce77f5d5b1" + }, + "cell_type": "markdown", + "source": "**Unsupervised learning**:\n\n* Clustering (KMeans, Ward, ...)\n* Matrix decomposition (PCA, ICA, ...)\n* Density estimation\n* Outlier detection" + }, + { + "metadata": { + "_uuid": "8da2cc5428b697a7b5f21d34038d343bb8b094bb" + }, + "cell_type": "markdown", + "source": "__Model selection and evaluation:__\n\n* Cross-validation\n* Grid-search\n* Lots of metrics\n\n_... and many more!_ (See our [Reference](http://scikit-learn.org/dev/modules/classes.html))\n
\n## 2 -1 Data Collection\n**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n\n**Iris dataset** consists of 3 different types of irises’ (Setosa, Versicolour, and Virginica) petal and sepal length, stored in a 150x4 numpy.ndarray\n\nThe rows being the samples and the columns being: Sepal Length, Sepal Width, Petal Length and Petal Width.[6]" + }, + { + "metadata": { + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "trusted": true + }, + "cell_type": "code", + "source": "# import Dataset to play with it\ndataset = pd.read_csv('../input/Iris.csv')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "cell_type": "markdown", + "source": "**<< Note 1 >>**\n\n* Each row is an observation (also known as : sample, example, instance, record)\n* Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)" + }, + { + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "cell_type": "markdown", + "source": "After loading the data via **pandas**, we should checkout what the content is, description and via the following:" + }, + { + "metadata": { + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true + }, + "cell_type": "code", + "source": "type(dataset)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e8a877d51d20c1ad31bb635cffc89175426eb77c" + }, + "cell_type": "markdown", + "source": "
\n## 3- Framework\n\nData comes as a finite learning set ${\\cal L} = (X, y)$ where\n* Input samples are given as an array $X$ of shape `n_samples` $\\times$ `n_features`, taking their values in ${\\cal X}$;\n* Output values are given as an array $y$, taking _symbolic_ values in ${\\cal Y}$." + }, + { + "metadata": { + "_uuid": "bafb45df9ecfe90563f2f9a1be8a327823cf6d35" + }, + "cell_type": "markdown", + "source": "The goal of supervised classification is to build an estimator $\\varphi: {\\cal X} \\mapsto {\\cal Y}$ minimizing\n\n$$\nErr(\\varphi) = \\mathbb{E}_{X,Y}\\{ \\ell(Y, \\varphi(X)) \\}\n$$\n\nwhere $\\ell$ is a loss function, e.g., the zero-one loss for classification $\\ell_{01}(Y,\\hat{Y}) = 1(Y \\neq \\hat{Y})$." + }, + { + "metadata": { + "_uuid": "7efef8f514caf78e7bc2a60b4d5c0e7fa6d160ac" + }, + "cell_type": "markdown", + "source": "
\n## 4- Applications\n\n- Classifying signal from background events; \n- Diagnosing disease from symptoms;\n- Recognising cats in pictures;\n- Identifying body parts with Kinect cameras;\n- ...\n " + }, + { + "metadata": { + "_uuid": "7cc13baab79cbc6446763e4ebe8feba2c95e74c9" + }, + "cell_type": "markdown", + "source": "
\n## 5- How to use Sklearn Data Set? \n\n- Input data = Numpy arrays or Scipy sparse matrices ;\n- Algorithms are expressed using high-level operations defined on matrices or vectors (similar to MATLAB) ;\n - Leverage efficient low-leverage implementations ;\n - Keep code short and readable. " + }, + { + "metadata": { + "_uuid": "ea74e169f182b48bc12abc501df217e7c711157c", + "trusted": true + }, + "cell_type": "code", + "source": "# Generate data\nfrom sklearn.datasets import make_blobs\nimport numpy as np\nX, y = make_blobs(n_samples=1000, centers=20, random_state=123)\nlabels = [\"b\", \"r\"]\ny = np.take(labels, (y < 10))\nprint(X) \nprint(y[:5])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9430d1ac40a1d7ba715347c27039b9b0859e674a", + "trusted": true + }, + "cell_type": "code", + "source": "# X is a 2 dimensional array, with 1000 rows and 2 columns\nprint(X.shape)\n \n# y is a vector of 1000 elements\nprint(y.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0e4d94f4cde57a7f8aeaec876d0020b144fd7818", + "trusted": true + }, + "cell_type": "code", + "source": "# Rows and columns can be accessed with lists, slices or masks\nprint(X[[1, 2, 3]]) # rows 1, 2 and 3\nprint(X[:5]) # 5 first rows\nprint(X[500:510, 0]) # values from row 500 to row 510 at column 0\nprint(X[y == \"b\"][:5]) # 5 first rows for which y is \"b\"", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f87a77afd2c6d75c7d20390394a1f9ae569a30dc", + "trusted": true + }, + "cell_type": "code", + "source": "# Plot\nfrom matplotlib import pyplot as plt\nplt.rcParams[\"figure.figsize\"] = (8, 8)\nplt.rcParams[\"figure.max_open_warning\"] = -1\nplt.figure()\nfor label in labels:\n mask = (y == label)\n plt.scatter(X[mask, 0], X[mask, 1], c=label)\nplt.xlim(-10, 10)\nplt.ylim(-10, 10)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "af3faf3d05bc406b6d882f527f5f5637c4e572a8" + }, + "cell_type": "markdown", + "source": "
\n## 6- Loading external data\n\n- Numpy provides some [simple tools](https://docs.scipy.org/doc/numpy/reference/routines.io.html) for loading data from files (CSV, binary, etc);\n\n- For structured data, Pandas provides more [advanced tools](http://pandas.pydata.org/pandas-docs/stable/io.html) (CSV, JSON, Excel, HDF5, SQL, etc);" + }, + { + "metadata": { + "_uuid": "72cc7c7b60a33390a85b16bc34e3b9e424650cdd" + }, + "cell_type": "markdown", + "source": "
\n## 7- Model Deployment\nAll learning algorithms in scikit-learn share a uniform and limited API consisting of complementary interfaces:\n\n- an `estimator` interface for building and fitting models;\n- a `predictor` interface for making predictions;\n- a `transformer` interface for converting data.\n\nGoal: enforce a simple and consistent API to __make it trivial to swap or plug algorithms__. \n\nIn this section have been applied more than **20 learning algorithms** that play an important rule in your experiences and improve your knowledge in case of using sklearn.\n\n> **<< Note 3 >>** : The results shown here may be slightly different for your analysis because, for example, the neural network algorithms use random number generators for fixing the initial value of the weights (starting points) of the neural networks, which often result in obtaining slightly different (local minima) solutions each time you run the analysis. Also note that changing the seed for the random number generator used to create the train, test, and validation samples can change your results." + }, + { + "metadata": { + "_uuid": "4b7788bbaaace438242d3b2d0d2ed489a91939ce" + }, + "cell_type": "markdown", + "source": "
\n## 7-1 Families of ML algorithms\nThere are several categories for machine learning algorithms, below are some of these categories:\n* Linear\n * Linear Regression\n * Logistic Regression\n * Support Vector Machines\n* Tree-Based\n * Decision Tree\n * Random Forest\n * GBDT\n* KNN\n* Neural Networks\n\n-----------------------------\nAnd if we want to categorize ML algorithms with the type of learning, there are below type:\n* Classification\n\n * k-Nearest \tNeighbors\n * LinearRegression\n * SVM\n * DT \n * NN\n \n* clustering\n\n * K-means\n * HCA\n * Expectation Maximization\n \n* Visualization \tand\tdimensionality \treduction:\n\n * Principal \tComponent \tAnalysis(PCA)\n * Kernel PCA\n * Locally -Linear\tEmbedding \t(LLE)\n * t-distributed\tStochastic\tNeighbor\tEmbedding \t(t-SNE)\n \n* Association \trule\tlearning\n\n * Apriori\n * Eclat\n* Semisupervised learning\n* Reinforcement Learning\n * Q-learning\n* Batch learning & Online learning\n* Ensemble Learning\n\n**<< Note >>**\n> Here is no method which outperforms all others for all tasks\n\n" + }, + { + "metadata": { + "_uuid": "daf9910caba26e071ff560dbdaca079ee148e140" + }, + "cell_type": "markdown", + "source": "
\n## 7-2 Prepare Features & Targets\nFirst of all seperating the data into dependent(Feature) and independent(Target) variables.\n\n**<< Note 4 >>**\n* X==>>Feature\n* y==>>Target\n## Test error\n\nIssue: the training error is a __biased__ estimate of the generalization error.\n\nSolution: Divide ${\\cal L}$ into two disjoint parts called training and test sets (usually using 70% for training and 30% for test).\n- Use the training set for fitting the model;\n- Use the test set for evaluation only, thereby yielding an unbiased estimate." + }, + { + "metadata": { + "_uuid": "b06cb1191a0f52a904c52a918d1f999536e79bda", + "trusted": true + }, + "cell_type": "code", + "source": "\nX = dataset.iloc[:, :-1].values\ny = dataset.iloc[:, -1].values\n\n# Splitting the dataset into the Training set and Test set\nfrom sklearn.model_selection import train_test_split\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d13f167dd92888d856c4ad2ff2895bf4855e361c" + }, + "cell_type": "markdown", + "source": "
\n## 7-3 Accuracy and precision\n- Recall that we want to learn an estimator $\\varphi$ minimizing the generalization error $Err(\\varphi) = \\mathbb{E}_{X,Y}\\{ \\ell(Y, \\varphi(X)) \\}$.\n\n- Problem: Since $P_{X,Y}$ is unknown, the generalization error $Err(\\varphi)$ cannot be evaluated.\n\n- Solution: Use a proxy to approximate $Err(\\varphi)$.\n* **precision** : \n\nIn pattern recognition, information retrieval and binary classification, precision (also called positive predictive value) is the fraction of relevant instances among the retrieved instances, \n* **recall** : \n\nrecall is the fraction of relevant instances that have been retrieved over the total amount of relevant instances. \n* **F-score** :\n\nthe F1 score is a measure of a test's accuracy. It considers both the precision p and the recall r of the test to compute the score: p is the number of correct positive results divided by the number of all positive results returned by the classifier, and r is the number of correct positive results divided by the number of all relevant samples (all samples that should have been identified as positive). The F1 score is the harmonic average of the precision and recall, where an F1 score reaches its best value at 1 (perfect precision and recall) and worst at 0.\n**What is the difference between accuracy and precision?\n\"Accuracy\" and \"precision\" are general terms throughout science. A good way to internalize the difference are the common \"bullseye diagrams\". In machine learning/statistics as a whole, accuracy vs. precision is analogous to bias vs. variance." + }, + { + "metadata": { + "_uuid": "bc2471a2bc5d24fbee0532a71219e8b25996c20c" + }, + "cell_type": "markdown", + "source": "
\n## 7-4- Estimators" + }, + { + "metadata": { + "_uuid": "ae2c9909a05b213a567338be03f0b880dcbc42fd", + "trusted": true + }, + "cell_type": "code", + "source": "class Estimator(object):\n def fit(self, X, y=None):\n \"\"\"Fits estimator to data.\"\"\"\n # set state of ``self``\n return self", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c7c25b799b47dd172f3f73e2c85d2670b0095124", + "trusted": true + }, + "cell_type": "code", + "source": "# Import the nearest neighbor class\nfrom sklearn.neighbors import KNeighborsClassifier # Change this to try \n # something else\n\n# Set hyper-parameters, for controlling algorithm\nclf = KNeighborsClassifier(n_neighbors=5)\n\n# Learn a model from training data\nclf.fit(X, y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f3813605cc909c6fecd52a12e2edc37ad4cc42c2", + "trusted": true + }, + "cell_type": "code", + "source": "# Estimator state is stored in instance attributes\nclf._tree", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0984dea25e9a6c6c7b7372057f87c4bacd230375" + }, + "cell_type": "markdown", + "source": "
\n## 7-5- Predictors" + }, + { + "metadata": { + "_uuid": "9ca84979bfe46e0b6ce79ade03ac19efde72f5c3", + "trusted": true + }, + "cell_type": "code", + "source": "# Make predictions \nprint(clf.predict(X[:5])) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1b12ceaf8ca499e5e7d3486955f281f5bd72f34b", + "trusted": true + }, + "cell_type": "code", + "source": "# Compute (approximate) class probabilities\nprint(clf.predict_proba(X[:5]))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b8b544762cc789bfeb8ebccd6765f77b9c7e1a0f" + }, + "cell_type": "markdown", + "source": "
\n## 7-6 K-Nearest Neighbours\nIn **Machine Learning**, the **k-nearest neighbors algorithm** (k-NN) is a non-parametric method used for classification and regression. In both cases, the input consists of the k closest training examples in the feature space. The output depends on whether k-NN is used for classification or regression:\n\nIn k-NN classification, the output is a class membership. An object is classified by a majority vote of its neighbors, with the object being assigned to the class most common among its k nearest neighbors (k is a positive integer, typically small). If k = 1, then the object is simply assigned to the class of that single nearest neighbor.\nIn k-NN regression, the output is the property value for the object. This value is the average of the values of its k nearest neighbors.\nk-NN is a type of instance-based learning, or lazy learning, where the function is only approximated locally and all computation is deferred until classification. The k-NN algorithm is among the simplest of all machine learning algorithms." + }, + { + "metadata": { + "_uuid": "eaa2caacfbc319932f79c75c549364089d1e649f", + "trusted": true + }, + "cell_type": "code", + "source": "# K-Nearest Neighbours\nfrom sklearn.neighbors import KNeighborsClassifier\n\nModel = KNeighborsClassifier(n_neighbors=8)\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e01bbec9f80532e30c6cf26d5c3fffffb5ea01d4" + }, + "cell_type": "markdown", + "source": "
\n## 7-7 Radius Neighbors Classifier\nClassifier implementing a **vote** among neighbors within a given **radius**\n\nIn scikit-learn **RadiusNeighborsClassifier** is very similar to **KNeighborsClassifier** with the exception of two parameters. First, in RadiusNeighborsClassifier we need to specify the radius of the fixed area used to determine if an observation is a neighbor using radius. Unless there is some substantive reason for setting radius to some value, it is best to treat it like any other hyperparameter and tune it during model selection. The second useful parameter is outlier_label, which indicates what label to give an observation that has no observations within the radius - which itself can often be a useful tool for identifying outliers." + }, + { + "metadata": { + "_uuid": "7728fdafa163e068668cea92cf8d79306b41d458", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.neighbors import RadiusNeighborsClassifier\nModel=RadiusNeighborsClassifier(radius=8.0)\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\n#summary of the predictions made by the classifier\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_test,y_pred))\n#Accouracy score\nprint('accuracy is ', accuracy_score(y_test,y_pred))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e55a785373bf654e0d4b2a78693fab1c8a625acb" + }, + "cell_type": "markdown", + "source": "
\n## 7-8 Logistic Regression\nLogistic regression is the appropriate regression analysis to conduct when the dependent variable is **dichotomous** (binary). Like all regression analyses, the logistic regression is a **predictive analysis**.\n\nIn statistics, the logistic model (or logit model) is a widely used statistical model that, in its basic form, uses a logistic function to model a binary dependent variable; many more complex extensions exist. In regression analysis, logistic regression (or logit regression) is estimating the parameters of a logistic model; it is a form of binomial regression. Mathematically, a binary logistic model has a dependent variable with two possible values, such as pass/fail, win/lose, alive/dead or healthy/sick; these are represented by an indicator variable, where the two values are labeled \"0\" and \"1\"" + }, + { + "metadata": { + "_uuid": "55eb348cf69272192274cd0728a123796b459b55", + "trusted": true + }, + "cell_type": "code", + "source": "# LogisticRegression\nfrom sklearn.linear_model import LogisticRegression\nModel = LogisticRegression()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c0a1c2ccaa4f6e9c5e2e42c47a295ceef7abd3b9" + }, + "cell_type": "markdown", + "source": "
\n## 7-9 Passive Aggressive Classifier" + }, + { + "metadata": { + "_uuid": "d509b2111a143660dd5cb1f02ea2779e38295b77", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.linear_model import PassiveAggressiveClassifier\nModel = PassiveAggressiveClassifier()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "52938b49082dac7b35dc627828838bf12924cc7f" + }, + "cell_type": "markdown", + "source": "
\n## 7-10 Naive Bayes\nIn machine learning, naive Bayes classifiers are a family of simple \"**probabilistic classifiers**\" based on applying Bayes' theorem with strong (naive) independence assumptions between the features." + }, + { + "metadata": { + "_uuid": "522d4a3fa874950d0850a5a9a4178ec763781ec3", + "trusted": true + }, + "cell_type": "code", + "source": "# Naive Bayes\nfrom sklearn.naive_bayes import GaussianNB\nModel = GaussianNB()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e530d18ab308e36d575806583e534cc07fe61c61" + }, + "cell_type": "markdown", + "source": "
\n## 7-11 BernoulliNB\nLike MultinomialNB, this classifier is suitable for **discrete data**. The difference is that while MultinomialNB works with occurrence counts, BernoulliNB is designed for binary/boolean features." + }, + { + "metadata": { + "_uuid": "e7051b5e9aa144b74e9913cb2a6668832e7f3e02", + "trusted": true + }, + "cell_type": "code", + "source": "# BernoulliNB\nfrom sklearn.naive_bayes import BernoulliNB\nModel = BernoulliNB()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "386d2d0e4fc7f5dc2b9298226d8e2ecfb7150346" + }, + "cell_type": "markdown", + "source": "
\n## 7-12 SVM\n\nThe advantages of support vector machines are:\n* Effective in high dimensional spaces.\n* Still effective in cases where number of dimensions is greater than the number of samples. \n* Uses a subset of training points in the decision function (called support vectors), so it is also memory efficient.\n* Versatile: different Kernel functions can be specified for the decision function. Common kernels are provided, but it is also possible to specify custom kernels.\n\nThe disadvantages of support vector machines include:\n\n* If the number of features is much greater than the number of samples, avoid over-fitting in choosing Kernel functions and regularization term is crucial.\n* SVMs do not directly provide probability estimates, these are calculated using an expensive five-fold cross-validation" + }, + { + "metadata": { + "_uuid": "a44a5a43945404c95863668c2ba099f6032357f8", + "trusted": true + }, + "cell_type": "code", + "source": "# Support Vector Machine\nfrom sklearn.svm import SVC\n\nModel = SVC()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b1d092cc03dcaa712f4fe4ec6867b292321377d5" + }, + "cell_type": "markdown", + "source": "
\n## 7-13 Nu-Support Vector Classification\n\n> Similar to SVC but uses a parameter to control the number of support vectors." + }, + { + "metadata": { + "_uuid": "2fa7c9a5bef780adb400bd9ad83d030f83a8d2b3", + "trusted": true + }, + "cell_type": "code", + "source": "# Support Vector Machine's \nfrom sklearn.svm import NuSVC\n\nModel = NuSVC()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5d07a75e83251ddbf8cfdfd11c9faa2671ad87ff" + }, + "cell_type": "markdown", + "source": "
\n## 7-14 Linear Support Vector Classification\n\nSimilar to **SVC** with parameter kernel=’linear’, but implemented in terms of liblinear rather than libsvm, so it has more flexibility in the choice of penalties and loss functions and should scale better to large numbers of samples." + }, + { + "metadata": { + "_uuid": "7e7275f160f2e4e270200eaa01c13be5cb465142", + "trusted": true + }, + "cell_type": "code", + "source": "# Linear Support Vector Classification\nfrom sklearn.svm import LinearSVC\n\nModel = LinearSVC()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cec81c9e0c3bc6afba07811a321b5383a0f823f3" + }, + "cell_type": "markdown", + "source": "
\n## 7-15 Decision Tree\nDecision Trees (DTs) are a non-parametric supervised learning method used for **classification** and **regression**. The goal is to create a model that predicts the value of a target variable by learning simple **decision rules** inferred from the data features." + }, + { + "metadata": { + "_uuid": "10e25ad67f7c25a8654637d4ba496b64121d67d0", + "trusted": true + }, + "cell_type": "code", + "source": "# Decision Tree's\nfrom sklearn.tree import DecisionTreeClassifier\n\nModel = DecisionTreeClassifier()\n\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a7d897130fd705943764e924bbe468c99b7c036a" + }, + "cell_type": "markdown", + "source": "
\n## 7-16 ExtraTreeClassifier\nAn extremely randomized tree classifier.\n\nExtra-trees differ from classic decision trees in the way they are built. When looking for the best split to separate the samples of a node into two groups, random splits are drawn for each of the **max_features** randomly selected features and the best split among those is chosen. When max_features is set 1, this amounts to building a totally random decision tree.\n\n**Warning**: Extra-trees should only be used within ensemble methods." + }, + { + "metadata": { + "_uuid": "5a775006a814b6aacdcc07dc46995eb291b873f1", + "trusted": true + }, + "cell_type": "code", + "source": "# ExtraTreeClassifier\nfrom sklearn.tree import ExtraTreeClassifier\n\nModel = ExtraTreeClassifier()\n\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "48f940f73580a2997d75f22eba09d938c86a1a97" + }, + "cell_type": "markdown", + "source": "
\n## 7-17 Neural network\n\nI have used multi-layer Perceptron classifier.\nThis model optimizes the log-loss function using **LBFGS** or **stochastic gradient descent**." + }, + { + "metadata": { + "_uuid": "1c10482510f654878f93b573dc1abe4112b861eb" + }, + "cell_type": "markdown", + "source": "
\n## 7-17-1 What is a Perceptron?" + }, + { + "metadata": { + "_uuid": "a94d82b497cbe543da0a637ecfed6e9e8b7569e7" + }, + "cell_type": "markdown", + "source": "There are many online examples and tutorials on perceptrons and learning. Here is a list of some articles:\n- [Wikipedia on Perceptrons](https://en.wikipedia.org/wiki/Perceptron)\n- Jurafsky and Martin (ed. 3), Chapter 8" + }, + { + "metadata": { + "_uuid": "e8e4da1a0b3d51a5fff38750fb4631ac3aa7eebb" + }, + "cell_type": "markdown", + "source": "This is an example that I have taken from a draft of the 3rd edition of Jurafsky and Martin, with slight modifications:\nWe import *numpy* and use its *exp* function. We could use the same function from the *math* module, or some other module like *scipy*. The *sigmoid* function is defined as in the textbook:\n" + }, + { + "metadata": { + "_uuid": "196e5a54ed0de712e2254e77439051267cad4b3d", + "trusted": true + }, + "cell_type": "code", + "source": "import numpy as np\n\ndef sigmoid(z):\n return 1 / (1 + np.exp(-z))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9aa207d0bb6a7342932406d8fa68cbd49be866b5" + }, + "cell_type": "markdown", + "source": "Our example data, **weights** $w$, **bias** $b$, and **input** $x$ are defined as:" + }, + { + "metadata": { + "_uuid": "69cae82df8a906ad43594464c6497e05e282dcd1", + "trusted": true + }, + "cell_type": "code", + "source": "w = np.array([0.2, 0.3, 0.8])\nb = 0.5\nx = np.array([0.5, 0.6, 0.1])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8cd5da02c0fc0beedd9a3417e399982293d28fd2" + }, + "cell_type": "markdown", + "source": "Our neural unit would compute $z$ as the **dot-product** $w \\cdot x$ and add the **bias** $b$ to it. The sigmoid function defined above will convert this $z$ value to the **activation value** $a$ of the unit:" + }, + { + "metadata": { + "_uuid": "65d083572bf2cc897d816765db05758b107741ff", + "trusted": true + }, + "cell_type": "code", + "source": "z = w.dot(x) + b\nprint(\"z:\", z)\nprint(\"a:\", sigmoid(z))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9e9101a20c9a167a1d925f3b64aafb94317155e2" + }, + "cell_type": "markdown", + "source": "
\n### 7-17-2 The XOR Problem\nThe power of neural units comes from combining them into larger networks. Minsky and Papert (1969): A single neural unit cannot compute the simple logical function XOR.\n\nThe task is to implement a simple **perceptron** to compute logical operations like AND, OR, and XOR.\n\n- Input: $x_1$ and $x_2$\n- Bias: $b = -1$ for AND; $b = 0$ for OR\n- Weights: $w = [1, 1]$\n\nwith the following activation function:\n\n$$\ny = \\begin{cases}\n \\ 0 & \\quad \\text{if } w \\cdot x + b \\leq 0\\\\\n \\ 1 & \\quad \\text{if } w \\cdot x + b > 0\n \\end{cases}\n$$" + }, + { + "metadata": { + "_uuid": "c03b3a6a5307cc53e637afd6da5c307c985be7ac" + }, + "cell_type": "markdown", + "source": "We can define this activation function in Python as:" + }, + { + "metadata": { + "_uuid": "7b0832df65fc1aa694a1cf67b8713c894b1ed2a2", + "trusted": true + }, + "cell_type": "code", + "source": "def activation(z):\n if z > 0:\n return 1\n return 0", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "27ae56a47bd180ebbfd82b3f0242c8078db6ac97" + }, + "cell_type": "markdown", + "source": "For AND we could implement a perceptron as:" + }, + { + "metadata": { + "_uuid": "3267d3f1a2864f29ff2382a2057b0b88fa74b649", + "trusted": true + }, + "cell_type": "code", + "source": "w = np.array([1, 1])\nb = -1\nx = np.array([0, 0])\nprint(\"0 AND 0:\", activation(w.dot(x) + b))\nx = np.array([1, 0])\nprint(\"1 AND 0:\", activation(w.dot(x) + b))\nx = np.array([0, 1])\nprint(\"0 AND 1:\", activation(w.dot(x) + b))\nx = np.array([1, 1])\nprint(\"1 AND 1:\", activation(w.dot(x) + b))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "dbee1f41f0bd66613f5b49e0f65be4bfd9f91283" + }, + "cell_type": "markdown", + "source": "For OR we could implement a perceptron as:" + }, + { + "metadata": { + "_uuid": "bf47440fb2f5a0fb016286f0a3a41a05a8416495", + "trusted": true + }, + "cell_type": "code", + "source": "w = np.array([1, 1])\nb = 0\nx = np.array([0, 0])\nprint(\"0 OR 0:\", activation(w.dot(x) + b))\nx = np.array([1, 0])\nprint(\"1 OR 0:\", activation(w.dot(x) + b))\nx = np.array([0, 1])\nprint(\"0 OR 1:\", activation(w.dot(x) + b))\nx = np.array([1, 1])\nprint(\"1 OR 1:\", activation(w.dot(x) + b))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "181068ef1b8e1ba568093184c41a118b4c0bfe7f" + }, + "cell_type": "markdown", + "source": "There is no way to implement a perceptron for XOR this way." + }, + { + "metadata": { + "_uuid": "d12494da861ea094378c7cf6a3409803fb5585ac" + }, + "cell_type": "markdown", + "source": "no see our prediction for iris" + }, + { + "metadata": { + "_uuid": "5f040cfaeb71f8caa94e4d7f18cccde8d2a0b8a7", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.neural_network import MLPClassifier\nModel=MLPClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\n# Summary of the predictions\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_test,y_pred))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ffc339dbf9c8da74194b994930694bd97bb2afbb" + }, + "cell_type": "markdown", + "source": "
\n## 7-18 RandomForest\nA random forest is a meta estimator that **fits a number of decision tree classifiers** on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting. \n\nThe sub-sample size is always the same as the original input sample size but the samples are drawn with replacement if bootstrap=True (default)." + }, + { + "metadata": { + "_uuid": "8ed2305b51c2248a8aa62cf4452632f448e83771", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import RandomForestClassifier\nModel=RandomForestClassifier(max_depth=2)\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1311eb15f2afceed2219faeb859d0d07b7072176" + }, + "cell_type": "markdown", + "source": "
\n## 7-19 Bagging classifier \nA Bagging classifier is an ensemble **meta-estimator** that fits base classifiers each on random subsets of the original dataset and then aggregate their individual predictions (either by voting or by averaging) to form a final prediction. Such a meta-estimator can typically be used as a way to reduce the variance of a black-box estimator (e.g., a decision tree), by introducing randomization into its construction procedure and then making an ensemble out of it.\n\nThis algorithm encompasses several works from the literature. When random subsets of the dataset are drawn as random subsets of the samples, then this algorithm is known as Pasting . If samples are drawn with replacement, then the method is known as Bagging . When random subsets of the dataset are drawn as random subsets of the features, then the method is known as Random Subspaces . Finally, when base estimators are built on subsets of both samples and features, then the method is known as Random Patches .[http://scikit-learn.org]" + }, + { + "metadata": { + "_uuid": "c11c731d3db6c1c81301da85dc158cb7d324c4cb", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import BaggingClassifier\nModel=BaggingClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c0944bd32424f38906148d96f4b1e6fccfbf97a6" + }, + "cell_type": "markdown", + "source": "
\n## 7-20 AdaBoost classifier\n\nAn AdaBoost classifier is a meta-estimator that begins by fitting a classifier on the original dataset and then fits additional copies of the classifier on the same dataset but where the weights of incorrectly classified instances are adjusted such that subsequent classifiers focus more on difficult cases.\nThis class implements the algorithm known as **AdaBoost-SAMME** ." + }, + { + "metadata": { + "_uuid": "938946ee8e017b982c4c06e193d4d13cb7d3fb5f", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import AdaBoostClassifier\nModel=AdaBoostClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9d62842d12731d3eb1d6577c5b35c12c4886c708" + }, + "cell_type": "markdown", + "source": "
\n## 7-21 Gradient Boosting Classifier\nGB builds an additive model in a forward stage-wise fashion; it allows for the optimization of arbitrary differentiable loss functions." + }, + { + "metadata": { + "_uuid": "863124561c0d1b5995d0b8d3702daa7bc364d6b0", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import GradientBoostingClassifier\nModel=GradientBoostingClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e89b4494bd78c2d66beeba34a4e320fd8c9dae0c" + }, + "cell_type": "markdown", + "source": "
\n## 7-22 Linear Discriminant Analysis\nLinear Discriminant Analysis (discriminant_analysis.LinearDiscriminantAnalysis) and Quadratic Discriminant Analysis (discriminant_analysis.QuadraticDiscriminantAnalysis) are two classic classifiers, with, as their names suggest, a **linear and a quadratic decision surface**, respectively.\n\nThese classifiers are attractive because they have closed-form solutions that can be easily computed, are inherently multiclass, have proven to work well in practice, and have no **hyperparameters** to tune." + }, + { + "metadata": { + "_uuid": "0796cd9f1c902345df605b7557a9c3ff686e35a9", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.discriminant_analysis import LinearDiscriminantAnalysis\nModel=LinearDiscriminantAnalysis()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "296137970fc94fa4a4eb4185cb5fa952b1985c57" + }, + "cell_type": "markdown", + "source": "
\n## 7-23 Quadratic Discriminant Analysis\nA classifier with a quadratic decision boundary, generated by fitting class conditional densities to the data and using Bayes’ rule.\n\nThe model fits a **Gaussian** density to each class." + }, + { + "metadata": { + "_uuid": "5f521d19f295b8e8f24f5715e93b1c45e9a6bce3", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis\nModel=QuadraticDiscriminantAnalysis()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0518634bf8850ac1bfcfc301e93a8740e1995c3a" + }, + "cell_type": "markdown", + "source": "
\n## 7-24 Kmeans \nK-means clustering is a type of unsupervised learning, which is used when you have unlabeled data (i.e., data without defined categories or groups). \n\nThe goal of this algorithm is **to find groups in the data**, with the number of groups represented by the variable K. The algorithm works iteratively to assign each data point to one of K groups based on the features that are provided.\n\n" + }, + { + "metadata": { + "_uuid": "427f08af02fc7288a5e35de5ff4b6c33b8fce491", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.cluster import KMeans\niris_SP = dataset[['SepalLengthCm','SepalWidthCm','PetalLengthCm','PetalWidthCm']]\n# k-means cluster analysis for 1-15 clusters \nfrom scipy.spatial.distance import cdist\nclusters=range(1,15)\nmeandist=[]\n\n# loop through each cluster and fit the model to the train set\n# generate the predicted cluster assingment and append the mean \n# distance my taking the sum divided by the shape\nfor k in clusters:\n model=KMeans(n_clusters=k)\n model.fit(iris_SP)\n clusassign=model.predict(iris_SP)\n meandist.append(sum(np.min(cdist(iris_SP, model.cluster_centers_, 'euclidean'), axis=1))\n / iris_SP.shape[0])\n\n\"\"\"\nPlot average distance from observations from the cluster centroid\nto use the Elbow Method to identify number of clusters to choose\n\"\"\"\nplt.plot(clusters, meandist)\nplt.xlabel('Number of clusters')\nplt.ylabel('Average distance')\nplt.title('Selecting k with the Elbow Method') \n# pick the fewest number of clusters that reduces the average distance\n# If you observe after 3 we can see graph is almost linear", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fe3d19ff691fcc7c7edf8d2cb1224e3bdeee396e" + }, + "cell_type": "markdown", + "source": "
\n## 8- conclusion\nThis kernel is a simple tutorial for machine learning with sklearn and it is not completed yet!" + }, + { + "metadata": { + "_uuid": "a8424e6f84874112757040d36b93542a2e5ba8cb" + }, + "cell_type": "markdown", + "source": ">###### you may be interested have a look at it: [**10-steps-to-become-a-data-scientist**](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n---------------------------------------------------------------------\nyou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n-------------------------------------------------------------------------------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "1923ba01df86012077df2a2750b92ebb2adb8236" + }, + "cell_type": "markdown", + "source": "
\n## 9- References\n1. [Coursera](https://www.coursera.org/specializations/data-science-python)\n1. [GitHub](https://github.com/mjbahmani)" + }, + { + "metadata": { + "_uuid": "7f0644ae4e74da4a20cba4e9094ed2458be44361" + }, + "cell_type": "markdown", + "source": "#### This Kernel is not completed and will be updated soon!!!" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/CheatSheet/DATA.png b/CheatSheet/DATA.png new file mode 100644 index 0000000..6b1355a Binary files /dev/null and b/CheatSheet/DATA.png differ diff --git a/CheatSheet/microsoft-machine-learning-algorithm-cheat-sheet-v7.pdf b/CheatSheet/microsoft-machine-learning-algorithm-cheat-sheet-v7.pdf new file mode 100644 index 0000000..98fb58e Binary files /dev/null and b/CheatSheet/microsoft-machine-learning-algorithm-cheat-sheet-v7.pdf differ diff --git a/CheatSheet/python_cheat_sheet.pdf b/CheatSheet/python_cheat_sheet.pdf new file mode 100644 index 0000000..35cc635 Binary files /dev/null and b/CheatSheet/python_cheat_sheet.pdf differ diff --git a/Courses/Coursera.txt b/Courses/Coursera.txt new file mode 100644 index 0000000..23ae2ef --- /dev/null +++ b/Courses/Coursera.txt @@ -0,0 +1,10 @@ +this is a courses list that can help you learn machine learning from Coursera: + + + +"Deep Learning" by Andrew Ng + + +Feel free to share free online courses that are not mentioned here! + +If you like more AI and Data Science check out https://aitube.io for free videos, courses, books, papers and more! diff --git a/Courses/DataCamp.txt b/Courses/DataCamp.txt new file mode 100644 index 0000000..88ea147 --- /dev/null +++ b/Courses/DataCamp.txt @@ -0,0 +1,2 @@ +this is a courses list that can help you learn machine learning from Datacamp +https://www.datacamp.com/onboarding diff --git a/Courses/EDX.txt b/Courses/EDX.txt new file mode 100644 index 0000000..ca34f37 --- /dev/null +++ b/Courses/EDX.txt @@ -0,0 +1 @@ +this is a courses list that can help you learn machine learning from EDX diff --git a/Courses/Udacity.txt b/Courses/Udacity.txt new file mode 100644 index 0000000..fb0abc8 --- /dev/null +++ b/Courses/Udacity.txt @@ -0,0 +1,7 @@ +this is a courses list that can help you learn machine learning from Udacity + + +1- "Intro to Machine Learning" on Udacity +2- "Machine Learning by Georgia Tech" on Udacity (Georgia Tech) +3- "Data Wrangling with MongoDB" on Udacity +Feel free to share free online courses that are not mentioned here! diff --git a/Courses/Udemy.txt b/Courses/Udemy.txt new file mode 100644 index 0000000..a35c150 --- /dev/null +++ b/Courses/Udemy.txt @@ -0,0 +1,12 @@ +this is a courses list that can help you learn machine learning from Udemy + +1- Machine Learning A-Z™: Hands-On Python & R In Data Science +2- python-for-data-science-and-machine-learning-bootcamp +3- data-science-and-machine-learning-with-python-hands-on +4- data-science-and-machine-learning-bootcamp-with-r + + + + +Feel free to share free online courses that are not mentioned here! + diff --git a/Data Cleaning in Python for Machine Learning Experts/Data Cleaning in Python for Machine Learning Experts.ipynb b/Data Cleaning in Python for Machine Learning Experts/Data Cleaning in Python for Machine Learning Experts.ipynb new file mode 100644 index 0000000..b178174 --- /dev/null +++ b/Data Cleaning in Python for Machine Learning Experts/Data Cleaning in Python for Machine Learning Experts.ipynb @@ -0,0 +1,861 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "source": [ + "##
Data Cleaning in Python for Machine Learning Experts
\n", + "\n", + "
There are plenty of courses and tutorials that can help you learn machine learning from scratch but here in Kaggle, I want to predict House prices(in the next version) a popular machine learning Dataset as a comprehensive workflow with python packages. \n", + "After reading, you can use this workflow to solve other real problems and use it as a template to deal with machine learning problems.
\n", + "
last update: 10/15/2018
\n", + "\n", + "\n", + "\n", + ">###### you may be interested have a look at it: [**A Comprehensive ML Workflow for House Prices**](https://www.kaggle.com/mjbahmani/a-comprehensive-ml-workflow-for-house-prices)\n", + "\n", + "\n", + "---------------------------------------------------------------------\n", + "you can follow me on:\n", + "> ###### [ GitHub](https://github.com/mjbahmani)\n", + "> ###### [Kaggle](https://www.kaggle.com/mjbahmani/)\n", + "-------------------------------------------------------------------------------------------------------------\n", + " **I hope you find this kernel helpful and some upvotes would be very much appreciated**\n", + " \n", + " -----------" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "source": [ + "## Notebook Content\n", + "* 1- [Introduction](#1)\n", + "* 2- [Machine Learning workflow](#2)\n", + "* 3- [Problem Definition](#3)\n", + "* 3-1 [Problem feature](#4)\n", + "* 3-2 [Aim](#5)\n", + "* 3-3 [Variables](#6)\n", + "* 4-[ Inputs & Outputs](#7)\n", + "* 4-1 [Inputs ](#8)\n", + "* 4-2 [Outputs](#9)\n", + "* 5- [Installation](#10)\n", + "* 5-1 [ jupyter notebook](#11)\n", + "* 5-2[ kaggle kernel](#12)\n", + "* 5-3 [Colab notebook](#13)\n", + "* 5-4 [install python & packages](#14)\n", + "* 5-5 [Loading Packages](#15)\n", + "* 6- [Exploratory data analysis](#16)\n", + "* 6-1 [Data Collection](#17)\n", + "* 6-2 [Visualization](#18)\n", + "* 6-2-1 [Scatter plot](#19)\n", + "* 6-2-2 [Box](#20)\n", + "* 6-2-3 [Histogram](#21)\n", + "* 6-2-4 [Multivariate Plots](#22)\n", + "* 6-2-5 [Violinplots](#23)\n", + "* 6-2-6 [Pair plot](#24)\n", + "* 6-2-7 [Kde plot](#25)\n", + "* 6-2-8 [Joint plot](#26)\n", + "* 6-2-9 [Andrews curves](#27)\n", + "* 6-2-10 [Heatmap](#28)\n", + "* 6-2-11 [Radviz](#29)\n", + "* 6-3 [Data Preprocessing](#30)\n", + "* 6-4 [Data Cleaning](#31)\n", + "* 7- [Model Deployment](#32)\n", + "* 7-1[ KNN](#33)\n", + "* 7-2 [Radius Neighbors Classifier](#34)\n", + "* 7-3 [Logistic Regression](#35)\n", + "* 7-4 [Passive Aggressive Classifier](#36)\n", + "* 7-5 [Naive Bayes](#37)\n", + "* 7-6 [MultinomialNB](#38)\n", + "* 7-7 [BernoulliNB](#39)\n", + "* 7-8 [SVM](#40)\n", + "* 7-9 [Nu-Support Vector Classification](#41)\n", + "* 7-10 [Linear Support Vector Classification](#42)\n", + "* 7-11 [Decision Tree](#43)\n", + "* 7-12 [ExtraTreeClassifier](#44)\n", + "* 7-13 [Neural network](#45)\n", + "* 7-13-1 [What is a Perceptron?](#45)\n", + "* 7-14 [RandomForest](#46)\n", + "* 7-15 [Bagging classifier ](#47)\n", + "* 7-16 [AdaBoost classifier](#48)\n", + "* 7-17 [Gradient Boosting Classifier](#49)\n", + "* 7-18 [Linear Discriminant Analysis](#50)\n", + "* 7-19 [Quadratic Discriminant Analysis](#51)\n", + "* 7-20 [Kmeans](#52)\n", + "* 7-21 [Backpropagation](#53)\n", + "* 9- [Conclusion](#54)\n", + "* 10- [References](#55)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "source": [ + "
\n", + "## 1- Introduction\n", + "This is a **comprehensive ML techniques with python** , that I have spent for more than two months to complete it.\n", + "\n", + "it is clear that everyone in this community is familiar with IRIS dataset but if you need to review your information about the dataset please visit this [link](https://archive.ics.uci.edu/ml/datasets/iris).\n", + "\n", + "I have tried to help **beginners** in Kaggle how to face machine learning problems. and I think it is a great opportunity for who want to learn machine learning workflow with python completely.\n", + "I have covered most of the methods that are implemented for iris until **2018**, you can start to learn and review your knowledge about ML with a simple dataset and try to learn and memorize the workflow for your journey in Data science world.\n", + "\n", + "I am open to getting your feedback for improving this **kernel**\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "e11b73b618b0f6e4335520ef80267c6d577d1ba5" + }, + "source": [ + "
\n", + "## 2- Machine Learning Workflow\n", + "Field of \tstudy \tthat \tgives\tcomputers\tthe\tability \tto\tlearn \twithout \tbeing\n", + "explicitly \tprogrammed.\n", + "\n", + "Arthur\tSamuel, 1959\n", + "\n", + "If you have already read some [machine learning books](https://towardsdatascience.com/list-of-free-must-read-machine-learning-books-89576749d2ff). You have noticed that there are different ways to stream data into machine learning.\n", + "\n", + "most of these books share the following steps (checklist):\n", + "* Define the Problem(Look at the big picture)\n", + "* Specify Inputs & Outputs\n", + "* Data Collection\n", + "* Exploratory data analysis\n", + "* Data Preprocessing\n", + "* Model Design, Training, and Offline Evaluation\n", + "* Model Deployment, Online Evaluation, and Monitoring\n", + "* Model Maintenance, Diagnosis, and Retraining\n", + "\n", + "**You can see my workflow in the below image** :\n", + " \n", + "\n", + "**you should\tfeel free\tto\tadapt \tthis\tchecklist \tto\tyour needs**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "89ee0cda57822cd4102eadf8992c5bfe1964d557" + }, + "source": [ + "
\n", + "## 5-Installation\n", + "#### Windows:\n", + "* Anaconda (from https://www.continuum.io) is a free Python distribution for SciPy stack. It is also available for Linux and Mac.\n", + "* Canopy (https://www.enthought.com/products/canopy/) is available as free as well as commercial distribution with full SciPy stack for Windows, Linux and Mac.\n", + "* Python (x,y) is a free Python distribution with SciPy stack and Spyder IDE for Windows OS. (Downloadable from http://python-xy.github.io/)\n", + "#### Linux\n", + "Package managers of respective Linux distributions are used to install one or more packages in SciPy stack.\n", + "\n", + "For Ubuntu Users:\n", + "sudo apt-get install python-numpy python-scipy python-matplotlibipythonipythonnotebook\n", + "python-pandas python-sympy python-nose" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c1793fb141d3338bbc4300874be6ffa5cb1a9139" + }, + "source": [ + "
\n", + "## 5-1 Jupyter notebook\n", + "I strongly recommend installing **Python** and **Jupyter** using the **[Anaconda Distribution](https://www.anaconda.com/download/)**, which includes Python, the Jupyter Notebook, and other commonly used packages for scientific computing and data science.\n", + "\n", + "First, download Anaconda. We recommend downloading Anaconda’s latest Python 3 version.\n", + "\n", + "Second, install the version of Anaconda which you downloaded, following the instructions on the download page.\n", + "\n", + "Congratulations, you have installed Jupyter Notebook! To run the notebook, run the following command at the Terminal (Mac/Linux) or Command Prompt (Windows):" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "abbd1757dde9805758a2cec47a186e31dbc29822" + }, + "source": [ + "> jupyter notebook\n", + "> " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "8a70c253d5afa93f07a7a7e048dbb2d7812c8d10" + }, + "source": [ + "
\n", + "## 5-2 Kaggle Kernel\n", + "Kaggle kernel is an environment just like you use jupyter notebook, it's an **extension** of the where in you are able to carry out all the functions of jupyter notebooks plus it has some added tools like forking et al." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "237bbe4e4509c9491ce165e3599c432b979d7b90" + }, + "source": [ + "
\n", + "## 5-3 Colab notebook\n", + "**Colaboratory** is a research tool for machine learning education and research. It’s a Jupyter notebook environment that requires no setup to use.\n", + "### 5-3-1 What browsers are supported?\n", + "Colaboratory works with most major browsers, and is most thoroughly tested with desktop versions of Chrome and Firefox.\n", + "### 5-3-2 Is it free to use?\n", + "Yes. Colaboratory is a research project that is free to use.\n", + "### 5-3-3 What is the difference between Jupyter and Colaboratory?\n", + "Jupyter is the open source project on which Colaboratory is based. Colaboratory allows you to use and share Jupyter notebooks with others without having to download, install, or run anything on your own computer other than a browser." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "source": [ + "
\n", + "## 5-5 Loading Packages\n", + "In this kernel we are using the following packages:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "61f49281fdd8592b44c0867225f57e6fce36342c" + }, + "source": [ + " \n", + " Now we import all of them " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Python: 3.6.1 |Anaconda 4.4.0 (64-bit)| (default, May 11 2017, 13:25:24) [MSC v.1900 64 bit (AMD64)]\n", + "scipy: 0.19.0\n", + "matplotlib: 2.0.2\n", + "numpy: 1.12.1\n", + "pandas: 0.20.1\n", + "seaborn: 0.7.1\n", + "matplotlib: 2.0.2\n", + "sklearn: 0.18.1\n" + ] + } + ], + "source": [ + "# packages to load \n", + "# Check the versions of libraries\n", + "# Python version\n", + "import warnings\n", + "warnings.filterwarnings('ignore')\n", + "import sys\n", + "print('Python: {}'.format(sys.version))\n", + "# scipy\n", + "import scipy\n", + "print('scipy: {}'.format(scipy.__version__))\n", + "import numpy\n", + "# matplotlib\n", + "import matplotlib\n", + "print('matplotlib: {}'.format(matplotlib.__version__))\n", + "# numpy\n", + "import numpy as np # linear algebra\n", + "print('numpy: {}'.format(np.__version__))\n", + "# pandas\n", + "import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n", + "print('pandas: {}'.format(pd.__version__))\n", + "import seaborn as sns\n", + "print('seaborn: {}'.format(sns.__version__))\n", + "sns.set(color_codes=True)\n", + "import matplotlib.pyplot as plt\n", + "print('matplotlib: {}'.format(matplotlib.__version__))\n", + "%matplotlib inline\n", + "# scikit-learn\n", + "import sklearn\n", + "print('sklearn: {}'.format(sklearn.__version__))\n", + "# Input data files are available in the \"../input/\" directory.\n", + "# For example, running this (by clicking run or pressing Shift+Enter) will list the files in the input directory\n", + "import os\n", + "%matplotlib inline\n", + "from sklearn.metrics import accuracy_score\n", + "# Importing metrics for evaluation\n", + "from sklearn.metrics import confusion_matrix\n", + "from sklearn.metrics import classification_report\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" + }, + "source": [ + "
\n", + "## 6- Data Cleaning\n", + " In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n", + " \n", + "* Which variables suggest interesting relationships?\n", + "* Which observations are unusual?\n", + "\n", + "By the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations:\n", + "\n", + "* 5-1 Data Collection\n", + "* 5-2 Visualization\n", + "* 5-3 Data Preprocessing\n", + "* 5-4 Data Cleaning\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "source": [ + "
\n", + "## 6-1 Data Collection\n", + "**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n", + "\n", + "**Iris dataset** consists of 3 different types of irises’ (Setosa, Versicolour, and Virginica) petal and sepal length, stored in a 150x4 numpy.ndarray\n", + "\n", + "The rows being the samples and the columns being: Sepal Length, Sepal Width, Petal Length and Petal Width.[6]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "collapsed": true + }, + "outputs": [], + "source": [ + "# import Dataset to play with it\n", + "dataset = pd.read_csv('../input/Iris.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "source": [ + "**<< Note 1 >>**\n", + "\n", + "* Each row is an observation (also known as : sample, example, instance, record)\n", + "* Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "source": [ + "After loading the data via **pandas**, we should checkout what the content is, description and via the following:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "pandas.core.frame.DataFrame" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(dataset)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "5af51158a5bc342947c553392e3d1665ac24ba62" + }, + "source": [ + "### 6-2-12 Conclusion\n", + "we have used Python to apply data visualization tools to the Iris dataset. Color and size changes were made to the data points in scatterplots. I changed the border and fill color of the boxplot and violin, respectively." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "581b90e6a869c3793472c7edd59091d6d6342fb2" + }, + "source": [ + "## 6-3-1 Features\n", + "Features:\n", + "* numeric\n", + "* categorical\n", + "* ordinal\n", + "* datetime\n", + "* coordinates\n", + "\n", + "find the type of features in titanic dataset\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 6-3-2 Explorer Dataset\n", + "1- Dimensions of the dataset.\n", + "\n", + "2- Peek at the data itself.\n", + "\n", + "3- Statistical summary of all attributes.\n", + "\n", + "4- Breakdown of the data by the class variable.[7]\n", + "\n", + "Don’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(150, 6)\n" + ] + } + ], + "source": [ + "# shape\n", + "print(dataset.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "collapsed": true + }, + "outputs": [], + "source": [ + "#columns*rows\n", + "dataset.size" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "source": [ + "\n", + "We can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property.\n", + "\n", + "You should see 150 instances and 5 attributes:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "95ee5e18f97bc410df1e54ac74e32cdff2b30755" + }, + "source": [ + "for getting some information about the dataset you can use **info()** command" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "ca840f02925751186f87e402fcb5f637ab1ab8a0", + "collapsed": true + }, + "outputs": [], + "source": [ + "print(dataset.info())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "3458838205be4c7fbff88e95ef69934e13e2199b" + }, + "source": [ + "you see number of unique item for Species with command below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "4b90d165a007106ae99809ad28edd75bd8153dd8", + "collapsed": true + }, + "outputs": [], + "source": [ + "dataset['Species'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "8accfbddf2228274ad412c3ad3be72b4107d6f6c", + "collapsed": true + }, + "outputs": [], + "source": [ + "dataset[\"Species\"].value_counts()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "source": [ + "to check the first 5 rows of the data set, we can use head(5)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156", + "collapsed": true + }, + "outputs": [], + "source": [ + "dataset.head(5) " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "source": [ + "to check out last 5 row of the data set, we use tail() function" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305", + "collapsed": true + }, + "outputs": [], + "source": [ + "dataset.tail() " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "source": [ + "to pop up 5 random rows from the data set, we can use **sample(5)** function" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140", + "collapsed": true + }, + "outputs": [], + "source": [ + "dataset.sample(5) " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "source": [ + "to give a statistical summary about the dataset, we can use **describe()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3", + "collapsed": true + }, + "outputs": [], + "source": [ + "dataset.describe() " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "031d16ca235837e889734635ecff193be64b27a4" + }, + "source": [ + "to check out how many null info are on the dataset, we can use **isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "8807b632269e2fa734ad26e8513199400fc09a83", + "collapsed": true + }, + "outputs": [], + "source": [ + "dataset.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "446e6162e16325213047ff31454813455668b574", + "collapsed": true + }, + "outputs": [], + "source": [ + "dataset.groupby('Species').count()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + }, + "source": [ + "to print dataset **columns**, we can use columns atribute" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f", + "collapsed": true + }, + "outputs": [], + "source": [ + "dataset.columns" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "22bc5d81c18275ee1fb082c0adbb7a65bdbec4cc" + }, + "source": [ + "**<< Note 2 >>**\n", + "in pandas's data frame you can perform some query such as \"where\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "c8c8d9fd63d9bdb601183aeb4f1435affeb8a596", + "collapsed": true + }, + "outputs": [], + "source": [ + "dataset.where(dataset ['Species']=='Iris-setosa')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "33fc33a18489b438a884819d99dc00a02b113be8" + }, + "source": [ + "as you can see in the below in python, it is so easy perform some query on the dataframe:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "8b545ff7e8367c5ab9c1db710f70b6936ac8422c", + "collapsed": true + }, + "outputs": [], + "source": [ + "dataset[dataset['SepalLengthCm']>7.2]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "1c92b300076a232321c915857d8a7c5685a97865", + "collapsed": true + }, + "outputs": [], + "source": [ + "# Seperating the data into dependent and independent variables\n", + "X = dataset.iloc[:, :-1].values\n", + "y = dataset.iloc[:, -1].values" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**<< Note >>**\n", + ">**Preprocessing and generation pipelines depend on a model type**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "8280749a19af32869978c61941d1dea306632d71" + }, + "source": [ + "
\n", + "## 6-4 Data Cleaning\n", + "When dealing with real-world data, dirty data is the norm rather than the exception. We continuously need to predict correct values, impute missing ones, and find links between various data artefacts such as schemas and records. We need to stop treating data cleaning as a piecemeal exercise (resolving different types of errors in isolation), and instead leverage all signals and resources (such as constraints, available statistics, and dictionaries) to accurately predict corrective actions.\n", + "\n", + "The primary goal of data cleaning is to detect and remove errors and **anomalies** to increase the value of data in analytics and decision making. While it has been the focus of many researchers for several years, individual problems have been addressed separately. These include missing value imputation, outliers detection, transformations, integrity constraints violations detection and repair, consistent query answering, deduplication, and many other related problems such as profiling and constraints mining.[8]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "e8e4da1a0b3d51a5fff38750fb4631ac3aa7eebb" + }, + "source": [ + "This is an example that I have taken from a draft of the 3rd edition of Jurafsky and Martin, with slight modifications:\n", + "We import *numpy* and use its *exp* function. We could use the same function from the *math* module, or some other module like *scipy*. The *sigmoid* function is defined as in the textbook:\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "97adc471c068fbd8d36ca19a4db0d98b0924c731" + }, + "source": [ + "-----------------\n", + "
\n", + "# 8- Conclusion" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "1adfb5ba84e0f1d8fba58a2fca30546ead095047", + "collapsed": true + }, + "source": [ + "In this kernel, I have tried to cover all the parts related to the process of ML with a variety of Python packages and I know that there are still some problems then I hope to get your feedback to improve it.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "source": [ + "you can follow me on:\n", + "> ###### [ GitHub](https://github.com/mjbahmani)\n", + "> ###### [LinkedIn](https://www.linkedin.com/in/bahmani/)\n", + "> ###### [Kaggle](https://www.kaggle.com/mjbahmani/)\n", + "\n", + "--------------------------------------\n", + "\n", + " **I hope you find this kernel helpful and some upvotes would be very much appreciated**\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0", + "_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a", + "collapsed": true + }, + "source": [ + "
\n", + "\n", + "-----------\n", + "\n", + "# 9- References\n", + "* [1] [Iris image](https://rpubs.com/wjholst/322258)\n", + "* [2] [IRIS](https://archive.ics.uci.edu/ml/datasets/iris)\n", + "* [3] [https://skymind.ai/wiki/machine-learning-workflow](https://skymind.ai/wiki/machine-learning-workflow)\n", + "* [4] [IRIS-wiki](https://archive.ics.uci.edu/ml/datasets/iris)\n", + "* [5] [Problem-define](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n", + "* [6] [Sklearn](http://scikit-learn.org/)\n", + "* [7] [machine-learning-in-python-step-by-step](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n", + "* [8] [Data Cleaning](http://wp.sigmod.org/?p=2288)\n", + "* [9] [competitive data science](https://www.coursera.org/learn/competitive-data-science/)\n", + "\n", + "\n", + "-------------\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.1" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/Data Visualization in Python for Machine Learning Experts/50 Commands for Exploratory Data Analysis Pipeline.ipynb b/Data Visualization in Python for Machine Learning Experts/50 Commands for Exploratory Data Analysis Pipeline.ipynb new file mode 100644 index 0000000..06ce420 --- /dev/null +++ b/Data Visualization in Python for Machine Learning Experts/50 Commands for Exploratory Data Analysis Pipeline.ipynb @@ -0,0 +1,1318 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "cell_type": "markdown", + "source": "##
50 commands for Exploratory Data Analysis Pipeline
\n\n
If you've followed my other kernels so far. You have noticed that for those who are beginners, I've introduced a course \" 10 Steps to Become a Data Scientist .\" In this kernel we will start another step with each other. There are plenty of Kernels that can help you learn EDA from scratch but here in Kaggle, I want to Analysis Meta Kaggle and Quora Insincere Question, popular Datasets as a comprehensive pipeline for EDA. \nAfter reading, you can use it to Analysis other real dataset and use it as a template to deal with EDA problems.
\n\n
last update: 11/24/2018
\n\n\n\n>###### You may be interested have a look at it: [**10-Steps-to-Become-a-Data-Scientist**](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n---------------------------------------------------------------------\nYou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n-------------------------------------------------------------------------------------------------------------\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "cell_type": "markdown", + "source": "
\n## Notebook Content\n1. [Introduction](#1)\n1. [Loading Packages](#2)\n 1. [version](#3)\n 1. [Setup](#4)\n1. [Exploratory data analysis](#5)\n1. [Data Collection](#6)\n 1. [Features](#7)\n 1. [Explorer Dataset](#8)\n1. [Data Cleaning](#9)\n 1. [Find yourself in Users datset](#10)\n 1. [Find your kernels in Kernels dataset](#11)\n1. [Data Preprocessing](#12)\n1. [Data Visaulization](#13)\n 1. [Scatter plot](#14)\n 1. [Box plot](#15)\n 1. [Histogram](#16)\n 1. [violinplots](#17)\n 1. [kdeplot](#18)\n 1. [jointplot](#19)\n 1. [andrews_curves](#20)\n 1. [Heatmap](#21)\n 1. [WordCloud](#22)\n1. [Conclusion](#23) \n1. [References](#24) \n " + }, + { + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "cell_type": "markdown", + "source": "
\n## 1- Introduction\nThis is a **comprehensive EDA techniques with python** , that I have spent a lot of time to complete it.\n\nit is clear that everyone in this community is familiar with Meta Kaggle and kaggle survey 2018 datasets but if you need to review your information about the datasets please visit [meta-kaggle](https://www.kaggle.com/kaggle/meta-kaggle) and [Quora](https://www.kaggle.com/c/quora-insincere-questions-classification).\n\n\n\nI am open to getting your feedback for improving this **kernel** together.\n" + }, + { + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "cell_type": "markdown", + "source": "
\n## 2- Loading Packages\nIn this kernel we are using the following packages:" + }, + { + "metadata": { + "_uuid": "61f49281fdd8592b44c0867225f57e6fce36342c" + }, + "cell_type": "markdown", + "source": " \n Now we import all of them " + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.model_selection import train_test_split\nfrom sklearn.metrics import classification_report\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.metrics import accuracy_score\nfrom wordcloud import WordCloud as wc\nfrom nltk.corpus import stopwords\nimport matplotlib.pylab as pylab\nimport matplotlib.pyplot as plt\nfrom pandas import get_dummies\nimport matplotlib as mpl\nimport seaborn as sns\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport string\nimport scipy\nimport numpy\nimport nltk\nimport json\nimport sys\nimport csv\nimport os", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cb6fbd6b1eee108ca34577de77592af65b781cc0" + }, + "cell_type": "markdown", + "source": "
\n## 2-1 version" + }, + { + "metadata": { + "trusted": true, + "_uuid": "7d081df6329f26958f545c32b4d96172b3be96d9", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))\n#print('wordcloud: {}'.format(wordcloud.version))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4634f86ca193d38c1121af4d30f31acf25d9d334" + }, + "cell_type": "markdown", + "source": "
\n## 2-2 Setup\n\nA few tiny adjustments for better **code readability**" + }, + { + "metadata": { + "trusted": true, + "_uuid": "13ccd69be8e3a0502a3e172d1416686ce8cdba56", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.set(style='white', context='notebook', palette='deep')\npylab.rcParams['figure.figsize'] = 12,8\nwarnings.filterwarnings('ignore')\nmpl.style.use('ggplot')\nsns.set_style('white')\n%matplotlib inline", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" + }, + "cell_type": "markdown", + "source": "
\n## 3- Exploratory Data Analysis(EDA)\n In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n \n* Which variables suggest interesting relationships?\n* Which observations are unusual?\n\nBy the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations:\n\n1. Data Collection\n1. Visualization\n1. Data Cleaning\n1. Data Preprocessing\n\n\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "cell_type": "markdown", + "source": "
\n## 3-1 Data Collection\n**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n\n\nI start Collection Data by the Users and Kernels datasets into **Pandas DataFrames**" + }, + { + "metadata": { + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# import kernels and users to play with it\n#command--> 1\nusers = pd.read_csv(\"../input/meta-kaggle/Users.csv\")\nkernels = pd.read_csv(\"../input/meta-kaggle/Kernels.csv\")\nmessages = pd.read_csv(\"../input/meta-kaggle/ForumMessages.csv\")\nfreeFormResponses=pd.read_csv(\"../input/kaggle-survey-2018/freeFormResponses.csv\")\nmultipleChoiceResponses=pd.read_csv(\"../input/kaggle-survey-2018/multipleChoiceResponses.csv\")\ntrain = pd.read_csv(\"../input/quora-insincere-questions-classification/train.csv\")\ntest = pd.read_csv(\"../input/quora-insincere-questions-classification/test.csv\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "cell_type": "markdown", + "source": "**<< Note 1 >>**\n\n* Each row is an observation (also known as : sample, example, instance, record)\n* Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)\n###### [Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "33344731ac8933d46461ca893ea8936f6ee1c3e4", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 2\nusers.sample(1) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "6a15630f403601203c74bba16f343ae61d9937fb", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "kernels.sample(1) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "dcb47a70a03a7e73bab46f31dd3096a09be7b560", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.sample(1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "cell_type": "markdown", + "source": "### Please **replace** your username and find your userid\n\nwe suppose that userid==authoruserid and use userid for both kernels and users dataset" + }, + { + "metadata": { + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "username=\"mjbahmani\"\nuserid=int(users[users['UserName']==\"mjbahmani\"].Id)\nuserid", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7cc8cac399d9d348842ea0b589581f5f909c17dd" + }, + "cell_type": "markdown", + "source": "But if we had , we can just use **dropna()**(be careful sometimes you should not do this!)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "7972fa0a7d1950d8a59f9820c6cacc00eb8f1015", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# remove rows that have NA's\nprint('Before Droping',train.shape)\n#command--> 3\ntrain = train.dropna()\nprint('After Droping',train.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b1a61ef77cbe97153445293fc8d01f409d87272f" + }, + "cell_type": "markdown", + "source": "
\n## 3-1-1 Features\nFeatures can be from following types:\n1. numeric\n1. categorical\n1. ordinal\n1. datetime\n1. coordinates\n\nFind the type of features in **Meta Kaggle**?!\n
\nfor getting some information about the dataset you can use **info()** command\n###### [Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "de95bf94a02721364ad6cbd6d440d664b2961e39", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 4\nprint(users.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "8f47ccc4538b823bf0a5ac15eef7787395620ed5" + }, + "cell_type": "code", + "source": "print(freeFormResponses.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "7b650ee1c8aaa1d7c7e1c15dd102169e0fd0db60", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print(train.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e08d410c0dac5cf34eea33940ab586eb7e9ded5a" + }, + "cell_type": "markdown", + "source": "
\n## 3-1-2 Explorer Dataset\n1- Dimensions of the dataset.\n\n2- Peek at the data itself.\n\n3- Statistical summary of all attributes.\n\n4- Breakdown of the data by the class variable.\n\nDon’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# shape\n#command--> 5\nprint(users.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# shape\nprint(kernels.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "5e6358361a6a8fcc60087baa6cebb18c18296299", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print(freeFormResponses.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "8b724ebb9a0a1176e52543938bc67591b54d3e8d", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print(train.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#columns*rows\n#command--> 6\nusers.size", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#columns*rows\nkernels.size", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "cell_type": "markdown", + "source": "\nWe can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property." + }, + { + "metadata": { + "_uuid": "3458838205be4c7fbff88e95ef69934e13e2199b" + }, + "cell_type": "markdown", + "source": "you see number of unique item for Species with command below:" + }, + { + "metadata": { + "_uuid": "4b90d165a007106ae99809ad28edd75bd8153dd8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 7\nkernels['Medal'].unique()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8accfbddf2228274ad412c3ad3be72b4107d6f6c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 8\nkernels[\"Medal\"].value_counts()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "eb1a194f9b7598401c44d2b762ecd75f1e2c3955", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train[\"question_text\"].head(5)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "cell_type": "markdown", + "source": "to check the first 5 rows of the data set, we can use head(5)." + }, + { + "metadata": { + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "kernels.head(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "cell_type": "markdown", + "source": "to check out last 5 row of the data set, we use tail() function" + }, + { + "metadata": { + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 9\nusers.tail() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "cell_type": "markdown", + "source": "to pop up 5 random rows from the data set, we can use **sample(5)** function" + }, + { + "metadata": { + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "kernels.sample(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "cell_type": "markdown", + "source": "to give a statistical summary about the dataset, we can use **describe()" + }, + { + "metadata": { + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "kernels.describe() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2ecc1896c6cd6c342cddb2e1ef0e774e66c8dc5d" + }, + "cell_type": "markdown", + "source": "
\n## 3-2 Data Cleaning\nWhen dealing with real-world data, dirty data is the norm rather than the exception. We continuously need to predict correct values, impute missing ones, and find links between various data artefacts such as schemas and records. We need to stop treating data cleaning as a piecemeal exercise (resolving different types of errors in isolation), and instead leverage all signals and resources (such as constraints, available statistics, and dictionaries) to accurately predict corrective actions.\n\n\n\nThe primary goal of data cleaning is to detect and remove errors and **anomalies** to increase the value of data in analytics and decision making. While it has been the focus of many researchers for several years, individual problems have been addressed separately. These include missing value imputation, outliers detection, transformations, integrity constraints violations detection and repair, consistent query answering, deduplication, and many other related problems such as profiling and constraints mining.[4]\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "031d16ca235837e889734635ecff193be64b27a4" + }, + "cell_type": "markdown", + "source": "How many NA elements in every column!!\nGood news, it is Zero!\nto check out how many null info are on the dataset, we can use **isnull().sum()**." + }, + { + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#How many NA elements in every column\n#command--> 10\nusers.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "kernels.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "446e6162e16325213047ff31454813455668b574", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 11\nkernels.groupby('Medal').count()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + }, + "cell_type": "markdown", + "source": "to print dataset **columns**, we can use columns atribute" + }, + { + "metadata": { + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "kernels.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "62b52ea61cfa597007bd31652c7f03778233227c", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "users.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "40f98b7a01af83ef9be8cd81c72bf281e07493ae", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "22bc5d81c18275ee1fb082c0adbb7a65bdbec4cc" + }, + "cell_type": "markdown", + "source": "**<< Note 2 >>**\nin pandas's data frame you can perform some query such as \"where\"" + }, + { + "metadata": { + "_uuid": "ff69b963b60e8ff77acae02850885c7e90358129" + }, + "cell_type": "markdown", + "source": "
\n## 3-2-1 Find yourself in Users datset" + }, + { + "metadata": { + "trusted": true, + "_uuid": "1e36488451f22350bc2c655bfdd2b50803540b87", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 12\nusers[users['Id']==userid]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "33fc33a18489b438a884819d99dc00a02b113be8" + }, + "cell_type": "markdown", + "source": "
\n## 3-2-2 Find your kernels in Kernels dataset" + }, + { + "metadata": { + "trusted": true, + "_uuid": "aa877c667451c76a052808964bbf8eb5991b39e0", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 13\nyourkernels=kernels[kernels['AuthorUserId']==userid]\nyourkernels", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5fb860dc8bb6bc8feba55df8936f05a3f139115f" + }, + "cell_type": "markdown", + "source": "
\n## 3-4 Data Preprocessing\n**Data preprocessing** refers to the transformations applied to our data before feeding it to the algorithm.\n \nData Preprocessing is a technique that is used to convert the raw data into a clean data set. In other words, whenever the data is gathered from different sources it is collected in raw format which is not feasible for the analysis.\nthere are plenty of steps for data preprocessing and we just listed some of them in general(Not just for Quora) :\n* Removing Target column (id)\n* Sampling (without replacement)\n* Making part of iris unbalanced and balancing (with undersampling and SMOTE)\n* Introducing missing values and treating them (replacing by average values)\n* Noise filtering\n* Data discretization\n* Normalization and standardization\n* PCA analysis\n* Feature selection (filter, embedded, wrapper)\n###### [Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "0d7bdcfe284e49847a3488a5c8ecbeda71097583", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "text = train['question_text']\ni=0\n#command--> 14\nfor row in text[:10]:\n i=i+1\n print(str(i),row)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bc203c66770b52d30c4cbf961243070198c9252a" + }, + "cell_type": "markdown", + "source": "### 3-4-1 Remove Numbers" + }, + { + "metadata": { + "trusted": true, + "_uuid": "812834e990b10afb01e949e09b86af5f0a8e9357", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 15\ndef removeNumbers(text):\n \"\"\" Removes integers \"\"\"\n text = ''.join([i for i in text if not i.isdigit()]) \n return text\n\ntext_removeNumbers = pd.DataFrame(columns=['TextBefore', 'TextAfter', 'Changed'])\ntext_removeNumbers['TextBefore'] = text.copy()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "54f76a2bb5a2b75227842751936a178553328b34", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "for index, row in text_removeNumbers.iterrows():\n row['TextAfter'] = removeNumbers(row['TextBefore'])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "d2f241a5ffe44f46991cc382cdab0d0e81d88850" + }, + "cell_type": "code", + "source": "#command--> 16\ntext_removeNumbers['Changed'] = np.where(text_removeNumbers['TextBefore']==text_removeNumbers['TextAfter'], 'no', 'yes')\nprint(\"{} of {} ({:.4f}%) questions have been changed.\".format(len(text_removeNumbers[text_removeNumbers['Changed']=='yes']), len(text_removeNumbers), 100*len(text_removeNumbers[text_removeNumbers['Changed']=='yes'])/len(text_removeNumbers)))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "5f618edd119f64bdcaca196a1699f19fb9bdbe1d", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "for index, row in text_removeNumbers[text_removeNumbers['Changed']=='yes'].head().iterrows():\n print(row['TextBefore'],'->',row['TextAfter'])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "4c478414d064c2333112f07448343477c32c1509" + }, + "cell_type": "markdown", + "source": "The metafeatures that we'll create based on SRK's EDAs, [sudalairajkumar](http://http://www.kaggle.com/sudalairajkumar/simple-feature-engg-notebook-spooky-author) and [tunguz](https://www.kaggle.com/tunguz/just-some-simple-eda) are:\n1. Number of words in the text\n1. Number of unique words in the text\n1. Number of characters in the text\n1. Number of stopwords\n1. Number of punctuations\n1. Number of upper case words\n1. Number of title case words\n1. Average length of the words" + }, + { + "metadata": { + "trusted": true, + "_uuid": "0be2fbf75d975fc8361fdb70451c64e3fcf16320" + }, + "cell_type": "markdown", + "source": "Number of words in the text " + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "bce5854c5e8fc0cef7db77e8a9abeaad64c30e84" + }, + "cell_type": "code", + "source": "#command--> 17\ntrain[\"num_words\"] = train[\"question_text\"].apply(lambda x: len(str(x).split()))\ntest[\"num_words\"] = test[\"question_text\"].apply(lambda x: len(str(x).split()))\nprint('maximum of num_words in train',train[\"num_words\"].max())\nprint('min of num_words in train',train[\"num_words\"].min())\nprint(\"maximum of num_words in test\",test[\"num_words\"].max())\nprint('min of num_words in train',test[\"num_words\"].min())\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "25bf1789c9a338cce7f0809c959609291af26e1b" + }, + "cell_type": "markdown", + "source": "Number of unique words in the text" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "f07efdfcda98708220a0f18a7a3993372cfed266" + }, + "cell_type": "code", + "source": "train[\"num_unique_words\"] = train[\"question_text\"].apply(lambda x: len(set(str(x).split())))\ntest[\"num_unique_words\"] = test[\"question_text\"].apply(lambda x: len(set(str(x).split())))\nprint('maximum of num_unique_words in train',train[\"num_unique_words\"].max())\nprint('mean of num_unique_words in train',train[\"num_unique_words\"].mean())\nprint(\"maximum of num_unique_words in test\",test[\"num_unique_words\"].max())\nprint('mean of num_unique_words in train',test[\"num_unique_words\"].mean())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7750a576d4d556e2a25c264ac186daceb667f6f9" + }, + "cell_type": "markdown", + "source": "Number of characters in the text " + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "5677a7d44d437d0ee94d0849533bca7f1075b10c" + }, + "cell_type": "code", + "source": "\ntrain[\"num_chars\"] = train[\"question_text\"].apply(lambda x: len(str(x)))\ntest[\"num_chars\"] = test[\"question_text\"].apply(lambda x: len(str(x)))\nprint('maximum of num_chars in train',train[\"num_chars\"].max())\nprint(\"maximum of num_chars in test\",test[\"num_chars\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "511b92ce149dcc317e02ba017344ac2625956ccf" + }, + "cell_type": "markdown", + "source": "Number of stopwords in the text" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "6b4963b95b3a4781e4cab004fa231109fa08a943" + }, + "cell_type": "code", + "source": "#from nltk.corpus import stopwords\neng_stopwords = set(stopwords.words(\"english\"))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "def001bb47659a235c5599ccc3d706639e0b1b0a" + }, + "cell_type": "code", + "source": "train[\"num_stopwords\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).lower().split() if w in eng_stopwords]))\ntest[\"num_stopwords\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).lower().split() if w in eng_stopwords]))\nprint('maximum of num_stopwords in train',train[\"num_stopwords\"].max())\nprint(\"maximum of num_stopwords in test\",test[\"num_stopwords\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "938cde022787d1b03000382a903b960597640d06" + }, + "cell_type": "markdown", + "source": "Number of punctuations in the text" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "e72fc2184245fadffb767d0f2fe8e68403c12274" + }, + "cell_type": "code", + "source": "\ntrain[\"num_punctuations\"] =train['question_text'].apply(lambda x: len([c for c in str(x) if c in string.punctuation]) )\ntest[\"num_punctuations\"] =test['question_text'].apply(lambda x: len([c for c in str(x) if c in string.punctuation]) )\nprint('maximum of num_punctuations in train',train[\"num_punctuations\"].max())\nprint(\"maximum of num_punctuations in test\",test[\"num_punctuations\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8ae7a13782b109a892f9e1504fd3ac790fa518a8" + }, + "cell_type": "markdown", + "source": "Number of title case words in the text" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "2874be8704da173bab1ac29e5982727b2067fbd9" + }, + "cell_type": "code", + "source": "\ntrain[\"num_words_upper\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.isupper()]))\ntest[\"num_words_upper\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.isupper()]))\nprint('maximum of num_words_upper in train',train[\"num_words_upper\"].max())\nprint(\"maximum of num_words_upper in test\",test[\"num_words_upper\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8df5b6b86abc982b15afb973bd390eddb027e0b9" + }, + "cell_type": "markdown", + "source": "Number of title case words in the text" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "fd2e10d8b5fd5cf99fb95afe9d2964f23ceb2e50" + }, + "cell_type": "code", + "source": "\ntrain[\"num_words_title\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.istitle()]))\ntest[\"num_words_title\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.istitle()]))\nprint('maximum of num_words_title in train',train[\"num_words_title\"].max())\nprint(\"maximum of num_words_title in test\",test[\"num_words_title\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f4fa05b90e1abb77c6582275e1f9ebf2844628c4" + }, + "cell_type": "markdown", + "source": " Average length of the words in the text " + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "442b391fda00a1bc99b48b47d41cbb4c3e2ef6d4" + }, + "cell_type": "code", + "source": "\ntrain[\"mean_word_len\"] = train[\"question_text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))\ntest[\"mean_word_len\"] = test[\"question_text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))\nprint('mean_word_len in train',train[\"mean_word_len\"].max())\nprint(\"mean_word_len in test\",test[\"mean_word_len\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "aa882e5bcdc7d5f440489eff75d1d225269655a4" + }, + "cell_type": "markdown", + "source": "**<< Note >>**\n>**Preprocessing and generation pipelines depend on a model type**" + }, + { + "metadata": { + "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" + }, + "cell_type": "markdown", + "source": "
\n## 3-4 Visualization\n**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns.\n\nWith interactive visualization, you can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data you see and how it’s processed.[SAS]\n\n In this section I show you **11 plots** with **matplotlib** and **seaborn** that is listed in the blew picture:\n \n" + }, + { + "metadata": { + "_uuid": "b0014a7a52e714996bc443981c853095926d20e5" + }, + "cell_type": "markdown", + "source": "
\n## 3-4-1 Scatter plot\n\nScatter plot Purpose To identify the type of relationship (if any) between two quantitative variables\n\n\n" + }, + { + "metadata": { + "trusted": true, + "_uuid": "8f35fd1761bec3516ad6940f88e916dfb67dfda0", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 18\nyourkernels.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "af099546eed64ebc796403d4139cb4c977c27b03", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Modify the graph above by assigning each species an individual color.\n#command--> 19\nx=yourkernels[\"TotalVotes\"]\ny=yourkernels[\"TotalViews\"]\nplt.scatter(x, y)\nplt.legend()\nplt.show()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "1b31a7c185ee654c31ff5b062d111bcefa205966", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,2,figsize=(18,8))\nyourkernels['Medal'].value_counts().plot.bar(color=['#CD7F32','#FFDF00','#D3D3D3'],ax=ax[0])\nax[0].set_title('Number Of Medal')\nax[0].set_ylabel('Count')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d1c7b62b5f8cba427bca13049256365141655372" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-2 Box\nIn descriptive statistics, a **box plot** or boxplot is a method for graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram.[wikipedia]" + }, + { + "metadata": { + "_uuid": "0655e20f31a582f861d391308a088778cd7eaae9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 20\nyourkernels[\"TotalVotes\"].plot(kind='box')\nplt.figure()\n#This gives us a much clearer idea of the distribution of the input attributes:\n\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "81b8d70c5d8b2d024337d989ec1e204b612f676d" + }, + "cell_type": "code", + "source": "yourkernels[\"TotalComments\"].plot(kind='box')\nplt.figure()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f7f6426fd44bcd77d35a5fdbc8c4fc4f18d991ad", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# To plot the species data using a box plot:\n#command--> 21\nsns.boxplot(x=\"TotalComments\", y=\"TotalVotes\", data=yourkernels )\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7b193e4aa7e6fb337d3f65c334849094addd097a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Use Seaborn's striplot to add data points on top of the box plot \n# Insert jitter=True so that the data points remain scattered and not piled into a verticle line.\n# Assign ax to each axis, so that each plot is ontop of the previous axis. \n\nax= sns.boxplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels)\nax= sns.stripplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels, jitter=True, edgecolor=\"gray\")\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "56adbafa89c117118621c72b3b7cb19edc21298e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Tweek the plot above to change fill and border color color using ax.artists.\n# Assing ax.artists a variable name, and insert the box number into the corresponding brackets\n#command--> 22\nax= sns.boxplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels)\nax= sns.stripplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels, jitter=True, edgecolor=\"gray\")\n\nboxtwo = ax.artists[2]\nboxtwo.set_facecolor('red')\nboxtwo.set_edgecolor('black')\nboxthree=ax.artists[1]\nboxthree.set_facecolor('yellow')\nboxthree.set_edgecolor('black')\n\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "40c9ab245695d47cb33eda65a0d637de390f9e59", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.factorplot('TotalViews','TotalVotes',hue='Medal',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "c73a82a05855195ac32dedb3056e84355e273b0f" + }, + "cell_type": "code", + "source": "sns.factorplot('TotalComments','TotalVotes',hue='Medal',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "743a92c3c2fff1a1f99845518247f7971ad18b7c" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-3 Histogram\nWe can also create a **histogram** of each input variable to get an idea of the distribution.\n\n" + }, + { + "metadata": { + "trusted": true, + "_uuid": "fcea7d2a5fb011f4ea70e19d7a50f0aba5af731b" + }, + "cell_type": "code", + "source": "train[\"num_words\"] = train[\"question_text\"].apply(lambda x: len(str(x).split()))\ntest[\"num_words\"] = test[\"question_text\"].apply(lambda x: len(str(x).split()))\nprint('maximum of num_words in train',train[\"num_words\"].max())\nprint('min of num_words in train',train[\"num_words\"].min())\nprint(\"maximum of num_words in test\",test[\"num_words\"].max())\nprint('min of num_words in train',test[\"num_words\"].min())\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "66f3be03ed655d3ed76026fd977835106ac47a54" + }, + "cell_type": "code", + "source": "#command--> 23\nf,ax=plt.subplots(1,2,figsize=(20,10))\ntrain[train['target']==0].num_words.plot.hist(ax=ax[0],bins=20,edgecolor='black',color='red')\nax[0].set_title('target= 0')\nx1=list(range(0,85,5))\nax[0].set_xticks(x1)\ntrain[train['target']==1].num_words.plot.hist(ax=ax[1],color='green',bins=20,edgecolor='black')\nax[1].set_title('target= 1')\nx2=list(range(0,85,5))\nax[1].set_xticks(x2)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5da0520ed3e738ee8814b2d91843ed4acec2b6e6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# histograms\nyourkernels.hist(figsize=(15,20))\nplt.figure()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "90b6df3255561e3944ea89c5f1ca8c815f862a7f" + }, + "cell_type": "code", + "source": "train[\"num_words\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b4e3de19781686010c6038f0e3076eb678398169" + }, + "cell_type": "markdown", + "source": "It looks like perhaps two of the input variables have a Gaussian distribution. This is useful to note as we can use algorithms that can exploit this assumption.\n\n" + }, + { + "metadata": { + "_uuid": "9f80a6e971cbf0af72d659b51af552ea1dddc9a8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "yourkernels[\"TotalViews\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "1173ef1b6ca75e28f94a891880294d1765b022ea" + }, + "cell_type": "code", + "source": "yourkernels[\"TotalComments\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "5d8ef0781d88c46a8becf6d7f5b1f4ad2c05db7e", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.factorplot('TotalViews','TotalVotes',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "15e2743389cb58055ee5bb9dd9b829fb85850af2" + }, + "cell_type": "code", + "source": "sns.factorplot('TotalComments','TotalVotes',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e0f696ec021ec99c1058a62e22c8b73082fe6fa7" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-5 violinplots" + }, + { + "metadata": { + "_uuid": "e352d2f8340609adf4bf6718b1d2ecee0fa730b5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# violinplots on petal-length for each species\n#command--> 24\nsns.violinplot(data=yourkernels,x=\"TotalViews\", y=\"TotalVotes\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "82d42d69a63f9dacf41dad5bfb1b7908cefc2633" + }, + "cell_type": "code", + "source": "# violinplots on petal-length for each species\nsns.violinplot(data=yourkernels,x=\"TotalComments\", y=\"TotalVotes\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "363b3e9509d5e3ba157c0b5f319d2585c58ee28f" + }, + "cell_type": "code", + "source": "sns.violinplot(data=yourkernels,x=\"Medal\", y=\"TotalVotes\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "c67af4ad8d452f8e9f929e8a3284de675e3fd0d9" + }, + "cell_type": "code", + "source": "sns.violinplot(data=yourkernels,x=\"Medal\", y=\"TotalComments\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "cell_type": "markdown", + "source": "how many NA elements in every column\n" + }, + { + "metadata": { + "_uuid": "2544d3c2dd34a360d295019d8cb597c7ef8f66bc" + }, + "cell_type": "markdown", + "source": "
\n### 3-6-7 kdeplot" + }, + { + "metadata": { + "_uuid": "1d07222b89303b386e9e824d52cc73c045667f25", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# seaborn's kdeplot, plots univariate or bivariate density estimates.\n#Size can be changed by tweeking the value used\n#command--> 25\nsns.FacetGrid(yourkernels, hue=\"Medal\", size=5).map(sns.kdeplot, \"TotalComments\").add_legend()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "3662003d5cb728d91c71e339cc7d6feba17b495f" + }, + "cell_type": "code", + "source": "sns.FacetGrid(yourkernels, hue=\"Medal\", size=5).map(sns.kdeplot, \"TotalVotes\").add_legend()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "06e1259b209e753c2f05643706d6157145bb3b98", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,3,figsize=(20,8))\nsns.distplot(yourkernels[yourkernels['Medal']==1].TotalVotes,ax=ax[0])\nax[0].set_title('TotalVotes in Medal 1')\nsns.distplot(yourkernels[yourkernels['Medal']==2].TotalVotes,ax=ax[1])\nax[1].set_title('TotalVotes in Medal 2')\nsns.distplot(yourkernels[yourkernels['Medal']==3].TotalVotes,ax=ax[2])\nax[2].set_title('TotalVotes in Medal 3')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "560d8e8f17bacefaf8c3855a9648f26b82fdee9b" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-8 jointplot" + }, + { + "metadata": { + "_uuid": "4adb4da16ea61e0f1a12bc9925dfbbaaa81e0360", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Use seaborn's jointplot to make a hexagonal bin plot\n#Set desired size and ratio and choose a color.\n#command--> 25\nsns.jointplot(x=\"TotalVotes\", y=\"TotalViews\", data=yourkernels, size=10,ratio=10, kind='hex',color='green')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3768e31e990bfe4c2ff7b45087fbba85e0560d00" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-9 andrews_curves" + }, + { + "metadata": { + "_uuid": "263eaa9d2bfad0f8c68b6e8e874bdc11a6e802ac", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# we will use seaborn jointplot shows bivariate scatterplots and univariate histograms with Kernel density \n# estimation in the same figure\nsns.jointplot(x=\"TotalVotes\", y=\"TotalViews\", data=yourkernels, size=6, kind='kde', color='#800000', space=0)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8e73333289d17dd648b7b2112d7fe3fe7ea444d0" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-10 Heatmap" + }, + { + "metadata": { + "_uuid": "3100955ca9dc61ac7d435e9c064d10d06f26afa7", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 26\nplt.figure(figsize=(10,7)) \nsns.heatmap(yourkernels.corr(),annot=True,cmap='cubehelix_r') #draws heatmap with input as the correlation matrix calculted by(iris.corr())\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6ac924245735f2f63dc95f4a60039cbc4b5f9f0a" + }, + "cell_type": "markdown", + "source": "
\n## 3-4-11 WordCloud\nMany times you might have seen a cloud filled with lots of words in different sizes, which represent the frequency or the importance of each word. This is called Tag Cloud or WordCloud." + }, + { + "metadata": { + "trusted": true, + "_uuid": "d405a5c758a63d38f92124a790e3083715224f39", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 27\nfrom wordcloud import WordCloud as wc\nfrom nltk.corpus import stopwords\neng_stopwords = set(stopwords.words(\"english\"))\nmessages.head(1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "2d794c89a475349868f82690878ed934ec05fd81", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def generate_wordcloud(text): \n wordcloud = wc(relative_scaling = 1.0,stopwords = eng_stopwords).generate(text)\n fig,ax = plt.subplots(1,1,figsize=(10,10))\n ax.imshow(wordcloud, interpolation='bilinear')\n ax.axis(\"off\")\n ax.margins(x=0, y=0)\n plt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "037cd661617de8b3470ade47ac212a31b12e6e1e", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "text=','.join(str(v) for v in train['question_text'])\n#text =\" \".join(messages['Message'])\ngenerate_wordcloud(text)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "83d564bc724f73bfea4b645e3736b46243d0edb0", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "text=','.join(str(v) for v in messages['Message'])\n#text =\" \".join(messages['Message'])\ngenerate_wordcloud(text)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3fff0732ca216c092cc41f33d45dc67e54f2c8f0" + }, + "cell_type": "markdown", + "source": "## 3-4-12 CountPlot" + }, + { + "metadata": { + "trusted": true, + "_uuid": "016fab6c1ce45edb1baf69cf052517dd4e07b002", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 28\nax=sns.countplot(x='target',hue=\"target\", data=train ,linewidth=5,edgecolor=sns.color_palette(\"dark\", 3))\nplt.title('Is data set imbalance?');", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "9231021ad2da6e478f22dc11f4409de66f36049c", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "ax = sns.countplot(y=\"target\", hue=\"target\", data=train)\nplt.title('Is data set imbalance?');", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f5b7ad3f5d499ef756bd6666995aebcd33ba9fd5" + }, + "cell_type": "markdown", + "source": " # 3-4-13 Pie Plot" + }, + { + "metadata": { + "trusted": true, + "_uuid": "1bedf9e97cd52331c759fd05d19da9f441c1866e", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 29\nax=train['target'].value_counts().plot.pie(explode=[0,0.1],autopct='%1.1f%%' ,shadow=True)\nax.set_title('target')\nax.set_ylabel('')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6caa0f9d20a055caebf9a2269c2081b052858806" + }, + "cell_type": "markdown", + "source": "
\n# 5- conclusion\nExploratory data analysis (**EDA**) is an approach to analyzing data sets to summarize their main **characteristics**, often with visual methods. A statistical model can be used or not, but primarily EDA is for seeing what the data can tell us beyond the formal modeling or hypothesis testing task.\nThis kernel it is not completed yet! Following up!\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "cell_type": "markdown", + "source": "you can follow me on:\n\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n--------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated** " + }, + { + "metadata": { + "_uuid": "5590d9817e38722f88c9924517a591d43dfaf4ba" + }, + "cell_type": "markdown", + "source": "
\n# 6- References\n1. [Coursera](https://www.coursera.org/specializations/data-science-python)\n1. [GitHub](https://github.com/mjbahmani)\n\nAs always, I want to thank the kernels I've used to make this kernel:\n1. [deffro](https://www.kaggle.com/deffro/text-pre-processing-techniques)\n1. [SRK](https://www.kaggle.com/sudalairajkumar/simple-exploration-notebook-qiqc)\n1. [mihaskalic](https://www.kaggle.com/mihaskalic/lstm-is-all-you-need-well-maybe-embeddings-also)\n1. [artgor](https://www.kaggle.com/artgor/eda-and-lstm-cnn)\n1. [tunguz](https://www.kaggle.com/tunguz/just-some-simple-eda)\n
\n
\n[Go to top](#top)" + }, + { + "metadata": { + "_uuid": "72e1e18935b372b6aac2fae910e5bd12de1d420f" + }, + "cell_type": "markdown", + "source": "#### This kernel is not completed yet and will be updated soon !!!" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/kernel.ipynb b/Data Visualization in Python for Machine Learning Experts/Data Visualization in Python for Machine Learning Experts.ipynb similarity index 59% rename from kernel.ipynb rename to Data Visualization in Python for Machine Learning Experts/Data Visualization in Python for Machine Learning Experts.ipynb index 8084ef3..0b6af14 100644 --- a/kernel.ipynb +++ b/Data Visualization in Python for Machine Learning Experts/Data Visualization in Python for Machine Learning Experts.ipynb @@ -6,18 +6,25 @@ "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" }, "source": [ - "## A Comprehensive Machine Learning Workflow with Python\n", - "There are plenty of courses and tutorials that can help you learn machine learning from scratch but here in Kaggle, I want to solve a simple machine learning problem as a comprehensive workflow with python packages.Then \n", + "##
A Comprehensive Machine Learning Workflow with Python
\n", "\n", - "After reading, you can use this workflow to solve other real problems and use it as a template to deal with machine learning problems.\n", + "
There are plenty of courses and tutorials that can help you learn machine learning from scratch but here in Kaggle, I want to predict House prices(in the next version) a popular machine learning Dataset as a comprehensive workflow with python packages. \n", + "After reading, you can use this workflow to solve other real problems and use it as a template to deal with machine learning problems.
\n", + "
last update: 10/15/2018
\n", "\n", + "\n", + "\n", + ">###### you may be interested have a look at it: [**A Comprehensive ML Workflow for House Prices**](https://www.kaggle.com/mjbahmani/a-comprehensive-ml-workflow-for-house-prices)\n", + "\n", + "\n", + "---------------------------------------------------------------------\n", "you can follow me on:\n", "> ###### [ GitHub](https://github.com/mjbahmani)\n", - "> ###### [LinkedIn](https://www.linkedin.com/in/bahmani/)\n", "> ###### [Kaggle](https://www.kaggle.com/mjbahmani/)\n", - "\n", - "\n", - " **I hope you find this kernel helpful and some upvotes would be very much appreciated**" + "-------------------------------------------------------------------------------------------------------------\n", + " **I hope you find this kernel helpful and some upvotes would be very much appreciated**\n", + " \n", + " -----------" ] }, { @@ -27,60 +34,64 @@ }, "source": [ "## Notebook Content\n", - "* 1- Introduction\n", - "* 2- Machine learning workflow\n", - "* 3- Problem Definition\n", - "* 3-1 Problem feature\n", - "* 3-2 Aim\n", - "* 3-3 Variables\n", - "* 4- Inputs & Outputs\n", - "* 4-1 Inputs \n", - "* 4-2 Outputs\n", - "* 5- Installation\n", - "* 5-1 jupyter notebook\n", - "* 5-2 kaggle kernel\n", - "* 5-3 Colab notebook\n", - "* 5-4 install python & packages\n", - "* 5-5 Loading Packages\n", - "* 6- Exploratory data analysis\n", - "* 6-1 Data Collection\n", - "* 6-2 Visualization\n", - "* 6-2-1 Scatter plot\n", - "* 6-2-2 Box\n", - "* 6-2-3 Histogram\n", - "* 6-2-4 Multivariate Plots\n", - "* 6-2-5 Violinplots\n", - "* 6-2-6 Pair plot\n", - "* 6-2-7 Kde plot\n", - "* 6-2-8 Joint plot\n", - "* 6-2-9 Andrews curves\n", - "* 6-2-10 Heatmap\n", - "* 6-2-11 Radviz\n", - "* 6-3 Data Preprocessing\n", - "* 6-4 Data Cleaning\n", - "* 7- Model Deployment\n", - "* 7-1 KNN\n", - "* 7-2 Radius Neighbors Classifier\n", - "* 7-3 Logistic Regression\n", - "* 7-4 Passive Aggressive Classifier\n", - "* 7-5 Naive Bayes\n", - "* 7-6 MultinomialNB\n", - "* 7-7 BernoulliNB\n", - "* 7-8 SVM\n", - "* 7-9 Nu-Support Vector Classification\n", - "* 7-10Linear Support Vector Classification\n", - "* 7-11 Decision Tree\n", - "* 7-12 ExtraTreeClassifier\n", - "* 7-13 Neural network\n", - "* 7-14 RandomForest\n", - "* 7-15 Bagging classifier \n", - "* 7-16 AdaBoost classifier\n", - "* 7-17 Gradient Boosting Classifier\n", - "* 7-18 Linear Discriminant Analysis\n", - "* 7-19 Quadratic Discriminant Analysis\n", - "* 7-20 Kmeans\n", - "* 8- Conclusion\n", - "* 9- References" + "* 1- [Introduction](#1)\n", + "* 2- [Machine learning workflow](#2)\n", + "* 2-1 [Real world Application Vs Competitions](#2)\n", + "\n", + "* 3- [Problem Definition](#3)\n", + "* 3-1 [Problem feature](#4)\n", + "* 3-2 [Aim](#5)\n", + "* 3-3 [Variables](#6)\n", + "* 4-[ Inputs & Outputs](#7)\n", + "* 4-1 [Inputs ](#8)\n", + "* 4-2 [Outputs](#9)\n", + "* 5- [Installation](#10)\n", + "* 5-1 [ jupyter notebook](#11)\n", + "* 5-2[ kaggle kernel](#12)\n", + "* 5-3 [Colab notebook](#13)\n", + "* 5-4 [install python & packages](#14)\n", + "* 5-5 [Loading Packages](#15)\n", + "* 6- [Exploratory data analysis](#16)\n", + "* 6-1 [Data Collection](#17)\n", + "* 6-2 [Visualization](#18)\n", + "* 6-2-1 [Scatter plot](#19)\n", + "* 6-2-2 [Box](#20)\n", + "* 6-2-3 [Histogram](#21)\n", + "* 6-2-4 [Multivariate Plots](#22)\n", + "* 6-2-5 [Violinplots](#23)\n", + "* 6-2-6 [Pair plot](#24)\n", + "* 6-2-7 [Kde plot](#25)\n", + "* 6-2-8 [Joint plot](#26)\n", + "* 6-2-9 [Andrews curves](#27)\n", + "* 6-2-10 [Heatmap](#28)\n", + "* 6-2-11 [Radviz](#29)\n", + "* 6-3 [Data Preprocessing](#30)\n", + "* 6-4 [Data Cleaning](#31)\n", + "* 7- [Model Deployment](#32)\n", + "* 7-1[ KNN](#33)\n", + "* 7-2 [Radius Neighbors Classifier](#34)\n", + "* 7-3 [Logistic Regression](#35)\n", + "* 7-4 [Passive Aggressive Classifier](#36)\n", + "* 7-5 [Naive Bayes](#37)\n", + "* 7-6 [MultinomialNB](#38)\n", + "* 7-7 [BernoulliNB](#39)\n", + "* 7-8 [SVM](#40)\n", + "* 7-9 [Nu-Support Vector Classification](#41)\n", + "* 7-10 [Linear Support Vector Classification](#42)\n", + "* 7-11 [Decision Tree](#43)\n", + "* 7-12 [ExtraTreeClassifier](#44)\n", + "* 7-13 [Neural network](#45)\n", + "* 7-13-1 [What is a Perceptron?](#45)\n", + "* 7-14 [RandomForest](#46)\n", + "* 7-15 [Bagging classifier ](#47)\n", + "* 7-16 [AdaBoost classifier](#48)\n", + "* 7-17 [Gradient Boosting Classifier](#49)\n", + "* 7-18 [Linear Discriminant Analysis](#50)\n", + "* 7-19 [Quadratic Discriminant Analysis](#51)\n", + "* 7-20 [Kmeans](#52)\n", + "* 7-21 [Backpropagation](#53)\n", + "* 9- [Conclusion](#54)\n", + "* 10- [References](#55)" ] }, { @@ -89,8 +100,9 @@ "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" }, "source": [ + "
\n", "## 1- Introduction\n", - "This is a **comprehensive ML techniques for IRIS** data set, that I have spent for more than two months to complete it.\n", + "This is a **comprehensive ML techniques with python** , that I have spent for more than two months to complete it.\n", "\n", "it is clear that everyone in this community is familiar with IRIS dataset but if you need to review your information about the dataset please visit this [link](https://archive.ics.uci.edu/ml/datasets/iris).\n", "\n", @@ -106,24 +118,37 @@ "_uuid": "e11b73b618b0f6e4335520ef80267c6d577d1ba5" }, "source": [ + "
\n", "## 2- Machine Learning Workflow\n", + "Field of \tstudy \tthat \tgives\tcomputers\tthe\tability \tto\tlearn \twithout \tbeing\n", + "explicitly \tprogrammed.\n", + "\n", + "Arthur\tSamuel, 1959\n", + "\n", "If you have already read some [machine learning books](https://towardsdatascience.com/list-of-free-must-read-machine-learning-books-89576749d2ff). You have noticed that there are different ways to stream data into machine learning.\n", "\n", - "most of these books share the following steps:\n", - "* Define Problem\n", + "most of these books share the following steps (checklist):\n", + "* Define the Problem(Look at the big picture)\n", "* Specify Inputs & Outputs\n", - "* Exploratory data analysis\n", "* Data Collection\n", + "* Exploratory data analysis\n", "* Data Preprocessing\n", - "* Data Cleaning\n", - "* Visualization\n", "* Model Design, Training, and Offline Evaluation\n", "* Model Deployment, Online Evaluation, and Monitoring\n", "* Model Maintenance, Diagnosis, and Retraining\n", "\n", "**You can see my workflow in the below image** :\n", " \n", - "\n" + "\n", + "**you should\tfeel free\tto\tadapt \tthis\tchecklist \tto\tyour needs**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2-1 Real world Application Vs Competitions\n", + "" ] }, { @@ -132,11 +157,13 @@ "_uuid": "600be852c0d28e7c0c5ebb718904ab15a536342c" }, "source": [ + "
\n", "## 3- Problem Definition\n", - "I think one of the important things when you start a new machine learning project is Defining your problem.\n", + "I think one of the important things when you start a new machine learning project is Defining your problem. that means you should understand business problem.( **Problem Formalization**)\n", "\n", "Problem Definition has four steps that have illustrated in the picture below:\n", "\n", + "
\n", "### 3-1 Problem Feature\n", "we will use the classic Iris data set. This dataset contains information about three different types of Iris flowers:\n", "\n", @@ -174,8 +201,10 @@ "6- All of the numeric attributes are in the same units and the same scale, not requiring any special scaling or transforms to get started.[5]\n", "\n", "7- we can define problem as clustering(unsupervised algorithm) project too.\n", + "
\n", "### 3-2 Aim\n", "The aim is to classify iris flowers among three species (setosa, versicolor or virginica) from measurements of length and width of sepals and petals\n", + "
\n", "### 3-3 Variables\n", "The variables are :\n", "**sepal_length**: Sepal length, in centimeters, used as input.\n", @@ -184,7 +213,11 @@ "**petal_width**: Petal width, in centimeters, used as input.\n", "**setosa**: Iris setosa, true or false, used as target.\n", "**versicolour**: Iris versicolour, true or false, used as target.\n", - "**virginica**: Iris virginica, true or false, used as target." + "**virginica**: Iris virginica, true or false, used as target.\n", + "\n", + "**<< Note >>**\n", + "> You must answer the following question:\n", + "How does your company expact to use and benfit from your model." ] }, { @@ -193,7 +226,9 @@ "_uuid": "8bb4dfebb521f83543e1d45db3559216dad8f6fb" }, "source": [ + "
\n", "## 4- Inputs & Outputs\n", + "
\n", "### 4-1 Inputs\n", "**Iris** is a very popular **classification** and **clustering** problem in machine learning and it is such as \"Hello world\" program when you start learning a new programming language. then I decided to apply Iris on 20 machine learning method on it.\n", "The Iris flower data set or Fisher's Iris data set is a **multivariate data set** introduced by the British statistician and biologist Ronald Fisher in his 1936 paper The use of multiple measurements in taxonomic problems as an example of linear discriminant analysis. It is sometimes called Anderson's Iris data set because Edgar Anderson collected the data to quantify the morphologic variation of Iris flowers in three related species. Two of the three species were collected in the Gaspé Peninsula \"all from the same pasture, and picked on the same day and measured at the same time by the same person with the same apparatus\".\n", @@ -202,6 +237,7 @@ "As a result, **iris dataset is used as the input of all algorithms**.\n", "![iris](https://image.ibb.co/gbH3ue/iris.png)\n", "[image source](https://rpubs.com/wjholst/322258)\n", + "
\n", "### 4-2 Outputs\n", "the outputs for our algorithms totally depend on the type of classification or clustering algorithms.\n", "the outputs can be the number of clusters or predict for new input.\n", @@ -217,6 +253,7 @@ "_uuid": "89ee0cda57822cd4102eadf8992c5bfe1964d557" }, "source": [ + "
\n", "## 5-Installation\n", "#### Windows:\n", "* Anaconda (from https://www.continuum.io) is a free Python distribution for SciPy stack. It is also available for Linux and Mac.\n", @@ -236,6 +273,7 @@ "_uuid": "c1793fb141d3338bbc4300874be6ffa5cb1a9139" }, "source": [ + "
\n", "## 5-1 Jupyter notebook\n", "I strongly recommend installing **Python** and **Jupyter** using the **[Anaconda Distribution](https://www.anaconda.com/download/)**, which includes Python, the Jupyter Notebook, and other commonly used packages for scientific computing and data science.\n", "\n", @@ -262,6 +300,7 @@ "_uuid": "8a70c253d5afa93f07a7a7e048dbb2d7812c8d10" }, "source": [ + "
\n", "## 5-2 Kaggle Kernel\n", "Kaggle kernel is an environment just like you use jupyter notebook, it's an **extension** of the where in you are able to carry out all the functions of jupyter notebooks plus it has some added tools like forking et al." ] @@ -272,6 +311,7 @@ "_uuid": "237bbe4e4509c9491ce165e3599c432b979d7b90" }, "source": [ + "
\n", "## 5-3 Colab notebook\n", "**Colaboratory** is a research tool for machine learning education and research. It’s a Jupyter notebook environment that requires no setup to use.\n", "### 5-3-1 What browsers are supported?\n", @@ -288,6 +328,7 @@ "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" }, "source": [ + "
\n", "## 5-5 Loading Packages\n", "In this kernel we are using the following packages:" ] @@ -307,7 +348,8 @@ "execution_count": null, "metadata": { "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", - "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5" + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "collapsed": true }, "outputs": [], "source": [ @@ -356,6 +398,7 @@ "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" }, "source": [ + "
\n", "## 6- Exploratory Data Analysis(EDA)\n", " In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n", " \n", @@ -368,7 +411,7 @@ "* 5-2 Visualization\n", "* 5-3 Data Preprocessing\n", "* 5-4 Data Cleaning\n", - "" + "" ] }, { @@ -377,10 +420,11 @@ "_uuid": "cedecea930b278f86292367cc28d2996a235a169" }, "source": [ + "
\n", "## 6-1 Data Collection\n", "**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n", "\n", - "Iris data sets consists of 3 different types of irises’ (Setosa, Versicolour, and Virginica) petal and sepal length, stored in a 150x4 numpy.ndarray\n", + "**Iris dataset** consists of 3 different types of irises’ (Setosa, Versicolour, and Virginica) petal and sepal length, stored in a 150x4 numpy.ndarray\n", "\n", "The rows being the samples and the columns being: Sepal Length, Sepal Width, Petal Length and Petal Width.[6]\n" ] @@ -389,7 +433,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "9269ae851b744856bce56840637030a16a5877e1" + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "collapsed": true }, "outputs": [], "source": [ @@ -422,7 +467,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51" + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "collapsed": true }, "outputs": [], "source": [ @@ -432,676 +478,777 @@ { "cell_type": "markdown", "metadata": { - "_uuid": "581b90e6a869c3793472c7edd59091d6d6342fb2" + "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" }, "source": [ - "## 6-1-1 Statistical Summary\n", - "1- Dimensions of the dataset.\n", - "\n", - "2- Peek at the data itself.\n", - "\n", - "3- Statistical summary of all attributes.\n", + "
\n", + "## 6-2 Visualization\n", + "**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns.\n", "\n", - "4- Breakdown of the data by the class variable.[7]\n", + "With interactive visualization, you can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data you see and how it’s processed.[SAS]\n", "\n", - "Don’t worry, each look at the data is one command. These are useful commands that you can use again and again on future projects." + " In this section I show you **11 plots** with **matplotlib** and **seaborn** that is listed in the blew picture:\n", + " \n" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": { - "_uuid": "4b45251be7be77333051fe738639104ae1005fa5" + "_uuid": "b0014a7a52e714996bc443981c853095926d20e5" }, - "outputs": [], "source": [ - "# shape\n", - "print(dataset.shape)" + "
\n", + "### 6-2-1 Scatter plot\n", + "\n", + "Scatter plot Purpose To identify the type of relationship (if any) between two quantitative variables\n", + "\n", + "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c" + "_uuid": "af099546eed64ebc796403d4139cb4c977c27b03", + "collapsed": true }, "outputs": [], "source": [ - "#columns*rows\n", - "dataset.size" + "# Modify the graph above by assigning each species an individual color.\n", + "sns.FacetGrid(dataset, hue=\"Species\", size=5) \\\n", + " .map(plt.scatter, \"SepalLengthCm\", \"SepalWidthCm\") \\\n", + " .add_legend()\n", + "plt.show()" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + "_uuid": "d1c7b62b5f8cba427bca13049256365141655372" }, "source": [ - "\n", - "We can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property.\n", - "\n", - "You should see 150 instances and 5 attributes:" + "
\n", + "### 6-2-2 Box\n", + "In descriptive statistics, a **box plot** or boxplot is a method for graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram.[wikipedia]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "ca840f02925751186f87e402fcb5f637ab1ab8a0" + "_uuid": "0655e20f31a582f861d391308a088778cd7eaae9", + "collapsed": true }, "outputs": [], "source": [ - "print(dataset.info())" + "dataset.plot(kind='box', subplots=True, layout=(2,3), sharex=False, sharey=False)\n", + "plt.figure()\n", + "#This gives us a much clearer idea of the distribution of the input attributes:\n", + "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "4b90d165a007106ae99809ad28edd75bd8153dd8" + "_uuid": "f7f6426fd44bcd77d35a5fdbc8c4fc4f18d991ad", + "collapsed": true }, "outputs": [], "source": [ - "dataset['Species'].unique()" + "# To plot the species data using a box plot:\n", + "\n", + "sns.boxplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset )\n", + "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "8accfbddf2228274ad412c3ad3be72b4107d6f6c" + "_uuid": "7b193e4aa7e6fb337d3f65c334849094addd097a", + "collapsed": true }, "outputs": [], "source": [ - "dataset[\"Species\"].value_counts()\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" - }, - "source": [ - "to check the first 5 rows of the data set, we can use head(5)." + "# Use Seaborn's striplot to add data points on top of the box plot \n", + "# Insert jitter=True so that the data points remain scattered and not piled into a verticle line.\n", + "# Assign ax to each axis, so that each plot is ontop of the previous axis. \n", + "\n", + "ax= sns.boxplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset)\n", + "ax= sns.stripplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset, jitter=True, edgecolor=\"gray\")\n", + "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "5899889553c3416b27e93efceddb106eb71f5156" + "_uuid": "56adbafa89c117118621c72b3b7cb19edc21298e", + "collapsed": true }, "outputs": [], "source": [ - "dataset.head(5) " + "# Tweek the plot above to change fill and border color color using ax.artists.\n", + "# Assing ax.artists a variable name, and insert the box number into the corresponding brackets\n", + "\n", + "ax= sns.boxplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset)\n", + "ax= sns.stripplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset, jitter=True, edgecolor=\"gray\")\n", + "\n", + "boxtwo = ax.artists[2]\n", + "boxtwo.set_facecolor('red')\n", + "boxtwo.set_edgecolor('black')\n", + "boxthree=ax.artists[1]\n", + "boxthree.set_facecolor('yellow')\n", + "boxthree.set_edgecolor('black')\n", + "\n", + "plt.show()" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + "_uuid": "743a92c3c2fff1a1f99845518247f7971ad18b7c" }, "source": [ - "to check out last 5 row of the data set, we use tail() function" + "
\n", + "### 6-2-3 Histogram\n", + "We can also create a **histogram** of each input variable to get an idea of the distribution.\n", + "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "79339442ff1f53ae1054d794337b9541295d3305" + "_uuid": "5da0520ed3e738ee8814b2d91843ed4acec2b6e6", + "collapsed": true }, "outputs": [], "source": [ - "dataset.tail() " + "# histograms\n", + "dataset.hist(figsize=(15,20))\n", + "plt.figure()" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" - }, - "source": [ - "to pop up 5 random rows from the data set, we can use **sample(5)** function" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140" + "_uuid": "b4e3de19781686010c6038f0e3076eb678398169" }, - "outputs": [], "source": [ - "dataset.sample(5) " + "It looks like perhaps two of the input variables have a Gaussian distribution. This is useful to note as we can use algorithms that can exploit this assumption.\n", + "\n" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + "_uuid": "3bbff56707484f88625eb8ef309b712ba03f939e" }, "source": [ - "to give a statistical summary about the dataset, we can use **describe()" + "
\n", + "### 6-2-4 Multivariate Plots\n", + "Now we can look at the interactions between the variables.\n", + "\n", + "First, let’s look at scatterplots of all pairs of attributes. This can be helpful to spot structured relationships between input variables." ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3" + "_uuid": "eb4e5d117e4ef40d7668632f42130206a5537bd0", + "collapsed": true }, "outputs": [], "source": [ - "dataset.describe() " + "\n", + "# scatter plot matrix\n", + "pd.plotting.scatter_matrix(dataset,figsize=(10,10))\n", + "plt.figure()" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "031d16ca235837e889734635ecff193be64b27a4" + "_uuid": "de7fea7986071fafbe0b93933e3beda445cbe373" }, "source": [ - "to check out how many null info are on the dataset, we can use **isnull().sum()" + "Note the diagonal grouping of some pairs of attributes. This suggests a high correlation and a predictable relationship." ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": { - "_uuid": "8807b632269e2fa734ad26e8513199400fc09a83" + "_uuid": "e0f696ec021ec99c1058a62e22c8b73082fe6fa7" }, - "outputs": [], "source": [ - "dataset.isnull().sum()" + "
\n", + "### 6-2-5 violinplots" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "446e6162e16325213047ff31454813455668b574" + "_uuid": "e352d2f8340609adf4bf6718b1d2ecee0fa730b5", + "collapsed": true }, "outputs": [], "source": [ - "dataset.groupby('Species').count()" + "# violinplots on petal-length for each species\n", + "sns.violinplot(data=dataset,x=\"Species\", y=\"PetalLengthCm\")" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + "_uuid": "0ed35bceb87051e56316d35a630334518e8b8c64" }, "source": [ - "to print dataset **columns**, we can use columns atribute" + "
\n", + "### 6-2-6 pairplot" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f" + "_uuid": "b80350add6f9a742f10bffc4b497562f8bebea95", + "collapsed": true }, "outputs": [], "source": [ - "dataset.columns" + "# Using seaborn pairplot to see the bivariate relation between each pair of features\n", + "sns.pairplot(dataset, hue=\"Species\")" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "22bc5d81c18275ee1fb082c0adbb7a65bdbec4cc" + "_uuid": "fb187bcc0fb51e53f8abe9e3952c6ae5c3177411" }, "source": [ - "**<< Note 2 >>**\n", - "in pandas's data frame you can perform some query such as \"where\"" + "From the plot, we can see that the species setosa is separataed from the other two across all feature combinations\n", + "\n", + "We can also replace the histograms shown in the diagonal of the pairplot by kde." ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "c8c8d9fd63d9bdb601183aeb4f1435affeb8a596" + "_uuid": "5570ff32db5a4740b26b244531af552ac1b57f4a", + "collapsed": true }, "outputs": [], "source": [ - "dataset.where(dataset ['Species']=='Iris-setosa')" + "# updating the diagonal elements in a pairplot to show a kde\n", + "sns.pairplot(dataset, hue=\"Species\",diag_kind=\"kde\")" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": { - "_uuid": "8b545ff7e8367c5ab9c1db710f70b6936ac8422c" + "_uuid": "2544d3c2dd34a360d295019d8cb597c7ef8f66bc" }, - "outputs": [], "source": [ - "dataset[dataset['SepalLengthCm']>7.2]" + "
\n", + "### 6-2-7 kdeplot" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": null, "metadata": { - "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" + "_uuid": "1d07222b89303b386e9e824d52cc73c045667f25", + "collapsed": true }, + "outputs": [], "source": [ - "## 6-2 Visualization\n", - "**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns.\n", - "\n", - "With interactive visualization, you can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data you see and how it’s processed.[SAS]" + "# seaborn's kdeplot, plots univariate or bivariate density estimates.\n", + "#Size can be changed by tweeking the value used\n", + "sns.FacetGrid(dataset, hue=\"Species\", size=5).map(sns.kdeplot, \"PetalLengthCm\").add_legend()\n", + "plt.show()" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "b0014a7a52e714996bc443981c853095926d20e5" + "_uuid": "560d8e8f17bacefaf8c3855a9648f26b82fdee9b" }, "source": [ - "### 6-2-1 Scatter plot\n", - "\n", - "Scatter plot Purpose To identify the type of relationship (if any) between two quantitative variables\n", - "\n", - "\n" + "
\n", + "### 6-2-8 jointplot" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "af099546eed64ebc796403d4139cb4c977c27b03" + "_uuid": "4adb4da16ea61e0f1a12bc9925dfbbaaa81e0360", + "collapsed": true }, "outputs": [], "source": [ - "# Modify the graph above by assigning each species an individual color.\n", - "sns.FacetGrid(dataset, hue=\"Species\", size=5) \\\n", - " .map(plt.scatter, \"SepalLengthCm\", \"SepalWidthCm\") \\\n", - " .add_legend()\n", + "# Use seaborn's jointplot to make a hexagonal bin plot\n", + "#Set desired size and ratio and choose a color.\n", + "sns.jointplot(x=\"SepalLengthCm\", y=\"SepalWidthCm\", data=dataset, size=10,ratio=10, kind='hex',color='green')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "d1c7b62b5f8cba427bca13049256365141655372" + "_uuid": "3768e31e990bfe4c2ff7b45087fbba85e0560d00" }, "source": [ - "### 6-2-2 Box\n", - "In descriptive statistics, a **box plot** or boxplot is a method for graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram.[wikipedia]" + "
\n", + "### 6-2-9 andrews_curves" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "0655e20f31a582f861d391308a088778cd7eaae9" + "_uuid": "937b6856d109001db14a3ac99568df45efbe1070", + "collapsed": true }, "outputs": [], "source": [ - "dataset.plot(kind='box', subplots=True, layout=(2,3), sharex=False, sharey=False)\n", - "plt.figure()\n", - "#This gives us a much clearer idea of the distribution of the input attributes:\n", - "\n" + "#In Pandas use Andrews Curves to plot and visualize data structure.\n", + "#Each multivariate observation is transformed into a curve and represents the coefficients of a Fourier series.\n", + "#This useful for detecting outliers in times series data.\n", + "#Use colormap to change the color of the curves\n", + "\n", + "from pandas.tools.plotting import andrews_curves\n", + "andrews_curves(dataset.drop(\"Id\", axis=1), \"Species\",colormap='rainbow')\n", + "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "f7f6426fd44bcd77d35a5fdbc8c4fc4f18d991ad" + "_uuid": "263eaa9d2bfad0f8c68b6e8e874bdc11a6e802ac", + "collapsed": true }, "outputs": [], "source": [ - "# To plot the species data using a box plot:\n", - "\n", - "sns.boxplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset )\n", - "plt.show()" + "# we will use seaborn jointplot shows bivariate scatterplots and univariate histograms with Kernel density \n", + "# estimation in the same figure\n", + "sns.jointplot(x=\"SepalLengthCm\", y=\"SepalWidthCm\", data=dataset, size=6, kind='kde', color='#800000', space=0)" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": { - "_uuid": "7b193e4aa7e6fb337d3f65c334849094addd097a" + "_uuid": "8e73333289d17dd648b7b2112d7fe3fe7ea444d0" }, - "outputs": [], "source": [ - "# Use Seaborn's striplot to add data points on top of the box plot \n", - "# Insert jitter=True so that the data points remain scattered and not piled into a verticle line.\n", - "# Assign ax to each axis, so that each plot is ontop of the previous axis. \n", - "\n", - "ax= sns.boxplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset)\n", - "ax= sns.stripplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset, jitter=True, edgecolor=\"gray\")\n", - "plt.show()" + "
\n", + "### 6-2-10 Heatmap" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "56adbafa89c117118621c72b3b7cb19edc21298e" + "_uuid": "3100955ca9dc61ac7d435e9c064d10d06f26afa7", + "collapsed": true }, "outputs": [], "source": [ - "# Tweek the plot above to change fill and border color color using ax.artists.\n", - "# Assing ax.artists a variable name, and insert the box number into the corresponding brackets\n", - "\n", - "ax= sns.boxplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset)\n", - "ax= sns.stripplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset, jitter=True, edgecolor=\"gray\")\n", - "\n", - "boxtwo = ax.artists[2]\n", - "boxtwo.set_facecolor('red')\n", - "boxtwo.set_edgecolor('black')\n", - "boxthree=ax.artists[1]\n", - "boxthree.set_facecolor('yellow')\n", - "boxthree.set_edgecolor('black')\n", - "\n", + "plt.figure(figsize=(7,4)) \n", + "sns.heatmap(dataset.corr(),annot=True,cmap='cubehelix_r') #draws heatmap with input as the correlation matrix calculted by(iris.corr())\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "743a92c3c2fff1a1f99845518247f7971ad18b7c" + "_uuid": "b81dbdd5dd8cb92a86b1f7114ffb6f088458a527" }, "source": [ - "### 6-2-3 Histogram\n", - "We can also create a **histogram** of each input variable to get an idea of the distribution.\n", - "\n" + "
\n", + "### 6-2-11 radviz" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "5da0520ed3e738ee8814b2d91843ed4acec2b6e6" + "_uuid": "33fed3027d7242227d612a84bbb42b012356091b", + "collapsed": true }, "outputs": [], "source": [ - "# histograms\n", - "dataset.hist(figsize=(15,20))\n", - "plt.figure()" + "# A final multivariate visualization technique pandas has is radviz\n", + "# Which puts each feature as a point on a 2D plane, and then simulates\n", + "# having each sample attached to those points through a spring weighted\n", + "# by the relative value for that feature\n", + "from pandas.tools.plotting import radviz\n", + "radviz(dataset.drop(\"Id\", axis=1), \"Species\")" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "b4e3de19781686010c6038f0e3076eb678398169" + "_uuid": "0859caf857ceeb19f4cc47ccd11fbbfdfe4b0dd9" }, "source": [ - "It looks like perhaps two of the input variables have a Gaussian distribution. This is useful to note as we can use algorithms that can exploit this assumption.\n", - "\n" + "**<< Note >>**\n", + "\n", + "**Yellowbrick** is a suite of visual diagnostic tools called “Visualizers” that extend the Scikit-Learn API to allow human steering of the model selection process. In a nutshell, Yellowbrick combines scikit-learn with matplotlib in the best tradition of the scikit-learn documentation, but to produce visualizations for your models! " ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "3bbff56707484f88625eb8ef309b712ba03f939e" + "_uuid": "5af51158a5bc342947c553392e3d1665ac24ba62" }, "source": [ - "### 6-2-4 Multivariate Plots\n", - "Now we can look at the interactions between the variables.\n", + "### 6-2-12 Conclusion\n", + "we have used Python to apply data visualization tools to the Iris dataset. Color and size changes were made to the data points in scatterplots. I changed the border and fill color of the boxplot and violin, respectively." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "91dda1f631cf4ed362162501aaaac6d19cfd6cc7" + }, + "source": [ + "
\n", + "## 6-3 Data Preprocessing\n", + "**Data preprocessing** refers to the transformations applied to our data before feeding it to the algorithm.\n", + " \n", + "Data Preprocessing is a technique that is used to convert the raw data into a clean data set. In other words, whenever the data is gathered from different sources it is collected in raw format which is not feasible for the analysis.\n", + "there are plenty of steps for data preprocessing and we just listed some of them :\n", + "* removing Target column (id)\n", + "* Sampling (without replacement)\n", + "* Making part of iris unbalanced and balancing (with undersampling and SMOTE)\n", + "* Introducing missing values and treating them (replacing by average values)\n", + "* Noise filtering\n", + "* Data discretization\n", + "* Normalization and standardization\n", + "* PCA analysis\n", + "* Feature selection (filter, embedded, wrapper)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "581b90e6a869c3793472c7edd59091d6d6342fb2" + }, + "source": [ + "## 6-3-1 Features\n", + "Features:\n", + "* numeric\n", + "* categorical\n", + "* ordinal\n", + "* datetime\n", + "* coordinates\n", "\n", - "First, let’s look at scatterplots of all pairs of attributes. This can be helpful to spot structured relationships between input variables." + "find the type of features in titanic dataset\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 6-3-2 Explorer Dataset\n", + "1- Dimensions of the dataset.\n", + "\n", + "2- Peek at the data itself.\n", + "\n", + "3- Statistical summary of all attributes.\n", + "\n", + "4- Breakdown of the data by the class variable.[7]\n", + "\n", + "Don’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "collapsed": true + }, + "outputs": [], + "source": [ + "# shape\n", + "print(dataset.shape)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "eb4e5d117e4ef40d7668632f42130206a5537bd0" + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "collapsed": true }, "outputs": [], + "source": [ + "#columns*rows\n", + "dataset.size" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, "source": [ "\n", - "# scatter plot matrix\n", - "pd.plotting.scatter_matrix(dataset,figsize=(10,10))\n", - "plt.figure()" + "We can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property.\n", + "\n", + "You should see 150 instances and 5 attributes:" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "de7fea7986071fafbe0b93933e3beda445cbe373" + "_uuid": "95ee5e18f97bc410df1e54ac74e32cdff2b30755" }, "source": [ - "Note the diagonal grouping of some pairs of attributes. This suggests a high correlation and a predictable relationship." + "for getting some information about the dataset you can use **info()** command" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "ca840f02925751186f87e402fcb5f637ab1ab8a0", + "collapsed": true + }, + "outputs": [], + "source": [ + "print(dataset.info())" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "e0f696ec021ec99c1058a62e22c8b73082fe6fa7" + "_uuid": "3458838205be4c7fbff88e95ef69934e13e2199b" }, "source": [ - "### 6-2-5 violinplots" + "you see number of unique item for Species with command below:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "e352d2f8340609adf4bf6718b1d2ecee0fa730b5" + "_uuid": "4b90d165a007106ae99809ad28edd75bd8153dd8", + "collapsed": true }, "outputs": [], "source": [ - "# violinplots on petal-length for each species\n", - "sns.violinplot(data=dataset,x=\"Species\", y=\"PetalLengthCm\")" + "dataset['Species'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "8accfbddf2228274ad412c3ad3be72b4107d6f6c", + "collapsed": true + }, + "outputs": [], + "source": [ + "dataset[\"Species\"].value_counts()\n" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "0ed35bceb87051e56316d35a630334518e8b8c64" + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" }, "source": [ - "### 6-2-6 pairplot" + "to check the first 5 rows of the data set, we can use head(5)." ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "b80350add6f9a742f10bffc4b497562f8bebea95" + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156", + "collapsed": true }, "outputs": [], "source": [ - "# Using seaborn pairplot to see the bivariate relation between each pair of features\n", - "sns.pairplot(dataset, hue=\"Species\")" + "dataset.head(5) " ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "fb187bcc0fb51e53f8abe9e3952c6ae5c3177411" + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" }, "source": [ - "From the plot, we can see that the species setosa is separataed from the other two across all feature combinations\n", - "\n", - "We can also replace the histograms shown in the diagonal of the pairplot by kde." + "to check out last 5 row of the data set, we use tail() function" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "5570ff32db5a4740b26b244531af552ac1b57f4a" + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305", + "collapsed": true }, "outputs": [], "source": [ - "# updating the diagonal elements in a pairplot to show a kde\n", - "sns.pairplot(dataset, hue=\"Species\",diag_kind=\"kde\")" + "dataset.tail() " ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "2544d3c2dd34a360d295019d8cb597c7ef8f66bc" + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" }, "source": [ - "### 6-2-7 kdeplot" + "to pop up 5 random rows from the data set, we can use **sample(5)** function" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "1d07222b89303b386e9e824d52cc73c045667f25" + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140", + "collapsed": true }, "outputs": [], "source": [ - "# seaborn's kdeplot, plots univariate or bivariate density estimates.\n", - "#Size can be changed by tweeking the value used\n", - "sns.FacetGrid(dataset, hue=\"Species\", size=5).map(sns.kdeplot, \"PetalLengthCm\").add_legend()\n", - "plt.show()" + "dataset.sample(5) " ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "560d8e8f17bacefaf8c3855a9648f26b82fdee9b" + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" }, "source": [ - "### 6-2-8 jointplot" + "to give a statistical summary about the dataset, we can use **describe()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "4adb4da16ea61e0f1a12bc9925dfbbaaa81e0360" + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3", + "collapsed": true }, "outputs": [], "source": [ - "# Use seaborn's jointplot to make a hexagonal bin plot\n", - "#Set desired size and ratio and choose a color.\n", - "sns.jointplot(x=\"SepalLengthCm\", y=\"SepalWidthCm\", data=dataset, size=10,ratio=10, kind='hex',color='green')\n", - "plt.show()" + "dataset.describe() " ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "3768e31e990bfe4c2ff7b45087fbba85e0560d00" + "_uuid": "031d16ca235837e889734635ecff193be64b27a4" }, "source": [ - "### 6-2-9 andrews_curves" + "to check out how many null info are on the dataset, we can use **isnull().sum()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "937b6856d109001db14a3ac99568df45efbe1070" + "_uuid": "8807b632269e2fa734ad26e8513199400fc09a83", + "collapsed": true }, "outputs": [], "source": [ - "#In Pandas use Andrews Curves to plot and visualize data structure.\n", - "#Each multivariate observation is transformed into a curve and represents the coefficients of a Fourier series.\n", - "#This useful for detecting outliers in times series data.\n", - "#Use colormap to change the color of the curves\n", - "\n", - "from pandas.tools.plotting import andrews_curves\n", - "andrews_curves(dataset.drop(\"Id\", axis=1), \"Species\",colormap='rainbow')\n", - "plt.show()" + "dataset.isnull().sum()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "263eaa9d2bfad0f8c68b6e8e874bdc11a6e802ac" + "_uuid": "446e6162e16325213047ff31454813455668b574", + "collapsed": true }, "outputs": [], "source": [ - "# we will use seaborn jointplot shows bivariate scatterplots and univariate histograms with Kernel density \n", - "# estimation in the same figure\n", - "sns.jointplot(x=\"SepalLengthCm\", y=\"SepalWidthCm\", data=dataset, size=6, kind='kde', color='#800000', space=0)" + "dataset.groupby('Species').count()" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "8e73333289d17dd648b7b2112d7fe3fe7ea444d0" + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" }, "source": [ - "### 6-2-10 Heatmap" + "to print dataset **columns**, we can use columns atribute" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "3100955ca9dc61ac7d435e9c064d10d06f26afa7" + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f", + "collapsed": true }, "outputs": [], "source": [ - "plt.figure(figsize=(7,4)) \n", - "sns.heatmap(dataset.corr(),annot=True,cmap='cubehelix_r') #draws heatmap with input as the correlation matrix calculted by(iris.corr())\n", - "plt.show()" + "dataset.columns" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "b81dbdd5dd8cb92a86b1f7114ffb6f088458a527" + "_uuid": "22bc5d81c18275ee1fb082c0adbb7a65bdbec4cc" }, "source": [ - "### 6-2-11 radviz" + "**<< Note 2 >>**\n", + "in pandas's data frame you can perform some query such as \"where\"" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "33fed3027d7242227d612a84bbb42b012356091b" + "_uuid": "c8c8d9fd63d9bdb601183aeb4f1435affeb8a596", + "collapsed": true }, "outputs": [], "source": [ - "# A final multivariate visualization technique pandas has is radviz\n", - "# Which puts each feature as a point on a 2D plane, and then simulates\n", - "# having each sample attached to those points through a spring weighted\n", - "# by the relative value for that feature\n", - "from pandas.tools.plotting import radviz\n", - "radviz(dataset.drop(\"Id\", axis=1), \"Species\")" + "dataset.where(dataset ['Species']=='Iris-setosa')" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "5af51158a5bc342947c553392e3d1665ac24ba62" + "_uuid": "33fc33a18489b438a884819d99dc00a02b113be8" }, "source": [ - "### 6-2-12 Conclusion\n", - "we have used Python to apply data visualization tools to the Iris dataset. Color and size changes were made to the data points in scatterplots. I changed the border and fill color of the boxplot and violin, respectively." + "as you can see in the below in python, it is so easy perform some query on the dataframe:" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": null, "metadata": { - "_uuid": "91dda1f631cf4ed362162501aaaac6d19cfd6cc7" + "_uuid": "8b545ff7e8367c5ab9c1db710f70b6936ac8422c", + "collapsed": true }, + "outputs": [], "source": [ - " ## 6-3 Data Preprocessing\n", - "**Data preprocessing** refers to the transformations applied to our data before feeding it to the algorithm.\n", - " \n", - "Data Preprocessing is a technique that is used to convert the raw data into a clean data set. In other words, whenever the data is gathered from different sources it is collected in raw format which is not feasible for the analysis.\n", - "there are plenty of steps for data preprocessing and we just listed some of them :\n", - "* removing Target column (id)\n", - "* Sampling (without replacement)\n", - "* Making part of iris unbalanced and balancing (with undersampling and SMOTE)\n", - "* Introducing missing values and treating them (replacing by average values)\n", - "* Noise filtering\n", - "* Data discretization\n", - "* Normalization and standardization\n", - "* PCA analysis\n", - "* Feature selection (filter, embedded, wrapper)" + "dataset[dataset['SepalLengthCm']>7.2]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "1c92b300076a232321c915857d8a7c5685a97865" + "_uuid": "1c92b300076a232321c915857d8a7c5685a97865", + "collapsed": true }, "outputs": [], "source": [ @@ -1110,16 +1257,25 @@ "y = dataset.iloc[:, -1].values" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**<< Note >>**\n", + ">**Preprocessing and generation pipelines depend on a model type**" + ] + }, { "cell_type": "markdown", "metadata": { "_uuid": "8280749a19af32869978c61941d1dea306632d71" }, "source": [ + "
\n", "## 6-4 Data Cleaning\n", "When dealing with real-world data, dirty data is the norm rather than the exception. We continuously need to predict correct values, impute missing ones, and find links between various data artefacts such as schemas and records. We need to stop treating data cleaning as a piecemeal exercise (resolving different types of errors in isolation), and instead leverage all signals and resources (such as constraints, available statistics, and dictionaries) to accurately predict corrective actions.\n", "\n", - "The primary goal of data cleaning is to detect and remove errors and anomalies to increase the value of data in analytics and decision making. While it has been the focus of many researchers for several years, individual problems have been addressed separately. These include missing value imputation, outliers detection, transformations, integrity constraints violations detection and repair, consistent query answering, deduplication, and many other related problems such as profiling and constraints mining.[8]" + "The primary goal of data cleaning is to detect and remove errors and **anomalies** to increase the value of data in analytics and decision making. While it has been the focus of many researchers for several years, individual problems have been addressed separately. These include missing value imputation, outliers detection, transformations, integrity constraints violations detection and repair, consistent query answering, deduplication, and many other related problems such as profiling and constraints mining.[8]" ] }, { @@ -1128,20 +1284,79 @@ "_uuid": "72cc7c7b60a33390a85b16bc34e3b9e424650cdd" }, "source": [ + "
\n", "## 7- Model Deployment\n", - "In this section have been applied more than 20 learning algorithms that play an important rule in your experiences and improve your knowledge in case of ML technique.\n", + "In this section have been applied more than **20 learning algorithms** that play an important rule in your experiences and improve your knowledge in case of ML technique.\n", "\n", "> **<< Note 3 >>** : The results shown here may be slightly different for your analysis because, for example, the neural network algorithms use random number generators for fixing the initial value of the weights (starting points) of the neural networks, which often result in obtaining slightly different (local minima) solutions each time you run the analysis. Also note that changing the seed for the random number generator used to create the train, test, and validation samples can change your results." ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Families of ML algorithms\n", + "There are several categories for machine learning algorithms, below are some of these categories:\n", + "* Linear\n", + " * Linear Regression\n", + " * Logistic Regression\n", + " * Support Vector Machines\n", + "* Tree-Based\n", + " * Decision Tree\n", + " * Random Forest\n", + " * GBDT\n", + "* KNN\n", + "* Neural Networks\n", + "\n", + "-----------------------------\n", + "And if we want to categorize ML algorithms with the type of learning, there are below type:\n", + "* Classification\n", + "\n", + " * k-Nearest \tNeighbors\n", + " * LinearRegression\n", + " * SVM\n", + " * DT \n", + " * NN\n", + " \n", + "* clustering\n", + "\n", + " * K-means\n", + " * HCA\n", + " * Expectation Maximization\n", + " \n", + "* Visualization \tand\tdimensionality \treduction:\n", + "\n", + " * Principal \tComponent \tAnalysis(PCA)\n", + " * Kernel PCA\n", + " * Locally -Linear\tEmbedding \t(LLE)\n", + " * t-distributed\tStochastic\tNeighbor\tEmbedding \t(t-SNE)\n", + " \n", + "* Association \trule\tlearning\n", + "\n", + " * Apriori\n", + " * Eclat\n", + "* Semisupervised learning\n", + "* Reinforcement Learning\n", + " * Q-learning\n", + "* Batch learning & Online learning\n", + "* Ensemble Learning\n", + "\n", + "**<< Note >>**\n", + "> Here is no method which outperforms all others for all tasks\n", + "\n" + ] + }, { "cell_type": "markdown", "metadata": { "_uuid": "daf9910caba26e071ff560dbdaca079ee148e140" }, "source": [ + "
\n", "## Prepare Features & Targets\n", "First of all seperating the data into dependent(Feature) and independent(Target) variables.\n", + "\n", + "**<< Note 4 >>**\n", "* X==>>Feature\n", "* y==>>Target" ] @@ -1150,7 +1365,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "b06cb1191a0f52a904c52a918d1f999536e79bda" + "_uuid": "b06cb1191a0f52a904c52a918d1f999536e79bda", + "collapsed": true }, "outputs": [], "source": [ @@ -1178,7 +1394,9 @@ "recall is the fraction of relevant instances that have been retrieved over the total amount of relevant instances. \n", "* **F-score** :\n", "\n", - "the F1 score is a measure of a test's accuracy. It considers both the precision p and the recall r of the test to compute the score: p is the number of correct positive results divided by the number of all positive results returned by the classifier, and r is the number of correct positive results divided by the number of all relevant samples (all samples that should have been identified as positive). The F1 score is the harmonic average of the precision and recall, where an F1 score reaches its best value at 1 (perfect precision and recall) and worst at 0." + "the F1 score is a measure of a test's accuracy. It considers both the precision p and the recall r of the test to compute the score: p is the number of correct positive results divided by the number of all positive results returned by the classifier, and r is the number of correct positive results divided by the number of all relevant samples (all samples that should have been identified as positive). The F1 score is the harmonic average of the precision and recall, where an F1 score reaches its best value at 1 (perfect precision and recall) and worst at 0.\n", + "**What is the difference between accuracy and precision?\n", + "\"Accuracy\" and \"precision\" are general terms throughout science. A good way to internalize the difference are the common \"bullseye diagrams\". In machine learning/statistics as a whole, accuracy vs. precision is analogous to bias vs. variance." ] }, { @@ -1187,6 +1405,7 @@ "_uuid": "b8b544762cc789bfeb8ebccd6765f77b9c7e1a0f" }, "source": [ + "
\n", "## 7-1 K-Nearest Neighbours\n", "In **Machine Learning**, the **k-nearest neighbors algorithm** (k-NN) is a non-parametric method used for classification and regression. In both cases, the input consists of the k closest training examples in the feature space. The output depends on whether k-NN is used for classification or regression:\n", "\n", @@ -1199,7 +1418,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "eaa2caacfbc319932f79c75c549364089d1e649f" + "_uuid": "eaa2caacfbc319932f79c75c549364089d1e649f", + "collapsed": true }, "outputs": [], "source": [ @@ -1225,15 +1445,19 @@ "_uuid": "e01bbec9f80532e30c6cf26d5c3fffffb5ea01d4" }, "source": [ + "
\n", "## 7-2 Radius Neighbors Classifier\n", - "Classifier implementing a **vote** among neighbors within a given **radius**" + "Classifier implementing a **vote** among neighbors within a given **radius**\n", + "\n", + "In scikit-learn **RadiusNeighborsClassifier** is very similar to **KNeighborsClassifier** with the exception of two parameters. First, in RadiusNeighborsClassifier we need to specify the radius of the fixed area used to determine if an observation is a neighbor using radius. Unless there is some substantive reason for setting radius to some value, it is best to treat it like any other hyperparameter and tune it during model selection. The second useful parameter is outlier_label, which indicates what label to give an observation that has no observations within the radius - which itself can often be a useful tool for identifying outliers." ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "7728fdafa163e068668cea92cf8d79306b41d458" + "_uuid": "7728fdafa163e068668cea92cf8d79306b41d458", + "collapsed": true }, "outputs": [], "source": [ @@ -1254,15 +1478,19 @@ "_uuid": "e55a785373bf654e0d4b2a78693fab1c8a625acb" }, "source": [ + "
\n", "## 7-3 Logistic Regression\n", - "Logistic regression is the appropriate regression analysis to conduct when the dependent variable is **dichotomous** (binary). Like all regression analyses, the logistic regression is a **predictive analysis**." + "Logistic regression is the appropriate regression analysis to conduct when the dependent variable is **dichotomous** (binary). Like all regression analyses, the logistic regression is a **predictive analysis**.\n", + "\n", + "In statistics, the logistic model (or logit model) is a widely used statistical model that, in its basic form, uses a logistic function to model a binary dependent variable; many more complex extensions exist. In regression analysis, logistic regression (or logit regression) is estimating the parameters of a logistic model; it is a form of binomial regression. Mathematically, a binary logistic model has a dependent variable with two possible values, such as pass/fail, win/lose, alive/dead or healthy/sick; these are represented by an indicator variable, where the two values are labeled \"0\" and \"1\"" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "55eb348cf69272192274cd0728a123796b459b55" + "_uuid": "55eb348cf69272192274cd0728a123796b459b55", + "collapsed": true }, "outputs": [], "source": [ @@ -1286,6 +1514,7 @@ "_uuid": "c0a1c2ccaa4f6e9c5e2e42c47a295ceef7abd3b9" }, "source": [ + "
\n", "## 7-4 Passive Aggressive Classifier" ] }, @@ -1293,7 +1522,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "d509b2111a143660dd5cb1f02ea2779e38295b77" + "_uuid": "d509b2111a143660dd5cb1f02ea2779e38295b77", + "collapsed": true }, "outputs": [], "source": [ @@ -1316,6 +1546,7 @@ "_uuid": "52938b49082dac7b35dc627828838bf12924cc7f" }, "source": [ + "
\n", "## 7-5 Naive Bayes\n", "In machine learning, naive Bayes classifiers are a family of simple \"**probabilistic classifiers**\" based on applying Bayes' theorem with strong (naive) independence assumptions between the features." ] @@ -1324,7 +1555,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "522d4a3fa874950d0850a5a9a4178ec763781ec3" + "_uuid": "522d4a3fa874950d0850a5a9a4178ec763781ec3", + "collapsed": true }, "outputs": [], "source": [ @@ -1348,6 +1580,7 @@ "_uuid": "272c1db2587015ac12e9919d51eaa4f4b73cb408" }, "source": [ + "
\n", "## 7-6 MultinomialNB\n", "The multinomial Naive Bayes classifier is suitable for classification with **discrete features** (e.g., word counts for text classification). The multinomial distribution normally requires integer feature counts. However, in practice, fractional counts such as tf-idf may also work.\n", "\n" @@ -1357,7 +1590,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "c370fd6ae6eee484a22cbf6c5323710222b05ffb" + "_uuid": "c370fd6ae6eee484a22cbf6c5323710222b05ffb", + "collapsed": true }, "outputs": [], "source": [ @@ -1381,6 +1615,7 @@ "_uuid": "e530d18ab308e36d575806583e534cc07fe61c61" }, "source": [ + "
\n", "## 7-7 BernoulliNB\n", "Like MultinomialNB, this classifier is suitable for **discrete data**. The difference is that while MultinomialNB works with occurrence counts, BernoulliNB is designed for binary/boolean features." ] @@ -1389,7 +1624,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "e7051b5e9aa144b74e9913cb2a6668832e7f3e02" + "_uuid": "e7051b5e9aa144b74e9913cb2a6668832e7f3e02", + "collapsed": true }, "outputs": [], "source": [ @@ -1413,6 +1649,7 @@ "_uuid": "386d2d0e4fc7f5dc2b9298226d8e2ecfb7150346" }, "source": [ + "
\n", "## 7-8 SVM\n", "\n", "The advantages of support vector machines are:\n", @@ -1431,7 +1668,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "a44a5a43945404c95863668c2ba099f6032357f8" + "_uuid": "a44a5a43945404c95863668c2ba099f6032357f8", + "collapsed": true }, "outputs": [], "source": [ @@ -1457,6 +1695,7 @@ "_uuid": "b1d092cc03dcaa712f4fe4ec6867b292321377d5" }, "source": [ + "
\n", "## 7-9 Nu-Support Vector Classification\n", "\n", "> Similar to SVC but uses a parameter to control the number of support vectors." @@ -1466,7 +1705,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "2fa7c9a5bef780adb400bd9ad83d030f83a8d2b3" + "_uuid": "2fa7c9a5bef780adb400bd9ad83d030f83a8d2b3", + "collapsed": true }, "outputs": [], "source": [ @@ -1492,6 +1732,7 @@ "_uuid": "5d07a75e83251ddbf8cfdfd11c9faa2671ad87ff" }, "source": [ + "
\n", "## 7-10 Linear Support Vector Classification\n", "\n", "Similar to **SVC** with parameter kernel=’linear’, but implemented in terms of liblinear rather than libsvm, so it has more flexibility in the choice of penalties and loss functions and should scale better to large numbers of samples." @@ -1501,7 +1742,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "7e7275f160f2e4e270200eaa01c13be5cb465142" + "_uuid": "7e7275f160f2e4e270200eaa01c13be5cb465142", + "collapsed": true }, "outputs": [], "source": [ @@ -1527,6 +1769,7 @@ "_uuid": "cec81c9e0c3bc6afba07811a321b5383a0f823f3" }, "source": [ + "
\n", "## 7-11 Decision Tree\n", "Decision Trees (DTs) are a non-parametric supervised learning method used for **classification** and **regression**. The goal is to create a model that predicts the value of a target variable by learning simple **decision rules** inferred from the data features." ] @@ -1535,7 +1778,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "10e25ad67f7c25a8654637d4ba496b64121d67d0" + "_uuid": "10e25ad67f7c25a8654637d4ba496b64121d67d0", + "collapsed": true }, "outputs": [], "source": [ @@ -1561,6 +1805,7 @@ "_uuid": "a7d897130fd705943764e924bbe468c99b7c036a" }, "source": [ + "
\n", "## 7-12 ExtraTreeClassifier\n", "An extremely randomized tree classifier.\n", "\n", @@ -1573,7 +1818,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "5a775006a814b6aacdcc07dc46995eb291b873f1" + "_uuid": "5a775006a814b6aacdcc07dc46995eb291b873f1", + "collapsed": true }, "outputs": [], "source": [ @@ -1599,17 +1845,237 @@ "_uuid": "48f940f73580a2997d75f22eba09d938c86a1a97" }, "source": [ + "
\n", "## 7-13 Neural network\n", "\n", "I have used multi-layer Perceptron classifier.\n", "This model optimizes the log-loss function using **LBFGS** or **stochastic gradient descent**." ] }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "1c10482510f654878f93b573dc1abe4112b861eb" + }, + "source": [ + "## 7-13-1 What is a Perceptron?" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "a94d82b497cbe543da0a637ecfed6e9e8b7569e7" + }, + "source": [ + "There are many online examples and tutorials on perceptrons and learning. Here is a list of some articles:\n", + "- [Wikipedia on Perceptrons](https://en.wikipedia.org/wiki/Perceptron)\n", + "- Jurafsky and Martin (ed. 3), Chapter 8" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "e8e4da1a0b3d51a5fff38750fb4631ac3aa7eebb" + }, + "source": [ + "This is an example that I have taken from a draft of the 3rd edition of Jurafsky and Martin, with slight modifications:\n", + "We import *numpy* and use its *exp* function. We could use the same function from the *math* module, or some other module like *scipy*. The *sigmoid* function is defined as in the textbook:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "196e5a54ed0de712e2254e77439051267cad4b3d", + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "\n", + "def sigmoid(z):\n", + " return 1 / (1 + np.exp(-z))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "9aa207d0bb6a7342932406d8fa68cbd49be866b5" + }, + "source": [ + "Our example data, **weights** $w$, **bias** $b$, and **input** $x$ are defined as:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "69cae82df8a906ad43594464c6497e05e282dcd1", + "collapsed": true + }, + "outputs": [], + "source": [ + "w = np.array([0.2, 0.3, 0.8])\n", + "b = 0.5\n", + "x = np.array([0.5, 0.6, 0.1])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "8cd5da02c0fc0beedd9a3417e399982293d28fd2" + }, + "source": [ + "Our neural unit would compute $z$ as the **dot-product** $w \\cdot x$ and add the **bias** $b$ to it. The sigmoid function defined above will convert this $z$ value to the **activation value** $a$ of the unit:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "65d083572bf2cc897d816765db05758b107741ff", + "collapsed": true + }, + "outputs": [], + "source": [ + "z = w.dot(x) + b\n", + "print(\"z:\", z)\n", + "print(\"a:\", sigmoid(z))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "9e9101a20c9a167a1d925f3b64aafb94317155e2" + }, + "source": [ + "### The XOR Problem\n", + "The power of neural units comes from combining them into larger networks. Minsky and Papert (1969): A single neural unit cannot compute the simple logical function XOR.\n", + "\n", + "The task is to implement a simple **perceptron** to compute logical operations like AND, OR, and XOR.\n", + "\n", + "- Input: $x_1$ and $x_2$\n", + "- Bias: $b = -1$ for AND; $b = 0$ for OR\n", + "- Weights: $w = [1, 1]$\n", + "\n", + "with the following activation function:\n", + "\n", + "$$\n", + "y = \\begin{cases}\n", + " \\ 0 & \\quad \\text{if } w \\cdot x + b \\leq 0\\\\\n", + " \\ 1 & \\quad \\text{if } w \\cdot x + b > 0\n", + " \\end{cases}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c03b3a6a5307cc53e637afd6da5c307c985be7ac" + }, + "source": [ + "We can define this activation function in Python as:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "7b0832df65fc1aa694a1cf67b8713c894b1ed2a2", + "collapsed": true + }, + "outputs": [], + "source": [ + "def activation(z):\n", + " if z > 0:\n", + " return 1\n", + " return 0" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "27ae56a47bd180ebbfd82b3f0242c8078db6ac97" + }, + "source": [ + "For AND we could implement a perceptron as:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "3267d3f1a2864f29ff2382a2057b0b88fa74b649", + "collapsed": true + }, + "outputs": [], + "source": [ + "w = np.array([1, 1])\n", + "b = -1\n", + "x = np.array([0, 0])\n", + "print(\"0 AND 0:\", activation(w.dot(x) + b))\n", + "x = np.array([1, 0])\n", + "print(\"1 AND 0:\", activation(w.dot(x) + b))\n", + "x = np.array([0, 1])\n", + "print(\"0 AND 1:\", activation(w.dot(x) + b))\n", + "x = np.array([1, 1])\n", + "print(\"1 AND 1:\", activation(w.dot(x) + b))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "dbee1f41f0bd66613f5b49e0f65be4bfd9f91283" + }, + "source": [ + "For OR we could implement a perceptron as:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "bf47440fb2f5a0fb016286f0a3a41a05a8416495", + "collapsed": true + }, + "outputs": [], + "source": [ + "w = np.array([1, 1])\n", + "b = 0\n", + "x = np.array([0, 0])\n", + "print(\"0 OR 0:\", activation(w.dot(x) + b))\n", + "x = np.array([1, 0])\n", + "print(\"1 OR 0:\", activation(w.dot(x) + b))\n", + "x = np.array([0, 1])\n", + "print(\"0 OR 1:\", activation(w.dot(x) + b))\n", + "x = np.array([1, 1])\n", + "print(\"1 OR 1:\", activation(w.dot(x) + b))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "181068ef1b8e1ba568093184c41a118b4c0bfe7f" + }, + "source": [ + "There is no way to implement a perceptron for XOR this way." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "d12494da861ea094378c7cf6a3409803fb5585ac" + }, + "source": [ + "no see our prediction for iris" + ] + }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "5f040cfaeb71f8caa94e4d7f18cccde8d2a0b8a7" + "_uuid": "5f040cfaeb71f8caa94e4d7f18cccde8d2a0b8a7", + "collapsed": true }, "outputs": [], "source": [ @@ -1630,6 +2096,7 @@ "_uuid": "ffc339dbf9c8da74194b994930694bd97bb2afbb" }, "source": [ + "
\n", "## 7-14 RandomForest\n", "A random forest is a meta estimator that **fits a number of decision tree classifiers** on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting. \n", "\n", @@ -1640,7 +2107,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "8ed2305b51c2248a8aa62cf4452632f448e83771" + "_uuid": "8ed2305b51c2248a8aa62cf4452632f448e83771", + "collapsed": true }, "outputs": [], "source": [ @@ -1660,6 +2128,7 @@ "_uuid": "1311eb15f2afceed2219faeb859d0d07b7072176" }, "source": [ + "
\n", "## 7-15 Bagging classifier \n", "A Bagging classifier is an ensemble **meta-estimator** that fits base classifiers each on random subsets of the original dataset and then aggregate their individual predictions (either by voting or by averaging) to form a final prediction. Such a meta-estimator can typically be used as a way to reduce the variance of a black-box estimator (e.g., a decision tree), by introducing randomization into its construction procedure and then making an ensemble out of it.\n", "\n", @@ -1670,7 +2139,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "c11c731d3db6c1c81301da85dc158cb7d324c4cb" + "_uuid": "c11c731d3db6c1c81301da85dc158cb7d324c4cb", + "collapsed": true }, "outputs": [], "source": [ @@ -1690,6 +2160,7 @@ "_uuid": "c0944bd32424f38906148d96f4b1e6fccfbf97a6" }, "source": [ + "
\n", "## 7-16 AdaBoost classifier\n", "\n", "An AdaBoost classifier is a meta-estimator that begins by fitting a classifier on the original dataset and then fits additional copies of the classifier on the same dataset but where the weights of incorrectly classified instances are adjusted such that subsequent classifiers focus more on difficult cases.\n", @@ -1700,7 +2171,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "938946ee8e017b982c4c06e193d4d13cb7d3fb5f" + "_uuid": "938946ee8e017b982c4c06e193d4d13cb7d3fb5f", + "collapsed": true }, "outputs": [], "source": [ @@ -1720,6 +2192,7 @@ "_uuid": "9d62842d12731d3eb1d6577c5b35c12c4886c708" }, "source": [ + "
\n", "## 7-17 Gradient Boosting Classifier\n", "GB builds an additive model in a forward stage-wise fashion; it allows for the optimization of arbitrary differentiable loss functions." ] @@ -1728,7 +2201,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "863124561c0d1b5995d0b8d3702daa7bc364d6b0" + "_uuid": "863124561c0d1b5995d0b8d3702daa7bc364d6b0", + "collapsed": true }, "outputs": [], "source": [ @@ -1748,6 +2222,7 @@ "_uuid": "e89b4494bd78c2d66beeba34a4e320fd8c9dae0c" }, "source": [ + "
\n", "## 7-18 Linear Discriminant Analysis\n", "Linear Discriminant Analysis (discriminant_analysis.LinearDiscriminantAnalysis) and Quadratic Discriminant Analysis (discriminant_analysis.QuadraticDiscriminantAnalysis) are two classic classifiers, with, as their names suggest, a **linear and a quadratic decision surface**, respectively.\n", "\n", @@ -1758,7 +2233,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "0796cd9f1c902345df605b7557a9c3ff686e35a9" + "_uuid": "0796cd9f1c902345df605b7557a9c3ff686e35a9", + "collapsed": true }, "outputs": [], "source": [ @@ -1778,6 +2254,7 @@ "_uuid": "296137970fc94fa4a4eb4185cb5fa952b1985c57" }, "source": [ + "
\n", "## 7-19 Quadratic Discriminant Analysis\n", "A classifier with a quadratic decision boundary, generated by fitting class conditional densities to the data and using Bayes’ rule.\n", "\n", @@ -1788,7 +2265,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "5f521d19f295b8e8f24f5715e93b1c45e9a6bce3" + "_uuid": "5f521d19f295b8e8f24f5715e93b1c45e9a6bce3", + "collapsed": true }, "outputs": [], "source": [ @@ -1808,6 +2286,7 @@ "_uuid": "0518634bf8850ac1bfcfc301e93a8740e1995c3a" }, "source": [ + "
\n", "## 7-20 Kmeans \n", "K-means clustering is a type of unsupervised learning, which is used when you have unlabeled data (i.e., data without defined categories or groups). \n", "\n", @@ -1819,7 +2298,8 @@ "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "427f08af02fc7288a5e35de5ff4b6c33b8fce491" + "_uuid": "427f08af02fc7288a5e35de5ff4b6c33b8fce491", + "collapsed": true }, "outputs": [], "source": [ @@ -1855,59 +2335,635 @@ { "cell_type": "markdown", "metadata": { - "_uuid": "97adc471c068fbd8d36ca19a4db0d98b0924c731" + "_uuid": "adad2b1882db36d6ac1b4a47d2118386d6bdf0a1" }, "source": [ - "## 8- Conclusion" + "
\n", + "## 7-21- Backpropagation" ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "1adfb5ba84e0f1d8fba58a2fca30546ead095047", - "collapsed": true + "_uuid": "e0b9d339d6ccd1515d5c45f02358f351052b3c6f" }, "source": [ - "In this kernel, I have tried to cover all the parts related to the process of ML with a variety of Python packages and I know that there are still some problems then I hope to get your feedback to improve it.\n" + "Backpropagation is a method used in artificial neural networks to calculate a gradient that is needed in the calculation of the weights to be used in the network.It is commonly used to train deep neural networks,a term referring to neural networks with more than one hidden layer." ] }, { "cell_type": "markdown", "metadata": { - "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + "_uuid": "ea58e2f8077aa74972727b0c3e10bc57fd82d5a7" }, "source": [ - "Please **UpVote** and **Follow Me ** \n", - "###### [ GitHub](https://github.com/mjbahmani)\n", - "###### [LinkedIn](https://www.linkedin.com/in/bahmani/)\n", - "###### [Kaggle](https://www.kaggle.com/mjbahmani/)" + "In this example we will use a very simple network to start with. The network will only have one input and one output layer. We want to make the following predictions from the input:\n", + "\n", + "| Input | Output |\n", + "| ------ |:------:|\n", + "| 0 0 1 | 0 |\n", + "| 1 1 1 | 1 |\n", + "| 1 0 1 | 1 |\n", + "| 0 1 1 | 0 |" ] }, { "cell_type": "markdown", "metadata": { - "_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0", - "_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a", + "_uuid": "07d2e4bc074dea99ec6c331a4ec51e777d468d0e" + }, + "source": [ + "We will use *Numpy* to compute the network parameters, weights, activation, and outputs:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "9b5c9c7115e49cdb5c3c8428399e2508687efa47" + }, + "source": [ + "We will use the *[Sigmoid](http://ml-cheatsheet.readthedocs.io/en/latest/activation_functions.html#sigmoid)* activation function:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "8422345e9e9c1853acba702d0d7138e3a209f0e8", "collapsed": true }, + "outputs": [], "source": [ - "# 9- References\n", - "* [1] [Iris image](https://rpubs.com/wjholst/322258)\n", - "* [2] [IRIS](https://archive.ics.uci.edu/ml/datasets/iris)\n", - "* [3] [https://skymind.ai/wiki/machine-learning-workflow](https://skymind.ai/wiki/machine-learning-workflow)\n", - "* [4] [IRIS-wiki](https://archive.ics.uci.edu/ml/datasets/iris)\n", - "* [5] [Problem-define](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n", - "* [6] [Sklearn](http://scikit-learn.org/)\n", - "* [7] [machine-learning-in-python-step-by-step](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n", - "* [8] [Data Cleaning](http://wp.sigmod.org/?p=2288)\n", - "\n" + "def sigmoid(z):\n", + " \"\"\"The sigmoid activation function.\"\"\"\n", + " return 1 / (1 + np.exp(-z))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "1eec604fbe5729fecabfc4101a7b4887bf390876" + }, + "source": [ + "We could use the [ReLU](http://ml-cheatsheet.readthedocs.io/en/latest/activation_functions.html#activation-relu) activation function instead:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "557945abedb17c571926af334d5469b4edf12b48", + "collapsed": true + }, + "outputs": [], + "source": [ + "def relu(z):\n", + " \"\"\"The ReLU activation function.\"\"\"\n", + " return max(0, z)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "f405e20e385bc594337a59deba1c7d8d7769349d" + }, + "source": [ + "The [Sigmoid](http://ml-cheatsheet.readthedocs.io/en/latest/activation_functions.html#sigmoid) activation function introduces non-linearity to the computation. It maps the input value to an output value between $0$ and $1$." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "d388972329e79c533e7a8b90a2cfed18e288e4e5" + }, + "source": [ + "" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "a6881ae9a1a8554739f9464119d14875beaaf8ad" + }, + "source": [ + "The derivative of the sigmoid function is maximal at $x=0$ and minimal for lower or higher values of $x$:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "dfb7cad18d4509840dea33c4aff0e6de8a6cf86b" + }, + "source": [ + "" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "616e01ca7ed747aeb817707cbd14c57a92f31553" + }, + "source": [ + "The *sigmoid_prime* function returns the derivative of the sigmoid for any given $z$. The derivative of the sigmoid is $z * (1 - z)$. This is basically the slope of the sigmoid function at any given point: " ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "_uuid": "46e09b5d28a9970e5277084a9ca1d19b331df0f6" + "_uuid": "d4be4a6c8353a98c55eba479f520cbdeecc29f1d", + "collapsed": true + }, + "outputs": [], + "source": [ + "def sigmoid_prime(z):\n", + " \"\"\"The derivative of sigmoid for z.\"\"\"\n", + " return z * (1 - z)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "3be8c0c576f52ec92539039615a0b4ffe5248f57" + }, + "source": [ + "We define the inputs as rows in *X*. There are three input nodes (three columns per vector in $X$. Each row is one trainig example:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "14fa62c6d5ac721998095f5b556610e0984eea98", + "collapsed": true + }, + "outputs": [], + "source": [ + "X = np.array([ [ 0, 0, 1 ],\n", + " [ 0, 1, 1 ],\n", + " [ 1, 0, 1 ],\n", + " [ 1, 1, 1 ] ])\n", + "print(X)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "3f32526b2e047abdda2a1d1d611f1cf7f188f2e9" + }, + "source": [ + "The outputs are stored in *y*, where each row represents the output for the corresponding input vector (row) in *X*. The vector is initiated as a single row vector and with four columns and transposed (using the $.T$ method) into a column vector with four rows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "dbd824213ef3fe2dd7eb01d4b4396d816bf002d3", + "collapsed": true + }, + "outputs": [], + "source": [ + "y = np.array([[0,0,1,1]]).T\n", + "print(y)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "5e6e2ad9b6539e5c3d6aff5cf2db5f44c0f2611e" + }, + "source": [ + "To make the outputs deterministic, we seed the random number generator with a constant. This will guarantee that every time you run the code, you will get the same random distribution:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "6a441227d4cd02b6654e7800cb823e8eef62ff1d", + "collapsed": true + }, + "outputs": [], + "source": [ + "np.random.seed(1)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "7cc15f07e9c4a15ec48265dd70f1e60e292f6485" + }, + "source": [ + "We create a weight matrix ($Wo$) with randomly initialized weights:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "f1be1de240c6e7b718def61d73d5b7b4f770b54a", + "collapsed": true + }, + "outputs": [], + "source": [ + "n_inputs = 3\n", + "n_outputs = 1\n", + "#Wo = 2 * np.random.random( (n_inputs, n_outputs) ) - 1\n", + "Wo = np.random.random( (n_inputs, n_outputs) ) * np.sqrt(2.0/n_inputs)\n", + "print(Wo)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "f690ef1844d5344c2513381b6169f3bfe6080714" + }, + "source": [ + "The reason for the output weight matrix ($Wo$) to have 3 rows and 1 column is that it represents the weights of the connections from the three input neurons to the single output neuron. The initialization of the weight matrix is random with a mean of $0$ and a variance of $1$. There is a good reason for chosing a mean of zero in the weight initialization. See for details the section on Weight Initialization in the [Stanford course CS231n on Convolutional Neural Networks for Visual Recognition](https://cs231n.github.io/neural-networks-2/#init)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "4b87807dc117e0908ec98b4e54843dc8f29c7397" + }, + "source": [ + "The core representation of this network is basically the weight matrix *Wo*. The rest, input matrix, output vector and so on are components that we need to learning and evaluation. The leraning result is stored in the *Wo* weight matrix." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "fb1319477d80a209e9caa3129b6371d872dab29b" + }, + "source": [ + "We loop in the optimization and learning cycle 10,000 times. In the *forward propagation* line we process the entire input matrix for training. This is called **full batch** training. I do not use an alternative variable name to represent the input layer, instead I use the input matrix $X$ directly here. Think of this as the different inputs to the input neurons computed at once. In principle the input or training data could have many more training examples, the code would stay the same." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "45907fc6c64b83116860d2c3dab8d252fd470c3e", + "collapsed": true + }, + "outputs": [], + "source": [ + "for n in range(10000):\n", + " # forward propagation\n", + " l1 = sigmoid(np.dot(X, Wo))\n", + " \n", + " # compute the loss\n", + " l1_error = y - l1\n", + " #print(\"l1_error:\\n\", l1_error)\n", + " \n", + " # multiply the loss by the slope of the sigmoid at l1\n", + " l1_delta = l1_error * sigmoid_prime(l1)\n", + " #print(\"l1_delta:\\n\", l1_delta)\n", + " \n", + " #print(\"error:\", l1_error, \"\\nderivative:\", sigmoid(l1, True), \"\\ndelta:\", l1_delta, \"\\n\", \"-\"*10, \"\\n\")\n", + " # update weights\n", + " Wo += np.dot(X.T, l1_delta)\n", + "\n", + "print(\"l1:\\n\", l1)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "6d887640b00bf8d73c4544ef23d11c296ff15154" + }, + "source": [ + "The dots in $l1$ represent the lines in the graphic below. The lines represent the slope of the sigmoid in the particular position. The slope is highest with a value $x = 0$ (blue dot). It is rather shallow with $x = 2$ (green dot), and not so shallow and not as high with $x = -1$. All derivatives are between $0$ and $1$, of course, that is, no slope or a maximal slope of $1$. There is no negative slope in a sigmoid function." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "01ea3085bf5e9dd4babee8437895735c9aa54763" + }, + "source": [ + "" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c0cfdf91801ec2bbffc34a7a95f6e899ed7a39fc" + }, + "source": [ + "The matrix $l1\\_error$ is a 4 by 1 matrix (4 rows, 1 column). The derivative matrix $sigmoid\\_prime(l1)$ is also a 4 by one matrix. The returned matrix of the element-wise product $l1\\_delta$ is also the 4 by 1 matrix." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "5349a8fcd505990baa71481697397cef4f2176fb" + }, + "source": [ + "The product of the error and the slopes **reduces the error of high confidence predictions**. When the sigmoid slope is very shallow, the network had a very high or a very low value, that is, it was rather confident. If the network guessed something close to $x=0, y=0.5$, it was not very confident. Such predictions without confidence are updated most significantly. The other peripheral scores are multiplied with a number closer to $0$." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "057f51f99a2a87073013e9e2b9f5538c98297cf3" + }, + "source": [ + "In the prediction line $l1 = sigmoid(np.dot(X, Wo))$ we compute the dot-product of the input vectors with the weights and compute the sigmoid on the sums.\n", + "The result of the dot-product is the number of rows of the first matrix ($X$) and the number of columns of the second matrix ($Wo$).\n", + "In the computation of the difference between the true (or gold) values in $y$ and the \"guessed\" values in $l1$ we have an estimate of the miss." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "7c64e2c97d7093bb8f71d5bd173820b526fc71a1" + }, + "source": [ + "An example computation for the input $[ 1, 0, 1 ]$ and the weights $[ 9.5, 0.2, -0.1 ]$ and an output of $0.99$: If $y = 1$, the $l1\\_error = y - l2 = 0.01$, and $l1\\_delta = 0.01 * tiny\\_deriv$:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "602abaf7339d617f2e0333c86ab98b94bb40a96d" + }, + "source": [ + "" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "3307f0633c665a5fa0aaa97898ab6a1d1d9f6fac" + }, + "source": [ + "## 9-1 More Complex Example with Backpropagation" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "750b541e55ae336dcee16ff38d672dff649792a6" + }, + "source": [ + "Consider now a more complicated example where no column has a correlation with the output:\n", + "\n", + "| Input | Output |\n", + "| ------ |:------:|\n", + "| 0 0 1 | 0 |\n", + "| 0 1 1 | 1 |\n", + "| 1 0 1 | 1 |\n", + "| 1 1 1 | 0 |" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "85bc7295eaf21d0bfad6c4572bfb868d74b2e1aa" + }, + "source": [ + "The pattern here is our XOR pattern or problem: If there is a $1$ in either column $1$ or $2$, but not in both, the output is $1$ (XOR over column $1$ and $2$)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "340ea076b1899802093da816d92017ce2b3d2716" + }, + "source": [ + "From our discussion of the XOR problem we remember that this is a *non-linear pattern*, a **one-to-one relationship between a combination of inputs**." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "b64402f35850471c7136b201c783b9d9e60e6556" + }, + "source": [ + "To cope with this problem, we need a network with another layer, that is a layer that will combine and transform the input, and an additional layer will map it to the output. We will add a *hidden layer* with randomized weights and then train those to optimize the output probabilities of the table above." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "28829b11334a35dc1649f1d6d2134ed4e0d1a795" + }, + "source": [ + "We will define a new $X$ input matrix that reflects the above table:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "2c41f4546c675916ff0964370bc98a6862353666", + "collapsed": true + }, + "outputs": [], + "source": [ + "X = np.array([[0, 0, 1],\n", + " [0, 1, 1],\n", + " [1, 0, 1],\n", + " [1, 1, 1]])\n", + "print(X)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "20aff6095cd099acf174500e76946c12481192d7" + }, + "source": [ + "We also define a new output matrix $y$:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "508e0c65bdd467bfed8d69ac52638d8821dd9e2f", + "collapsed": true + }, + "outputs": [], + "source": [ + "y = np.array([[ 0, 1, 1, 0]]).T\n", + "print(y)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "87a03d01b3b1df0ff847a7507cc66ae87f1669d2" + }, + "source": [ + "We initialize the random number generator with a constant again:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "237da33769d159e1d450e66c93e677618c0a127f", + "collapsed": true + }, + "outputs": [], + "source": [ + "np.random.seed(1)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "03c37d00f1d7b87c44e7a4777990049af4044548" + }, + "source": [ + "Assume that our 3 inputs are mapped to 4 hidden layer ($Wh$) neurons, we have to initialize the hidden layer weights in a 3 by 4 matrix. The outout layer ($Wo$) is a single neuron that is connected to the hidden layer, thus the output layer is a 4 by 1 matrix:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "823a9291e688f1840b781b5aeba9779215206676", + "collapsed": true + }, + "outputs": [], + "source": [ + "n_inputs = 3\n", + "n_hidden_neurons = 4\n", + "n_output_neurons = 1\n", + "Wh = np.random.random( (n_inputs, n_hidden_neurons) ) * np.sqrt(2.0/n_inputs)\n", + "Wo = np.random.random( (n_hidden_neurons, n_output_neurons) ) * np.sqrt(2.0/n_hidden_neurons)\n", + "print(\"Wh:\\n\", Wh)\n", + "print(\"Wo:\\n\", Wo)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "d27aca98d06bc0ed16678628d6927015b8dfe427" + }, + "source": [ + "We will loop now 60,000 times to optimize the weights:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "90add134167965958223083f3c3a7818795777bc", + "collapsed": true + }, + "outputs": [], + "source": [ + "for i in range(100000):\n", + " l1 = sigmoid(np.dot(X, Wh))\n", + " l2 = sigmoid(np.dot(l1, Wo))\n", + " \n", + " l2_error = y - l2\n", + " \n", + " if (i % 10000) == 0:\n", + " print(\"Error:\", np.mean(np.abs(l2_error)))\n", + " \n", + " # gradient, changing towards the target value\n", + " l2_delta = l2_error * sigmoid_prime(l2)\n", + " \n", + " # compute the l1 contribution by value to the l2 error, given the output weights\n", + " l1_error = l2_delta.dot(Wo.T)\n", + " \n", + " # direction of the l1 target:\n", + " # in what direction is the target l1?\n", + " l1_delta = l1_error * sigmoid_prime(l1)\n", + " \n", + " Wo += np.dot(l1.T, l2_delta)\n", + " Wh += np.dot(X.T, l1_delta)\n", + "\n", + "print(\"Wo:\\n\", Wo)\n", + "print(\"Wh:\\n\", Wh)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "263abd8f132d7b73ab2eb67c56caf1508a35d1d3" + }, + "source": [ + "The new computation in this new loop is $l1\\_error = l2\\_delta.dot(Wo.T)$, a **confidence weighted error** from $l2$ to compute an error for $l1$. The computation sends the error across the weights from $l2$ to $l1$. The result is a **contribution weighted error**, because we learn how much each node value in $l1$ **contributed** to the error in $l2$. This step is called **backpropagation**. We update $Wh$ using the same steps we did in the 2 layer implementation." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "97adc471c068fbd8d36ca19a4db0d98b0924c731" + }, + "source": [ + "-----------------\n", + "
\n", + "# 8- Conclusion" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "1adfb5ba84e0f1d8fba58a2fca30546ead095047", + "collapsed": true + }, + "source": [ + "In this kernel, I have tried to cover all the parts related to the process of ML with a variety of Python packages and I know that there are still some problems then I hope to get your feedback to improve it.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "source": [ + "you can follow me on:\n", + "> ###### [ GitHub](https://github.com/mjbahmani)\n", + "> ###### [LinkedIn](https://www.linkedin.com/in/bahmani/)\n", + "> ###### [Kaggle](https://www.kaggle.com/mjbahmani/)\n", + "\n", + "--------------------------------------\n", + "\n", + " **I hope you find this kernel helpful and some upvotes would be very much appreciated**\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0", + "_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a", + "collapsed": true + }, + "source": [ + "
\n", + "\n", + "-----------\n", + "\n", + "# 9- References\n", + "* [1] [Iris image](https://rpubs.com/wjholst/322258)\n", + "* [2] [IRIS](https://archive.ics.uci.edu/ml/datasets/iris)\n", + "* [3] [https://skymind.ai/wiki/machine-learning-workflow](https://skymind.ai/wiki/machine-learning-workflow)\n", + "* [4] [IRIS-wiki](https://archive.ics.uci.edu/ml/datasets/iris)\n", + "* [5] [Problem-define](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n", + "* [6] [Sklearn](http://scikit-learn.org/)\n", + "* [7] [machine-learning-in-python-step-by-step](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n", + "* [8] [Data Cleaning](http://wp.sigmod.org/?p=2288)\n", + "* [9] [competitive data science](https://www.coursera.org/learn/competitive-data-science/)\n", + "\n", + "\n", + "-------------\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true }, "outputs": [], "source": [] @@ -1929,7 +2985,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.4" + "version": "3.6.1" } }, "nbformat": 4, diff --git a/Data Visualization in Python for Machine Learning Experts/Exploratory Data Analysis Pipeline.ipynb b/Data Visualization in Python for Machine Learning Experts/Exploratory Data Analysis Pipeline.ipynb new file mode 100644 index 0000000..5ae4ed8 --- /dev/null +++ b/Data Visualization in Python for Machine Learning Experts/Exploratory Data Analysis Pipeline.ipynb @@ -0,0 +1,3160 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "source": [ + "##
Exploratory Data Analysis Pipeline
\n", + "\n", + "
If you've followed my other kernels so far. You have noticed that for those who are beginners, I've introduced a course \" 10 Steps to Become a Data Scientist \". In this kernel we will start another step with each other. There are plenty of Kernels that can help you learn EDA from scratch but here in Kaggle, I want to Analysis Meta Kaggle and Quora Insincere Question, popular Datasets as a comprehensive pipeline for EDA. \n", + "After reading, you can use it to Analysis other real dataset and use it as a template to deal with EDA problems.
\n", + "\n", + "
last update: 11/25/2018
\n", + "\n", + "\n", + "\n", + ">###### You may be interested have a look at it: [**10-Steps-to-Become-a-Data-Scientist**](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n", + "\n", + "\n", + "---------------------------------------------------------------------\n", + "You can Fork and Run this kernel on Github:\n", + "> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n", + "\n", + "-------------------------------------------------------------------------------------------------------------\n", + " **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n", + " \n", + " -----------" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "source": [ + "
\n", + "## Notebook Content\n", + "1. [Introduction](#1)\n", + "1. [Loading Packages](#2)\n", + " 1. [version](#3)\n", + " 1. [Setup](#4)\n", + "1. [Exploratory data analysis](#5)\n", + "1. [Data Collection](#6)\n", + " 1. [Features](#7)\n", + " 1. [Explorer Dataset](#8)\n", + "1. [Data Cleaning](#9)\n", + " 1. [Find yourself in Users datset](#10)\n", + " 1. [Find your kernels in Kernels dataset](#11)\n", + "1. [Data Preprocessing](#12)\n", + "1. [Data Visaulization](#13)\n", + " 1. [Scatter plot](#14)\n", + " 1. [Box plot](#15)\n", + " 1. [Histogram](#16)\n", + " 1. [violinplots](#17)\n", + " 1. [kdeplot](#18)\n", + " 1. [jointplot](#19)\n", + " 1. [andrews_curves](#20)\n", + " 1. [Heatmap](#21)\n", + " 1. [WordCloud](#22)\n", + "1. [Conclusion](#23) \n", + "1. [References](#24) \n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "source": [ + "
\n", + "## 1- Introduction\n", + "This is a **comprehensive EDA techniques with python** , that I have spent a lot of time to complete it.\n", + "\n", + "It is clear that everyone in this community is familiar with Meta Kaggle and kaggle survey 2018 datasets but if you need to review your information about the datasets please visit [meta-kaggle](https://www.kaggle.com/kaggle/meta-kaggle) and [Quora](https://www.kaggle.com/c/quora-insincere-questions-classification).\n", + "\n", + "\n", + "\n", + "I am open to getting your feedback for improving this **kernel** together.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "source": [ + "
\n", + "## 2- Loading Packages\n", + "In this kernel we are using the following packages:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "61f49281fdd8592b44c0867225f57e6fce36342c" + }, + "source": [ + " \n", + " Now we import all of them " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_kg_hide-input": true, + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5" + }, + "outputs": [], + "source": [ + "from sklearn.model_selection import train_test_split\n", + "from sklearn.metrics import classification_report\n", + "from sklearn.metrics import confusion_matrix\n", + "from sklearn.metrics import accuracy_score\n", + "from wordcloud import WordCloud as wc\n", + "from nltk.corpus import stopwords\n", + "import matplotlib.pylab as pylab\n", + "import matplotlib.pyplot as plt\n", + "from pandas import get_dummies\n", + "import matplotlib as mpl\n", + "import seaborn as sns\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib\n", + "import warnings\n", + "import sklearn\n", + "import string\n", + "import scipy\n", + "import numpy\n", + "import nltk\n", + "import json\n", + "import sys\n", + "import csv\n", + "import os" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "cb6fbd6b1eee108ca34577de77592af65b781cc0" + }, + "source": [ + "
\n", + "## 2-1 version" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "7d081df6329f26958f545c32b4d96172b3be96d9" + }, + "outputs": [], + "source": [ + "print('matplotlib: {}'.format(matplotlib.__version__))\n", + "print('sklearn: {}'.format(sklearn.__version__))\n", + "print('scipy: {}'.format(scipy.__version__))\n", + "print('seaborn: {}'.format(sns.__version__))\n", + "print('pandas: {}'.format(pd.__version__))\n", + "print('numpy: {}'.format(np.__version__))\n", + "print('Python: {}'.format(sys.version))\n", + "#print('wordcloud: {}'.format(wordcloud.version))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "4634f86ca193d38c1121af4d30f31acf25d9d334" + }, + "source": [ + "
\n", + "## 2-2 Setup\n", + "\n", + "A few tiny adjustments for better **code readability**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "13ccd69be8e3a0502a3e172d1416686ce8cdba56" + }, + "outputs": [], + "source": [ + "sns.set(style='white', context='notebook', palette='deep')\n", + "pylab.rcParams['figure.figsize'] = 12,8\n", + "warnings.filterwarnings('ignore')\n", + "mpl.style.use('ggplot')\n", + "sns.set_style('white')\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" + }, + "source": [ + "
\n", + "## 3- Exploratory Data Analysis(EDA)\n", + " In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n", + " \n", + "1. Which variables suggest interesting relationships?\n", + "1. Which observations are unusual?\n", + "\n", + "By the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations:\n", + "\n", + "1. Data Collection\n", + "1. Visualization\n", + "1. Data Cleaning\n", + "1. Data Preprocessing\n", + "\n", + "\n", + "\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "source": [ + "
\n", + "## 3-1 Data Collection\n", + "**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n", + "\n", + "\n", + "I start Collection Data by the Users and Kernels datasets into **Pandas DataFrames**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "9269ae851b744856bce56840637030a16a5877e1" + }, + "outputs": [], + "source": [ + "# import kernels and users to play with it\n", + "#command--> 1\n", + "users = pd.read_csv(\"../input/meta-kaggle/Users.csv\")\n", + "kernels = pd.read_csv(\"../input/meta-kaggle/Kernels.csv\")\n", + "messages = pd.read_csv(\"../input/meta-kaggle/ForumMessages.csv\")\n", + "freeFormResponses=pd.read_csv(\"../input/kaggle-survey-2018/freeFormResponses.csv\")\n", + "multipleChoiceResponses=pd.read_csv(\"../input/kaggle-survey-2018/multipleChoiceResponses.csv\")\n", + "train = pd.read_csv(\"../input/quora-insincere-questions-classification/train.csv\")\n", + "test = pd.read_csv(\"../input/quora-insincere-questions-classification/test.csv\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "b5f73efe9f8f0775099546e38bf74080a2af152a" + }, + "source": [ + "6 Data Collection Rules for Your Future Perfect Machine Learning Dataset:\n", + "1. Ensure the data has no gaps\n", + "1. Keep your raw data raw\n", + "1. Foresee and document all the possible missing values and outliers in your data\n", + "1. Changelogs and data structures versioning \n", + "1. Ensure the data points can’t get lost\n", + "1. Hire a data officer. \n", + "\n", + "[reference](https://towardsdatascience.com/how-to-collect-your-deep-learning-dataset-2e0eefc0ba24)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "source": [ + "\n", + "**<< Note 1 >>**\n", + "\n", + "* Each row is an observation (also known as : sample, example, instance, record)\n", + "* Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "33344731ac8933d46461ca893ea8936f6ee1c3e4" + }, + "outputs": [], + "source": [ + "#command--> 2\n", + "users.sample(1) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "6a15630f403601203c74bba16f343ae61d9937fb" + }, + "outputs": [], + "source": [ + "kernels.sample(1) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "dcb47a70a03a7e73bab46f31dd3096a09be7b560" + }, + "outputs": [], + "source": [ + "train.sample(1)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "source": [ + "### Please **replace** your username and find your userid\n", + "\n", + "We suppose that userid==authoruserid and use userid for both kernels and users dataset" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51" + }, + "outputs": [], + "source": [ + "username=\"mjbahmani\"\n", + "userid=int(users[users['UserName']==\"mjbahmani\"].Id)\n", + "userid" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "7cc8cac399d9d348842ea0b589581f5f909c17dd" + }, + "source": [ + "But if we had , we can just use **dropna()**(be careful sometimes you should not do this!)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "7972fa0a7d1950d8a59f9820c6cacc00eb8f1015" + }, + "outputs": [], + "source": [ + "# remove rows that have NA's\n", + "print('Before Droping',train.shape)\n", + "#command--> 3\n", + "train = train.dropna()\n", + "print('After Droping',train.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "b1a61ef77cbe97153445293fc8d01f409d87272f" + }, + "source": [ + "
\n", + "## 3-1-1 Features\n", + "Features can be from following types:\n", + "1. numeric\n", + "1. categorical\n", + "1. ordinal\n", + "1. datetime\n", + "1. coordinates\n", + "\n", + "Find the type of features in **Meta Kaggle**?!\n", + "
\n", + "For getting some information about the dataset you can use **info()** command\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "de95bf94a02721364ad6cbd6d440d664b2961e39" + }, + "outputs": [], + "source": [ + "#command--> 4\n", + "print(users.info())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "8f47ccc4538b823bf0a5ac15eef7787395620ed5" + }, + "outputs": [], + "source": [ + "print(freeFormResponses.info())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "7b650ee1c8aaa1d7c7e1c15dd102169e0fd0db60" + }, + "outputs": [], + "source": [ + "print(train.info())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "e08d410c0dac5cf34eea33940ab586eb7e9ded5a" + }, + "source": [ + "
\n", + "## 3-1-2 Explorer Dataset\n", + "1. Dimensions of the dataset.\n", + "\n", + "1. Peek at the data itself.\n", + "\n", + "1. Statistical summary of all attributes.\n", + "\n", + "1. Breakdown of the data by the class variable.\n", + "\n", + "Don’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects.\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5" + }, + "outputs": [], + "source": [ + "# shape\n", + "#command--> 5\n", + "print(users.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5" + }, + "outputs": [], + "source": [ + "# shape\n", + "print(kernels.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "5e6358361a6a8fcc60087baa6cebb18c18296299" + }, + "outputs": [], + "source": [ + "print(freeFormResponses.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "8b724ebb9a0a1176e52543938bc67591b54d3e8d" + }, + "outputs": [], + "source": [ + "print(train.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c" + }, + "outputs": [], + "source": [ + "#columns*rows\n", + "#command--> 6\n", + "users.size" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c" + }, + "outputs": [], + "source": [ + "#columns*rows\n", + "kernels.size" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "source": [ + "\n", + "We can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "3458838205be4c7fbff88e95ef69934e13e2199b" + }, + "source": [ + "You see number of unique item for Species with command below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "4b90d165a007106ae99809ad28edd75bd8153dd8" + }, + "outputs": [], + "source": [ + "#command--> 7\n", + "kernels['Medal'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "8accfbddf2228274ad412c3ad3be72b4107d6f6c" + }, + "outputs": [], + "source": [ + "#command--> 8\n", + "kernels[\"Medal\"].value_counts()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "eb1a194f9b7598401c44d2b762ecd75f1e2c3955" + }, + "outputs": [], + "source": [ + "train[\"question_text\"].head(5)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "source": [ + "To check the first 5 rows of the data set, we can use head(5)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156" + }, + "outputs": [], + "source": [ + "kernels.head(5) " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "source": [ + "To check out last 5 row of the data set, we use tail() function" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305" + }, + "outputs": [], + "source": [ + "#command--> 9\n", + "users.tail() " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "source": [ + "To pop up 5 random rows from the data set, we can use **sample(5)** function" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140" + }, + "outputs": [], + "source": [ + "kernels.sample(5) " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "source": [ + "To give a statistical summary about the dataset, we can use **describe()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3" + }, + "outputs": [], + "source": [ + "kernels.describe() " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "2ecc1896c6cd6c342cddb2e1ef0e774e66c8dc5d" + }, + "source": [ + "
\n", + "## 3-2 Data Cleaning\n", + "When dealing with real-world data, dirty data is the norm rather than the exception. We continuously need to predict correct values, impute missing ones, and find links between various data artefacts such as schemas and records. We need to stop treating data cleaning as a piecemeal exercise (resolving different types of errors in isolation), and instead leverage all signals and resources (such as constraints, available statistics, and dictionaries) to accurately predict corrective actions.\n", + "\n", + "\n", + "\n", + "The primary goal of data cleaning is to detect and remove errors and **anomalies** to increase the value of data in analytics and decision making. While it has been the focus of many researchers for several years, individual problems have been addressed separately. These include missing value imputation, outliers detection, transformations, integrity constraints violations detection and repair, consistent query answering, deduplication, and many other related problems such as profiling and constraints mining.[4]\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "031d16ca235837e889734635ecff193be64b27a4" + }, + "source": [ + "How many NA elements in every column!!\n", + "Good news, it is Zero!\n", + "to check out how many null info are on the dataset, we can use **isnull().sum()**." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5" + }, + "outputs": [], + "source": [ + "#How many NA elements in every column\n", + "#command--> 10\n", + "users.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5" + }, + "outputs": [], + "source": [ + "kernels.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "446e6162e16325213047ff31454813455668b574" + }, + "outputs": [], + "source": [ + "#command--> 11\n", + "kernels.groupby('Medal').count()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + }, + "source": [ + "To print dataset **columns**, we can use columns atribute." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f" + }, + "outputs": [], + "source": [ + "kernels.columns" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "62b52ea61cfa597007bd31652c7f03778233227c" + }, + "outputs": [], + "source": [ + "users.columns" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "40f98b7a01af83ef9be8cd81c72bf281e07493ae" + }, + "outputs": [], + "source": [ + "train.columns" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "22bc5d81c18275ee1fb082c0adbb7a65bdbec4cc" + }, + "source": [ + "**<< Note 2 >>**\n", + "In pandas's data frame you can perform some query such as \"where\"." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "ff69b963b60e8ff77acae02850885c7e90358129" + }, + "source": [ + "
\n", + "## 3-2-1 Find yourself in Users datset" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "1e36488451f22350bc2c655bfdd2b50803540b87" + }, + "outputs": [], + "source": [ + "#command--> 12\n", + "users[users['Id']==userid]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "33fc33a18489b438a884819d99dc00a02b113be8" + }, + "source": [ + "
\n", + "## 3-2-2 Find your kernels in Kernels dataset" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "aa877c667451c76a052808964bbf8eb5991b39e0" + }, + "outputs": [], + "source": [ + "#command--> 13\n", + "yourkernels=kernels[kernels['AuthorUserId']==userid]\n", + "yourkernels" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "5fb860dc8bb6bc8feba55df8936f05a3f139115f" + }, + "source": [ + "
\n", + "## 3-4 Data Preprocessing\n", + "**Data preprocessing** refers to the transformations applied to our data before feeding it to the algorithm.\n", + " \n", + "Data Preprocessing is a technique that is used to convert the raw data into a clean data set. In other words, whenever the data is gathered from different sources it is collected in raw format which is not feasible for the analysis.\n", + "there are plenty of steps for data preprocessing and we just listed some of them in general(Not just for Quora) :\n", + "* Removing Target column (id)\n", + "* Sampling (without replacement)\n", + "* Making part of iris unbalanced and balancing (with undersampling and SMOTE)\n", + "* Introducing missing values and treating them (replacing by average values)\n", + "* Noise filtering\n", + "* Data discretization\n", + "* Normalization and standardization\n", + "* PCA analysis\n", + "* Feature selection (filter, embedded, wrapper)\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "0d7bdcfe284e49847a3488a5c8ecbeda71097583" + }, + "outputs": [], + "source": [ + "text = train['question_text']\n", + "i=0\n", + "#command--> 14\n", + "for row in text[:10]:\n", + " i=i+1\n", + " print(str(i),row)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "bc203c66770b52d30c4cbf961243070198c9252a" + }, + "source": [ + "### 3-4-1 Remove Numbers" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "812834e990b10afb01e949e09b86af5f0a8e9357" + }, + "outputs": [], + "source": [ + "#command--> 15\n", + "def removeNumbers(text):\n", + " \"\"\" Removes integers \"\"\"\n", + " text = ''.join([i for i in text if not i.isdigit()]) \n", + " return text\n", + "\n", + "text_removeNumbers = pd.DataFrame(columns=['TextBefore', 'TextAfter', 'Changed'])\n", + "text_removeNumbers['TextBefore'] = text.copy()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "54f76a2bb5a2b75227842751936a178553328b34" + }, + "outputs": [], + "source": [ + "for index, row in text_removeNumbers.iterrows():\n", + " row['TextAfter'] = removeNumbers(row['TextBefore'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "d2f241a5ffe44f46991cc382cdab0d0e81d88850" + }, + "outputs": [], + "source": [ + "#command--> 16\n", + "text_removeNumbers['Changed'] = np.where(text_removeNumbers['TextBefore']==text_removeNumbers['TextAfter'], 'no', 'yes')\n", + "print(\"{} of {} ({:.4f}%) questions have been changed.\".format(len(text_removeNumbers[text_removeNumbers['Changed']=='yes']), len(text_removeNumbers), 100*len(text_removeNumbers[text_removeNumbers['Changed']=='yes'])/len(text_removeNumbers)))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "5f618edd119f64bdcaca196a1699f19fb9bdbe1d" + }, + "outputs": [], + "source": [ + "for index, row in text_removeNumbers[text_removeNumbers['Changed']=='yes'].head().iterrows():\n", + " print(row['TextBefore'],'->',row['TextAfter'])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "4c478414d064c2333112f07448343477c32c1509" + }, + "source": [ + "The metafeatures that we'll create based on SRK's EDAs, [sudalairajkumar](http://http://www.kaggle.com/sudalairajkumar/simple-feature-engg-notebook-spooky-author) and [tunguz](https://www.kaggle.com/tunguz/just-some-simple-eda) are:\n", + "1. Number of words in the text\n", + "1. Number of unique words in the text\n", + "1. Number of characters in the text\n", + "1. Number of stopwords\n", + "1. Number of punctuations\n", + "1. Number of upper case words\n", + "1. Number of title case words\n", + "1. Average length of the words" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "0be2fbf75d975fc8361fdb70451c64e3fcf16320" + }, + "source": [ + "Number of words in the text " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "bce5854c5e8fc0cef7db77e8a9abeaad64c30e84" + }, + "outputs": [], + "source": [ + "#command--> 17\n", + "train[\"num_words\"] = train[\"question_text\"].apply(lambda x: len(str(x).split()))\n", + "test[\"num_words\"] = test[\"question_text\"].apply(lambda x: len(str(x).split()))\n", + "print('maximum of num_words in train',train[\"num_words\"].max())\n", + "print('min of num_words in train',train[\"num_words\"].min())\n", + "print(\"maximum of num_words in test\",test[\"num_words\"].max())\n", + "print('min of num_words in train',test[\"num_words\"].min())\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "25bf1789c9a338cce7f0809c959609291af26e1b" + }, + "source": [ + "Number of unique words in the text" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "f07efdfcda98708220a0f18a7a3993372cfed266" + }, + "outputs": [], + "source": [ + "train[\"num_unique_words\"] = train[\"question_text\"].apply(lambda x: len(set(str(x).split())))\n", + "test[\"num_unique_words\"] = test[\"question_text\"].apply(lambda x: len(set(str(x).split())))\n", + "print('maximum of num_unique_words in train',train[\"num_unique_words\"].max())\n", + "print('mean of num_unique_words in train',train[\"num_unique_words\"].mean())\n", + "print(\"maximum of num_unique_words in test\",test[\"num_unique_words\"].max())\n", + "print('mean of num_unique_words in train',test[\"num_unique_words\"].mean())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "7750a576d4d556e2a25c264ac186daceb667f6f9" + }, + "source": [ + "Number of characters in the text " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "5677a7d44d437d0ee94d0849533bca7f1075b10c" + }, + "outputs": [], + "source": [ + "\n", + "train[\"num_chars\"] = train[\"question_text\"].apply(lambda x: len(str(x)))\n", + "test[\"num_chars\"] = test[\"question_text\"].apply(lambda x: len(str(x)))\n", + "print('maximum of num_chars in train',train[\"num_chars\"].max())\n", + "print(\"maximum of num_chars in test\",test[\"num_chars\"].max())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "511b92ce149dcc317e02ba017344ac2625956ccf" + }, + "source": [ + "Number of stopwords in the text" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "6b4963b95b3a4781e4cab004fa231109fa08a943" + }, + "outputs": [], + "source": [ + "#from nltk.corpus import stopwords\n", + "eng_stopwords = set(stopwords.words(\"english\"))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "def001bb47659a235c5599ccc3d706639e0b1b0a" + }, + "outputs": [], + "source": [ + "train[\"num_stopwords\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).lower().split() if w in eng_stopwords]))\n", + "test[\"num_stopwords\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).lower().split() if w in eng_stopwords]))\n", + "print('maximum of num_stopwords in train',train[\"num_stopwords\"].max())\n", + "print(\"maximum of num_stopwords in test\",test[\"num_stopwords\"].max())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "938cde022787d1b03000382a903b960597640d06" + }, + "source": [ + "Number of punctuations in the text" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "e72fc2184245fadffb767d0f2fe8e68403c12274" + }, + "outputs": [], + "source": [ + "\n", + "train[\"num_punctuations\"] =train['question_text'].apply(lambda x: len([c for c in str(x) if c in string.punctuation]) )\n", + "test[\"num_punctuations\"] =test['question_text'].apply(lambda x: len([c for c in str(x) if c in string.punctuation]) )\n", + "print('maximum of num_punctuations in train',train[\"num_punctuations\"].max())\n", + "print(\"maximum of num_punctuations in test\",test[\"num_punctuations\"].max())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "8ae7a13782b109a892f9e1504fd3ac790fa518a8" + }, + "source": [ + "Number of title case words in the text" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "2874be8704da173bab1ac29e5982727b2067fbd9" + }, + "outputs": [], + "source": [ + "\n", + "train[\"num_words_upper\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.isupper()]))\n", + "test[\"num_words_upper\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.isupper()]))\n", + "print('maximum of num_words_upper in train',train[\"num_words_upper\"].max())\n", + "print(\"maximum of num_words_upper in test\",test[\"num_words_upper\"].max())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "8df5b6b86abc982b15afb973bd390eddb027e0b9" + }, + "source": [ + "Number of title case words in the text" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "fd2e10d8b5fd5cf99fb95afe9d2964f23ceb2e50" + }, + "outputs": [], + "source": [ + "\n", + "train[\"num_words_title\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.istitle()]))\n", + "test[\"num_words_title\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.istitle()]))\n", + "print('maximum of num_words_title in train',train[\"num_words_title\"].max())\n", + "print(\"maximum of num_words_title in test\",test[\"num_words_title\"].max())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "f4fa05b90e1abb77c6582275e1f9ebf2844628c4" + }, + "source": [ + " Average length of the words in the text " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "442b391fda00a1bc99b48b47d41cbb4c3e2ef6d4" + }, + "outputs": [], + "source": [ + "\n", + "train[\"mean_word_len\"] = train[\"question_text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))\n", + "test[\"mean_word_len\"] = test[\"question_text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))\n", + "print('mean_word_len in train',train[\"mean_word_len\"].max())\n", + "print(\"mean_word_len in test\",test[\"mean_word_len\"].max())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "aa882e5bcdc7d5f440489eff75d1d225269655a4" + }, + "source": [ + "**<< Note >>**\n", + ">**Preprocessing and generation pipelines depend on a model type**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" + }, + "source": [ + "
\n", + "## 3-4 Visualization\n", + "**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns.\n", + "\n", + "With interactive visualization, you can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data you see and how it’s processed.[SAS]\n", + "\n", + " In this section I show you **11 plots** with **matplotlib** and **seaborn** that is listed in the blew picture:\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "b0014a7a52e714996bc443981c853095926d20e5" + }, + "source": [ + "
\n", + "## 3-4-1 Scatter plot\n", + "\n", + "Scatter plot Purpose To identify the type of relationship (if any) between two quantitative variables\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "8f35fd1761bec3516ad6940f88e916dfb67dfda0" + }, + "outputs": [], + "source": [ + "#command--> 18\n", + "yourkernels.columns" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "af099546eed64ebc796403d4139cb4c977c27b03" + }, + "outputs": [], + "source": [ + "# Modify the graph above by assigning each species an individual color.\n", + "#command--> 19\n", + "x=yourkernels[\"TotalVotes\"]\n", + "y=yourkernels[\"TotalViews\"]\n", + "plt.scatter(x, y)\n", + "plt.legend()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "1b31a7c185ee654c31ff5b062d111bcefa205966" + }, + "outputs": [], + "source": [ + "f,ax=plt.subplots(1,2,figsize=(18,8))\n", + "yourkernels['Medal'].value_counts().plot.bar(color=['#CD7F32','#FFDF00','#D3D3D3'],ax=ax[0])\n", + "ax[0].set_title('Number Of Medal')\n", + "ax[0].set_ylabel('Count')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "d1c7b62b5f8cba427bca13049256365141655372" + }, + "source": [ + "
\n", + "### 3-4-2 Box\n", + "In descriptive statistics, a **box plot** or boxplot is a method for graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram.[wikipedia]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "0655e20f31a582f861d391308a088778cd7eaae9" + }, + "outputs": [], + "source": [ + "#command--> 20\n", + "yourkernels[\"TotalVotes\"].plot(kind='box')\n", + "plt.figure()\n", + "#This gives us a much clearer idea of the distribution of the input attributes:\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "81b8d70c5d8b2d024337d989ec1e204b612f676d" + }, + "outputs": [], + "source": [ + "yourkernels[\"TotalComments\"].plot(kind='box')\n", + "plt.figure()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "f7f6426fd44bcd77d35a5fdbc8c4fc4f18d991ad" + }, + "outputs": [], + "source": [ + "# To plot the species data using a box plot:\n", + "#command--> 21\n", + "sns.boxplot(x=\"TotalComments\", y=\"TotalVotes\", data=yourkernels )\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "7b193e4aa7e6fb337d3f65c334849094addd097a" + }, + "outputs": [], + "source": [ + "# Use Seaborn's striplot to add data points on top of the box plot \n", + "# Insert jitter=True so that the data points remain scattered and not piled into a verticle line.\n", + "# Assign ax to each axis, so that each plot is ontop of the previous axis. \n", + "\n", + "ax= sns.boxplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels)\n", + "ax= sns.stripplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels, jitter=True, edgecolor=\"gray\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "56adbafa89c117118621c72b3b7cb19edc21298e" + }, + "outputs": [], + "source": [ + "# Tweek the plot above to change fill and border color color using ax.artists.\n", + "# Assing ax.artists a variable name, and insert the box number into the corresponding brackets\n", + "#command--> 22\n", + "ax= sns.boxplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels)\n", + "ax= sns.stripplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels, jitter=True, edgecolor=\"gray\")\n", + "\n", + "boxtwo = ax.artists[2]\n", + "boxtwo.set_facecolor('red')\n", + "boxtwo.set_edgecolor('black')\n", + "boxthree=ax.artists[1]\n", + "boxthree.set_facecolor('yellow')\n", + "boxthree.set_edgecolor('black')\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "40c9ab245695d47cb33eda65a0d637de390f9e59" + }, + "outputs": [], + "source": [ + "sns.factorplot('TotalViews','TotalVotes',hue='Medal',data=yourkernels)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "c73a82a05855195ac32dedb3056e84355e273b0f" + }, + "outputs": [], + "source": [ + "sns.factorplot('TotalComments','TotalVotes',hue='Medal',data=yourkernels)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "743a92c3c2fff1a1f99845518247f7971ad18b7c" + }, + "source": [ + "
\n", + "### 3-4-3 Histogram\n", + "We can also create a **histogram** of each input variable to get an idea of the distribution.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "fcea7d2a5fb011f4ea70e19d7a50f0aba5af731b" + }, + "outputs": [], + "source": [ + "train[\"num_words\"] = train[\"question_text\"].apply(lambda x: len(str(x).split()))\n", + "test[\"num_words\"] = test[\"question_text\"].apply(lambda x: len(str(x).split()))\n", + "print('maximum of num_words in train',train[\"num_words\"].max())\n", + "print('min of num_words in train',train[\"num_words\"].min())\n", + "print(\"maximum of num_words in test\",test[\"num_words\"].max())\n", + "print('min of num_words in train',test[\"num_words\"].min())\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "66f3be03ed655d3ed76026fd977835106ac47a54" + }, + "outputs": [], + "source": [ + "#command--> 23\n", + "f,ax=plt.subplots(1,2,figsize=(20,10))\n", + "train[train['target']==0].num_words.plot.hist(ax=ax[0],bins=20,edgecolor='black',color='red')\n", + "ax[0].set_title('target= 0')\n", + "x1=list(range(0,85,5))\n", + "ax[0].set_xticks(x1)\n", + "train[train['target']==1].num_words.plot.hist(ax=ax[1],color='green',bins=20,edgecolor='black')\n", + "ax[1].set_title('target= 1')\n", + "x2=list(range(0,85,5))\n", + "ax[1].set_xticks(x2)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "5da0520ed3e738ee8814b2d91843ed4acec2b6e6" + }, + "outputs": [], + "source": [ + "# histograms\n", + "#command--> 24\n", + "yourkernels.hist(figsize=(15,20))\n", + "plt.figure()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "90b6df3255561e3944ea89c5f1ca8c815f862a7f" + }, + "outputs": [], + "source": [ + "train[\"num_words\"].hist();" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "b4e3de19781686010c6038f0e3076eb678398169" + }, + "source": [ + "It looks like perhaps two of the input variables have a Gaussian distribution. This is useful to note as we can use algorithms that can exploit this assumption.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "9f80a6e971cbf0af72d659b51af552ea1dddc9a8" + }, + "outputs": [], + "source": [ + "yourkernels[\"TotalViews\"].hist();" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "1173ef1b6ca75e28f94a891880294d1765b022ea" + }, + "outputs": [], + "source": [ + "yourkernels[\"TotalComments\"].hist();" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "5d8ef0781d88c46a8becf6d7f5b1f4ad2c05db7e" + }, + "outputs": [], + "source": [ + "sns.factorplot('TotalViews','TotalVotes',data=yourkernels)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "15e2743389cb58055ee5bb9dd9b829fb85850af2" + }, + "outputs": [], + "source": [ + "sns.factorplot('TotalComments','TotalVotes',data=yourkernels)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "e0f696ec021ec99c1058a62e22c8b73082fe6fa7" + }, + "source": [ + "
\n", + "### 3-4-5 violinplots" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "e352d2f8340609adf4bf6718b1d2ecee0fa730b5" + }, + "outputs": [], + "source": [ + "# violinplots on petal-length for each species\n", + "#command--> 24\n", + "sns.violinplot(data=yourkernels,x=\"TotalViews\", y=\"TotalVotes\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "82d42d69a63f9dacf41dad5bfb1b7908cefc2633" + }, + "outputs": [], + "source": [ + "# violinplots on petal-length for each species\n", + "sns.violinplot(data=yourkernels,x=\"TotalComments\", y=\"TotalVotes\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "363b3e9509d5e3ba157c0b5f319d2585c58ee28f" + }, + "outputs": [], + "source": [ + "sns.violinplot(data=yourkernels,x=\"Medal\", y=\"TotalVotes\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "c67af4ad8d452f8e9f929e8a3284de675e3fd0d9" + }, + "outputs": [], + "source": [ + "sns.violinplot(data=yourkernels,x=\"Medal\", y=\"TotalComments\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "source": [ + "How many NA elements in every column.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "2544d3c2dd34a360d295019d8cb597c7ef8f66bc" + }, + "source": [ + "
\n", + "### 3-6-7 kdeplot" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "1d07222b89303b386e9e824d52cc73c045667f25" + }, + "outputs": [], + "source": [ + "# seaborn's kdeplot, plots univariate or bivariate density estimates.\n", + "#Size can be changed by tweeking the value used\n", + "#command--> 25\n", + "sns.FacetGrid(yourkernels, hue=\"Medal\", size=5).map(sns.kdeplot, \"TotalComments\").add_legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "3662003d5cb728d91c71e339cc7d6feba17b495f" + }, + "outputs": [], + "source": [ + "sns.FacetGrid(yourkernels, hue=\"Medal\", size=5).map(sns.kdeplot, \"TotalVotes\").add_legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "06e1259b209e753c2f05643706d6157145bb3b98" + }, + "outputs": [], + "source": [ + "f,ax=plt.subplots(1,3,figsize=(20,8))\n", + "sns.distplot(yourkernels[yourkernels['Medal']==1].TotalVotes,ax=ax[0])\n", + "ax[0].set_title('TotalVotes in Medal 1')\n", + "sns.distplot(yourkernels[yourkernels['Medal']==2].TotalVotes,ax=ax[1])\n", + "ax[1].set_title('TotalVotes in Medal 2')\n", + "sns.distplot(yourkernels[yourkernels['Medal']==3].TotalVotes,ax=ax[2])\n", + "ax[2].set_title('TotalVotes in Medal 3')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "560d8e8f17bacefaf8c3855a9648f26b82fdee9b" + }, + "source": [ + "
\n", + "### 3-4-8 jointplot" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "4adb4da16ea61e0f1a12bc9925dfbbaaa81e0360" + }, + "outputs": [], + "source": [ + "# Use seaborn's jointplot to make a hexagonal bin plot\n", + "#Set desired size and ratio and choose a color.\n", + "#command--> 25\n", + "sns.jointplot(x=\"TotalVotes\", y=\"TotalViews\", data=yourkernels, size=10,ratio=10, kind='hex',color='green')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "3768e31e990bfe4c2ff7b45087fbba85e0560d00" + }, + "source": [ + "
\n", + "### 3-4-9 andrews_curves" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "263eaa9d2bfad0f8c68b6e8e874bdc11a6e802ac" + }, + "outputs": [], + "source": [ + "# we will use seaborn jointplot shows bivariate scatterplots and univariate histograms with Kernel density \n", + "# estimation in the same figure\n", + "sns.jointplot(x=\"TotalVotes\", y=\"TotalViews\", data=yourkernels, size=6, kind='kde', color='#800000', space=0)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "8e73333289d17dd648b7b2112d7fe3fe7ea444d0" + }, + "source": [ + "
\n", + "### 3-4-10 Heatmap" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "3100955ca9dc61ac7d435e9c064d10d06f26afa7" + }, + "outputs": [], + "source": [ + "#command--> 26\n", + "plt.figure(figsize=(10,7)) \n", + "sns.heatmap(yourkernels.corr(),annot=True,cmap='cubehelix_r') #draws heatmap with input as the correlation matrix calculted by(iris.corr())\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "6ac924245735f2f63dc95f4a60039cbc4b5f9f0a" + }, + "source": [ + "
\n", + "## 3-4-11 WordCloud\n", + "Many times you might have seen a cloud filled with lots of words in different sizes, which represent the frequency or the importance of each word. This is called Tag Cloud or WordCloud." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "d405a5c758a63d38f92124a790e3083715224f39" + }, + "outputs": [], + "source": [ + "#command--> 27\n", + "from wordcloud import WordCloud as wc\n", + "from nltk.corpus import stopwords\n", + "eng_stopwords = set(stopwords.words(\"english\"))\n", + "messages.head(1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "2d794c89a475349868f82690878ed934ec05fd81" + }, + "outputs": [], + "source": [ + "def generate_wordcloud(text): \n", + " wordcloud = wc(relative_scaling = 1.0,stopwords = eng_stopwords).generate(text)\n", + " fig,ax = plt.subplots(1,1,figsize=(10,10))\n", + " ax.imshow(wordcloud, interpolation='bilinear')\n", + " ax.axis(\"off\")\n", + " ax.margins(x=0, y=0)\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "037cd661617de8b3470ade47ac212a31b12e6e1e" + }, + "outputs": [], + "source": [ + "text=','.join(str(v) for v in train['question_text'])\n", + "#text =\" \".join(messages['Message'])\n", + "generate_wordcloud(text)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "83d564bc724f73bfea4b645e3736b46243d0edb0" + }, + "outputs": [], + "source": [ + "text=','.join(str(v) for v in messages['Message'])\n", + "#text =\" \".join(messages['Message'])\n", + "generate_wordcloud(text)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "3fff0732ca216c092cc41f33d45dc67e54f2c8f0" + }, + "source": [ + "## 3-4-12 CountPlot" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "016fab6c1ce45edb1baf69cf052517dd4e07b002" + }, + "outputs": [], + "source": [ + "#command--> 28\n", + "ax=sns.countplot(x='target',hue=\"target\", data=train ,linewidth=5,edgecolor=sns.color_palette(\"dark\", 3))\n", + "plt.title('Is data set imbalance?');" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "9231021ad2da6e478f22dc11f4409de66f36049c" + }, + "outputs": [], + "source": [ + "ax = sns.countplot(y=\"target\", hue=\"target\", data=train)\n", + "plt.title('Is data set imbalance?');" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "f5b7ad3f5d499ef756bd6666995aebcd33ba9fd5" + }, + "source": [ + " # 3-4-13 Pie Plot" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-input": true, + "_uuid": "1bedf9e97cd52331c759fd05d19da9f441c1866e" + }, + "outputs": [], + "source": [ + "#command--> 29\n", + "ax=train['target'].value_counts().plot.pie(explode=[0,0.1],autopct='%1.1f%%' ,shadow=True)\n", + "ax.set_title('target')\n", + "ax.set_ylabel('')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "4f02c235284ef14f0007400125119ba36b81e325" + }, + "source": [ + "
\n", + "## 5- Matplotlib\n", + "\n", + "This Matplotlib tutorial takes you through the basics Python data visualization: the anatomy of a plot, pyplot and pylab, and much more\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "857d9a02e72211b4fde6f06debd3a57c8a0b1849" + }, + "source": [ + "You can show matplotlib figures directly in the notebook by using the `%matplotlib notebook` and `%matplotlib inline` magic commands. \n", + "\n", + "`%matplotlib notebook` provides an interactive environment." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "0d66eabe3f4f7288f12f8f0160b2f8e914d16ba9" + }, + "outputs": [], + "source": [ + "# because the default is the line style '-', \n", + "# nothing will be shown if we only pass in one point (3,2)\n", + "plt.plot(3, 2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "dad68ac5985444a4458259c448d1b6ffd9bf1710" + }, + "outputs": [], + "source": [ + "# we can pass in '.' to plt.plot to indicate that we want\n", + "# the point (3,2) to be indicated with a marker '.'\n", + "plt.plot(3, 2, '.')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "18c4b411903becff1b3612730bc0287cb6ac14ad" + }, + "source": [ + "Let's see how to make a plot without using the scripting layer." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "8f1bd139edb5cf1cc73f9f956d2d34844a726566" + }, + "outputs": [], + "source": [ + "# First let's set the backend without using mpl.use() from the scripting layer\n", + "from matplotlib.backends.backend_agg import FigureCanvasAgg\n", + "from matplotlib.figure import Figure\n", + "\n", + "# create a new figure\n", + "fig = Figure()\n", + "\n", + "# associate fig with the backend\n", + "canvas = FigureCanvasAgg(fig)\n", + "\n", + "# add a subplot to the fig\n", + "ax = fig.add_subplot(111)\n", + "\n", + "# plot the point (3,2)\n", + "ax.plot(3, 2, '.')\n", + "\n", + "# save the figure to test.png\n", + "# you can see this figure in your Jupyter workspace afterwards by going to\n", + "# https://hub.coursera-notebooks.org/\n", + "canvas.print_png('test.png')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "66c8f302e0afffb4652ff2f80212610fd37ae126" + }, + "source": [ + "We can use html cell magic to display the image." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "d43abba30465cee9dc1364fd2a27334c70da8598" + }, + "outputs": [], + "source": [ + "%%html\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "2c76e50e3ecda1fe2144f16b9c9fdaa6bca37c61" + }, + "outputs": [], + "source": [ + "# create a new figure\n", + "plt.figure()\n", + "\n", + "# plot the point (3,2) using the circle marker\n", + "plt.plot(3, 2, 'o')\n", + "\n", + "# get the current axes\n", + "ax = plt.gca()\n", + "\n", + "# Set axis properties [xmin, xmax, ymin, ymax]\n", + "ax.axis([0,6,0,10])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "0cc553845bb24ead8e57b5ccc59c6753a847f136" + }, + "outputs": [], + "source": [ + "# create a new figure\n", + "plt.figure()\n", + "\n", + "# plot the point (1.5, 1.5) using the circle marker\n", + "plt.plot(1.5, 1.5, 'o')\n", + "# plot the point (2, 2) using the circle marker\n", + "plt.plot(2, 2, 'o')\n", + "# plot the point (2.5, 2.5) using the circle marker\n", + "plt.plot(2.5, 2.5, 'o')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "41cc8f299ccc6825cf1ac49a8bc2039496bcc9a9" + }, + "outputs": [], + "source": [ + "# get current axes\n", + "ax = plt.gca()\n", + "# get all the child objects the axes contains\n", + "ax.get_children()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "add973c3905be06ebae9f033070ee779f58dd785" + }, + "outputs": [], + "source": [ + "\n", + "plt.plot([1, 2, 3, 4], [10, 20, 25, 30], color='lightblue', linewidth=3)\n", + "plt.scatter([0.3, 3.8, 1.2, 2.5], [11, 25, 9, 26], color='darkgreen', marker='^')\n", + "plt.xlim(0.5, 4.5)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "0f4decd6f93319534a203748fd8a2b9bcc154ddb" + }, + "source": [ + "
\n", + "## 5-1 Scatterplots" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "bf892e30bb09f0dc5fdf039d827ac55560b6ec06" + }, + "outputs": [], + "source": [ + "\n", + "\n", + "x = np.array([1,2,3,4,5,6,7,8])\n", + "y = x\n", + "\n", + "plt.figure()\n", + "plt.scatter(x, y) # similar to plt.plot(x, y, '.'), but the underlying child objects in the axes are not Line2D" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "9d4e979c8b366aa6e511a6d7316f63586346c649" + }, + "outputs": [], + "source": [ + "\n", + "\n", + "x = np.array([1,2,3,4,5,6,7,8])\n", + "y = x\n", + "\n", + "# create a list of colors for each point to have\n", + "# ['green', 'green', 'green', 'green', 'green', 'green', 'green', 'red']\n", + "colors = ['green']*(len(x)-1)\n", + "colors.append('red')\n", + "\n", + "plt.figure()\n", + "\n", + "# plot the point with size 100 and chosen colors\n", + "plt.scatter(x, y, s=100, c=colors)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "935be30b9a6a7c78b58fe1a9c6e4690c494fb697" + }, + "outputs": [], + "source": [ + "# convert the two lists into a list of pairwise tuples\n", + "zip_generator = zip([1,2,3,4,5], [6,7,8,9,10])\n", + "\n", + "print(list(zip_generator))\n", + "# the above prints:\n", + "# [(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]\n", + "\n", + "zip_generator = zip([1,2,3,4,5], [6,7,8,9,10])\n", + "# The single star * unpacks a collection into positional arguments\n", + "print(*zip_generator)\n", + "# the above prints:\n", + "# (1, 6) (2, 7) (3, 8) (4, 9) (5, 10)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "d6f848fc8d0879c658a6a4e90ca533bddf3be6e3" + }, + "outputs": [], + "source": [ + "# use zip to convert 5 tuples with 2 elements each to 2 tuples with 5 elements each\n", + "print(list(zip((1, 6), (2, 7), (3, 8), (4, 9), (5, 10))))\n", + "# the above prints:\n", + "# [(1, 2, 3, 4, 5), (6, 7, 8, 9, 10)]\n", + "\n", + "\n", + "zip_generator = zip([1,2,3,4,5], [6,7,8,9,10])\n", + "# let's turn the data back into 2 lists\n", + "x, y = zip(*zip_generator) # This is like calling zip((1, 6), (2, 7), (3, 8), (4, 9), (5, 10))\n", + "print(x)\n", + "print(y)\n", + "# the above prints:\n", + "# (1, 2, 3, 4, 5)\n", + "# (6, 7, 8, 9, 10)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "b9c79e1558adbb3b19de2564376a24191766ab1f" + }, + "outputs": [], + "source": [ + "plt.figure()\n", + "# plot a data series 'Tall students' in red using the first two elements of x and y\n", + "plt.scatter(x[:2], y[:2], s=100, c='red', label='Tall students')\n", + "# plot a second data series 'Short students' in blue using the last three elements of x and y \n", + "plt.scatter(x[2:], y[2:], s=100, c='blue', label='Short students')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "70731835527ce5a16e4a8bd2a0017e3bbe8065ee" + }, + "outputs": [], + "source": [ + "# add a label to the x axis\n", + "plt.xlabel('The number of times the child kicked a ball')\n", + "# add a label to the y axis\n", + "plt.ylabel('The grade of the student')\n", + "# add a title\n", + "plt.title('Relationship between ball kicking and grades')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "691db571df12646a4fe2740e55a43942ea779063" + }, + "outputs": [], + "source": [ + "# add a legend (uses the labels from plt.scatter)\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "0908d7c94c14feb08f953e5cd10f31cb0081f5d3" + }, + "outputs": [], + "source": [ + "# add the legend to loc=4 (the lower right hand corner), also gets rid of the frame and adds a title\n", + "plt.legend(loc=4, frameon=False, title='Legend')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "0eb79626b7b55559e40ca71ba5c3542466b629c9" + }, + "outputs": [], + "source": [ + "# get children from current axes (the legend is the second to last item in this list)\n", + "plt.gca().get_children()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "f2b5d97457e3ebd63311aef5b92fc137bd1701f5" + }, + "outputs": [], + "source": [ + "# get the legend from the current axes\n", + "legend = plt.gca().get_children()[-2]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "5334176f4177a64cb1726accb26502beb9b36626" + }, + "outputs": [], + "source": [ + "x = np.random.randint(low=1, high=11, size=50)\n", + "y = x + np.random.randint(1, 5, size=x.size)\n", + "data = np.column_stack((x, y))\n", + "\n", + "fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2,\n", + " figsize=(8, 4))\n", + "\n", + "ax1.scatter(x=x, y=y, marker='o', c='r', edgecolor='b')\n", + "ax1.set_title('Scatter: $x$ versus $y$')\n", + "ax1.set_xlabel('$x$')\n", + "ax1.set_ylabel('$y$')\n", + "\n", + "ax2.hist(data, bins=np.arange(data.min(), data.max()),\n", + " label=('x', 'y'))\n", + "ax2.legend(loc=(0.65, 0.8))\n", + "ax2.set_title('Frequencies of $x$ and $y$')\n", + "ax2.yaxis.tick_right()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c372afa727e992b9ec097c1f172becfd06bff4ef" + }, + "source": [ + "
\n", + "## 5-2 Line Plots" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "163942ca710e3c67e8479cd02518ca37eae8ead7" + }, + "outputs": [], + "source": [ + "\n", + "\n", + "linear_data = np.array([1,2,3,4,5,6,7,8])\n", + "exponential_data = linear_data**2\n", + "\n", + "plt.figure()\n", + "# plot the linear data and the exponential data\n", + "plt.plot(linear_data, '-o', exponential_data, '-o')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "7a4c6677b81fb82e1e7a1164ced70c4168080dbf" + }, + "outputs": [], + "source": [ + "# plot another series with a dashed red line\n", + "plt.plot([22,44,55], '--r')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "517e72eb500a3ba4db76467919f59ded9d3683cb" + }, + "source": [ + "
\n", + "## 5-3 Bar Charts" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "8a5ee722c74c9228af2bcece24831e1539fe97b2" + }, + "outputs": [], + "source": [ + "plt.figure()\n", + "xvals = range(len(linear_data))\n", + "plt.bar(xvals, linear_data, width = 0.3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "11a85a29ca9b1574536bfee91cc63122148d996e" + }, + "outputs": [], + "source": [ + "new_xvals = []\n", + "\n", + "# plot another set of bars, adjusting the new xvals to make up for the first set of bars plotted\n", + "for item in xvals:\n", + " new_xvals.append(item+0.3)\n", + "\n", + "plt.bar(new_xvals, exponential_data, width = 0.3 ,color='red')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "f6597010276961362ce22b84d49a9ef5f46521f6" + }, + "outputs": [], + "source": [ + "from random import randint\n", + "linear_err = [randint(0,15) for x in range(len(linear_data))] \n", + "\n", + "# This will plot a new set of bars with errorbars using the list of random error values\n", + "plt.bar(xvals, linear_data, width = 0.3, yerr=linear_err)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "8db2b0bb5d4160f7954bbcd7d9e53d29c68ef342" + }, + "outputs": [], + "source": [ + "# stacked bar charts are also possible\n", + "plt.figure()\n", + "xvals = range(len(linear_data))\n", + "plt.bar(xvals, linear_data, width = 0.3, color='b')\n", + "plt.bar(xvals, exponential_data, width = 0.3, bottom=linear_data, color='r')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "ee208f2f850122b6e01ff1236b2915914fe59466" + }, + "outputs": [], + "source": [ + "# or use barh for horizontal bar charts\n", + "plt.figure()\n", + "xvals = range(len(linear_data))\n", + "plt.barh(xvals, linear_data, height = 0.3, color='b')\n", + "plt.barh(xvals, exponential_data, height = 0.3, left=linear_data, color='r')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "acd3cfbdedddae19d7a2bbc9b02fefba21f595de" + }, + "outputs": [], + "source": [ + "\n", + "\n", + "# Initialize the plot\n", + "fig = plt.figure(figsize=(20,10))\n", + "ax1 = fig.add_subplot(121)\n", + "ax2 = fig.add_subplot(122)\n", + "\n", + "# or replace the three lines of code above by the following line: \n", + "#fig, (ax1, ax2) = plt.subplots(1,2, figsize=(20,10))\n", + "\n", + "# Plot the data\n", + "ax1.bar([1,2,3],[3,4,5])\n", + "ax2.barh([0.5,1,2.5],[0,1,2])\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "db3db00430b8e5ddb633f3c7c82a6bf63ccb0cbc" + }, + "outputs": [], + "source": [ + "plt.figure()\n", + "# subplot with 1 row, 2 columns, and current axis is 1st subplot axes\n", + "plt.subplot(1, 2, 1)\n", + "\n", + "linear_data = np.array([1,2,3,4,5,6,7,8])\n", + "\n", + "plt.plot(linear_data, '-o')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "ce5372a8e09fd5379b1b33c7b451ec1b983f8616" + }, + "outputs": [], + "source": [ + "exponential_data = linear_data**2 \n", + "\n", + "# subplot with 1 row, 2 columns, and current axis is 2nd subplot axes\n", + "plt.subplot(1, 2, 2)\n", + "plt.plot(exponential_data, '-o')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "cc4de0125429bdcd3227e894d083c0425934b228" + }, + "outputs": [], + "source": [ + "# plot exponential data on 1st subplot axes\n", + "plt.subplot(1, 2, 1)\n", + "plt.plot(exponential_data, '-x')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "0b565e5356d99d5875de88a853710ee2dd3c4a53" + }, + "outputs": [], + "source": [ + "plt.figure()\n", + "ax1 = plt.subplot(1, 2, 1)\n", + "plt.plot(linear_data, '-o')\n", + "# pass sharey=ax1 to ensure the two subplots share the same y axis\n", + "ax2 = plt.subplot(1, 2, 2, sharey=ax1)\n", + "plt.plot(exponential_data, '-x')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "ec35c2bab0a1debaa6420f15b929d127d0d5f8cd" + }, + "outputs": [], + "source": [ + "plt.figure()\n", + "# the right hand side is equivalent shorthand syntax\n", + "plt.subplot(1,2,1) == plt.subplot(121)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "43bb9cbc7acd94927be086a66ad913bd0a796fc5" + }, + "outputs": [], + "source": [ + "# create a 3x3 grid of subplots\n", + "fig, ((ax1,ax2,ax3), (ax4,ax5,ax6), (ax7,ax8,ax9)) = plt.subplots(3, 3, sharex=True, sharey=True)\n", + "# plot the linear_data on the 5th subplot axes \n", + "ax5.plot(linear_data, '-')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "ec95c476865ba15ca11e2ef4a1ba466a9212f9b9" + }, + "outputs": [], + "source": [ + "# set inside tick labels to visible\n", + "for ax in plt.gcf().get_axes():\n", + " for label in ax.get_xticklabels() + ax.get_yticklabels():\n", + " label.set_visible(True)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "161be784e0c413060709d21a160985ad798b40f8" + }, + "outputs": [], + "source": [ + "# necessary on some systems to update the plot\n", + "plt.gcf().canvas.draw()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "487fb5e77983c55ae891c3a99537d6cef0450b74" + }, + "source": [ + "
\n", + "## 5-4 Histograms" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "42551850b478e274b9f78d4f6ef717c636242616" + }, + "outputs": [], + "source": [ + "# create 2x2 grid of axis subplots\n", + "fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, sharex=True)\n", + "axs = [ax1,ax2,ax3,ax4]\n", + "\n", + "# draw n = 10, 100, 1000, and 10000 samples from the normal distribution and plot corresponding histograms\n", + "for n in range(0,len(axs)):\n", + " sample_size = 10**(n+1)\n", + " sample = np.random.normal(loc=0.0, scale=1.0, size=sample_size)\n", + " axs[n].hist(sample)\n", + " axs[n].set_title('n={}'.format(sample_size))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "39b84012b223069dd4cc6f1441d2ad0f585218bf" + }, + "outputs": [], + "source": [ + "# repeat with number of bins set to 100\n", + "fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, sharex=True)\n", + "axs = [ax1,ax2,ax3,ax4]\n", + "\n", + "for n in range(0,len(axs)):\n", + " sample_size = 10**(n+1)\n", + " sample = np.random.normal(loc=0.0, scale=1.0, size=sample_size)\n", + " axs[n].hist(sample, bins=100)\n", + " axs[n].set_title('n={}'.format(sample_size))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "4def4012769663b5665f7b70a077cf839b7793f1" + }, + "outputs": [], + "source": [ + "plt.figure()\n", + "Y = np.random.normal(loc=0.0, scale=1.0, size=10000)\n", + "X = np.random.random(size=10000)\n", + "plt.scatter(X,Y)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "f6304a7d71b6edf6894e93bc62ad9ee4ffb0cce1" + }, + "outputs": [], + "source": [ + "# use gridspec to partition the figure into subplots\n", + "import matplotlib.gridspec as gridspec\n", + "\n", + "plt.figure()\n", + "gspec = gridspec.GridSpec(3, 3)\n", + "\n", + "top_histogram = plt.subplot(gspec[0, 1:])\n", + "side_histogram = plt.subplot(gspec[1:, 0])\n", + "lower_right = plt.subplot(gspec[1:, 1:])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "2a8f66c5169fcabafafa104e87897f175624245e" + }, + "outputs": [], + "source": [ + "Y = np.random.normal(loc=0.0, scale=1.0, size=10000)\n", + "X = np.random.random(size=10000)\n", + "lower_right.scatter(X, Y)\n", + "top_histogram.hist(X, bins=100)\n", + "s = side_histogram.hist(Y, bins=100, orientation='horizontal')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "97062a938d44626006bd9e24b5893fdf9d98155d" + }, + "outputs": [], + "source": [ + "# clear the histograms and plot normed histograms\n", + "top_histogram.clear()\n", + "top_histogram.hist(X, bins=100, normed=True)\n", + "side_histogram.clear()\n", + "side_histogram.hist(Y, bins=100, orientation='horizontal', normed=True)\n", + "# flip the side histogram's x axis\n", + "side_histogram.invert_xaxis()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "e6b1208bb887180b8f0363c9e82cc6fcbf387698" + }, + "outputs": [], + "source": [ + "# change axes limits\n", + "for ax in [top_histogram, lower_right]:\n", + " ax.set_xlim(0, 1)\n", + "for ax in [side_histogram, lower_right]:\n", + " ax.set_ylim(-5, 5)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "2bc0c6fc0bb19748e9e87603e3207f75ffa9b565" + }, + "source": [ + "
\n", + "## 5-5 Box and Whisker Plots" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "94dad21ec08e2633dacb64a89e5c807145042994" + }, + "outputs": [], + "source": [ + "\n", + "normal_sample = np.random.normal(loc=0.0, scale=1.0, size=10000)\n", + "random_sample = np.random.random(size=10000)\n", + "gamma_sample = np.random.gamma(2, size=10000)\n", + "\n", + "df = pd.DataFrame({'normal': normal_sample, \n", + " 'random': random_sample, \n", + " 'gamma': gamma_sample})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "87c08a9f914647f1735cb4b835b80f645685ef1e" + }, + "outputs": [], + "source": [ + "df.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "9f4b288fe4b8ab78e6ad788e4bcfb5931920fcf2" + }, + "outputs": [], + "source": [ + "plt.figure()\n", + "# create a boxplot of the normal data, assign the output to a variable to supress output\n", + "_ = plt.boxplot(df['normal'], whis='range')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "9dc56a6415be6584fba51630ced26b0aaa486a09" + }, + "outputs": [], + "source": [ + "# clear the current figure\n", + "plt.clf()\n", + "# plot boxplots for all three of df's columns\n", + "_ = plt.boxplot([ df['normal'], df['random'], df['gamma'] ], whis='range')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "0f44453d7022928d2aeed3c3e0126cbd7118cdd9" + }, + "outputs": [], + "source": [ + "plt.figure()\n", + "_ = plt.hist(df['gamma'], bins=100)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "4dba4f705171f002fc94429ec80f7b6a2fe67ff3" + }, + "outputs": [], + "source": [ + "import mpl_toolkits.axes_grid1.inset_locator as mpl_il\n", + "\n", + "plt.figure()\n", + "plt.boxplot([ df['normal'], df['random'], df['gamma'] ], whis='range')\n", + "# overlay axis on top of another \n", + "ax2 = mpl_il.inset_axes(plt.gca(), width='60%', height='40%', loc=2)\n", + "ax2.hist(df['gamma'], bins=100)\n", + "ax2.margins(x=0.5)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "90b1e8ffe23e39ec54414c1fd63b5d5c4e72be6f" + }, + "outputs": [], + "source": [ + "# switch the y axis ticks for ax2 to the right side\n", + "ax2.yaxis.tick_right()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "cb3652a440484d391d27122878456a642c58d804" + }, + "outputs": [], + "source": [ + "# if `whis` argument isn't passed, boxplot defaults to showing 1.5*interquartile (IQR) whiskers with outliers\n", + "plt.figure()\n", + "_ = plt.boxplot([ df['normal'], df['random'], df['gamma'] ] )" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "fbf8bf0a67f6c49d78911c5f37be531ebbcd9edb" + }, + "source": [ + "
\n", + "## 5-6 Heatmaps" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "ebfc0dcb8e85aa540f6568fa96431a4e9707f3c1" + }, + "outputs": [], + "source": [ + "plt.figure()\n", + "\n", + "Y = np.random.normal(loc=0.0, scale=1.0, size=10000)\n", + "X = np.random.random(size=10000)\n", + "_ = plt.hist2d(X, Y, bins=25)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "fdbcf35950f94a4d0f1ce10efee6a4502f6ecfc8" + }, + "outputs": [], + "source": [ + "plt.figure()\n", + "_ = plt.hist2d(X, Y, bins=100)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "139f44a4deb043128c8c7254eb60c33e0fc26e68" + }, + "source": [ + "
\n", + "## 5-7 Animations" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "b3676970195153dc6056600f024f55c1b6f0ba12" + }, + "outputs": [], + "source": [ + "import matplotlib.animation as animation\n", + "\n", + "n = 100\n", + "x = np.random.randn(n)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "ea3eb5835e4acd53d43da483e17d79c32228cad6" + }, + "outputs": [], + "source": [ + "# create the function that will do the plotting, where curr is the current frame\n", + "def update(curr):\n", + " # check if animation is at the last frame, and if so, stop the animation a\n", + " if curr == n: \n", + " a.event_source.stop()\n", + " plt.cla()\n", + " bins = np.arange(-4, 4, 0.5)\n", + " plt.hist(x[:curr], bins=bins)\n", + " plt.axis([-4,4,0,30])\n", + " plt.gca().set_title('Sampling the Normal Distribution')\n", + " plt.gca().set_ylabel('Frequency')\n", + " plt.gca().set_xlabel('Value')\n", + " plt.annotate('n = {}'.format(curr), [3,27])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "fb2314b3b1735c5e191c8427c5abe6429e4ff767" + }, + "outputs": [], + "source": [ + "fig = plt.figure()\n", + "a = animation.FuncAnimation(fig, update, interval=100)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "7e702e5e0a876f9fa0b2e4fe497a56b91e00a95d" + }, + "source": [ + "
\n", + "## 5-8 Interactivity" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "51fefb947daf8ca558cbc153e2ddbf39bcb7d4b2" + }, + "outputs": [], + "source": [ + "plt.figure()\n", + "data = np.random.rand(10)\n", + "plt.plot(data)\n", + "\n", + "def onclick(event):\n", + " plt.cla()\n", + " plt.plot(data)\n", + " plt.gca().set_title('Event at pixels {},{} \\nand data {},{}'.format(event.x, event.y, event.xdata, event.ydata))\n", + "\n", + "# tell mpl_connect we want to pass a 'button_press_event' into onclick when the event is detected\n", + "plt.gcf().canvas.mpl_connect('button_press_event', onclick)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "1d64a25dc386a30bd895ca8f58ca86d632f05d74" + }, + "outputs": [], + "source": [ + "from random import shuffle\n", + "origins = ['China', 'Brazil', 'India', 'USA', 'Canada', 'UK', 'Germany', 'Iraq', 'Chile', 'Mexico']\n", + "\n", + "shuffle(origins)\n", + "\n", + "df = pd.DataFrame({'height': np.random.rand(10),\n", + " 'weight': np.random.rand(10),\n", + " 'origin': origins})\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "e13dd7e002938af1a52d7520004d839a3d7d2011" + }, + "outputs": [], + "source": [ + "plt.figure()\n", + "# picker=5 means the mouse doesn't have to click directly on an event, but can be up to 5 pixels away\n", + "plt.scatter(df['height'], df['weight'], picker=5)\n", + "plt.gca().set_ylabel('Weight')\n", + "plt.gca().set_xlabel('Height')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "e926ab1d2dc2098a6af48526e9f980bf594c79cd" + }, + "outputs": [], + "source": [ + "def onpick(event):\n", + " origin = df.iloc[event.ind[0]]['origin']\n", + " plt.gca().set_title('Selected item came from {}'.format(origin))\n", + "\n", + "# tell mpl_connect we want to pass a 'pick_event' into onpick when the event is detected\n", + "plt.gcf().canvas.mpl_connect('pick_event', onpick)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "bb968584c16b9acc6466a3897c9415c57f3a7404" + }, + "outputs": [], + "source": [ + "# use the 'seaborn-colorblind' style\n", + "plt.style.use('seaborn-colorblind')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "84742816a16280f7bca7c43879d6762e10e0a440" + }, + "source": [ + "
\n", + "## 5-9 DataFrame.plot" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "97a3554f9640a2b77e07c861b5a5b6c814a3b276" + }, + "outputs": [], + "source": [ + "np.random.seed(123)\n", + "\n", + "df = pd.DataFrame({'A': np.random.randn(365).cumsum(0), \n", + " 'B': np.random.randn(365).cumsum(0) + 20,\n", + " 'C': np.random.randn(365).cumsum(0) - 20}, \n", + " index=pd.date_range('1/1/2017', periods=365))\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "4d64fa4bc8b62fe1f4d2c2de0869bb49c8f7fc3d" + }, + "outputs": [], + "source": [ + "df.plot('A','B', kind = 'scatter');" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "857cecae1e2c9eb59c1a9d136ef1c5422d86d5ba" + }, + "source": [ + "You can also choose the plot kind by using the `DataFrame.plot.kind` methods instead of providing the `kind` keyword argument.\n", + "\n", + "`kind` :\n", + "- `'line'` : line plot (default)\n", + "- `'bar'` : vertical bar plot\n", + "- `'barh'` : horizontal bar plot\n", + "- `'hist'` : histogram\n", + "- `'box'` : boxplot\n", + "- `'kde'` : Kernel Density Estimation plot\n", + "- `'density'` : same as 'kde'\n", + "- `'area'` : area plot\n", + "- `'pie'` : pie plot\n", + "- `'scatter'` : scatter plot\n", + "- `'hexbin'` : hexbin plot\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "74997530957394a96f0aed15c21e65f54911159c" + }, + "outputs": [], + "source": [ + "# create a scatter plot of columns 'A' and 'C', with changing color (c) and size (s) based on column 'B'\n", + "df.plot.scatter('A', 'C', c='B', s=df['B'], colormap='viridis')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "6299f8dddb909c7850620499edc49afdfd909f75" + }, + "outputs": [], + "source": [ + "ax = df.plot.scatter('A', 'C', c='B', s=df['B'], colormap='viridis')\n", + "ax.set_aspect('equal')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "91a25480397c8759047100da9ebc6c0264d8a918" + }, + "outputs": [], + "source": [ + "df.plot.box();" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "b7bfa0ce17ea260d75eb97a0161af3dbd700f780" + }, + "outputs": [], + "source": [ + "df.plot.hist(alpha=0.7);" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "21a68cb3d0111753d29df2b402011daff81c5ff4" + }, + "source": [ + "[Kernel density estimation plots](https://en.wikipedia.org/wiki/Kernel_density_estimation) are useful for deriving a smooth continuous function from a given sample." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "7b4d0f65af26e55acaf9a06da13dc71eb21a408b" + }, + "outputs": [], + "source": [ + "df.plot.kde();" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "6caa0f9d20a055caebf9a2269c2081b052858806" + }, + "source": [ + "
\n", + "# 5- conclusion\n", + "Exploratory data analysis (**EDA**) is an approach to analyzing data sets to summarize their main **characteristics**, often with visual methods. A statistical model can be used or not, but primarily EDA is for seeing what the data can tell us beyond the formal modeling or hypothesis testing task.\n", + "This kernel it is not completed yet! Following up!\n", + "###### [Go to top](#top)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "source": [ + "You can follow me on:\n", + "\n", + "> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n", + "\n", + "--------------------------------------\n", + "\n", + " **I hope you find this kernel helpful and some UPVOTES would be very much appreciated** " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "5590d9817e38722f88c9924517a591d43dfaf4ba" + }, + "source": [ + "
\n", + "# 6- References\n", + "1. [Coursera](https://www.coursera.org/specializations/data-science-python)\n", + "1. [GitHub](https://github.com/mjbahmani)\n", + "\n", + "As always, I want to thank the kernels I've used to make this kernel:\n", + "1. [deffro](https://www.kaggle.com/deffro/text-pre-processing-techniques)\n", + "1. [SRK](https://www.kaggle.com/sudalairajkumar/simple-exploration-notebook-qiqc)\n", + "1. [mihaskalic](https://www.kaggle.com/mihaskalic/lstm-is-all-you-need-well-maybe-embeddings-also)\n", + "1. [artgor](https://www.kaggle.com/artgor/eda-and-lstm-cnn)\n", + "1. [tunguz](https://www.kaggle.com/tunguz/just-some-simple-eda)\n", + "
\n", + "
\n", + "[Go to top](#top)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "72e1e18935b372b6aac2fae910e5bd12de1d420f" + }, + "source": [ + "#### This kernel is not completed yet and will be updated soon !!!" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/Data Visualization in Python for Machine Learning Experts/Top 5 Data Visualization Libraries Tutorial.ipynb b/Data Visualization in Python for Machine Learning Experts/Top 5 Data Visualization Libraries Tutorial.ipynb new file mode 100644 index 0000000..1c47479 --- /dev/null +++ b/Data Visualization in Python for Machine Learning Experts/Top 5 Data Visualization Libraries Tutorial.ipynb @@ -0,0 +1,1526 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "cell_type": "markdown", + "source": "#
Top 5 Data Visualization Libraries Tutorial
\n\n\n\n
last update: 31/12/2018
\n\n\n\n>###### You may be interested have a look at 10 Steps to Become a Data Scientist: \n\n1. [Leren Python](https://www.kaggle.com/mjbahmani/the-data-scientist-s-toolbox-tutorial-1)\n2. [Python Packages](https://www.kaggle.com/mjbahmani/the-data-scientist-s-toolbox-tutorial-2)\n3. [Mathematics and Linear Algebra](https://www.kaggle.com/mjbahmani/linear-algebra-for-data-scientists)\n4. [Programming & Analysis Tools](https://www.kaggle.com/mjbahmani/20-ml-algorithms-15-plot-for-beginners)\n5. [Big Data](https://www.kaggle.com/mjbahmani/a-data-science-framework-for-quora)\n6. [Data visualization](https://www.kaggle.com/mjbahmani/top-5-data-visualization-libraries-tutorial)\n7. [Data Cleaning](https://www.kaggle.com/mjbahmani/machine-learning-workflow-for-house-prices)\n8. [How to solve a Problem?](https://www.kaggle.com/mjbahmani/the-data-scientist-s-toolbox-tutorial-2)\n9. [Machine Learning](https://www.kaggle.com/mjbahmani/a-comprehensive-ml-workflow-with-python)\n10. [Deep Learning](https://www.kaggle.com/mjbahmani/top-5-deep-learning-frameworks-tutorial)\n\n\n---------------------------------------------------------------------\nYou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n-------------------------------------------------------------------------------------------------------------\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "3dae161e42564a3b5edf7643d47ad46f54bec350" + }, + "cell_type": "markdown", + "source": "
a simple example you will learn in this notebook
" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "0faa5d21689e6c2f2c6b0c13d78a0d34af9aa108" + }, + "cell_type": "code", + "source": "from ipywidgets import interact\n%matplotlib inline\nimport matplotlib.pyplot as plt\nimport networkx as nx\n# wrap a few graph generation functions so they have the same signature\ndef random_lobster(n, m, k, p):\n return nx.random_lobster(n, p, p / m)\n\ndef powerlaw_cluster(n, m, k, p):\n return nx.powerlaw_cluster_graph(n, m, p)\n\ndef erdos_renyi(n, m, k, p):\n return nx.erdos_renyi_graph(n, p)\n\ndef newman_watts_strogatz(n, m, k, p):\n return nx.newman_watts_strogatz_graph(n, k, p)\n\ndef plot_random_graph(n, m, k, p, generator):\n g = generator(n, m, k, p)\n nx.draw(g)\n plt.show()\n \ninteract(plot_random_graph, n=(2,30), m=(1,10), k=(1,10), p=(0.0, 1.0, 0.001),\n generator={\n 'lobster': random_lobster,\n 'power law': powerlaw_cluster,\n 'Newman-Watts-Strogatz': newman_watts_strogatz,\n u'Erdős-Rényi': erdos_renyi,\n });", + "execution_count": 1, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "interactive(children=(IntSlider(value=16, description='n', max=30, min=2), IntSlider(value=5, description='m',…", + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "0e1bf73570e5496cb3e5a766b12a6d45" + } + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "cell_type": "markdown", + "source": "
\n## Notebook Content\n1. [Introduction](#1)\n1. [Loading Packages](#2)\n 1. [version](#21)\n 1. [Setup](#22)\n 1. [Data Collection](#23)\n1. [Matplotlib](#3)\n 1. [Scatterplots](#31)\n 1. [ Line Plots](#32)\n 1. [Bar Charts](#33)\n 1. [Histograms](#34)\n 1. [Box and Whisker Plots](#35)\n 1. [Heatmaps](#36)\n 1. [Animations](#37)\n 1. [Interactivity](#38)\n 1. [DataFrame.plot](#39)\n1. [Seaborn](#40)\n 1. [Seaborn Vs Matplotlib](#37)\n 1. [Useful Python Data Visualization Libraries](#38)\n1. [Plotly](#60)\n 1. [New to Plotly?](#61)\n 1. [Plotly Offline from Command Line](#62)\n1. [Bokeh](#63)\n1. [networkx](#64)\n1. [Read more](#39) \n 1. [Courses](#40) \n 1. [Ebooks](#41) \n 1. [Cheat sheet](#41)\n1. [Conclusion](#39) \n1. [References](#40) \n " + }, + { + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "cell_type": "markdown", + "source": "
\n## 1- Introduction\nIf you've followed my other kernels so far. You have noticed that for those who are beginners, I've introduced a course \" 10 Steps to Become a Data Scientist \". In this kernel we will start another step with each other. There are plenty of Kernels that can help you learn Python 's Libraries from scratch but here in Kaggle, I want to Analysis Meta Kaggle a popular Dataset.\nAfter reading, you can use it to Analysis other real dataset and use it as a template to deal with ML problems.\nIt is clear that everyone in this community is familiar with Meta Kaggle dataset but if you need to review your information about the datasets please visit [meta-kaggle](https://www.kaggle.com/kaggle/meta-kaggle) .\n\n\nI am open to getting your feedback for improving this **kernel** together.\n" + }, + { + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "cell_type": "markdown", + "source": "
\n## 2- Loading Packages\nIn this kernel we are using the following packages:" + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_kg_hide-input": true, + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": true + }, + "cell_type": "code", + "source": "from matplotlib.figure import Figure\nimport matplotlib.pylab as pylab\nimport matplotlib.pyplot as plt\nimport matplotlib as mpl\nimport seaborn as sns\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport string\nimport numpy\nimport csv\nimport os", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cb6fbd6b1eee108ca34577de77592af65b781cc0" + }, + "cell_type": "markdown", + "source": "
\n## 2-1 version" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7d081df6329f26958f545c32b4d96172b3be96d9", + "trusted": true + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\n\n#print('wordcloud: {}'.format(wordcloud.version))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4634f86ca193d38c1121af4d30f31acf25d9d334" + }, + "cell_type": "markdown", + "source": "
\n## 2-2 Setup\n\nA few tiny adjustments for better **code readability**" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "13ccd69be8e3a0502a3e172d1416686ce8cdba56", + "trusted": true + }, + "cell_type": "code", + "source": "sns.set(style='white', context='notebook', palette='deep')\npylab.rcParams['figure.figsize'] = 12,8\nwarnings.filterwarnings('ignore')\nmpl.style.use('ggplot')\nsns.set_style('white')\n%matplotlib inline", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "cell_type": "markdown", + "source": "
\n## 2-3 Data Collection\n**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n\n\nI start Collection Data by the Users and Kernels datasets into **Pandas DataFrames**" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "trusted": true + }, + "cell_type": "code", + "source": "# import kernels and users to play with it\n#command--> 1\nusers = pd.read_csv(\"../input/Users.csv\")\nkernels = pd.read_csv(\"../input/Kernels.csv\")\nmessages = pd.read_csv(\"../input/ForumMessages.csv\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "cell_type": "markdown", + "source": "\n**<< Note 1 >>**\n\n* Each row is an observation (also known as : sample, example, instance, record)\n* Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "33344731ac8933d46461ca893ea8936f6ee1c3e4", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 2\nusers.sample(1) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "cell_type": "markdown", + "source": "### Please **replace** your username and find your userid\n\nWe suppose that userid==authoruserid and use userid for both kernels and users dataset" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true + }, + "cell_type": "code", + "source": "username=\"mjbahmani\"\nuserid=int(users[users['UserName']==\"mjbahmani\"].Id)\nuserid", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7cc8cac399d9d348842ea0b589581f5f909c17dd" + }, + "cell_type": "markdown", + "source": "But if we had , we can just use **dropna()**(be careful sometimes you should not do this!)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7972fa0a7d1950d8a59f9820c6cacc00eb8f1015", + "trusted": true + }, + "cell_type": "code", + "source": "# remove rows that have NA's\nprint('Before Droping',messages.shape)\n#command--> 3\nmessages = messages.dropna()\nprint('After Droping',messages.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b1a61ef77cbe97153445293fc8d01f409d87272f" + }, + "cell_type": "markdown", + "source": "
\n## 2-3-1 Features\nFeatures can be from following types:\n1. numeric\n1. categorical\n1. ordinal\n1. datetime\n1. coordinates\n\nFind the type of features in **Meta Kaggle**?!\n
\nFor getting some information about the dataset you can use **info()** command\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "de95bf94a02721364ad6cbd6d440d664b2961e39", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 4\nprint(users.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e08d410c0dac5cf34eea33940ab586eb7e9ded5a" + }, + "cell_type": "markdown", + "source": "
\n## 2-3-2 Explorer Dataset\n1. Dimensions of the dataset.\n\n1. Peek at the data itself.\n\n1. Statistical summary of all attributes.\n\n1. Breakdown of the data by the class variable.\n\nDon’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true + }, + "cell_type": "code", + "source": "# shape\n#command--> 5\nprint(users.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true + }, + "cell_type": "code", + "source": "#columns*rows\n#command--> 6\nusers.size", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "cell_type": "markdown", + "source": "\nWe can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property." + }, + { + "metadata": { + "_uuid": "3458838205be4c7fbff88e95ef69934e13e2199b" + }, + "cell_type": "markdown", + "source": "You see number of unique item for Species with command below:" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "4b90d165a007106ae99809ad28edd75bd8153dd8", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 7\nkernels['Medal'].unique()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "8accfbddf2228274ad412c3ad3be72b4107d6f6c", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 8\nkernels[\"Medal\"].value_counts()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "cell_type": "markdown", + "source": "To check the first 5 rows of the data set, we can use head(5)." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.head(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "cell_type": "markdown", + "source": "To check out last 5 row of the data set, we use tail() function" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 9\nusers.tail() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "cell_type": "markdown", + "source": "To pop up 5 random rows from the data set, we can use **sample(5)** function" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.sample(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "cell_type": "markdown", + "source": "To give a statistical summary about the dataset, we can use **describe()**" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.describe() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ff69b963b60e8ff77acae02850885c7e90358129" + }, + "cell_type": "markdown", + "source": "
\n## 2-3-5 Find yourself in Users datset" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "1e36488451f22350bc2c655bfdd2b50803540b87", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 12\nusers[users['Id']==userid]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "33fc33a18489b438a884819d99dc00a02b113be8" + }, + "cell_type": "markdown", + "source": "
\n## 2-3-6 Find your kernels in Kernels dataset" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "aa877c667451c76a052808964bbf8eb5991b39e0", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 13\nyourkernels=kernels[kernels['AuthorUserId']==userid]\nyourkernels.head(2)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "62d171e1ffd38b2be8d90bf259dfa794cd2b1594" + }, + "cell_type": "markdown", + "source": "
\n## 3- Data Visualization Libraries\nBefore you start learning , I am giving an overview of 10 interdisciplinary **Python data visualization libraries**, from the well-known to the obscure.\n\n* 1- matplotlib\n\nmatplotlib is the O.G. of Python data visualization libraries. Despite being over a decade old, it’s still the most widely used library for plotting in the Python community. It was designed to closely resemble MATLAB, a proprietary programming language developed in the 1980s.\n\n* 2- Seaborn\n\nSeaborn harnesses the power of matplotlib to create beautiful charts in a few lines of code. The key difference is Seaborn’s default styles and color palettes, which are designed to be more aesthetically pleasing and modern. Since Seaborn is built on top of matplotlib, you’ll need to know matplotlib to tweak Seaborn’s defaults.\n\n* 3- ggplot\n\nggplot is based on ggplot2, an R plotting system, and concepts from The Grammar of Graphics. ggplot operates differently than matplotlib: it lets you layer components to create a complete plot. For instance, you can start with axes, then add points, then a line, a trendline, etc. Although The Grammar of Graphics has been praised as an “intuitive” method for plotting, seasoned matplotlib users might need time to adjust to this new mindset.\n\n\n* 4- Bokeh\n\nLike ggplot, Bokeh is based on The Grammar of Graphics, but unlike ggplot, it’s native to Python, not ported over from R. Its strength lies in the ability to create interactive, web-ready plots, which can be easily outputted as JSON objects, HTML documents, or interactive web applications. Bokeh also supports streaming and real-time data.\n\n\n* 5- pygal\n\nLike Bokeh and Plotly, pygal offers interactive plots that can be embedded in the web browser. Its prime differentiator is the ability to output charts as SVGs. As long as you’re working with smaller datasets, SVGs will do you just fine. But if you’re making charts with hundreds of thousands of data points, they’ll have trouble rendering and become sluggish.\n\n* 6- Plotly\n\nYou might know Plotly as an online platform for data visualization, but did you also know you can access its capabilities from a Python notebook? Like Bokeh, Plotly’s forte is making interactive plots, but it offers some charts you won’t find in most libraries, like contour plots, dendograms, and 3D charts.\n\n* 7- geoplotlib\n\ngeoplotlib is a toolbox for creating maps and plotting geographical data. You can use it to create a variety of map-types, like choropleths, heatmaps, and dot density maps. You must have Pyglet (an object-oriented programming interface) installed to use geoplotlib. Nonetheless, since most Python data visualization libraries don’t offer maps, it’s nice to have a library dedicated solely to them.\n\n* 8- Gleam\n\nGleam is inspired by R’s Shiny package. It allows you to turn analyses into interactive web apps using only Python scripts, so you don’t have to know any other languages like HTML, CSS, or JavaScript. Gleam works with any Python data visualization library. Once you’ve created a plot, you can build fields on top of it so users can filter and sort data.\n\n\n* 9- missingno\n\nDealing with missing data is a pain. missingno allows you to quickly gauge the completeness of a dataset with a visual summary, instead of trudging through a table. You can filter and sort data based on completion or spot correlations with a heatmap or a dendrogram.\n\n\n* 10- Leather\n\nLeather’s creator, Christopher Groskopf, puts it best: “Leather is the Python charting library for those who need charts now and don’t care if they’re perfect.” It’s designed to work with all data types and produces charts as SVGs, so you can scale them without losing image quality. Since this library is relatively new, some of the documentation is still in progress. The charts you can make are pretty basic—but that’s the intention.\n\nAt the end, nice cheatsheet on how to best visualize your data. I think I will print it out as a good reminder of \"best practices\". Check out the link for the complete cheatsheet, also as a PDF. \n\n* 11- Chartify\nChartify is a Python library that makes it easy for data scientists to create charts.\n\nWhy use Chartify?\n1. Consistent input data format: Spend less time transforming data to get your charts to work. All plotting functions use a consistent tidy input data format.\n1. Smart default styles: Create pretty charts with very little customization required.\n1. Simple API: We've attempted to make to the API as intuitive and easy to learn as possible.\n1. Flexibility: Chartify is built on top of Bokeh, so if you do need more control you can always fall back on Bokeh's API.\nLink: https://github.com/mjbahmani/Machine-Learning-Workflow-with-Python\n![cheatsheet ][1]\n[Reference][2]\n\n\n [1]: http://s8.picofile.com/file/8340669884/53f6a826_d7df_4b55_81e6_7c23b3fff0a3_original.png\n [2]: https://blog.modeanalytics.com/python-data-visualization-libraries/" + }, + { + "metadata": { + "_uuid": "4f02c235284ef14f0007400125119ba36b81e325" + }, + "cell_type": "markdown", + "source": "
\n## 4- Matplotlib\n\nThis Matplotlib tutorial takes you through the basics Python data visualization: the anatomy of a plot, pyplot and pylab, and much more\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "857d9a02e72211b4fde6f06debd3a57c8a0b1849" + }, + "cell_type": "markdown", + "source": "You can show matplotlib figures directly in the notebook by using the `%matplotlib notebook` and `%matplotlib inline` magic commands. \n\n`%matplotlib notebook` provides an interactive environment." + }, + { + "metadata": { + "_uuid": "66c8f302e0afffb4652ff2f80212610fd37ae126" + }, + "cell_type": "markdown", + "source": "We can use html cell magic to display the image." + }, + { + "metadata": { + "_uuid": "add973c3905be06ebae9f033070ee779f58dd785", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\nplt.plot([1, 2, 3, 4], [10, 20, 25, 30], color='lightblue', linewidth=3)\nplt.scatter([0.3, 3.8, 1.2, 2.5], [11, 25, 9, 26], color='darkgreen', marker='^')\nplt.xlim(0.5, 4.5)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f0f9fa93f1e5b7ec0c148c3e24f4c32c1fd57fad" + }, + "cell_type": "markdown", + "source": "Simple and powerful visualizations can be generated using the Matplotlib Python Library. More than a decade old, it is the most widely-used library for plotting in the Python community. A wide range of graphs from histograms to heat plots to line plots can be plotted using Matplotlib.\n\nMany other libraries are built on top of Matplotlib and are designed to work in conjunction with analysis, it being the first Python data visualization library. Libraries like pandas and matplotlib are “wrappers” over Matplotlib allowing access to a number of Matplotlib’s methods with less code." + }, + { + "metadata": { + "_uuid": "0f4decd6f93319534a203748fd8a2b9bcc154ddb" + }, + "cell_type": "markdown", + "source": "
\n## 4-1 Scatterplots" + }, + { + "metadata": { + "_uuid": "bf892e30bb09f0dc5fdf039d827ac55560b6ec06", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n\nx = np.array([1,2,3,4,5,6,7,8])\ny = x\n\nplt.figure()\nplt.scatter(x, y) # similar to plt.plot(x, y, '.'), but the underlying child objects in the axes are not Line2D", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9d4e979c8b366aa6e511a6d7316f63586346c649", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n\nx = np.array([1,2,3,4,5,6,7,8])\ny = x\n\n# create a list of colors for each point to have\n# ['green', 'green', 'green', 'green', 'green', 'green', 'green', 'red']\ncolors = ['green']*(len(x)-1)\ncolors.append('red')\n\nplt.figure()\n\n# plot the point with size 100 and chosen colors\nplt.scatter(x, y, s=100, c=colors)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b9c79e1558adbb3b19de2564376a24191766ab1f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# plot a data series 'Tall students' in red using the first two elements of x and y\nplt.scatter(x[:2], y[:2], s=100, c='red', label='Tall students')\n# plot a second data series 'Short students' in blue using the last three elements of x and y \nplt.scatter(x[2:], y[2:], s=100, c='blue', label='Short students')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5334176f4177a64cb1726accb26502beb9b36626", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = np.random.randint(low=1, high=11, size=50)\ny = x + np.random.randint(1, 5, size=x.size)\ndata = np.column_stack((x, y))\n\nfig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2,\n figsize=(8, 4))\n\nax1.scatter(x=x, y=y, marker='o', c='r', edgecolor='b')\nax1.set_title('Scatter: $x$ versus $y$')\nax1.set_xlabel('$x$')\nax1.set_ylabel('$y$')\n\nax2.hist(data, bins=np.arange(data.min(), data.max()),\n label=('x', 'y'))\nax2.legend(loc=(0.65, 0.8))\nax2.set_title('Frequencies of $x$ and $y$')\nax2.yaxis.tick_right()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "af099546eed64ebc796403d4139cb4c977c27b03", + "trusted": true + }, + "cell_type": "code", + "source": "# Modify the graph above by assigning each species an individual color.\n#command--> 19\nx=yourkernels[\"TotalVotes\"]\ny=yourkernels[\"TotalViews\"]\nplt.scatter(x, y)\nplt.legend()\nplt.show()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c372afa727e992b9ec097c1f172becfd06bff4ef" + }, + "cell_type": "markdown", + "source": "
\n## 4-2 Line Plots" + }, + { + "metadata": { + "_uuid": "163942ca710e3c67e8479cd02518ca37eae8ead7", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n\nlinear_data = np.array([1,2,3,4,5,6,7,8])\nexponential_data = linear_data**2\n\nplt.figure()\n# plot the linear data and the exponential data\nplt.plot(linear_data, '-o', exponential_data, '-o')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7a4c6677b81fb82e1e7a1164ced70c4168080dbf", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# plot another series with a dashed red line\nplt.plot([22,44,55], '--r')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "517e72eb500a3ba4db76467919f59ded9d3683cb" + }, + "cell_type": "markdown", + "source": "
\n## 4-3 Bar Charts" + }, + { + "metadata": { + "_uuid": "8a5ee722c74c9228af2bcece24831e1539fe97b2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\nxvals = range(len(linear_data))\nplt.bar(xvals, linear_data, width = 0.3)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "11a85a29ca9b1574536bfee91cc63122148d996e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "new_xvals = []\n\n# plot another set of bars, adjusting the new xvals to make up for the first set of bars plotted\nfor item in xvals:\n new_xvals.append(item+0.3)\n\nplt.bar(new_xvals, exponential_data, width = 0.3 ,color='red')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f6597010276961362ce22b84d49a9ef5f46521f6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from random import randint\nlinear_err = [randint(0,15) for x in range(len(linear_data))] \n\n# This will plot a new set of bars with errorbars using the list of random error values\nplt.bar(xvals, linear_data, width = 0.3, yerr=linear_err)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8db2b0bb5d4160f7954bbcd7d9e53d29c68ef342", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# stacked bar charts are also possible\nplt.figure()\nxvals = range(len(linear_data))\nplt.bar(xvals, linear_data, width = 0.3, color='b')\nplt.bar(xvals, exponential_data, width = 0.3, bottom=linear_data, color='r')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ee208f2f850122b6e01ff1236b2915914fe59466", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# or use barh for horizontal bar charts\nplt.figure()\nxvals = range(len(linear_data))\nplt.barh(xvals, linear_data, height = 0.3, color='b')\nplt.barh(xvals, exponential_data, height = 0.3, left=linear_data, color='r')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "acd3cfbdedddae19d7a2bbc9b02fefba21f595de", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Initialize the plot\nfig = plt.figure(figsize=(20,10))\nax1 = fig.add_subplot(121)\nax2 = fig.add_subplot(122)\n\n# or replace the three lines of code above by the following line: \n#fig, (ax1, ax2) = plt.subplots(1,2, figsize=(20,10))\n\n# Plot the data\nax1.bar([1,2,3],[3,4,5])\nax2.barh([0.5,1,2.5],[0,1,2])\n\n# Show the plot\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "db3db00430b8e5ddb633f3c7c82a6bf63ccb0cbc", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# subplot with 1 row, 2 columns, and current axis is 1st subplot axes\nplt.subplot(1, 2, 1)\n\nlinear_data = np.array([1,2,3,4,5,6,7,8])\n\nplt.plot(linear_data, '-o')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ce5372a8e09fd5379b1b33c7b451ec1b983f8616", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "exponential_data = linear_data**2 \n\n# subplot with 1 row, 2 columns, and current axis is 2nd subplot axes\nplt.subplot(1, 2, 2)\nplt.plot(exponential_data, '-o')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cc4de0125429bdcd3227e894d083c0425934b228", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# plot exponential data on 1st subplot axes\nplt.subplot(1, 2, 1)\nplt.plot(exponential_data, '-x')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0b565e5356d99d5875de88a853710ee2dd3c4a53", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\nax1 = plt.subplot(1, 2, 1)\nplt.plot(linear_data, '-o')\n# pass sharey=ax1 to ensure the two subplots share the same y axis\nax2 = plt.subplot(1, 2, 2, sharey=ax1)\nplt.plot(exponential_data, '-x')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "487fb5e77983c55ae891c3a99537d6cef0450b74" + }, + "cell_type": "markdown", + "source": "
\n## 4-4 Histograms" + }, + { + "metadata": { + "_uuid": "42551850b478e274b9f78d4f6ef717c636242616", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# create 2x2 grid of axis subplots\nfig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, sharex=True)\naxs = [ax1,ax2,ax3,ax4]\n\n# draw n = 10, 100, 1000, and 10000 samples from the normal distribution and plot corresponding histograms\nfor n in range(0,len(axs)):\n sample_size = 10**(n+1)\n sample = np.random.normal(loc=0.0, scale=1.0, size=sample_size)\n axs[n].hist(sample)\n axs[n].set_title('n={}'.format(sample_size))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "39b84012b223069dd4cc6f1441d2ad0f585218bf", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# repeat with number of bins set to 100\nfig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, sharex=True)\naxs = [ax1,ax2,ax3,ax4]\n\nfor n in range(0,len(axs)):\n sample_size = 10**(n+1)\n sample = np.random.normal(loc=0.0, scale=1.0, size=sample_size)\n axs[n].hist(sample, bins=100)\n axs[n].set_title('n={}'.format(sample_size))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4def4012769663b5665f7b70a077cf839b7793f1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\nY = np.random.normal(loc=0.0, scale=1.0, size=10000)\nX = np.random.random(size=10000)\nplt.scatter(X,Y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b4e3de19781686010c6038f0e3076eb678398169" + }, + "cell_type": "markdown", + "source": "It looks like perhaps two of the input variables have a Gaussian distribution. This is useful to note as we can use algorithms that can exploit this assumption.\n\n" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "9f80a6e971cbf0af72d659b51af552ea1dddc9a8", + "trusted": true + }, + "cell_type": "code", + "source": "yourkernels[\"TotalViews\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1173ef1b6ca75e28f94a891880294d1765b022ea", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "yourkernels[\"TotalComments\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5d8ef0781d88c46a8becf6d7f5b1f4ad2c05db7e", + "trusted": true + }, + "cell_type": "code", + "source": "sns.factorplot('TotalViews','TotalVotes',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2bc0c6fc0bb19748e9e87603e3207f75ffa9b565" + }, + "cell_type": "markdown", + "source": "
\n## 4-5 Box and Whisker Plots\nIn descriptive statistics, a **box plot** or boxplot is a method for graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram.[wikipedia]" + }, + { + "metadata": { + "_uuid": "94dad21ec08e2633dacb64a89e5c807145042994", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\nnormal_sample = np.random.normal(loc=0.0, scale=1.0, size=10000)\nrandom_sample = np.random.random(size=10000)\ngamma_sample = np.random.gamma(2, size=10000)\n\ndf = pd.DataFrame({'normal': normal_sample, \n 'random': random_sample, \n 'gamma': gamma_sample})", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9f4b288fe4b8ab78e6ad788e4bcfb5931920fcf2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# create a boxplot of the normal data, assign the output to a variable to supress output\n_ = plt.boxplot(df['normal'], whis='range')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9dc56a6415be6584fba51630ced26b0aaa486a09", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# clear the current figure\nplt.clf()\n# plot boxplots for all three of df's columns\n_ = plt.boxplot([ df['normal'], df['random'], df['gamma'] ], whis='range')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0f44453d7022928d2aeed3c3e0126cbd7118cdd9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n_ = plt.hist(df['gamma'], bins=100)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4dba4f705171f002fc94429ec80f7b6a2fe67ff3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "import mpl_toolkits.axes_grid1.inset_locator as mpl_il\n\nplt.figure()\nplt.boxplot([ df['normal'], df['random'], df['gamma'] ], whis='range')\n# overlay axis on top of another \nax2 = mpl_il.inset_axes(plt.gca(), width='60%', height='40%', loc=2)\nax2.hist(df['gamma'], bins=100)\nax2.margins(x=0.5)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "90b1e8ffe23e39ec54414c1fd63b5d5c4e72be6f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# switch the y axis ticks for ax2 to the right side\nax2.yaxis.tick_right()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cb3652a440484d391d27122878456a642c58d804", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# if `whis` argument isn't passed, boxplot defaults to showing 1.5*interquartile (IQR) whiskers with outliers\nplt.figure()\n_ = plt.boxplot([ df['normal'], df['random'], df['gamma'] ] )", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "15e2743389cb58055ee5bb9dd9b829fb85850af2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.factorplot('TotalComments','TotalVotes',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fbf8bf0a67f6c49d78911c5f37be531ebbcd9edb" + }, + "cell_type": "markdown", + "source": "
\n## 4-6 Heatmaps" + }, + { + "metadata": { + "_uuid": "ebfc0dcb8e85aa540f6568fa96431a4e9707f3c1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n\nY = np.random.normal(loc=0.0, scale=1.0, size=10000)\nX = np.random.random(size=10000)\n_ = plt.hist2d(X, Y, bins=25)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fdbcf35950f94a4d0f1ce10efee6a4502f6ecfc8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n_ = plt.hist2d(X, Y, bins=100)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "139f44a4deb043128c8c7254eb60c33e0fc26e68" + }, + "cell_type": "markdown", + "source": "
\n## 4-7 Animations" + }, + { + "metadata": { + "_uuid": "b3676970195153dc6056600f024f55c1b6f0ba12", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "import matplotlib.animation as animation\n\nn = 100\nx = np.random.randn(n)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ea3eb5835e4acd53d43da483e17d79c32228cad6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# create the function that will do the plotting, where curr is the current frame\ndef update(curr):\n # check if animation is at the last frame, and if so, stop the animation a\n if curr == n: \n a.event_source.stop()\n plt.cla()\n bins = np.arange(-4, 4, 0.5)\n plt.hist(x[:curr], bins=bins)\n plt.axis([-4,4,0,30])\n plt.gca().set_title('Sampling the Normal Distribution')\n plt.gca().set_ylabel('Frequency')\n plt.gca().set_xlabel('Value')\n plt.annotate('n = {}'.format(curr), [3,27])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fb2314b3b1735c5e191c8427c5abe6429e4ff767", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "fig = plt.figure()\na = animation.FuncAnimation(fig, update, interval=100)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7e702e5e0a876f9fa0b2e4fe497a56b91e00a95d" + }, + "cell_type": "markdown", + "source": "
\n## 4-8 Interactivity" + }, + { + "metadata": { + "_uuid": "51fefb947daf8ca558cbc153e2ddbf39bcb7d4b2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\ndata = np.random.rand(10)\nplt.plot(data)\n\ndef onclick(event):\n plt.cla()\n plt.plot(data)\n plt.gca().set_title('Event at pixels {},{} \\nand data {},{}'.format(event.x, event.y, event.xdata, event.ydata))\n\n# tell mpl_connect we want to pass a 'button_press_event' into onclick when the event is detected\nplt.gcf().canvas.mpl_connect('button_press_event', onclick)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1d64a25dc386a30bd895ca8f58ca86d632f05d74", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from random import shuffle\norigins = ['China', 'Brazil', 'India', 'USA', 'Canada', 'UK', 'Germany', 'Iraq', 'Chile', 'Mexico']\n\nshuffle(origins)\n\ndf = pd.DataFrame({'height': np.random.rand(10),\n 'weight': np.random.rand(10),\n 'origin': origins})\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e13dd7e002938af1a52d7520004d839a3d7d2011", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# picker=5 means the mouse doesn't have to click directly on an event, but can be up to 5 pixels away\nplt.scatter(df['height'], df['weight'], picker=5)\nplt.gca().set_ylabel('Weight')\nplt.gca().set_xlabel('Height')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e926ab1d2dc2098a6af48526e9f980bf594c79cd", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def onpick(event):\n origin = df.iloc[event.ind[0]]['origin']\n plt.gca().set_title('Selected item came from {}'.format(origin))\n\n# tell mpl_connect we want to pass a 'pick_event' into onpick when the event is detected\nplt.gcf().canvas.mpl_connect('pick_event', onpick)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bb968584c16b9acc6466a3897c9415c57f3a7404", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# use the 'seaborn-colorblind' style\nplt.style.use('seaborn-colorblind')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "84742816a16280f7bca7c43879d6762e10e0a440" + }, + "cell_type": "markdown", + "source": "
\n## 4-9 DataFrame.plot" + }, + { + "metadata": { + "_uuid": "97a3554f9640a2b77e07c861b5a5b6c814a3b276", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.random.seed(123)\n\ndf = pd.DataFrame({'A': np.random.randn(365).cumsum(0), \n 'B': np.random.randn(365).cumsum(0) + 20,\n 'C': np.random.randn(365).cumsum(0) - 20}, \n index=pd.date_range('1/1/2017', periods=365))\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4d64fa4bc8b62fe1f4d2c2de0869bb49c8f7fc3d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.plot('A','B', kind = 'scatter');", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "857cecae1e2c9eb59c1a9d136ef1c5422d86d5ba" + }, + "cell_type": "markdown", + "source": "You can also choose the plot kind by using the `DataFrame.plot.kind` methods instead of providing the `kind` keyword argument.\n\n`kind` :\n- `'line'` : line plot (default)\n- `'bar'` : vertical bar plot\n- `'barh'` : horizontal bar plot\n- `'hist'` : histogram\n- `'box'` : boxplot\n- `'kde'` : Kernel Density Estimation plot\n- `'density'` : same as 'kde'\n- `'area'` : area plot\n- `'pie'` : pie plot\n- `'scatter'` : scatter plot\n- `'hexbin'` : hexbin plot\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "74997530957394a96f0aed15c21e65f54911159c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# create a scatter plot of columns 'A' and 'C', with changing color (c) and size (s) based on column 'B'\ndf.plot.scatter('A', 'C', c='B', s=df['B'], colormap='viridis')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6299f8dddb909c7850620499edc49afdfd909f75", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "ax = df.plot.scatter('A', 'C', c='B', s=df['B'], colormap='viridis')\nax.set_aspect('equal')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "91a25480397c8759047100da9ebc6c0264d8a918", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.plot.box();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b7bfa0ce17ea260d75eb97a0161af3dbd700f780", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.plot.hist(alpha=0.7);", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "21a68cb3d0111753d29df2b402011daff81c5ff4" + }, + "cell_type": "markdown", + "source": "[Kernel density estimation plots](https://en.wikipedia.org/wiki/Kernel_density_estimation) are useful for deriving a smooth continuous function from a given sample." + }, + { + "metadata": { + "_uuid": "7b4d0f65af26e55acaf9a06da13dc71eb21a408b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.plot.kde();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e0f696ec021ec99c1058a62e22c8b73082fe6fa7" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "6be2f6011b57248d4ec69ef562147e072d9718ae" + }, + "cell_type": "markdown", + "source": "
\n# 5- Seaborn\n\nAs you have just read, **Seaborn** is complimentary to Matplotlib and it specifically targets statistical data visualization. But it goes even further than that: Seaborn extends Matplotlib and that’s why it can address the two biggest frustrations of working with Matplotlib. Or, as Michael Waskom says in the “introduction to Seaborn”: “If matplotlib “tries to make easy things easy and hard things possible”, seaborn tries to make a well-defined set of hard things easy too.”\n\nOne of these hard things or frustrations had to do with the default Matplotlib parameters. Seaborn works with different parameters, which undoubtedly speaks to those users that don’t use the default looks of the Matplotlib plots\nSeaborn is a library for making statistical graphics in Python. It is built on top of matplotlib and closely integrated with pandas data structures.\n\nHere is some of the functionality that seaborn offers:\n\nA dataset-oriented API for examining relationships between multiple variables\nSpecialized support for using categorical variables to show observations or aggregate statistics\nOptions for visualizing univariate or bivariate distributions and for comparing them between subsets of data\nAutomatic estimation and plotting of linear regression models for different kinds dependent variables\nConvenient views onto the overall structure of complex datasets\nHigh-level abstractions for structuring multi-plot grids that let you easily build complex visualizations\nConcise control over matplotlib figure styling with several built-in themes\nTools for choosing color palettes that faithfully reveal patterns in your data\nSeaborn aims to make visualization a central part of exploring and understanding data. Its dataset-oriented plotting functions operate on dataframes and arrays containing whole datasets and internally perform the necessary semantic mapping and statistical aggregation to produce informative plots.\n\nHere’s an example of what this means:\n\n[Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "61d945abc7817a724a8ff13b8d91601a26dd70a2" + }, + "cell_type": "markdown", + "source": "
\n## 5-1 Seaborn Vs Matplotlib\n\nIt is summarized that if Matplotlib “tries to make easy things easy and hard things possible”, Seaborn tries to make a well defined set of hard things easy too.”\n\nSeaborn helps resolve the two major problems faced by Matplotlib; the problems are\n\n* Default Matplotlib parameters\n* Working with data frames\n\nAs Seaborn compliments and extends Matplotlib, the learning curve is quite gradual. If you know Matplotlib, you are already half way through Seaborn.\n\nImportant Features of Seaborn\nSeaborn is built on top of Python’s core visualization library Matplotlib. It is meant to serve as a complement, and not a replacement. However, Seaborn comes with some very important features. Let us see a few of them here. The features help in −\n\n* Built in themes for styling matplotlib graphics\n* Visualizing univariate and bivariate data\n* Fitting in and visualizing linear regression models\n* Plotting statistical time series data\n* Seaborn works well with NumPy and Pandas data structures\n* It comes with built in themes for styling Matplotlib graphics\n\nIn most cases, you will still use Matplotlib for simple plotting. The knowledge of Matplotlib is recommended to tweak Seaborn’s default plots.\n\n[Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "e86d3560a60a12f19847f7264a984aeb14cba2d6", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def sinplot(flip = 1):\n x = np.linspace(0, 14, 100)\n for i in range(1, 5): \n plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)\nsinplot()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "0d6d5a511f6a8785731b5a1bcdb1a9281553aa28", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def sinplot(flip = 1):\n x = np.linspace(0, 14, 100)\n for i in range(1, 5):\n plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)\n \nsns.set()\nsinplot()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "4f6da88a64c3790d0a7bfc995bb82aae8e1f1420", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.random.seed(1234)\n\nv1 = pd.Series(np.random.normal(0,10,1000), name='v1')\nv2 = pd.Series(2*v1 + np.random.normal(60,15,1000), name='v2')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "420ffb34484da7b88db34e75d883b5a060b478a3", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\nplt.hist(v1, alpha=0.7, bins=np.arange(-50,150,5), label='v1');\nplt.hist(v2, alpha=0.7, bins=np.arange(-50,150,5), label='v2');\nplt.legend();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "790f27d2a5a4ef507669b4e32ba901c2b6684f87", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# we can pass keyword arguments for each individual component of the plot\nsns.distplot(v2, hist_kws={'color': 'Teal'}, kde_kws={'color': 'Navy'});", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "65db67f8736affd36f13cf608abee2c338b929c0", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.jointplot(v1, v2, alpha=0.4);", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "a325a54e4b7728affe318c110b2fe4d6f448efd0", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "grid = sns.jointplot(v1, v2, alpha=0.4);\ngrid.ax_joint.set_aspect('equal')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "14f244f9f0332d8abb13136d14df7411a9727f04", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.jointplot(v1, v2, kind='hex');", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "87f176fd1a3741ab23902e3c05ebaaab3c0cf1a9", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# set the seaborn style for all the following plots\nsns.set_style('white')\n\nsns.jointplot(v1, v2, kind='kde', space=0);", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "15e2743389cb58055ee5bb9dd9b829fb85850af2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.factorplot('TotalComments','TotalVotes',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "e352d2f8340609adf4bf6718b1d2ecee0fa730b5", + "trusted": true + }, + "cell_type": "code", + "source": "# violinplots on petal-length for each species\n#command--> 24\nsns.violinplot(data=yourkernels,x=\"TotalViews\", y=\"TotalVotes\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "82d42d69a63f9dacf41dad5bfb1b7908cefc2633", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# violinplots on petal-length for each species\nsns.violinplot(data=yourkernels,x=\"TotalComments\", y=\"TotalVotes\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "363b3e9509d5e3ba157c0b5f319d2585c58ee28f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.violinplot(data=yourkernels,x=\"Medal\", y=\"TotalVotes\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c67af4ad8d452f8e9f929e8a3284de675e3fd0d9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.violinplot(data=yourkernels,x=\"Medal\", y=\"TotalComments\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "cell_type": "markdown", + "source": "How many NA elements in every column.\n" + }, + { + "metadata": { + "_uuid": "2544d3c2dd34a360d295019d8cb597c7ef8f66bc" + }, + "cell_type": "markdown", + "source": "
\n## 5-2 kdeplot" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "1d07222b89303b386e9e824d52cc73c045667f25", + "trusted": true + }, + "cell_type": "code", + "source": "# seaborn's kdeplot, plots univariate or bivariate density estimates.\n#Size can be changed by tweeking the value used\n#command--> 25\nsns.FacetGrid(yourkernels, hue=\"Medal\", size=5).map(sns.kdeplot, \"TotalComments\").add_legend()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3662003d5cb728d91c71e339cc7d6feba17b495f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.FacetGrid(yourkernels, hue=\"Medal\", size=5).map(sns.kdeplot, \"TotalVotes\").add_legend()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "06e1259b209e753c2f05643706d6157145bb3b98", + "trusted": true + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,3,figsize=(20,8))\nsns.distplot(yourkernels[yourkernels['Medal']==1].TotalVotes,ax=ax[0])\nax[0].set_title('TotalVotes in Medal 1')\nsns.distplot(yourkernels[yourkernels['Medal']==2].TotalVotes,ax=ax[1])\nax[1].set_title('TotalVotes in Medal 2')\nsns.distplot(yourkernels[yourkernels['Medal']==3].TotalVotes,ax=ax[2])\nax[2].set_title('TotalVotes in Medal 3')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "560d8e8f17bacefaf8c3855a9648f26b82fdee9b" + }, + "cell_type": "markdown", + "source": "
\n## 5-3 jointplot" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "4adb4da16ea61e0f1a12bc9925dfbbaaa81e0360", + "trusted": true + }, + "cell_type": "code", + "source": "# Use seaborn's jointplot to make a hexagonal bin plot\n#Set desired size and ratio and choose a color.\n#command--> 25\nsns.jointplot(x=\"TotalVotes\", y=\"TotalViews\", data=yourkernels, size=10,ratio=10, kind='hex',color='green')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3768e31e990bfe4c2ff7b45087fbba85e0560d00" + }, + "cell_type": "markdown", + "source": "
\n## 5-4 andrews_curves" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "263eaa9d2bfad0f8c68b6e8e874bdc11a6e802ac", + "trusted": true + }, + "cell_type": "code", + "source": "# we will use seaborn jointplot shows bivariate scatterplots and univariate histograms with Kernel density \n# estimation in the same figure\nsns.jointplot(x=\"TotalVotes\", y=\"TotalViews\", data=yourkernels, size=6, kind='kde', color='#800000', space=0)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8e73333289d17dd648b7b2112d7fe3fe7ea444d0" + }, + "cell_type": "markdown", + "source": "
\n## 5-5 Heatmap" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "3100955ca9dc61ac7d435e9c064d10d06f26afa7", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 26\nplt.figure(figsize=(10,7)) \nsns.heatmap(yourkernels.corr(),annot=True,cmap='cubehelix_r') #draws heatmap with input as the correlation matrix calculted by(iris.corr())\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "15e2743389cb58055ee5bb9dd9b829fb85850af2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.factorplot('TotalComments','TotalVotes',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6be5cceac28003946f70060cf116ac7fd52a3e02" + }, + "cell_type": "markdown", + "source": "
\n## 5-6 distplot" + }, + { + "metadata": { + "trusted": true, + "_uuid": "489aa9f9f032583a568be1ed30650fb684a2ed16" + }, + "cell_type": "code", + "source": "sns.distplot(yourkernels['TotalVotes']);", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a816cadcae66caff60006a30a7d10a67d8e0e131" + }, + "cell_type": "markdown", + "source": "
\n## 6- Plotly\nHow to use **Plotly** offline inside IPython notebooks.\n
\n## 6-1 New to Plotly?\nPlotly, also known by its URL, Plot.ly, is a technical computing company headquartered in Montreal, Quebec, that develops online data analytics and visualization tools. Plotly provides online graphing, analytics, and statistics tools for individuals and collaboration, as well as scientific graphing libraries for Python, R, MATLAB, Perl, Julia, Arduino, and REST.\n\n[Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "46be2bac2295d5c7cfdb1744995ed8365e9ad296", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# example for plotly\nimport plotly.offline as py\nimport plotly.graph_objs as go\npy.init_notebook_mode(connected=True)\nfrom plotly import tools\nfrom sklearn import datasets\nimport plotly.figure_factory as ff\niris = datasets.load_iris()\nX = iris.data[:, :2] # we only take the first two features.\nY = iris.target\n\nx_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5\ny_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5\ntrace = go.Scatter(x=X[:, 0],\n y=X[:, 1],\n mode='markers',\n marker=dict(color=np.random.randn(150),\n size=10,\n colorscale='Viridis',\n showscale=False))\n\nlayout = go.Layout(title='Training Points',\n xaxis=dict(title='Sepal length',\n showgrid=False),\n yaxis=dict(title='Sepal width',\n showgrid=False),\n )\n \nfig = go.Figure(data=[trace], layout=layout)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "23c05a67148addecc3cb78e2e6d35b1579f2db46", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "py.iplot(fig)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0ab8771687f84d08ad5e12d6844b1a73b6a8d0b7" + }, + "cell_type": "markdown", + "source": "
\n## 6-2 Plotly Offline from Command Line\nYou can plot your graphs from a python script from command line. On executing the script, it will open a web browser with your Plotly Graph drawn.\n\n[Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "dfb6baaae600970116bbbb2ee995c2846351d543", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot\nimport plotly.graph_objs as go\n\nplot([go.Scatter(x=[1, 2, 3], y=[3, 1, 6])])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "426fc75501c5a6f1f0884863c8c5fe44bf50d685" + }, + "cell_type": "markdown", + "source": "
\n# 7- Bokeh\n**Bokeh** is a large library that exposes many capabilities, so this section is only a quick tour of some common Bokeh use cases and workflows. For more detailed information please consult the full User Guide.\n\nLet’s begin with some examples. Plotting data in basic Python lists as a line plot including zoom, pan, save, and other tools is simple and straightforward:\n\n[Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "5dcafdd9f0c16861b0e3b1f715c01b8bbcaf5bac" + }, + "cell_type": "code", + "source": "from ipywidgets import interact\nimport numpy as np\n\nfrom bokeh.io import push_notebook, show, output_notebook\nfrom bokeh.plotting import figure\noutput_notebook()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "c7e9966064c92b14f3417fa3fe55d94e79cd4d3b" + }, + "cell_type": "code", + "source": "\nx = np.linspace(0, 2*np.pi, 2000)\ny = np.sin(x)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "b3767b15a19fe9eb728936c52486e0ff4abd7a39" + }, + "cell_type": "code", + "source": "from bokeh.plotting import figure, output_file, show\n\n# prepare some data\nx = [1, 2, 3, 4, 5]\ny = [6, 7, 2, 4, 5]\n\n\n\n# create a new plot with a title and axis labels\np = figure(title=\"simple line example\", x_axis_label='x', y_axis_label='y')\n\n# add a line renderer with legend and line thickness\np.line(x, y, legend=\"Temp.\", line_width=2)\n\n# show the results\nshow(p)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ca5147c5cecf4f39f7e869d2198923a72b40ecf7" + }, + "cell_type": "markdown", + "source": "When you execute this script, you will see that a new output file \"lines.html\" is created, and that a browser automatically opens a new tab to display it. (For presentation purposes we have included the plot output directly inline in this document.)\n\nThe basic steps to creating plots with the bokeh.plotting interface are:\n\nPrepare some data\nIn this case plain python lists, but could also be NumPy arrays or Pandas series.\nTell Bokeh where to generate output\nIn this case using output_file(), with the filename \"lines.html\". Another option is output_notebook() for use in Jupyter notebooks.\nCall figure()\nThis creates a plot with typical default options and easy customization of title, tools, and axes labels.\nAdd renderers\nIn this case, we use line() for our data, specifying visual customizations like colors, legends and widths.\nAsk Bokeh to show() or save() the results.\nThese functions save the plot to an HTML file and optionally display it in a browser.\nSteps three and four can be repeated to create more than one plot, as shown in some of the examples below.\n\nThe bokeh.plotting interface is also quite handy if we need to customize the output a bit more by adding more data series, glyphs, logarithmic axis, and so on. It’s also possible to easily combine multiple glyphs together on one plot as shown below:\n\n[Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "0fff97de936bffadd7ef786b650a5bfadeeb6ae2" + }, + "cell_type": "code", + "source": "from bokeh.plotting import figure, output_file, show\n\n# prepare some data\nx = [0.1, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0]\ny0 = [i**2 for i in x]\ny1 = [10**i for i in x]\ny2 = [10**(i**2) for i in x]\n\n\n\n# create a new plot\np = figure(\n tools=\"pan,box_zoom,reset,save\",\n y_axis_type=\"log\", y_range=[0.001, 10**11], title=\"log axis example\",\n x_axis_label='sections', y_axis_label='particles'\n)\n\n# add some renderers\np.line(x, x, legend=\"y=x\")\np.circle(x, x, legend=\"y=x\", fill_color=\"white\", size=8)\np.line(x, y0, legend=\"y=x^2\", line_width=3)\np.line(x, y1, legend=\"y=10^x\", line_color=\"red\")\np.circle(x, y1, legend=\"y=10^x\", fill_color=\"red\", line_color=\"red\", size=6)\np.line(x, y2, legend=\"y=10^x^2\", line_color=\"orange\", line_dash=\"4 4\")\n\n# show the results\nshow(p)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "294e98b19544e50ff92470e43e2e70463d706959" + }, + "cell_type": "markdown", + "source": "
\n# 8- NetworkX\nNetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks." + }, + { + "metadata": { + "trusted": true, + "_uuid": "d8d4470a1aacfa66e13311dfa33bceac37d1a44d", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "import sys\nimport matplotlib.pyplot as plt\nimport networkx as nx\nG = nx.grid_2d_graph(5, 5) # 5x5 grid\n\n# print the adjacency list\nfor line in nx.generate_adjlist(G):\n print(line)\n# write edgelist to grid.edgelist\nnx.write_edgelist(G, path=\"grid.edgelist\", delimiter=\":\")\n# read edgelist from grid.edgelist\nH = nx.read_edgelist(path=\"grid.edgelist\", delimiter=\":\")\nnx.draw(H)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "b0ea1ffe3a0eb7b04b976454c358c8e60df2ed5a" + }, + "cell_type": "code", + "source": "from ipywidgets import interact\n%matplotlib inline\nimport matplotlib.pyplot as plt\nimport networkx as nx\n# wrap a few graph generation functions so they have the same signature\ndef random_lobster(n, m, k, p):\n return nx.random_lobster(n, p, p / m)\n\ndef powerlaw_cluster(n, m, k, p):\n return nx.powerlaw_cluster_graph(n, m, p)\n\ndef erdos_renyi(n, m, k, p):\n return nx.erdos_renyi_graph(n, p)\n\ndef newman_watts_strogatz(n, m, k, p):\n return nx.newman_watts_strogatz_graph(n, k, p)\n\ndef plot_random_graph(n, m, k, p, generator):\n g = generator(n, m, k, p)\n nx.draw(g)\n plt.show()\n \ninteract(plot_random_graph, n=(2,30), m=(1,10), k=(1,10), p=(0.0, 1.0, 0.001),\n generator={\n 'lobster': random_lobster,\n 'power law': powerlaw_cluster,\n 'Newman-Watts-Strogatz': newman_watts_strogatz,\n u'Erdős-Rényi': erdos_renyi,\n });", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fe929625d7390ee89cc2636bf9c89f6e1eecaa70" + }, + "cell_type": "markdown", + "source": "
\n # 9- Read more\n \n you can start to learn and review your knowledge about ML with a perfect dataset and try to learn and memorize the workflow for your journey in Data science world with read more sources, here I want to give some courses, e-books and cheatsheet:\n
\n ## 9-1 Courses\n \nThere are a lot of online courses that can help you develop your knowledge, here I have just listed some of them:\n\n1. [Machine Learning Certification by Stanford University (Coursera)](https://www.coursera.org/learn/machine-learning/)\n\n2. [Machine Learning A-Z™: Hands-On Python & R In Data Science (Udemy)](https://www.udemy.com/machinelearning/)\n\n3. [Deep Learning Certification by Andrew Ng from deeplearning.ai (Coursera)](https://www.coursera.org/specializations/deep-learning)\n\n4. [Python for Data Science and Machine Learning Bootcamp (Udemy)](Python for Data Science and Machine Learning Bootcamp (Udemy))\n\n5. [Mathematics for Machine Learning by Imperial College London](https://www.coursera.org/specializations/mathematics-machine-learning)\n\n6. [Deep Learning A-Z™: Hands-On Artificial Neural Networks](https://www.udemy.com/deeplearning/)\n\n7. [Complete Guide to TensorFlow for Deep Learning Tutorial with Python](https://www.udemy.com/complete-guide-to-tensorflow-for-deep-learning-with-python/)\n\n8. [Data Science and Machine Learning Tutorial with Python – Hands On](https://www.udemy.com/data-science-and-machine-learning-with-python-hands-on/)\n\n9. [Machine Learning Certification by University of Washington](https://www.coursera.org/specializations/machine-learning)\n\n10. [Data Science and Machine Learning Bootcamp with R](https://www.udemy.com/data-science-and-machine-learning-bootcamp-with-r/)\n11. [Creative Applications of Deep Learning with TensorFlow](https://www.class-central.com/course/kadenze-creative-applications-of-deep-learning-with-tensorflow-6679)\n12. [Neural Networks for Machine Learning](https://www.class-central.com/mooc/398/coursera-neural-networks-for-machine-learning)\n13. [Practical Deep Learning For Coders, Part 1](https://www.class-central.com/mooc/7887/practical-deep-learning-for-coders-part-1)\n14. [Machine Learning](https://www.cs.ox.ac.uk/teaching/courses/2014-2015/ml/index.html)\n
\n## 9-2 Ebooks\n\nSo you love reading , here is **10 free machine learning books**\n1. [Probability and Statistics for Programmers](http://www.greenteapress.com/thinkstats/)\n2. [Bayesian Reasoning and Machine Learning](http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/091117.pdf)\n2. [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/)\n2. [Understanding Machine Learning](http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/index.html)\n2. [A Programmer’s Guide to Data Mining](http://guidetodatamining.com/)\n2. [Mining of Massive Datasets](http://infolab.stanford.edu/~ullman/mmds/book.pdf)\n2. [A Brief Introduction to Neural Networks](http://www.dkriesel.com/_media/science/neuronalenetze-en-zeta2-2col-dkrieselcom.pdf)\n2. [Deep Learning](http://www.deeplearningbook.org/)\n2. [Natural Language Processing with Python](https://www.researchgate.net/publication/220691633_Natural_Language_Processing_with_Python)\n2. [Machine Learning Yearning](http://www.mlyearning.org/)\n
\n## 9-3 Cheat Sheets\n\nData Science is an ever-growing field, there are numerous tools & techniques to remember. It is not possible for anyone to remember all the functions, operations and formulas of each concept. That’s why we have cheat sheets. But there are a plethora of cheat sheets available out there, choosing the right cheat sheet is a tough task. So, I decided to write this article.\n\nHere I have selected the cheat sheets on the following criteria: comprehensiveness, clarity, and content [26]:\n1. [Quick Guide to learn Python for Data Science ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Science-in-Python.pdf)\n1. [Python for Data Science Cheat sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/beginners_python_cheat_sheet.pdf)\n1. [Python For Data Science Cheat Sheet NumPy](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Numpy_Python_Cheat_Sheet.pdf)\n1. [Exploratory Data Analysis in Python]()\n1. [Data Exploration using Pandas in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Exploration-in-Python.pdf)\n1. [Data Visualisation in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/data-visualisation-infographics1.jpg)\n1. [Python For Data Science Cheat Sheet Bokeh](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Python_Bokeh_Cheat_Sheet.pdf)\n1. [Cheat Sheet: Scikit Learn ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Scikit-Learn-Infographic.pdf)\n1. [MLalgorithms CheatSheet](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/MLalgorithms-.pdf)\n1. [Probability Basics Cheat Sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/probability_cheatsheet.pdf)\n\n[Go to top](#top)" + }, + { + "metadata": { + "_uuid": "6caa0f9d20a055caebf9a2269c2081b052858806" + }, + "cell_type": "markdown", + "source": "
\n# 10- conclusion\nSome of the other popular data visualisation libraries in Python are Bokeh, Geoplotlib, Gleam, Missingno, Dash, Leather, Altair, among others. Python gives a lot of options to visualise data, it is important to identify the method best suited to your needs—from basic plotting to sophisticated and complicated statistical charts, and others. It many also depend on functionalities such as generating vector and interactive files to flexibility offered by these tools.\n\nThis kernel it is not completed yet! Following up!\n\n[Go to top](#top)" + }, + { + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "cell_type": "markdown", + "source": "You can follow me on:\n\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n--------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated** " + }, + { + "metadata": { + "_uuid": "5590d9817e38722f88c9924517a591d43dfaf4ba" + }, + "cell_type": "markdown", + "source": "
\n# 11- References\n1. [Coursera](https://www.coursera.org/specializations/data-science-python)\n1. [GitHub](https://github.com/mjbahmani)\n1. [analyticsindiamag](https://www.analyticsindiamag.com/top-5-best-data-visualisation-libraries-in-python/)\n\n\n[Go to top](#top)" + }, + { + "metadata": { + "_uuid": "72e1e18935b372b6aac2fae910e5bd12de1d420f" + }, + "cell_type": "markdown", + "source": "Go to first step: [**Course Home Page**](https://www.kaggle.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\nGo to next step : [**Titanic**](https://www.kaggle.com/mjbahmani/a-comprehensive-ml-workflow-with-python)" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/Data Visualization in Python for Machine Learning Experts/Welcome to EDA Workflow.ipynb b/Data Visualization in Python for Machine Learning Experts/Welcome to EDA Workflow.ipynb new file mode 100644 index 0000000..8422714 --- /dev/null +++ b/Data Visualization in Python for Machine Learning Experts/Welcome to EDA Workflow.ipynb @@ -0,0 +1,2305 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "cell_type": "markdown", + "source": "##
Welcome to EDA Workflow
\n\n
If you've followed my other kernels so far. You have noticed that for those who are beginners, I've introduced a course \" 10 Steps to Become a Data Scientist \". In this kernel we will start another step with each other. There are plenty of Kernels that can help you learn EDA from scratch but here in Kaggle, I want to Analysis Meta Kaggle and Quora Insincere Question, popular Datasets as a comprehensive pipeline for EDA. \nAfter reading, you can use it to Analysis other real dataset and use it as a template to deal with EDA problems.
\n\n
last update: 11/26/2018
\n\n\n\n>###### You may be interested have a look at it: [**10-Steps-to-Become-a-Data-Scientist**](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n---------------------------------------------------------------------\nYou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n-------------------------------------------------------------------------------------------------------------\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "cell_type": "markdown", + "source": "
\n## Notebook Content\n1. [Introduction](#1)\n1. [Loading Packages](#2)\n 1. [version](#3)\n 1. [Setup](#4)\n1. [Exploratory data analysis](#5)\n1. [Data Collection](#6)\n 1. [Features](#7)\n 1. [Explorer Dataset](#8)\n1. [Data Cleaning](#9)\n 1. [Find yourself in Users datset](#10)\n 1. [Find your kernels in Kernels dataset](#11)\n1. [Data Preprocessing](#12)\n1. [Data Visaulization](#13)\n 1. [Scatter plot](#14)\n 1. [Box plot](#15)\n 1. [Histogram](#16)\n 1. [violinplots](#17)\n 1. [kdeplot](#18)\n 1. [jointplot](#19)\n 1. [andrews_curves](#20)\n 1. [Heatmap](#21)\n 1. [WordCloud](#22)\n 1. [CountPlot](#23)\n 1. [Pie Plot](#24)\n 1. [CountPlot](#25)\n \n1. [Conclusion](#23) \n1. [References](#24) \n " + }, + { + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "cell_type": "markdown", + "source": "
\n## 1- Introduction\nThis is a **comprehensive EDA techniques with python** , that I have spent a lot of time to complete it.\n\nIt is clear that everyone in this community is familiar with Meta Kaggle and kaggle survey 2018 datasets but if you need to review your information about the datasets please visit [meta-kaggle](https://www.kaggle.com/kaggle/meta-kaggle) and [Quora](https://www.kaggle.com/c/quora-insincere-questions-classification).\n\n\n\nI am open to getting your feedback for improving this **kernel** together.\n" + }, + { + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "cell_type": "markdown", + "source": "
\n## 2- Loading Packages\nIn this kernel we are using the following packages:" + }, + { + "metadata": { + "_uuid": "61f49281fdd8592b44c0867225f57e6fce36342c" + }, + "cell_type": "markdown", + "source": " \n Now we import all of them " + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_kg_hide-input": true, + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": true + }, + "cell_type": "code", + "source": "from matplotlib.backends.backend_agg import FigureCanvasAgg\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.metrics import classification_report\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.metrics import accuracy_score\nfrom wordcloud import WordCloud as wc\nfrom matplotlib.figure import Figure\nfrom nltk.corpus import stopwords\nimport matplotlib.pylab as pylab\nimport matplotlib.pyplot as plt\nfrom pandas import get_dummies\nimport matplotlib as mpl\nimport seaborn as sns\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport string\nimport scipy\nimport numpy\nimport nltk\nimport json\nimport sys\nimport csv\nimport os", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cb6fbd6b1eee108ca34577de77592af65b781cc0" + }, + "cell_type": "markdown", + "source": "
\n## 2-1 version" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7d081df6329f26958f545c32b4d96172b3be96d9", + "trusted": true + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))\n#print('wordcloud: {}'.format(wordcloud.version))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4634f86ca193d38c1121af4d30f31acf25d9d334" + }, + "cell_type": "markdown", + "source": "
\n## 2-2 Setup\n\nA few tiny adjustments for better **code readability**" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "13ccd69be8e3a0502a3e172d1416686ce8cdba56", + "trusted": true + }, + "cell_type": "code", + "source": "sns.set(style='white', context='notebook', palette='deep')\npylab.rcParams['figure.figsize'] = 12,8\nwarnings.filterwarnings('ignore')\nmpl.style.use('ggplot')\nsns.set_style('white')\n%matplotlib inline", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" + }, + "cell_type": "markdown", + "source": "
\n## 3- Exploratory Data Analysis(EDA)\n In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n \n1. Which variables suggest interesting relationships?\n1. Which observations are unusual?\n\nBy the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations:\n\n1. Data Collection\n1. Visualization\n1. Data Cleaning\n1. Data Preprocessing\n\n\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "cell_type": "markdown", + "source": "
\n## 3-1 Data Collection\n**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n\n\nI start Collection Data by the Users and Kernels datasets into **Pandas DataFrames**" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "trusted": true + }, + "cell_type": "code", + "source": "# import kernels and users to play with it\n#command--> 1\nusers = pd.read_csv(\"../input/meta-kaggle/Users.csv\")\nkernels = pd.read_csv(\"../input/meta-kaggle/Kernels.csv\")\nmessages = pd.read_csv(\"../input/meta-kaggle/ForumMessages.csv\")\nfreeFormResponses=pd.read_csv(\"../input/kaggle-survey-2018/freeFormResponses.csv\")\nmultipleChoiceResponses=pd.read_csv(\"../input/kaggle-survey-2018/multipleChoiceResponses.csv\")\ntrain = pd.read_csv(\"../input/quora-insincere-questions-classification/train.csv\")\ntest = pd.read_csv(\"../input/quora-insincere-questions-classification/test.csv\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b5f73efe9f8f0775099546e38bf74080a2af152a" + }, + "cell_type": "markdown", + "source": "6 Data Collection Rules for Your Future Perfect Machine Learning Dataset:\n1. Ensure the data has no gaps\n1. Keep your raw data raw\n1. Foresee and document all the possible missing values and outliers in your data\n1. Changelogs and data structures versioning \n1. Ensure the data points can’t get lost\n1. Hire a data officer. \n\n[reference](https://towardsdatascience.com/how-to-collect-your-deep-learning-dataset-2e0eefc0ba24)" + }, + { + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "cell_type": "markdown", + "source": "\n**<< Note 1 >>**\n\n* Each row is an observation (also known as : sample, example, instance, record)\n* Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "33344731ac8933d46461ca893ea8936f6ee1c3e4", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 2\nusers.sample(1) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "6a15630f403601203c74bba16f343ae61d9937fb", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.sample(1) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "dcb47a70a03a7e73bab46f31dd3096a09be7b560", + "trusted": true + }, + "cell_type": "code", + "source": "train.sample(1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "cell_type": "markdown", + "source": "### Please **replace** your username and find your userid\n\nWe suppose that userid==authoruserid and use userid for both kernels and users dataset" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true + }, + "cell_type": "code", + "source": "username=\"mjbahmani\"\nuserid=int(users[users['UserName']==\"mjbahmani\"].Id)\nuserid", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7cc8cac399d9d348842ea0b589581f5f909c17dd" + }, + "cell_type": "markdown", + "source": "But if we had , we can just use **dropna()**(be careful sometimes you should not do this!)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7972fa0a7d1950d8a59f9820c6cacc00eb8f1015", + "trusted": true + }, + "cell_type": "code", + "source": "# remove rows that have NA's\nprint('Before Droping',train.shape)\n#command--> 3\ntrain = train.dropna()\nprint('After Droping',train.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b1a61ef77cbe97153445293fc8d01f409d87272f" + }, + "cell_type": "markdown", + "source": "
\n## 3-1-1 Features\nFeatures can be from following types:\n1. numeric\n1. categorical\n1. ordinal\n1. datetime\n1. coordinates\n\nFind the type of features in **Meta Kaggle**?!\n
\nFor getting some information about the dataset you can use **info()** command\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "de95bf94a02721364ad6cbd6d440d664b2961e39", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 4\nprint(users.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "8f47ccc4538b823bf0a5ac15eef7787395620ed5", + "trusted": true + }, + "cell_type": "code", + "source": "print(freeFormResponses.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7b650ee1c8aaa1d7c7e1c15dd102169e0fd0db60", + "trusted": true + }, + "cell_type": "code", + "source": "print(train.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e08d410c0dac5cf34eea33940ab586eb7e9ded5a" + }, + "cell_type": "markdown", + "source": "
\n## 3-1-2 Explorer Dataset\n1. Dimensions of the dataset.\n\n1. Peek at the data itself.\n\n1. Statistical summary of all attributes.\n\n1. Breakdown of the data by the class variable.\n\nDon’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true + }, + "cell_type": "code", + "source": "# shape\n#command--> 5\nprint(users.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true + }, + "cell_type": "code", + "source": "# shape\nprint(kernels.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5e6358361a6a8fcc60087baa6cebb18c18296299", + "trusted": true + }, + "cell_type": "code", + "source": "print(freeFormResponses.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "8b724ebb9a0a1176e52543938bc67591b54d3e8d", + "trusted": true + }, + "cell_type": "code", + "source": "print(train.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true + }, + "cell_type": "code", + "source": "#columns*rows\n#command--> 6\nusers.size", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true + }, + "cell_type": "code", + "source": "#columns*rows\nkernels.size", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "cell_type": "markdown", + "source": "\nWe can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property." + }, + { + "metadata": { + "_uuid": "3458838205be4c7fbff88e95ef69934e13e2199b" + }, + "cell_type": "markdown", + "source": "You see number of unique item for Species with command below:" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "4b90d165a007106ae99809ad28edd75bd8153dd8", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 7\nkernels['Medal'].unique()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "8accfbddf2228274ad412c3ad3be72b4107d6f6c", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 8\nkernels[\"Medal\"].value_counts()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "eb1a194f9b7598401c44d2b762ecd75f1e2c3955", + "trusted": true + }, + "cell_type": "code", + "source": "train[\"question_text\"].head(5)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "cell_type": "markdown", + "source": "To check the first 5 rows of the data set, we can use head(5)." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.head(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "cell_type": "markdown", + "source": "To check out last 5 row of the data set, we use tail() function" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 9\nusers.tail() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "cell_type": "markdown", + "source": "To pop up 5 random rows from the data set, we can use **sample(5)** function" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.sample(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "cell_type": "markdown", + "source": "To give a statistical summary about the dataset, we can use **describe()" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.describe() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2ecc1896c6cd6c342cddb2e1ef0e774e66c8dc5d" + }, + "cell_type": "markdown", + "source": "
\n## 3-2 Data Cleaning\nWhen dealing with real-world data, dirty data is the norm rather than the exception. We continuously need to predict correct values, impute missing ones, and find links between various data artefacts such as schemas and records. We need to stop treating data cleaning as a piecemeal exercise (resolving different types of errors in isolation), and instead leverage all signals and resources (such as constraints, available statistics, and dictionaries) to accurately predict corrective actions.\n\n\n\nThe primary goal of data cleaning is to detect and remove errors and **anomalies** to increase the value of data in analytics and decision making. While it has been the focus of many researchers for several years, individual problems have been addressed separately. These include missing value imputation, outliers detection, transformations, integrity constraints violations detection and repair, consistent query answering, deduplication, and many other related problems such as profiling and constraints mining.[4]\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "031d16ca235837e889734635ecff193be64b27a4" + }, + "cell_type": "markdown", + "source": "How many NA elements in every column!!\nGood news, it is Zero!\nto check out how many null info are on the dataset, we can use **isnull().sum()**." + }, + { + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5", + "trusted": true + }, + "cell_type": "code", + "source": "#How many NA elements in every column\n#command--> 10\nusers.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "446e6162e16325213047ff31454813455668b574", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 11\nkernels.groupby('Medal').count()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + }, + "cell_type": "markdown", + "source": "To print dataset **columns**, we can use columns atribute." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "62b52ea61cfa597007bd31652c7f03778233227c", + "trusted": true + }, + "cell_type": "code", + "source": "users.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "40f98b7a01af83ef9be8cd81c72bf281e07493ae", + "trusted": true + }, + "cell_type": "code", + "source": "train.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "22bc5d81c18275ee1fb082c0adbb7a65bdbec4cc" + }, + "cell_type": "markdown", + "source": "**<< Note 2 >>**\nIn pandas's data frame you can perform some query such as \"where\"." + }, + { + "metadata": { + "_uuid": "ff69b963b60e8ff77acae02850885c7e90358129" + }, + "cell_type": "markdown", + "source": "
\n## 3-2-1 Find yourself in Users datset" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "1e36488451f22350bc2c655bfdd2b50803540b87", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 12\nusers[users['Id']==userid]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "33fc33a18489b438a884819d99dc00a02b113be8" + }, + "cell_type": "markdown", + "source": "
\n## 3-2-2 Find your kernels in Kernels dataset" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "aa877c667451c76a052808964bbf8eb5991b39e0", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 13\nyourkernels=kernels[kernels['AuthorUserId']==userid]\nyourkernels", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5fb860dc8bb6bc8feba55df8936f05a3f139115f" + }, + "cell_type": "markdown", + "source": "
\n## 3-4 Data Preprocessing\n**Data preprocessing** refers to the transformations applied to our data before feeding it to the algorithm.\n \nData Preprocessing is a technique that is used to convert the raw data into a clean data set. In other words, whenever the data is gathered from different sources it is collected in raw format which is not feasible for the analysis.\nthere are plenty of steps for data preprocessing and we just listed some of them in general(Not just for Quora) :\n* Removing Target column (id)\n* Sampling (without replacement)\n* Making part of iris unbalanced and balancing (with undersampling and SMOTE)\n* Introducing missing values and treating them (replacing by average values)\n* Noise filtering\n* Data discretization\n* Normalization and standardization\n* PCA analysis\n* Feature selection (filter, embedded, wrapper)\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "0d7bdcfe284e49847a3488a5c8ecbeda71097583", + "trusted": true + }, + "cell_type": "code", + "source": "text = train['question_text']\ni=0\n#command--> 14\nfor row in text[:10]:\n i=i+1\n print(str(i),row)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bc203c66770b52d30c4cbf961243070198c9252a" + }, + "cell_type": "markdown", + "source": "### 3-4-1 Remove Numbers" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "812834e990b10afb01e949e09b86af5f0a8e9357", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 15\ndef removeNumbers(text):\n \"\"\" Removes integers \"\"\"\n text = ''.join([i for i in text if not i.isdigit()]) \n return text\n\ntext_removeNumbers = pd.DataFrame(columns=['TextBefore', 'TextAfter', 'Changed'])\ntext_removeNumbers['TextBefore'] = text.copy()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "54f76a2bb5a2b75227842751936a178553328b34", + "trusted": true + }, + "cell_type": "code", + "source": "for index, row in text_removeNumbers.iterrows():\n row['TextAfter'] = removeNumbers(row['TextBefore'])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "d2f241a5ffe44f46991cc382cdab0d0e81d88850", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 16\ntext_removeNumbers['Changed'] = np.where(text_removeNumbers['TextBefore']==text_removeNumbers['TextAfter'], 'no', 'yes')\nprint(\"{} of {} ({:.4f}%) questions have been changed.\".format(len(text_removeNumbers[text_removeNumbers['Changed']=='yes']), len(text_removeNumbers), 100*len(text_removeNumbers[text_removeNumbers['Changed']=='yes'])/len(text_removeNumbers)))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5f618edd119f64bdcaca196a1699f19fb9bdbe1d", + "trusted": true + }, + "cell_type": "code", + "source": "for index, row in text_removeNumbers[text_removeNumbers['Changed']=='yes'].head().iterrows():\n print(row['TextBefore'],'->',row['TextAfter'])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4c478414d064c2333112f07448343477c32c1509" + }, + "cell_type": "markdown", + "source": "The metafeatures that we'll create based on SRK's EDAs, [sudalairajkumar](http://http://www.kaggle.com/sudalairajkumar/simple-feature-engg-notebook-spooky-author) and [tunguz](https://www.kaggle.com/tunguz/just-some-simple-eda) are:\n1. Number of words in the text\n1. Number of unique words in the text\n1. Number of characters in the text\n1. Number of stopwords\n1. Number of punctuations\n1. Number of upper case words\n1. Number of title case words\n1. Average length of the words" + }, + { + "metadata": { + "_uuid": "0be2fbf75d975fc8361fdb70451c64e3fcf16320" + }, + "cell_type": "markdown", + "source": "Number of words in the text " + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "bce5854c5e8fc0cef7db77e8a9abeaad64c30e84", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 17\ntrain[\"num_words\"] = train[\"question_text\"].apply(lambda x: len(str(x).split()))\ntest[\"num_words\"] = test[\"question_text\"].apply(lambda x: len(str(x).split()))\nprint('maximum of num_words in train',train[\"num_words\"].max())\nprint('min of num_words in train',train[\"num_words\"].min())\nprint(\"maximum of num_words in test\",test[\"num_words\"].max())\nprint('min of num_words in train',test[\"num_words\"].min())\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "25bf1789c9a338cce7f0809c959609291af26e1b" + }, + "cell_type": "markdown", + "source": "Number of unique words in the text" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "f07efdfcda98708220a0f18a7a3993372cfed266", + "trusted": true + }, + "cell_type": "code", + "source": "train[\"num_unique_words\"] = train[\"question_text\"].apply(lambda x: len(set(str(x).split())))\ntest[\"num_unique_words\"] = test[\"question_text\"].apply(lambda x: len(set(str(x).split())))\nprint('maximum of num_unique_words in train',train[\"num_unique_words\"].max())\nprint('mean of num_unique_words in train',train[\"num_unique_words\"].mean())\nprint(\"maximum of num_unique_words in test\",test[\"num_unique_words\"].max())\nprint('mean of num_unique_words in train',test[\"num_unique_words\"].mean())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7750a576d4d556e2a25c264ac186daceb667f6f9" + }, + "cell_type": "markdown", + "source": "Number of characters in the text " + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5677a7d44d437d0ee94d0849533bca7f1075b10c", + "trusted": true + }, + "cell_type": "code", + "source": "\ntrain[\"num_chars\"] = train[\"question_text\"].apply(lambda x: len(str(x)))\ntest[\"num_chars\"] = test[\"question_text\"].apply(lambda x: len(str(x)))\nprint('maximum of num_chars in train',train[\"num_chars\"].max())\nprint(\"maximum of num_chars in test\",test[\"num_chars\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "511b92ce149dcc317e02ba017344ac2625956ccf" + }, + "cell_type": "markdown", + "source": "Number of stopwords in the text" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "6b4963b95b3a4781e4cab004fa231109fa08a943", + "trusted": true + }, + "cell_type": "code", + "source": "#from nltk.corpus import stopwords\neng_stopwords = set(stopwords.words(\"english\"))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "def001bb47659a235c5599ccc3d706639e0b1b0a", + "trusted": true + }, + "cell_type": "code", + "source": "train[\"num_stopwords\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).lower().split() if w in eng_stopwords]))\ntest[\"num_stopwords\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).lower().split() if w in eng_stopwords]))\nprint('maximum of num_stopwords in train',train[\"num_stopwords\"].max())\nprint(\"maximum of num_stopwords in test\",test[\"num_stopwords\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "938cde022787d1b03000382a903b960597640d06" + }, + "cell_type": "markdown", + "source": "Number of punctuations in the text" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "e72fc2184245fadffb767d0f2fe8e68403c12274", + "trusted": true + }, + "cell_type": "code", + "source": "\ntrain[\"num_punctuations\"] =train['question_text'].apply(lambda x: len([c for c in str(x) if c in string.punctuation]) )\ntest[\"num_punctuations\"] =test['question_text'].apply(lambda x: len([c for c in str(x) if c in string.punctuation]) )\nprint('maximum of num_punctuations in train',train[\"num_punctuations\"].max())\nprint(\"maximum of num_punctuations in test\",test[\"num_punctuations\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8ae7a13782b109a892f9e1504fd3ac790fa518a8" + }, + "cell_type": "markdown", + "source": "Number of title case words in the text" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "2874be8704da173bab1ac29e5982727b2067fbd9", + "trusted": true + }, + "cell_type": "code", + "source": "\ntrain[\"num_words_upper\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.isupper()]))\ntest[\"num_words_upper\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.isupper()]))\nprint('maximum of num_words_upper in train',train[\"num_words_upper\"].max())\nprint(\"maximum of num_words_upper in test\",test[\"num_words_upper\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8df5b6b86abc982b15afb973bd390eddb027e0b9" + }, + "cell_type": "markdown", + "source": "Number of title case words in the text" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "fd2e10d8b5fd5cf99fb95afe9d2964f23ceb2e50", + "trusted": true + }, + "cell_type": "code", + "source": "\ntrain[\"num_words_title\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.istitle()]))\ntest[\"num_words_title\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.istitle()]))\nprint('maximum of num_words_title in train',train[\"num_words_title\"].max())\nprint(\"maximum of num_words_title in test\",test[\"num_words_title\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f4fa05b90e1abb77c6582275e1f9ebf2844628c4" + }, + "cell_type": "markdown", + "source": " Average length of the words in the text " + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "442b391fda00a1bc99b48b47d41cbb4c3e2ef6d4", + "trusted": true + }, + "cell_type": "code", + "source": "\ntrain[\"mean_word_len\"] = train[\"question_text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))\ntest[\"mean_word_len\"] = test[\"question_text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))\nprint('mean_word_len in train',train[\"mean_word_len\"].max())\nprint(\"mean_word_len in test\",test[\"mean_word_len\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "aa882e5bcdc7d5f440489eff75d1d225269655a4" + }, + "cell_type": "markdown", + "source": "**<< Note >>**\n>**Preprocessing and generation pipelines depend on a model type**" + }, + { + "metadata": { + "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" + }, + "cell_type": "markdown", + "source": "
\n## 3-4 Visualization\n**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns.\n\nWith interactive visualization, you can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data you see and how it’s processed.[SAS]\n\n In this section I show you **11 plots** with **matplotlib** and **seaborn** that is listed in the blew picture:\n \n" + }, + { + "metadata": { + "_uuid": "b0014a7a52e714996bc443981c853095926d20e5" + }, + "cell_type": "markdown", + "source": "
\n## 3-4-1 Scatter plot\n\nScatter plot Purpose To identify the type of relationship (if any) between two quantitative variables\n\n\n" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "8f35fd1761bec3516ad6940f88e916dfb67dfda0", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 18\nyourkernels.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "af099546eed64ebc796403d4139cb4c977c27b03", + "trusted": true + }, + "cell_type": "code", + "source": "# Modify the graph above by assigning each species an individual color.\n#command--> 19\nx=yourkernels[\"TotalVotes\"]\ny=yourkernels[\"TotalViews\"]\nplt.scatter(x, y)\nplt.legend()\nplt.show()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "1b31a7c185ee654c31ff5b062d111bcefa205966", + "trusted": true + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,2,figsize=(18,8))\nyourkernels['Medal'].value_counts().plot.bar(color=['#CD7F32','#FFDF00','#D3D3D3'],ax=ax[0])\nax[0].set_title('Number Of Medal')\nax[0].set_ylabel('Count')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d1c7b62b5f8cba427bca13049256365141655372" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-2 Box\nIn descriptive statistics, a **box plot** or boxplot is a method for graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram.[wikipedia]" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "0655e20f31a582f861d391308a088778cd7eaae9", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 20\nyourkernels[\"TotalVotes\"].plot(kind='box')\nplt.figure()\n#This gives us a much clearer idea of the distribution of the input attributes:\n\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "81b8d70c5d8b2d024337d989ec1e204b612f676d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "yourkernels[\"TotalComments\"].plot(kind='box')\nplt.figure()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "f7f6426fd44bcd77d35a5fdbc8c4fc4f18d991ad", + "trusted": true + }, + "cell_type": "code", + "source": "# To plot the species data using a box plot:\n#command--> 21\nsns.boxplot(x=\"TotalComments\", y=\"TotalVotes\", data=yourkernels )\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7b193e4aa7e6fb337d3f65c334849094addd097a", + "trusted": true + }, + "cell_type": "code", + "source": "# Use Seaborn's striplot to add data points on top of the box plot \n# Insert jitter=True so that the data points remain scattered and not piled into a verticle line.\n# Assign ax to each axis, so that each plot is ontop of the previous axis. \n\nax= sns.boxplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels)\nax= sns.stripplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels, jitter=True, edgecolor=\"gray\")\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "56adbafa89c117118621c72b3b7cb19edc21298e", + "trusted": true + }, + "cell_type": "code", + "source": "# Tweek the plot above to change fill and border color color using ax.artists.\n# Assing ax.artists a variable name, and insert the box number into the corresponding brackets\n#command--> 22\nax= sns.boxplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels)\nax= sns.stripplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels, jitter=True, edgecolor=\"gray\")\n\nboxtwo = ax.artists[2]\nboxtwo.set_facecolor('red')\nboxtwo.set_edgecolor('black')\nboxthree=ax.artists[1]\nboxthree.set_facecolor('yellow')\nboxthree.set_edgecolor('black')\n\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "40c9ab245695d47cb33eda65a0d637de390f9e59", + "trusted": true + }, + "cell_type": "code", + "source": "sns.factorplot('TotalViews','TotalVotes',hue='Medal',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c73a82a05855195ac32dedb3056e84355e273b0f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.factorplot('TotalComments','TotalVotes',hue='Medal',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "743a92c3c2fff1a1f99845518247f7971ad18b7c" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-3 Histogram\nWe can also create a **histogram** of each input variable to get an idea of the distribution.\n\n" + }, + { + "metadata": { + "_uuid": "fcea7d2a5fb011f4ea70e19d7a50f0aba5af731b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train[\"num_words\"] = train[\"question_text\"].apply(lambda x: len(str(x).split()))\ntest[\"num_words\"] = test[\"question_text\"].apply(lambda x: len(str(x).split()))\nprint('maximum of num_words in train',train[\"num_words\"].max())\nprint('min of num_words in train',train[\"num_words\"].min())\nprint(\"maximum of num_words in test\",test[\"num_words\"].max())\nprint('min of num_words in train',test[\"num_words\"].min())\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "66f3be03ed655d3ed76026fd977835106ac47a54", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 23\nf,ax=plt.subplots(1,2,figsize=(20,10))\ntrain[train['target']==0].num_words.plot.hist(ax=ax[0],bins=20,edgecolor='black',color='red')\nax[0].set_title('target= 0')\nx1=list(range(0,85,5))\nax[0].set_xticks(x1)\ntrain[train['target']==1].num_words.plot.hist(ax=ax[1],color='green',bins=20,edgecolor='black')\nax[1].set_title('target= 1')\nx2=list(range(0,85,5))\nax[1].set_xticks(x2)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5da0520ed3e738ee8814b2d91843ed4acec2b6e6", + "trusted": true + }, + "cell_type": "code", + "source": "# histograms\n#command--> 24\nyourkernels.hist(figsize=(15,20))\nplt.figure()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "90b6df3255561e3944ea89c5f1ca8c815f862a7f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train[\"num_words\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b4e3de19781686010c6038f0e3076eb678398169" + }, + "cell_type": "markdown", + "source": "It looks like perhaps two of the input variables have a Gaussian distribution. This is useful to note as we can use algorithms that can exploit this assumption.\n\n" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "9f80a6e971cbf0af72d659b51af552ea1dddc9a8", + "trusted": true + }, + "cell_type": "code", + "source": "yourkernels[\"TotalViews\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1173ef1b6ca75e28f94a891880294d1765b022ea", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "yourkernels[\"TotalComments\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5d8ef0781d88c46a8becf6d7f5b1f4ad2c05db7e", + "trusted": true + }, + "cell_type": "code", + "source": "sns.factorplot('TotalViews','TotalVotes',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "15e2743389cb58055ee5bb9dd9b829fb85850af2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.factorplot('TotalComments','TotalVotes',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e0f696ec021ec99c1058a62e22c8b73082fe6fa7" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-5 violinplots" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "e352d2f8340609adf4bf6718b1d2ecee0fa730b5", + "trusted": true + }, + "cell_type": "code", + "source": "# violinplots on petal-length for each species\n#command--> 24\nsns.violinplot(data=yourkernels,x=\"TotalViews\", y=\"TotalVotes\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "82d42d69a63f9dacf41dad5bfb1b7908cefc2633", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# violinplots on petal-length for each species\nsns.violinplot(data=yourkernels,x=\"TotalComments\", y=\"TotalVotes\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "363b3e9509d5e3ba157c0b5f319d2585c58ee28f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.violinplot(data=yourkernels,x=\"Medal\", y=\"TotalVotes\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c67af4ad8d452f8e9f929e8a3284de675e3fd0d9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.violinplot(data=yourkernels,x=\"Medal\", y=\"TotalComments\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "cell_type": "markdown", + "source": "How many NA elements in every column.\n" + }, + { + "metadata": { + "_uuid": "2544d3c2dd34a360d295019d8cb597c7ef8f66bc" + }, + "cell_type": "markdown", + "source": "
\n### 3-6-7 kdeplot" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "1d07222b89303b386e9e824d52cc73c045667f25", + "trusted": true + }, + "cell_type": "code", + "source": "# seaborn's kdeplot, plots univariate or bivariate density estimates.\n#Size can be changed by tweeking the value used\n#command--> 25\nsns.FacetGrid(yourkernels, hue=\"Medal\", size=5).map(sns.kdeplot, \"TotalComments\").add_legend()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3662003d5cb728d91c71e339cc7d6feba17b495f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.FacetGrid(yourkernels, hue=\"Medal\", size=5).map(sns.kdeplot, \"TotalVotes\").add_legend()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "06e1259b209e753c2f05643706d6157145bb3b98", + "trusted": true + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,3,figsize=(20,8))\nsns.distplot(yourkernels[yourkernels['Medal']==1].TotalVotes,ax=ax[0])\nax[0].set_title('TotalVotes in Medal 1')\nsns.distplot(yourkernels[yourkernels['Medal']==2].TotalVotes,ax=ax[1])\nax[1].set_title('TotalVotes in Medal 2')\nsns.distplot(yourkernels[yourkernels['Medal']==3].TotalVotes,ax=ax[2])\nax[2].set_title('TotalVotes in Medal 3')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "560d8e8f17bacefaf8c3855a9648f26b82fdee9b" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-8 jointplot" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "4adb4da16ea61e0f1a12bc9925dfbbaaa81e0360", + "trusted": true + }, + "cell_type": "code", + "source": "# Use seaborn's jointplot to make a hexagonal bin plot\n#Set desired size and ratio and choose a color.\n#command--> 25\nsns.jointplot(x=\"TotalVotes\", y=\"TotalViews\", data=yourkernels, size=10,ratio=10, kind='hex',color='green')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3768e31e990bfe4c2ff7b45087fbba85e0560d00" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-9 andrews_curves" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "263eaa9d2bfad0f8c68b6e8e874bdc11a6e802ac", + "trusted": true + }, + "cell_type": "code", + "source": "# we will use seaborn jointplot shows bivariate scatterplots and univariate histograms with Kernel density \n# estimation in the same figure\nsns.jointplot(x=\"TotalVotes\", y=\"TotalViews\", data=yourkernels, size=6, kind='kde', color='#800000', space=0)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8e73333289d17dd648b7b2112d7fe3fe7ea444d0" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-10 Heatmap" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "3100955ca9dc61ac7d435e9c064d10d06f26afa7", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 26\nplt.figure(figsize=(10,7)) \nsns.heatmap(yourkernels.corr(),annot=True,cmap='cubehelix_r') #draws heatmap with input as the correlation matrix calculted by(iris.corr())\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6ac924245735f2f63dc95f4a60039cbc4b5f9f0a" + }, + "cell_type": "markdown", + "source": "
\n## 3-4-11 WordCloud\nMany times you might have seen a cloud filled with lots of words in different sizes, which represent the frequency or the importance of each word. This is called Tag Cloud or WordCloud." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "d405a5c758a63d38f92124a790e3083715224f39", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 27\nfrom wordcloud import WordCloud as wc\nfrom nltk.corpus import stopwords\neng_stopwords = set(stopwords.words(\"english\"))\nmessages.head(1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "2d794c89a475349868f82690878ed934ec05fd81", + "trusted": true + }, + "cell_type": "code", + "source": "def generate_wordcloud(text): \n wordcloud = wc(relative_scaling = 1.0,stopwords = eng_stopwords).generate(text)\n fig,ax = plt.subplots(1,1,figsize=(10,10))\n ax.imshow(wordcloud, interpolation='bilinear')\n ax.axis(\"off\")\n ax.margins(x=0, y=0)\n plt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "037cd661617de8b3470ade47ac212a31b12e6e1e", + "trusted": true + }, + "cell_type": "code", + "source": "text=','.join(str(v) for v in train['question_text'])\n#text =\" \".join(messages['Message'])\ngenerate_wordcloud(text)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "83d564bc724f73bfea4b645e3736b46243d0edb0", + "trusted": true + }, + "cell_type": "code", + "source": "text=','.join(str(v) for v in messages['Message'])\n#text =\" \".join(messages['Message'])\ngenerate_wordcloud(text)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3fff0732ca216c092cc41f33d45dc67e54f2c8f0" + }, + "cell_type": "markdown", + "source": "
\n## 3-4-12 CountPlot" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "016fab6c1ce45edb1baf69cf052517dd4e07b002", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 28\nax=sns.countplot(x='target',hue=\"target\", data=train ,linewidth=5,edgecolor=sns.color_palette(\"dark\", 3))\nplt.title('Is data set imbalance?');", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "9231021ad2da6e478f22dc11f4409de66f36049c", + "trusted": true + }, + "cell_type": "code", + "source": "ax = sns.countplot(y=\"target\", hue=\"target\", data=train)\nplt.title('Is data set imbalance?');", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f5b7ad3f5d499ef756bd6666995aebcd33ba9fd5" + }, + "cell_type": "markdown", + "source": "
\n## 3-4-13 Pie Plot" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "1bedf9e97cd52331c759fd05d19da9f441c1866e", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 29\nax=train['target'].value_counts().plot.pie(explode=[0,0.1],autopct='%1.1f%%' ,shadow=True)\nax.set_title('target')\nax.set_ylabel('')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4f02c235284ef14f0007400125119ba36b81e325" + }, + "cell_type": "markdown", + "source": "
\n## 4- Matplotlib\n\nThis Matplotlib tutorial takes you through the basics Python data visualization: the anatomy of a plot, pyplot and pylab, and much more\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "857d9a02e72211b4fde6f06debd3a57c8a0b1849" + }, + "cell_type": "markdown", + "source": "You can show matplotlib figures directly in the notebook by using the `%matplotlib notebook` and `%matplotlib inline` magic commands. \n\n`%matplotlib notebook` provides an interactive environment." + }, + { + "metadata": { + "_uuid": "0d66eabe3f4f7288f12f8f0160b2f8e914d16ba9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# because the default is the line style '-', \n# nothing will be shown if we only pass in one point (3,2)\nplt.plot(3, 2)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "dad68ac5985444a4458259c448d1b6ffd9bf1710", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# we can pass in '.' to plt.plot to indicate that we want\n# the point (3,2) to be indicated with a marker '.'\nplt.plot(3, 2, '.')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "18c4b411903becff1b3612730bc0287cb6ac14ad" + }, + "cell_type": "markdown", + "source": "Let's see how to make a plot without using the scripting layer." + }, + { + "metadata": { + "_uuid": "8f1bd139edb5cf1cc73f9f956d2d34844a726566", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# First let's set the backend without using mpl.use() from the scripting layer\n\n# create a new figure\nfig = Figure()\n\n# associate fig with the backend\ncanvas = FigureCanvasAgg(fig)\n\n# add a subplot to the fig\nax = fig.add_subplot(111)\n\n# plot the point (3,2)\nax.plot(3, 2, '.')\n\n# save the figure to test.png\n# you can see this figure in your Jupyter workspace afterwards by going to\n# https://hub.coursera-notebooks.org/\ncanvas.print_png('test.png')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "66c8f302e0afffb4652ff2f80212610fd37ae126" + }, + "cell_type": "markdown", + "source": "We can use html cell magic to display the image." + }, + { + "metadata": { + "_uuid": "d43abba30465cee9dc1364fd2a27334c70da8598", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "%%html\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2c76e50e3ecda1fe2144f16b9c9fdaa6bca37c61", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# create a new figure\nplt.figure()\n\n# plot the point (3,2) using the circle marker\nplt.plot(3, 2, 'o')\n\n# get the current axes\nax = plt.gca()\n\n# Set axis properties [xmin, xmax, ymin, ymax]\nax.axis([0,6,0,10])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0cc553845bb24ead8e57b5ccc59c6753a847f136", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# create a new figure\nplt.figure()\n\n# plot the point (1.5, 1.5) using the circle marker\nplt.plot(1.5, 1.5, 'o')\n# plot the point (2, 2) using the circle marker\nplt.plot(2, 2, 'o')\n# plot the point (2.5, 2.5) using the circle marker\nplt.plot(2.5, 2.5, 'o')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "41cc8f299ccc6825cf1ac49a8bc2039496bcc9a9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# get current axes\nax = plt.gca()\n# get all the child objects the axes contains\nax.get_children()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "add973c3905be06ebae9f033070ee779f58dd785", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\nplt.plot([1, 2, 3, 4], [10, 20, 25, 30], color='lightblue', linewidth=3)\nplt.scatter([0.3, 3.8, 1.2, 2.5], [11, 25, 9, 26], color='darkgreen', marker='^')\nplt.xlim(0.5, 4.5)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0f4decd6f93319534a203748fd8a2b9bcc154ddb" + }, + "cell_type": "markdown", + "source": "
\n## 4-1 Scatterplots" + }, + { + "metadata": { + "_uuid": "bf892e30bb09f0dc5fdf039d827ac55560b6ec06", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n\nx = np.array([1,2,3,4,5,6,7,8])\ny = x\n\nplt.figure()\nplt.scatter(x, y) # similar to plt.plot(x, y, '.'), but the underlying child objects in the axes are not Line2D", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9d4e979c8b366aa6e511a6d7316f63586346c649", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n\nx = np.array([1,2,3,4,5,6,7,8])\ny = x\n\n# create a list of colors for each point to have\n# ['green', 'green', 'green', 'green', 'green', 'green', 'green', 'red']\ncolors = ['green']*(len(x)-1)\ncolors.append('red')\n\nplt.figure()\n\n# plot the point with size 100 and chosen colors\nplt.scatter(x, y, s=100, c=colors)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "935be30b9a6a7c78b58fe1a9c6e4690c494fb697", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# convert the two lists into a list of pairwise tuples\nzip_generator = zip([1,2,3,4,5], [6,7,8,9,10])\n\nprint(list(zip_generator))\n# the above prints:\n# [(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]\n\nzip_generator = zip([1,2,3,4,5], [6,7,8,9,10])\n# The single star * unpacks a collection into positional arguments\nprint(*zip_generator)\n# the above prints:\n# (1, 6) (2, 7) (3, 8) (4, 9) (5, 10)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d6f848fc8d0879c658a6a4e90ca533bddf3be6e3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# use zip to convert 5 tuples with 2 elements each to 2 tuples with 5 elements each\nprint(list(zip((1, 6), (2, 7), (3, 8), (4, 9), (5, 10))))\n# the above prints:\n# [(1, 2, 3, 4, 5), (6, 7, 8, 9, 10)]\n\n\nzip_generator = zip([1,2,3,4,5], [6,7,8,9,10])\n# let's turn the data back into 2 lists\nx, y = zip(*zip_generator) # This is like calling zip((1, 6), (2, 7), (3, 8), (4, 9), (5, 10))\nprint(x)\nprint(y)\n# the above prints:\n# (1, 2, 3, 4, 5)\n# (6, 7, 8, 9, 10)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b9c79e1558adbb3b19de2564376a24191766ab1f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# plot a data series 'Tall students' in red using the first two elements of x and y\nplt.scatter(x[:2], y[:2], s=100, c='red', label='Tall students')\n# plot a second data series 'Short students' in blue using the last three elements of x and y \nplt.scatter(x[2:], y[2:], s=100, c='blue', label='Short students')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "70731835527ce5a16e4a8bd2a0017e3bbe8065ee", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# add a label to the x axis\nplt.xlabel('The number of times the child kicked a ball')\n# add a label to the y axis\nplt.ylabel('The grade of the student')\n# add a title\nplt.title('Relationship between ball kicking and grades')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "691db571df12646a4fe2740e55a43942ea779063", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# add a legend (uses the labels from plt.scatter)\nplt.legend()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0908d7c94c14feb08f953e5cd10f31cb0081f5d3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# add the legend to loc=4 (the lower right hand corner), also gets rid of the frame and adds a title\nplt.legend(loc=4, frameon=False, title='Legend')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0eb79626b7b55559e40ca71ba5c3542466b629c9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# get children from current axes (the legend is the second to last item in this list)\nplt.gca().get_children()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f2b5d97457e3ebd63311aef5b92fc137bd1701f5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# get the legend from the current axes\nlegend = plt.gca().get_children()[-2]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5334176f4177a64cb1726accb26502beb9b36626", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = np.random.randint(low=1, high=11, size=50)\ny = x + np.random.randint(1, 5, size=x.size)\ndata = np.column_stack((x, y))\n\nfig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2,\n figsize=(8, 4))\n\nax1.scatter(x=x, y=y, marker='o', c='r', edgecolor='b')\nax1.set_title('Scatter: $x$ versus $y$')\nax1.set_xlabel('$x$')\nax1.set_ylabel('$y$')\n\nax2.hist(data, bins=np.arange(data.min(), data.max()),\n label=('x', 'y'))\nax2.legend(loc=(0.65, 0.8))\nax2.set_title('Frequencies of $x$ and $y$')\nax2.yaxis.tick_right()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c372afa727e992b9ec097c1f172becfd06bff4ef" + }, + "cell_type": "markdown", + "source": "
\n## 4-2 Line Plots" + }, + { + "metadata": { + "_uuid": "163942ca710e3c67e8479cd02518ca37eae8ead7", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n\nlinear_data = np.array([1,2,3,4,5,6,7,8])\nexponential_data = linear_data**2\n\nplt.figure()\n# plot the linear data and the exponential data\nplt.plot(linear_data, '-o', exponential_data, '-o')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7a4c6677b81fb82e1e7a1164ced70c4168080dbf", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# plot another series with a dashed red line\nplt.plot([22,44,55], '--r')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "517e72eb500a3ba4db76467919f59ded9d3683cb" + }, + "cell_type": "markdown", + "source": "
\n## 4-3 Bar Charts" + }, + { + "metadata": { + "_uuid": "8a5ee722c74c9228af2bcece24831e1539fe97b2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\nxvals = range(len(linear_data))\nplt.bar(xvals, linear_data, width = 0.3)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "11a85a29ca9b1574536bfee91cc63122148d996e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "new_xvals = []\n\n# plot another set of bars, adjusting the new xvals to make up for the first set of bars plotted\nfor item in xvals:\n new_xvals.append(item+0.3)\n\nplt.bar(new_xvals, exponential_data, width = 0.3 ,color='red')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f6597010276961362ce22b84d49a9ef5f46521f6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from random import randint\nlinear_err = [randint(0,15) for x in range(len(linear_data))] \n\n# This will plot a new set of bars with errorbars using the list of random error values\nplt.bar(xvals, linear_data, width = 0.3, yerr=linear_err)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8db2b0bb5d4160f7954bbcd7d9e53d29c68ef342", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# stacked bar charts are also possible\nplt.figure()\nxvals = range(len(linear_data))\nplt.bar(xvals, linear_data, width = 0.3, color='b')\nplt.bar(xvals, exponential_data, width = 0.3, bottom=linear_data, color='r')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ee208f2f850122b6e01ff1236b2915914fe59466", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# or use barh for horizontal bar charts\nplt.figure()\nxvals = range(len(linear_data))\nplt.barh(xvals, linear_data, height = 0.3, color='b')\nplt.barh(xvals, exponential_data, height = 0.3, left=linear_data, color='r')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "acd3cfbdedddae19d7a2bbc9b02fefba21f595de", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n\n# Initialize the plot\nfig = plt.figure(figsize=(20,10))\nax1 = fig.add_subplot(121)\nax2 = fig.add_subplot(122)\n\n# or replace the three lines of code above by the following line: \n#fig, (ax1, ax2) = plt.subplots(1,2, figsize=(20,10))\n\n# Plot the data\nax1.bar([1,2,3],[3,4,5])\nax2.barh([0.5,1,2.5],[0,1,2])\n\n# Show the plot\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "db3db00430b8e5ddb633f3c7c82a6bf63ccb0cbc", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# subplot with 1 row, 2 columns, and current axis is 1st subplot axes\nplt.subplot(1, 2, 1)\n\nlinear_data = np.array([1,2,3,4,5,6,7,8])\n\nplt.plot(linear_data, '-o')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ce5372a8e09fd5379b1b33c7b451ec1b983f8616", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "exponential_data = linear_data**2 \n\n# subplot with 1 row, 2 columns, and current axis is 2nd subplot axes\nplt.subplot(1, 2, 2)\nplt.plot(exponential_data, '-o')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cc4de0125429bdcd3227e894d083c0425934b228", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# plot exponential data on 1st subplot axes\nplt.subplot(1, 2, 1)\nplt.plot(exponential_data, '-x')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0b565e5356d99d5875de88a853710ee2dd3c4a53", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\nax1 = plt.subplot(1, 2, 1)\nplt.plot(linear_data, '-o')\n# pass sharey=ax1 to ensure the two subplots share the same y axis\nax2 = plt.subplot(1, 2, 2, sharey=ax1)\nplt.plot(exponential_data, '-x')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ec35c2bab0a1debaa6420f15b929d127d0d5f8cd", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# the right hand side is equivalent shorthand syntax\nplt.subplot(1,2,1) == plt.subplot(121)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "43bb9cbc7acd94927be086a66ad913bd0a796fc5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# create a 3x3 grid of subplots\nfig, ((ax1,ax2,ax3), (ax4,ax5,ax6), (ax7,ax8,ax9)) = plt.subplots(3, 3, sharex=True, sharey=True)\n# plot the linear_data on the 5th subplot axes \nax5.plot(linear_data, '-')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ec95c476865ba15ca11e2ef4a1ba466a9212f9b9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# set inside tick labels to visible\nfor ax in plt.gcf().get_axes():\n for label in ax.get_xticklabels() + ax.get_yticklabels():\n label.set_visible(True)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "161be784e0c413060709d21a160985ad798b40f8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# necessary on some systems to update the plot\nplt.gcf().canvas.draw()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "487fb5e77983c55ae891c3a99537d6cef0450b74" + }, + "cell_type": "markdown", + "source": "
\n## 4-4 Histograms" + }, + { + "metadata": { + "_uuid": "42551850b478e274b9f78d4f6ef717c636242616", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# create 2x2 grid of axis subplots\nfig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, sharex=True)\naxs = [ax1,ax2,ax3,ax4]\n\n# draw n = 10, 100, 1000, and 10000 samples from the normal distribution and plot corresponding histograms\nfor n in range(0,len(axs)):\n sample_size = 10**(n+1)\n sample = np.random.normal(loc=0.0, scale=1.0, size=sample_size)\n axs[n].hist(sample)\n axs[n].set_title('n={}'.format(sample_size))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "39b84012b223069dd4cc6f1441d2ad0f585218bf", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# repeat with number of bins set to 100\nfig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, sharex=True)\naxs = [ax1,ax2,ax3,ax4]\n\nfor n in range(0,len(axs)):\n sample_size = 10**(n+1)\n sample = np.random.normal(loc=0.0, scale=1.0, size=sample_size)\n axs[n].hist(sample, bins=100)\n axs[n].set_title('n={}'.format(sample_size))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4def4012769663b5665f7b70a077cf839b7793f1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\nY = np.random.normal(loc=0.0, scale=1.0, size=10000)\nX = np.random.random(size=10000)\nplt.scatter(X,Y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f6304a7d71b6edf6894e93bc62ad9ee4ffb0cce1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# use gridspec to partition the figure into subplots\nimport matplotlib.gridspec as gridspec\n\nplt.figure()\ngspec = gridspec.GridSpec(3, 3)\n\ntop_histogram = plt.subplot(gspec[0, 1:])\nside_histogram = plt.subplot(gspec[1:, 0])\nlower_right = plt.subplot(gspec[1:, 1:])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2a8f66c5169fcabafafa104e87897f175624245e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "Y = np.random.normal(loc=0.0, scale=1.0, size=10000)\nX = np.random.random(size=10000)\nlower_right.scatter(X, Y)\ntop_histogram.hist(X, bins=100)\ns = side_histogram.hist(Y, bins=100, orientation='horizontal')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "97062a938d44626006bd9e24b5893fdf9d98155d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# clear the histograms and plot normed histograms\ntop_histogram.clear()\ntop_histogram.hist(X, bins=100, normed=True)\nside_histogram.clear()\nside_histogram.hist(Y, bins=100, orientation='horizontal', normed=True)\n# flip the side histogram's x axis\nside_histogram.invert_xaxis()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e6b1208bb887180b8f0363c9e82cc6fcbf387698", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# change axes limits\nfor ax in [top_histogram, lower_right]:\n ax.set_xlim(0, 1)\nfor ax in [side_histogram, lower_right]:\n ax.set_ylim(-5, 5)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2bc0c6fc0bb19748e9e87603e3207f75ffa9b565" + }, + "cell_type": "markdown", + "source": "
\n## 4-5 Box and Whisker Plots" + }, + { + "metadata": { + "_uuid": "94dad21ec08e2633dacb64a89e5c807145042994", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\nnormal_sample = np.random.normal(loc=0.0, scale=1.0, size=10000)\nrandom_sample = np.random.random(size=10000)\ngamma_sample = np.random.gamma(2, size=10000)\n\ndf = pd.DataFrame({'normal': normal_sample, \n 'random': random_sample, \n 'gamma': gamma_sample})", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "87c08a9f914647f1735cb4b835b80f645685ef1e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.describe()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9f4b288fe4b8ab78e6ad788e4bcfb5931920fcf2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# create a boxplot of the normal data, assign the output to a variable to supress output\n_ = plt.boxplot(df['normal'], whis='range')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9dc56a6415be6584fba51630ced26b0aaa486a09", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# clear the current figure\nplt.clf()\n# plot boxplots for all three of df's columns\n_ = plt.boxplot([ df['normal'], df['random'], df['gamma'] ], whis='range')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0f44453d7022928d2aeed3c3e0126cbd7118cdd9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n_ = plt.hist(df['gamma'], bins=100)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4dba4f705171f002fc94429ec80f7b6a2fe67ff3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "import mpl_toolkits.axes_grid1.inset_locator as mpl_il\n\nplt.figure()\nplt.boxplot([ df['normal'], df['random'], df['gamma'] ], whis='range')\n# overlay axis on top of another \nax2 = mpl_il.inset_axes(plt.gca(), width='60%', height='40%', loc=2)\nax2.hist(df['gamma'], bins=100)\nax2.margins(x=0.5)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "90b1e8ffe23e39ec54414c1fd63b5d5c4e72be6f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# switch the y axis ticks for ax2 to the right side\nax2.yaxis.tick_right()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cb3652a440484d391d27122878456a642c58d804", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# if `whis` argument isn't passed, boxplot defaults to showing 1.5*interquartile (IQR) whiskers with outliers\nplt.figure()\n_ = plt.boxplot([ df['normal'], df['random'], df['gamma'] ] )", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fbf8bf0a67f6c49d78911c5f37be531ebbcd9edb" + }, + "cell_type": "markdown", + "source": "
\n## 4-6 Heatmaps" + }, + { + "metadata": { + "_uuid": "ebfc0dcb8e85aa540f6568fa96431a4e9707f3c1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n\nY = np.random.normal(loc=0.0, scale=1.0, size=10000)\nX = np.random.random(size=10000)\n_ = plt.hist2d(X, Y, bins=25)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fdbcf35950f94a4d0f1ce10efee6a4502f6ecfc8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n_ = plt.hist2d(X, Y, bins=100)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "139f44a4deb043128c8c7254eb60c33e0fc26e68" + }, + "cell_type": "markdown", + "source": "
\n## 4-7 Animations" + }, + { + "metadata": { + "_uuid": "b3676970195153dc6056600f024f55c1b6f0ba12", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "import matplotlib.animation as animation\n\nn = 100\nx = np.random.randn(n)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ea3eb5835e4acd53d43da483e17d79c32228cad6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# create the function that will do the plotting, where curr is the current frame\ndef update(curr):\n # check if animation is at the last frame, and if so, stop the animation a\n if curr == n: \n a.event_source.stop()\n plt.cla()\n bins = np.arange(-4, 4, 0.5)\n plt.hist(x[:curr], bins=bins)\n plt.axis([-4,4,0,30])\n plt.gca().set_title('Sampling the Normal Distribution')\n plt.gca().set_ylabel('Frequency')\n plt.gca().set_xlabel('Value')\n plt.annotate('n = {}'.format(curr), [3,27])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fb2314b3b1735c5e191c8427c5abe6429e4ff767", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "fig = plt.figure()\na = animation.FuncAnimation(fig, update, interval=100)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7e702e5e0a876f9fa0b2e4fe497a56b91e00a95d" + }, + "cell_type": "markdown", + "source": "
\n## 4-8 Interactivity" + }, + { + "metadata": { + "_uuid": "51fefb947daf8ca558cbc153e2ddbf39bcb7d4b2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\ndata = np.random.rand(10)\nplt.plot(data)\n\ndef onclick(event):\n plt.cla()\n plt.plot(data)\n plt.gca().set_title('Event at pixels {},{} \\nand data {},{}'.format(event.x, event.y, event.xdata, event.ydata))\n\n# tell mpl_connect we want to pass a 'button_press_event' into onclick when the event is detected\nplt.gcf().canvas.mpl_connect('button_press_event', onclick)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1d64a25dc386a30bd895ca8f58ca86d632f05d74", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from random import shuffle\norigins = ['China', 'Brazil', 'India', 'USA', 'Canada', 'UK', 'Germany', 'Iraq', 'Chile', 'Mexico']\n\nshuffle(origins)\n\ndf = pd.DataFrame({'height': np.random.rand(10),\n 'weight': np.random.rand(10),\n 'origin': origins})\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e13dd7e002938af1a52d7520004d839a3d7d2011", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# picker=5 means the mouse doesn't have to click directly on an event, but can be up to 5 pixels away\nplt.scatter(df['height'], df['weight'], picker=5)\nplt.gca().set_ylabel('Weight')\nplt.gca().set_xlabel('Height')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e926ab1d2dc2098a6af48526e9f980bf594c79cd", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def onpick(event):\n origin = df.iloc[event.ind[0]]['origin']\n plt.gca().set_title('Selected item came from {}'.format(origin))\n\n# tell mpl_connect we want to pass a 'pick_event' into onpick when the event is detected\nplt.gcf().canvas.mpl_connect('pick_event', onpick)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bb968584c16b9acc6466a3897c9415c57f3a7404", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# use the 'seaborn-colorblind' style\nplt.style.use('seaborn-colorblind')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "84742816a16280f7bca7c43879d6762e10e0a440" + }, + "cell_type": "markdown", + "source": "
\n## 4-9 DataFrame.plot" + }, + { + "metadata": { + "_uuid": "97a3554f9640a2b77e07c861b5a5b6c814a3b276", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.random.seed(123)\n\ndf = pd.DataFrame({'A': np.random.randn(365).cumsum(0), \n 'B': np.random.randn(365).cumsum(0) + 20,\n 'C': np.random.randn(365).cumsum(0) - 20}, \n index=pd.date_range('1/1/2017', periods=365))\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4d64fa4bc8b62fe1f4d2c2de0869bb49c8f7fc3d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.plot('A','B', kind = 'scatter');", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "857cecae1e2c9eb59c1a9d136ef1c5422d86d5ba" + }, + "cell_type": "markdown", + "source": "You can also choose the plot kind by using the `DataFrame.plot.kind` methods instead of providing the `kind` keyword argument.\n\n`kind` :\n- `'line'` : line plot (default)\n- `'bar'` : vertical bar plot\n- `'barh'` : horizontal bar plot\n- `'hist'` : histogram\n- `'box'` : boxplot\n- `'kde'` : Kernel Density Estimation plot\n- `'density'` : same as 'kde'\n- `'area'` : area plot\n- `'pie'` : pie plot\n- `'scatter'` : scatter plot\n- `'hexbin'` : hexbin plot\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "74997530957394a96f0aed15c21e65f54911159c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# create a scatter plot of columns 'A' and 'C', with changing color (c) and size (s) based on column 'B'\ndf.plot.scatter('A', 'C', c='B', s=df['B'], colormap='viridis')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6299f8dddb909c7850620499edc49afdfd909f75", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "ax = df.plot.scatter('A', 'C', c='B', s=df['B'], colormap='viridis')\nax.set_aspect('equal')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "91a25480397c8759047100da9ebc6c0264d8a918", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.plot.box();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b7bfa0ce17ea260d75eb97a0161af3dbd700f780", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.plot.hist(alpha=0.7);", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "21a68cb3d0111753d29df2b402011daff81c5ff4" + }, + "cell_type": "markdown", + "source": "[Kernel density estimation plots](https://en.wikipedia.org/wiki/Kernel_density_estimation) are useful for deriving a smooth continuous function from a given sample." + }, + { + "metadata": { + "_uuid": "7b4d0f65af26e55acaf9a06da13dc71eb21a408b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.plot.kde();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6be2f6011b57248d4ec69ef562147e072d9718ae" + }, + "cell_type": "markdown", + "source": "
\n# 5- Seaborn\n\nAs you have just read, **Seaborn** is complimentary to Matplotlib and it specifically targets statistical data visualization. But it goes even further than that: Seaborn extends Matplotlib and that’s why it can address the two biggest frustrations of working with Matplotlib. Or, as Michael Waskom says in the “introduction to Seaborn”: “If matplotlib “tries to make easy things easy and hard things possible”, seaborn tries to make a well-defined set of hard things easy too.”\n\nOne of these hard things or frustrations had to do with the default Matplotlib parameters. Seaborn works with different parameters, which undoubtedly speaks to those users that don’t use the default looks of the Matplotlib plots\nSeaborn is a library for making statistical graphics in Python. It is built on top of matplotlib and closely integrated with pandas data structures.\n\nHere is some of the functionality that seaborn offers:\n\nA dataset-oriented API for examining relationships between multiple variables\nSpecialized support for using categorical variables to show observations or aggregate statistics\nOptions for visualizing univariate or bivariate distributions and for comparing them between subsets of data\nAutomatic estimation and plotting of linear regression models for different kinds dependent variables\nConvenient views onto the overall structure of complex datasets\nHigh-level abstractions for structuring multi-plot grids that let you easily build complex visualizations\nConcise control over matplotlib figure styling with several built-in themes\nTools for choosing color palettes that faithfully reveal patterns in your data\nSeaborn aims to make visualization a central part of exploring and understanding data. Its dataset-oriented plotting functions operate on dataframes and arrays containing whole datasets and internally perform the necessary semantic mapping and statistical aggregation to produce informative plots.\n\nHere’s an example of what this means:" + }, + { + "metadata": { + "trusted": true, + "_uuid": "61d945abc7817a724a8ff13b8d91601a26dd70a2" + }, + "cell_type": "markdown", + "source": "
\n## 5-1 Seaborn Vs Matplotlib\n\nIt is summarized that if Matplotlib “tries to make easy things easy and hard things possible”, Seaborn tries to make a well defined set of hard things easy too.”\n\nSeaborn helps resolve the two major problems faced by Matplotlib; the problems are\n\n* Default Matplotlib parameters\n* Working with data frames\n\nAs Seaborn compliments and extends Matplotlib, the learning curve is quite gradual. If you know Matplotlib, you are already half way through Seaborn.\n\nImportant Features of Seaborn\nSeaborn is built on top of Python’s core visualization library Matplotlib. It is meant to serve as a complement, and not a replacement. However, Seaborn comes with some very important features. Let us see a few of them here. The features help in −\n\n* Built in themes for styling matplotlib graphics\n* Visualizing univariate and bivariate data\n* Fitting in and visualizing linear regression models\n* Plotting statistical time series data\n* Seaborn works well with NumPy and Pandas data structures\n* It comes with built in themes for styling Matplotlib graphics\n\nIn most cases, you will still use Matplotlib for simple plotting. The knowledge of Matplotlib is recommended to tweak Seaborn’s default plots." + }, + { + "metadata": { + "trusted": true, + "_uuid": "e86d3560a60a12f19847f7264a984aeb14cba2d6", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def sinplot(flip = 1):\n x = np.linspace(0, 14, 100)\n for i in range(1, 5): \n plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)\nsinplot()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "0d6d5a511f6a8785731b5a1bcdb1a9281553aa28", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def sinplot(flip = 1):\n x = np.linspace(0, 14, 100)\n for i in range(1, 5):\n plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)\n \nsns.set()\nsinplot()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "4f6da88a64c3790d0a7bfc995bb82aae8e1f1420", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.random.seed(1234)\n\nv1 = pd.Series(np.random.normal(0,10,1000), name='v1')\nv2 = pd.Series(2*v1 + np.random.normal(60,15,1000), name='v2')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "420ffb34484da7b88db34e75d883b5a060b478a3", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\nplt.hist(v1, alpha=0.7, bins=np.arange(-50,150,5), label='v1');\nplt.hist(v2, alpha=0.7, bins=np.arange(-50,150,5), label='v2');\nplt.legend();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "790f27d2a5a4ef507669b4e32ba901c2b6684f87", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# we can pass keyword arguments for each individual component of the plot\nsns.distplot(v2, hist_kws={'color': 'Teal'}, kde_kws={'color': 'Navy'});", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "65db67f8736affd36f13cf608abee2c338b929c0", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.jointplot(v1, v2, alpha=0.4);", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "a325a54e4b7728affe318c110b2fe4d6f448efd0", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "grid = sns.jointplot(v1, v2, alpha=0.4);\ngrid.ax_joint.set_aspect('equal')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "14f244f9f0332d8abb13136d14df7411a9727f04", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.jointplot(v1, v2, kind='hex');", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "87f176fd1a3741ab23902e3c05ebaaab3c0cf1a9", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# set the seaborn style for all the following plots\nsns.set_style('white')\n\nsns.jointplot(v1, v2, kind='kde', space=0);", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "61c3e460ed18b061a4017d402bc16997cdf9b50c" + }, + "cell_type": "markdown", + "source": "
\n## 5-2 10 Useful Python Data Visualization Libraries" + }, + { + "metadata": { + "_uuid": "39dbde1e0e5f0443ce448c70af307c9fb367958d" + }, + "cell_type": "markdown", + "source": "I am giving an overview of 10 interdisciplinary Python data visualization libraries, from the well-known to the obscure.\n\n* 1- matplotlib\n\nmatplotlib is the O.G. of Python data visualization libraries. Despite being over a decade old, it’s still the most widely used library for plotting in the Python community. It was designed to closely resemble MATLAB, a proprietary programming language developed in the 1980s.\n\n* 2- Seaborn\n\nSeaborn harnesses the power of matplotlib to create beautiful charts in a few lines of code. The key difference is Seaborn’s default styles and color palettes, which are designed to be more aesthetically pleasing and modern. Since Seaborn is built on top of matplotlib, you’ll need to know matplotlib to tweak Seaborn’s defaults.\n\n* 3- ggplot\n\nggplot is based on ggplot2, an R plotting system, and concepts from The Grammar of Graphics. ggplot operates differently than matplotlib: it lets you layer components to create a complete plot. For instance, you can start with axes, then add points, then a line, a trendline, etc. Although The Grammar of Graphics has been praised as an “intuitive” method for plotting, seasoned matplotlib users might need time to adjust to this new mindset.\n\n\n* 4- Bokeh\n\nLike ggplot, Bokeh is based on The Grammar of Graphics, but unlike ggplot, it’s native to Python, not ported over from R. Its strength lies in the ability to create interactive, web-ready plots, which can be easily outputted as JSON objects, HTML documents, or interactive web applications. Bokeh also supports streaming and real-time data.\n\n\n* 5- pygal\n\nLike Bokeh and Plotly, pygal offers interactive plots that can be embedded in the web browser. Its prime differentiator is the ability to output charts as SVGs. As long as you’re working with smaller datasets, SVGs will do you just fine. But if you’re making charts with hundreds of thousands of data points, they’ll have trouble rendering and become sluggish.\n\n* 6- Plotly\n\nYou might know Plotly as an online platform for data visualization, but did you also know you can access its capabilities from a Python notebook? Like Bokeh, Plotly’s forte is making interactive plots, but it offers some charts you won’t find in most libraries, like contour plots, dendograms, and 3D charts.\n\n* 7- geoplotlib\n\ngeoplotlib is a toolbox for creating maps and plotting geographical data. You can use it to create a variety of map-types, like choropleths, heatmaps, and dot density maps. You must have Pyglet (an object-oriented programming interface) installed to use geoplotlib. Nonetheless, since most Python data visualization libraries don’t offer maps, it’s nice to have a library dedicated solely to them.\n\n* 8- Gleam\n\nGleam is inspired by R’s Shiny package. It allows you to turn analyses into interactive web apps using only Python scripts, so you don’t have to know any other languages like HTML, CSS, or JavaScript. Gleam works with any Python data visualization library. Once you’ve created a plot, you can build fields on top of it so users can filter and sort data.\n\n\n* 9- missingno\n\nDealing with missing data is a pain. missingno allows you to quickly gauge the completeness of a dataset with a visual summary, instead of trudging through a table. You can filter and sort data based on completion or spot correlations with a heatmap or a dendrogram.\n\n\n* 10- Leather\n\nLeather’s creator, Christopher Groskopf, puts it best: “Leather is the Python charting library for those who need charts now and don’t care if they’re perfect.” It’s designed to work with all data types and produces charts as SVGs, so you can scale them without losing image quality. Since this library is relatively new, some of the documentation is still in progress. The charts you can make are pretty basic—but that’s the intention.\n\nAt the end, nice cheatsheet on how to best visualize your data. I think I will print it out as a good reminder of \"best practices\". Check out the link for the complete cheatsheet, also as a PDF. hashtag#data hashtag#visualization hashtag#datascience\n\nLink: https://github.com/mjbahmani/Machine-Learning-Workflow-with-Python\n![cheatsheet ][1]\n[Reference][2]\n\n\n [1]: http://s8.picofile.com/file/8340669884/53f6a826_d7df_4b55_81e6_7c23b3fff0a3_original.png\n [2]: https://blog.modeanalytics.com/python-data-visualization-libraries/" + }, + { + "metadata": { + "_uuid": "6caa0f9d20a055caebf9a2269c2081b052858806" + }, + "cell_type": "markdown", + "source": "
\n# 6- conclusion\nExploratory data analysis (**EDA**) is an approach to analyzing data sets to summarize their main **characteristics**, often with visual methods. A statistical model can be used or not, but primarily EDA is for seeing what the data can tell us beyond the formal modeling or hypothesis testing task.\nThis kernel it is not completed yet! Following up!\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "cell_type": "markdown", + "source": "You can follow me on:\n\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n--------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated** " + }, + { + "metadata": { + "_uuid": "5590d9817e38722f88c9924517a591d43dfaf4ba" + }, + "cell_type": "markdown", + "source": "
\n# 7- References\n1. [Coursera](https://www.coursera.org/specializations/data-science-python)\n1. [GitHub](https://github.com/mjbahmani)\n\nAs always, I want to thank the kernels I've used to make this kernel:\n1. [deffro](https://www.kaggle.com/deffro/text-pre-processing-techniques)\n1. [SRK](https://www.kaggle.com/sudalairajkumar/simple-exploration-notebook-qiqc)\n1. [mihaskalic](https://www.kaggle.com/mihaskalic/lstm-is-all-you-need-well-maybe-embeddings-also)\n1. [artgor](https://www.kaggle.com/artgor/eda-and-lstm-cnn)\n1. [tunguz](https://www.kaggle.com/tunguz/just-some-simple-eda)\n
\n
\n[Go to top](#top)" + }, + { + "metadata": { + "_uuid": "72e1e18935b372b6aac2fae910e5bd12de1d420f" + }, + "cell_type": "markdown", + "source": "#### This kernel is not completed yet and will be updated soon !!!" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/Ebooks/Linear Algebra.pdf b/Ebooks/Linear Algebra.pdf new file mode 100644 index 0000000..f4fc357 Binary files /dev/null and b/Ebooks/Linear Algebra.pdf differ diff --git a/Ebooks/Mining of massive dataset.pdf b/Ebooks/Mining of massive dataset.pdf new file mode 100644 index 0000000..59b0e7d Binary files /dev/null and b/Ebooks/Mining of massive dataset.pdf differ diff --git a/Ebooks/R vs Python vs MATLAB vs Octave.pdf b/Ebooks/R vs Python vs MATLAB vs Octave.pdf new file mode 100644 index 0000000..2773610 Binary files /dev/null and b/Ebooks/R vs Python vs MATLAB vs Octave.pdf differ diff --git a/Ebooks/Think Stats-Probability-statistics for programmers.pdf b/Ebooks/Think Stats-Probability-statistics for programmers.pdf new file mode 100644 index 0000000..2cbde1d Binary files /dev/null and b/Ebooks/Think Stats-Probability-statistics for programmers.pdf differ diff --git a/Exploratory Data Analysis Pipeline/Exploratory Data Analysis Pipeline.ipynb b/Exploratory Data Analysis Pipeline/Exploratory Data Analysis Pipeline.ipynb new file mode 100644 index 0000000..f8fe899 --- /dev/null +++ b/Exploratory Data Analysis Pipeline/Exploratory Data Analysis Pipeline.ipynb @@ -0,0 +1,1138 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "cell_type": "markdown", + "source": "##
Exploratory Data Analysis Pipeline
\n\n
If you've followed my other kernels so far. You have noticed that for those who are beginners, I've introduced a course \"10 Steps to Become a Data Scientist.\" In this kernel we will start another step with each other. There are plenty of Kernels that can help you learn EDA from scratch but here in Kaggle, I want to Analysis Meta Kaggle and Quora Insincere Question, popular Datasets as a comprehensive pipeline for EDA. \nAfter reading, you can use it to Analysis other real dataset and use it as a template to deal with EDA problems.
\n\n
last update: 11/23/2018
\n\n\n\n>###### You may be interested have a look at it: [**10-Steps-to-Become-a-Data-Scientist**](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n---------------------------------------------------------------------\nYou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n-------------------------------------------------------------------------------------------------------------\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "cell_type": "markdown", + "source": "
\n## Notebook Content\n1. [Introduction](#1)\n1. [Loading Packages](#2)\n 1. [version](#3)\n 1. [Setup](#4)\n1. [Exploratory data analysis](#5)\n1. [Data Collection](#6)\n 1. [Features](#7)\n 1. [Explorer Dataset](#8)\n1. [Data Cleaning](#9)\n 1. [Find yourself in Users datset](#10)\n 1. [Find your kernels in Kernels dataset](#11)\n1. [Data Preprocessing](#12)\n1. [Data Visaulization](#13)\n 1. [Scatter plot](#14)\n 1. [Box plot](#15)\n 1. [Histogram](#16)\n 1. [violinplots](#17)\n 1. [kdeplot](#18)\n 1. [jointplot](#19)\n 1. [andrews_curves](#20)\n 1. [Heatmap](#21)\n 1. [WordCloud](#22)\n1. [Conclusion](#23) \n1. [References](#24) \n " + }, + { + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "cell_type": "markdown", + "source": "
\n## 1- Introduction\nThis is a **comprehensive EDA techniques with python** , that I have spent a lot of time to complete it.\n\nit is clear that everyone in this community is familiar with Meta Kaggle and kaggle survey 2018 datasets but if you need to review your information about the datasets please visit [meta-kaggle](https://www.kaggle.com/kaggle/meta-kaggle) and [Quora](https://www.kaggle.com/c/quora-insincere-questions-classification).\n\nI am open to getting your feedback for improving this **kernel** together.\n" + }, + { + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "cell_type": "markdown", + "source": "
\n## 2- Loading Packages\nIn this kernel we are using the following packages:" + }, + { + "metadata": { + "_uuid": "61f49281fdd8592b44c0867225f57e6fce36342c" + }, + "cell_type": "markdown", + "source": " \n Now we import all of them " + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.model_selection import train_test_split\nfrom sklearn.metrics import classification_report\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.metrics import accuracy_score\nfrom wordcloud import WordCloud as wc\nfrom nltk.corpus import stopwords\nimport matplotlib.pylab as pylab\nimport matplotlib.pyplot as plt\nfrom pandas import get_dummies\nimport matplotlib as mpl\nimport seaborn as sns\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport string\nimport scipy\nimport numpy\nimport nltk\nimport json\nimport sys\nimport csv\nimport os", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cb6fbd6b1eee108ca34577de77592af65b781cc0" + }, + "cell_type": "markdown", + "source": "
\n## 2-1 version" + }, + { + "metadata": { + "trusted": true, + "_uuid": "7d081df6329f26958f545c32b4d96172b3be96d9", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))\n#print('wordcloud: {}'.format(wordcloud.version))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4634f86ca193d38c1121af4d30f31acf25d9d334" + }, + "cell_type": "markdown", + "source": "
\n## 2-2 Setup\n\nA few tiny adjustments for better **code readability**" + }, + { + "metadata": { + "trusted": true, + "_uuid": "13ccd69be8e3a0502a3e172d1416686ce8cdba56", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.set(style='white', context='notebook', palette='deep')\npylab.rcParams['figure.figsize'] = 12,8\nwarnings.filterwarnings('ignore')\nmpl.style.use('ggplot')\nsns.set_style('white')\n%matplotlib inline", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" + }, + "cell_type": "markdown", + "source": "
\n## 3- Exploratory Data Analysis(EDA)\n In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n \n* Which variables suggest interesting relationships?\n* Which observations are unusual?\n\nBy the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations:\n\n1. Data Collection\n1. Visualization\n1. Data Cleaning\n1. Data Preprocessing\n\n\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "cell_type": "markdown", + "source": "
\n## 3-1 Data Collection\n**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n\n\nI start Collection Data by the Users and Kernels datasets into **Pandas DataFrames**" + }, + { + "metadata": { + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# import kernels and users to play with it\nusers = pd.read_csv(\"../input/meta-kaggle/Users.csv\")\nkernels = pd.read_csv(\"../input/meta-kaggle/Kernels.csv\")\nmessages = pd.read_csv(\"../input/meta-kaggle/ForumMessages.csv\")\nfreeFormResponses=pd.read_csv(\"../input/kaggle-survey-2018/freeFormResponses.csv\")\nmultipleChoiceResponses=pd.read_csv(\"../input/kaggle-survey-2018/multipleChoiceResponses.csv\")\ntrain = pd.read_csv(\"../input/quora-insincere-questions-classification/train.csv\")\ntest = pd.read_csv(\"../input/quora-insincere-questions-classification/test.csv\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "cell_type": "markdown", + "source": "**<< Note 1 >>**\n\n* Each row is an observation (also known as : sample, example, instance, record)\n* Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)\n###### [Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "33344731ac8933d46461ca893ea8936f6ee1c3e4", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "users.sample(1) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "6a15630f403601203c74bba16f343ae61d9937fb", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "kernels.sample(1) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "dcb47a70a03a7e73bab46f31dd3096a09be7b560" + }, + "cell_type": "code", + "source": "train.sample(1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "cell_type": "markdown", + "source": "### Please **replace** your username and find your userid\n\nwe suppose that userid==authoruserid and use userid for both kernels and users dataset" + }, + { + "metadata": { + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "username=\"mjbahmani\"\nuserid=int(users[users['UserName']==\"mjbahmani\"].Id)\nuserid", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7cc8cac399d9d348842ea0b589581f5f909c17dd" + }, + "cell_type": "markdown", + "source": "But if we had , we can just use **dropna()**(be careful sometimes you should not do this!)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "7972fa0a7d1950d8a59f9820c6cacc00eb8f1015" + }, + "cell_type": "code", + "source": "# remove rows that have NA's\nprint('Before Droping',train.shape)\ntrain = train.dropna()\nprint('After Droping',train.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b1a61ef77cbe97153445293fc8d01f409d87272f" + }, + "cell_type": "markdown", + "source": "
\n## 3-1-1 Features\nFeatures can be from following types:\n1. numeric\n1. categorical\n1. ordinal\n1. datetime\n1. coordinates\n\nFind the type of features in **Meta Kaggle**?!\n
\nfor getting some information about the dataset you can use **info()** command\n###### [Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "de95bf94a02721364ad6cbd6d440d664b2961e39", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print(users.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "8f47ccc4538b823bf0a5ac15eef7787395620ed5" + }, + "cell_type": "code", + "source": "print(freeFormResponses.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "7b650ee1c8aaa1d7c7e1c15dd102169e0fd0db60" + }, + "cell_type": "code", + "source": "print(train.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e08d410c0dac5cf34eea33940ab586eb7e9ded5a" + }, + "cell_type": "markdown", + "source": "
\n## 3-1-2 Explorer Dataset\n1- Dimensions of the dataset.\n\n2- Peek at the data itself.\n\n3- Statistical summary of all attributes.\n\n4- Breakdown of the data by the class variable.\n\nDon’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# shape\nprint(users.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# shape\nprint(kernels.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "5e6358361a6a8fcc60087baa6cebb18c18296299", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print(freeFormResponses.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "8b724ebb9a0a1176e52543938bc67591b54d3e8d" + }, + "cell_type": "code", + "source": "print(train.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#columns*rows\nusers.size", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#columns*rows\nkernels.size", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "cell_type": "markdown", + "source": "\nWe can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property." + }, + { + "metadata": { + "_uuid": "3458838205be4c7fbff88e95ef69934e13e2199b" + }, + "cell_type": "markdown", + "source": "you see number of unique item for Species with command below:" + }, + { + "metadata": { + "_uuid": "4b90d165a007106ae99809ad28edd75bd8153dd8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "kernels['Medal'].unique()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8accfbddf2228274ad412c3ad3be72b4107d6f6c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "kernels[\"Medal\"].value_counts()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "eb1a194f9b7598401c44d2b762ecd75f1e2c3955" + }, + "cell_type": "code", + "source": "train[\"question_text\"].head(5)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "cell_type": "markdown", + "source": "to check the first 5 rows of the data set, we can use head(5)." + }, + { + "metadata": { + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "kernels.head(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "cell_type": "markdown", + "source": "to check out last 5 row of the data set, we use tail() function" + }, + { + "metadata": { + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "users.tail() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "cell_type": "markdown", + "source": "to pop up 5 random rows from the data set, we can use **sample(5)** function" + }, + { + "metadata": { + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "kernels.sample(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "cell_type": "markdown", + "source": "to give a statistical summary about the dataset, we can use **describe()" + }, + { + "metadata": { + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "kernels.describe() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2ecc1896c6cd6c342cddb2e1ef0e774e66c8dc5d" + }, + "cell_type": "markdown", + "source": "
\n## 3-2 Data Cleaning\nWhen dealing with real-world data, dirty data is the norm rather than the exception. We continuously need to predict correct values, impute missing ones, and find links between various data artefacts such as schemas and records. We need to stop treating data cleaning as a piecemeal exercise (resolving different types of errors in isolation), and instead leverage all signals and resources (such as constraints, available statistics, and dictionaries) to accurately predict corrective actions.\n\n\n\nThe primary goal of data cleaning is to detect and remove errors and **anomalies** to increase the value of data in analytics and decision making. While it has been the focus of many researchers for several years, individual problems have been addressed separately. These include missing value imputation, outliers detection, transformations, integrity constraints violations detection and repair, consistent query answering, deduplication, and many other related problems such as profiling and constraints mining.[4]\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "031d16ca235837e889734635ecff193be64b27a4" + }, + "cell_type": "markdown", + "source": "How many NA elements in every column!!\nGood news, it is Zero!\nto check out how many null info are on the dataset, we can use **isnull().sum()**" + }, + { + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#How many NA elements in every column\nusers.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "kernels.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "446e6162e16325213047ff31454813455668b574", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "kernels.groupby('Medal').count()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + }, + "cell_type": "markdown", + "source": "to print dataset **columns**, we can use columns atribute" + }, + { + "metadata": { + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "kernels.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "62b52ea61cfa597007bd31652c7f03778233227c", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "users.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "40f98b7a01af83ef9be8cd81c72bf281e07493ae" + }, + "cell_type": "code", + "source": "train.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "22bc5d81c18275ee1fb082c0adbb7a65bdbec4cc" + }, + "cell_type": "markdown", + "source": "**<< Note 2 >>**\nin pandas's data frame you can perform some query such as \"where\"" + }, + { + "metadata": { + "_uuid": "ff69b963b60e8ff77acae02850885c7e90358129" + }, + "cell_type": "markdown", + "source": "
\n## 3-2-1 Find yourself in Users datset" + }, + { + "metadata": { + "trusted": true, + "_uuid": "1e36488451f22350bc2c655bfdd2b50803540b87", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "users[users['Id']==userid]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "33fc33a18489b438a884819d99dc00a02b113be8" + }, + "cell_type": "markdown", + "source": "
\n## 3-2-2 Find your kernels in Kernels dataset" + }, + { + "metadata": { + "trusted": true, + "_uuid": "aa877c667451c76a052808964bbf8eb5991b39e0", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "yourkernels=kernels[kernels['AuthorUserId']==userid]\nyourkernels", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5fb860dc8bb6bc8feba55df8936f05a3f139115f" + }, + "cell_type": "markdown", + "source": "
\n## 3-4 Data Preprocessing\n**Data preprocessing** refers to the transformations applied to our data before feeding it to the algorithm.\n \nData Preprocessing is a technique that is used to convert the raw data into a clean data set. In other words, whenever the data is gathered from different sources it is collected in raw format which is not feasible for the analysis.\nthere are plenty of steps for data preprocessing and we just listed some of them in general(Not just for Quora) :\n* removing Target column (id)\n* Sampling (without replacement)\n* Making part of iris unbalanced and balancing (with undersampling and SMOTE)\n* Introducing missing values and treating them (replacing by average values)\n* Noise filtering\n* Data discretization\n* Normalization and standardization\n* PCA analysis\n* Feature selection (filter, embedded, wrapper)\n###### [Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "0d7bdcfe284e49847a3488a5c8ecbeda71097583" + }, + "cell_type": "code", + "source": "", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "812834e990b10afb01e949e09b86af5f0a8e9357" + }, + "cell_type": "code", + "source": "", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "54f76a2bb5a2b75227842751936a178553328b34" + }, + "cell_type": "code", + "source": "", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "5f618edd119f64bdcaca196a1699f19fb9bdbe1d" + }, + "cell_type": "code", + "source": "", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "4c478414d064c2333112f07448343477c32c1509" + }, + "cell_type": "code", + "source": "", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "0be2fbf75d975fc8361fdb70451c64e3fcf16320" + }, + "cell_type": "code", + "source": "", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "aa882e5bcdc7d5f440489eff75d1d225269655a4" + }, + "cell_type": "markdown", + "source": "**<< Note >>**\n>**Preprocessing and generation pipelines depend on a model type**" + }, + { + "metadata": { + "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" + }, + "cell_type": "markdown", + "source": "
\n## 3-4 Visualization\n**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns.\n\nWith interactive visualization, you can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data you see and how it’s processed.[SAS]\n\n In this section I show you **11 plots** with **matplotlib** and **seaborn** that is listed in the blew picture:\n \n" + }, + { + "metadata": { + "_uuid": "b0014a7a52e714996bc443981c853095926d20e5" + }, + "cell_type": "markdown", + "source": "
\n## 3-4-1 Scatter plot\n\nScatter plot Purpose To identify the type of relationship (if any) between two quantitative variables\n\n\n" + }, + { + "metadata": { + "trusted": true, + "_uuid": "8f35fd1761bec3516ad6940f88e916dfb67dfda0" + }, + "cell_type": "code", + "source": "yourkernels.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "af099546eed64ebc796403d4139cb4c977c27b03", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Modify the graph above by assigning each species an individual color.\nx=yourkernels[\"TotalVotes\"]\ny=yourkernels[\"TotalViews\"]\nplt.scatter(x, y)\nplt.legend()\nplt.show()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "1b31a7c185ee654c31ff5b062d111bcefa205966", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,2,figsize=(18,8))\nyourkernels['Medal'].value_counts().plot.bar(color=['#CD7F32','#FFDF00','#D3D3D3'],ax=ax[0])\nax[0].set_title('Number Of Medal')\nax[0].set_ylabel('Count')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d1c7b62b5f8cba427bca13049256365141655372" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-2 Box\nIn descriptive statistics, a **box plot** or boxplot is a method for graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram.[wikipedia]" + }, + { + "metadata": { + "_uuid": "0655e20f31a582f861d391308a088778cd7eaae9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "yourkernels[\"TotalVotes\"].plot(kind='box')\nplt.figure()\n#This gives us a much clearer idea of the distribution of the input attributes:\n\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "81b8d70c5d8b2d024337d989ec1e204b612f676d" + }, + "cell_type": "code", + "source": "yourkernels[\"TotalComments\"].plot(kind='box')\nplt.figure()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f7f6426fd44bcd77d35a5fdbc8c4fc4f18d991ad", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# To plot the species data using a box plot:\n\nsns.boxplot(x=\"TotalComments\", y=\"TotalVotes\", data=yourkernels )\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7b193e4aa7e6fb337d3f65c334849094addd097a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Use Seaborn's striplot to add data points on top of the box plot \n# Insert jitter=True so that the data points remain scattered and not piled into a verticle line.\n# Assign ax to each axis, so that each plot is ontop of the previous axis. \n\nax= sns.boxplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels)\nax= sns.stripplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels, jitter=True, edgecolor=\"gray\")\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "56adbafa89c117118621c72b3b7cb19edc21298e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Tweek the plot above to change fill and border color color using ax.artists.\n# Assing ax.artists a variable name, and insert the box number into the corresponding brackets\n\nax= sns.boxplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels)\nax= sns.stripplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels, jitter=True, edgecolor=\"gray\")\n\nboxtwo = ax.artists[2]\nboxtwo.set_facecolor('red')\nboxtwo.set_edgecolor('black')\nboxthree=ax.artists[1]\nboxthree.set_facecolor('yellow')\nboxthree.set_edgecolor('black')\n\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "40c9ab245695d47cb33eda65a0d637de390f9e59", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.factorplot('TotalViews','TotalVotes',hue='Medal',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "c73a82a05855195ac32dedb3056e84355e273b0f" + }, + "cell_type": "code", + "source": "sns.factorplot('TotalComments','TotalVotes',hue='Medal',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "743a92c3c2fff1a1f99845518247f7971ad18b7c" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-3 Histogram\nWe can also create a **histogram** of each input variable to get an idea of the distribution.\n\n" + }, + { + "metadata": { + "trusted": true, + "_uuid": "fcea7d2a5fb011f4ea70e19d7a50f0aba5af731b" + }, + "cell_type": "code", + "source": "train[\"num_words\"] = train[\"question_text\"].apply(lambda x: len(str(x).split()))\ntest[\"num_words\"] = test[\"question_text\"].apply(lambda x: len(str(x).split()))\nprint('maximum of num_words in train',train[\"num_words\"].max())\nprint('min of num_words in train',train[\"num_words\"].min())\nprint(\"maximum of num_words in test\",test[\"num_words\"].max())\nprint('min of num_words in train',test[\"num_words\"].min())\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "66f3be03ed655d3ed76026fd977835106ac47a54" + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,2,figsize=(20,10))\ntrain[train['target']==0].num_words.plot.hist(ax=ax[0],bins=20,edgecolor='black',color='red')\nax[0].set_title('target= 0')\nx1=list(range(0,85,5))\nax[0].set_xticks(x1)\ntrain[train['target']==1].num_words.plot.hist(ax=ax[1],color='green',bins=20,edgecolor='black')\nax[1].set_title('target= 1')\nx2=list(range(0,85,5))\nax[1].set_xticks(x2)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5da0520ed3e738ee8814b2d91843ed4acec2b6e6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# histograms\nyourkernels.hist(figsize=(15,20))\nplt.figure()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "90b6df3255561e3944ea89c5f1ca8c815f862a7f" + }, + "cell_type": "code", + "source": "train[\"num_words\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b4e3de19781686010c6038f0e3076eb678398169" + }, + "cell_type": "markdown", + "source": "It looks like perhaps two of the input variables have a Gaussian distribution. This is useful to note as we can use algorithms that can exploit this assumption.\n\n" + }, + { + "metadata": { + "_uuid": "9f80a6e971cbf0af72d659b51af552ea1dddc9a8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "yourkernels[\"TotalViews\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "1173ef1b6ca75e28f94a891880294d1765b022ea" + }, + "cell_type": "code", + "source": "yourkernels[\"TotalComments\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "5d8ef0781d88c46a8becf6d7f5b1f4ad2c05db7e", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.factorplot('TotalViews','TotalVotes',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "15e2743389cb58055ee5bb9dd9b829fb85850af2" + }, + "cell_type": "code", + "source": "sns.factorplot('TotalComments','TotalVotes',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e0f696ec021ec99c1058a62e22c8b73082fe6fa7" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-5 violinplots" + }, + { + "metadata": { + "_uuid": "e352d2f8340609adf4bf6718b1d2ecee0fa730b5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# violinplots on petal-length for each species\nsns.violinplot(data=yourkernels,x=\"TotalViews\", y=\"TotalVotes\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "82d42d69a63f9dacf41dad5bfb1b7908cefc2633" + }, + "cell_type": "code", + "source": "# violinplots on petal-length for each species\nsns.violinplot(data=yourkernels,x=\"TotalComments\", y=\"TotalVotes\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "363b3e9509d5e3ba157c0b5f319d2585c58ee28f" + }, + "cell_type": "code", + "source": "sns.violinplot(data=yourkernels,x=\"Medal\", y=\"TotalVotes\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "c67af4ad8d452f8e9f929e8a3284de675e3fd0d9" + }, + "cell_type": "code", + "source": "sns.violinplot(data=yourkernels,x=\"Medal\", y=\"TotalComments\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "cell_type": "markdown", + "source": "how many NA elements in every column\n" + }, + { + "metadata": { + "_uuid": "2544d3c2dd34a360d295019d8cb597c7ef8f66bc" + }, + "cell_type": "markdown", + "source": "
\n### 3-6-7 kdeplot" + }, + { + "metadata": { + "_uuid": "1d07222b89303b386e9e824d52cc73c045667f25", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# seaborn's kdeplot, plots univariate or bivariate density estimates.\n#Size can be changed by tweeking the value used\nsns.FacetGrid(yourkernels, hue=\"Medal\", size=5).map(sns.kdeplot, \"TotalComments\").add_legend()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "3662003d5cb728d91c71e339cc7d6feba17b495f" + }, + "cell_type": "code", + "source": "sns.FacetGrid(yourkernels, hue=\"Medal\", size=5).map(sns.kdeplot, \"TotalVotes\").add_legend()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "06e1259b209e753c2f05643706d6157145bb3b98", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,3,figsize=(20,8))\nsns.distplot(yourkernels[yourkernels['Medal']==1].TotalVotes,ax=ax[0])\nax[0].set_title('TotalVotes in Medal 1')\nsns.distplot(yourkernels[yourkernels['Medal']==2].TotalVotes,ax=ax[1])\nax[1].set_title('TotalVotes in Medal 2')\nsns.distplot(yourkernels[yourkernels['Medal']==3].TotalVotes,ax=ax[2])\nax[2].set_title('TotalVotes in Medal 3')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "560d8e8f17bacefaf8c3855a9648f26b82fdee9b" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-8 jointplot" + }, + { + "metadata": { + "_uuid": "4adb4da16ea61e0f1a12bc9925dfbbaaa81e0360", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Use seaborn's jointplot to make a hexagonal bin plot\n#Set desired size and ratio and choose a color.\nsns.jointplot(x=\"TotalVotes\", y=\"TotalViews\", data=yourkernels, size=10,ratio=10, kind='hex',color='green')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "263eaa9d2bfad0f8c68b6e8e874bdc11a6e802ac", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# we will use seaborn jointplot shows bivariate scatterplots and univariate histograms with Kernel density \n# estimation in the same figure\nsns.jointplot(x=\"TotalVotes\", y=\"TotalViews\", data=yourkernels, size=6, kind='kde', color='#800000', space=0)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3768e31e990bfe4c2ff7b45087fbba85e0560d00" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-9 andrews_curves" + }, + { + "metadata": { + "_uuid": "8e73333289d17dd648b7b2112d7fe3fe7ea444d0" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-10 Heatmap" + }, + { + "metadata": { + "_uuid": "3100955ca9dc61ac7d435e9c064d10d06f26afa7", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure(figsize=(10,7)) \nsns.heatmap(yourkernels.corr(),annot=True,cmap='cubehelix_r') #draws heatmap with input as the correlation matrix calculted by(iris.corr())\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6ac924245735f2f63dc95f4a60039cbc4b5f9f0a" + }, + "cell_type": "markdown", + "source": "
\n## 3-4-11 WordCloud\nMany times you might have seen a cloud filled with lots of words in different sizes, which represent the frequency or the importance of each word. This is called Tag Cloud or WordCloud." + }, + { + "metadata": { + "trusted": true, + "_uuid": "d405a5c758a63d38f92124a790e3083715224f39" + }, + "cell_type": "code", + "source": "from wordcloud import WordCloud as wc\nfrom nltk.corpus import stopwords\neng_stopwords = set(stopwords.words(\"english\"))\nmessages.head(1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "2d794c89a475349868f82690878ed934ec05fd81" + }, + "cell_type": "code", + "source": "def generate_wordcloud(text): \n wordcloud = wc(relative_scaling = 1.0,stopwords = eng_stopwords).generate(text)\n fig,ax = plt.subplots(1,1,figsize=(10,10))\n ax.imshow(wordcloud, interpolation='bilinear')\n ax.axis(\"off\")\n ax.margins(x=0, y=0)\n plt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "037cd661617de8b3470ade47ac212a31b12e6e1e" + }, + "cell_type": "code", + "source": "text=','.join(str(v) for v in train['question_text'])\n#text =\" \".join(messages['Message'])\ngenerate_wordcloud(text)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "83d564bc724f73bfea4b645e3736b46243d0edb0" + }, + "cell_type": "code", + "source": "text=','.join(str(v) for v in messages['Message'])\n#text =\" \".join(messages['Message'])\ngenerate_wordcloud(text)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3fff0732ca216c092cc41f33d45dc67e54f2c8f0" + }, + "cell_type": "markdown", + "source": "## 3-4-12 CountPlot" + }, + { + "metadata": { + "trusted": true, + "_uuid": "016fab6c1ce45edb1baf69cf052517dd4e07b002" + }, + "cell_type": "code", + "source": "ax=sns.countplot(x='target',hue=\"target\", data=train ,linewidth=5,edgecolor=sns.color_palette(\"dark\", 3))\nplt.title('Is data set imbalance?');", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "9231021ad2da6e478f22dc11f4409de66f36049c" + }, + "cell_type": "code", + "source": "ax = sns.countplot(y=\"target\", hue=\"target\", data=train)\nplt.title('Is data set imbalance?');", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f5b7ad3f5d499ef756bd6666995aebcd33ba9fd5" + }, + "cell_type": "markdown", + "source": " # 3-4-13 Pie Plot" + }, + { + "metadata": { + "trusted": true, + "_uuid": "1bedf9e97cd52331c759fd05d19da9f441c1866e" + }, + "cell_type": "code", + "source": "ax=train['target'].value_counts().plot.pie(explode=[0,0.1],autopct='%1.1f%%' ,shadow=True)\nax.set_title('target')\nax.set_ylabel('')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6caa0f9d20a055caebf9a2269c2081b052858806" + }, + "cell_type": "markdown", + "source": "
\n# 5- conclusion\nExploratory data analysis (**EDA**) is an approach to analyzing data sets to summarize their main **characteristics**, often with visual methods. A statistical model can be used or not, but primarily EDA is for seeing what the data can tell us beyond the formal modeling or hypothesis testing task.\nThis kernel it is not completed yet! Following up!\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "cell_type": "markdown", + "source": "you can follow me on:\n\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n--------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated** " + }, + { + "metadata": { + "_uuid": "5590d9817e38722f88c9924517a591d43dfaf4ba" + }, + "cell_type": "markdown", + "source": "
\n# 6- References\n1. [Coursera](https://www.coursera.org/specializations/data-science-python)\n1. [GitHub](https://github.com/mjbahmani)\n
\n
\n[Go to top](#top)" + }, + { + "metadata": { + "_uuid": "72e1e18935b372b6aac2fae910e5bd12de1d420f" + }, + "cell_type": "markdown", + "source": "#### This kernel is not completed yet and will be updated soon !!!" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/Exploratory Data Analysis Pipeline/Welcome to EDA Workflow.ipynb b/Exploratory Data Analysis Pipeline/Welcome to EDA Workflow.ipynb new file mode 100644 index 0000000..7bb56be --- /dev/null +++ b/Exploratory Data Analysis Pipeline/Welcome to EDA Workflow.ipynb @@ -0,0 +1,2312 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "cell_type": "markdown", + "source": "##
Welcome to EDA Workflow
\n\n
If you've followed my other kernels so far. You have noticed that for those who are beginners, I've introduced a course \" 10 Steps to Become a Data Scientist \". In this kernel we will start another step with each other. There are plenty of Kernels that can help you learn EDA from scratch but here in Kaggle, I want to Analysis Meta Kaggle and Quora Insincere Question, popular Datasets as a comprehensive pipeline for EDA. \nAfter reading, you can use it to Analysis other real dataset and use it as a template to deal with EDA problems.
\n\n
last update: 11/27/2018
\n\n\n\n>###### You may be interested have a look at it: [**10-Steps-to-Become-a-Data-Scientist**](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n---------------------------------------------------------------------\nYou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n-------------------------------------------------------------------------------------------------------------\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "cell_type": "markdown", + "source": "
\n## Notebook Content\n1. [Introduction](#1)\n1. [Loading Packages](#2)\n 1. [version](#3)\n 1. [Setup](#4)\n1. [Exploratory data analysis](#5)\n1. [Data Collection](#6)\n 1. [Features](#7)\n 1. [Explorer Dataset](#8)\n1. [Data Cleaning](#9)\n 1. [Find yourself in Users datset](#10)\n 1. [Find your kernels in Kernels dataset](#11)\n1. [Data Preprocessing](#12)\n1. [Data Visaulization](#13)\n 1. [Scatter plot](#14)\n 1. [Box plot](#15)\n 1. [Histogram](#16)\n 1. [violinplots](#17)\n 1. [kdeplot](#18)\n 1. [jointplot](#19)\n 1. [andrews_curves](#20)\n 1. [Heatmap](#21)\n 1. [WordCloud](#22)\n 1. [CountPlot](#23)\n 1. [Pie Plot](#24)\n 1. [CountPlot](#25)\n \n1. [Conclusion](#23) \n1. [References](#24) \n " + }, + { + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "cell_type": "markdown", + "source": "
\n## 1- Introduction\nThis is a **comprehensive EDA techniques with python** , that I have spent a lot of time to complete it.\n\nIt is clear that everyone in this community is familiar with Meta Kaggle and kaggle survey 2018 datasets but if you need to review your information about the datasets please visit [meta-kaggle](https://www.kaggle.com/kaggle/meta-kaggle) and [Quora](https://www.kaggle.com/c/quora-insincere-questions-classification).\n\n\n\nI am open to getting your feedback for improving this **kernel** together.\n" + }, + { + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "cell_type": "markdown", + "source": "
\n## 2- Loading Packages\nIn this kernel we are using the following packages:" + }, + { + "metadata": { + "_uuid": "61f49281fdd8592b44c0867225f57e6fce36342c" + }, + "cell_type": "markdown", + "source": " \n Now we import all of them " + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_kg_hide-input": true, + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": true + }, + "cell_type": "code", + "source": "from matplotlib.backends.backend_agg import FigureCanvasAgg\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.metrics import classification_report\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.metrics import accuracy_score\nfrom wordcloud import WordCloud as wc\nfrom matplotlib.figure import Figure\nfrom nltk.corpus import stopwords\nimport matplotlib.pylab as pylab\nimport matplotlib.pyplot as plt\nfrom pandas import get_dummies\nimport matplotlib as mpl\nimport seaborn as sns\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport string\nimport scipy\nimport numpy\nimport nltk\nimport json\nimport sys\nimport csv\nimport os", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cb6fbd6b1eee108ca34577de77592af65b781cc0" + }, + "cell_type": "markdown", + "source": "
\n## 2-1 version" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7d081df6329f26958f545c32b4d96172b3be96d9", + "trusted": true + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))\n#print('wordcloud: {}'.format(wordcloud.version))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4634f86ca193d38c1121af4d30f31acf25d9d334" + }, + "cell_type": "markdown", + "source": "
\n## 2-2 Setup\n\nA few tiny adjustments for better **code readability**" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "13ccd69be8e3a0502a3e172d1416686ce8cdba56", + "trusted": true + }, + "cell_type": "code", + "source": "sns.set(style='white', context='notebook', palette='deep')\npylab.rcParams['figure.figsize'] = 12,8\nwarnings.filterwarnings('ignore')\nmpl.style.use('ggplot')\nsns.set_style('white')\n%matplotlib inline", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" + }, + "cell_type": "markdown", + "source": "
\n## 3- Exploratory Data Analysis(EDA)\n In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n \n1. Which variables suggest interesting relationships?\n1. Which observations are unusual?\n\nBy the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations:\n\n1. Data Collection\n1. Visualization\n1. Data Cleaning\n1. Data Preprocessing\n\n\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "cell_type": "markdown", + "source": "
\n## 3-1 Data Collection\n**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n\n\nI start Collection Data by the Users and Kernels datasets into **Pandas DataFrames**" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "trusted": true + }, + "cell_type": "code", + "source": "# import kernels and users to play with it\n#command--> 1\nusers = pd.read_csv(\"../input/meta-kaggle/Users.csv\")\nkernels = pd.read_csv(\"../input/meta-kaggle/Kernels.csv\")\nmessages = pd.read_csv(\"../input/meta-kaggle/ForumMessages.csv\")\nfreeFormResponses=pd.read_csv(\"../input/kaggle-survey-2018/freeFormResponses.csv\")\nmultipleChoiceResponses=pd.read_csv(\"../input/kaggle-survey-2018/multipleChoiceResponses.csv\")\ntrain = pd.read_csv(\"../input/quora-insincere-questions-classification/train.csv\")\ntest = pd.read_csv(\"../input/quora-insincere-questions-classification/test.csv\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b5f73efe9f8f0775099546e38bf74080a2af152a" + }, + "cell_type": "markdown", + "source": "6 Data Collection Rules for Your Future Perfect Machine Learning Dataset:\n1. Ensure the data has no gaps\n1. Keep your raw data raw\n1. Foresee and document all the possible missing values and outliers in your data\n1. Changelogs and data structures versioning \n1. Ensure the data points can’t get lost\n1. Hire a data officer. \n\n[reference](https://towardsdatascience.com/how-to-collect-your-deep-learning-dataset-2e0eefc0ba24)" + }, + { + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "cell_type": "markdown", + "source": "\n**<< Note 1 >>**\n\n* Each row is an observation (also known as : sample, example, instance, record)\n* Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "33344731ac8933d46461ca893ea8936f6ee1c3e4", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 2\nusers.sample(1) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "6a15630f403601203c74bba16f343ae61d9937fb", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.sample(1) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "dcb47a70a03a7e73bab46f31dd3096a09be7b560", + "trusted": true + }, + "cell_type": "code", + "source": "train.sample(1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "cell_type": "markdown", + "source": "### Please **replace** your username and find your userid\n\nWe suppose that userid==authoruserid and use userid for both kernels and users dataset" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true + }, + "cell_type": "code", + "source": "username=\"mjbahmani\"\nuserid=int(users[users['UserName']==\"mjbahmani\"].Id)\nuserid", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7cc8cac399d9d348842ea0b589581f5f909c17dd" + }, + "cell_type": "markdown", + "source": "But if we had , we can just use **dropna()**(be careful sometimes you should not do this!)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7972fa0a7d1950d8a59f9820c6cacc00eb8f1015", + "trusted": true + }, + "cell_type": "code", + "source": "# remove rows that have NA's\nprint('Before Droping',train.shape)\n#command--> 3\ntrain = train.dropna()\nprint('After Droping',train.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b1a61ef77cbe97153445293fc8d01f409d87272f" + }, + "cell_type": "markdown", + "source": "
\n## 3-1-1 Features\nFeatures can be from following types:\n1. numeric\n1. categorical\n1. ordinal\n1. datetime\n1. coordinates\n\nFind the type of features in **Meta Kaggle**?!\n
\nFor getting some information about the dataset you can use **info()** command\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "de95bf94a02721364ad6cbd6d440d664b2961e39", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 4\nprint(users.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "8f47ccc4538b823bf0a5ac15eef7787395620ed5", + "trusted": true + }, + "cell_type": "code", + "source": "print(freeFormResponses.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7b650ee1c8aaa1d7c7e1c15dd102169e0fd0db60", + "trusted": true + }, + "cell_type": "code", + "source": "print(train.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e08d410c0dac5cf34eea33940ab586eb7e9ded5a" + }, + "cell_type": "markdown", + "source": "
\n## 3-1-2 Explorer Dataset\n1. Dimensions of the dataset.\n\n1. Peek at the data itself.\n\n1. Statistical summary of all attributes.\n\n1. Breakdown of the data by the class variable.\n\nDon’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true + }, + "cell_type": "code", + "source": "# shape\n#command--> 5\nprint(users.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true + }, + "cell_type": "code", + "source": "# shape\nprint(kernels.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5e6358361a6a8fcc60087baa6cebb18c18296299", + "trusted": true + }, + "cell_type": "code", + "source": "print(freeFormResponses.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "8b724ebb9a0a1176e52543938bc67591b54d3e8d", + "trusted": true + }, + "cell_type": "code", + "source": "print(train.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true + }, + "cell_type": "code", + "source": "#columns*rows\n#command--> 6\nusers.size", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true + }, + "cell_type": "code", + "source": "#columns*rows\nkernels.size", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "cell_type": "markdown", + "source": "\nWe can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property." + }, + { + "metadata": { + "_uuid": "3458838205be4c7fbff88e95ef69934e13e2199b" + }, + "cell_type": "markdown", + "source": "You see number of unique item for Species with command below:" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "4b90d165a007106ae99809ad28edd75bd8153dd8", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 7\nkernels['Medal'].unique()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "8accfbddf2228274ad412c3ad3be72b4107d6f6c", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 8\nkernels[\"Medal\"].value_counts()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "eb1a194f9b7598401c44d2b762ecd75f1e2c3955", + "trusted": true + }, + "cell_type": "code", + "source": "train[\"question_text\"].head(5)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "cell_type": "markdown", + "source": "To check the first 5 rows of the data set, we can use head(5)." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.head(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "cell_type": "markdown", + "source": "To check out last 5 row of the data set, we use tail() function" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 9\nusers.tail() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "cell_type": "markdown", + "source": "To pop up 5 random rows from the data set, we can use **sample(5)** function" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.sample(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "cell_type": "markdown", + "source": "To give a statistical summary about the dataset, we can use **describe()" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.describe() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2ecc1896c6cd6c342cddb2e1ef0e774e66c8dc5d" + }, + "cell_type": "markdown", + "source": "
\n## 3-2 Data Cleaning\nWhen dealing with real-world data, dirty data is the norm rather than the exception. We continuously need to predict correct values, impute missing ones, and find links between various data artefacts such as schemas and records. We need to stop treating data cleaning as a piecemeal exercise (resolving different types of errors in isolation), and instead leverage all signals and resources (such as constraints, available statistics, and dictionaries) to accurately predict corrective actions.\n\n\n\nThe primary goal of data cleaning is to detect and remove errors and **anomalies** to increase the value of data in analytics and decision making. While it has been the focus of many researchers for several years, individual problems have been addressed separately. These include missing value imputation, outliers detection, transformations, integrity constraints violations detection and repair, consistent query answering, deduplication, and many other related problems such as profiling and constraints mining.[4]\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "031d16ca235837e889734635ecff193be64b27a4" + }, + "cell_type": "markdown", + "source": "How many NA elements in every column!!\nGood news, it is Zero!\nto check out how many null info are on the dataset, we can use **isnull().sum()**." + }, + { + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5", + "trusted": true + }, + "cell_type": "code", + "source": "#How many NA elements in every column\n#command--> 10\nusers.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "446e6162e16325213047ff31454813455668b574", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 11\nkernels.groupby('Medal').count()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + }, + "cell_type": "markdown", + "source": "To print dataset **columns**, we can use columns atribute." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "62b52ea61cfa597007bd31652c7f03778233227c", + "trusted": true + }, + "cell_type": "code", + "source": "users.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "40f98b7a01af83ef9be8cd81c72bf281e07493ae", + "trusted": true + }, + "cell_type": "code", + "source": "train.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "22bc5d81c18275ee1fb082c0adbb7a65bdbec4cc" + }, + "cell_type": "markdown", + "source": "**<< Note 2 >>**\nIn pandas's data frame you can perform some query such as \"where\"." + }, + { + "metadata": { + "_uuid": "ff69b963b60e8ff77acae02850885c7e90358129" + }, + "cell_type": "markdown", + "source": "
\n## 3-2-1 Find yourself in Users datset" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "1e36488451f22350bc2c655bfdd2b50803540b87", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 12\nusers[users['Id']==userid]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "33fc33a18489b438a884819d99dc00a02b113be8" + }, + "cell_type": "markdown", + "source": "
\n## 3-2-2 Find your kernels in Kernels dataset" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "aa877c667451c76a052808964bbf8eb5991b39e0", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 13\nyourkernels=kernels[kernels['AuthorUserId']==userid]\nyourkernels", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5fb860dc8bb6bc8feba55df8936f05a3f139115f" + }, + "cell_type": "markdown", + "source": "
\n## 3-4 Data Preprocessing\n**Data preprocessing** refers to the transformations applied to our data before feeding it to the algorithm.\n \nData Preprocessing is a technique that is used to convert the raw data into a clean data set. In other words, whenever the data is gathered from different sources it is collected in raw format which is not feasible for the analysis.\nthere are plenty of steps for data preprocessing and we just listed some of them in general(Not just for Quora) :\n* Removing Target column (id)\n* Sampling (without replacement)\n* Making part of iris unbalanced and balancing (with undersampling and SMOTE)\n* Introducing missing values and treating them (replacing by average values)\n* Noise filtering\n* Data discretization\n* Normalization and standardization\n* PCA analysis\n* Feature selection (filter, embedded, wrapper)\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "0d7bdcfe284e49847a3488a5c8ecbeda71097583", + "trusted": true + }, + "cell_type": "code", + "source": "text = train['question_text']\ni=0\n#command--> 14\nfor row in text[:10]:\n i=i+1\n print(str(i),row)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bc203c66770b52d30c4cbf961243070198c9252a" + }, + "cell_type": "markdown", + "source": "### 3-4-1 Remove Numbers" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "812834e990b10afb01e949e09b86af5f0a8e9357", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 15\ndef removeNumbers(text):\n \"\"\" Removes integers \"\"\"\n text = ''.join([i for i in text if not i.isdigit()]) \n return text\n\ntext_removeNumbers = pd.DataFrame(columns=['TextBefore', 'TextAfter', 'Changed'])\ntext_removeNumbers['TextBefore'] = text.copy()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "54f76a2bb5a2b75227842751936a178553328b34", + "trusted": true + }, + "cell_type": "code", + "source": "for index, row in text_removeNumbers.iterrows():\n row['TextAfter'] = removeNumbers(row['TextBefore'])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "d2f241a5ffe44f46991cc382cdab0d0e81d88850", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 16\ntext_removeNumbers['Changed'] = np.where(text_removeNumbers['TextBefore']==text_removeNumbers['TextAfter'], 'no', 'yes')\nprint(\"{} of {} ({:.4f}%) questions have been changed.\".format(len(text_removeNumbers[text_removeNumbers['Changed']=='yes']), len(text_removeNumbers), 100*len(text_removeNumbers[text_removeNumbers['Changed']=='yes'])/len(text_removeNumbers)))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5f618edd119f64bdcaca196a1699f19fb9bdbe1d", + "trusted": true + }, + "cell_type": "code", + "source": "for index, row in text_removeNumbers[text_removeNumbers['Changed']=='yes'].head().iterrows():\n print(row['TextBefore'],'->',row['TextAfter'])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4c478414d064c2333112f07448343477c32c1509" + }, + "cell_type": "markdown", + "source": "The metafeatures that we'll create based on SRK's EDAs, [sudalairajkumar](http://http://www.kaggle.com/sudalairajkumar/simple-feature-engg-notebook-spooky-author) and [tunguz](https://www.kaggle.com/tunguz/just-some-simple-eda) are:\n1. Number of words in the text\n1. Number of unique words in the text\n1. Number of characters in the text\n1. Number of stopwords\n1. Number of punctuations\n1. Number of upper case words\n1. Number of title case words\n1. Average length of the words" + }, + { + "metadata": { + "_uuid": "0be2fbf75d975fc8361fdb70451c64e3fcf16320" + }, + "cell_type": "markdown", + "source": "Number of words in the text " + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "bce5854c5e8fc0cef7db77e8a9abeaad64c30e84", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 17\ntrain[\"num_words\"] = train[\"question_text\"].apply(lambda x: len(str(x).split()))\ntest[\"num_words\"] = test[\"question_text\"].apply(lambda x: len(str(x).split()))\nprint('maximum of num_words in train',train[\"num_words\"].max())\nprint('min of num_words in train',train[\"num_words\"].min())\nprint(\"maximum of num_words in test\",test[\"num_words\"].max())\nprint('min of num_words in train',test[\"num_words\"].min())\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "25bf1789c9a338cce7f0809c959609291af26e1b" + }, + "cell_type": "markdown", + "source": "Number of unique words in the text" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "f07efdfcda98708220a0f18a7a3993372cfed266", + "trusted": true + }, + "cell_type": "code", + "source": "train[\"num_unique_words\"] = train[\"question_text\"].apply(lambda x: len(set(str(x).split())))\ntest[\"num_unique_words\"] = test[\"question_text\"].apply(lambda x: len(set(str(x).split())))\nprint('maximum of num_unique_words in train',train[\"num_unique_words\"].max())\nprint('mean of num_unique_words in train',train[\"num_unique_words\"].mean())\nprint(\"maximum of num_unique_words in test\",test[\"num_unique_words\"].max())\nprint('mean of num_unique_words in train',test[\"num_unique_words\"].mean())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7750a576d4d556e2a25c264ac186daceb667f6f9" + }, + "cell_type": "markdown", + "source": "Number of characters in the text " + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5677a7d44d437d0ee94d0849533bca7f1075b10c", + "trusted": true + }, + "cell_type": "code", + "source": "\ntrain[\"num_chars\"] = train[\"question_text\"].apply(lambda x: len(str(x)))\ntest[\"num_chars\"] = test[\"question_text\"].apply(lambda x: len(str(x)))\nprint('maximum of num_chars in train',train[\"num_chars\"].max())\nprint(\"maximum of num_chars in test\",test[\"num_chars\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "511b92ce149dcc317e02ba017344ac2625956ccf" + }, + "cell_type": "markdown", + "source": "Number of stopwords in the text" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "6b4963b95b3a4781e4cab004fa231109fa08a943", + "trusted": true + }, + "cell_type": "code", + "source": "#from nltk.corpus import stopwords\neng_stopwords = set(stopwords.words(\"english\"))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "def001bb47659a235c5599ccc3d706639e0b1b0a", + "trusted": true + }, + "cell_type": "code", + "source": "train[\"num_stopwords\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).lower().split() if w in eng_stopwords]))\ntest[\"num_stopwords\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).lower().split() if w in eng_stopwords]))\nprint('maximum of num_stopwords in train',train[\"num_stopwords\"].max())\nprint(\"maximum of num_stopwords in test\",test[\"num_stopwords\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "938cde022787d1b03000382a903b960597640d06" + }, + "cell_type": "markdown", + "source": "Number of punctuations in the text" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "e72fc2184245fadffb767d0f2fe8e68403c12274", + "trusted": true + }, + "cell_type": "code", + "source": "\ntrain[\"num_punctuations\"] =train['question_text'].apply(lambda x: len([c for c in str(x) if c in string.punctuation]) )\ntest[\"num_punctuations\"] =test['question_text'].apply(lambda x: len([c for c in str(x) if c in string.punctuation]) )\nprint('maximum of num_punctuations in train',train[\"num_punctuations\"].max())\nprint(\"maximum of num_punctuations in test\",test[\"num_punctuations\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8ae7a13782b109a892f9e1504fd3ac790fa518a8" + }, + "cell_type": "markdown", + "source": "Number of title case words in the text" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "2874be8704da173bab1ac29e5982727b2067fbd9", + "trusted": true + }, + "cell_type": "code", + "source": "\ntrain[\"num_words_upper\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.isupper()]))\ntest[\"num_words_upper\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.isupper()]))\nprint('maximum of num_words_upper in train',train[\"num_words_upper\"].max())\nprint(\"maximum of num_words_upper in test\",test[\"num_words_upper\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8df5b6b86abc982b15afb973bd390eddb027e0b9" + }, + "cell_type": "markdown", + "source": "Number of title case words in the text" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "fd2e10d8b5fd5cf99fb95afe9d2964f23ceb2e50", + "trusted": true + }, + "cell_type": "code", + "source": "\ntrain[\"num_words_title\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.istitle()]))\ntest[\"num_words_title\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.istitle()]))\nprint('maximum of num_words_title in train',train[\"num_words_title\"].max())\nprint(\"maximum of num_words_title in test\",test[\"num_words_title\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f4fa05b90e1abb77c6582275e1f9ebf2844628c4" + }, + "cell_type": "markdown", + "source": " Average length of the words in the text " + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "442b391fda00a1bc99b48b47d41cbb4c3e2ef6d4", + "trusted": true + }, + "cell_type": "code", + "source": "\ntrain[\"mean_word_len\"] = train[\"question_text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))\ntest[\"mean_word_len\"] = test[\"question_text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))\nprint('mean_word_len in train',train[\"mean_word_len\"].max())\nprint(\"mean_word_len in test\",test[\"mean_word_len\"].max())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "aa882e5bcdc7d5f440489eff75d1d225269655a4" + }, + "cell_type": "markdown", + "source": "**<< Note >>**\n>**Preprocessing and generation pipelines depend on a model type**" + }, + { + "metadata": { + "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" + }, + "cell_type": "markdown", + "source": "
\n## 3-4 Visualization\n**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns.\n\nWith interactive visualization, you can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data you see and how it’s processed.[SAS]\n\n In this section I show you **11 plots** with **matplotlib** and **seaborn** that is listed in the blew picture:\n \n" + }, + { + "metadata": { + "_uuid": "b0014a7a52e714996bc443981c853095926d20e5" + }, + "cell_type": "markdown", + "source": "
\n## 3-4-1 Scatter plot\n\nScatter plot Purpose To identify the type of relationship (if any) between two quantitative variables\n\n\n" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "8f35fd1761bec3516ad6940f88e916dfb67dfda0", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 18\nyourkernels.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "af099546eed64ebc796403d4139cb4c977c27b03", + "trusted": true + }, + "cell_type": "code", + "source": "# Modify the graph above by assigning each species an individual color.\n#command--> 19\nx=yourkernels[\"TotalVotes\"]\ny=yourkernels[\"TotalViews\"]\nplt.scatter(x, y)\nplt.legend()\nplt.show()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "1b31a7c185ee654c31ff5b062d111bcefa205966", + "trusted": true + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,2,figsize=(18,8))\nyourkernels['Medal'].value_counts().plot.bar(color=['#CD7F32','#FFDF00','#D3D3D3'],ax=ax[0])\nax[0].set_title('Number Of Medal')\nax[0].set_ylabel('Count')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d1c7b62b5f8cba427bca13049256365141655372" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-2 Box\nIn descriptive statistics, a **box plot** or boxplot is a method for graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram.[wikipedia]" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "0655e20f31a582f861d391308a088778cd7eaae9", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 20\nyourkernels[\"TotalVotes\"].plot(kind='box')\nplt.figure()\n#This gives us a much clearer idea of the distribution of the input attributes:\n\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "81b8d70c5d8b2d024337d989ec1e204b612f676d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "yourkernels[\"TotalComments\"].plot(kind='box')\nplt.figure()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "f7f6426fd44bcd77d35a5fdbc8c4fc4f18d991ad", + "trusted": true + }, + "cell_type": "code", + "source": "# To plot the species data using a box plot:\n#command--> 21\nsns.boxplot(x=\"TotalComments\", y=\"TotalVotes\", data=yourkernels )\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7b193e4aa7e6fb337d3f65c334849094addd097a", + "trusted": true + }, + "cell_type": "code", + "source": "# Use Seaborn's striplot to add data points on top of the box plot \n# Insert jitter=True so that the data points remain scattered and not piled into a verticle line.\n# Assign ax to each axis, so that each plot is ontop of the previous axis. \n\nax= sns.boxplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels)\nax= sns.stripplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels, jitter=True, edgecolor=\"gray\")\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "56adbafa89c117118621c72b3b7cb19edc21298e", + "trusted": true + }, + "cell_type": "code", + "source": "# Tweek the plot above to change fill and border color color using ax.artists.\n# Assing ax.artists a variable name, and insert the box number into the corresponding brackets\n#command--> 22\nax= sns.boxplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels)\nax= sns.stripplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels, jitter=True, edgecolor=\"gray\")\n\nboxtwo = ax.artists[2]\nboxtwo.set_facecolor('red')\nboxtwo.set_edgecolor('black')\nboxthree=ax.artists[1]\nboxthree.set_facecolor('yellow')\nboxthree.set_edgecolor('black')\n\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "40c9ab245695d47cb33eda65a0d637de390f9e59", + "trusted": true + }, + "cell_type": "code", + "source": "sns.factorplot('TotalViews','TotalVotes',hue='Medal',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c73a82a05855195ac32dedb3056e84355e273b0f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.factorplot('TotalComments','TotalVotes',hue='Medal',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "743a92c3c2fff1a1f99845518247f7971ad18b7c" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-3 Histogram\nWe can also create a **histogram** of each input variable to get an idea of the distribution.\n\n" + }, + { + "metadata": { + "_uuid": "fcea7d2a5fb011f4ea70e19d7a50f0aba5af731b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train[\"num_words\"] = train[\"question_text\"].apply(lambda x: len(str(x).split()))\ntest[\"num_words\"] = test[\"question_text\"].apply(lambda x: len(str(x).split()))\nprint('maximum of num_words in train',train[\"num_words\"].max())\nprint('min of num_words in train',train[\"num_words\"].min())\nprint(\"maximum of num_words in test\",test[\"num_words\"].max())\nprint('min of num_words in train',test[\"num_words\"].min())\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "66f3be03ed655d3ed76026fd977835106ac47a54", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#command--> 23\nf,ax=plt.subplots(1,2,figsize=(20,10))\ntrain[train['target']==0].num_words.plot.hist(ax=ax[0],bins=20,edgecolor='black',color='red')\nax[0].set_title('target= 0')\nx1=list(range(0,85,5))\nax[0].set_xticks(x1)\ntrain[train['target']==1].num_words.plot.hist(ax=ax[1],color='green',bins=20,edgecolor='black')\nax[1].set_title('target= 1')\nx2=list(range(0,85,5))\nax[1].set_xticks(x2)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5da0520ed3e738ee8814b2d91843ed4acec2b6e6", + "trusted": true + }, + "cell_type": "code", + "source": "# histograms\n#command--> 24\nyourkernels.hist(figsize=(15,20))\nplt.figure()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "90b6df3255561e3944ea89c5f1ca8c815f862a7f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train[\"num_words\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b4e3de19781686010c6038f0e3076eb678398169" + }, + "cell_type": "markdown", + "source": "It looks like perhaps two of the input variables have a Gaussian distribution. This is useful to note as we can use algorithms that can exploit this assumption.\n\n" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "9f80a6e971cbf0af72d659b51af552ea1dddc9a8", + "trusted": true + }, + "cell_type": "code", + "source": "yourkernels[\"TotalViews\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1173ef1b6ca75e28f94a891880294d1765b022ea", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "yourkernels[\"TotalComments\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5d8ef0781d88c46a8becf6d7f5b1f4ad2c05db7e", + "trusted": true + }, + "cell_type": "code", + "source": "sns.factorplot('TotalViews','TotalVotes',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "15e2743389cb58055ee5bb9dd9b829fb85850af2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.factorplot('TotalComments','TotalVotes',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e0f696ec021ec99c1058a62e22c8b73082fe6fa7" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-5 violinplots" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "e352d2f8340609adf4bf6718b1d2ecee0fa730b5", + "trusted": true + }, + "cell_type": "code", + "source": "# violinplots on petal-length for each species\n#command--> 24\nsns.violinplot(data=yourkernels,x=\"TotalViews\", y=\"TotalVotes\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "82d42d69a63f9dacf41dad5bfb1b7908cefc2633", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# violinplots on petal-length for each species\nsns.violinplot(data=yourkernels,x=\"TotalComments\", y=\"TotalVotes\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "363b3e9509d5e3ba157c0b5f319d2585c58ee28f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.violinplot(data=yourkernels,x=\"Medal\", y=\"TotalVotes\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c67af4ad8d452f8e9f929e8a3284de675e3fd0d9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.violinplot(data=yourkernels,x=\"Medal\", y=\"TotalComments\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "cell_type": "markdown", + "source": "How many NA elements in every column.\n" + }, + { + "metadata": { + "_uuid": "2544d3c2dd34a360d295019d8cb597c7ef8f66bc" + }, + "cell_type": "markdown", + "source": "
\n### 3-6-7 kdeplot" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "1d07222b89303b386e9e824d52cc73c045667f25", + "trusted": true + }, + "cell_type": "code", + "source": "# seaborn's kdeplot, plots univariate or bivariate density estimates.\n#Size can be changed by tweeking the value used\n#command--> 25\nsns.FacetGrid(yourkernels, hue=\"Medal\", size=5).map(sns.kdeplot, \"TotalComments\").add_legend()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3662003d5cb728d91c71e339cc7d6feba17b495f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.FacetGrid(yourkernels, hue=\"Medal\", size=5).map(sns.kdeplot, \"TotalVotes\").add_legend()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "06e1259b209e753c2f05643706d6157145bb3b98", + "trusted": true + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,3,figsize=(20,8))\nsns.distplot(yourkernels[yourkernels['Medal']==1].TotalVotes,ax=ax[0])\nax[0].set_title('TotalVotes in Medal 1')\nsns.distplot(yourkernels[yourkernels['Medal']==2].TotalVotes,ax=ax[1])\nax[1].set_title('TotalVotes in Medal 2')\nsns.distplot(yourkernels[yourkernels['Medal']==3].TotalVotes,ax=ax[2])\nax[2].set_title('TotalVotes in Medal 3')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "560d8e8f17bacefaf8c3855a9648f26b82fdee9b" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-8 jointplot" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "4adb4da16ea61e0f1a12bc9925dfbbaaa81e0360", + "trusted": true + }, + "cell_type": "code", + "source": "# Use seaborn's jointplot to make a hexagonal bin plot\n#Set desired size and ratio and choose a color.\n#command--> 25\nsns.jointplot(x=\"TotalVotes\", y=\"TotalViews\", data=yourkernels, size=10,ratio=10, kind='hex',color='green')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3768e31e990bfe4c2ff7b45087fbba85e0560d00" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-9 andrews_curves" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "263eaa9d2bfad0f8c68b6e8e874bdc11a6e802ac", + "trusted": true + }, + "cell_type": "code", + "source": "# we will use seaborn jointplot shows bivariate scatterplots and univariate histograms with Kernel density \n# estimation in the same figure\nsns.jointplot(x=\"TotalVotes\", y=\"TotalViews\", data=yourkernels, size=6, kind='kde', color='#800000', space=0)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8e73333289d17dd648b7b2112d7fe3fe7ea444d0" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-10 Heatmap" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "3100955ca9dc61ac7d435e9c064d10d06f26afa7", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 26\nplt.figure(figsize=(10,7)) \nsns.heatmap(yourkernels.corr(),annot=True,cmap='cubehelix_r') #draws heatmap with input as the correlation matrix calculted by(iris.corr())\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6ac924245735f2f63dc95f4a60039cbc4b5f9f0a" + }, + "cell_type": "markdown", + "source": "
\n## 3-4-11 WordCloud\nMany times you might have seen a cloud filled with lots of words in different sizes, which represent the frequency or the importance of each word. This is called Tag Cloud or WordCloud." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "d405a5c758a63d38f92124a790e3083715224f39", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 27\nfrom wordcloud import WordCloud as wc\nfrom nltk.corpus import stopwords\neng_stopwords = set(stopwords.words(\"english\"))\nmessages.head(1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "2d794c89a475349868f82690878ed934ec05fd81", + "trusted": true + }, + "cell_type": "code", + "source": "def generate_wordcloud(text): \n wordcloud = wc(relative_scaling = 1.0,stopwords = eng_stopwords).generate(text)\n fig,ax = plt.subplots(1,1,figsize=(10,10))\n ax.imshow(wordcloud, interpolation='bilinear')\n ax.axis(\"off\")\n ax.margins(x=0, y=0)\n plt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "037cd661617de8b3470ade47ac212a31b12e6e1e", + "trusted": true + }, + "cell_type": "code", + "source": "text=','.join(str(v) for v in train['question_text'])\n#text =\" \".join(messages['Message'])\ngenerate_wordcloud(text)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "83d564bc724f73bfea4b645e3736b46243d0edb0", + "trusted": true + }, + "cell_type": "code", + "source": "text=','.join(str(v) for v in messages['Message'])\n#text =\" \".join(messages['Message'])\ngenerate_wordcloud(text)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3fff0732ca216c092cc41f33d45dc67e54f2c8f0" + }, + "cell_type": "markdown", + "source": "
\n## 3-4-12 CountPlot" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "016fab6c1ce45edb1baf69cf052517dd4e07b002", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 28\nax=sns.countplot(x='target',hue=\"target\", data=train ,linewidth=5,edgecolor=sns.color_palette(\"dark\", 3))\nplt.title('Is data set imbalance?');", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "9231021ad2da6e478f22dc11f4409de66f36049c", + "trusted": true + }, + "cell_type": "code", + "source": "ax = sns.countplot(y=\"target\", hue=\"target\", data=train)\nplt.title('Is data set imbalance?');", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f5b7ad3f5d499ef756bd6666995aebcd33ba9fd5" + }, + "cell_type": "markdown", + "source": "
\n## 3-4-13 Pie Plot" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "1bedf9e97cd52331c759fd05d19da9f441c1866e", + "trusted": true + }, + "cell_type": "code", + "source": "#command--> 29\nax=train['target'].value_counts().plot.pie(explode=[0,0.1],autopct='%1.1f%%' ,shadow=True)\nax.set_title('target')\nax.set_ylabel('')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4f02c235284ef14f0007400125119ba36b81e325" + }, + "cell_type": "markdown", + "source": "
\n## 4- Matplotlib\n\nThis Matplotlib tutorial takes you through the basics Python data visualization: the anatomy of a plot, pyplot and pylab, and much more\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "857d9a02e72211b4fde6f06debd3a57c8a0b1849" + }, + "cell_type": "markdown", + "source": "You can show matplotlib figures directly in the notebook by using the `%matplotlib notebook` and `%matplotlib inline` magic commands. \n\n`%matplotlib notebook` provides an interactive environment." + }, + { + "metadata": { + "_uuid": "0d66eabe3f4f7288f12f8f0160b2f8e914d16ba9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# because the default is the line style '-', \n# nothing will be shown if we only pass in one point (3,2)\nplt.plot(3, 2)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "dad68ac5985444a4458259c448d1b6ffd9bf1710", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# we can pass in '.' to plt.plot to indicate that we want\n# the point (3,2) to be indicated with a marker '.'\nplt.plot(3, 2, '.')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "18c4b411903becff1b3612730bc0287cb6ac14ad" + }, + "cell_type": "markdown", + "source": "Let's see how to make a plot without using the scripting layer." + }, + { + "metadata": { + "_uuid": "8f1bd139edb5cf1cc73f9f956d2d34844a726566", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# First let's set the backend without using mpl.use() from the scripting layer\n\n# create a new figure\nfig = Figure()\n\n# associate fig with the backend\ncanvas = FigureCanvasAgg(fig)\n\n# add a subplot to the fig\nax = fig.add_subplot(111)\n\n# plot the point (3,2)\nax.plot(3, 2, '.')\n\n# save the figure to test.png\n# you can see this figure in your Jupyter workspace afterwards by going to\n# https://hub.coursera-notebooks.org/\ncanvas.print_png('test.png')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "66c8f302e0afffb4652ff2f80212610fd37ae126" + }, + "cell_type": "markdown", + "source": "We can use html cell magic to display the image." + }, + { + "metadata": { + "_uuid": "d43abba30465cee9dc1364fd2a27334c70da8598", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "%%html\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2c76e50e3ecda1fe2144f16b9c9fdaa6bca37c61", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# create a new figure\nplt.figure()\n\n# plot the point (3,2) using the circle marker\nplt.plot(3, 2, 'o')\n\n# get the current axes\nax = plt.gca()\n\n# Set axis properties [xmin, xmax, ymin, ymax]\nax.axis([0,6,0,10])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0cc553845bb24ead8e57b5ccc59c6753a847f136", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# create a new figure\nplt.figure()\n\n# plot the point (1.5, 1.5) using the circle marker\nplt.plot(1.5, 1.5, 'o')\n# plot the point (2, 2) using the circle marker\nplt.plot(2, 2, 'o')\n# plot the point (2.5, 2.5) using the circle marker\nplt.plot(2.5, 2.5, 'o')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "41cc8f299ccc6825cf1ac49a8bc2039496bcc9a9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# get current axes\nax = plt.gca()\n# get all the child objects the axes contains\nax.get_children()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "add973c3905be06ebae9f033070ee779f58dd785", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\nplt.plot([1, 2, 3, 4], [10, 20, 25, 30], color='lightblue', linewidth=3)\nplt.scatter([0.3, 3.8, 1.2, 2.5], [11, 25, 9, 26], color='darkgreen', marker='^')\nplt.xlim(0.5, 4.5)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0f4decd6f93319534a203748fd8a2b9bcc154ddb" + }, + "cell_type": "markdown", + "source": "
\n## 4-1 Scatterplots" + }, + { + "metadata": { + "_uuid": "bf892e30bb09f0dc5fdf039d827ac55560b6ec06", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n\nx = np.array([1,2,3,4,5,6,7,8])\ny = x\n\nplt.figure()\nplt.scatter(x, y) # similar to plt.plot(x, y, '.'), but the underlying child objects in the axes are not Line2D", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9d4e979c8b366aa6e511a6d7316f63586346c649", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n\nx = np.array([1,2,3,4,5,6,7,8])\ny = x\n\n# create a list of colors for each point to have\n# ['green', 'green', 'green', 'green', 'green', 'green', 'green', 'red']\ncolors = ['green']*(len(x)-1)\ncolors.append('red')\n\nplt.figure()\n\n# plot the point with size 100 and chosen colors\nplt.scatter(x, y, s=100, c=colors)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "935be30b9a6a7c78b58fe1a9c6e4690c494fb697", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# convert the two lists into a list of pairwise tuples\nzip_generator = zip([1,2,3,4,5], [6,7,8,9,10])\n\nprint(list(zip_generator))\n# the above prints:\n# [(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]\n\nzip_generator = zip([1,2,3,4,5], [6,7,8,9,10])\n# The single star * unpacks a collection into positional arguments\nprint(*zip_generator)\n# the above prints:\n# (1, 6) (2, 7) (3, 8) (4, 9) (5, 10)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d6f848fc8d0879c658a6a4e90ca533bddf3be6e3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# use zip to convert 5 tuples with 2 elements each to 2 tuples with 5 elements each\nprint(list(zip((1, 6), (2, 7), (3, 8), (4, 9), (5, 10))))\n# the above prints:\n# [(1, 2, 3, 4, 5), (6, 7, 8, 9, 10)]\n\n\nzip_generator = zip([1,2,3,4,5], [6,7,8,9,10])\n# let's turn the data back into 2 lists\nx, y = zip(*zip_generator) # This is like calling zip((1, 6), (2, 7), (3, 8), (4, 9), (5, 10))\nprint(x)\nprint(y)\n# the above prints:\n# (1, 2, 3, 4, 5)\n# (6, 7, 8, 9, 10)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b9c79e1558adbb3b19de2564376a24191766ab1f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# plot a data series 'Tall students' in red using the first two elements of x and y\nplt.scatter(x[:2], y[:2], s=100, c='red', label='Tall students')\n# plot a second data series 'Short students' in blue using the last three elements of x and y \nplt.scatter(x[2:], y[2:], s=100, c='blue', label='Short students')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "70731835527ce5a16e4a8bd2a0017e3bbe8065ee", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# add a label to the x axis\nplt.xlabel('The number of times the child kicked a ball')\n# add a label to the y axis\nplt.ylabel('The grade of the student')\n# add a title\nplt.title('Relationship between ball kicking and grades')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "691db571df12646a4fe2740e55a43942ea779063", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# add a legend (uses the labels from plt.scatter)\nplt.legend()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0908d7c94c14feb08f953e5cd10f31cb0081f5d3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# add the legend to loc=4 (the lower right hand corner), also gets rid of the frame and adds a title\nplt.legend(loc=4, frameon=False, title='Legend')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0eb79626b7b55559e40ca71ba5c3542466b629c9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# get children from current axes (the legend is the second to last item in this list)\nplt.gca().get_children()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f2b5d97457e3ebd63311aef5b92fc137bd1701f5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# get the legend from the current axes\nlegend = plt.gca().get_children()[-2]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5334176f4177a64cb1726accb26502beb9b36626", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = np.random.randint(low=1, high=11, size=50)\ny = x + np.random.randint(1, 5, size=x.size)\ndata = np.column_stack((x, y))\n\nfig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2,\n figsize=(8, 4))\n\nax1.scatter(x=x, y=y, marker='o', c='r', edgecolor='b')\nax1.set_title('Scatter: $x$ versus $y$')\nax1.set_xlabel('$x$')\nax1.set_ylabel('$y$')\n\nax2.hist(data, bins=np.arange(data.min(), data.max()),\n label=('x', 'y'))\nax2.legend(loc=(0.65, 0.8))\nax2.set_title('Frequencies of $x$ and $y$')\nax2.yaxis.tick_right()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c372afa727e992b9ec097c1f172becfd06bff4ef" + }, + "cell_type": "markdown", + "source": "
\n## 4-2 Line Plots" + }, + { + "metadata": { + "_uuid": "163942ca710e3c67e8479cd02518ca37eae8ead7", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n\nlinear_data = np.array([1,2,3,4,5,6,7,8])\nexponential_data = linear_data**2\n\nplt.figure()\n# plot the linear data and the exponential data\nplt.plot(linear_data, '-o', exponential_data, '-o')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7a4c6677b81fb82e1e7a1164ced70c4168080dbf", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# plot another series with a dashed red line\nplt.plot([22,44,55], '--r')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "517e72eb500a3ba4db76467919f59ded9d3683cb" + }, + "cell_type": "markdown", + "source": "
\n## 4-3 Bar Charts" + }, + { + "metadata": { + "_uuid": "8a5ee722c74c9228af2bcece24831e1539fe97b2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\nxvals = range(len(linear_data))\nplt.bar(xvals, linear_data, width = 0.3)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "11a85a29ca9b1574536bfee91cc63122148d996e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "new_xvals = []\n\n# plot another set of bars, adjusting the new xvals to make up for the first set of bars plotted\nfor item in xvals:\n new_xvals.append(item+0.3)\n\nplt.bar(new_xvals, exponential_data, width = 0.3 ,color='red')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f6597010276961362ce22b84d49a9ef5f46521f6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from random import randint\nlinear_err = [randint(0,15) for x in range(len(linear_data))] \n\n# This will plot a new set of bars with errorbars using the list of random error values\nplt.bar(xvals, linear_data, width = 0.3, yerr=linear_err)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8db2b0bb5d4160f7954bbcd7d9e53d29c68ef342", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# stacked bar charts are also possible\nplt.figure()\nxvals = range(len(linear_data))\nplt.bar(xvals, linear_data, width = 0.3, color='b')\nplt.bar(xvals, exponential_data, width = 0.3, bottom=linear_data, color='r')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ee208f2f850122b6e01ff1236b2915914fe59466", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# or use barh for horizontal bar charts\nplt.figure()\nxvals = range(len(linear_data))\nplt.barh(xvals, linear_data, height = 0.3, color='b')\nplt.barh(xvals, exponential_data, height = 0.3, left=linear_data, color='r')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "acd3cfbdedddae19d7a2bbc9b02fefba21f595de", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n\n# Initialize the plot\nfig = plt.figure(figsize=(20,10))\nax1 = fig.add_subplot(121)\nax2 = fig.add_subplot(122)\n\n# or replace the three lines of code above by the following line: \n#fig, (ax1, ax2) = plt.subplots(1,2, figsize=(20,10))\n\n# Plot the data\nax1.bar([1,2,3],[3,4,5])\nax2.barh([0.5,1,2.5],[0,1,2])\n\n# Show the plot\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "db3db00430b8e5ddb633f3c7c82a6bf63ccb0cbc", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# subplot with 1 row, 2 columns, and current axis is 1st subplot axes\nplt.subplot(1, 2, 1)\n\nlinear_data = np.array([1,2,3,4,5,6,7,8])\n\nplt.plot(linear_data, '-o')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ce5372a8e09fd5379b1b33c7b451ec1b983f8616", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "exponential_data = linear_data**2 \n\n# subplot with 1 row, 2 columns, and current axis is 2nd subplot axes\nplt.subplot(1, 2, 2)\nplt.plot(exponential_data, '-o')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cc4de0125429bdcd3227e894d083c0425934b228", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# plot exponential data on 1st subplot axes\nplt.subplot(1, 2, 1)\nplt.plot(exponential_data, '-x')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0b565e5356d99d5875de88a853710ee2dd3c4a53", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\nax1 = plt.subplot(1, 2, 1)\nplt.plot(linear_data, '-o')\n# pass sharey=ax1 to ensure the two subplots share the same y axis\nax2 = plt.subplot(1, 2, 2, sharey=ax1)\nplt.plot(exponential_data, '-x')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ec35c2bab0a1debaa6420f15b929d127d0d5f8cd", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# the right hand side is equivalent shorthand syntax\nplt.subplot(1,2,1) == plt.subplot(121)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "43bb9cbc7acd94927be086a66ad913bd0a796fc5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# create a 3x3 grid of subplots\nfig, ((ax1,ax2,ax3), (ax4,ax5,ax6), (ax7,ax8,ax9)) = plt.subplots(3, 3, sharex=True, sharey=True)\n# plot the linear_data on the 5th subplot axes \nax5.plot(linear_data, '-')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ec95c476865ba15ca11e2ef4a1ba466a9212f9b9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# set inside tick labels to visible\nfor ax in plt.gcf().get_axes():\n for label in ax.get_xticklabels() + ax.get_yticklabels():\n label.set_visible(True)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "161be784e0c413060709d21a160985ad798b40f8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# necessary on some systems to update the plot\nplt.gcf().canvas.draw()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "487fb5e77983c55ae891c3a99537d6cef0450b74" + }, + "cell_type": "markdown", + "source": "
\n## 4-4 Histograms" + }, + { + "metadata": { + "_uuid": "42551850b478e274b9f78d4f6ef717c636242616", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# create 2x2 grid of axis subplots\nfig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, sharex=True)\naxs = [ax1,ax2,ax3,ax4]\n\n# draw n = 10, 100, 1000, and 10000 samples from the normal distribution and plot corresponding histograms\nfor n in range(0,len(axs)):\n sample_size = 10**(n+1)\n sample = np.random.normal(loc=0.0, scale=1.0, size=sample_size)\n axs[n].hist(sample)\n axs[n].set_title('n={}'.format(sample_size))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "39b84012b223069dd4cc6f1441d2ad0f585218bf", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# repeat with number of bins set to 100\nfig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, sharex=True)\naxs = [ax1,ax2,ax3,ax4]\n\nfor n in range(0,len(axs)):\n sample_size = 10**(n+1)\n sample = np.random.normal(loc=0.0, scale=1.0, size=sample_size)\n axs[n].hist(sample, bins=100)\n axs[n].set_title('n={}'.format(sample_size))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4def4012769663b5665f7b70a077cf839b7793f1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\nY = np.random.normal(loc=0.0, scale=1.0, size=10000)\nX = np.random.random(size=10000)\nplt.scatter(X,Y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f6304a7d71b6edf6894e93bc62ad9ee4ffb0cce1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# use gridspec to partition the figure into subplots\nimport matplotlib.gridspec as gridspec\n\nplt.figure()\ngspec = gridspec.GridSpec(3, 3)\n\ntop_histogram = plt.subplot(gspec[0, 1:])\nside_histogram = plt.subplot(gspec[1:, 0])\nlower_right = plt.subplot(gspec[1:, 1:])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2a8f66c5169fcabafafa104e87897f175624245e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "Y = np.random.normal(loc=0.0, scale=1.0, size=10000)\nX = np.random.random(size=10000)\nlower_right.scatter(X, Y)\ntop_histogram.hist(X, bins=100)\ns = side_histogram.hist(Y, bins=100, orientation='horizontal')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "97062a938d44626006bd9e24b5893fdf9d98155d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# clear the histograms and plot normed histograms\ntop_histogram.clear()\ntop_histogram.hist(X, bins=100, normed=True)\nside_histogram.clear()\nside_histogram.hist(Y, bins=100, orientation='horizontal', normed=True)\n# flip the side histogram's x axis\nside_histogram.invert_xaxis()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e6b1208bb887180b8f0363c9e82cc6fcbf387698", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# change axes limits\nfor ax in [top_histogram, lower_right]:\n ax.set_xlim(0, 1)\nfor ax in [side_histogram, lower_right]:\n ax.set_ylim(-5, 5)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2bc0c6fc0bb19748e9e87603e3207f75ffa9b565" + }, + "cell_type": "markdown", + "source": "
\n## 4-5 Box and Whisker Plots" + }, + { + "metadata": { + "_uuid": "94dad21ec08e2633dacb64a89e5c807145042994", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\nnormal_sample = np.random.normal(loc=0.0, scale=1.0, size=10000)\nrandom_sample = np.random.random(size=10000)\ngamma_sample = np.random.gamma(2, size=10000)\n\ndf = pd.DataFrame({'normal': normal_sample, \n 'random': random_sample, \n 'gamma': gamma_sample})", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "87c08a9f914647f1735cb4b835b80f645685ef1e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.describe()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9f4b288fe4b8ab78e6ad788e4bcfb5931920fcf2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# create a boxplot of the normal data, assign the output to a variable to supress output\n_ = plt.boxplot(df['normal'], whis='range')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9dc56a6415be6584fba51630ced26b0aaa486a09", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# clear the current figure\nplt.clf()\n# plot boxplots for all three of df's columns\n_ = plt.boxplot([ df['normal'], df['random'], df['gamma'] ], whis='range')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0f44453d7022928d2aeed3c3e0126cbd7118cdd9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n_ = plt.hist(df['gamma'], bins=100)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4dba4f705171f002fc94429ec80f7b6a2fe67ff3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "import mpl_toolkits.axes_grid1.inset_locator as mpl_il\n\nplt.figure()\nplt.boxplot([ df['normal'], df['random'], df['gamma'] ], whis='range')\n# overlay axis on top of another \nax2 = mpl_il.inset_axes(plt.gca(), width='60%', height='40%', loc=2)\nax2.hist(df['gamma'], bins=100)\nax2.margins(x=0.5)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "90b1e8ffe23e39ec54414c1fd63b5d5c4e72be6f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# switch the y axis ticks for ax2 to the right side\nax2.yaxis.tick_right()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cb3652a440484d391d27122878456a642c58d804", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# if `whis` argument isn't passed, boxplot defaults to showing 1.5*interquartile (IQR) whiskers with outliers\nplt.figure()\n_ = plt.boxplot([ df['normal'], df['random'], df['gamma'] ] )", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fbf8bf0a67f6c49d78911c5f37be531ebbcd9edb" + }, + "cell_type": "markdown", + "source": "
\n## 4-6 Heatmaps" + }, + { + "metadata": { + "_uuid": "ebfc0dcb8e85aa540f6568fa96431a4e9707f3c1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n\nY = np.random.normal(loc=0.0, scale=1.0, size=10000)\nX = np.random.random(size=10000)\n_ = plt.hist2d(X, Y, bins=25)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fdbcf35950f94a4d0f1ce10efee6a4502f6ecfc8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n_ = plt.hist2d(X, Y, bins=100)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "139f44a4deb043128c8c7254eb60c33e0fc26e68" + }, + "cell_type": "markdown", + "source": "
\n## 4-7 Animations" + }, + { + "metadata": { + "_uuid": "b3676970195153dc6056600f024f55c1b6f0ba12", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "import matplotlib.animation as animation\n\nn = 100\nx = np.random.randn(n)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ea3eb5835e4acd53d43da483e17d79c32228cad6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# create the function that will do the plotting, where curr is the current frame\ndef update(curr):\n # check if animation is at the last frame, and if so, stop the animation a\n if curr == n: \n a.event_source.stop()\n plt.cla()\n bins = np.arange(-4, 4, 0.5)\n plt.hist(x[:curr], bins=bins)\n plt.axis([-4,4,0,30])\n plt.gca().set_title('Sampling the Normal Distribution')\n plt.gca().set_ylabel('Frequency')\n plt.gca().set_xlabel('Value')\n plt.annotate('n = {}'.format(curr), [3,27])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fb2314b3b1735c5e191c8427c5abe6429e4ff767", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "fig = plt.figure()\na = animation.FuncAnimation(fig, update, interval=100)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7e702e5e0a876f9fa0b2e4fe497a56b91e00a95d" + }, + "cell_type": "markdown", + "source": "
\n## 4-8 Interactivity" + }, + { + "metadata": { + "_uuid": "51fefb947daf8ca558cbc153e2ddbf39bcb7d4b2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\ndata = np.random.rand(10)\nplt.plot(data)\n\ndef onclick(event):\n plt.cla()\n plt.plot(data)\n plt.gca().set_title('Event at pixels {},{} \\nand data {},{}'.format(event.x, event.y, event.xdata, event.ydata))\n\n# tell mpl_connect we want to pass a 'button_press_event' into onclick when the event is detected\nplt.gcf().canvas.mpl_connect('button_press_event', onclick)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1d64a25dc386a30bd895ca8f58ca86d632f05d74", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from random import shuffle\norigins = ['China', 'Brazil', 'India', 'USA', 'Canada', 'UK', 'Germany', 'Iraq', 'Chile', 'Mexico']\n\nshuffle(origins)\n\ndf = pd.DataFrame({'height': np.random.rand(10),\n 'weight': np.random.rand(10),\n 'origin': origins})\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e13dd7e002938af1a52d7520004d839a3d7d2011", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# picker=5 means the mouse doesn't have to click directly on an event, but can be up to 5 pixels away\nplt.scatter(df['height'], df['weight'], picker=5)\nplt.gca().set_ylabel('Weight')\nplt.gca().set_xlabel('Height')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e926ab1d2dc2098a6af48526e9f980bf594c79cd", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def onpick(event):\n origin = df.iloc[event.ind[0]]['origin']\n plt.gca().set_title('Selected item came from {}'.format(origin))\n\n# tell mpl_connect we want to pass a 'pick_event' into onpick when the event is detected\nplt.gcf().canvas.mpl_connect('pick_event', onpick)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bb968584c16b9acc6466a3897c9415c57f3a7404", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# use the 'seaborn-colorblind' style\nplt.style.use('seaborn-colorblind')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "84742816a16280f7bca7c43879d6762e10e0a440" + }, + "cell_type": "markdown", + "source": "
\n## 4-9 DataFrame.plot" + }, + { + "metadata": { + "_uuid": "97a3554f9640a2b77e07c861b5a5b6c814a3b276", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.random.seed(123)\n\ndf = pd.DataFrame({'A': np.random.randn(365).cumsum(0), \n 'B': np.random.randn(365).cumsum(0) + 20,\n 'C': np.random.randn(365).cumsum(0) - 20}, \n index=pd.date_range('1/1/2017', periods=365))\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4d64fa4bc8b62fe1f4d2c2de0869bb49c8f7fc3d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.plot('A','B', kind = 'scatter');", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "857cecae1e2c9eb59c1a9d136ef1c5422d86d5ba" + }, + "cell_type": "markdown", + "source": "You can also choose the plot kind by using the `DataFrame.plot.kind` methods instead of providing the `kind` keyword argument.\n\n`kind` :\n- `'line'` : line plot (default)\n- `'bar'` : vertical bar plot\n- `'barh'` : horizontal bar plot\n- `'hist'` : histogram\n- `'box'` : boxplot\n- `'kde'` : Kernel Density Estimation plot\n- `'density'` : same as 'kde'\n- `'area'` : area plot\n- `'pie'` : pie plot\n- `'scatter'` : scatter plot\n- `'hexbin'` : hexbin plot\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "74997530957394a96f0aed15c21e65f54911159c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# create a scatter plot of columns 'A' and 'C', with changing color (c) and size (s) based on column 'B'\ndf.plot.scatter('A', 'C', c='B', s=df['B'], colormap='viridis')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6299f8dddb909c7850620499edc49afdfd909f75", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "ax = df.plot.scatter('A', 'C', c='B', s=df['B'], colormap='viridis')\nax.set_aspect('equal')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "91a25480397c8759047100da9ebc6c0264d8a918", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.plot.box();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b7bfa0ce17ea260d75eb97a0161af3dbd700f780", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.plot.hist(alpha=0.7);", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "21a68cb3d0111753d29df2b402011daff81c5ff4" + }, + "cell_type": "markdown", + "source": "[Kernel density estimation plots](https://en.wikipedia.org/wiki/Kernel_density_estimation) are useful for deriving a smooth continuous function from a given sample." + }, + { + "metadata": { + "_uuid": "7b4d0f65af26e55acaf9a06da13dc71eb21a408b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.plot.kde();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6be2f6011b57248d4ec69ef562147e072d9718ae" + }, + "cell_type": "markdown", + "source": "
\n# 5- Seaborn\n\nAs you have just read, **Seaborn** is complimentary to Matplotlib and it specifically targets statistical data visualization. But it goes even further than that: Seaborn extends Matplotlib and that’s why it can address the two biggest frustrations of working with Matplotlib. Or, as Michael Waskom says in the “introduction to Seaborn”: “If matplotlib “tries to make easy things easy and hard things possible”, seaborn tries to make a well-defined set of hard things easy too.”\n\nOne of these hard things or frustrations had to do with the default Matplotlib parameters. Seaborn works with different parameters, which undoubtedly speaks to those users that don’t use the default looks of the Matplotlib plots\nSeaborn is a library for making statistical graphics in Python. It is built on top of matplotlib and closely integrated with pandas data structures.\n\nHere is some of the functionality that seaborn offers:\n\nA dataset-oriented API for examining relationships between multiple variables\nSpecialized support for using categorical variables to show observations or aggregate statistics\nOptions for visualizing univariate or bivariate distributions and for comparing them between subsets of data\nAutomatic estimation and plotting of linear regression models for different kinds dependent variables\nConvenient views onto the overall structure of complex datasets\nHigh-level abstractions for structuring multi-plot grids that let you easily build complex visualizations\nConcise control over matplotlib figure styling with several built-in themes\nTools for choosing color palettes that faithfully reveal patterns in your data\nSeaborn aims to make visualization a central part of exploring and understanding data. Its dataset-oriented plotting functions operate on dataframes and arrays containing whole datasets and internally perform the necessary semantic mapping and statistical aggregation to produce informative plots.\n\nHere’s an example of what this means:" + }, + { + "metadata": { + "trusted": true, + "_uuid": "61d945abc7817a724a8ff13b8d91601a26dd70a2" + }, + "cell_type": "markdown", + "source": "
\n## 5-1 Seaborn Vs Matplotlib\n\nIt is summarized that if Matplotlib “tries to make easy things easy and hard things possible”, Seaborn tries to make a well defined set of hard things easy too.”\n\nSeaborn helps resolve the two major problems faced by Matplotlib; the problems are\n\n* Default Matplotlib parameters\n* Working with data frames\n\nAs Seaborn compliments and extends Matplotlib, the learning curve is quite gradual. If you know Matplotlib, you are already half way through Seaborn.\n\nImportant Features of Seaborn\nSeaborn is built on top of Python’s core visualization library Matplotlib. It is meant to serve as a complement, and not a replacement. However, Seaborn comes with some very important features. Let us see a few of them here. The features help in −\n\n* Built in themes for styling matplotlib graphics\n* Visualizing univariate and bivariate data\n* Fitting in and visualizing linear regression models\n* Plotting statistical time series data\n* Seaborn works well with NumPy and Pandas data structures\n* It comes with built in themes for styling Matplotlib graphics\n\nIn most cases, you will still use Matplotlib for simple plotting. The knowledge of Matplotlib is recommended to tweak Seaborn’s default plots." + }, + { + "metadata": { + "trusted": true, + "_uuid": "e86d3560a60a12f19847f7264a984aeb14cba2d6", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def sinplot(flip = 1):\n x = np.linspace(0, 14, 100)\n for i in range(1, 5): \n plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)\nsinplot()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "0d6d5a511f6a8785731b5a1bcdb1a9281553aa28", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def sinplot(flip = 1):\n x = np.linspace(0, 14, 100)\n for i in range(1, 5):\n plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)\n \nsns.set()\nsinplot()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "4f6da88a64c3790d0a7bfc995bb82aae8e1f1420", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.random.seed(1234)\n\nv1 = pd.Series(np.random.normal(0,10,1000), name='v1')\nv2 = pd.Series(2*v1 + np.random.normal(60,15,1000), name='v2')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "420ffb34484da7b88db34e75d883b5a060b478a3", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\nplt.hist(v1, alpha=0.7, bins=np.arange(-50,150,5), label='v1');\nplt.hist(v2, alpha=0.7, bins=np.arange(-50,150,5), label='v2');\nplt.legend();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "790f27d2a5a4ef507669b4e32ba901c2b6684f87", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "plt.figure()\n# we can pass keyword arguments for each individual component of the plot\nsns.distplot(v2, hist_kws={'color': 'Teal'}, kde_kws={'color': 'Navy'});", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "65db67f8736affd36f13cf608abee2c338b929c0", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.jointplot(v1, v2, alpha=0.4);", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "a325a54e4b7728affe318c110b2fe4d6f448efd0", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "grid = sns.jointplot(v1, v2, alpha=0.4);\ngrid.ax_joint.set_aspect('equal')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "14f244f9f0332d8abb13136d14df7411a9727f04", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.jointplot(v1, v2, kind='hex');", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "87f176fd1a3741ab23902e3c05ebaaab3c0cf1a9", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# set the seaborn style for all the following plots\nsns.set_style('white')\n\nsns.jointplot(v1, v2, kind='kde', space=0);", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "61c3e460ed18b061a4017d402bc16997cdf9b50c" + }, + "cell_type": "markdown", + "source": "
\n## 5-2 10 Useful Python Data Visualization Libraries" + }, + { + "metadata": { + "_uuid": "39dbde1e0e5f0443ce448c70af307c9fb367958d" + }, + "cell_type": "markdown", + "source": "I am giving an overview of 10 interdisciplinary Python data visualization libraries, from the well-known to the obscure.\n\n* 1- matplotlib\n\nmatplotlib is the O.G. of Python data visualization libraries. Despite being over a decade old, it’s still the most widely used library for plotting in the Python community. It was designed to closely resemble MATLAB, a proprietary programming language developed in the 1980s.\n\n* 2- Seaborn\n\nSeaborn harnesses the power of matplotlib to create beautiful charts in a few lines of code. The key difference is Seaborn’s default styles and color palettes, which are designed to be more aesthetically pleasing and modern. Since Seaborn is built on top of matplotlib, you’ll need to know matplotlib to tweak Seaborn’s defaults.\n\n* 3- ggplot\n\nggplot is based on ggplot2, an R plotting system, and concepts from The Grammar of Graphics. ggplot operates differently than matplotlib: it lets you layer components to create a complete plot. For instance, you can start with axes, then add points, then a line, a trendline, etc. Although The Grammar of Graphics has been praised as an “intuitive” method for plotting, seasoned matplotlib users might need time to adjust to this new mindset.\n\n\n* 4- Bokeh\n\nLike ggplot, Bokeh is based on The Grammar of Graphics, but unlike ggplot, it’s native to Python, not ported over from R. Its strength lies in the ability to create interactive, web-ready plots, which can be easily outputted as JSON objects, HTML documents, or interactive web applications. Bokeh also supports streaming and real-time data.\n\n\n* 5- pygal\n\nLike Bokeh and Plotly, pygal offers interactive plots that can be embedded in the web browser. Its prime differentiator is the ability to output charts as SVGs. As long as you’re working with smaller datasets, SVGs will do you just fine. But if you’re making charts with hundreds of thousands of data points, they’ll have trouble rendering and become sluggish.\n\n* 6- Plotly\n\nYou might know Plotly as an online platform for data visualization, but did you also know you can access its capabilities from a Python notebook? Like Bokeh, Plotly’s forte is making interactive plots, but it offers some charts you won’t find in most libraries, like contour plots, dendograms, and 3D charts.\n\n* 7- geoplotlib\n\ngeoplotlib is a toolbox for creating maps and plotting geographical data. You can use it to create a variety of map-types, like choropleths, heatmaps, and dot density maps. You must have Pyglet (an object-oriented programming interface) installed to use geoplotlib. Nonetheless, since most Python data visualization libraries don’t offer maps, it’s nice to have a library dedicated solely to them.\n\n* 8- Gleam\n\nGleam is inspired by R’s Shiny package. It allows you to turn analyses into interactive web apps using only Python scripts, so you don’t have to know any other languages like HTML, CSS, or JavaScript. Gleam works with any Python data visualization library. Once you’ve created a plot, you can build fields on top of it so users can filter and sort data.\n\n\n* 9- missingno\n\nDealing with missing data is a pain. missingno allows you to quickly gauge the completeness of a dataset with a visual summary, instead of trudging through a table. You can filter and sort data based on completion or spot correlations with a heatmap or a dendrogram.\n\n\n* 10- Leather\n\nLeather’s creator, Christopher Groskopf, puts it best: “Leather is the Python charting library for those who need charts now and don’t care if they’re perfect.” It’s designed to work with all data types and produces charts as SVGs, so you can scale them without losing image quality. Since this library is relatively new, some of the documentation is still in progress. The charts you can make are pretty basic—but that’s the intention.\n\nAt the end, nice cheatsheet on how to best visualize your data. I think I will print it out as a good reminder of \"best practices\". Check out the link for the complete cheatsheet, also as a PDF. hashtag#data hashtag#visualization hashtag#datascience\n\nLink: https://github.com/mjbahmani/Machine-Learning-Workflow-with-Python\n![cheatsheet ][1]\n[Reference][2]\n\n\n [1]: http://s8.picofile.com/file/8340669884/53f6a826_d7df_4b55_81e6_7c23b3fff0a3_original.png\n [2]: https://blog.modeanalytics.com/python-data-visualization-libraries/\n \n ###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "fe929625d7390ee89cc2636bf9c89f6e1eecaa70" + }, + "cell_type": "markdown", + "source": "
\n # 6- Read more\n \n you can start to learn and review your knowledge about ML with a perfect dataset and try to learn and memorize the workflow for your journey in Data science world with read more sources, here I want to give some courses, e-books and cheatsheet:\n ## 6-1 Courses\n \nThere are a lot of online courses that can help you develop your knowledge, here I have just listed some of them:\n\n1. [Machine Learning Certification by Stanford University (Coursera)](https://www.coursera.org/learn/machine-learning/)\n\n2. [Machine Learning A-Z™: Hands-On Python & R In Data Science (Udemy)](https://www.udemy.com/machinelearning/)\n\n3. [Deep Learning Certification by Andrew Ng from deeplearning.ai (Coursera)](https://www.coursera.org/specializations/deep-learning)\n\n4. [Python for Data Science and Machine Learning Bootcamp (Udemy)](Python for Data Science and Machine Learning Bootcamp (Udemy))\n\n5. [Mathematics for Machine Learning by Imperial College London](https://www.coursera.org/specializations/mathematics-machine-learning)\n\n6. [Deep Learning A-Z™: Hands-On Artificial Neural Networks](https://www.udemy.com/deeplearning/)\n\n7. [Complete Guide to TensorFlow for Deep Learning Tutorial with Python](https://www.udemy.com/complete-guide-to-tensorflow-for-deep-learning-with-python/)\n\n8. [Data Science and Machine Learning Tutorial with Python – Hands On](https://www.udemy.com/data-science-and-machine-learning-with-python-hands-on/)\n\n9. [Machine Learning Certification by University of Washington](https://www.coursera.org/specializations/machine-learning)\n\n10. [Data Science and Machine Learning Bootcamp with R](https://www.udemy.com/data-science-and-machine-learning-bootcamp-with-r/)\n11. [Creative Applications of Deep Learning with TensorFlow](https://www.class-central.com/course/kadenze-creative-applications-of-deep-learning-with-tensorflow-6679)\n12. [Neural Networks for Machine Learning](https://www.class-central.com/mooc/398/coursera-neural-networks-for-machine-learning)\n13. [Practical Deep Learning For Coders, Part 1](https://www.class-central.com/mooc/7887/practical-deep-learning-for-coders-part-1)\n14. [Machine Learning](https://www.cs.ox.ac.uk/teaching/courses/2014-2015/ml/index.html)\n\n## 6-2 Ebooks\n\nSo you love reading , here is **10 free machine learning books**\n1. [Probability and Statistics for Programmers](http://www.greenteapress.com/thinkstats/)\n2. [Bayesian Reasoning and Machine Learning](http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/091117.pdf)\n2. [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/)\n2. [Understanding Machine Learning](http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/index.html)\n2. [A Programmer’s Guide to Data Mining](http://guidetodatamining.com/)\n2. [Mining of Massive Datasets](http://infolab.stanford.edu/~ullman/mmds/book.pdf)\n2. [A Brief Introduction to Neural Networks](http://www.dkriesel.com/_media/science/neuronalenetze-en-zeta2-2col-dkrieselcom.pdf)\n2. [Deep Learning](http://www.deeplearningbook.org/)\n2. [Natural Language Processing with Python](https://www.researchgate.net/publication/220691633_Natural_Language_Processing_with_Python)\n2. [Machine Learning Yearning](http://www.mlyearning.org/)\n\n## 6-3 Cheat Sheets\n\nData Science is an ever-growing field, there are numerous tools & techniques to remember. It is not possible for anyone to remember all the functions, operations and formulas of each concept. That’s why we have cheat sheets. But there are a plethora of cheat sheets available out there, choosing the right cheat sheet is a tough task. So, I decided to write this article.\n\nHere I have selected the cheat sheets on the following criteria: comprehensiveness, clarity, and content [26]:\n1. [Quick Guide to learn Python for Data Science ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Science-in-Python.pdf)\n1. [Python for Data Science Cheat sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/beginners_python_cheat_sheet.pdf)\n1. [Python For Data Science Cheat Sheet NumPy](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Numpy_Python_Cheat_Sheet.pdf)\n1. [Exploratory Data Analysis in Python]()\n1. [Data Exploration using Pandas in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Exploration-in-Python.pdf)\n1. [Data Visualisation in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/data-visualisation-infographics1.jpg)\n1. [Python For Data Science Cheat Sheet Bokeh](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Python_Bokeh_Cheat_Sheet.pdf)\n1. [Cheat Sheet: Scikit Learn ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Scikit-Learn-Infographic.pdf)\n1. [MLalgorithms CheatSheet](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/MLalgorithms-.pdf)\n1. [Probability Basics Cheat Sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/probability_cheatsheet.pdf)\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "6caa0f9d20a055caebf9a2269c2081b052858806" + }, + "cell_type": "markdown", + "source": "
\n# 7- conclusion\nExploratory data analysis (**EDA**) is an approach to analyzing data sets to summarize their main **characteristics**, often with visual methods. A statistical model can be used or not, but primarily EDA is for seeing what the data can tell us beyond the formal modeling or hypothesis testing task.\nThis kernel it is not completed yet! Following up!\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "cell_type": "markdown", + "source": "You can follow me on:\n\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n--------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated** " + }, + { + "metadata": { + "_uuid": "5590d9817e38722f88c9924517a591d43dfaf4ba" + }, + "cell_type": "markdown", + "source": "
\n# 8- References\n1. [Coursera](https://www.coursera.org/specializations/data-science-python)\n1. [GitHub](https://github.com/mjbahmani)\n\nAs always, I want to thank the kernels I've used to make this kernel:\n1. [deffro](https://www.kaggle.com/deffro/text-pre-processing-techniques)\n1. [SRK](https://www.kaggle.com/sudalairajkumar/simple-exploration-notebook-qiqc)\n1. [mihaskalic](https://www.kaggle.com/mihaskalic/lstm-is-all-you-need-well-maybe-embeddings-also)\n1. [artgor](https://www.kaggle.com/artgor/eda-and-lstm-cnn)\n1. [tunguz](https://www.kaggle.com/tunguz/just-some-simple-eda)\n
\n
\n[Go to top](#top)" + }, + { + "metadata": { + "_uuid": "72e1e18935b372b6aac2fae910e5bd12de1d420f" + }, + "cell_type": "markdown", + "source": "#### This kernel is not completed yet and will be updated soon !!!" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/Exploratory Data Analysis for Meta Kaggle Dataset/Exploratory Data Analysis for Meta Kaggle Dataset.ipynb b/Exploratory Data Analysis for Meta Kaggle Dataset/Exploratory Data Analysis for Meta Kaggle Dataset.ipynb new file mode 100644 index 0000000..4c8950e --- /dev/null +++ b/Exploratory Data Analysis for Meta Kaggle Dataset/Exploratory Data Analysis for Meta Kaggle Dataset.ipynb @@ -0,0 +1,661 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "cell_type": "markdown", + "source": "##
Exploratory Data Analysis for Meta Kaggle Dataset
\n\n
There are plenty of Kernels that can help you learn EDA from scratch but here in Kaggle, I want to Analysis Meta Kaggle a popular Dataset as a comprehensive workflow for EDA. \nAfter reading, you can use it to Analysis other real dataset and use it as a template to deal with EDA problems.
\n
last update: 10/21/2018
\n\n\n\n>###### you may be interested have a look at it: [**10-steps-to-become-a-data-scientist**](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n---------------------------------------------------------------------\nyou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/Machine-Learning-Workflow-with-Python)\n\n-------------------------------------------------------------------------------------------------------------\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "cell_type": "markdown", + "source": "## Notebook Content\n* 1- [Introduction](#1)\n* 2- [Loading Packages](#15)\n* 3- [Exploratory data analysis](#16)\n* 3-1 [Data Collection](#17)\n* 3-2 [Visualization](#18)\n* 3-2-1 [Scatter plot](#19)\n* 3-2-2 [Box](#20)\n* 3-2-3 [Histogram](#21)\n* 3-2-4 [Multivariate Plots](#22)\n* 3-2-5 [Violinplots](#23)\n* 3-2-6 [Pair plot](#24)\n* 3-2-7 [Kde plot](#25)\n* 3-2-8 [Joint plot](#26)\n* 3-2-9 [Andrews curves](#27)\n* 3-2-10 [Heatmap](#28)\n* 3-2-11 [Radviz](#29)" + }, + { + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "cell_type": "markdown", + "source": "
\n## 1- Introduction\nThis is a **comprehensive EDA techniques with python** , that I have spent a lot of time to complete it.\n\nit is clear that everyone in this community is familiar with Kaggle but if you need to review your information about the dataset please visit this [link](https://www.kaggle.com/c/titanic/data).\n\nI am open to getting your feedback for improving this **kernel**\n" + }, + { + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "cell_type": "markdown", + "source": "
\n## 2- Loading Packages\nIn this kernel we are using the following packages:" + }, + { + "metadata": { + "_uuid": "61f49281fdd8592b44c0867225f57e6fce36342c" + }, + "cell_type": "markdown", + "source": " \n Now we import all of them " + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": true + }, + "cell_type": "code", + "source": "# packages to load \n# Check the versions of libraries\n# Python version\nimport warnings\nwarnings.filterwarnings('ignore')\nimport sys\nprint('Python: {}'.format(sys.version))\n# scipy\nimport scipy\nprint('scipy: {}'.format(scipy.__version__))\nimport numpy\n# matplotlib\nimport matplotlib\nprint('matplotlib: {}'.format(matplotlib.__version__))\n# numpy\nimport numpy as np # linear algebra\nprint('numpy: {}'.format(np.__version__))\n# pandas\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nprint('pandas: {}'.format(pd.__version__))\nimport seaborn as sns\nprint('seaborn: {}'.format(sns.__version__))\nsns.set(color_codes=True)\nimport matplotlib.pyplot as plt\nprint('matplotlib: {}'.format(matplotlib.__version__))\n%matplotlib inline\n# scikit-learn\nimport sklearn\nprint('sklearn: {}'.format(sklearn.__version__))\n# Input data files are available in the \"../input/\" directory.\nimport os\n%matplotlib inline", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" + }, + "cell_type": "markdown", + "source": "
\n## 3- Exploratory Data Analysis(EDA)\n In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n \n* Which variables suggest interesting relationships?\n* Which observations are unusual?\n\nBy the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations:\n\n* 5-1 Data Collection\n* 5-2 Visualization\n* 5-3 Data Preprocessing\n* 5-4 Data Cleaning\n" + }, + { + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "cell_type": "markdown", + "source": "
\n## 3-1 Data Collection\n**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n" + }, + { + "metadata": { + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "trusted": true + }, + "cell_type": "code", + "source": "# import kernels and users to play with it\nusers = pd.read_csv(\"../input/Users.csv\")\nkernels = pd.read_csv(\"../input/Kernels.csv\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "cell_type": "markdown", + "source": "**<< Note 1 >>**\n\n* Each row is an observation (also known as : sample, example, instance, record)\n* Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)" + }, + { + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "cell_type": "markdown", + "source": "# Please **replace** your username and find your userid\n\nwe suppose that userid==authoruserid and use userid for both kernels and users dataset" + }, + { + "metadata": { + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true + }, + "cell_type": "code", + "source": "username=\"mjbahmani\"\nuserid=int(users[users['UserName']==\"mjbahmani\"].Id)\nuserid", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true + }, + "cell_type": "code", + "source": "# shape\nprint(users.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true + }, + "cell_type": "code", + "source": "# shape\nprint(kernels.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true + }, + "cell_type": "code", + "source": "#columns*rows\nusers.size", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true + }, + "cell_type": "code", + "source": "#columns*rows\nkernels.size", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "cell_type": "markdown", + "source": "how many NA elements in every column\n" + }, + { + "metadata": { + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5", + "trusted": true + }, + "cell_type": "code", + "source": "users.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "cell_type": "markdown", + "source": "\nWe can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property." + }, + { + "metadata": { + "_uuid": "95ee5e18f97bc410df1e54ac74e32cdff2b30755" + }, + "cell_type": "markdown", + "source": "for getting some information about the dataset you can use **info()** command" + }, + { + "metadata": { + "_uuid": "ca840f02925751186f87e402fcb5f637ab1ab8a0", + "trusted": true + }, + "cell_type": "code", + "source": "print(users.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ca840f02925751186f87e402fcb5f637ab1ab8a0", + "trusted": true + }, + "cell_type": "code", + "source": "print(kernels.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3458838205be4c7fbff88e95ef69934e13e2199b" + }, + "cell_type": "markdown", + "source": "you see number of unique item for Species with command below:" + }, + { + "metadata": { + "_uuid": "4b90d165a007106ae99809ad28edd75bd8153dd8", + "trusted": true + }, + "cell_type": "code", + "source": "kernels['Medal'].unique()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8accfbddf2228274ad412c3ad3be72b4107d6f6c", + "trusted": true + }, + "cell_type": "code", + "source": "kernels[\"Medal\"].value_counts()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "cell_type": "markdown", + "source": "to check the first 5 rows of the data set, we can use head(5)." + }, + { + "metadata": { + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.head(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "cell_type": "markdown", + "source": "to check out last 5 row of the data set, we use tail() function" + }, + { + "metadata": { + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305", + "trusted": true + }, + "cell_type": "code", + "source": "users.tail() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "cell_type": "markdown", + "source": "to pop up 5 random rows from the data set, we can use **sample(5)** function" + }, + { + "metadata": { + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.sample(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "cell_type": "markdown", + "source": "to give a statistical summary about the dataset, we can use **describe()" + }, + { + "metadata": { + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.describe() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "031d16ca235837e889734635ecff193be64b27a4" + }, + "cell_type": "markdown", + "source": "to check out how many null info are on the dataset, we can use **isnull().sum()" + }, + { + "metadata": { + "_uuid": "8807b632269e2fa734ad26e8513199400fc09a83", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "446e6162e16325213047ff31454813455668b574", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.groupby('Medal').count()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + }, + "cell_type": "markdown", + "source": "to print dataset **columns**, we can use columns atribute" + }, + { + "metadata": { + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f", + "trusted": true + }, + "cell_type": "code", + "source": "kernels.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "62b52ea61cfa597007bd31652c7f03778233227c" + }, + "cell_type": "code", + "source": "users.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "22bc5d81c18275ee1fb082c0adbb7a65bdbec4cc" + }, + "cell_type": "markdown", + "source": "**<< Note 2 >>**\nin pandas's data frame you can perform some query such as \"where\"" + }, + { + "metadata": { + "_uuid": "ff69b963b60e8ff77acae02850885c7e90358129" + }, + "cell_type": "markdown", + "source": "## 3-2Find yourself in Users datset" + }, + { + "metadata": { + "trusted": true, + "_uuid": "1e36488451f22350bc2c655bfdd2b50803540b87" + }, + "cell_type": "code", + "source": "users[users['Id']==userid]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "33fc33a18489b438a884819d99dc00a02b113be8" + }, + "cell_type": "markdown", + "source": "## 3-3 Find your kernels in Kernels dataset" + }, + { + "metadata": { + "trusted": true, + "_uuid": "aa877c667451c76a052808964bbf8eb5991b39e0" + }, + "cell_type": "code", + "source": "yourkernels=kernels[kernels['AuthorUserId']==userid]\nyourkernels", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "aa882e5bcdc7d5f440489eff75d1d225269655a4" + }, + "cell_type": "markdown", + "source": "**<< Note >>**\n>**Preprocessing and generation pipelines depend on a model type**" + }, + { + "metadata": { + "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" + }, + "cell_type": "markdown", + "source": "
\n## 3-4 Visualization\n**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns.\n\nWith interactive visualization, you can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data you see and how it’s processed.[SAS]\n\n In this section I show you **11 plots** with **matplotlib** and **seaborn** that is listed in the blew picture:\n \n" + }, + { + "metadata": { + "_uuid": "b0014a7a52e714996bc443981c853095926d20e5" + }, + "cell_type": "markdown", + "source": "
\n## 3-4-1 Scatter plot\n\nScatter plot Purpose To identify the type of relationship (if any) between two quantitative variables\n\n\n" + }, + { + "metadata": { + "_uuid": "af099546eed64ebc796403d4139cb4c977c27b03", + "trusted": true + }, + "cell_type": "code", + "source": "# Modify the graph above by assigning each species an individual color.\nx=yourkernels[\"TotalVotes\"]\ny=yourkernels[\"TotalViews\"]\nplt.scatter(x, y)\nplt.legend()\nplt.show()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "1b31a7c185ee654c31ff5b062d111bcefa205966" + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,2,figsize=(18,8))\nyourkernels['Medal'].value_counts().plot.bar(color=['#CD7F32','#FFDF00','#D3D3D3'],ax=ax[0])\nax[0].set_title('Number Of Medal')\nax[0].set_ylabel('Count')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d1c7b62b5f8cba427bca13049256365141655372" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-2 Box\nIn descriptive statistics, a **box plot** or boxplot is a method for graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram.[wikipedia]" + }, + { + "metadata": { + "_uuid": "0655e20f31a582f861d391308a088778cd7eaae9", + "trusted": true + }, + "cell_type": "code", + "source": "yourkernels[\"TotalVotes\"].plot(kind='box')\nplt.figure()\n#This gives us a much clearer idea of the distribution of the input attributes:\n\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f7f6426fd44bcd77d35a5fdbc8c4fc4f18d991ad", + "trusted": true + }, + "cell_type": "code", + "source": "# To plot the species data using a box plot:\n\nsns.boxplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels )\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7b193e4aa7e6fb337d3f65c334849094addd097a", + "trusted": true + }, + "cell_type": "code", + "source": "# Use Seaborn's striplot to add data points on top of the box plot \n# Insert jitter=True so that the data points remain scattered and not piled into a verticle line.\n# Assign ax to each axis, so that each plot is ontop of the previous axis. \n\nax= sns.boxplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels)\nax= sns.stripplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels, jitter=True, edgecolor=\"gray\")\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "56adbafa89c117118621c72b3b7cb19edc21298e", + "trusted": true + }, + "cell_type": "code", + "source": "# Tweek the plot above to change fill and border color color using ax.artists.\n# Assing ax.artists a variable name, and insert the box number into the corresponding brackets\n\nax= sns.boxplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels)\nax= sns.stripplot(x=\"TotalViews\", y=\"TotalVotes\", data=yourkernels, jitter=True, edgecolor=\"gray\")\n\nboxtwo = ax.artists[2]\nboxtwo.set_facecolor('red')\nboxtwo.set_edgecolor('black')\nboxthree=ax.artists[1]\nboxthree.set_facecolor('yellow')\nboxthree.set_edgecolor('black')\n\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "40c9ab245695d47cb33eda65a0d637de390f9e59" + }, + "cell_type": "code", + "source": "sns.factorplot('TotalViews','TotalVotes',hue='Medal',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "743a92c3c2fff1a1f99845518247f7971ad18b7c" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-3 Histogram\nWe can also create a **histogram** of each input variable to get an idea of the distribution.\n\n" + }, + { + "metadata": { + "_uuid": "5da0520ed3e738ee8814b2d91843ed4acec2b6e6", + "trusted": true + }, + "cell_type": "code", + "source": "# histograms\nyourkernels.hist(figsize=(15,20))\nplt.figure()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b4e3de19781686010c6038f0e3076eb678398169" + }, + "cell_type": "markdown", + "source": "It looks like perhaps two of the input variables have a Gaussian distribution. This is useful to note as we can use algorithms that can exploit this assumption.\n\n" + }, + { + "metadata": { + "_uuid": "9f80a6e971cbf0af72d659b51af552ea1dddc9a8", + "trusted": true + }, + "cell_type": "code", + "source": "yourkernels[\"TotalViews\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "5d8ef0781d88c46a8becf6d7f5b1f4ad2c05db7e" + }, + "cell_type": "code", + "source": "sns.factorplot('TotalViews','TotalVotes',data=yourkernels)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e0f696ec021ec99c1058a62e22c8b73082fe6fa7" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-5 violinplots" + }, + { + "metadata": { + "_uuid": "e352d2f8340609adf4bf6718b1d2ecee0fa730b5", + "trusted": true + }, + "cell_type": "code", + "source": "# violinplots on petal-length for each species\nsns.violinplot(data=yourkernels,x=\"TotalViews\", y=\"TotalVotes\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2544d3c2dd34a360d295019d8cb597c7ef8f66bc" + }, + "cell_type": "markdown", + "source": "
\n### 3-6-7 kdeplot" + }, + { + "metadata": { + "_uuid": "1d07222b89303b386e9e824d52cc73c045667f25", + "trusted": true + }, + "cell_type": "code", + "source": "# seaborn's kdeplot, plots univariate or bivariate density estimates.\n#Size can be changed by tweeking the value used\nsns.FacetGrid(yourkernels, hue=\"TotalVotes\", size=5).map(sns.kdeplot, \"TotalViews\").add_legend()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "06e1259b209e753c2f05643706d6157145bb3b98" + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,3,figsize=(20,8))\nsns.distplot(yourkernels[yourkernels['Medal']==1].TotalVotes,ax=ax[0])\nax[0].set_title('TotalVotes in Medal 1')\nsns.distplot(yourkernels[yourkernels['Medal']==2].TotalVotes,ax=ax[1])\nax[1].set_title('TotalVotes in Medal 2')\nsns.distplot(yourkernels[yourkernels['Medal']==3].TotalVotes,ax=ax[2])\nax[2].set_title('TotalVotes in Medal 3')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "560d8e8f17bacefaf8c3855a9648f26b82fdee9b" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-8 jointplot" + }, + { + "metadata": { + "_uuid": "4adb4da16ea61e0f1a12bc9925dfbbaaa81e0360", + "trusted": true + }, + "cell_type": "code", + "source": "# Use seaborn's jointplot to make a hexagonal bin plot\n#Set desired size and ratio and choose a color.\nsns.jointplot(x=\"TotalVotes\", y=\"TotalViews\", data=yourkernels, size=10,ratio=10, kind='hex',color='green')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3768e31e990bfe4c2ff7b45087fbba85e0560d00" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-9 andrews_curves" + }, + { + "metadata": { + "_uuid": "263eaa9d2bfad0f8c68b6e8e874bdc11a6e802ac", + "trusted": true + }, + "cell_type": "code", + "source": "# we will use seaborn jointplot shows bivariate scatterplots and univariate histograms with Kernel density \n# estimation in the same figure\nsns.jointplot(x=\"TotalVotes\", y=\"TotalViews\", data=yourkernels, size=6, kind='kde', color='#800000', space=0)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8e73333289d17dd648b7b2112d7fe3fe7ea444d0" + }, + "cell_type": "markdown", + "source": "
\n### 3-4-10 Heatmap" + }, + { + "metadata": { + "_uuid": "3100955ca9dc61ac7d435e9c064d10d06f26afa7", + "trusted": true + }, + "cell_type": "code", + "source": "plt.figure(figsize=(10,7)) \nsns.heatmap(yourkernels.corr(),annot=True,cmap='cubehelix_r') #draws heatmap with input as the correlation matrix calculted by(iris.corr())\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "cell_type": "markdown", + "source": "you can follow me on:\n\n> ###### [ GitHub](https://github.com/mjbahmani)\n\n--------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated** " + }, + { + "metadata": { + "_uuid": "72e1e18935b372b6aac2fae910e5bd12de1d420f" + }, + "cell_type": "markdown", + "source": "# This kernel is not completed yet and will be updated soon !!!" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/Kaggle Kernels/A Data Science Framework for Quora.ipynb b/Kaggle Kernels/A Data Science Framework for Quora.ipynb new file mode 100644 index 0000000..4a54a11 --- /dev/null +++ b/Kaggle Kernels/A Data Science Framework for Quora.ipynb @@ -0,0 +1,1306 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "cell_type": "markdown", + "source": "#
A Data Science Framework for Quora
\n###
Quite Practical and Far from any Theoretical Concepts
\n\n
last update: 11/15/2018
\n\nYou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n" + }, + { + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "cell_type": "markdown", + "source": "
\n## 1- Introduction\n**Quora** has defined a competition in **Kaggle**. A realistic and attractive data set for data scientists.\non this notebook, I will provide a **comprehensive** approach to solve Quora classification problem.\n\nI am open to getting your feedback for improving this **kernel**" + }, + { + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "cell_type": "markdown", + "source": "
\n## Notebook Content\n1. [Introduction](#1)\n1. [Data Science Workflow for Quora](#2)\n1. [Problem Definition](#3)\n 1. [Business View](#4)\n 1. [Real world Application Vs Competitions](#31)\n 1. [What is a insincere question?](#5)\n 1. [How can we find insincere question?](#6)\n1. [Problem feature](#7)\n 1. [Aim](#8)\n 1. [Variables](#9)\n 1. [ Inputs & Outputs](#10)\n1. [Select Framework](#11)\n 1. [Import](#12)\n 1. [Version](#13)\n 1. [Setup](#14)\n1. [Exploratory data analysis](#15)\n 1. [Data Collection](#16)\n 1. [Features](#17)\n 1. [Explorer Dataset](#18)\n 1. [Data Cleaning](#19)\n 1. [Data Preprocessing](#20)\n 1. [Is data set imbalance?](#21)\n 1. [Some Feature Engineering](#22)\n 1. [Data Visualization](#23)\n 1. [countplot](#61)\n 1. [pie plot](#62)\n 1. [Histogram](#63)\n 1. [violin plot](#64)\n 1. [kdeplot](#65)\n 1. [Data Cleaning](#24)\n1. [Model Deployment](#24)\n1. [Conclusion](#25)\n1. [References](#26)" + }, + { + "metadata": { + "_uuid": "e9438d850fcacb93c4dc1f7873255803ecbf521c" + }, + "cell_type": "markdown", + "source": "-------------------------------------------------------------------------------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "e11b73b618b0f6e4335520ef80267c6d577d1ba5" + }, + "cell_type": "markdown", + "source": "
\n## 2- A Data Science Workflow for Quora\nOf course, the same solution can not be provided for all problems, so the best way is to create a general framework and adapt it to new problem.\n\n**You can see my workflow in the below image** :\n\n \n\n**you should\tfeel free\tto\tadapt \tthis\tchecklist \tto\tyour needs**\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "600be852c0d28e7c0c5ebb718904ab15a536342c" + }, + "cell_type": "markdown", + "source": "
\n## 3- Problem Definition\nI think one of the important things when you start a new machine learning project is Defining your problem. that means you should understand business problem.( **Problem Formalization**)\n> **we will be predicting whether a question asked on Quora is sincere or not.**\n\n## 3-1 About Quora\nQuora is a platform that empowers people to learn from each other. On Quora, people can ask questions and connect with others who contribute unique insights and quality answers. A key challenge is to weed out insincere questions -- those founded upon false premises, or that intend to make a statement rather than look for helpful answers.\n
\n## 3-2 Business View \nAn existential problem for any major website today is how to handle toxic and divisive content. **Quora** wants to tackle this problem head-on to keep their platform a place where users can feel safe sharing their knowledge with the world.\n\n**Quora** is a platform that empowers people to learn from each other. On Quora, people can ask questions and connect with others who contribute unique insights and quality answers. A key challenge is to weed out insincere questions -- those founded upon false premises, or that intend to make a statement rather than look for helpful answers.\n\nIn this kernel, I will develop models that identify and flag insincere questions.we Help Quora uphold their policy of “Be Nice, Be Respectful” and continue to be a place for sharing and growing the world’s knowledge.\n
\n### 3-2-1 Real world Application Vs Competitions\nJust a simple comparison between real-world apps with competitions:\n\n
\n## 3-3 What is a insincere question?\nis defined as a question intended to make a **statement** rather than look for **helpful answers**.\n\n
\n## 3-4 How can we find insincere question?\nSome characteristics that can signify that a question is insincere:\n\n1. **Has a non-neutral tone**\n 1. Has an exaggerated tone to underscore a point about a group of people\n 1. Is rhetorical and meant to imply a statement about a group of people\n1. **Is disparaging or inflammatory**\n 1. Suggests a discriminatory idea against a protected class of people, or seeks confirmation of a stereotype\n 1. Makes disparaging attacks/insults against a specific person or group of people\n 1. Based on an outlandish premise about a group of people\n 1. Disparages against a characteristic that is not fixable and not measurable\n1. **Isn't grounded in reality**\n 1. Based on false information, or contains absurd assumptions\n 1. Uses sexual content (incest, bestiality, pedophilia) for shock value, and not to seek genuine answers\n ###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "556980c672d2f7b2a4ee943b9d13b88de6e41e04" + }, + "cell_type": "markdown", + "source": "
\n## 4- Problem Feature\nProblem Definition has three steps that have illustrated in the picture below:\n\n1. Aim\n1. Variable\n1. Inputs & Outputs\n\n\n\n\n\n
\n### 4-1 Aim\nwe will be predicting whether a question asked on Quora is **sincere** or not.\n\n\n
\n### 4-2 Variables\n\n1. qid - unique question identifier\n1. question_text - Quora question text\n1. target - a question labeled \"insincere\" has a value of 1, otherwise 0\n\n
\n### 4-3 Inputs & Outputs\nwe use train.csv and test.csv as Input and we should upload a submission.csv as Output\n\n\n**<< Note >>**\n> You must answer the following question:\nHow does your company expect to use and benefit from **your model**.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "cell_type": "markdown", + "source": "
\n## 5- Select Framework\nAfter problem definition and problem feature, we should select our framework to solve the problem.\nWhat we mean by the framework is that the programming languages you use and by what modules the problem will be solved." + }, + { + "metadata": { + "_uuid": "c90e261f3b150e10aaec1f34ab3be768acf7aa25" + }, + "cell_type": "markdown", + "source": "
\n### 5-1 Import" + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from sklearn.model_selection import train_test_split\nfrom sklearn.metrics import classification_report\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.metrics import accuracy_score\nfrom nltk.corpus import stopwords\nimport matplotlib.pylab as pylab\nimport matplotlib.pyplot as plt\nfrom pandas import get_dummies\nimport matplotlib as mpl\nimport seaborn as sns\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport string\nimport scipy\nimport numpy\nimport nltk\nimport json\nimport sys\nimport csv\nimport os", + "execution_count": 1, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1c2beac253f7ddddcc2e1aa26dc850d5b87268f3" + }, + "cell_type": "markdown", + "source": "
\n### 5-2 version" + }, + { + "metadata": { + "trusted": true, + "_uuid": "9ffe2f1e5995150c8138f9e98509c7525fb230b4", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))\n", + "execution_count": 2, + "outputs": [ + { + "output_type": "stream", + "text": "matplotlib: 2.2.3\nsklearn: 0.20.0\nscipy: 1.1.0\nseaborn: 0.8.1\npandas: 0.23.4\nnumpy: 1.15.3\nPython: 3.6.6 |Anaconda, Inc.| (default, Oct 9 2018, 12:34:16) \n[GCC 7.3.0]\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "431bf889ae401c1089a13835356c13f2b6a06f6c" + }, + "cell_type": "markdown", + "source": "
\n### 5-3 Setup\n\nA few tiny adjustments for better **code readability**" + }, + { + "metadata": { + "_uuid": "2a498652935827a033d0bcb7df1d28c068f44a25", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sns.set(style='white', context='notebook', palette='deep')\npylab.rcParams['figure.figsize'] = 12,8\nwarnings.filterwarnings('ignore')\nmpl.style.use('ggplot')\nsns.set_style('white')\n%matplotlib inline", + "execution_count": 3, + "outputs": [] + }, + { + "metadata": { + "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" + }, + "cell_type": "markdown", + "source": "
\n## 6- EDA\n In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n \n* Which variables suggest interesting relationships?\n* Which observations are unusual?\n* Analysis of the features!\n\nBy the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations:\n\n1. Data Collection\n1. Visualization\n1. Data Cleaning\n1. Data Preprocessing\n\n\n ###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "cell_type": "markdown", + "source": "
\n## 6-1 Data Collection\n**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n\nI start Collection Data by the training and testing datasets into **Pandas DataFrames**\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train = pd.read_csv('../input/train.csv')\ntest = pd.read_csv('../input/test.csv')", + "execution_count": 4, + "outputs": [] + }, + { + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "cell_type": "markdown", + "source": "**<< Note 1 >>**\n\n* Each **row** is an observation (also known as : sample, example, instance, record)\n* Each **column** is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)\n###### [Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "4708d70e39d1ae861bbf34411cf03d07f261fceb" + }, + "cell_type": "code", + "source": "train.sample(1) ", + "execution_count": 5, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 5, + "data": { + "text/plain": " qid ... target\n262469 335ef8fb26147f33dac0 ... 0\n\n[1 rows x 3 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
qidquestion_texttarget
262469335ef8fb26147f33dac0Are Americans insensitive to rape in general?0
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "f8e7a84ab982504d7263b1812fa66bba78bddbdc" + }, + "cell_type": "code", + "source": "test.sample(1) ", + "execution_count": 6, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 6, + "data": { + "text/plain": " qid question_text\n3513 102d2d2d7d0f45748529 Do you still find your rubenesque wife as attr...", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
qidquestion_text
3513102d2d2d7d0f45748529Do you still find your rubenesque wife as attr...
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "581b90e6a869c3793472c7edd59091d6d6342fb2" + }, + "cell_type": "markdown", + "source": "
\n## 6-1-1 Features\nFeatures can be from following types:\n* numeric\n* categorical\n* ordinal\n* datetime\n* coordinates\n\nFind the type of features in **Qoura dataset**?!\nfor getting some information about the dataset you can use **info()** command" + }, + { + "metadata": { + "_uuid": "ca840f02925751186f87e402fcb5f637ab1ab8a0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print(train.info())", + "execution_count": 7, + "outputs": [ + { + "output_type": "stream", + "text": "\nRangeIndex: 1306122 entries, 0 to 1306121\nData columns (total 3 columns):\nqid 1306122 non-null object\nquestion_text 1306122 non-null object\ntarget 1306122 non-null int64\ndtypes: int64(1), object(2)\nmemory usage: 29.9+ MB\nNone\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "4cbcf76344a6e3c8e841ccf1f43bf00d040a06a1" + }, + "cell_type": "code", + "source": "print(test.info())", + "execution_count": 8, + "outputs": [ + { + "output_type": "stream", + "text": "\nRangeIndex: 56370 entries, 0 to 56369\nData columns (total 2 columns):\nqid 56370 non-null object\nquestion_text 56370 non-null object\ndtypes: object(2)\nmemory usage: 880.9+ KB\nNone\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "73ab30f86273b590a51fc363d9bf78c2709558fa" + }, + "cell_type": "markdown", + "source": "
\n## 6-1-2 Explorer Dataset\n1- Dimensions of the dataset.\n\n2- Peek at the data itself.\n\n3- Statistical summary of all attributes.\n\n4- Breakdown of the data by the class variable.\n\nDon’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# shape\nprint('Shape of train:',train.shape)\nprint('Shape of train:',test.shape)", + "execution_count": 9, + "outputs": [ + { + "output_type": "stream", + "text": "Shape of train: (1306122, 3)\nShape of train: (56370, 2)\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#columns*rows\ntrain.size", + "execution_count": 10, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 10, + "data": { + "text/plain": "3918366" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "cell_type": "markdown", + "source": "After loading the data via **pandas**, we should checkout what the content is, description and via the following:" + }, + { + "metadata": { + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type(train)", + "execution_count": 11, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 11, + "data": { + "text/plain": "pandas.core.frame.DataFrame" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type(test)", + "execution_count": 12, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 12, + "data": { + "text/plain": "pandas.core.frame.DataFrame" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "cell_type": "markdown", + "source": "to pop up 5 random rows from the data set, we can use **sample(5)** function and find the type of features" + }, + { + "metadata": { + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140", + "trusted": true + }, + "cell_type": "code", + "source": "train.sample(5) ", + "execution_count": 13, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 13, + "data": { + "text/plain": " qid ... target\n663148 81e06b755b860980a1c1 ... 0\n417673 51db1368d651df054fe6 ... 0\n1105803 d8b368a22684c1313793 ... 0\n188895 24f0b3549107fae9ddc0 ... 0\n925569 b5627c96de2cf21cbede ... 0\n\n[5 rows x 3 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
qidquestion_texttarget
66314881e06b755b860980a1c1Is engine oil analysis worth the cost and does...0
41767351db1368d651df054fe6How many zeroes are there in a hundred?0
1105803d8b368a22684c1313793What are the good conductor for electricity?0
18889524f0b3549107fae9ddc0Structural engineering vs environmental engine...0
925569b5627c96de2cf21cbedeWhat is your relationship with your therapist ...0
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "8280749a19af32869978c61941d1dea306632d71" + }, + "cell_type": "markdown", + "source": "
\n## 6-2 Data Cleaning\nWhen dealing with real-world data, dirty data is the norm rather than the exception. We continuously need to predict correct values, impute missing ones, and find links between various data artefacts such as schemas and records. We need to stop treating data cleaning as a piecemeal exercise (resolving different types of errors in isolation), and instead leverage all signals and resources (such as constraints, available statistics, and dictionaries) to accurately predict corrective actions.\n\nThe primary goal of data cleaning is to detect and remove errors and **anomalies** to increase the value of data in analytics and decision making. While it has been the focus of many researchers for several years, individual problems have been addressed separately. These include missing value imputation, outliers detection, transformations, integrity constraints violations detection and repair, consistent query answering, deduplication, and many other related problems such as profiling and constraints mining.[4]\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "cell_type": "markdown", + "source": "how many NA elements in every column!!\nGood news, it is Zero!\nto check out how many null info are on the dataset, we can use **isnull().sum()**" + }, + { + "metadata": { + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.isnull().sum()", + "execution_count": 14, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 14, + "data": { + "text/plain": "qid 0\nquestion_text 0\ntarget 0\ndtype: int64" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "5faa6528c6667060c05268757ff46e211b4fea3f" + }, + "cell_type": "markdown", + "source": "But if we had , we can just use **dropna()**(be careful sometimes you should not do this!)" + }, + { + "metadata": { + "_uuid": "e8e124ca20643ad307d9bfdc34328d548c6ddcbc", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# remove rows that have NA's\nprint('Before Droping',train.shape)\ntrain = train.dropna()\nprint('After Droping',train.shape)", + "execution_count": 15, + "outputs": [ + { + "output_type": "stream", + "text": "Before Droping (1306122, 3)\nAfter Droping (1306122, 3)\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "cell_type": "markdown", + "source": "\nWe can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property." + }, + { + "metadata": { + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + }, + "cell_type": "markdown", + "source": "to print dataset **columns**, we can use columns atribute" + }, + { + "metadata": { + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f", + "trusted": true + }, + "cell_type": "code", + "source": "train.columns", + "execution_count": 16, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 16, + "data": { + "text/plain": "Index(['qid', 'question_text', 'target'], dtype='object')" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "3458838205be4c7fbff88e95ef69934e13e2199b" + }, + "cell_type": "markdown", + "source": "you see number of unique item for Target with command below:" + }, + { + "metadata": { + "trusted": true, + "_uuid": "c7937700664991b29bdb0b3f04942c59498da760", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train_target = train['target'].values\n\nnp.unique(train_target)", + "execution_count": 17, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 17, + "data": { + "text/plain": "array([0, 1])" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "d824cb29e135dc5ae98964e71ec0adc0e05ebd43" + }, + "cell_type": "markdown", + "source": "YES, quora problem is a binary classification! :)" + }, + { + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "cell_type": "markdown", + "source": "to check the first 5 rows of the data set, we can use head(5)." + }, + { + "metadata": { + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train.head(5) ", + "execution_count": 18, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 18, + "data": { + "text/plain": " qid ... target\n0 00002165364db923c7e6 ... 0\n1 000032939017120e6e44 ... 0\n2 0000412ca6e4628ce2cf ... 0\n3 000042bf85aa498cd78e ... 0\n4 0000455dfa3e01eae3af ... 0\n\n[5 rows x 3 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
qidquestion_texttarget
000002165364db923c7e6How did Quebec nationalists see their province...0
1000032939017120e6e44Do you have an adopted dog, how would you enco...0
20000412ca6e4628ce2cfWhy does velocity affect time? Does velocity a...0
3000042bf85aa498cd78eHow did Otto von Guericke used the Magdeburg h...0
40000455dfa3e01eae3afCan I convert montra helicon D to a mountain b...0
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "cell_type": "markdown", + "source": "or to check out last 5 row of the data set, we use tail() function" + }, + { + "metadata": { + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305", + "trusted": true + }, + "cell_type": "code", + "source": "train.tail() ", + "execution_count": 19, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 19, + "data": { + "text/plain": " qid ... target\n1306117 ffffcc4e2331aaf1e41e ... 0\n1306118 ffffd431801e5a2f4861 ... 0\n1306119 ffffd48fb36b63db010c ... 0\n1306120 ffffec519fa37cf60c78 ... 0\n1306121 ffffed09fedb5088744a ... 0\n\n[5 rows x 3 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
qidquestion_texttarget
1306117ffffcc4e2331aaf1e41eWhat other technical skills do you need as a c...0
1306118ffffd431801e5a2f4861Does MS in ECE have good job prospects in USA ...0
1306119ffffd48fb36b63db010cIs foam insulation toxic?0
1306120ffffec519fa37cf60c78How can one start a research project based on ...0
1306121ffffed09fedb5088744aWho wins in a battle between a Wolverine and a...0
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "cell_type": "markdown", + "source": "to give a **statistical summary** about the dataset, we can use **describe()" + }, + { + "metadata": { + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3", + "trusted": true + }, + "cell_type": "code", + "source": "train.describe() ", + "execution_count": 20, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 20, + "data": { + "text/plain": " target\ncount 1.306122e+06\nmean 6.187018e-02\nstd 2.409197e-01\nmin 0.000000e+00\n25% 0.000000e+00\n50% 0.000000e+00\n75% 0.000000e+00\nmax 1.000000e+00", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
target
count1.306122e+06
mean6.187018e-02
std2.409197e-01
min0.000000e+00
25%0.000000e+00
50%0.000000e+00
75%0.000000e+00
max1.000000e+00
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "10bdb8246f66c14043392806cae714f688cc8251" + }, + "cell_type": "markdown", + "source": "**describe() is more useful for numerical data sets**" + }, + { + "metadata": { + "_uuid": "91dda1f631cf4ed362162501aaaac6d19cfd6cc7" + }, + "cell_type": "markdown", + "source": "
\n## 6-3 Data Preprocessing\n**Data preprocessing** refers to the transformations applied to our data before feeding it to the algorithm.\n \nData Preprocessing is a technique that is used to convert the raw data into a clean data set. In other words, whenever the data is gathered from different sources it is collected in raw format which is not feasible for the analysis.\nthere are plenty of steps for data preprocessing and we just listed some of them in general(Not just for Quora) :\n* removing Target column (id)\n* Sampling (without replacement)\n* Making part of iris unbalanced and balancing (with undersampling and SMOTE)\n* Introducing missing values and treating them (replacing by average values)\n* Noise filtering\n* Data discretization\n* Normalization and standardization\n* PCA analysis\n* Feature selection (filter, embedded, wrapper)\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "6c8c838f497c66a227975fb9a2f588e431f0c568" + }, + "cell_type": "markdown", + "source": "**<< Note 2 >>**\nin pandas's data frame you can perform some query such as \"where\"" + }, + { + "metadata": { + "_uuid": "c8c8d9fd63d9bdb601183aeb4f1435affeb8a596", + "trusted": true + }, + "cell_type": "code", + "source": "train.where(train ['target']==1).count()", + "execution_count": 22, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 22, + "data": { + "text/plain": "qid 80810\nquestion_text 80810\ntarget 80810\ndtype: int64" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "33fc33a18489b438a884819d99dc00a02b113be8" + }, + "cell_type": "markdown", + "source": "as you can see in the below in python, it is so easy perform some query on the dataframe:" + }, + { + "metadata": { + "_uuid": "8b545ff7e8367c5ab9c1db710f70b6936ac8422c", + "trusted": true + }, + "cell_type": "code", + "source": "train[train['target']>1]", + "execution_count": 23, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 23, + "data": { + "text/plain": "Empty DataFrame\nColumns: [qid, question_text, target]\nIndex: []", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n
qidquestion_texttarget
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "d517b2b99a455a6b89c238faf1647515b8a67d87" + }, + "cell_type": "code", + "source": "train[train['target']==1].head(5)", + "execution_count": 24, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 24, + "data": { + "text/plain": " qid ... target\n22 0000e91571b60c2fb487 ... 1\n30 00013ceca3f624b09f42 ... 1\n110 0004a7fcb2bf73076489 ... 1\n114 00052793eaa287aff1e1 ... 1\n115 000537213b01fd77b58a ... 1\n\n[5 rows x 3 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
qidquestion_texttarget
220000e91571b60c2fb487Has the United States become the largest dicta...1
3000013ceca3f624b09f42Which babies are more sweeter to their parents...1
1100004a7fcb2bf73076489If blacks support school choice and mandatory ...1
11400052793eaa287aff1e1I am gay boy and I love my cousin (boy). He is...1
115000537213b01fd77b58aWhich races have the smallest penis?1
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "4b67d109a0cec1a5475b863bbce8aa3ac9d2d4fb" + }, + "cell_type": "markdown", + "source": "
\n## 6-3-1 Is data set imbalance?" + }, + { + "metadata": { + "trusted": true, + "_uuid": "4218d492753322c50142021833efb24cfdfc6ad3" + }, + "cell_type": "code", + "source": "train_target.mean()", + "execution_count": 25, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 25, + "data": { + "text/plain": "0.06187017751787352" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "8e058f90ca403f00d91d0405a7d8822dc7d6de55" + }, + "cell_type": "markdown", + "source": "A large part of the data is unbalanced, but **how can we solve it?**" + }, + { + "metadata": { + "trusted": true, + "_uuid": "dc6340ee1b637d192e29cbc8d3744ae6351b9c8b", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train[\"target\"].value_counts()\n# data is imbalance", + "execution_count": 26, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 26, + "data": { + "text/plain": "0 1225312\n1 80810\nName: target, dtype: int64" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "c50c6c2683c5c08a6c9c34b75be61567d5993fa0" + }, + "cell_type": "markdown", + "source": "
\n## 6-3-2 Some Feature Engineering" + }, + { + "metadata": { + "_uuid": "c641754f26e07c368596af3054268f1b3b764921" + }, + "cell_type": "markdown", + "source": "[NLTK](https://www.nltk.org/) is one of the leading platforms for working with human language data and Python, the module NLTK is used for natural language processing. NLTK is literally an acronym for Natural Language Toolkit.\n\nWe get a set of **English stop** words using the line" + }, + { + "metadata": { + "trusted": true, + "_uuid": "10ca7d56255b95fc774fff5adf7b4273ec7a1ea2", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#from nltk.corpus import stopwords\neng_stopwords = set(stopwords.words(\"english\"))", + "execution_count": 34, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3f5af107041b279ce723761f37f4ffebae2b22a3" + }, + "cell_type": "markdown", + "source": "The returned list stopWords contains **179 stop words** on my computer.\nYou can view the length or contents of this array with the lines:" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "eca2d53bfae70c55b3b5b0e2c244826465cb478b" + }, + "cell_type": "code", + "source": "print(len(eng_stopwords))\nprint(eng_stopwords)", + "execution_count": 35, + "outputs": [ + { + "output_type": "stream", + "text": "179\n{'ourselves', 'most', 'here', 'after', 'up', 'over', 'll', 'our', 'ma', 'out', 'who', 'yourself', 'until', 'can', 'on', 'don', 'y', 'only', 'own', \"shouldn't\", 't', \"you're\", 'below', 'all', 'yourselves', 'm', 'now', 'a', 'i', 'are', 'too', 'o', 'wouldn', 'does', 'my', 'his', 'do', 'against', 'weren', \"hasn't\", 'were', \"haven't\", 'isn', 'myself', 'couldn', 'through', 'to', 'did', \"isn't\", 'its', 're', \"doesn't\", 'their', 'both', \"that'll\", 'where', 'no', 'what', 'themselves', 'is', \"aren't\", 'down', 'then', \"it's\", \"should've\", 'but', \"weren't\", 'as', 'them', 'mustn', 'of', 'whom', 'he', \"hadn't\", 'any', \"wouldn't\", 'we', 'have', 'has', 'off', \"didn't\", 'wasn', 'hers', 'you', 'they', 'this', 'between', 'shan', 'yours', 'doing', 'didn', \"won't\", 'be', 'in', 'very', 'theirs', 'being', 'if', 'having', 'itself', 'by', 'needn', 'and', \"she's\", 'there', 'not', 'hadn', 'ain', 'it', 'above', \"mustn't\", 'further', 'herself', 'before', 'was', 'other', 'hasn', 'or', 'why', 'aren', 'been', 'just', 'nor', \"you've\", 'her', 'which', 'an', 'each', 'once', \"wasn't\", 'how', 'about', 'won', 'd', 'had', 'than', 'haven', \"needn't\", 'under', 'into', 'she', 've', 'shouldn', 'these', 'such', 'when', 'those', 'him', 'during', 'for', 'that', 'doesn', 'same', 'at', 'some', 'with', 'your', 'am', 'will', \"mightn't\", 'himself', 's', 'so', \"you'd\", 'the', 'because', 'ours', 'from', \"couldn't\", \"you'll\", 'should', 'few', 'more', 'mightn', 'me', \"shan't\", \"don't\", 'while', 'again'}\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "6f049c6d9633200496ed97f8066257849b4824da" + }, + "cell_type": "markdown", + "source": "The metafeatures that we'll create based on SRK's EDAs, [sudalairajkumar](http://http://www.kaggle.com/sudalairajkumar/simple-feature-engg-notebook-spooky-author) and [tunguz](https://www.kaggle.com/tunguz/just-some-simple-eda) are:\n* Number of words in the text\n* Number of unique words in the text\n* Number of characters in the text\n* Number of stopwords\n* Number of punctuations\n* Number of upper case words\n* Number of title case words\n* Average length of the words\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "f4982fc699bcb147513c247b9f4d86b02902eded" + }, + "cell_type": "markdown", + "source": "Number of words in the text " + }, + { + "metadata": { + "trusted": true, + "_uuid": "5b29fbd86ab48be6bd84fcac6fb6bca84d4b8792", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train[\"num_words\"] = train[\"question_text\"].apply(lambda x: len(str(x).split()))\ntest[\"num_words\"] = test[\"question_text\"].apply(lambda x: len(str(x).split()))\nprint('maximum of num_words in train',train[\"num_words\"].max())\nprint('min of num_words in train',train[\"num_words\"].min())\nprint(\"maximum of num_words in test\",test[\"num_words\"].max())\nprint('min of num_words in train',test[\"num_words\"].min())\n", + "execution_count": 37, + "outputs": [ + { + "output_type": "stream", + "text": "maximum of num_words in train 134\nmin of num_words in train 1\nmaximum of num_words in test 87\nmin of num_words in train 2\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "83becd8affc2abab2252e065f77c80dc0dcf53be" + }, + "cell_type": "markdown", + "source": "Number of unique words in the text" + }, + { + "metadata": { + "trusted": true, + "_uuid": "72aebb943122982b891c959fa9fa36224adcb2fc", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train[\"num_unique_words\"] = train[\"question_text\"].apply(lambda x: len(set(str(x).split())))\ntest[\"num_unique_words\"] = test[\"question_text\"].apply(lambda x: len(set(str(x).split())))\nprint('maximum of num_unique_words in train',train[\"num_unique_words\"].max())\nprint('mean of num_unique_words in train',train[\"num_unique_words\"].mean())\nprint(\"maximum of num_unique_words in test\",test[\"num_unique_words\"].max())\nprint('mean of num_unique_words in train',test[\"num_unique_words\"].mean())", + "execution_count": 38, + "outputs": [ + { + "output_type": "stream", + "text": "maximum of num_unique_words in train 96\nmean of num_unique_words in train 12.135776749798257\nmaximum of num_unique_words in test 61\nmean of num_unique_words in train 12.096363313819408\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "cb2719fa417f2c3fabea9b6582081738ecdf678b" + }, + "cell_type": "markdown", + "source": "Number of characters in the text " + }, + { + "metadata": { + "trusted": true, + "_uuid": "a7029af9cfed9eb2e624d7177887e111a71054ff", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\ntrain[\"num_chars\"] = train[\"question_text\"].apply(lambda x: len(str(x)))\ntest[\"num_chars\"] = test[\"question_text\"].apply(lambda x: len(str(x)))\nprint('maximum of num_chars in train',train[\"num_chars\"].max())\nprint(\"maximum of num_chars in test\",test[\"num_chars\"].max())", + "execution_count": 39, + "outputs": [ + { + "output_type": "stream", + "text": "maximum of num_chars in train 1017\nmaximum of num_chars in test 588\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "ddd289db2420b4f3fee7268fef94926688afd203" + }, + "cell_type": "markdown", + "source": "Number of stopwords in the text" + }, + { + "metadata": { + "trusted": true, + "_uuid": "086e229b918087420c33b57c7ad51d6723cf70f7", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "train[\"num_stopwords\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).lower().split() if w in eng_stopwords]))\ntest[\"num_stopwords\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).lower().split() if w in eng_stopwords]))\nprint('maximum of num_stopwords in train',train[\"num_stopwords\"].max())\nprint(\"maximum of num_stopwords in test\",test[\"num_stopwords\"].max())", + "execution_count": 40, + "outputs": [ + { + "output_type": "stream", + "text": "maximum of num_stopwords in train 56\nmaximum of num_stopwords in test 47\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "428a009f1a3b00b73ec7d6e8558aebc995e42594" + }, + "cell_type": "markdown", + "source": "Number of punctuations in the text" + }, + { + "metadata": { + "trusted": true, + "_uuid": "947abd63c51d74dc33c2891fb1e1b9381d9da23c", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\ntrain[\"num_punctuations\"] =train['question_text'].apply(lambda x: len([c for c in str(x) if c in string.punctuation]) )\ntest[\"num_punctuations\"] =test['question_text'].apply(lambda x: len([c for c in str(x) if c in string.punctuation]) )\nprint('maximum of num_punctuations in train',train[\"num_punctuations\"].max())\nprint(\"maximum of num_punctuations in test\",test[\"num_punctuations\"].max())", + "execution_count": 41, + "outputs": [ + { + "output_type": "stream", + "text": "maximum of num_punctuations in train 411\nmaximum of num_punctuations in test 260\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "a93e8fd32c2ff7dffd81f62ff3b6b3a5975d6836" + }, + "cell_type": "markdown", + "source": "Number of title case words in the text" + }, + { + "metadata": { + "trusted": true, + "_uuid": "82c95fcf5848ca383a6a84501fe74fef371392d1", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\ntrain[\"num_words_upper\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.isupper()]))\ntest[\"num_words_upper\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.isupper()]))\nprint('maximum of num_words_upper in train',train[\"num_words_upper\"].max())\nprint(\"maximum of num_words_upper in test\",test[\"num_words_upper\"].max())", + "execution_count": 42, + "outputs": [ + { + "output_type": "stream", + "text": "maximum of num_words_upper in train 37\nmaximum of num_words_upper in test 36\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "5bc4c2b642cb8adf12fd6dbb01616079a454d384" + }, + "cell_type": "markdown", + "source": "Number of title case words in the text" + }, + { + "metadata": { + "trusted": true, + "_uuid": "b938bdcfe7c418f5b4d57c9fd21c77d8bf4d3f06", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\ntrain[\"num_words_title\"] = train[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.istitle()]))\ntest[\"num_words_title\"] = test[\"question_text\"].apply(lambda x: len([w for w in str(x).split() if w.istitle()]))\nprint('maximum of num_words_title in train',train[\"num_words_title\"].max())\nprint(\"maximum of num_words_title in test\",test[\"num_words_title\"].max())", + "execution_count": 43, + "outputs": [ + { + "output_type": "stream", + "text": "maximum of num_words_title in train 37\nmaximum of num_words_title in test 24\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "2c81bb79d34d242f74b8ed650a8998efdb29e38b" + }, + "cell_type": "markdown", + "source": " Average length of the words in the text " + }, + { + "metadata": { + "trusted": true, + "_uuid": "3058236ff8702754ee4132f7eb705dd54f354af4", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\ntrain[\"mean_word_len\"] = train[\"question_text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))\ntest[\"mean_word_len\"] = test[\"question_text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))\nprint('mean_word_len in train',train[\"mean_word_len\"].max())\nprint(\"mean_word_len in test\",test[\"mean_word_len\"].max())", + "execution_count": 44, + "outputs": [ + { + "output_type": "stream", + "text": "mean_word_len in train 57.666666666666664\nmean_word_len in test 29.333333333333332\n", + "name": "stdout" + } + ] + }, + { + "metadata": { + "_uuid": "c91162602814ba230ab9fe30f9941ac6409133b9" + }, + "cell_type": "markdown", + "source": "we add some new feature to train and test data set now, print columns agains" + }, + { + "metadata": { + "trusted": true, + "_uuid": "05cae032149a7c79a92a3b2bf80185c483d0e976" + }, + "cell_type": "code", + "source": "print(train.columns)\ntrain.head(1)", + "execution_count": 50, + "outputs": [ + { + "output_type": "stream", + "text": "Index(['qid', 'question_text', 'target', 'num_words', 'num_unique_words',\n 'num_chars', 'num_stopwords', 'num_punctuations', 'num_words_upper',\n 'num_words_title', 'mean_word_len'],\n dtype='object')\n", + "name": "stdout" + }, + { + "output_type": "execute_result", + "execution_count": 50, + "data": { + "text/plain": " qid ... mean_word_len\n0 00002165364db923c7e6 ... 4.615385\n\n[1 rows x 11 columns]", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
qidquestion_texttargetnum_wordsnum_unique_wordsnum_charsnum_stopwordsnum_punctuationsnum_words_uppernum_words_titlemean_word_len
000002165364db923c7e6How did Quebec nationalists see their province...013137271024.615385
\n
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "aa882e5bcdc7d5f440489eff75d1d225269655a4" + }, + "cell_type": "markdown", + "source": "**<< Note >>**\n>**Preprocessing and generation pipelines depend on a model type**" + }, + { + "metadata": { + "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" + }, + "cell_type": "markdown", + "source": "
\n## 6-4 Data Visualization\n**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns.\n\n> * Two** important rules** for Data visualization:\n> 1. Do not put too little information\n> 1. Do not put too much information\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "5d991f5a4a9e4fffcbcee4a51b3cf1cd95007427" + }, + "cell_type": "markdown", + "source": "
\n## 6-4-1 countplot" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "1b54931579ed4e3004369a59fe9c6f23b97719de" + }, + "cell_type": "code", + "source": "ax=sns.countplot(x='target',hue=\"target\", data=train ,linewidth=5,edgecolor=sns.color_palette(\"dark\", 3))\nplt.title('Is data set imbalance?');", + "execution_count": 51, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "eb15e8fed181179a086bf0db7dc21eaabb4eb088" + }, + "cell_type": "code", + "source": "ax = sns.countplot(y=\"target\", hue=\"target\", data=train)\nplt.title('Is data set imbalance?');", + "execution_count": 52, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAEaCAYAAADwlvf0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAGvFJREFUeJzt3X28VVW97/EPQnAsPEpYoG4f6KQ/JSs7Qnp8SNMsk9JualqefM7rtfAh06S8Zmam6cU81zQVxSxfPhzqaCI+HU4eq3sMJbuY6c8LioECVpgRaiDu+8eYG5e7vTdsWfvJ+Xm/Xrz2WnPONcaYc26+a6wxx55rUGtrK5KkN7b1+roBkqSeZ9hLUg0Y9pJUA4a9JNWAYS9JNWDYS1INGPZqiojYKiJaI2K3vm5LT4uIayPi35tQzr0RMaUJ5cyPiDPXtRy9sQ3p6wao90XEtUBLZn6oj9txJnBsZm7Vl+1oExEvU9pz7Ro2PQk7SmsUEdsAZwF7AiOAXwMnZ+YDfdmuuvIXVuqmzHw+M5/r63YMALsAc4EDgHHAUuAnETGoT1tVU/bsRUS8C5gM7AS8CfgdcF5m/qCL13wKOA9oAX4FnN9u/SDgSmAvYFNgEXAj8PXM/GtEHAl8o9q27c+4v56ZZ0fEZyi9522BlcAvgVMy8/Eu2tMCXALsAQwHngEuz8wLq/VvAr4KHAFsAswD/iUzr6jWzwcGA1MjYipAZnYYSu0/GbU9B24FvgxsVO3r/wCOASYBfw/8K/CFzFzRUNx6EXE+cCwwtHrdiZn5UlX2PlW731O179fAaZk5q4tj0eXxi4itgCeBQ4DDKedoMXBO46eaiBgOnAscCLydcg6vzMzzqvWjgAuACcDfAXOASZl5X3X8VpfVcJwmVMfi+c7ar55hz14ANwB/pPTE3g18Eei05xoR76te86/Ae4GLKEHbaBDwLPAZYDvgZOAo4CvV+psoQbGQEr6bVOUADKOEzD8C+wCrgNsjYmgX+3AZsCHwIUrIHVOV3eYq4JPAf6/acw5wQUQcU60fX9VzckN7uuP9lN7rPsCngX8GfkI5pvtWzz9btavRQcBIYHfgMOATwLca1g+v9u2fqrL+H3BnRIzsoi1re/zOB66jvJHcCEyphl7a3qynA/sDEynH7HDg99X69YGfAhsAHwXeB8wA7omI7do3KCJGA18Drs1Mg74P2LMXwJbA5Mz8bfX8iTVsfypwf2ZOqp5nRGwK/O+2DTLzFUqPtM38iPgH4ATga5n5YkT8BViVmYsbC8/MqY3Pq08Bf6QE8i+62Id/y8xft9XX8PoxlKAam5mPVYufjIigBNnVmfn78pTn27dnLb0EfK7qtT8aETMpn5Q2y8y/VsvuBvYGLm943VLg+MxcVW1zJvAvEXFmZi7PzH9rdyyOo/S09wWu76gh3Th+l2bmzdU2/7M6Fh8EHqf09vcAxmfmg9X2TwD3VY8PofTQD8nMl6tl34yIvSlvqCc31L8F8J/Va4/rqM3qeYa9oPSop1ShcC/wk8z8VRfbjwVmtlv28/YbRcTnKMMTWwFvofy+rfHTZETsQOkF7gBsTPmUACXQOwv77wBXRMRHq324vW04gdLjHgQ8WAV6myGUXm8zPNpueGYxkFXQNy5r3+udVQV9m19Qeub/AMyp3qjOofTs3045fm+mHIsOdeP4tb0xkpmrIuJZYFS1aEfguYagb288MBr4U7tjOgx4sd22X6fs+5GZ6Z0X+4jDOCIzvwFsA9wMbA/cHxHnrkuZEXEw8F3KcM1+lI/551CuCXT1ujcDdwOtlGGf91OCpZUypt3ZPkylhNn3KEMwd0TED6vVbb/nu1ACsO3f9pQhjGZY2e55ayfLuvt/bjqwBfB5YGdKu5+lk2PRzeO3ot3z7rRvPeBRXns8d6C8mX2u3bYtlDc+g74P2bMXAJn5BGVs+LKIOAM4Dehs7vZvKcHZaNd2zz8APJSZk9sWVBcGG62gXHRstB3wNuCrmflo9bpdeLV32tU+LAKmUi6yzgBuiIgTgNnVJltk5vQuiuioPT1tfEQMbujd7wL8FZhXjcuPBfbLzLtg9YXot3dR3us+fu3MBkZExLhOevcPUobG/pyZz66hrM/zt28s6mWGfc1VMy4uAH5EmaGxEWU8+LddvOxi4IGI+CbwfeBdlHH8RgkcExEHAL8BPka5QNroSWB0RPwT5cLjC8BTlLCbGBH/izIEdD6l19nVflxKuUCYlJkhnwQWAMsy888RcQ1wVUScDvwXZVhpR+BtmXlBQ3s+GBF3ACsy8w9d1dkkI4HvRsQlwDsoM5SuyMzlEfEi5YLo5yJiXrXtt/nbYZJGr+v4deA/gJ8BN0XEFykzbTYFtsvMKZTrBadQLvx+lTLOP4oy1v9oZt7SUNaZwNOUWUnqIw7j6GXKH7xcTflYfhewhDKLpkOZObtafyjwMHAG5T9+oyuAH1B62g9RLlae3W6bWygzem6nhNrpVcD+M2UWySOU6wlfAl5Zw34Moozb/4ZyIfAtwEcbhg6Oo7xJfZXyRjaTMg2z8WL0qZQ3gPlVe3rDNGAZ5ZrHjZRhmzNg9UXug6nG74FrKfu4qLPC1uH4tS+nlTJNcgZlaCyBH1KuAVBNDd2D0sOfSgn7H1OGjZ5qV9wWdH92k5pskN9UJUlvfPbsJakGDHtJqgHDXpJqoF/OxomIYZS5wYto3h+9SNIb2WDKhfAH2v0xH9BPw54S9D/r60ZI0gC0Ox38RXt/DftFANdffz2jR4/u67ZIUr+3ePFiDjvsMOhkam5/DftVAKNHj6alpaWv2yJJA0mHQ99eoJWkGjDsJakGDHtJqgHDXpJqwLCXpBow7CWpBgx7SaoBw16SaqC//lEVAL85+SiWDOvyK0sl6Q1jx+tn9FjZ9uwlqQYMe0mqAcNekmrAsJekGjDsJakGDHtJqgHDXpJqwLCXpBow7CWpBgx7SaoBw16SasCwl6QaMOwlqQYMe0mqAcNekmrAsJekGjDsJakGDHtJqgHDXpJqwLCXpBow7CWpBgx7SaoBw16SasCwl6QaMOwlqQYMe0mqAcNekmrAsJekGjDsJakGDHtJqgHDXpJqwLCXpBow7CWpBgx7SaoBw16SasCwl6QaMOwlqQYMe0mqAcNekmrAsJekGhjSWxVFxL7AJcBgYEpmnt9bdUtS3fVKzz4iBgPfBT4KjAU+HRFje6NuSVLvDeO8H5ibmU9k5grgRuCAXqpbkmqvt4ZxNgMWNDxfCOy0phdt/52ptLS09FijJKkuvEArSTXQW2H/NLB5w/OWapkkqRf01jDOA8DWETGGEvKHAp/ppbolqfZ6pWefmS8DXwDuAh4Fbs7MR3qjbklSL86zz8wZwIzeqk+S9Cov0EpSDRj2klQDhr0k1YBhL0k1YNhLUg0Y9pJUA4a9JNWAYS9JNWDYS1INGPaSVAOGvSTVgGEvSTVg2EtSDRj2klQDhr0k1YBhL0k1YNhLUg0Y9pJUA4a9JNWAYS9JNWDYS1INGPaSVAOGvSTVgGEvSTVg2EtSDRj2klQDhr0k1YBhL0k1YNhLUg0Y9pJUA4a9JNWAYS9JNbDWYR8Rt3ay/MfNa44kqSd0p2f/wU6W79mEdkiSetCQNW0QEedUD4c2PG7zDuCpprdKktRUawx7YPPq53oNjwFagQXA2U1ukySpydYY9pl5FEBE/J/MvKrnmyRJara16dkDkJlXRcS2wMHAqMz8QkQEMCwz5/RYCyVJ66w7s3EOBn4GbAYcXi3eAJjcA+2SJDVRd2bjnAN8KDOPB1ZVy/4v8N6mt0qS1FTdCfu3A23DNa0NP1s73lyS1F90J+xnA59tt+xQYFbzmiNJ6glrfYEWOBG4OyKOAd4SEXcB2wAf7pGWSZKapjuzcR6rZuN8DJhOmWM/PTP/0lONkyQ1R3d69mTmC8DNPdQWSVIPWeuwj4if0fHF2L8CC4EfZ+ZtzWqYJKl5unOB9l5gK+A/gR9WP7cEHgSWANdExOlNbp8kqQm6M4zzYeAjmflo24KIuB74fmbuVN3q+Abg201uoyRpHXWnZ78t8ES7ZU8BAZCZs4BRTWqXJKmJutOzvw+YGhFnUcboWyh3vPw5QES8G1jU7AZKktZdd3r2R1Tb/xZYDjwCDAaOrNavAD7dzMZJkppjrXr2EbEesAMl8D8DvA34fWa+0rZNZmaPtFCStM7WKuwz85WIuDUzN6gWLenBNkmSmqw7wzj3RcTOPdYSSVKP6c4F2qeAOyLiVsqtElb/gVVmntXshkmSmqc7Yb8+cEv1uKUH2iJJ6iHduRHaUT3ZEElSz+nWjdAAImIDYGNgUNuyzGz/x1aSpH6kOzdCGwtcT/kawlZK2LeN2w9uftMkSc3Sndk4lwE/Bd4K/BkYAVxBmXsvSerHuhP27wW+nJl/AgZl5vPAacA3eqRlkqSm6U7YvwS8qXr8h4jYonr9yKa3SpLUVN0J+58Bn6oeTwPuoNzTfmazGyVJaq7uzMaZlZnXVo+/AvwG2IAydi9J6se6E/ZnARdBuVcO5duqiIilwHnNb5okqVnWGPYRsVfbthHxQRrm1wPvAJb1RMMkSc2zNj37q6ufw4BrGpa3Uu5+ObHZjZIkNdcawz4zxwBExHWZeXjPN0mS1GxrPRvHoJekgas7Uy8lSQOUYS9JNWDYS1INGPaSVAOGvSTVgGEvSTVg2EtSDRj2klQDhr0k1YBhL0k1YNhLUg0Y9pJUA4a9JNWAYS9JNWDYS1INGPaSVAOGvSTVgGEvSTVg2EtSDRj2klQDhr0k1YBhL0k1YNhLUg0Y9pJUA4a9JNWAYS9JNWDYS1INGPaSVAOGvSTVgGEvSTUwpDcqiYhrgI8Bz2bm9r1RpyTpVb3Vs78W2LeX6pIktdMrYZ+Z9wFLe6MuSdLf6pVhnNfr8MvuZMgGI5pW3t2TDmxaWZI0kHiBVpJqwLCXpBow7CWpBnol7CPiBuC/ysNYGBHH9Ea9kqSiVy7QZuane6MeSWqmvfbai3PPPZdddtml1+s+44wzGDVqFKecckpTynMYR5J6wKpVq/q6Ca/Rr6deSlJfOe2003jmmWc4/vjjGTx4MCeccAIPP/wws2fP5qWXXmLbbbfl7LPPZuuttwZKT3zYsGE888wzPPDAA1x22WVst912TJo0iVmzZjFmzBh22203Zs2axQ033ADAvHnzOPfcc3nkkUcYMWIEJ510Evvttx833XQTt912G4MGDeK6665jp5124nvf+9467Y9hL0kduPDCC5k9e/ZrhnGmTZvGeeedx9ChQ7nwwgv50pe+xK233rr6NdOnT+fKK6/kiiuuYOXKlZxxxhmsv/76/OIXv+Dpp5/mmGOOYdNNNwXghRde4Oijj+bEE0/kqquu4vHHH+eoo45im2224ZBDDuGhhx5yGEeS+sJBBx3E8OHDGTp0KBMnTuSxxx5j2bJlq9fvvffe7Ljjjqy33noMGTKEu+++m4kTJ7L++uvzzne+k0984hOrt7333nvZbLPNOPDAAxkyZAhjx47lIx/5CHfeeWePtN2evSSthVWrVnHxxRdz5513snTpUtZbr/SVn3vuOTbYYAMANtlkk9XbL126lJdffvk1yxofP/3008yZM4dx48a9po7999+/R9pv2EvSWrjtttuYOXMmU6dOpaWlhWXLljF+/HhaW1s73P6tb30rQ4YMYfHixYwZMwaARYsWrV6/ySabMH78eKZOndrh6wcNGtTU9juMI0md2HjjjVmwYAEAy5cvZ+jQoYwYMYIXX3yRyZMnd/nawYMHs88++3DppZfy4osvMm/evNeM7++5557Mnz+fW265hZUrV7Jy5UrmzJnDvHnzABg5ciQLFy5s2r4Y9pLUieOOO47LL7+ccePG8fzzz7Ppppuy++67M2HCBHbYYYc1vv6ss85i2bJl7Lrrrpx++ulMmDCBoUOHAjB8+HCuvvpqZsyYwe67785uu+3GRRddxIoVK4ByfWDu3LmMGzeOE044YZ33ZVBnH0H6UkRsBTy52YGneddLSW8YF154IX/4wx+44IILml72woUL2XvvvQHGZOb89uvt2UtSD5k3bx6PPfYYra2tzJkzh2nTprHPPvv0SVu8QCtJPWT58uWceuqpPPvss4wcOZKjjz66rffd6wx7Seoh73nPe7jnnnv6uhmAwziSVAuGvSTVgGEvSTVg2EtSDXiBVpI6Mfuw/Zpa3o7Xz1jjNvfddx/f/OY3eeWVVzj44IM57rjjmlK3PXtJ6idWrVrFOeecw5QpU7j99tuZPn06c+fObUrZhr0k9RNz5sxhyy23ZPPNN2fo0KFMmDCBmTNnNqVsw16S+oklS5YwevTo1c9HjRrFkiVLmlK2YS9JNWDYS1I/MWrUKBYvXrz6+ZIlSxg1alRTyjbsJamfePe73838+fNZsGABK1as4Pbbb2evvfZqStlOvZSkTqzNVMlmGjJkCGeddRbHHnssq1at4sADD2TrrbduTtlNKUWS1BR77LEHe+yxR9PLdRhHkmrAsJekGjDsJakGDHtJqgHDXpJqwLCXpBpw6qUkdeLD3/pRU8u7e9KBa9xm0qRJ3HvvvYwcOZLp06c3rW579pLUj3zyk59kypQpTS/XsJekfmT8+PFsuOGGTS/XsJekGjDsJakGDHtJqgHDXpJqoF9PvbzuhH1paWnp62ZIqqm1mSrZbF/84heZNWsWzz33HB/4wAeYOHEiBx988DqX26/DXpLqZvLkyT1SrsM4klQDhr0k1YBhL0k1YNhLUg0Y9pJUA4a9JNWAYS9JNWDYS1IN9Nc/qhoMsHjx4r5uhyQNCA15Obij9f017DcBOOyww/q6HZI00GwCzGu/sL+G/QPA7sAiYFUft0WSBoLBlKB/oKOVg1pbW3u3OZKkXucFWkmqAcNekmrAsJekGjDsJakGDHtJqoF+N/UyIvYFLqFMI5qSmef3cXs2B64DRgGtwJWZeUlEvBW4CdgKmA98KjOfi4hBlPbvB7wAHJmZv6rKOgI4syr63Mz8frV8R+BaYH1gBnBSZrZ2VkcT9mkw8CDwdGZ+LCLGADcCI4HZwGczc0VEDKv2fUfgj8AhmTm/KmMScAxlauyJmXlXtbzD89dZHeu6L1XZGwFTgO0p5+hoIBm45+cU4NhqXx4GjqJMqRsQ5ygirgE+BjybmdtXy/rs/0tXdazD/lwIfBxYQZnTflRm/qla15Tj/nrObVf6Vc++CqHvAh8FxgKfjoixfdsqXgZOzcyxwM7A56s2nQHMzMytgZnVcyht37r6dxxwOaz+Zf8asBPwfuBrETGies3lwOcaXrdvtbyzOtbVScCjDc8vAC7OzHcCz1F+iah+Plctv7jajmr/DwXeVbX1sogYvIbz11kdzXAJcGdmbgu8t9q3AXl+ImIz4ERgXBUsgynHeiCdo2t59Ri16cvz0WEd67g/9wDbZ+Z7gMeBSVW7m3ncu3Vu17QT/SrsKSd1bmY+UfUobgQO6MsGZeaitl5AZi6jBMlmVbu+X232feAT1eMDgOsyszUz7wc2iohNgI8A92Tm0qr3dw+wb7Xu7zPz/sxspbyTN5bVUR2vW0S0ABMoPWGqXs9ewLRO9qWt/mnA3tX2BwA3ZuZfM/NJYC7l3HV4/tZQx7ruz4bAB4CrATJzRdXDGpDnpzIEWD8ihgBvpvxx4YA5R5l5H7C03eK+PB+d1fG69ycz787Ml6un9wMtDXU167h399x2qb+F/WbAgobnC6tl/UJEbAW8D/glMCozF1WrFlOGeaDzfehq+cIOltNFHeviO8DpwCvV85HAnxp+cRvrX93mav3z1fbd3ceu6lhXY4DfA1Mj4qGImBIRb2GAnp/MfBq4CPgdJeSfp3y0H8jnCPr2fPR0rhwN3LGGul7Pce/uue1Sfwv7fisihgM/Ak7OzD83rqt6GD36p8jNqCMi2sYdZzenVf3CEOAfgcsz833ActoNpwyU8wNQDVUcQHkT2xR4C387hDCgDaTzsSYR8VXKUO/1PV3XuupvYf80sHnD85ZqWZ+KiDdRgv76zPxxtXhJ20fB6uez1fLO9qGr5S0dLO+qjtdrV2D/iJhP+Ri5F2W8e6NqyKB9/avbXK3fkHKhqLv7+Mcu6lhXC4GFmfnL6vk0SvgPxPMD8CHgycz8fWauBH5MOW8D+RxB356PHsmViDiScuH2sOrNpau6Xs9x7+657VJ/C/sHgK0jYkxEDKVchPhJXzaoGiO7Gng0Myc3rPoJcET1+Ajg1oblh0fEoIjYGXi++mh5F/DhiBhR9d4+DNxVrftzROxc1XV4u7I6quN1ycxJmdmSmVtRju1/ZOZhwE+BgzrZl7b6D6q2b62WHxoRw6qZBFsDs+jk/FWv6ayOdZKZi4EFERHVor2B3zIAz0/ld8DOEfHmqr62/Rmw56iDdvb2+eisjtetmllzOrB/Zr7Qbj+bddy7e2671K+mXmbmyxHxBcqJHgxck5mP9HGzdgU+CzwcEb+uln0FOB+4OSKOAZ4CPlWtm0GZ4jWXMs3rKIDMXBoR3+DVO9Kdk5ltF31O4NWpZHfw6vhfZ3U025eBGyPiXOAhqoud1c8fRMRcygWqQ6t9eSQibqaE0MvA5zNzFUAX56+zOpphInB99Z/oCcoxX48BeH4y85cRMQ34FeXYPgRcCdzOADlHEXEDsCewcUQspMyq6cv/Lx3WsY77MwkYBtxT9TPuz8zjm3zcu31uu+JdLyWpBvrbMI4kqQcY9pJUA4a9JNWAYS9JNWDYS1INGPaSVAOGvdQLImJ+RHyor9uh+jLsJakG/KMq1VKUL6W5BNid0um5gXIf+a9Q7pW+PnAnMDEzn4+IPYEfZmZLQxnzgWMz898j4mzKfcpfAv4b5bYHR2TmgxHxA+Aw4K+UL5s4JzO/3Qu7Ka1mz161E+WLHqZT/qR+K8rtYW8Ejqz+fRB4BzAcuLQbRe9flbMR5f4llwJk5mcp4f/xzBxu0KsvGPaqo/dTbh98WmYuz8yXMvPnlN735OoLJv5Cuf/JoQ13JFyTn2fmjOo+JT+gfGuW1C8Y9qqjzYGnGr4wos2mlN5+m6coNwtc2y8lWdzw+AXg77rxRiH1KMNedbQA2KKDIH4G2LLh+RaUuwouoXwpypvbVlRDQW/rRp1eHFOfstehOppF+cq/8yPia5SLpjtSLtJ+OSLuoHzV4XnATdWttx+n9NQnAHdTLuQO60adSyjXAaQ+Yc9etVONqX8ceCflwulC4BDgGspY+33Ak5SZNROr1zxPuY/6FMq3Ai3ntd+FuibfAs6MiD9FxJeasyfS2nPqpSTVgD17SaoBw16SasCwl6QaMOwlqQYMe0mqAcNekmrAsJekGjDsJakG/j+D8kLk8ng7mgAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "be2b936baaa6dcc2d574a861c75584ed04d3589e" + }, + "cell_type": "markdown", + "source": "
\n## 6-4-2 pie plot" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "4a2332f8c87da0a4f8cc31f587ce547470a0d615" + }, + "cell_type": "code", + "source": "\nax=train['target'].value_counts().plot.pie(explode=[0,0.1],autopct='%1.1f%%' ,shadow=True)\nax.set_title('target')\nax.set_ylabel('')\nplt.show()", + "execution_count": 53, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "trusted": true, + "_uuid": "ee5a0017d867f90a5b89a78866582e73ceef5a05" + }, + "cell_type": "code", + "source": "#plt.pie(train['target'],autopct='%1.1f%%')\n \n#plt.axis('equal')\n#plt.show()", + "execution_count": 54, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fbe8c50bcc1b632f42dd249e27a9a7c14517fd29" + }, + "cell_type": "markdown", + "source": "
\n## 6-4-3 Histogram" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "e41be26587175bee1bfe63e43eca1dd3f445c082" + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,2,figsize=(20,10))\ntrain[train['target']==0].num_words.plot.hist(ax=ax[0],bins=20,edgecolor='black',color='red')\nax[0].set_title('target= 0')\nx1=list(range(0,85,5))\nax[0].set_xticks(x1)\ntrain[train['target']==1].num_words.plot.hist(ax=ax[1],color='green',bins=20,edgecolor='black')\nax[1].set_title('target= 1')\nx2=list(range(0,85,5))\nax[1].set_xticks(x2)\nplt.show()", + "execution_count": 55, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "a7d0a12e7f719781cd09e0d6df6ae1e780a6b1ab" + }, + "cell_type": "code", + "source": "f,ax=plt.subplots(1,2,figsize=(18,8))\ntrain[['target','num_words']].groupby(['target']).mean().plot.bar(ax=ax[0])\nax[0].set_title('num_words vs Sex')\nsns.countplot('num_words',hue='target',data=train,ax=ax[1])\nax[1].set_title('num_words:target=0 vs target=1')\nplt.show()", + "execution_count": 56, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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MG7cOC6//HKmTp3KgAEDuPjii9l+++0599xzm/l2SCutrvR4uBAY21iQmftl5pYlbPgv4KpO9v9IqdtvQ4dWTz75JBMmTOD6669njTXW4MYbb+y0/h/+8Ad+9KMfceWVV3LmmWey6qqrcs0117DllltyzTXXtLvP0KFDeeWVV3jxxReZMWMGW2yxBTNmzGDu3LkMHTqU1VZbjcmTJ/Pxj3+cqVOnstdeezF58uSl+y9YsIDLLruMSZMm8ZOf/IStt96a66+/nl133ZV58+YB8Mtf/pJ3vvOdTJkyheuuu45/+Id/6Lk3SZIkSSrOOOMMNthgA84991zuu+8+DjvsMHbccUduvPFGfvOb37D55pvzla985Q37XHfddRx++OHce++9jBo1ipNPPpnVVluNX/3qV5x++ulvuI9++eWXOeSQQ9hzzz359a9/zZlnnslJJ53ErFmz2G+//dhrr7049NBDue+++wwdpCZaZvCQmXcBC9vbFhEDgE8Bl/Zwu/qk4cOHs9lmmwHw3ve+l7lz53Zaf/vtt+ftb38766yzDmussQajR48G4O///u873XerrbZi5syZTJ8+ncMPP5wZM2YwY8YMRo0aBcB9993HnnvuCcD48eOZOXPm0n3Hjh3LoEGDAJg+fTrjx48HYOedd2bNNddcev5f//rXnHHGGcyYMYM11lhjed4OSZIk6S3bd999efvb386QIUM4+uij+d3vfscLL7ywdPuYMWMYNWoUAwcOZPDgwdx0000cffTRrLbaamy66absvffeS+vecccdbLjhhuyzzz4MHjyYzTffnI9+9KPccMMNzXhpkjrQ3ckl/wFYkJl/6GB7C3BTRLQA/5qZ53XzfE01ZMiQpcuDBg3ilVdeYdCgQUuHMCxatKjD+gMHDuRtb3vb0uXOxqtts802zJw5k3nz5jFmzBh++tOfAlV4sCyrrbbaMuuMGDGCq666ijvvvJMf/OAH7LDDDhx11FHL3E+SJEnqjiVLlnDmmWdyww03sHDhQgYOrL4HffbZZ5d+Gbb++usvrb9w4UIWL178hrLG5blz53L//fezzTavd65esmQJH/vYx+p+KZLegu5OLnkAnfd2+HBmbg3sDhwZETt283x9zoYbbsiDDz4I0GPJ6jbbbMOUKVPYeOONGThwIGuuuSZ33XXX0h4PW221Fddffz0AU6dOfcN/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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "7870ad9dc4a007463301513963d6a2c1fe978aa4" + }, + "cell_type": "code", + "source": "# histograms\ntrain.hist(figsize=(15,20))\nplt.figure()", + "execution_count": 57, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 57, + "data": { + "text/plain": "
" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "e065ebff5374a9ab83df9c099a05962eb3645934" + }, + "cell_type": "code", + "source": "train[\"num_words\"].hist();", + "execution_count": 58, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZEAAAD4CAYAAAAtrdtxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAE3FJREFUeJzt3X+MXWWdx/F3bYWArhZhKd1OkzZr8zV1skaHhSZEY6jBIqzlD0XcBgqiZiMKiomCa5ZEJcGsEfuHkhDK0ibN1i6S0IRKJaDZ9Y9iuaihQL6bLiCdph1YKGCWFSw7+8d5Bofxzq+n7dxz6fuVTHruc57nPN85nbmfe37cO/NGR0eRJKnGW3pdgCSpfxkikqRqhogkqZohIkmqtqDXBRxNEXEi8LfAAeC1HpcjSf1iPrAY2J2Zr8xm4JsqRGgC5D96XYQk9akPAr+czYA3W4gcANiyZQtnnHHGjAft2bOHwcHBY1bUsdKPdfdjzWDdc60f6+7HmqGp+7TTTmPdunVQnkNn480WIq8BnHHGGQwMDMx40MjIyKz6t0U/1t2PNYN1z7V+rLsfa4am7kWLFo09nPVlAC+sS5KqGSKSpGqGiCSpmiEiSapmiEiSqhkikqRqhogkqZohIkmq9mZ7s+ER2XfBmT2Zd+k9D/VkXkk6Uh6JSJKqGSKSpGqGiCSpmiEiSapmiEiSqhkikqRqhogkqZohIkmqZohIkqoZIpKkaoaIJKmaISJJqmaISJKqGSKSpGqGiCSpmiEiSapmiEiSqhkikqRqhogkqZohIkmqZohIkqoZIpKkaoaIJKmaISJJqmaISJKqGSKSpGoLZtIpIr4CfBYYBR4BrgAWA1uBU4EOcGlmvhoRJwKbgSHgOeBTmflU2c71wJXAa8DVmbmztK8BNgDzgdsy86bSvrzbHEf+bUuSjoZpj0QiYglwNXBmZg7SPNFfAnwXuDkz3w0cogkHyr+HSvvNpR8RsbKMey+wBvhRRMyPiPnAD4HzgZXAp0tfpphDktQCMz2dtQA4KSIWACcDB4BzgTvL+k3ARWV5bXlMWb86IuaV9q2Z+UpmPgnsBc4qX3sz84lylLEVWFvGTDaHJKkFpj2dlZn7I+J7wNPA/wI/ozm19EJmHi7dhoElZXkJsK+MPRwRL9KcjloC7Bq36fFj9k1oP7uMmWyOKe3Zs4eRkZGZdH1dp9Ph9FmNOHo6nU5PxvZKP9YM1j3X+rHufqwZmufMWtOGSEScQnMUsRx4Afg3mtNRrTU4OMjAwMCM+3c6HYaGht6QZHNpaGioatxY3f2kH2sG655r/Vh3P9YMTd2Dg4PV42dyOusjwJOZ+Wxm/hG4CzgHWFhObwEMAPvL8n5gKUBZ/06aC+yvt08YM1n7c1PMIUlqgZmEyNPAqog4uVynWA08Bvwc+ETpsx64uyxvL48p6x/IzNHSfklEnFjuuloB/ArYDayIiOURcQLNxfftZcxkc0iSWmDaEMnMB2kubj9Mc3vvW4Bbga8D10bEXprrFxvLkI3AqaX9WuC6sp1HgW00AXQvcFVmvlaueXwR2Ak8DmwrfZliDklSC8zofSKZeQNww4TmJ2jurJrY9w/AJyfZzo3AjV3adwA7urR3nUOS1A6+Y12SVM0QkSRVM0QkSdUMEUlSNUNEklTNEJEkVTNEJEnVDBFJUjVDRJJUzRCRJFUzRCRJ1QwRSVI1Q0SSVM0QkSRVM0QkSdUMEUlSNUNEklTNEJEkVTNEJEnVDBFJUjVDRJJUzRCRJFUzRCRJ1QwRSVI1Q0SSVM0QkSRVM0QkSdUMEUlSNUNEklTNEJEkVTNEJEnVDBFJUjVDRJJUzRCRJFUzRCRJ1RbMpFNELARuAwaBUeAzQAI/BpYBTwEXZ+ahiJgHbAA+BrwMXJ6ZD5ftrAe+WTb7nczcVNqHgDuAk4AdwDWZORoR7+o2x5F8w5Kko2emRyIbgHsz8z3A+4DHgeuA+zNzBXB/eQxwPrCifH0euAWgBMINwNnAWcANEXFKGXML8Llx49aU9snmkCS1wLQhEhHvBD4EbATIzFcz8wVgLbCpdNsEXFSW1wKbM3M0M3cBCyNiMfBR4L7MfL4cTdwHrCnr3pGZuzJzFNg8YVvd5pAktcBMTmctB54F/iUi3gd0gGuARZl5oPQ5CCwqy0uAfePGD5e2qdqHu7QzxRxT2rNnDyMjIzPp+rpOp8Ppsxpx9HQ6nZ6M7ZV+rBmse671Y939WDM0z5m1ZhIiC4APAF/KzAcjYgMTTiuV6xej1VXMwGzmGBwcZGBgYMbb7nQ6DA0NvSHh5tLQ0FDVuLG6+0k/1gzWPdf6se5+rBmaugcHB6vHz+SayDAwnJkPlsd30oTKSDkVRfn3mbJ+P7B03PiB0jZV+0CXdqaYQ5LUAtOGSGYeBPZFRJSm1cBjwHZgfWlbD9xdlrcDl0XEvIhYBbxYTkntBM6LiFPKBfXzgJ1l3UsRsarc2XXZhG11m0OS1AIzusUX+BKwJSJOAJ4ArqAJoG0RcSXwO+Di0ncHze29e2lu8b0CIDOfj4hvA7tLv29l5vNl+Qv86Rbfn5YvgJsmmUOS1AIzCpHM/A1wZpdVq7v0HQWummQ7twO3d2l/iOY9KBPbn+s2hySpHXzHuiSpmiEiSapmiEiSqhkikqRqhogkqZohIkmqZohIkqoZIpKkaoaIJKmaISJJqmaISJKqGSKSpGqGiCSpmiEiSapmiEiSqhkikqRqhogkqZohIkmqZohIkqoZIpKkaoaIJKmaISJJqmaISJKqGSKSpGqGiCSpmiEiSapmiEiSqhkikqRqhogkqZohIkmqZohIkqoZIpKkaoaIJKmaISJJqmaISJKqLZhpx4iYDzwE7M/MCyNiObAVOBXoAJdm5qsRcSKwGRgCngM+lZlPlW1cD1wJvAZcnZk7S/saYAMwH7gtM28q7V3nOOLvWpJ0VMzmSOQa4PFxj78L3JyZ7wYO0YQD5d9Dpf3m0o+IWAlcArwXWAP8KCLml3D6IXA+sBL4dOk71RySpBaYUYhExABwAXBbeTwPOBe4s3TZBFxUlteWx5T1q0v/tcDWzHwlM58E9gJnla+9mflEOcrYCqydZg5JUgvM9HTWD4CvAX9RHp8KvJCZh8vjYWBJWV4C7APIzMMR8WLpvwTYNW6b48fsm9B+9jRzTGnPnj2MjIzM7DsrOp0Op89qxNHT6XR6MrZX+rFmsO651o9192PN0Dxn1po2RCLiQuCZzOxExIerZ5pDg4ODDAwMzLh/p9NhaGjoDUk2l4aGhqrGjdXdT/qxZrDuudaPdfdjzdDUPTg4WD1+JqezzgE+HhFP0ZxqOpfmIvjCiBgLoQFgf1neDywFKOvfSXOB/fX2CWMma39uijkkSS0wbYhk5vWZOZCZy2gujD+QmeuAnwOfKN3WA3eX5e3lMWX9A5k5WtoviYgTy11XK4BfAbuBFRGxPCJOKHNsL2Mmm0OS1AJH8j6RrwPXRsRemusXG0v7RuDU0n4tcB1AZj4KbAMeA+4FrsrM18o1jy8CO2nu/tpW+k41hySpBWb8PhGAzPwF8Iuy/ATNnVUT+/wB+OQk428EbuzSvgPY0aW96xySpHbwHeuSpGqGiCSpmiEiSapmiEiSqhkikqRqhogkqZohIkmqZohIkqoZIpKkaoaIJKmaISJJqmaISJKqGSKSpGqGiCSpmiEiSao2q78nomNj3wVnVo07HY7478IvveehI9yCpOOZRyKSpGqGiCSpmiEiSapmiEiSqhkikqRqhogkqZohIkmqZohIkqoZIpKkaoaIJKmaISJJqmaISJKqGSKSpGqGiCSpmiEiSapmiEiSqhkikqRqhogkqZohIkmqNu3fWI+IpcBmYBEwCtyamRsi4l3Aj4FlwFPAxZl5KCLmARuAjwEvA5dn5sNlW+uBb5ZNfyczN5X2IeAO4CRgB3BNZo5ONscRf9eSpKNiJkcih4GvZuZKYBVwVUSsBK4D7s/MFcD95THA+cCK8vV54BaAEgg3AGcDZwE3RMQpZcwtwOfGjVtT2iebQ5LUAtOGSGYeGDuSyMzfA48DS4C1wKbSbRNwUVleC2zOzNHM3AUsjIjFwEeB+zLz+XI0cR+wpqx7R2buysxRmqOe8dvqNockqQVmdU0kIpYB7wceBBZl5oGy6iDN6S5oAmbfuGHDpW2q9uEu7UwxhySpBaa9JjImIt4O/AT4cma+FBGvryvXL0aPQX1Vc+zZs4eRkZFZbb/T6XB6VWX9rdPpHBdzHg3WPbf6se5+rBma58xaMwqRiHgrTYBsycy7SvNIRCzOzAPllNQzpX0/sHTc8IHSth/48IT2X5T2gS79p5pjSoODgwwMDEzfseh0OgwNDb3hMOl4MTQ0NKfzje3rfmPdc6sf6+7HmqGpe3BwsHr8tKezyt1WG4HHM/P741ZtB9aX5fXA3ePaL4uIeRGxCnixnJLaCZwXEaeUC+rnATvLupciYlWZ67IJ2+o2hySpBWZyJHIOcCnwSET8prR9A7gJ2BYRVwK/Ay4u63bQ3N67l+YW3ysAMvP5iPg2sLv0+1ZmPl+Wv8CfbvH9afliijkkSS0wbYhk5i+BeZOsXt2l/yhw1STbuh24vUv7Q8CfHU9l5nPd5pAktYPvWJckVTNEJEnVDBFJUjVDRJJUzRCRJFUzRCRJ1QwRSVI1Q0SSVM0QkSRVM0QkSdUMEUlSNUNEklTNEJEkVTNEJEnVDBFJUjVDRJJUzRCRJFUzRCRJ1QwRSVI1Q0SSVM0QkSRVM0QkSdUMEUlSNUNEklTNEJEkVTNEJEnVDBFJUjVDRJJUbUGvC1Bv7bvgzDmd73RgH7D0nofmdF5Jx4ZHIpKkaoaIJKmaISJJqmaISJKqGSKSpGqGiCSpmiEiSarW+veJRMQaYAMwH7gtM2/qcUk6Cub6/Snj+R4V6ehp9ZFIRMwHfgicD6wEPh0RK3tblSRpTNuPRM4C9mbmEwARsRVYCzw2Sf/5AAcPHpzVJM8++yzDw8Mc/OP/HUGp6hfzhodnPWbsZ6TfWPfc6ceaoal7dHR07OH82Y5ve4gsofmUjDHDwNlT9F8MsG7dumNZk/rd6tW9rkBqq8XAf81mQNtDZLZ2Ax8EDgCv9bgWSeoX82kCZPdsB7Y9RPYDS8c9HihtXWXmK8Avj3VRkvQmNKsjkDFtD5HdwIqIWE4THpcAf9/bkiRJY1p9d1ZmHga+COwEHge2Zeajva1KkjRm3rir8pIkzUqrj0QkSe1miEiSqrX9wvox1S8fqRIRS4HNwCJgFLg1MzdExLuAHwPLgKeAizPzUK/q7KZ86sBDwP7MvLDcJLEVOBXoAJdm5qu9rHGiiFgI3AYM0uzvzwBJ+/f1V4DP0tT8CHAFzW2brdrfEXE7cCHwTGYOlrauP8sRMY/md/RjwMvA5Zn5cIvq/mfg74BXae5uuiIzXyjrrgeupHm7wdWZubMtdY9b91Xge8BfZuZ/1+zv4/ZIpM8+UuUw8NXMXAmsAq4qtV4H3J+ZK4D7y+O2uYbmpogx3wVuzsx3A4dofsnaZgNwb2a+B3gfTf2t3tcRsQS4GjizPFHMp7mbsY37+w5gzYS2yfbv+cCK8vV54JY5qrGbO/jzuu8DBjPzb4D/BK4HKL+flwDvLWN+VJ5zeuEO/rzusRen5wFPj2ue9f4+bkOEcR+pUl6ZjX2kSutk5oGxVwOZ+XuaJ7UlNPVuKt02ARf1psLuImIAuIDmVT3lVc65wJ2lSxtrfifwIWAjQGa+Wl5ZtnpfFwuAkyJiAXAyzZtuW7e/M/PfgecnNE+2f9cCmzNzNDN3AQsjYvHcVPpG3erOzJ+Vu0gBdtG8lw2aurdm5iuZ+SSwl+Y5Z85Nsr8Bbga+RnPkOmbW+/t4DpFuH6mypEe1zFhELAPeDzwILMrMA2XVQZrTXW3yA5of0rEPJTsVeGHcL10b9/ly4FngXyLi1xFxW0S8jZbv68zcT3Na4mma8HiR5vRV2/f3mMn2bz/9nn4G+GlZbnXdEbGW5hTzbyesmnXdx3OI9J2IeDvwE+DLmfnS+HWZOcobX1H0VESMnYPt9LqWWVoAfAC4JTPfD/wPE05dtW1fA0TEKTSvIpcDfwW8jS6nMPpBG/fvdCLiH2lOO2/pdS3TiYiTgW8A/3Q0tnc8h8isPlKl1yLirTQBsiUz7yrNI2OHmuXfZ3pVXxfnAB+PiKdoThWeS3OtYWE53QLt3OfDwHBmPlge30kTKm3e1wAfAZ7MzGcz84/AXTT/B23f32Mm27+t/z2NiMtpLlyvKwEI7a77r2lebPy2/H4OAA9HxBlU1H08h8jrH6kSESfQXATb3uOauirXEjYCj2fm98et2g6sL8vrgbvnurbJZOb1mTmQmcto9u0DmbkO+DnwidKtVTUDZOZBYF9ERGlaTfOnB1q7r4ungVURcXL5eRmru9X7e5zJ9u924LKImBcRq4AXx5326rlyh+fXgI9n5svjVm0HLomIE8sdiSuAX/Wixoky85HMPD0zl5Xfz2HgA+Vnf9b7+7i9xTczD0fE2EeqzAdub/FHqpwDXAo8EhG/KW3fAG4CtkXElcDvgIt7VN9sfB3YGhHfAX5NuYDdMl8CtpQXF0/Q3Cr7Flq8rzPzwYi4E3iY5rTKr4FbgXto2f6OiH8FPgycFhHDwA1M/rO8g+Z20700t5xeMecFF5PUfT1wInBfed2xKzP/ITMfjYhtNEF+GLgqM3vyyeLd6s7MyX4OZr2//dgTSVK14/l0liTpCBkikqRqhogkqZohIkmqZohIkqoZIpKkaoaIJKna/wN/V+dTMIbuBgAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "a0df20cff46a2bcdeef476e797d1535fd66850c4" + }, + "cell_type": "markdown", + "source": "
\n## 6-4-4 violin plot" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "fe8ca6c82ce44d745ad1ebc942826cf03e2d9895" + }, + "cell_type": "code", + "source": "sns.violinplot(data=train,x=\"target\", y=\"num_words\")", + "execution_count": 59, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 59, + "data": { + "text/plain": "" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "b08771239bf613afa9f89457fdf25c044279940e" + }, + "cell_type": "markdown", + "source": "
\n## 6-4-5 kdeplot" + }, + { + "metadata": { + "_kg_hide-input": true, + "trusted": true, + "_uuid": "92f2ce0f1ff05002d196522a6a62579f0dba6ef3" + }, + "cell_type": "code", + "source": "sns.FacetGrid(train, hue=\"target\", size=5).map(sns.kdeplot, \"num_words\").add_legend()\nplt.show()", + "execution_count": 60, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAFgCAYAAACsSp6OAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3XmcXFWd9/HPraX3LZ3O3gkJJDkQ9gBhE1BZBkaQxxXQUVR8HOd5GHXGcUbHBUQd0VFRR8ZnHFA2ERkURUUQQQGVJSwJEJJD9qSzb713VXdV3eePe6tTaaq7q7qruip9v+/Xi1eqb91bdbpI+tvn/M49x3FdFxERkVyFSt0AERE5vCg4REQkLwoOERHJi4JDRETyEil1AzIZYyJAK9BmrU2Uuj0iIvJ6ZRUceKGx8dFHHy11O0RECs0pdQMKRUNVIiKSFwWHiIjkRcEhIiJ5yanGYYy5GPgOEAZusdbeOOT5c4FvAycAV1pr78t47mrgc/6XX7bW3l6IhouISGmM2uMwxoSBm4FLgCXAVcaYJUNO2wJ8ALh7yLXNwHXA6cAy4DpjzJTxN1tEREoll6GqZcA6a+0Ga20/cA9weeYJ1tpN1tqXgNSQa/8KeMRau99aewB4BLi4AO0WEZESySU45gBbM75u84/lYjzXiohIGVJxXERE8pJLcGwD5mZ83eofy8V4rhURkTKUy6yq5cAiY8wCvB/6VwLvyfH1Hwb+LaMgfhHwmbxbKSIiZWPUHoe/ZtS1eCGwGrjXWrvKGHODMeatAMaY04wxbcC7gP8yxqzyr90PfAkvfJYDN/jHRETkMOWU0w6Axpj5+GtVtba2lro5IiKFpLWqREQkmBQcI+j69f+w8xPvJxXrK3VTRETKhoJjBLHn/8LA2leJv/R8qZsiIlI2FBwjSHV3AhBb+WyJWyIiUj4UHCNIdXnBEV+5vMQtEREpHwqOEaSDY2DjWpLtmkUsIgIKjmG5rkuqu2Pwa/U6REQ8Co5huLE+SCQINU0FIKbgEBEBFBzDSg9TVZ1wCk5tPbEVKpCLiICCY1ipLm+YKtQ4haoTTiW5azuJHW0lbpWISOkpOIaRnoobqm+g4pjjARjYtK6UTRIRKQs57TkeRIM9jvpGQtW1ACS7Oka6REQkEBQcw0jXOEJ1DYTq6v1jCg4REQXHMAaDo76BUF2Dd6yjvZRNEhEpCwqOYaTv4QjVNxKq94NDPQ4RERXHh3NIj6OhyT+m4BARUXAM42CNo5FQbT2EQiQ7NVQlIqLgGMbgUFVdHU4oRKiunlSnehwiIgqOYaS6OnFq63HCXhko1NBESj0OEREFx3BSXZ2DRXHwiuSprk7KaY92EZFSUHAMI9XdQai+cfDrUEMTpJK4Pd0lbJWISOkpOLJIxWO48TjhjB5HuMELERXIRSToFBxZuN1dAIM3/gGE6v0puSqQi0jAKTiySGasU5UW8nscqS71OEQk2BQcWWSujJs2eBOghqpEJOAUHFlkLnCYlu59aKhKRIJOwZFFKstQVdjvcag4LiJBp+DIInOdqrSDNQ71OEQk2BQcWYxc41BwiEiwKTiySBfAQ3UZs6rSS6trqEpEAk7BkUW2oSonHMGprdNQlYgEnoIji8GhqoxZVeAVyFUcF5GgU3BkkerqwKmqxolGDzkeqm8k1dmhhQ5FJNAUHFm4sRhOdc3rjocamiAxgBvrK0GrRETKg4IjC7c/jlNR9brjg1NyNVwlIgGm4MjCjcdwKitfd1x3j4uIKDiycvtjOBWvD4703eOaWSUiQabgGMJ1Xdx4nFDl8ENVmlklIkGm4BhqoB9gmKEqrZArIqLgGCIVjwFkHaoK1dV752j7WBEJMAXHEG48DmQPDqe2zjtHwSEiAabgGMLt94MjW42jphaAVG/PhLZJRKScKDiGOBgcWYaqarweR6pXPQ4RCS4FxxBuLF3jeH2Pw/GDw1WPQ0QCTMExhNs/fHHcqayEUFg9DhEJNAXHECPVOBzHIVRbp+AQkUBTcAwxOKsqS40DwKmp1VCViASagmMId4T7OMCbWaX7OEQkyBQcQ4w0qwq8mVVuXy9uKjWRzRIRKRsKjiFGqnGAN1SF6+LGeieyWSIiZUPBMcSoQ1W16Xs5VOcQkWCK5HKSMeZi4DtAGLjFWnvjkOcrgTuAU4B9wBXW2k3GmChwC7DUf687rLVfLWD7C+7gkiMj9DjQvRwiElyj9jiMMWHgZuASYAlwlTFmyZDTrgEOWGsXAjcBX/OPvwuotNYejxcqf2uMmV+gthfF4H0cw9U4qv1lR1QgF5GAymWoahmwzlq7wVrbD9wDXD7knMuB2/3H9wHnG2McwAVqjTERoBroBzoL0vIiOTgdN3uPQ0NVIhJ0uQTHHGBrxtdt/rGs51hrE0AHMBUvRHqAHcAW4BvW2v3jbHNRDRbHh6lxHByqUo9DRIKp2MXxZUASmA0sAD5pjDmyyO85LoPF8eGGqtTjEJGAyyU4tgFzM75u9Y9lPccflmrEK5K/B3jIWjtgrd0N/Bk4dbyNLqbRehyqcYhI0OUSHMuBRcaYBcaYCuBK4IEh5zwAXO0/fifwmLXWxRueejOAMaYWOANYU4iGF8toNY7BzZzU4xCRgBo1OPyaxbXAw8Bq4F5r7SpjzA3GmLf6p90KTDXGrAP+Efi0f/xmoM4YswovgH5krX2p0N9EIY3a49CeHCIScDndx2GtfRB4cMixL2Q8juFNvR16XXe24+UsFY/hVFTiOE7W51UcF5Gg053jQ7j9sWF7G6DiuIiIgmMINx4ftr4BGfuOqzguIgGl4BjC7Y8POxUXwIlWQLRCxXERCSwFxxBuPD7iUBX4e3KoxiEiAaXgGMKNj1zjgHRwqMchIsGk4MjgJpOQGBixxgHg1NRpqEpEAkvBkcEd6AeGX24kLVRTixvrw00mJqJZIiJlRcGR4eBeHKMEx+Dd49oFUESCR8GR4eDuf6MNVflTclUgF5EAUnBkOLiJ08jBMXgvh+ocIhJACo4MBxc4HHmoyvHXq3J1E6CIBJCCI8NoCxymqcchIkGm4Mgw2iZOaQfXq1KPQ0SCR8GRYbDHkcN9HKAVckUkmBQcGXKejquhKhEJMAVHhsFZVaMGhz9UpeK4iASQgiPDwRpHbvdxaNkREQkiBUeG0fYbT1NxXESCTMGRIefpuLX1AKS6u4reJhGRcqPgyHBwVtVoNwDWguOQ6lFwiEjwKDgypOK5FcedUIhQbT2p7s6JaJaISFlRcGRI1zhCo9Q4AJy6elwNVYlIACk4MuRa4wDU4xCRwFJwZMh1dVyAUF0Dbjw+uPmTiEhQKDgyuLHcahwAoTrNrBKRYFJwZMh1rSrwehyg4BCR4FFwZHD74xAKQSQy6rmhOv8mQNU5RCRgFBwZ3Hgcp6ISx3FGPfdgj0PBISLBouDI4MZjOdU3IKPGoYUORSRgFBwZ3P54TvUNUI9DRIJLwZHBC45cexwKDhEJJgVHhnSNIxdOeoVczaoSkYBRcGTwahz5DVW56nGISMAoOHxuMgmpJE5FRU7nHxyqUnFcRIJFweFzBwYAcKK5Bofu4xCRYFJwpPlrTjnRaE6nO+EITnWtahwiEjgKDt/gYoU59jjA63WoxyEiQaPg8LkJf6gqh+VG0kJ1DdoFUEQCR8Hhy7fGAd7d425vj1dYFxEJCAWHzx2sceQTHP7MKvU6RCRAFBxpfo+DHIvjAE6t9uQQkeBRcPgGexyR3IPj4GZOKpCLSHAoOHyDxfExDFW5GqoSkQBRcPgOFsfH0uNQcIhIcCg40sZ0H4dWyBWR4FFw+AZ7HPncx5EujnepxyEiwaHg8I2txpHeBVDBISLBoeDwjes+Dg1ViUiAKDjSVBwXEcmJgsM3uMih7uMQERlRTpVgY8zFwHeAMHCLtfbGIc9XAncApwD7gCustZv8504A/gtoAFLAadbaWKG+gUIZS43DqajEqahUj0NEAmXUHocxJgzcDFwCLAGuMsYsGXLaNcABa+1C4Cbga/61EeAu4KPW2mOBNwIDBWt9AY3lPg4Ap65eNwCKSKDkMlS1DFhnrd1gre0H7gEuH3LO5cDt/uP7gPONMQ5wEfCStXYlgLV2n7W2PJeSHUNxHPyl1dXjEJEAySU45gBbM75u849lPcdamwA6gKnAYsA1xjxsjHnBGPPP429ycbhjWOQQvDpHqqcLN5UqQqtERMpPsYvjEeANwHv9P99mjDm/yO85Jgc3csozOGrrIZXC7estRrNERMpOLsGxDZib8XWrfyzrOX5doxGvSN4GPGGt3Wut7QUeBJaOt9HFMJb7OEA3AYpI8OQSHMuBRcaYBcaYCuBK4IEh5zwAXO0/fifwmLXWBR4GjjfG1PiBch7wamGaXlhjLY4P3gTYpSm5IhIMowaHX7O4Fi8EVgP3WmtXGWNuMMa81T/tVmCqMWYd8I/Ap/1rDwDfwgufFcAL1trfFP7bKIAxLHIImXePq8chIsGQ030c1toH8YaZMo99IeNxDHjXMNfehTclt6wdvI8j/+I46CZAEQkO3TnuG/NQVa2CQ0SCRcHhG39xvLvgbRIRKUcKjrT0fRx5Tsd16v3tY9XjEJGAUHD43MQARCI4jpPXdSqOi0jQKDh87kB/3sNUoOK4iASPgsPnDgzkXRiHjOK4bgAUkYBQcKSNscfhVFVDOKyhKhEJDAWHzx0YyLswDuA4jr9CroaqRCQYFBw+NzG2oSrwV8hVj0NEAkLB4RtrcRy8OkequxPXdQvcKhGR8qPgSBtjcRz8KbmJBG48XuBGiYiUHwUH4Lqud+f4GGocoCm5IhIsCg6AVBJcd8xDVc7gTYAKDhGZ/BQcjH2Bw7R0j8NVgVxEAkDBwdgXOEzTLoAiEiQKDhjzAodpIQ1ViUiAKDgY+yZOaQeL4+pxiMjkp+Agt6Gq7niCtgO9WZ9Tj0NEgiSnrWMnu9GK47c+tZEfPb2ZeCLFMTPr+frlxzOzoWrwefU4RGQ8jDGbgA9ba39fgve+DWiz1n4u12vU4wDwexzZahyPr93D//vTRhqropy5oJnVO7v4+M9W0h1PDJ6jFXJFpFSMMeGJfk/1OMjscRw6VJVIpbjxEUtlJMR333UiR7XU8Y1HX+OnL7Rx57Ob+btzjgIyhqq6NFQlIvkxxtwJzAN+ZYxJAjcApwHnANXASuDvrLWr/PNvA/qAI4DzgMuNMS8Ct/lfW+Bh4I3W2jf41xwN/AdwCrAH+Ly19l5jzEeA9wKuMeYTwB+stZeN1mb1OBh+qGr55gPs7ennsuNmcVRLHQDXnnsUzTVRfvpCG10x/7qaWnAc9ThEJG/W2vcBW4DLrLV11tqvA78FFgHTgReAHw+57D3AV4B64E/AzUAPMBO42v8PAGNMLfAIcLf/elcC/2mMWWKt/YH/2l/333vU0AAFBzB8cfyhV3cBcPGSmYPHqqJh/ua0efT0J/nFSzu860KhwYUORUTGy1r7Q2ttl7U2DlwPnGiMacw45ZfW2j9ba1PAAPAO4Dprba+19lXg9oxzLwU2WWt/ZK1NWGtfBH4GvGus7dNQFQzWODJ7HAPJFH9cu4fZjVWcMLvhkNMvO342Nz+xgcde2837ls3zrq2tx+3unrg2i8ik5NcsvoL3g30akPKfagE6/MdbMy6ZhvezPPNY5uMjgNONMe0ZxyLAnWNto4IDcBN+oTujOL5uTze9A0kumT8Tx3EOOb+pOsrJcxt5bks7u7viTK+vJFRXT6Jt0wS2WkQmkcw9Gd4DXA5cAGwCGoEDgDPM+XuABNAKvOYfm5vx/FbgcWvthTm8d040VEX2oapVO7xhpyWz6rNe86ZF0wH449o9AIQaGnHjMVLxWDGbKiKT0y7gSP9xPRAH9gE1wL+NdKG1Ngn8HLjeGFPjF8Lfn3HKr4HFxpj3GWOi/n+nGWOOyfLeOVFwkBkcB3scq3Z6wXHsrIas15y7sAWAZzbvByDcOAWAVEd71vNFREbwVeBz/nBSM7AZ2Aa8Cjydw/XX4vVMduINQf0EL3yw1nYBF+EVxbf753wNqPSvvRVYYoxpN8b8IpfGaqiK7NNxV+3ooiYaZn5zbdZrZjZUMbuxihVt7aRcl9BgcByA6TOzXiMiko219pfAL0c45Y6Mcz+Q5fo9wFvSXxtjvga0ZTxvM58fcu1a4KR82qvgAEgcushhdzzBpn09LJ3bRDjkDHvZya1N/GbVTjbs7WF6QxMAyY4DRW+uiEgmf3iqAngZ7x6Qa4APF+v9NFTF64eqNu3rwQUWT89e30hbOtcLixe2th/scXQqOERkwtXj1Tl6gJ8C32TkHsy4qMfB64eqthzoA2DelOoRrzup1QuOF9vaubQlY6hKRGQCWWuXAwsn6v3U4+D1s6ra2r1VcOdOqRnxurlN1TTXRHlpe8dgcTzZ2THiNSIihzsFB8DgfRxeB2yr3+NobRq5x+E4DsfPbmR3V5y9UW9JEvU4RGSyU3CQrcfRRyTkMKOhcqTLADjOv6v81V4vdBQcIjLZKTh4fXBsbe9jdmM1kdDoH8/xs73lY17Z3w+hsGZVicikp+Dg0NVxO2MDdPQNMHeUwnjakhkNhB2HV3Z0EWpo0g2AInLYMMZcbIyxxph1xphP53qdggMO2ciprT23+kZadUWYhdNqWbOri1Rjs3ocInJY8BdTvBm4BFgCXGWMWZLLtQoOwE0cnI67s8Nba2p2Y27BAd5wVX8yxabmBbg9XQcXTRQRKV/LgHXW2g3W2n7gHrzFFUel+zg4dKhqt79v+PT60QvjacfPbuC+Fduwda3MB1Kd7YSbW4rQUhGZbLa+5dR/Zxx7Ywzjf+b+5rlPjXLOHA5dfr0NOD2XF1ePg0OL43u64wBMq60Y6ZJDpAvkayqmAVp2REQmN/U4AAbSa1VF2Nvthci0PHocrU3VNFVHWd3v7z2u4BCRHPk9g9F6B8WwjUP37Wj1j41KPQ78GkckiuM47PZ7HC21uQeH4zicOKeR3ckoeyqbFBwicjhYDiwyxiwwxlTgLbv+QC4XKjjwhqrS93Ds7Y7TWB2lIpLfR7N0rrfkyCtNR2qoSkTKnrU2gbePx8PAauBea+2qXK7VUBVecTy9Mu6e7jizGqryfo1T/JVyX2k6isu1XpWIHAastQ8CD+Z7nXocpHscUXr7E/T0J/Oqb6Qtml5HfTTEqqaj1OMQkUlNwQHeIoeRCvakC+N1+QdHyHFYOruO3dXNbOvQvuMiMnkpODjY49ibLoyPITgAzlg4HYDl8ZGXYxcROZwpODhYHE/fwzF9jMFx9lHefRzLnWkFa5uISLlRcJAujkfY1+MNVTXX5H7zX6ZZjdXM7d/PS9WziSeShWyiiEjZCHxwuK4LiQGIVtDe590IOKUmOubXOzWxi/5QlOc27y9UE0VEykrgg4NkElwXJ1LBgT6vx9E0juA4K+JNxf3Dq9sL0jwRkWIwxvzQGLPbGPNKvtfmdB+HMeZi4DtAGLjFWnvjkOcrgTuAU4B9wBXW2k0Zz88DXgWut9Z+I99GFtPBdaqidPR6PY6m6rENVQEcW+/S2NXF4xtDfCblEg45BWmniEiB3QZ8D+9nd15G7XHkuGb7NcABa+1C4Cbga0Oe/xbw23wbNxEyFzg80DdAyIGGqrHfF1nRMo1le1fRHk+xYps2dRKR8mStfQIY05h6Lj8hB9dsBzDGpNdsfzXjnMuB6/3H9wHfM8Y41lrXGPO/gI1Az1gaWHTpvTOiEdr7BmisjhJyxt5LCDdP46w9j/HI7DP47aqdnOIvRSIiks1p//5YUZZVX/6pNxdt4cRcahzZ1myfM9w5/vonHcBUY0wd8C/AF8ff1OLI7HG09/aPa5gKvOA47sB6pocTPLJmN339ml0lIpNLsdequh64yVrbbYwp8luNTTo4UuEKOmMJjmypG9frhae2EMblgvAe7u6fxR/W7uavj51ViKaKyCTk9wxKsaz6mOXS48hlzfbBc4wxEaARr0h+OvB1Y8wm4BPAvxpjrh1fkwsrvftfV6Qal/FNxQWvxwFwfs9rAPzqlR3jej0RkXKTS49jcM12vIC4EnjPkHMeAK4GngLeCTxmrXWBc9InGGOuB7qttd8rQLsLxo31AdBVUQe90FQ9vuAINU6BUJgZ+7Zy8qlNPLelnW3tfcxpyn0PcxGRYjPG/AR4I9BijGkDrrPW3prLtaMGh7U24fcSHsabjvtDa+0qY8wNwHPW2geAW4E7jTHr8Kr0V47tW5l4btxbkLAj4v1gbxrjXeNpTihEuLmF5P49XHb8LF5sa+c3q3bwkbOPHHdbRUQKxVp71VivzanGkW3NdmvtFzIexxhlVoC19voxtK/o0j2OjrAfHOPscQCEp06jf/0a3ryohW8+GuaXL+3gQ2fOJxLS/ZYicvgL/E+yVHqoKuQtbDilEMHRPA0SCapiPVyyZCa7u+P8ef2+cb+uiEg5CHxwDA5V4QVGYXocLQAk9+/hHSd5M5d/vlJLkIjI5KDg8IOj0w+OxkL1OIDkvj0snFbHsbMaeHrTvsH9PkREDmcKjvRQlRsGoKGqgMGxfw8Af71kJikXHl69a9yvLSJSagoOv8fRnfI+ivGsU5UWnnpocFx09HQiIYcHX9057tcWESm1wAfHYHE86eAAtZXjD45Qs1/j2OcFR1NNBacdMYXXdnezvaNv3K8vIlJKgQ+OwaGqBNRXRca1wGHaYI/DDw6A8xZ6x55cv3fcry8iUkoKjpg3VNXV71JfgN4GQKiuAaIVJPcfDIlzjvJ6IY+vVXCIyOFNweHXOLoGkgUpjAM4jkO4eRqp/Qd7HNPrKzlmRj0vtLXT058oyPuIiJSCgiPex4ATJp5wqS9AYTwtPLWF5IF9uMmDy6qfsaCZZMplRZs2eBKRw1fggyMV66M7WgMUZipuWnjqdEilSHUcGDy27IhmAJ7ddGC4y0REyl7gg8ONx+ip9XbpK1SNAyA8ZGYVwPGzG6iMhHh285h2axQRKQsKjlgfvdVNAAUeqkrPrNo9eKwyEuakOY2s29vDvp7+gr2XiMhEUnDEYvRU1wOFHaqKTPd2/UvsOnSNqvRw1XNb1OsQkcOTgiMeo6fSC45C9jgiM73FDRM7D90scdl8v86xWXUOETk8BT44UrE+eiq9fcYL2uOY2QpAYkfbIccXT6+jsSrCs5v347puwd5PRGSiBDo43GQCEgN0V3izqgpZHA/VNxCqa3hdcIQch1PnTWFnZ5y2di0/IiKHn2AHh3/zX08kPR23cMEBEJ7VSmLXdtxU6pDjg9NyNVwlIoehYAeHv9xId6QKgPoCDlWBX+cY6D9kZhXAsiO86b+alisih6NAB0d6Zdwef9vYQg5VAURm+XWOIQXyOU3VzG6s4vktB0imVOcQkcNLoIMjPVTVG/J6GrWV4YK+/uDMqiF1DsdxOG3eFDpiCezuroK+p4hIsQU7ONI9DqLURMNEQoX9OAZ7HEOCA+B0f1ruXzbsK+h7iogUm4ID6CFCXYGHqSBjSu7O1wfHmQumEgk5PLFOy6yLyOEl2MGR3jbWDRdk57+hwlOnQSRKckiNA6CuMsIpc5tYvauLXV2xgr+3iEixBDo4UrE+XKAn5RS8MA7ghMNEZs4mseP1wQFwrr8roDZ3EpHDSaCDw43HiIeipHCKMlQF3nBVqquDVPfri+BvWjyNkAO/fXVnUd5bRKQYAh8cPZFqAOoKPKMqbbiZVQDT6ipZdkQzr+zoZNP+nqK8v4hIoQU7OGJ99Po3/xWtxzFr+AI5wKXHzQTgVy/vKMr7i4gUmoJjooIjS48D4LyF05hSE+X+ldvpjmsvchEpf4EOjlQ8Rk+xg2P2PAAS27dkfb4qGubKpXPpiie4f2X2IrqISDkJdHB4PY50jaNYxfE5EAozsC17cAC86+Q51FaE+fFzW4knkkVph4hIoQQ8OGL0hP0FDosUHE406k3Jbds87Dn1VVHecdIc9vX085tXNMNKRMpbsIMjHit6jQO84apUZzvJro5hz7nqlLlUhEPc8exmEkOWYRcRKScBD47iF8cBIq1HAJDYtnXYc1rqKrnsuFls64jxqN097HkiIqUW6OBIxfroiXqbOBUzOKJz/AL5tk0jnvc3y+YRdhxue3qztpUVkbIV6OBw4zF6K2qBIvc45qR7HMMXyAFam6o530xj3d4eXmhrL1p7RETGI9jBEeujdwJ6HOngGBihQJ72zpO9+z5+tkJTc0WkPAU8OGL0RqtxgJqK4iw5At4quU5V9bD3cmQ6aU4jR7bU8ofX9nCgt79obRIRGatgB4c/q6quMkLIcYr2Po7jEJkzj8T2LbijzJhyHIfLjptFIuXy2Gt7itYmEZGxCnRwpGJ99ISrqK8q3jBVWmTOPNx4nOTe0WdMXXj0dAAeXr2r2M0SEclbYIPDTSYgMUBPqILaiuIHR3TOfAAS20avc8yor+Lk1kZWtLVrkycRKTvBDY54jCQOvU50wnocAAM5BAfARUfPwAXd0yEiZSe4wRGL0Rcp7nIjmSKD93KMXiAHON9MJ+w4/G6NgkNEyktggyM1AUuqZ4r6d48PbNmQ0/lTaio47YgprNrRSduB3mI2TUQkL4ENDncCllTPFKqpIzxjDgMb1+Z8V/hFx8wA4BENV4lIGQlucMT6BreNnYihKoCKIxeT6jhAav/enM4/b2ELkZDD7xUcIlJGFBwwIcVxgOiRiwHo32BzOr+hKsoZ85t5bXc3WzRcJSJlIrjBEY/RG564oSrwehwAAxtey/maC4x3T4dmV4lIuQhscKRifRNa4wCIHmkA6M8jOM5d2EI07PCIZleJSJkIbHC4/fEJr3GEp80gVNeQV4+jvirKGfOnsnZPN5v29xSxdSIiucnpJ6Yx5mLgO0AYuMVae+OQ5yuBO4BTgH3AFdbaTcaYC4EbgQqgH/iUtfaxArZ/zA4JjqrohLyn4zhEj1xM/OXnSfX2EKqpzem6C8w0nly/l9+v2c2Hz1pQ5FaKiIxs1B6HMSYM3AxcAiwBrjLGLBly2jXAAWvtQuAm4Gv+8b3AZdba44GrgTsL1fDxcuPxCb2PIy165GJwXQY2rcv5mnMXTqMiHOJ3a3ZrgycRKblchqqWAesGFEpzAAAZL0lEQVSstRustf3APcDlQ865HLjdf3wfcL4xxrHWvmit3e4fXwVU+72TkvN6HBMfHBWDM6tyH66qq4xw1pFT2bivh3V7NFwlIqWVS3DMATI3y27zj2U9x1qbADqAqUPOeQfwgrU2PramFpZ3A6A3VFVXWby9OIZKF8jzqXMA/JV/M+DDa7RiroiU1oQUx40xx+INX/3tRLxfLtx+b6iqOuIQCU3cHIFo63yIROlftzqv695w5FRqomEeWbNLw1UiUlK5/MTcBszN+LrVP5b1HGNMBGjEK5JjjGkF7gfeb61dP94GF0q6x1EfndiJZU40SuUxJzCwfg2J3Ttzvq4qGua8RS1s74jx8vbOIrZQRGRkufzUXA4sMsYsMMZUAFcCDww55wG84jfAO4HHrLWuMaYJ+A3waWvtnwvV6EJI1zgmsr6RVnPeXwHQ+8TDeV2XHq76nYarRKSERg0Ov2ZxLfAwsBq411q7yhhzgzHmrf5ptwJTjTHrgH8EPu0fvxZYCHzBGLPC/296wb+LMUj5s6pKERzVZ78ZwmF6H88vOE4/opnG6iiPrNlNYpQtaEVEiiWnn5rW2geBB4cc+0LG4xjwrizXfRn48jjbWBR9/QlS0fCE3cORKdzQRNXSM4kt/xMDWzcRnTs/p+si4RDnL57Gz1du5/kt7Zw+v7m4DRURySKwd453D3gF5vrqipK8/+BwVZ69jos0XCUiJRbY4OhKeMFRV4IeB0D1GefhVFbS+/jDec2SOrm1iel1lTz22h76ExquEpGJF9jg6E56f07UkupDhaprqDrlLBLbt5DcOXSS2gjXOQ4XHD2d7niCpzftL2ILRUSyC2xw9CQdYOIWOMym8vhTAIivWpHXdRcdreEqESmdwAZHd8r71ksxqyqtcslJAMRfzS84lsysZ05jFU+s20tsIFmMpomIDCuwwdHjesuMlDI4ogsW4lTXEl/1Yl7XOY7DhUfPoG8gyZ837CtS60REsgt8cJRyqMoJR6g85ngSbZtJdhzI61oNV4lIqQQyOFzXpcfxZlOV4j6OTBXH+sNVedY5Fk6rZX5zDX/esI+e/kQxmiYiklUgg4NEgp4J3m98OIN1jjEMV110zAziiZT2IxeRCRXI4CjVXhzZVCw+DiIR+vMskANceuxMHOCXL+0ofMNERIYRzOCIxzJ2/5u4vTiyCVVVUbHwGPrXWVJ9vXldO6uxmtPnN/PS9g427NUGTyIyMYIZHP5+4xUkqYyUNjgAKo9bCqkk8ZXL8772bSfMBuDeF9oK3SwRkawCHRy1lMc9ENVnvQmA3icfyfvacxe1MLuxil+v2sH+nv5CN01E5HWCGRz+kuq1ofJY66li8bGEZ8yh75knSMVjeV0bCYV476nziCdS3LdCvQ4RKb5gBkd6E6dQeWzB6jgONedcgNvXS+y5v+R9/WXHzaKxKsK9L27TneQiUnSBDI5YXx8DoSi1kfIIDoCacy8ExjZcVV0R5h0nt9LRN8CvXtEMKxEprkAGR3tPHICm0s7EPUT0SENk9jxizz5JKtaX9/XvPrmVykiI257ZTDyhXoeIFE8wg6PXKyI3Rp0St+Qgx3GoOfdCb6rwHx4c/YIhptZW8O6TW9ndFefnK7cXoYUiIp5gBkffAABNleX17dde8nac6lraf/QfJPftyfv6959+BLUVYW57ehO9WoZERIqkvH5yTpADfd4P1aYSbeI0nEjLDJqu+RhuTzf7v/dvee0MCNBUHeU9p85lf+8AP9V9HSJSJIEMjo5+bxpuuQUHQO3Fb6fyxNOIPfskfWMolL/n1Hk0VkW4/ZnN7NN9HSJSBMEOjpqKErfk9RzHofnvPwuhMJ0//WHevY66yggfOftIevqT3PzE+iK1UkSCLJDB0T7g/TBuqq0scUuyi8xqpfoNb2Zg0zriLz2f9/VvP2k2i6bV8atXdvDsZu1LLiKFFcjg6Ex4s6maaqtK3JLh1b/1KgC6fnl33tdGQiE+d/HRhB2HLz20mg5/MoCISCEEMjg6kt633VRfXeKWDK/i6OOpWHwssWefJLEj/0L3kpkNXHPmfHZ2xvnsr14hkSqP5VVE5PAXzOBIhalJ9BGtKt8eh+M41F1+FbguXb/Iv9cBcM1Z83nDUVN5ZvMBPvPAKt0YKCIFEczgcKM0DPTgVJRnjSOt5uzzCc+YQ/eD9xF/bVXe14cch69ceiynzmvij2v38IE7n2NlW3sRWioiQRK44HBdl06i1A/04FSWb48DwIlGaf745yCVYv+3v4g7kP/02pqKCDe9/UTecdIc1u3t4cM/eYGP3beCVTs6i9BiEQmCwAVHT3+ShBOiYaC37HscAFUnnkbtX7+TxOYNdNz932N7jWiYT19ouOWqpZw6r4mnNu7nA3c9xyfvf4m1u7sL3GIRmewCFxzp5UYaBnohUn43AGbT9MG/Jzx9Fl333UH/2lfH/Dontjbx/SuW8v0rTubEOY08sW4vf3PHs9z0h7X09av+ISK5CVxw7O32VsadkuzFccpnkcORhGpqaf7EFyCVZP9NYxuyynTqvCn891VL+fY7TmR2YzV3P7eVK370DD9fsY3OmKbuisjIAhccu/3gaEn2lrgl+fGGrN7BwOb1dN5z67hfz3Eczj5yKj/5wDKuPv0I9vbE+eojlou+9yc+es8L3P3cFvb4n5WISKbgBUeX98NwKvlt0VoOmj74McLTZtJ57230r19TkNesioa59tyjeOAjZ/HRNyzg6Jn1PL+1nZv+sI63/fdT/OjpTaTyXPZERCa3wAZHC4ffb9Ohmlp/llWS/d++ATdRuKXTW+oquebMBdz2N6fy2787m0+dv5j6ygj/+eQG/un+l7UlrYgMCmBweD2Nac7hOZZfdfIZ1F54GQMbXqPrvtuL8h4tdZW8e2kr93zwdE4/YgpPrt/LP93/Ev0J3X0uIoEMjjjhVJKm6OH7Q7Dpmn8gNGUqHT+5hf71tmjv01gd5VtvP3Hw7vMbH7F5r9YrIpNP8IKjO05zfwfhw+AejuGE6hto/tjnITHA3i99kmR78VbArYiE+Oplx3HMzHp+9coO7lq+tWjvJSKHh0AFRzLlsrc7TnO887C4+W8k1cveQMP7Pkpyz072/ts/4w4Ub+itKhrmm287gWl1FfzH4+t4Yt3eor2XiJS/QAXH/t5+ki5MjXeU/XIjuWi44hqq33AB/atWcOD7XyvqMNK0ukq++bYTqIiE+PyvV7F+r+44FwmqQAXH4FTceAdO5eHd4wB/t8B/uI7oUYaeh39B96/vLer7HTOzgesuOYbegSSf/PlLg3fhi0iwBCo4trX3ATAtduCwH6pKC1VV0/K5bxJqaqb9B98i9uLTRX2/C4+ewYfOnM+2jhifeeAVEsnDd5KBiIxNoIJj/b4eAOb17JoUQ1Vpkekzafns1yEUYu+X/on4qhVFfb+/PXsB5y1s4bktB/j3R1/TTCuRgAlUcGzY443Lz+vZOWl6HGmVS06i5dNfxU0MsOe6jxNf83LR3ivkOHzxLUtYNK2On6/czncfX6/wEAmQQAXH+r09NEahcaB70gUHQPWZb2Tqp76CG+9j9798hK7778It0paxtRURvveuk5jfXMNdy7fwX3/eqPAQCYjABEdsIElbex8LasCBSVEcz6bmnAtoue7bhOrqab/l2+z5/LUk9u4uyns111Zw87tPZk5jFbc+tYlvPLqWZErhITLZBSY4Nu3vxQUWVHm/gU/GHkda9alnMfPme6hadg7xFc+y69qr6H3id0XpfUyvr+QHV53CwpZa7n2xjc/+6hXtbS4yyQUmOF7b3QXA/Ki3MOBkDg6AcFMzLV/4FlP+z6dx+2Ps+9q/suPDb6PznlsZ2LKhoMNKXngsZencJh59bQ8fu2+l9vUQmcQCExxPbfSW5Tiu0puSO5lmVQ3HcRzq3vJOZnz3x9ReeBmp9n103Pl9dv7du9lxzeXs+/pn6fzZHfSvXzPuIKmvivLdd57I+Yun8cLWdj5413Ns2t9ToO9ERMrJ4bF36jgNJFM8tXEfsxurmM8OOpj8PY5M0db5NH/iOpr+9yfpe+qP9C3/E7EXn6H38Yfh8YfpACKzWqk88TQis1oJT52OU1lFqL6BiqMMoZq6nN6nMhLmK5cdx5wn13PHs1v44F3Pc90lx/DGRdOK+w2KyIQKRHA8v+UAPf1JLjt+FuzxNkAKUnCkhWrrqL3gUmovuBQ3lSK5azv9a1+l96k/EHvmSXoeuv/1FzkOkXkLiEybSbh5GtEFi6g85gSiCxbjZNmzPRxy+PvzFrJwWh1ffmgNn/rFy/zVMTP4pzcvoqmmYgK+SxEptkkfHK7r8tMX2gA4ff8aeh5/CJi8s6py5YRCRGa1EpnVSs25F5GKx0jsaCO5o41k+37ceIzk/j30v7aK/nVrSGzecOj1lZVULFxCxTEnULnkRKJHHU24cQpONArAJUtmYqbX86WHVvPw6l08tXEf7192BFcsbaUqGi7FtywiBZJTcBhjLga+A4SBW6y1Nw55vhK4AzgF2AdcYa3d5D/3GeAaIAl8zFr7cMFan4MHV+3kTxv2cUJfG/N+9F0SQOUJp1JxlJnIZpS9UGUVFfMXwvyFr3vOdV3cvh6Se3bRv3Y18TUv0b/mZeKrVxJf9SJdGec6tfVEZs4mMnMOzTNb+fbMVn5RN53bNyf43hPrufu5LVx8zEwuOXYmi6fXEXKcifsmRcbJTSZxEwOEAlAjHYkzWlHUGBMGXgMuBNqA5cBV1tpXM875P8AJ1tqPGmOuBN5mrb3CGLME+AmwDJgN/B5YbK3NOl/TGDMf2Pjoo4/S2tqa1zfSFRugM5YglkjS1+/ds/HE+r08smY3FakBvrX8Jhadew4NV36IyPRZeb22ZJfq7abfvkL81ZUMbN1EqrOD5IG9JHdtw40fujVvT6SKX8x7E7+bcwZd4WoAKkmyIBxnZqVLc3WY5poKmuuqmFJfS1VVhOpImMpIiKpoiHAoTCjk4DgOTjgEOBByCDkh75gD4Hj36IS8P3Gcg485GFCDWeX/3a+KhKgKO4ccO0T6gqF/DnldcA9eP/TP4Qz72oONPPg62V5z6Otnti3zNQ95Xf+10tOzXRfXTQ0+76TPH/wv5F2TSg22w3XTj/2XdEI4IX+uTSh06DWplHd+yoWU/08/EsWJRr3tAAb6IRzGiVZ4rx2P4bouTkUlTjiMG+vDHRjAqazEqajE7Y+T6uvFiUQIVdfippKkerohmSBUW48TrSDZ1YHb20Ooto5QXQOp7k6SB/bhVFQQntKCm0yQ2LkNNx4jMmMOodo6BjatY2BHG5GZc4jOXcDAxteIrXgWp6aW6lPOJLFrB53/cxtudxezf/y7rEO1o5g0vyXl8p0vA9ZZazcAGGPuAS4HXs0453Lgev/xfcD3jDGOf/wea20c2GiMWee/3lPDvFcYYOfOnXl9Ey9t6+ALD76a9d/onGQXH1h1L3XnnEnP295Pb38S2tryen0ZwbRWOO/QkHddF7ezncTuHST37CSxeyfJ3Tu5eM963vj8X3g51MKK5sVsrZnJmuqpvBpKD12VZhZWJDXA51+6lRmxAyV5fzkM3Hun92c4Qu1Fl5HascML2Dycf/7584E2a22i4O2bYLkExxwgc9u3NuD04c6x1iaMMR3AVP/400OunTPCe80CeO9735tDs3Jjgc8ArN4IP7i7YK8r49EGFHchxnx9stQNkMPH/7vL+y9/G4EFwKaCtqcEyq04vhw4B9iBVxMREZlMJsVwRy7BsQ2Ym/F1q38s2zltxpgI0IhXJM/l2kH+kNafcmiTiIiUSC53ji8HFhljFhhjKoArgQeGnPMAcLX/+J3AY9Za1z9+pTGm0hizAFgEPFuYpouISCmMGhx+Ieda4GFgNXCvtXaVMeYGY8xb/dNuBab6xe9/BD7tX7sKuBevkP4Q8H+Hm1ElIiKHh1Gn44qIiGQKzCKHIiJSGAoOERHJS7lNxy2I0ZZIKRVjzFy8pVlm4N1z+wNr7XeMMc3AT4H5eHO8322tLendaP6KAc8B26y1l/qTG+7Buz/neeB91tr+EravCbgFOA7vs/wQ3m07ZfM5GmP+Afiw376XgQ/i3atU0s/RGPND4FJgt7X2OP9Y1r+D/o283wH+GugFPmCtfaFEbfx34DKgH1gPfNBa2+4/N+FLG2VrY8ZznwS+AUyz1u4t1edYLJOux+H/wLsZuARYAlzlL31SDhLAJ621S4AzgP/rt+3TwKPW2kXAo/7XpfZxvMkQaV8DbrLWLgQO4P0jLaXvAA9Za48GTsRra9l8jsaYOcDHgFP9HyphvBmJ5fA53gZcPOTYcJ/dJXizIRcBHwG+X8I2PgIcZ609AW8ZpM8A+P+GrgSO9a/5T//nQCnamP4F8SJgS8bhUn2ORTHpgoOMJVL83+TSS6SUnLV2R/q3DGttF94Puzl47bvdP+124H+VpoUeY0wr8Ba83+jxf1t6M95yMlDiNhpjGoFz8WbzYa3t93/zLKvPEa9HX+3f21SDd2NryT9Ha+0TwP4hh4f77C4H7rDWutbap4EmY0zRF3vL1kZr7e8ylut4Gu++sHQb77HWxq21G4H00kYT3kbfTcA/M7jQ2GAbJ/xzLJbJGBzZlkgZaZmTkvAXdDwZeAaYYa3d4T+1E28oq5S+jfcXP73y3VSgPeMfbak/0wXAHuBHxpgXjTG3GGNqKaPP0Vq7DW+oYgteYHTgDU2V0+eYabjPrlz/PX0I+K3/uGzaaIy5HG94d+WQp8qmjYUwGYOj7Blj6oCfAZ+w1nZmPuffOFmyOdLGmPSY7fOlakMOIsBS4PvW2pPxVkc8ZFiqDD7HKXi/ZS7AWxm6lizDGuWo1J/daIwxn8Ub9v1xqduSyRhTA/wr8IVSt6XYJmNw5LXMyUQzxkTxQuPH1tqf+4d3pbut/p+7S9U+4GzgrcaYTXjDfG/Gqyc0+UMuUPrPtA1vldFn/K/vwwuScvocLwA2Wmv3WGsHgJ/jfbbl9DlmGu6zK6t/T8aYD+AVpN/rBxyUTxuPwvtFYaX/76cVeMEYM5PyaWNBTMbgyGWJlJLwawW3Aquttd/KeCpzyZargV9OdNvSrLWfsda2Wmvn4312j1lr3wv8AW85GSh9G3cCW40x6d24zsdbnaBsPke8IaozjDE1/v/3dBvL5nMcYrjP7gHg/cYYxxhzBtCRMaQ1ofzZkv8MvNVa25vxVFksbWStfdlaO91aO9//99MGLPX/vpbN51gIk246rr+se3qJlDDwQ3/pk3JwNvA+4GVjTHpd8X8FbgTuNcZcA2wG3l2i9o3kX4B7jDFfBl7EL0yX0N8DP/Z/OdiAN9U1RJl8jtbaZ4wx9wEv4A2rvAj8APgNJf4cjTE/Ad4ItBhj2oDrGP7v4IN4U0jX4U0j/WAJ2/gZoBJ4xP+d4Wlr7Uf9JZDSSxslmKCljbK10Vo73P/PknyOxaIlR0REJC+TcahKRESKSMEhIiJ5UXCIiEheFBwiIpIXBYeIiORFwSEiInlRcIgUkTHmemPMXaVuh0ghKThERCQvCg6RAvCXktC/JwmESbfkiBwe/EXgvge8HzgCeAhvjaQrgQ9ba9+Qca4LLLLWrjPG3Ia3ZMMC4BxgJfAOvNVxrwZ2AVdZa18c4b0/CLzdWnuZ//VaYIW19l3+11uBy6y1K4wxZ+Et8rgYb/Ogj1tr/+Kf90fgz3jLTiwFjjfGJPE2+FmKt2eEzXjfKrw9Ti7BWw5nLXCptXZXnh+fSEnpNyQppXfjLTW+ADgB+EAe130OaAHiwFN4a0K14K2U+63hLwXgceAcY0zIGDMbqADOBDDGHAnUAS/526n+Bvgu3p4k3wJ+Y4yZmvFa78Pb0a0eb42nu/H23WgBvsTBhQPxHzfirZI6Ffgo0Jfj9yxSNhQcUkrftdZut9buB34FnJTjdfdba5+31saA+4GYtfYOf2G7n+JtkDUsa+0GoMt/v3PxFsTcbow5GjgPeNJam8LbBXGttfZOa23CWvsTYA3evtdpt1lrV/mbM80CTgM+7+9G94T/faUN4AXGQmtt0v8eDtmPReRwoKEqKaWdGY978TY8ykXm0E5flq/rcniNx/GGmBb6j9vxQuNM/2v89mwect1mDt25LXNXt9nAAWttz5Dz0/sw3Ok/vscY0wTcBXzW369D5LChHoeUmx68/bkB8DfBKYZ0cJzjP34cLzjO42BwbMerv2Sax6Eb8GQuL70DmOJvY5t5PgDW2gFr7RettUuAs/A2JHr/uL8TkQmmHoeUm5XAscaYk/CGha4v0vs8jlez2GWtbTPGdOL1CCJ4+2SAt4fCfxhj3gPci1eEXwL8OtsLWms3G2OeA75ojPlXYBnesNYDAMaYNwF78faN6MQbukpley2RcqYeh5QVa+1rwA3A7/FmHf2piO/TDTzpf92JtyHUn9ObAFlr9+H1Cj4J7MPbfe5Sa+3eEV76PcDpwH68zYfuyHhuJl7xvhNYjRdedxbuuxKZGNrISURE8qIeh4iI5EU1DpmUjDHz8GoJ2Syx1m6ZyPaITCYaqhIRkbxoqEpERPKi4BARkbwoOEREJC8KDhERycv/B93hkaxfXfApAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ] + }, + { + "metadata": { + "_uuid": "72cc7c7b60a33390a85b16bc34e3b9e424650cdd" + }, + "cell_type": "markdown", + "source": "
\n## 7- Apply Learning\nComing soon" + }, + { + "metadata": { + "_uuid": "97adc471c068fbd8d36ca19a4db0d98b0924c731" + }, + "cell_type": "markdown", + "source": "-----------------\n
\n# 8- Conclusion" + }, + { + "metadata": { + "_uuid": "1adfb5ba84e0f1d8fba58a2fca30546ead095047", + "collapsed": true + }, + "cell_type": "markdown", + "source": "This kernel is not completed yet , I have tried to cover all the parts related to the process of **Quora problem** with a variety of Python packages and I know that there are still some problems then I hope to get your feedback to improve it.\n" + }, + { + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "cell_type": "markdown", + "source": "you can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n--------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated** " + }, + { + "metadata": { + "_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0", + "_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a", + "collapsed": true + }, + "cell_type": "markdown", + "source": "
\n\n-----------\n\n# 9- References\n## 9-1 Kaggle's Kernels\n**In the end , I want to thank all the kernels I've used in this notebook**:\n1. [SRK](https://www.kaggle.com/sudalairajkumar/simple-exploration-notebook-qiqc)\n1. [mihaskalic](https://www.kaggle.com/mihaskalic/lstm-is-all-you-need-well-maybe-embeddings-also)\n1. [artgor](https://www.kaggle.com/artgor/eda-and-lstm-cnn)\n1. [tunguz](https://www.kaggle.com/tunguz/just-some-simple-eda)\n\n## 9-2 other references\n\n1. [Machine Learning Certification by Stanford University (Coursera)](https://www.coursera.org/learn/machine-learning/)\n\n1. [Machine Learning A-Z™: Hands-On Python & R In Data Science (Udemy)](https://www.udemy.com/machinelearning/)\n\n1. [Deep Learning Certification by Andrew Ng from deeplearning.ai (Coursera)](https://www.coursera.org/specializations/deep-learning)\n\n1. [Python for Data Science and Machine Learning Bootcamp (Udemy)](Python for Data Science and Machine Learning Bootcamp (Udemy))\n\n1. [Mathematics for Machine Learning by Imperial College London](https://www.coursera.org/specializations/mathematics-machine-learning)\n\n1. [Deep Learning A-Z™: Hands-On Artificial Neural Networks](https://www.udemy.com/deeplearning/)\n\n1. [Complete Guide to TensorFlow for Deep Learning Tutorial with Python](https://www.udemy.com/complete-guide-to-tensorflow-for-deep-learning-with-python/)\n\n1. [Data Science and Machine Learning Tutorial with Python – Hands On](https://www.udemy.com/data-science-and-machine-learning-with-python-hands-on/)\n-------------\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "3218340bb7dfc4ab53987820284a5c2b1c34eb45" + }, + "cell_type": "markdown", + "source": "### The kernel is not complete and will be updated soon !!!" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/Kaggle Kernels/Kaggle Kernels List.txt b/Kaggle Kernels/Kaggle Kernels List.txt new file mode 100644 index 0000000..83e9903 --- /dev/null +++ b/Kaggle Kernels/Kaggle Kernels List.txt @@ -0,0 +1 @@ +Kaggle Kernels List \ No newline at end of file diff --git a/Linear Algabra in 60 Minuties/Linear Algebra for Data Scientists.ipynb b/Linear Algabra in 60 Minuties/Linear Algebra for Data Scientists.ipynb new file mode 100644 index 0000000..0e497ec --- /dev/null +++ b/Linear Algabra in 60 Minuties/Linear Algebra for Data Scientists.ipynb @@ -0,0 +1,2566 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "726661972b09b03a31d424ef02a9be0cd284d81b" + }, + "cell_type": "markdown", + "source": " #
Linear Algebra for Data Scientists \n
One of the most common questions we get on Data science is:\n
\nHow much maths do I need to learn to be a data scientist?\n
\nIf you get confused and ask experts what should you learn at this stage, most of them would suggest / agree that you go ahead with Linear Algebra!\nThis is the third step of the [10 Steps to Become a Data Scientist](https://www.kaggle.com/mjbahmani/10-steps-to-become-a-data-scientist). and you can learn all of the thing you need for being a data scientist with Linear Algabra.
\n
last update: 12/12/2018
\n\n\n\n\n\nYou can Fork code and Follow me on:\n\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n> ###### [Kaggle](https://www.kaggle.com/mjbahmani/)\n-------------------------------------------------------------------------------------------------------------\n I hope you find this kernel helpful and some UPVOTES would be very much appreciated.\n \n -----------" + }, + { + "metadata": { + "_uuid": "2a01be35950f7a117fc6700e866de3bf5a3ea6b9" + }, + "cell_type": "markdown", + "source": "
\n## Notebook Content\n1. [Introduction](#1)\n1. [Basic Concepts](#2)\n1. [Notation ](#2)\n1. [Matrix Multiplication](#3)\n 1. [Vector-Vector Products](#4)\n 1. [Outer Product of Two Vectors](#5)\n 1. [Matrix-Vector Products](#6)\n 1. [Matrix-Matrix Products](#7)\n1. [Identity Matrix](#8)\n1. [Diagonal Matrix](#9)\n1. [Transpose of a Matrix](#10)\n1. [Symmetric Metrices](#11)\n1. [The Trace](#12)\n1. [Norms](#13)\n1. [Linear Independence and Rank](#14)\n 1. [Column Rank of a Matrix](#15)\n 1. [Row Rank of a Matrix](#16)\n 1. [Rank of a Matrix](#17)\n1. [Subtraction and Addition of Metrices](#18)\n 1. [Inverse](#19)\n1. [Orthogonal Matrices](#20)\n1. [Range and Nullspace of a Matrix](#21)\n1. [Determinant](#22)\n 1. [geometric interpretation of the determinant](#23)\n1. [Tensors](#24)\n1. [Hyperplane](#25)\n1. [Eigenvalues and Eigenvectors](#30)\n1. [Exercise](#31)\n1. [Conclusion](#32)\n1. [References](#33)" + }, + { + "metadata": { + "_uuid": "b18443661b6d30ffea2150fa74d44d62e14ae952" + }, + "cell_type": "markdown", + "source": "
\n# 1-Introduction\nThis is the third step of the [10 Steps to Become a Data Scientist](https://www.kaggle.com/mjbahmani/10-steps-to-become-a-data-scientist).\n**Linear algebra** is the branch of mathematics that deals with **vector spaces**. good understanding of Linear Algebra is intrinsic to analyze Machine Learning algorithms, especially for **Deep Learning** where so much happens behind the curtain.you have my word that I will try to keep mathematical formulas & derivations out of this completely mathematical topic and I try to cover all of subject that you need as data scientist.\n\n\n
" + }, + { + "metadata": { + "_uuid": "aa205b8af27183f39ad0e5c9364e3560da512df3" + }, + "cell_type": "markdown", + "source": "*Is there anything more useless or less useful than Algebra?*\n\n**Billy Connolly**" + }, + { + "metadata": { + "_uuid": "9008e99d1ebea16694d75bfa1ba5addef515198e" + }, + "cell_type": "markdown", + "source": "## 1-1 Import" + }, + { + "metadata": { + "trusted": true, + "_uuid": "223d7c576e665b2bbb83894e4f24346738e95877", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "import matplotlib.patches as patch\nimport matplotlib.pyplot as plt\nfrom scipy.stats import norm\nfrom scipy import linalg\nfrom sklearn import svm\nimport tensorflow as tf\nimport pandas as pd\nimport numpy as np\nimport glob\nimport sys\nimport os", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "286ce03c993f8784863f6ad59298c869f8a544b0" + }, + "cell_type": "markdown", + "source": "## 1-2 Setup" + }, + { + "metadata": { + "trusted": true, + "_uuid": "480928dbf26d5ef6ac7a1ddfe59b51a5eb95338a", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "%matplotlib inline\n%precision 4\nplt.style.use('ggplot')\nnp.set_printoptions(suppress=True)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e6824a84cbdfb6dc17200c495101e113967bf514" + }, + "cell_type": "markdown", + "source": "
\n# 2- Basic Concepts" + }, + { + "metadata": { + "_uuid": "d46c78c9ba7287f5af049a777047621cca585e9b" + }, + "cell_type": "markdown", + "source": "The following system of equations:" + }, + { + "metadata": { + "_uuid": "92450d2d0c14c50b12faff1fba1a24d47f73c6fa" + }, + "cell_type": "markdown", + "source": "$\\begin{equation}\n\\begin{split}\n4 x_1 - 5 x_2 & = -13 \\\\\n -2x_1 + 3 x_2 & = 9\n\\end{split}\n\\end{equation}$" + }, + { + "metadata": { + "_uuid": "e7b0348e56afdf9ecaff27164052f9ad8157a355" + }, + "cell_type": "markdown", + "source": "We are looking for a unique solution for the two variables $x_1$ and $x_2$. The system can be described as:" + }, + { + "metadata": { + "_uuid": "cd257c92064d3a32a783f478de4ecc6ee02eb855" + }, + "cell_type": "markdown", + "source": "\\begin{align}\n\\dot{x} & = \\sigma(y-x) \\\\\n\\dot{y} & = \\rho x - y - xz \\\\\n\\dot{z} & = -\\beta z + xy\n\\end{align}" + }, + { + "metadata": { + "_uuid": "6196aa1b102f2bc5baa03ab11a6f46a6334afb77" + }, + "cell_type": "markdown", + "source": "$$\nAx=b\n$$" + }, + { + "metadata": { + "_uuid": "62e00b4cd01db4db4eeed802bc6f873e56d44401" + }, + "cell_type": "markdown", + "source": "as matrices:" + }, + { + "metadata": { + "_uuid": "4d66f085637e77ab9d00fad7070d04902e06a405" + }, + "cell_type": "markdown", + "source": "$$A = \\begin{bmatrix}\n 4 & -5 \\\\[0.3em]\n -2 & 3 \n \\end{bmatrix},\\ \n b = \\begin{bmatrix}\n -13 \\\\[0.3em]\n 9 \n \\end{bmatrix}$$" + }, + { + "metadata": { + "_uuid": "c29e9ef072d3fe0241c29d3f1ce528acf428d50d" + }, + "cell_type": "markdown", + "source": "A **scalar** is an element in a vector, containing a real number **value**. In a vector space model or a vector mapping of (symbolic, qualitative, or quantitative) properties the scalar holds the concrete value or property of a variable." + }, + { + "metadata": { + "_uuid": "113ed77c0072b401987b15bf29b020b3b47f49ba" + }, + "cell_type": "markdown", + "source": "A **vector** is an array, tuple, or ordered list of scalars (or elements) of size $n$, with $n$ a positive integer. The **length** of the vector, that is the number of scalars in the vector, is also called the **order** of the vector.\n\n\n
" + }, + { + "metadata": { + "trusted": true, + "_uuid": "9d1e3eceee8943fb0b6086abfc68ae6634a6cac3", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#3-dimensional vector in numpy\na = np.zeros((2, 3, 4))\n#l = [[[ 0., 0., 0., 0.],\n # [ 0., 0., 0., 0.],\n # [ 0., 0., 0., 0.]],\n # [[ 0., 0., 0., 0.],\n # [ 0., 0., 0., 0.],\n # [ 0., 0., 0., 0.]]]\na", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "3f3396b3c3597ea3a45209181fe86730750ea0b7", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n# Declaring Vectors\n\nx = [1, 2, 3]\ny = [4, 5, 6]\n\nprint(type(x))\n\n# This does'nt give the vector addition.\nprint(x + y)\n\n# Vector addition using Numpy\n\nz = np.add(x, y)\nprint(z)\nprint(type(z))\n\n# Vector Cross Product\nmul = np.cross(x, y)\nprint(mul)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "49c0b3e90c95512ef3733b25fd87cdef8ce31f97" + }, + "cell_type": "markdown", + "source": "**Vectorization** is the process of creating a vector from some data using some process." + }, + { + "metadata": { + "_uuid": "dbea06c756c0c9e398def8799d080e23b3e5f899" + }, + "cell_type": "markdown", + "source": "Vectors of the length $n$ could be treated like points in $n$-dimensional space. One can calculate the distance between such points using measures like [Euclidean Distance](https://en.wikipedia.org/wiki/Euclidean_distance). The similarity of vectors could also be calculated using [Cosine Similarity](https://en.wikipedia.org/wiki/Cosine_similarity).\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "edaec8965119aa83192198d2d440c37546335719" + }, + "cell_type": "markdown", + "source": "
\n## 3- Notation" + }, + { + "metadata": { + "_uuid": "64af248dc35d9897a3f5bdd032850a57e4ff3876" + }, + "cell_type": "markdown", + "source": "A **matrix** is a list of vectors that all are of the same length. $A$ is a matrix with $m$ rows and $n$ columns, antries of $A$ are real numbers:" + }, + { + "metadata": { + "_uuid": "9bad820eed2da96e788ffcafbcf2479caee67643" + }, + "cell_type": "markdown", + "source": "$A \\in \\mathbb{R}^{m \\times n}$" + }, + { + "metadata": { + "_uuid": "b55c3fe6c04903ecfeeea63b7336123352acf529" + }, + "cell_type": "markdown", + "source": "A vector $x$ with $n$ entries of real numbers, could also be thought of as a matrix with $n$ rows and $1$ column, or as known as a **column vector**." + }, + { + "metadata": { + "_uuid": "c0b067c3a32a5104136293c0d1887b2edeca12a7" + }, + "cell_type": "markdown", + "source": "$x = \\begin{bmatrix}\n x_1 \\\\[0.3em]\n x_2 \\\\[0.3em]\n \\vdots \\\\[0.3em]\n x_n\n \\end{bmatrix}$" + }, + { + "metadata": { + "_uuid": "ea3788fd5e066c884394be142580a4fdadac01fe" + }, + "cell_type": "markdown", + "source": "Representing a **row vector**, that is a matrix with $1$ row and $n$ columns, we write $x^T$ (this denotes the transpose of $x$, see above)." + }, + { + "metadata": { + "_uuid": "084a41970af4598e3fd2d3f6217a8695b160c9ac" + }, + "cell_type": "markdown", + "source": "$x^T = \\begin{bmatrix}\n x_1 & x_2 & \\cdots & x_n\n \\end{bmatrix}$" + }, + { + "metadata": { + "_uuid": "0a4ea55a9af6d93de973a5e87fb5c82ce1fb7206" + }, + "cell_type": "markdown", + "source": "We use the notation $a_{ij}$ (or $A_{ij}$, $A_{i,j}$, etc.) to denote the entry of $A$ in the $i$th row and\n$j$th column:" + }, + { + "metadata": { + "_uuid": "0503f34627c7269d302d2b3836069c8a04ab7dba" + }, + "cell_type": "markdown", + "source": "$A = \\begin{bmatrix}\n a_{11} & a_{12} & \\cdots & a_{1n} \\\\[0.3em]\n a_{21} & a_{22} & \\cdots & a_{2n} \\\\[0.3em]\n \\vdots & \\vdots & \\ddots & \\vdots \\\\[0.3em]\n a_{m1} & a_{m2} & \\cdots & a_{mn} \n \\end{bmatrix}$" + }, + { + "metadata": { + "_uuid": "e8af099926ef22c12554e4a2d8820afd542ee807" + }, + "cell_type": "markdown", + "source": "We denote the $j$th column of $A$ by $a_j$ or $A_{:,j}$:" + }, + { + "metadata": { + "_uuid": "c17b201130a3ea73e59a50914599e7b9d1c1306d" + }, + "cell_type": "markdown", + "source": "$A = \\begin{bmatrix}\n \\big| & \\big| & & \\big| \\\\[0.3em]\n a_{1} & a_{2} & \\cdots & a_{n} \\\\[0.3em]\n \\big| & \\big| & & \\big| \n \\end{bmatrix}$" + }, + { + "metadata": { + "_uuid": "7644f7d6386a60f8bf590d99a23d47accda09d8a" + }, + "cell_type": "markdown", + "source": "We denote the $i$th row of $A$ by $a_i^T$ or $A_{i,:}$:" + }, + { + "metadata": { + "_uuid": "fc9411370a353ff0e933eceadd9de277ca4b0113" + }, + "cell_type": "markdown", + "source": "$A = \\begin{bmatrix}\n -- & a_1^T & -- \\\\[0.3em]\n -- & a_2^T & -- \\\\[0.3em]\n & \\vdots & \\\\[0.3em]\n -- & a_m^T & -- \n \\end{bmatrix}$" + }, + { + "metadata": { + "_uuid": "2301a92667f6fc9b26f76c216b5c8cb6e47b6343" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "c572408519a74d444556d2769694ebd9bf4d58da" + }, + "cell_type": "markdown", + "source": "A $n \\times m$ matrix is a **two-dimensional** array with $n$ rows and $m$ columns.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "41bc780d93b81da8aa1ff806c54a4791dbb2c8dc" + }, + "cell_type": "markdown", + "source": "
\n## 4-Matrix Multiplication" + }, + { + "metadata": { + "_uuid": "0573f52724da68f860328d1cc3259c215d817f80" + }, + "cell_type": "markdown", + "source": "The result of the multiplication of two matrixes $A \\in \\mathbb{R}^{m \\times n}$ and $B \\in \\mathbb{R}^{n \\times p}$ is the matrix:" + }, + { + "metadata": { + "trusted": true, + "_uuid": "788f078e069a2ace3ca7d0aead749ead8b248c6d", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# initializing matrices \nx = np.array([[1, 2], [4, 5]]) \ny = np.array([[7, 8], [9, 10]])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bd6307c19afbda119a0dacca7e096b965889a30b" + }, + "cell_type": "markdown", + "source": "$C = AB \\in \\mathbb{R}^{m \\times n}$" + }, + { + "metadata": { + "_uuid": "0e0a76e86724698f241fcc74fc37e54d881622bd" + }, + "cell_type": "markdown", + "source": "That is, we are multiplying the columns of $A$ with the rows of $B$:" + }, + { + "metadata": { + "_uuid": "adb65bab1beb10117cbb490383cb62a9578ce62f" + }, + "cell_type": "markdown", + "source": "$C_{ij}=\\sum_{k=1}^n{A_{ij}B_{kj}}$\n" + }, + { + "metadata": { + "_uuid": "17f45fb4f428ad87706493da0431bdce6c00b531" + }, + "cell_type": "markdown", + "source": "The number of columns in $A$ must be equal to the number of rows in $B$.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "3cf4286adffc483893952a31d5a7006c462b3f60", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# using add() to add matrices \nprint (\"The element wise addition of matrix is : \") \nprint (np.add(x,y)) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "911a916a2c725232349a832769dd794956cb88cb", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# using subtract() to subtract matrices \nprint (\"The element wise subtraction of matrix is : \") \nprint (np.subtract(x,y)) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "045eba6b777e062510cfa4bf055c680830a66036", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# using divide() to divide matrices \nprint (\"The element wise division of matrix is : \") \nprint (np.divide(x,y)) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "aa8078d3057e8169d29ea9730d483ce9aebd5f2f", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# using multiply() to multiply matrices element wise \nprint (\"The element wise multiplication of matrix is : \") \nprint (np.multiply(x,y))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "aa352f5ba3a8ee911eb8f1c03749267eb4c4f76e" + }, + "cell_type": "markdown", + "source": "
\n## 4-1 Vector-Vector Products" + }, + { + "metadata": { + "_uuid": "4cf79a777e194d13bcc2dd7d164158f4390b5e8c" + }, + "cell_type": "markdown", + "source": "Inner or Dot **Product** of Two Vectors." + }, + { + "metadata": { + "_uuid": "3274f5ded5ea7255a4f1e24a3155a5a0af41f6c3" + }, + "cell_type": "markdown", + "source": "For two vectors $x, y \\in \\mathbb{R}^n$, the **inner product** or **dot product** $x^T y$ is a real number:" + }, + { + "metadata": { + "_uuid": "12af85ed7e264aebd0f5b07757bd30cebe4da1a8" + }, + "cell_type": "markdown", + "source": "$x^T y \\in \\mathbb{R} = \\begin{bmatrix}\n x_1 & x_2 & \\cdots & x_n\n \\end{bmatrix} \\begin{bmatrix}\n y_1 \\\\[0.3em]\n y_2 \\\\[0.3em]\n \\vdots \\\\[0.3em]\n y_n\n \\end{bmatrix} = \\sum_{i=1}^{n}{x_i y_i}$" + }, + { + "metadata": { + "_uuid": "1b9b1e36e48691239719c0810b1097d4b3ffbd84" + }, + "cell_type": "markdown", + "source": "The **inner products** are a special case of matrix multiplication." + }, + { + "metadata": { + "_uuid": "530f02a04a9c565031e3a5f2ba01781265b59f7b" + }, + "cell_type": "markdown", + "source": "It is always the case that $x^T y = y^T x$." + }, + { + "metadata": { + "_uuid": "ab71687334bbaacf7f2b715b957d24a18e255e71" + }, + "cell_type": "markdown", + "source": "##### Example" + }, + { + "metadata": { + "_uuid": "1f11e295fe1154db1ad859ac91c55211e1f35b4c" + }, + "cell_type": "markdown", + "source": "To calculate the inner product of two vectors $x = [1 2 3 4]$ and $y = [5 6 7 8]$, we can loop through the vector and multiply and sum the scalars (this is simplified code):" + }, + { + "metadata": { + "_uuid": "371da89fa6d1b698c59ee82d6aa7b475fd7a5625", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = (1, 2, 3, 4)\ny = (5, 6, 7, 8)\nn = len(x)\nif n == len(y):\n result = 0\n for i in range(n):\n result += x[i] * y[i]\n print(result)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5dfcb47d8e3568eafc3593911ef8655762525093" + }, + "cell_type": "markdown", + "source": "It is clear that in the code above we could change line 7 to `result += y[i] * x[i]` without affecting the result.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "2bc1c325a7af9aa6d418474bbc59e5eb24c4652a" + }, + "cell_type": "markdown", + "source": "We can use the *numpy* module to apply the same operation, to calculate the **inner product**. We import the *numpy* module and assign it a name *np* for the following code:" + }, + { + "metadata": { + "_uuid": "4d8ffa140774c6a7e2f0cd35c4809bd80069ce8b" + }, + "cell_type": "markdown", + "source": "We define the vectors $x$ and $y$ using *numpy*:" + }, + { + "metadata": { + "_uuid": "e6c39782297031e83d0e695fa80f9ebc2a817f4f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = np.array([1, 2, 3, 4])\ny = np.array([5, 6, 7, 8])\nprint(\"x:\", x)\nprint(\"y:\", y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ba7b567d2a4696cf0739e12cf4415ea3b8110e1e" + }, + "cell_type": "markdown", + "source": "We can now calculate the $dot$ or $inner product$ using the *dot* function of *numpy*:" + }, + { + "metadata": { + "_uuid": "c9fd9b61bdfa83059272f1ad61067138d0763308", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.dot(x, y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fec79e95e9d5b4059f91fd69334569a6831b835b" + }, + "cell_type": "markdown", + "source": "The order of the arguments is irrelevant:" + }, + { + "metadata": { + "_uuid": "d3843ed486083fd994883be64136127728d09d7e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.dot(y, x)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4025fa080136e50fcc4749100946148fa508ce32" + }, + "cell_type": "markdown", + "source": "Note that both vectors are actually **row vectors** in the above code. We can transpose them to column vectors by using the *shape* property:" + }, + { + "metadata": { + "_uuid": "f3a97f695aad46b1d848469240308024d1dcb634", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print(\"x:\", x)\nx.shape = (4, 1)\nprint(\"xT:\", x)\nprint(\"y:\", y)\ny.shape = (4, 1)\nprint(\"yT:\", y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6a850ef7d0e2025dd57cbf89c4bbe4146ed83ba4" + }, + "cell_type": "markdown", + "source": "In fact, in our understanding of Linear Algebra, we take the arrays above to represent **row vectors**. *Numpy* treates them differently." + }, + { + "metadata": { + "_uuid": "b64cdd134c53e7865a76d4efecc2ace176c664cd" + }, + "cell_type": "markdown", + "source": "We see the issues when we try to transform the array objects. Usually, we can transform a row vector into a column vector in *numpy* by using the *T* method on vector or matrix objects:\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "bb73c80a401c89d79dbd920e5d63cf1a07b384e7", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = np.array([1, 2, 3, 4])\ny = np.array([5, 6, 7, 8])\nprint(\"x:\", x)\nprint(\"y:\", y)\nprint(\"xT:\", x.T)\nprint(\"yT:\", y.T)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e80fc9e4bec6d2cc26a8194e19736e1f24484d5f" + }, + "cell_type": "markdown", + "source": "The problem here is that this does not do, what we expect it to do. It only works, if we declare the variables not to be arrays of numbers, but in fact a matrix:" + }, + { + "metadata": { + "_uuid": "cb78424e23837608cbd597fb6fc7c3cbd99f368a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = np.array([[1, 2, 3, 4]])\ny = np.array([[5, 6, 7, 8]])\nprint(\"x:\", x)\nprint(\"y:\", y)\nprint(\"xT:\", x.T)\nprint(\"yT:\", y.T)\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9bed60bdfd536f42ad4a88a358e611fef07bc14a" + }, + "cell_type": "markdown", + "source": "Note that the *numpy* functions *dot* and *outer* are not affected by this distinction. We can compute the dot product using the mathematical equation above in *numpy* using the new $x$ and $y$ row vectors:\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "df9c92e49f2dad24800996d0655caccec351c580", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print(\"x:\", x)\nprint(\"y:\", y.T)\nnp.dot(x, y.T)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c1705fc2b1b16b9228274a2f53cd0fa59a39d8fd" + }, + "cell_type": "markdown", + "source": "Or by reverting to:" + }, + { + "metadata": { + "_uuid": "3a86b041668670f66b643053dfecfc46bdcd2749", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print(\"x:\", x.T)\nprint(\"y:\", y)\nnp.dot(y, x.T)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "13ebfb31e281db7417cc3e2beb312e63f9688e28" + }, + "cell_type": "markdown", + "source": "To read the result from this array of arrays, we would need to access the value this way:" + }, + { + "metadata": { + "_uuid": "295be78d3c1258ec4f24579985c5f14f8746e8a9", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.dot(y, x.T)[0][0]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b5bda4ac75a8d11935ef765b2c869e56d9df8a56" + }, + "cell_type": "markdown", + "source": "
\n## 4-2 Outer Product of Two Vectors" + }, + { + "metadata": { + "_uuid": "600acbd91bfbb49c43541a743541fcdb43b00c1a" + }, + "cell_type": "markdown", + "source": "For two vectors $x \\in \\mathbb{R}^m$ and $y \\in \\mathbb{R}^n$, where $n$ and $m$ do not have to be equal, the **outer product** of $x$ and $y$ is:" + }, + { + "metadata": { + "_uuid": "8e8923ee3fd2fe565cbd45dd93eb69b99bcae973" + }, + "cell_type": "markdown", + "source": "$xy^T \\in \\mathbb{R}^{m\\times n}$" + }, + { + "metadata": { + "_uuid": "5d50297bd88d3a2c3c7738412e84611c119695e8" + }, + "cell_type": "markdown", + "source": "The **outer product** results in a matrix with $m$ rows and $n$ columns by $(xy^T)_{ij} = x_i y_j$:" + }, + { + "metadata": { + "_uuid": "24c79c28d1a44f968c54fb7f6b25f4515e48ffa2" + }, + "cell_type": "markdown", + "source": "$xy^T \\in \\mathbb{R}^{m\\times n} = \\begin{bmatrix}\n x_1 \\\\[0.3em]\n x_2 \\\\[0.3em]\n \\vdots \\\\[0.3em]\n x_n\n \\end{bmatrix} \\begin{bmatrix}\n y_1 & y_2 & \\cdots & y_n\n \\end{bmatrix} = \\begin{bmatrix}\n x_1 y_1 & x_1 y_2 & \\cdots & x_1 y_n \\\\[0.3em]\n x_2 y_1 & x_2 y_2 & \\cdots & x_2 y_n \\\\[0.3em]\n \\vdots & \\vdots & \\ddots & \\vdots \\\\[0.3em]\n x_m y_1 & x_m y_2 & \\cdots & x_m y_n \\\\[0.3em]\n \\end{bmatrix}$" + }, + { + "metadata": { + "_uuid": "cfb0c1807bfd9dee7f997d2375d065c4ecbcc9d5" + }, + "cell_type": "markdown", + "source": "Some useful property of the outer product: assume $\\mathbf{1} \\in \\mathbb{R}^n$ is an $n$-dimensional vector of scalars with the value $1$. Given a matrix $A \\in \\mathbb{R}^{m\\times n}$ with all columns equal to some vector $x \\in \\mathbb{R}^m$, using the outer product $A$ can be represented as:" + }, + { + "metadata": { + "_uuid": "223cb0c14b513f60b8a31d5c81fab450afc50902" + }, + "cell_type": "markdown", + "source": "$A = \\begin{bmatrix}\n \\big| & \\big| & & \\big| \\\\[0.3em]\n x & x & \\cdots & x \\\\[0.3em]\n \\big| & \\big| & & \\big| \n \\end{bmatrix} = \\begin{bmatrix}\n x_1 & x_1 & \\cdots & x_1 \\\\[0.3em]\n x_2 & x_2 & \\cdots & x_2 \\\\[0.3em]\n \\vdots & \\vdots & \\ddots & \\vdots \\\\[0.3em]\n x_m &x_m & \\cdots & x_m\n \\end{bmatrix} = \\begin{bmatrix}\n x_1 \\\\[0.3em]\n x_2 \\\\[0.3em]\n \\vdots \\\\[0.3em]\n x_m\n \\end{bmatrix} \\begin{bmatrix}\n 1 & 1 & \\cdots & 1\n \\end{bmatrix} = x \\mathbf{1}^T$" + }, + { + "metadata": { + "_uuid": "31c5791cb210071f5253d0a20a7f1e2c030a48ea", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = np.array([[1, 2, 3, 4]])\nprint(\"x:\", x)\nprint(\"xT:\", np.reshape(x, (4, 1)))\nprint(\"xT:\", x.T)\nprint(\"xT:\", x.transpose())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "79454aca18aaa191658d04a48662f75588dd6e4e" + }, + "cell_type": "markdown", + "source": "Example\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "0f8844018b2de3e4cd9584350a223b1e1347efe9" + }, + "cell_type": "markdown", + "source": "We can now compute the **outer product** by multiplying the column vector $x$ with the row vector $y$:" + }, + { + "metadata": { + "_uuid": "4744a491b80ce1e01ddc4590847c9660ea9ae14b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = np.array([[1, 2, 3, 4]])\ny = np.array([[5, 6, 7, 8]])\nx.T * y", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7ee36e496adf686e1445faca7e5c9c1dee9abf35" + }, + "cell_type": "markdown", + "source": "*Numpy* provides an *outer* function that does all that:" + }, + { + "metadata": { + "_uuid": "47ce570eb9aa9a1173a2f30de728aba2aec3976c", + "trusted": true + }, + "cell_type": "code", + "source": "np.outer(x, y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b3eed151fe4f34604d1691e36a41d82b36d3fead" + }, + "cell_type": "markdown", + "source": "Note, in this simple case using the simple arrays for the data structures of the vectors does not affect the result of the *outer* function:" + }, + { + "metadata": { + "_uuid": "e52b29787ddf67293d7dbe6f0887cfc23fc4f11f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = np.array([1, 2, 3, 4])\ny = np.array([5, 6, 7, 8])\nnp.outer(x, y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0497e5d541a3c1ba344863a6730ea7521e65d50c" + }, + "cell_type": "markdown", + "source": "
\n## 4-3 Matrix-Vector Products" + }, + { + "metadata": { + "_uuid": "04b13cebdd26ed43bc8a0cceb68a7108d70a136a" + }, + "cell_type": "markdown", + "source": "Assume a matrix $A \\in \\mathbb{R}^{m\\times n}$ and a vector $x \\in \\mathbb{R}^n$ the product results in a vector $y = Ax \\in \\mathbb{R}^m$." + }, + { + "metadata": { + "_uuid": "5fd17293bb4d5d64da6b241166804fc7e04fe01f" + }, + "cell_type": "markdown", + "source": "$Ax$ could be expressed as the dot product of row $i$ of matrix $A$ with the column value $j$ of vector $x$. Let us first consider matrix multiplication with a scalar:\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "16e79a2bad504080985d9934e8ca7715ca808ecf" + }, + "cell_type": "markdown", + "source": "$A = \\begin{bmatrix}\n 1 & 2 \\\\[0.3em]\n 3 & 4\n \\end{bmatrix}$" + }, + { + "metadata": { + "_uuid": "d5ce445bbdd95aa2f30b88d50d40694c7138cd16" + }, + "cell_type": "markdown", + "source": "We can compute the product of $A$ with a scalar $n = 2$ as:" + }, + { + "metadata": { + "_uuid": "d4e35d8ca8587610ee6af9b9dbe5ffcb39b088e6" + }, + "cell_type": "markdown", + "source": "$A = \\begin{bmatrix}\n 1 * n & 2 * n \\\\[0.3em]\n 3 * n & 4 * n\n \\end{bmatrix} = \\begin{bmatrix}\n 1 * 2 & 2 * 2 \\\\[0.3em]\n 3 * 2 & 4 * 2\n \\end{bmatrix} = \\begin{bmatrix}\n 2 & 4 \\\\[0.3em]\n 6 & 8\n \\end{bmatrix} $" + }, + { + "metadata": { + "_uuid": "cdf6b9087f0d650fc81e307e20ea19c80e65ca81" + }, + "cell_type": "markdown", + "source": "Using *numpy* this can be achieved by:" + }, + { + "metadata": { + "_uuid": "dab712cc9bfed1169b78e17b899fb51ab054323a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "import numpy as np\nA = np.array([[4, 5, 6],\n [7, 8, 9]])\nA * 2", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7c0f41deb55a4d276a163064a096a7265dfb6b70" + }, + "cell_type": "markdown", + "source": "Assume that we have a column vector $x$:" + }, + { + "metadata": { + "_uuid": "9b1ae2e8676afb189d397c7eda3ac2ff6ac7d68c" + }, + "cell_type": "markdown", + "source": "$x = \\begin{bmatrix}\n 1 \\\\[0.3em]\n 2 \\\\[0.3em]\n 3 \n \\end{bmatrix}$" + }, + { + "metadata": { + "_uuid": "cc7395a031bfe1a5ef2c81742ce53402a4f4a760" + }, + "cell_type": "markdown", + "source": "To be able to multiply this vector with a matrix, the number of columns in the matrix must correspond to the number of rows in the column vector. The matrix $A$ must have $3$ columns, as for example: " + }, + { + "metadata": { + "_uuid": "3a64bb5508b56c69089f3f3a0ad660b7d3afcc6d" + }, + "cell_type": "markdown", + "source": "$A = \\begin{bmatrix}\n 4 & 5 & 6\\\\[0.3em]\n 7 & 8 & 9\n \\end{bmatrix}$" + }, + { + "metadata": { + "_uuid": "263ba698745983ffaf1d3e8d70913655d706b7b5" + }, + "cell_type": "markdown", + "source": "To compute $Ax$, we multiply row $1$ of the matrix with column $1$ of $x$:" + }, + { + "metadata": { + "_uuid": "c2a029c124746ef05f143057fd2504aacbd0f420" + }, + "cell_type": "markdown", + "source": "$\\begin{bmatrix}\n 4 & 5 & 6\n \\end{bmatrix}\n \\begin{bmatrix}\n 1 \\\\[0.3em]\n 2 \\\\[0.3em]\n 3 \n\\end{bmatrix} = 4 * 1 + 5 * 2 + 6 * 3 = 32 $" + }, + { + "metadata": { + "_uuid": "a58cee7c07b4c95146d47bb4760cbad517f80d73" + }, + "cell_type": "markdown", + "source": "We do the compute the dot product of row $2$ of $A$ and column $1$ of $x$:" + }, + { + "metadata": { + "_uuid": "2b48c07ca48080c579e827df7b7b7851648d1c4e" + }, + "cell_type": "markdown", + "source": "$\\begin{bmatrix}\n 7 & 8 & 9\n \\end{bmatrix}\n \\begin{bmatrix}\n 1 \\\\[0.3em]\n 2 \\\\[0.3em]\n 3 \n\\end{bmatrix} = 7 * 1 + 8 * 2 + 9 * 3 = 50 $" + }, + { + "metadata": { + "_uuid": "9212e603fc8e945f1fd1d2a1155aeaad802c5008" + }, + "cell_type": "markdown", + "source": "The resulting column vector $Ax$ is:" + }, + { + "metadata": { + "_uuid": "91f948005340d308fa68953ce38f38e751d8711d" + }, + "cell_type": "markdown", + "source": "$Ax = \\begin{bmatrix}\n 32 \\\\[0.3em]\n 50 \n \\end{bmatrix}$\n " + }, + { + "metadata": { + "_uuid": "2be29c242244536effade27bc0f8bbd03eddd537" + }, + "cell_type": "markdown", + "source": "Using *numpy* we can compute $Ax$:" + }, + { + "metadata": { + "_uuid": "00f0a534b7dae7a24ee27a74553e1f785f3714ef", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "A = np.array([[4, 5, 6],\n [7, 8, 9]])\nx = np.array([1, 2, 3])\nA.dot(x)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2f6c7e7c90592f5d4d529798199ec7507a2752c3" + }, + "cell_type": "markdown", + "source": "We can thus describe the product writing $A$ by rows as:\n \n
" + }, + { + "metadata": { + "_uuid": "bf34bef734155d6027fdcf8f16ae735a25ccaeef" + }, + "cell_type": "markdown", + "source": "$y = Ax = \\begin{bmatrix}\n -- & a_1^T & -- \\\\[0.3em]\n -- & a_2^T & -- \\\\[0.3em]\n & \\vdots & \\\\[0.3em]\n -- & a_m^T & -- \n\\end{bmatrix} x = \\begin{bmatrix}\n a_1^T x \\\\[0.3em]\n a_2^T x \\\\[0.3em]\n \\vdots \\\\[0.3em]\n a_m^T x \n\\end{bmatrix}$" + }, + { + "metadata": { + "_uuid": "5662d8ac1faca01adf26451e5d07bf18dff21290" + }, + "cell_type": "markdown", + "source": "This means that the $i$th scalar of $y$ is the inner product of the $i$th row of $A$ and $x$, that is $y_i = a_i^T x$." + }, + { + "metadata": { + "_uuid": "3c2f566e74d022fcb5b8cebf8405d8f5029dd9e6" + }, + "cell_type": "markdown", + "source": "If we write $A$ in column form, then:" + }, + { + "metadata": { + "_uuid": "9140e355e1330614dc78af903d25155af62a3c87" + }, + "cell_type": "markdown", + "source": "$y = Ax =\n\\begin{bmatrix}\n \\big| & \\big| & & \\big| \\\\[0.3em]\n a_1 & a_2 & \\cdots & a_n \\\\[0.3em]\n \\big| & \\big| & & \\big| \n\\end{bmatrix}\n\\begin{bmatrix}\n x_1 \\\\[0.3em]\n x_2 \\\\[0.3em]\n \\vdots \\\\[0.3em]\n x_n\n\\end{bmatrix} =\n\\begin{bmatrix}\n a_1\n\\end{bmatrix} x_1 + \n\\begin{bmatrix}\n a_2\n\\end{bmatrix} x_2 + \\dots +\n\\begin{bmatrix}\n a_n\n\\end{bmatrix} x_n\n$" + }, + { + "metadata": { + "_uuid": "6ff2956fe3dda8845ca163ddfcbf41197f00934c" + }, + "cell_type": "markdown", + "source": "In this case $y$ is a **[linear combination](https://en.wikipedia.org/wiki/Linear_combination)** of the *columns* of $A$, the coefficients taken from $x$." + }, + { + "metadata": { + "_uuid": "d771db142d2ea47073067f2edcae75351c2af9d4" + }, + "cell_type": "markdown", + "source": "The above examples multiply be the right with a column vector. One can multiply on the left by a row vector as well, $y^T = x^T A$ for $A \\in \\mathbb{R}^{m\\times n}$, $x\\in \\mathbb{R}^m$, $y \\in \\mathbb{R}^n$. There are two ways to express $y^T$, with $A$ expressed by its columns, with $i$th scalar of $y^T$ corresponds to the inner product of $x$ and the $i$th column of $A$:" + }, + { + "metadata": { + "_uuid": "084b84e5eda9db135fdec2e8118510b875bb84f9" + }, + "cell_type": "markdown", + "source": "$y^T = x^T A = x^t \\begin{bmatrix}\n \\big| & \\big| & & \\big| \\\\[0.3em]\n a_1 & a_2 & \\cdots & a_n \\\\[0.3em]\n \\big| & \\big| & & \\big| \n\\end{bmatrix} = \n\\begin{bmatrix}\n x^T a_1 & x^T a_2 & \\dots & x^T a_n \n\\end{bmatrix}$" + }, + { + "metadata": { + "_uuid": "7b07dc51ff2dc60fc85e6512ac9ac8171e4c15df" + }, + "cell_type": "markdown", + "source": "One can express $A$ by rows, where $y^T$ is a linear combination of the rows of $A$ with the scalars from $x$." + }, + { + "metadata": { + "_uuid": "00fef9e0d2286fd9e415e86c3117b14461f9dc95" + }, + "cell_type": "markdown", + "source": "$\\begin{equation}\n\\begin{split}\ny^T & = x^T A \\\\\n & = \\begin{bmatrix}\n x_1 & x_2 & \\dots & x_n \n\\end{bmatrix}\n\\begin{bmatrix}\n -- & a_1^T & -- \\\\[0.3em]\n -- & a_2^T & -- \\\\[0.3em]\n & \\vdots & \\\\[0.3em]\n -- & a_m^T & -- \n\\end{bmatrix} \\\\\n & = x_1 \\begin{bmatrix}-- & a_1^T & --\\end{bmatrix} + x_2 \\begin{bmatrix}-- & a_2^T & --\\end{bmatrix} + \\dots + x_n \\begin{bmatrix}-- & a_n^T & --\\end{bmatrix}\n\\end{split}\n\\end{equation}$\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "baee0e90e0271a893fa7344c7fbecb17849e24cb" + }, + "cell_type": "markdown", + "source": "
\n## 4-4 Matrix-Matrix Products" + }, + { + "metadata": { + "_uuid": "b9d6edf802b8d25e416d6bcbc05a89f232761f0c" + }, + "cell_type": "markdown", + "source": "One can view matrix-matrix multiplication $C = AB$ as a set of vector-vector products. The $(i,j)$th entry of $C$ is the inner product of the $i$th row of $A$ and the $j$th column of $B$:" + }, + { + "metadata": { + "trusted": true, + "_uuid": "da4f41de85c7b81e7b12eb2aa5d96f36b9239795", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "matrix1 = np.matrix(\n [[0, 4],\n [2, 0]]\n)\nmatrix2 = np.matrix(\n [[-1, 2],\n [1, -2]]\n)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "8fff3d143c70a997cb601ce8440f3e98ba4be645", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "matrix1 + matrix2", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "80a8ae1787a4ca1aedc4ec0bfc9ec7ca36935209" + }, + "cell_type": "code", + "source": "matrix1 - matrix2", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ee80826d7e34cb283c5ff4ef165d05f7715fe14f" + }, + "cell_type": "markdown", + "source": "### 4-4-1 Multiplication\nTo multiply two matrices with numpy, you can use the np.dot method:" + }, + { + "metadata": { + "trusted": true, + "_uuid": "413b954a7fce564c58d2bab2c0e48c8a268ca706" + }, + "cell_type": "code", + "source": "np.dot(matrix1, matrix2)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "71a943f0cf2b0a27001ed6e53a766f2626946587" + }, + "cell_type": "code", + "source": "\nmatrix1 * matrix2", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4d23d2540ce269b381ed3a574afe757dd9ce0890" + }, + "cell_type": "markdown", + "source": "$C = AB =\n\\begin{bmatrix}\n -- & a_1^T & -- \\\\[0.3em]\n -- & a_2^T & -- \\\\[0.3em]\n & \\vdots & \\\\[0.3em]\n -- & a_m^T & -- \n\\end{bmatrix}\n\\begin{bmatrix}\n \\big| & \\big| & & \\big| \\\\[0.3em]\n b_1 & b_2 & \\cdots & b_p \\\\[0.3em]\n \\big| & \\big| & & \\big| \n\\end{bmatrix} = \n\\begin{bmatrix}\n a_1^T b_1 & a_1^T b_2 & \\cdots & a_1^T b_p \\\\[0.3em]\n a_2^T b_1 & a_2^T b_2 & \\cdots & a_2^T b_p \\\\[0.3em]\n \\vdots & \\vdots & \\ddots & \\vdots \\\\[0.3em]\n a_m^T b_1 & a_m^T b_2 & \\cdots & a_m^T b_p \n\\end{bmatrix}$" + }, + { + "metadata": { + "_uuid": "92fccf9287e2092fb03bcee8f14cdc4b943493ef" + }, + "cell_type": "markdown", + "source": "Here $A \\in \\mathbb{R}^{m\\times n}$ and $B \\in \\mathbb{R}^{n\\times p}$, $a_i \\in \\mathbb{R}^n$ and $b_j \\in \\mathbb{R}^n$, and $A$ is represented by rows, $B$ by columns." + }, + { + "metadata": { + "_uuid": "9777cf6f6fda796af639d33530c834098dc86d8e" + }, + "cell_type": "markdown", + "source": "If we represent $A$ by columns and $B$ by rows, then $AB$ is the sum of the outer products:" + }, + { + "metadata": { + "_uuid": "6de77426379cc3e29abbe9323f14e95cf97286f1" + }, + "cell_type": "markdown", + "source": "$C = AB =\n\\begin{bmatrix}\n \\big| & \\big| & & \\big| \\\\[0.3em]\n a_1 & a_2 & \\cdots & a_n \\\\[0.3em]\n \\big| & \\big| & & \\big| \n\\end{bmatrix}\n\\begin{bmatrix}\n -- & b_1^T & -- \\\\[0.3em]\n -- & b_2^T & -- \\\\[0.3em]\n & \\vdots & \\\\[0.3em]\n -- & b_n^T & -- \n\\end{bmatrix}\n= \\sum_{i=1}^n a_i b_i^T\n$" + }, + { + "metadata": { + "_uuid": "44d6c5cb2e94ba42ba07a2c7318066cff447bd13" + }, + "cell_type": "markdown", + "source": "This means that $AB$ is the sum over all $i$ of the outer product of the $i$th column of $A$ and the $i$th row of $B$." + }, + { + "metadata": { + "_uuid": "bf95358be113e90861b32ddc10eb4d167970ea7c" + }, + "cell_type": "markdown", + "source": "One can interpret matrix-matrix operations also as a set of matrix-vector products. Representing $B$ by columns, the columns of $C$ are matrix-vector products between $A$ and the columns of $B$:" + }, + { + "metadata": { + "_uuid": "e4af158d553d4af80b571cb7792d3742d9a3933e" + }, + "cell_type": "markdown", + "source": "$C = AB = A\n\\begin{bmatrix}\n \\big| & \\big| & & \\big| \\\\[0.3em]\n b_1 & b_2 & \\cdots & b_p \\\\[0.3em]\n \\big| & \\big| & & \\big| \n\\end{bmatrix} = \n\\begin{bmatrix}\n \\big| & \\big| & & \\big| \\\\[0.3em]\n A b_1 & A b_2 & \\cdots & A b_p \\\\[0.3em]\n \\big| & \\big| & & \\big| \n\\end{bmatrix}\n$" + }, + { + "metadata": { + "_uuid": "db64a70c69c7498c0addd32920b1997ae346648f" + }, + "cell_type": "markdown", + "source": "In this interpretation the $i$th column of $C$ is the matrix-vector product with the vector on the right, i.e. $c_i = A b_i$." + }, + { + "metadata": { + "_uuid": "fa9aed70fa2cf022252d49b0e6cf61c2a3271938" + }, + "cell_type": "markdown", + "source": "Representing $A$ by rows, the rows of $C$ are the matrix-vector products between the rows of $A$ and $B$:" + }, + { + "metadata": { + "_uuid": "c031d45c3a799bfb462b54ee981cced64aeb6b46" + }, + "cell_type": "markdown", + "source": "$C = AB = \\begin{bmatrix}\n -- & a_1^T & -- \\\\[0.3em]\n -- & a_2^T & -- \\\\[0.3em]\n & \\vdots & \\\\[0.3em]\n -- & a_m^T & -- \n\\end{bmatrix}\nB = \n\\begin{bmatrix}\n -- & a_1^T B & -- \\\\[0.3em]\n -- & a_2^T B & -- \\\\[0.3em]\n & \\vdots & \\\\[0.3em]\n -- & a_n^T B & -- \n\\end{bmatrix}$" + }, + { + "metadata": { + "_uuid": "db7e6699c9753b8bc35ddb205e39b6c0cfeaa7ba" + }, + "cell_type": "markdown", + "source": "The $i$th row of $C$ is the matrix-vector product with the vector on the left, i.e. $c_i^T = a_i^T B$." + }, + { + "metadata": { + "_uuid": "acb4c283712f1039fe818e9c76b2d06655df25ae" + }, + "cell_type": "markdown", + "source": "#### Notes on Matrix-Matrix Products" + }, + { + "metadata": { + "_uuid": "10b2cf32e0874d9d9ca346cf6e88051a74e670a0" + }, + "cell_type": "markdown", + "source": "**Matrix multiplication is associative:** $(AB)C = A(BC)$" + }, + { + "metadata": { + "_uuid": "336cb93754fabc5e3e870339560db9c13b7b5499" + }, + "cell_type": "markdown", + "source": "**Matrix multiplication is distributive:** $A(B + C) = AB + AC$" + }, + { + "metadata": { + "_uuid": "0f5a92225097ef125566df78d95c73699287388b" + }, + "cell_type": "markdown", + "source": "**Matrix multiplication is, in general, not commutative;** It can be the case that $AB \\neq BA$. (For example, if $A \\in \\mathbb{R}^{m\\times n}$ and $B \\in \\mathbb{R}^{n\\times q}$, the matrix product $BA$ does not even exist if $m$ and $q$ are not equal!)\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "42bf81d28ea53bf258944612b436bf9a3a6b1292" + }, + "cell_type": "markdown", + "source": "
\n## 5- Identity Matrix" + }, + { + "metadata": { + "_uuid": "2cb80bc7e181a316499f1c420d6504714a887c98" + }, + "cell_type": "markdown", + "source": "The **identity matrix** $I \\in \\mathbb{R}^{n\\times n}$ is a square matrix with the value $1$ on the diagonal and $0$ everywhere else:" + }, + { + "metadata": { + "trusted": true, + "_uuid": "842b12bf0ffff4ab4252db3134ca16eb44d2bc89" + }, + "cell_type": "code", + "source": "np.eye(4)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fa7f57a6322de8459dfa3f46472a1f61acdcf31b" + }, + "cell_type": "markdown", + "source": "$I_{ij} = \\left\\{\n\\begin{array}{lr}\n 1 & i = j\\\\\n 0 & i \\neq j\n\\end{array}\n\\right.\n$" + }, + { + "metadata": { + "_uuid": "57cbbb9997318e430819b5e4d3accd0fd1f0a8d4" + }, + "cell_type": "markdown", + "source": "For all $A \\in \\mathbb{R}^{m\\times n}$:" + }, + { + "metadata": { + "_uuid": "556f89cba86ab17d19c89bce923fd09eea629b83" + }, + "cell_type": "markdown", + "source": "$AI = A = IA$" + }, + { + "metadata": { + "_uuid": "91306a27b6500debe6277cedd75558823466907c" + }, + "cell_type": "markdown", + "source": "In the equation above multiplication has to be made possible, which means that in the portion $AI = A$ the dimensions of $I$ have to be $n\\times n$, while in $A = IA$ they have to be $m\\times m$." + }, + { + "metadata": { + "_uuid": "be61bed3414ed2dccb551abbffb0a58ba270d38d" + }, + "cell_type": "markdown", + "source": "We can generate an *identity matrix* in *numpy* using:" + }, + { + "metadata": { + "_uuid": "29068a6e863dff19854170ea9ef701385d4ebda7", + "trusted": true + }, + "cell_type": "code", + "source": "A = np.array([[0, 1, 2],\n [3, 4, 5],\n [6, 7, 8],\n [9, 10, 11]])\nprint(\"A:\", A)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "caf0c2e4e4a417c3751daed3f3bf5e151562ab52" + }, + "cell_type": "markdown", + "source": "We can ask for the shape of $A$:" + }, + { + "metadata": { + "_uuid": "41d1470cef878a6ea9d6db819ca44bf5ebc7232e", + "trusted": true + }, + "cell_type": "code", + "source": "A.shape", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ffdd27ea7c4abf464d6ea49efbd921e68622a12f" + }, + "cell_type": "markdown", + "source": "The *shape* property of a matrix contains the $m$ (number of rows) and $n$ (number of columns) properties in a tuple, in that particular order. We can create an identity matrix for the use in $AI$ by using the $n$ value: " + }, + { + "metadata": { + "_uuid": "70d0df8d58e0a9209bcaa5753c51d3e8d905ce40", + "trusted": true + }, + "cell_type": "code", + "source": "np.identity(A.shape[1], dtype=\"int\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8598fcdf9d480b28ccbfb9bde7c42297842bb590" + }, + "cell_type": "markdown", + "source": "Note that we specify the *dtype* parameter to *identity* as *int*, since the default would return a matrix of *float* values." + }, + { + "metadata": { + "_uuid": "6529004c2c919ec745dfe52f007ec4e90e39032c" + }, + "cell_type": "markdown", + "source": "To generate an identity matrix for the use in $IA$ we would use the $m$ value:" + }, + { + "metadata": { + "_uuid": "6ac179dd27c16233d91df6ef504de64e5fadb7c8", + "trusted": true + }, + "cell_type": "code", + "source": "np.identity(A.shape[0], dtype=\"int\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bab65d4322a7f2f3f6ae4b596d67ce3643647e42" + }, + "cell_type": "markdown", + "source": "We can compute the dot product of $A$ and its identity matrix $I$:" + }, + { + "metadata": { + "_uuid": "bc705223af8b1d89e6c5ac665da1993145b61bb7", + "trusted": true + }, + "cell_type": "code", + "source": "n = A.shape[1]\nI = np.array(np.identity(n, dtype=\"int\"))\nnp.dot(A, I)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "279c5e7af710a1ce530f2debc04c23001041745e" + }, + "cell_type": "markdown", + "source": "The same is true for the other direction:" + }, + { + "metadata": { + "_uuid": "7818e9032440e9dddcdea3839fc8ba2cbac81d90", + "trusted": true + }, + "cell_type": "code", + "source": "m = A.shape[0]\nI = np.array(np.identity(m, dtype=\"int\"))\nnp.dot(I, A)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7f97a3211e646d8ffc467bcda3623da3b89b9202" + }, + "cell_type": "markdown", + "source": "### 5-1 Inverse Matrices" + }, + { + "metadata": { + "trusted": true, + "_uuid": "2e0fdf7abf02064addfb5acf23b751dbf8e8fc1f" + }, + "cell_type": "code", + "source": "inverse = np.linalg.inv(matrix1)\nprint(inverse)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "93c10865c2374f850dd040b8d545c226002dbb75" + }, + "cell_type": "markdown", + "source": "
\n## 6- Diagonal Matrix" + }, + { + "metadata": { + "_uuid": "ef72260c42e7c6e409b52f5b3c845e3c4a7fbe7d" + }, + "cell_type": "markdown", + "source": "In the **diagonal matrix** non-diagonal elements are $0$, that is $D = diag(d_1, d_2, \\dots{}, d_n)$, with:" + }, + { + "metadata": { + "_uuid": "b63515e277c941f4a6970d3a692a40cc23433d20" + }, + "cell_type": "markdown", + "source": "$D_{ij} = \\left\\{\n\\begin{array}{lr}\n d_i & i = j\\\\\n 0 & i \\neq j\n\\end{array}\n\\right.\n$" + }, + { + "metadata": { + "_uuid": "2a70473875d2876ab2ced96694e02da219bc6f8f" + }, + "cell_type": "markdown", + "source": "The identity matrix is a special case of a diagonal matrix: $I = diag(1, 1, \\dots{}, 1)$." + }, + { + "metadata": { + "_uuid": "10c74f8237e9f95bcc0e47cf5b2c0beba8b39b01" + }, + "cell_type": "markdown", + "source": "In *numpy* we can create a *diagonal matrix* from any given matrix using the *diag* function:" + }, + { + "metadata": { + "_uuid": "51b5323cf73f7e328f3c8c024fd634e33329235b", + "trusted": true + }, + "cell_type": "code", + "source": "import numpy as np\nA = np.array([[0, 1, 2, 3],\n [4, 5, 6, 7],\n [8, 9, 10, 11],\n [12, 13, 14, 15]])\nnp.diag(A)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0a1c89b112c3a23a7fe57eb358979e01776e55e5" + }, + "cell_type": "markdown", + "source": "An optional parameter *k* to the *diag* function allows us to extract the diagonal above the main diagonal with a positive *k*, and below the main diagonal with a negative *k*:\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "213118a89acd75f4ca025d46b319037cd1bcbbf8", + "trusted": true + }, + "cell_type": "code", + "source": "np.diag(A, k=1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "70526663a463f5cdb1214fcf5ea2f7f3fb9ce166", + "trusted": true + }, + "cell_type": "code", + "source": "np.diag(A, k=-1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "87d1e66c2fdd87db8a4b6e7b2dfee28d66dfd3fa" + }, + "cell_type": "markdown", + "source": "
\n## 7- Transpose of a Matrix" + }, + { + "metadata": { + "_uuid": "c56e983d9d25ddb75355b21700f1bb8a117a3bf2" + }, + "cell_type": "markdown", + "source": "**Transposing** a matrix is achieved by *flipping* the rows and columns. For a matrix $A \\in \\mathbb{R}^{m\\times n}$ the transpose $A^T \\in \\mathbb{R}^{n\\times m}$ is the $n\\times m$ matrix given by:" + }, + { + "metadata": { + "_uuid": "4076483db1f8a050c8a4389e464daf3320b27353" + }, + "cell_type": "markdown", + "source": "$(A^T)_{ij} = A_{ji}$" + }, + { + "metadata": { + "_uuid": "8e052bc93821a8f2c38fd71079c0eb1cc4529d70" + }, + "cell_type": "markdown", + "source": "Properties of transposes:" + }, + { + "metadata": { + "_uuid": "cacdebb118384b89516d2531497c2c9a3ff062cd" + }, + "cell_type": "markdown", + "source": "- $(A^T)^T = A$\n- $(AB)^T = B^T A^T$\n- $(A+B)^T = A^T + B^T$" + }, + { + "metadata": { + "trusted": true, + "_uuid": "dea9e2ef7ac37cb7b1ce919c68bb0b352e01fff7" + }, + "cell_type": "code", + "source": "a = np.array([[1, 2], [3, 4]])\na", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "8e8a6944750b79de14323af2d68b6cfac7bcf192" + }, + "cell_type": "code", + "source": "a.transpose()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2862a79e4c2abaede94a473a74f5eee9c07be65d" + }, + "cell_type": "markdown", + "source": "
\n## 8- Symmetric Matrices" + }, + { + "metadata": { + "_uuid": "9ffb7cb76c38a6ea0544d7f6fc392aaf27e53db0" + }, + "cell_type": "markdown", + "source": "Square metrices $A \\in \\mathbb{R}^{n\\times n}$ are **symmetric**, if $A = A^T$." + }, + { + "metadata": { + "_uuid": "d9bd494a412e0aba403cd7704e750c571da15550" + }, + "cell_type": "markdown", + "source": "$A$ is **anti-symmetric**, if $A = -A^T$." + }, + { + "metadata": { + "_uuid": "84a715bb732f79ebab0ef8fbb0e1a9e3b1571bbb" + }, + "cell_type": "markdown", + "source": "For any matrix $A \\in \\mathbb{R}^{n\\times n}$, the matrix $A + A^T$ is **symmetric**." + }, + { + "metadata": { + "_uuid": "84f8f94866478a6d3488ac7c3e10bde4050282ec" + }, + "cell_type": "markdown", + "source": "For any matrix $A \\in \\mathbb{R}^{n\\times n}$, the matrix $A - A^T$ is **anti-symmetric**." + }, + { + "metadata": { + "_uuid": "63e98eda5728b4f2e92903de5ac143a63bff1988" + }, + "cell_type": "markdown", + "source": "Thus, any square matrix $A \\in \\mathbb{R}^{n\\times n}$ can be represented as a sum of a symmetric matrix and an anti-symmetric matrix:" + }, + { + "metadata": { + "_uuid": "0b576a9e0c31f5d6abfd7acd8e6bffe9a5b8fa46" + }, + "cell_type": "markdown", + "source": "$A = \\frac{1}{2} (A + A^T) + \\frac{1}{2} (A - A^T)$" + }, + { + "metadata": { + "_uuid": "a30d35c4e2f7dc510ab9bfdad0f95ddb331b0867" + }, + "cell_type": "markdown", + "source": "The first matrix on the right, i.e. $\\frac{1}{2} (A + A^T)$ is symmetric. The second matrix $\\frac{1}{2} (A - A^T)$ is anti-symmetric." + }, + { + "metadata": { + "_uuid": "ece2bb90cbe7266a0868c7aef3ebc69a2d4a87c6" + }, + "cell_type": "markdown", + "source": "$\\mathbb{S}^n$ is the set of all symmetric matrices of size $n$." + }, + { + "metadata": { + "_uuid": "65a01f8617d8963563fafe08a2eb7d727b747de1" + }, + "cell_type": "markdown", + "source": "$A \\in \\mathbb{S}^n$ means that $A$ is symmetric and of the size $n\\times n$." + }, + { + "metadata": { + "trusted": true, + "_uuid": "da549cc6ddac83b5b2efd28b6ae0e1f815ab1c19" + }, + "cell_type": "code", + "source": "def symmetrize(a):\n return a + a.T - np.diag(a.diagonal())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "7235e112847df07b62aa44828194c8f6def7527c" + }, + "cell_type": "code", + "source": "a = np.array([[1, 2], [3, 4]])\nprint(symmetrize(a))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "428183208acf9df58cd241a7cd0ede7e17baf3d1" + }, + "cell_type": "markdown", + "source": "
\n## 9-The Trace" + }, + { + "metadata": { + "_uuid": "65c8dc82a48027fe563390588cd7afded770124c" + }, + "cell_type": "markdown", + "source": "The **trace** of a square matrix $A \\in \\mathbb{R}^{n\\times n}$ is $tr(A)$ (or $trA$) is the sum of the diagonal elements in the matrix:" + }, + { + "metadata": { + "_uuid": "54a2ebb1d5b8770df521a93140944bade3e59f58" + }, + "cell_type": "markdown", + "source": "$trA = \\sum_{i=1}^n A_{ii}$" + }, + { + "metadata": { + "_uuid": "5fa504cae78b2e61af20508a743c59b73de808a4" + }, + "cell_type": "markdown", + "source": "Properties of the **trace**:" + }, + { + "metadata": { + "_uuid": "714ef0b38ed9ed3d965403e1a723e14755ae3578" + }, + "cell_type": "markdown", + "source": "- For $A \\in \\mathbb{R}^{n\\times n}$, $\\mathrm{tr}A = \\mathrm{tr}A^T$\n- For $A,B \\in \\mathbb{R}^{n\\times n}$, $\\mathrm{tr}(A + B) = \\mathrm{tr}A + \\mathrm{tr}B$\n- For $A \\in \\mathbb{R}^{n\\times n}$, $t \\in \\mathbb{R}$, $\\mathrm{tr}(tA) = t \\mathrm{tr}A$\n- For $A,B$ such that $AB$ is square, $\\mathrm{tr}AB = \\mathrm{tr}BA$\n- For $A,B,C$ such that $ABC$ is square, $\\mathrm{tr}ABC = \\mathrm{tr}BCA = \\mathrm{tr}CAB$, and so on for the product of more matrices.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "17f061ccf8620270700b566eea8e41b70f215960", + "trusted": true + }, + "cell_type": "code", + "source": "a = np.arange(8).reshape((2,2,2))\nnp.trace(a)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "03ec16794b2e1b2c5204eb5da7e03769fac509bf" + }, + "cell_type": "code", + "source": "print(np.trace(matrix1))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "e4c042172e851dc79b63674dba2751f3b742fff7" + }, + "cell_type": "code", + "source": "det = np.linalg.det(matrix1)\nprint(det)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "94dd4ec936f746f76064c24599ba47f53fa4f9dc" + }, + "cell_type": "code", + "source": "a = np.array([[1, 2], [3, 4]])\na", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "38279e3a50d446c93bdb7f4c40dc0b240bfb2ad8" + }, + "cell_type": "code", + "source": "\na.transpose()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0b5536a2d51d252ff8ed7c972f407c1669fac6ab" + }, + "cell_type": "markdown", + "source": "
\n# 10- Norms\na norm is a function that assigns a strictly positive length or size to each vector in a vector space—except for the zero vector, which is assigned a length of zero. A **seminorm**, on the other hand, is allowed to assign zero length to some non-zero vectors (in addition to the zero vector).\n\n
" + }, + { + "metadata": { + "_uuid": "10c44bf3423731f3e86e0991445262aa370f84f9" + }, + "cell_type": "markdown", + "source": "The **norm** of a vector $x$ is $\\| x\\|$, informally the length of a vector." + }, + { + "metadata": { + "_uuid": "24a7de6bf2eca7bb43c39bb7c29b1e95a55be60d" + }, + "cell_type": "markdown", + "source": "Example: the Euclidean or $\\mathscr{l}_2$ norm:" + }, + { + "metadata": { + "_uuid": "5769f3e4578c931424802b0477d461186d38d7c9" + }, + "cell_type": "markdown", + "source": "$\\|x\\|_2 = \\sqrt{\\sum_{i=1}^n{x_i^2}}$" + }, + { + "metadata": { + "_uuid": "3a22383b644d3ecb03b2e1612e4a81e42d801198" + }, + "cell_type": "markdown", + "source": "Note: $\\|x\\|_2^2 = x^T x$" + }, + { + "metadata": { + "_uuid": "31936574afd9f877b78437741644f02360712dbf" + }, + "cell_type": "markdown", + "source": "A **norm** is any function $f : \\mathbb{R}^n \\rightarrow \\mathbb{R}$ that satisfies the following properties:" + }, + { + "metadata": { + "_uuid": "92ee01878823a54687233df4f81ad557c4b8d0f5" + }, + "cell_type": "markdown", + "source": "- For all $x \\in \\mathbb{R}^n$, $f(x) \\geq 0$ (non-negativity)\n- $f(x) = 0$ if and only if $x = 0$ (definiteness)\n- For all $x \\in \\mathbb{R}^n$, $t \\in \\mathbb{R}$, $f(tx) = |t|\\ f(x)$ (homogeneity)\n- For all $x, y \\in \\mathbb{R}^n$, $f(x + y) \\leq f(x) + f(y)$ (triangle inequality)" + }, + { + "metadata": { + "_uuid": "9d7f1f14c48ede7d070853d10d87f953c2e96363" + }, + "cell_type": "markdown", + "source": "Norm $\\mathscr{l}_1$:" + }, + { + "metadata": { + "_uuid": "d344bdc1023e51db2d40c70fc3517482ba8498c3" + }, + "cell_type": "markdown", + "source": "$\\|x\\|_1 = \\sum_{i=1}^n{|x_i|}$" + }, + { + "metadata": { + "_uuid": "b7f49b2eae1d711613d9c2376cbbc882432cf8cf" + }, + "cell_type": "markdown", + "source": "How to calculate norm in python? **it is so easy**\n###### [Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "d8232fcb5a3b7ef9f9dab45d8d964046c584da11" + }, + "cell_type": "code", + "source": "v = np.array([1,2,3,4])\nnorm.median(v)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "42d54d284146a24f5eeedffa8c53ed870359b08d" + }, + "cell_type": "markdown", + "source": "
\n# 11- Linear Independence and Rank" + }, + { + "metadata": { + "_uuid": "1b1e657d8254ffeb8d935ab3aa78d2818b6b2783" + }, + "cell_type": "markdown", + "source": "A set of vectors $\\{x_1, x_2, \\dots{}, x_n\\} \\subset \\mathbb{R}^m$ is said to be **(linearly) independent** if no vector can be represented as a linear combination of the remaining vectors." + }, + { + "metadata": { + "_uuid": "81303a8c87b6b3d06c670cb256a9cb8f5cd5d7d1" + }, + "cell_type": "markdown", + "source": "A set of vectors $\\{x_1, x_2, \\dots{}, x_n\\} \\subset \\mathbb{R}^m$ is said to be **(lineraly) dependent** if one vector from this set can be represented as a linear combination of the remaining vectors." + }, + { + "metadata": { + "_uuid": "b4c86e0d8f2a3e0577f826ef9c7c003d33fe8644" + }, + "cell_type": "markdown", + "source": "For some scalar values $\\alpha_1, \\dots{}, \\alpha_{n-1} \\in \\mathbb{R}$ the vectors $x_1, \\dots{}, x_n$ are linerly dependent, if:" + }, + { + "metadata": { + "_uuid": "2f069efddfa24291e1332122b0f90e1f1535c969" + }, + "cell_type": "markdown", + "source": "$\\begin{equation}\nx_n = \\sum_{i=1}^{n-1}{\\alpha_i x_i}\n\\end{equation}$" + }, + { + "metadata": { + "_uuid": "073368cbbc7baf69fed982710410ea8230cf7a39" + }, + "cell_type": "markdown", + "source": "Example: The following vectors are lineraly dependent, because $x_3 = -2 x_1 + x_2$" + }, + { + "metadata": { + "_uuid": "7b32ded623b0ec47af882f547c2b2747815ebea3" + }, + "cell_type": "markdown", + "source": "$x_1 = \\begin{bmatrix}\n 1 \\\\[0.3em]\n 2 \\\\[0.3em]\n 3 \n\\end{bmatrix}\n\\quad\nx_2 = \\begin{bmatrix}\n 4 \\\\[0.3em]\n 1 \\\\[0.3em]\n 5 \n\\end{bmatrix}\n\\quad\nx_3 = \\begin{bmatrix}\n 2 \\\\[0.3em]\n -1 \\\\[0.3em]\n -1 \n\\end{bmatrix}\n$" + }, + { + "metadata": { + "trusted": true, + "_uuid": "99bc735946faf655e15a2065eb81b0e1db9c8565" + }, + "cell_type": "code", + "source": "#How to find linearly independent rows from a matrix\nmatrix = np.array(\n [\n [0, 1 ,0 ,0],\n [0, 0, 1, 0],\n [0, 1, 1, 0],\n [1, 0, 0, 1]\n ])\n\nlambdas, V = np.linalg.eig(matrix.T)\n# The linearly dependent row vectors \nprint (matrix[lambdas == 0,:])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "90c9bd9faf3ba0c6e8299f5c1e2495ab804a9105" + }, + "cell_type": "markdown", + "source": "
\n## 11-1 Column Rank of a Matrix" + }, + { + "metadata": { + "_uuid": "21660819816899f2b26e88d8d319bf0af58d3ef1" + }, + "cell_type": "markdown", + "source": "The **column rank** of a matrix $A \\in \\mathbb{R}^{m\\times n}$ is the size of the largest subset of columns of $A$ that constitute a linear independent set. Informaly this is the number of linearly independent columns of $A$.\n###### [Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "ef5541fb1f7692355e70bbcc800c74f47c9f95d2" + }, + "cell_type": "code", + "source": "A = np.matrix([[1,3,7],[2,8,3],[7,8,1]])\nnp.linalg.matrix_rank(A)\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "dcff4b478122890347543009f6c5ff1436421329" + }, + "cell_type": "code", + "source": "from numpy.linalg import matrix_rank\nmatrix_rank(np.eye(4)) # Full rank matrix", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "1eddc2cfdd480bb75087f4d9679c36c958d81deb" + }, + "cell_type": "code", + "source": "I=np.eye(4); I[-1,-1] = 0. # rank deficient matrix\nmatrix_rank(I)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "a9af3a1e842489fbdeb97b1bc302aa67002a305b" + }, + "cell_type": "code", + "source": "matrix_rank(np.ones((4,))) # 1 dimension - rank 1 unless all 0", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "0861b70a539288a3f6e870007d8838704f32a867" + }, + "cell_type": "code", + "source": "matrix_rank(np.zeros((4,)))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "54eb416e6d3bf9e9aee63eb8b2dda5e935e65de9" + }, + "cell_type": "markdown", + "source": "
\n## 11-2 Row Rank of a Matrix" + }, + { + "metadata": { + "_uuid": "182d15eb4de63f174665159e1ba83fd181832a41" + }, + "cell_type": "markdown", + "source": "The **row rank** of a matrix $A \\in \\mathbb{R}^{m\\times n}$ is the largest number of rows of $A$ that constitute a lineraly independent set." + }, + { + "metadata": { + "_uuid": "134604c79595d4a945d8381fff3a999ba58b1f24" + }, + "cell_type": "markdown", + "source": "
\n## 11-3 Rank of a Matrix" + }, + { + "metadata": { + "_uuid": "6beff646fa29df47149aa8c55181a6a47ae6ee21" + }, + "cell_type": "markdown", + "source": "For any matrix $A \\in \\mathbb{R}^{m\\times n}$, the column rank of $A$ is equal to the row rank of $A$. Both quantities are referred to collectively as the rank of $A$, denoted as $rank(A)$. Here are some basic properties of the rank:\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "e3ecf29883a4d9026e917936f80e9667981e0bdb" + }, + "cell_type": "markdown", + "source": "- For $A \\in \\mathbb{R}^{m\\times n}$, $rank(A) \\leq \\min(m, n)$. If $rank(A) = \\min(m, n)$, then $A$ is said to be\n**full rank**.\n- For $A \\in \\mathbb{R}^{m\\times n}$, $rank(A) = rank(A^T)$\n- For $A \\in \\mathbb{R}^{m\\times n}$, $B \\in \\mathbb{R}^{n\\times p}$, $rank(AB) \\leq \\min(rank(A), rank(B))$\n- For $A,B \\in \\mathbb{R}^{m\\times n}$, $rank(A + B) \\leq rank(A) + rank(B)$" + }, + { + "metadata": { + "trusted": true, + "_uuid": "4be1b2f049562a6183b0c4cec1216f3eb0d306b3" + }, + "cell_type": "code", + "source": "from numpy.linalg import matrix_rank\nprint(matrix_rank(np.eye(4))) # Full rank matrix\nI=np.eye(4); I[-1,-1] = 0. # rank deficient matrix\nprint(matrix_rank(I))\nprint(matrix_rank(np.ones((4,)))) # 1 dimension - rank 1 unless all 0\nprint (matrix_rank(np.zeros((4,))))\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e3cf40ea16ea61ebd53a5b56d1ecccf3ebfeba50" + }, + "cell_type": "markdown", + "source": "
\n# 12- Subtraction and Addition of Metrices" + }, + { + "metadata": { + "_uuid": "a1849019d67f882bfafb7650be73b682b1a9927f" + }, + "cell_type": "markdown", + "source": "Assume $A \\in \\mathbb{R}^{m\\times n}$ and $B \\in \\mathbb{R}^{m\\times n}$, that is $A$ and $B$ are of the same size, to add $A$ to $B$, or to subtract $B$ from $A$, we add or subtract corresponding entries:" + }, + { + "metadata": { + "_uuid": "c85f1a6e4bfacef8def2a18b66bd2d23178ff9d6" + }, + "cell_type": "markdown", + "source": "$A + B =\n\\begin{bmatrix}\n a_{11} & a_{12} & \\cdots & a_{1n} \\\\[0.3em]\n a_{21} & a_{22} & \\cdots & a_{2n} \\\\[0.3em]\n \\vdots & \\vdots & \\ddots & \\vdots \\\\[0.3em]\n a_{m1} & a_{m2} & \\cdots & a_{mn}\n\\end{bmatrix} +\n\\begin{bmatrix}\n b_{11} & b_{12} & \\cdots & b_{1n} \\\\[0.3em]\n b_{21} & b_{22} & \\cdots & b_{2n} \\\\[0.3em]\n \\vdots & \\vdots & \\ddots & \\vdots \\\\[0.3em]\n b_{m1} & b_{m2} & \\cdots & b_{mn}\n\\end{bmatrix} =\n\\begin{bmatrix}\n a_{11} + b_{11} & a_{12} + b_{12} & \\cdots & a_{1n} + b_{1n} \\\\[0.3em]\n a_{21} + b_{21} & a_{22} + b_{22} & \\cdots & a_{2n} + b_{2n} \\\\[0.3em]\n \\vdots & \\vdots & \\ddots & \\vdots \\\\[0.3em]\n a_{m1} + b_{m1} & a_{m2} + b_{m2} & \\cdots & a_{mn} + b_{mn}\n\\end{bmatrix}\n$" + }, + { + "metadata": { + "_uuid": "ab774c9519a58113a305fb800ac761d7a2b8a7f2" + }, + "cell_type": "markdown", + "source": "The same is applies to subtraction:" + }, + { + "metadata": { + "_uuid": "fe301f7d29c3c1d88cb28ea80365146ce252b571" + }, + "cell_type": "markdown", + "source": "$A - B =\n\\begin{bmatrix}\n a_{11} & a_{12} & \\cdots & a_{1n} \\\\[0.3em]\n a_{21} & a_{22} & \\cdots & a_{2n} \\\\[0.3em]\n \\vdots & \\vdots & \\ddots & \\vdots \\\\[0.3em]\n a_{m1} & a_{m2} & \\cdots & a_{mn}\n\\end{bmatrix} -\n\\begin{bmatrix}\n b_{11} & b_{12} & \\cdots & b_{1n} \\\\[0.3em]\n b_{21} & b_{22} & \\cdots & b_{2n} \\\\[0.3em]\n \\vdots & \\vdots & \\ddots & \\vdots \\\\[0.3em]\n b_{m1} & b_{m2} & \\cdots & b_{mn}\n\\end{bmatrix} =\n\\begin{bmatrix}\n a_{11} - b_{11} & a_{12} - b_{12} & \\cdots & a_{1n} - b_{1n} \\\\[0.3em]\n a_{21} - b_{21} & a_{22} - b_{22} & \\cdots & a_{2n} - b_{2n} \\\\[0.3em]\n \\vdots & \\vdots & \\ddots & \\vdots \\\\[0.3em]\n a_{m1} - b_{m1} & a_{m2} - b_{m2} & \\cdots & a_{mn} - b_{mn}\n\\end{bmatrix}\n$" + }, + { + "metadata": { + "_uuid": "1203e8ce060702741dac72fa1ba8db01430d0e2a" + }, + "cell_type": "markdown", + "source": "In Python using *numpy* this can be achieved using the following code:" + }, + { + "metadata": { + "_uuid": "fa3526c6b6308ae79ab322ff12e6e21e45761e8a", + "trusted": true + }, + "cell_type": "code", + "source": "import numpy as np\nprint(\"np.arange(9):\", np.arange(9))\nprint(\"np.arange(9, 18):\", np.arange(9, 18))\nA = np.arange(9, 18).reshape((3, 3))\nB = np.arange(9).reshape((3, 3))\nprint(\"A:\", A)\nprint(\"B:\", B)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0653012e78bb393232bd317d056e46ed6a96df64" + }, + "cell_type": "markdown", + "source": "The *numpy* function *arange* is similar to the standard Python function *range*. It returns an array with $n$ elements, specified in the one parameter version only. If we provide to parameters to *arange*, it generates an array starting from the value of the first parameter and ending with a value one less than the second parameter. The function *reshape* returns us a matrix with the corresponding number of rows and columns." + }, + { + "metadata": { + "_uuid": "2c2f223e42500cdc89887cf0c9c3a5bb2fd2497c" + }, + "cell_type": "markdown", + "source": "We can now add and subtract the two matrices $A$ and $B$:" + }, + { + "metadata": { + "_uuid": "3882778eea130a7cc3fd3e32d66177e6d5715223", + "trusted": true + }, + "cell_type": "code", + "source": "A + B", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "00e586d7bdee0508f12ec92f4742994813ce0f79", + "trusted": true + }, + "cell_type": "code", + "source": "A - B", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "94127d106aa8e05925e99e5f6c0a70f2c860af39" + }, + "cell_type": "markdown", + "source": "
\n## 12-1 Inverse" + }, + { + "metadata": { + "_uuid": "0f12955c3ddc3ddd076f4c64b30e50c952536bc9" + }, + "cell_type": "markdown", + "source": "The **inverse** of a square matrix $A \\in \\mathbb{R}^{n\\times n}$ is $A^{-1}$:" + }, + { + "metadata": { + "_uuid": "8dc73e363ae4a93812b6e17fe70ebc135d8ba6b4" + }, + "cell_type": "markdown", + "source": "$A^{-1} A = I = A A^{-1}$" + }, + { + "metadata": { + "_uuid": "18c16a6e9bb49a377274e69d40b514e956fd048f" + }, + "cell_type": "markdown", + "source": "Not all matrices have inverses. Non-square matrices do not have inverses by definition. For some square matrices $A$ the inverse might not exist." + }, + { + "metadata": { + "_uuid": "185dd34140399fd7da8b5e6fcc7eff1d95278cd5" + }, + "cell_type": "markdown", + "source": "$A$ is **invertible** or **non-singular** if $A^{-1}$ exists." + }, + { + "metadata": { + "_uuid": "a4d8f9676deb29e4782f0587649aaf517a03ac57" + }, + "cell_type": "markdown", + "source": "$A$ is **non-invertible** or **singular** if $A^{-1}$ does not exist." + }, + { + "metadata": { + "_uuid": "4c898f96bf3f31393cf4f99a6a36f0d9d1c2281f" + }, + "cell_type": "markdown", + "source": "Note: **non-singular** means the opposite of **non-invertible**!" + }, + { + "metadata": { + "_uuid": "6b73cfa800911706a244586d404f46151e779739" + }, + "cell_type": "markdown", + "source": "For $A$ to have an inverse $A^{-1}$, $A$ must be **full rank**." + }, + { + "metadata": { + "_uuid": "3ef6268b4924d7ea4fa8ba3d223b4088e935d7a1" + }, + "cell_type": "markdown", + "source": "Assuming that $A,B \\in \\mathbb{R}^{n\\times n}$ are non-singular, then:" + }, + { + "metadata": { + "_uuid": "156bdaac9c0ba13b5821690eab42cef6fecaa086" + }, + "cell_type": "markdown", + "source": "- $(A^{-1})^{-1} = A$\n- $(AB)^{-1} = B^{-1} A^{-1}$\n- $(A^{-1})^T = (A^T)^{-1}$ (often simply $A^{-T}$)\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "6d67e21b6e3c3131310b7208bac880550e61ad03" + }, + "cell_type": "markdown", + "source": "
\n## 13- Orthogonal Matrices" + }, + { + "metadata": { + "_uuid": "b6fe01ce3f3ab34bc1af7161a4cc26888bafbccc" + }, + "cell_type": "markdown", + "source": "Two vectors $x, y \\in \\mathbb{R}^n$ are **orthogonal** if $x^T y = 0$." + }, + { + "metadata": { + "_uuid": "0da38648b240fb48345c46ebbd929d5b52de2649" + }, + "cell_type": "markdown", + "source": "A vector $x \\in \\mathbb{R}^n$ is **normalized** if $\\|x\\|^2 = 1$." + }, + { + "metadata": { + "_uuid": "285dac0071b9f07b4cf6eb6801ba66438eba1973" + }, + "cell_type": "markdown", + "source": "A square matrix $U \\in \\mathbb{R}^{n\\times n}$ is **orthogonal** if all its columns are orthogonal to each other and are **normalized**. The columns are then referred to as being **orthonormal**." + }, + { + "metadata": { + "_uuid": "1f48fa9b729d801ea41c99e9fc7c3836f003feb1" + }, + "cell_type": "markdown", + "source": "It follows immediately from the definition of orthogonality and normality that:" + }, + { + "metadata": { + "_uuid": "d038680211e0a4c8f3973ca6c363989092bcbc28" + }, + "cell_type": "markdown", + "source": "$U^T U = I = U U^T$" + }, + { + "metadata": { + "_uuid": "6d5d88f90103f834392fdc3737b153e24bc7e89f" + }, + "cell_type": "markdown", + "source": "This means that the inverse of an orthogonal matrix is its transpose." + }, + { + "metadata": { + "_uuid": "c6b4807c8fea87560848b8a7304e7f272e14a6cc" + }, + "cell_type": "markdown", + "source": "If U is not square - i.e., $U \\in \\mathbb{R}^{m\\times n}$, $n < m$ - but its columns are still orthonormal, then $U^T U = I$, but $U U^T \\neq I$." + }, + { + "metadata": { + "_uuid": "72ab7604c3c4f7375a5404a92b13a3ecc948db83" + }, + "cell_type": "markdown", + "source": "We generally only use the term orthogonal to describe the case, where $U$ is square." + }, + { + "metadata": { + "_uuid": "abba1ff00658101fff6b4c9c1a227f66f4025d13" + }, + "cell_type": "markdown", + "source": "Another nice property of orthogonal matrices is that operating on a vector with an orthogonal matrix will not change its Euclidean norm. For any $x \\in \\mathbb{R}^n$, $U \\in \\mathbb{R}^{n\\times n}$ orthogonal." + }, + { + "metadata": { + "_uuid": "de6caa369cdbd23a1284111c157ff678cb1253b7" + }, + "cell_type": "markdown", + "source": "$\\|U_x\\|^2 = \\|x\\|^2$" + }, + { + "metadata": { + "trusted": true, + "_uuid": "fca71217a54595fb76f02e9044b3090ea75ffb80", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#How to create random orthonormal matrix in python numpy\ndef rvs(dim=3):\n random_state = np.random\n H = np.eye(dim)\n D = np.ones((dim,))\n for n in range(1, dim):\n x = random_state.normal(size=(dim-n+1,))\n D[n-1] = np.sign(x[0])\n x[0] -= D[n-1]*np.sqrt((x*x).sum())\n # Householder transformation\n Hx = (np.eye(dim-n+1) - 2.*np.outer(x, x)/(x*x).sum())\n mat = np.eye(dim)\n mat[n-1:, n-1:] = Hx\n H = np.dot(H, mat)\n # Fix the last sign such that the determinant is 1\n D[-1] = (-1)**(1-(dim % 2))*D.prod()\n # Equivalent to np.dot(np.diag(D), H) but faster, apparently\n H = (D*H.T).T\n return H", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "84a7cc36920151c3166ad9036173a975077a816e" + }, + "cell_type": "markdown", + "source": "
\n## 14- Range and Nullspace of a Matrix" + }, + { + "metadata": { + "_uuid": "94a0da9d701ebbfd945f4f1d506685a84adf2bd1" + }, + "cell_type": "markdown", + "source": "The **span** of a set of vectors $\\{ x_1, x_2, \\dots{}, x_n\\}$ is the set of all vectors that can be expressed as\na linear combination of $\\{ x_1, \\dots{}, x_n \\}$:" + }, + { + "metadata": { + "_uuid": "383daf5739119f28efaeac95ffaadb43dd9ac053" + }, + "cell_type": "markdown", + "source": "$\\mathrm{span}(\\{ x_1, \\dots{}, x_n \\}) = \\{ v : v = \\sum_{i=1}^n \\alpha_i x_i, \\alpha_i \\in \\mathbb{R} \\}$" + }, + { + "metadata": { + "_uuid": "871ec420d48420bb427fb4de940bf0493161e0bf" + }, + "cell_type": "markdown", + "source": "It can be shown that if $\\{ x_1, \\dots{}, x_n \\}$ is a set of n linearly independent vectors, where each $x_i \\in \\mathbb{R}^n$, then $\\mathrm{span}(\\{ x_1, \\dots{}, x_n\\}) = \\mathbb{R}^n$. That is, any vector $v \\in \\mathbb{R}^n$ can be written as a linear combination of $x_1$ through $x_n$." + }, + { + "metadata": { + "_uuid": "90013aa1d12bb743454daa79b0ca39ec6de659bb" + }, + "cell_type": "markdown", + "source": "The projection of a vector $y \\in \\mathbb{R}^m$ onto the span of $\\{ x_1, \\dots{}, x_n\\}$ (here we assume $x_i \\in \\mathbb{R}^m$) is the vector $v \\in \\mathrm{span}(\\{ x_1, \\dots{}, x_n \\})$, such that $v$ is as close as possible to $y$, as measured by the Euclidean norm $\\|v − y\\|^2$. We denote the projection as $\\mathrm{Proj}(y; \\{ x_1, \\dots{}, x_n \\})$ and can define it formally as:" + }, + { + "metadata": { + "_uuid": "a5a99821ba988bb61e19cbea30d491010b018fa0" + }, + "cell_type": "markdown", + "source": "$\\mathrm{Proj}( y; \\{ x_1, \\dots{}, x_n \\}) = \\mathrm{argmin}_{v\\in \\mathrm{span}(\\{x_1,\\dots{},x_n\\})}\\|y − v\\|^2$" + }, + { + "metadata": { + "_uuid": "5a1f8588277edbd60ae162d5eb75d80477bb5536" + }, + "cell_type": "markdown", + "source": "The **range** (sometimes also called the columnspace) of a matrix $A \\in \\mathbb{R}^{m\\times n}$, denoted $\\mathcal{R}(A)$, is the the span of the columns of $A$. In other words," + }, + { + "metadata": { + "_uuid": "2eed745f252be323178ea38e2a36c679b32e5a20" + }, + "cell_type": "markdown", + "source": "$\\mathcal{R}(A) = \\{ v \\in \\mathbb{R}^m : v = A x, x \\in \\mathbb{R}^n\\}$" + }, + { + "metadata": { + "_uuid": "24c6299fe37bf5c6cc4a6bf032c69a54b1225711" + }, + "cell_type": "markdown", + "source": "Making a few technical assumptions (namely that $A$ is full rank and that $n < m$), the projection of a vector $y \\in \\mathbb{R}^m$ onto the range of $A$ is given by:" + }, + { + "metadata": { + "_uuid": "317752e8f0825aa0467524c54811cb6a91a6a589" + }, + "cell_type": "markdown", + "source": "$\\mathrm{Proj}(y; A) = \\mathrm{argmin}_{v\\in \\mathcal{R}(A)}\\|v − y\\|^2 = A(A^T A)^{−1} A^T y$" + }, + { + "metadata": { + "_uuid": "01cd617db6fe7e3ea6c26740ff2a740896c28d83" + }, + "cell_type": "markdown", + "source": "See for more details in the notes page 13." + }, + { + "metadata": { + "_uuid": "1be3dda0bfa967fabd0e5b79783f79880292264b" + }, + "cell_type": "markdown", + "source": "The **nullspace** of a matrix $A \\in \\mathbb{R}^{m\\times n}$, denoted $\\mathcal{N}(A)$ is the set of all vectors that equal $0$ when multiplied by $A$, i.e.," + }, + { + "metadata": { + "_uuid": "17e8400c92fc8bcfa2ae43b0b486daa39a99ac13" + }, + "cell_type": "markdown", + "source": "$\\mathcal{N}(A) = \\{ x \\in \\mathbb{R}^n : A x = 0 \\}$" + }, + { + "metadata": { + "_uuid": "bc996c4d7033175abf7327a96510d852956271e7" + }, + "cell_type": "markdown", + "source": "Note that vectors in $\\mathcal{R}(A)$ are of size $m$, while vectors in the $\\mathcal{N}(A)$ are of size $n$, so vectors in $\\mathcal{R}(A^T)$ and $\\mathcal{N}(A)$ are both in $\\mathbb{R}^n$. In fact, we can say much more. It turns out that:" + }, + { + "metadata": { + "_uuid": "b6d09d8a84f5d4f386ec4f66e02faa3fe4f8d430" + }, + "cell_type": "markdown", + "source": "$\\{ w : w = u + v, u \\in \\mathcal{R}(A^T), v \\in \\mathcal{N}(A) \\} = \\mathbb{R}^n$ and $\\mathcal{R}(A^T) \\cap \\mathcal{N}(A) = \\{0\\}$" + }, + { + "metadata": { + "_uuid": "d31bfe6323c97b5a80b7d8449599cc44f01b1ff2" + }, + "cell_type": "markdown", + "source": "In other words, $\\mathcal{R}(A^T)$ and $\\mathcal{N}(A)$ are disjoint subsets that together span the entire space of\n$\\mathbb{R}^n$. Sets of this type are called **orthogonal complements**, and we denote this $\\mathcal{R}(A^T) = \\mathcal{N}(A)^\\perp$.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "5168e46a20736d3815f9ac3590ab129b732bee12" + }, + "cell_type": "markdown", + "source": "
\n# 15- Determinant" + }, + { + "metadata": { + "_uuid": "ab428148ca965168e967ead22e9a5d75d0753395" + }, + "cell_type": "markdown", + "source": "The determinant of a square matrix $A \\in \\mathbb{R}^{n\\times n}$, is a function $\\mathrm{det} : \\mathbb{R}^{n\\times n} \\rightarrow \\mathbb{R}$, and is denoted $|A|$ or $\\mathrm{det}A$ (like the trace operator, we usually omit parentheses)." + }, + { + "metadata": { + "_uuid": "8d506220cb4188a91add70aef133f099546c5b52" + }, + "cell_type": "markdown", + "source": "
\n## 15-1 A geometric interpretation of the determinant" + }, + { + "metadata": { + "_uuid": "9f283379fba7f2500ed5c872aefa9bca9b8e96e4" + }, + "cell_type": "markdown", + "source": "Given" + }, + { + "metadata": { + "_uuid": "c7b9813ca4bc5a0def37c4023f4411736f3a56f6" + }, + "cell_type": "markdown", + "source": "$\\begin{bmatrix}\n -- & a_1^T & -- \\\\[0.3em]\n -- & a_2^T & -- \\\\[0.3em]\n & \\vdots & \\\\[0.3em]\n -- & a_n^T & -- \n\\end{bmatrix}$" + }, + { + "metadata": { + "_uuid": "eb5b19546fdb0385acecb393b738751993cc233e" + }, + "cell_type": "markdown", + "source": "consider the set of points $S \\subset \\mathbb{R}^n$ formed by taking all possible linear combinations of the row vectors $a_1, \\dots{}, a_n \\in \\mathbb{R}^n$ of $A$, where the coefficients of the linear combination are all\nbetween $0$ and $1$; that is, the set $S$ is the restriction of $\\mathrm{span}( \\{ a_1, \\dots{}, a_n \\})$ to only those linear combinations whose coefficients $\\alpha_1, \\dots{}, \\alpha_n$ satisfy $0 \\leq \\alpha_i \\leq 1$, $i = 1, \\dots{}, n$. Formally:" + }, + { + "metadata": { + "_uuid": "5472ba1f4030a4269cf126aa25e2380e0423df7e" + }, + "cell_type": "markdown", + "source": "$S = \\{v \\in \\mathbb{R}^n : v = \\sum_{i=1}^n \\alpha_i a_i \\mbox{ where } 0 \\leq \\alpha_i \\leq 1, i = 1, \\dots{}, n \\}$" + }, + { + "metadata": { + "_uuid": "c50a0db43e5b89a727bc197ae5ba8cbebb01d7f2" + }, + "cell_type": "markdown", + "source": "The absolute value of the determinant of $A$, it turns out, is a measure of the *volume* of the set $S$. The volume here is intuitively for example for $n = 2$ the area of $S$ in the Cartesian plane, or with $n = 3$ it is the common understanding of *volume* for 3-dimensional objects." + }, + { + "metadata": { + "_uuid": "c0f6744d8f272e3003d102375db1324a79e0fab2" + }, + "cell_type": "markdown", + "source": "Example:" + }, + { + "metadata": { + "_uuid": "a0a147d45a64ba1993de8ba8fe174926855bd107" + }, + "cell_type": "markdown", + "source": "$A = \\begin{bmatrix}\n 1 & 3 & 4\\\\[0.3em]\n 3 & 2 & 1\\\\[0.3em]\n 3 & 2 & 1\n\\end{bmatrix}$" + }, + { + "metadata": { + "_uuid": "24a2eeb6ef0d65aceb11fcc075b1704dbc93adfe" + }, + "cell_type": "markdown", + "source": "The rows of the matrix are:" + }, + { + "metadata": { + "_uuid": "58f2dda1e93a143213f0c042ff45e50531dacb69" + }, + "cell_type": "markdown", + "source": "$a_1 = \\begin{bmatrix}\n 1 \\\\[0.3em]\n 3 \\\\[0.3em]\n 3\n\\end{bmatrix}\n\\quad\na_2 = \\begin{bmatrix}\n 3 \\\\[0.3em]\n 2 \\\\[0.3em]\n 2\n\\end{bmatrix}\n\\quad\na_3 = \\begin{bmatrix}\n 4 \\\\[0.3em]\n 1 \\\\[0.3em]\n 1\n\\end{bmatrix}$" + }, + { + "metadata": { + "_uuid": "7a98353ba7d834e4e5eff9e4d47d566dd5c3bcf7" + }, + "cell_type": "markdown", + "source": "The set S corresponding to these rows is shown in:" + }, + { + "metadata": { + "_uuid": "b79f0b59db034dc4cae82baa909c1ecea465edde" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "22905f0fbe47a3faa1ee412af8d826b7d8e866c2" + }, + "cell_type": "markdown", + "source": "The figure above is an illustration of the determinant for the $2\\times 2$ matrix $A$ above. Here, $a_1$ and $a_2$\nare vectors corresponding to the rows of $A$, and the set $S$ corresponds to the shaded region (i.e., the parallelogram). The absolute value of the determinant, $|\\mathrm{det}A| = 7$, is the area of the parallelogram." + }, + { + "metadata": { + "_uuid": "3b5673d481c010c12a8d18bdca300a8edb0574ec" + }, + "cell_type": "markdown", + "source": "For two-dimensional matrices, $S$ generally has the shape of a parallelogram. In our example, the value of the determinant is $|A| = −7$ (as can be computed using the formulas shown later), so the area of the parallelogram is $7$." + }, + { + "metadata": { + "_uuid": "b3ee3e58537abad231076fa6dcad1f3abd68069e" + }, + "cell_type": "markdown", + "source": "In three dimensions, the set $S$ corresponds to an object known as a parallelepiped (a three-dimensional box with skewed sides, such that every face has the shape of a parallelogram). The absolute value of the determinant of the $3 \\times 3$ matrix whose rows define $S$ give the three-dimensional volume of the parallelepiped. In even higher dimensions, the set $S$ is an object known as an $n$-dimensional parallelotope." + }, + { + "metadata": { + "_uuid": "fde7372d4a93c088021b1b88ac7735898423d6fa" + }, + "cell_type": "markdown", + "source": "Algebraically, the determinant satisfies the following three properties (from which all other properties follow, including the general formula):" + }, + { + "metadata": { + "_uuid": "23fcae64aa37ed84a6623d4bbd4d3827bb4de479" + }, + "cell_type": "markdown", + "source": "- The determinant of the identity is $1$, $|I| = 1$. (Geometrically, the volume of a unit hypercube is $1$).\n- Given a matrix $A \\in \\mathbb{R}^{n\\times n}$, if we multiply a single row in $A$ by a scalar $t \\in \\mathbb{R}$, then the determinant of the new matrix is $t|A|$,
\n$\\left| \\begin{bmatrix}\n -- & t a_1^T & -- \\\\[0.3em]\n -- & a_2^T & -- \\\\[0.3em]\n & \\vdots & \\\\[0.3em]\n -- & a_m^T & -- \n\\end{bmatrix}\\right| = t|A|$
\n(Geometrically, multiplying one of the sides of the set $S$ by a factor $t$ causes the volume\nto increase by a factor $t$.)\n- If we exchange any two rows $a^T_i$ and $a^T_j$ of $A$, then the determinant of the new matrix is $−|A|$, for example
\n$\\left| \\begin{bmatrix}\n -- & a_2^T & -- \\\\[0.3em]\n -- & a_1^T & -- \\\\[0.3em]\n & \\vdots & \\\\[0.3em]\n -- & a_m^T & -- \n\\end{bmatrix}\\right| = -|A|$" + }, + { + "metadata": { + "_uuid": "53377e062ad34710a752ba01c2ad9b29e7a7acc1" + }, + "cell_type": "markdown", + "source": "Several properties that follow from the three properties above include:" + }, + { + "metadata": { + "_uuid": "adc1e33df4ba57d017b0d15b92dbed95411d0dd0" + }, + "cell_type": "markdown", + "source": "- For $A \\in \\mathbb{R}^{n\\times n}$, $|A| = |A^T|$\n- For $A,B \\in \\mathbb{R}^{n\\times n}$, $|AB| = |A||B|$\n- For $A \\in \\mathbb{R}^{n\\times n}$, $|A| = 0$ if and only if $A$ is singular (i.e., non-invertible). (If $A$ is singular then it does not have full rank, and hence its columns are linearly dependent. In this case, the set $S$ corresponds to a \"flat sheet\" within the $n$-dimensional space and hence has zero volume.)\n- For $A \\in \\mathbb{R}^{n\\times n}$ and $A$ non-singular, $|A−1| = 1/|A|$\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "b678c186a46e54adda4b3621e17d6b10a01b5104" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "c03b0d7f8c0409ac026d6c7274cfaf95b572a26c" + }, + "cell_type": "markdown", + "source": "
\n# 16- Tensors" + }, + { + "metadata": { + "_uuid": "baf22e2a7f0a839a26df2a17815b6f2867dc7c15" + }, + "cell_type": "markdown", + "source": "A [**tensor**](https://en.wikipedia.org/wiki/Tensor) could be thought of as an organized multidimensional array of numerical values. A vector could be assumed to be a sub-class of a tensor. Rows of tensors extend alone the y-axis, columns along the x-axis. The **rank** of a scalar is 0, the rank of a **vector** is 1, the rank of a **matrix** is 2, the rank of a **tensor** is 3 or higher.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "3bb2dbff06ab25e05e379d45b5f529c94d2bf6aa", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "A = tf.Variable(np.zeros((5, 5), dtype=np.float32), trainable=False)\nnew_part = tf.ones((2,3))\nupdate_A = A[2:4,2:5].assign(new_part)\nsess = tf.InteractiveSession()\ntf.global_variables_initializer().run()\nprint(update_A.eval())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9585bfae0dd3cd9de762cf8d5ffb801a2b24dc08" + }, + "cell_type": "markdown", + "source": "
\n# 17- Hyperplane" + }, + { + "metadata": { + "_uuid": "e689830f047dd755c68f83b0a4747928eb70c044" + }, + "cell_type": "markdown", + "source": "The **hyperplane** is a sub-space in the ambient space with one dimension less. In a two-dimensional space the hyperplane is a line, in a three-dimensional space it is a two-dimensional plane, etc." + }, + { + "metadata": { + "_uuid": "2f4ff05c6a2421c9e41d326d29970ff6be1b3695" + }, + "cell_type": "markdown", + "source": "Hyperplanes divide an $n$-dimensional space into sub-spaces that might represent clases in a machine learning algorithm." + }, + { + "metadata": { + "trusted": true, + "_uuid": "43691809c6e28187520e3fce5fe89007dbda1166", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.random.seed(0)\nX = np.r_[np.random.randn(20, 2) - [2, 2], np.random.randn(20, 2) + [2, 2]]\nY = [0] * 20 + [1] * 20\n\nfig, ax = plt.subplots()\nclf2 = svm.LinearSVC(C=1).fit(X, Y)\n\n# get the separating hyperplane\nw = clf2.coef_[0]\na = -w[0] / w[1]\nxx = np.linspace(-5, 5)\nyy = a * xx - (clf2.intercept_[0]) / w[1]\n\n# create a mesh to plot in\nx_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1\ny_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1\nxx2, yy2 = np.meshgrid(np.arange(x_min, x_max, .2),\n np.arange(y_min, y_max, .2))\nZ = clf2.predict(np.c_[xx2.ravel(), yy2.ravel()])\n\nZ = Z.reshape(xx2.shape)\nax.contourf(xx2, yy2, Z, cmap=plt.cm.coolwarm, alpha=0.3)\nax.scatter(X[:, 0], X[:, 1], c=Y, cmap=plt.cm.coolwarm, s=25)\nax.plot(xx,yy)\n\nax.axis([x_min, x_max,y_min, y_max])\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4b488bdb25f40572d2493b54b3a60bfbaa4b0f5a" + }, + "cell_type": "markdown", + "source": "
\n## 20- Exercises\nlet's do some exercise." + }, + { + "metadata": { + "trusted": true, + "_uuid": "73919bc844e32ce2015c4d1bebffcc41563dd854", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Students may (probably should) ignore this code. It is just here to make pretty arrows.\n\ndef plot_vectors(vs):\n \"\"\"Plot vectors in vs assuming origin at (0,0).\"\"\"\n n = len(vs)\n X, Y = np.zeros((n, 2))\n U, V = np.vstack(vs).T\n plt.quiver(X, Y, U, V, range(n), angles='xy', scale_units='xy', scale=1)\n xmin, xmax = np.min([U, X]), np.max([U, X])\n ymin, ymax = np.min([V, Y]), np.max([V, Y])\n xrng = xmax - xmin\n yrng = ymax - ymin\n xmin -= 0.05*xrng\n xmax += 0.05*xrng\n ymin -= 0.05*yrng\n ymax += 0.05*yrng\n plt.axis([xmin, xmax, ymin, ymax])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "793dd7f954e8c85d121d50c7e729cb4890c146aa", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# Again, this code is not intended as a coding example.\n\na1 = np.array([3,0]) # axis\na2 = np.array([0,3])\n\nplt.figure(figsize=(8,4))\nplt.subplot(1,2,1)\nplot_vectors([a1, a2])\nv1 = np.array([2,3])\nplot_vectors([a1,v1])\nplt.text(2,3,\"(2,3)\",fontsize=16)\nplt.tight_layout()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "3bf8f22bf0e5854d91f4b90469be693c2334974c", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#Matrices, Transformations and Geometric Interpretation\na1 = np.array([7,0]) # axis\na2 = np.array([0,5])\n\nA = np.array([[2,1],[1,1]]) # transformation f in standard basis\nv2 =np.dot(A,v1)\nplt.figure(figsize=(8,8))\nplot_vectors([a1, a2])\nv1 = np.array([2,3])\nplot_vectors([v1,v2])\nplt.text(2,3,\"v1 =(2,3)\",fontsize=16)\nplt.text(6,5,\"Av1 = \", fontsize=16)\nplt.text(v2[0],v2[1],\"(7,5)\",fontsize=16)\nprint(v2[1])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "c63ccda879138dfa233d469b4e64fbc1cb416098", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#Change to a Different Basis\ne1 = np.array([1,0])\ne2 = np.array([0,1])\nB = np.array([[1,4],[3,1]])\nplt.figure(figsize=(8,4))\nplt.subplot(1,2,1)\nplot_vectors([e1, e2])\nplt.subplot(1,2,2)\nplot_vectors([B.dot(e1), B.dot(e2)])\nplt.Circle((0,0),2)\n#plt.show()\n#plt.tight_layout()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "bff969c3b5fa1e67a13b77371f4c0b886ff58227", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "#Inner Products \ne1 = np.array([1,0])\ne2 = np.array([0,1])\nA = np.array([[2,3],[3,1]])\nv1=A.dot(e1)\nv2=A.dot(e2)\nplt.figure(figsize=(8,4))\nplt.subplot(1,2,1)\nplot_vectors([e1, e2])\nplt.subplot(1,2,2)\nplot_vectors([v1,v2])\nplt.tight_layout()\n#help(plt.Circle)\nplt.Circle(np.array([0,0]),radius=1)\nplt.Circle.draw", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "36cbcb44b52b40e45aec34bac0b632183a09460a", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# using sqrt() to print the square root of matrix \nprint (\"The element wise square root is : \") \nprint (np.sqrt(x)) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "afc2a360fedd783e5e9d7bbc975c9c6f06a2ee72" + }, + "cell_type": "markdown", + "source": "
\n# 21-Conclusion\nIf you have made this far – give yourself a pat at the back. We have covered different aspects of **Linear algebra** in this Kernel. You are now finishing the **third step** of the course to continue, return to the [**main page**](https://www.kaggle.com/mjbahmani/10-steps-to-become-a-data-scientist/) of the course. \n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "b132163ee07917a0ab100b93f6ed5545ce0de45d" + }, + "cell_type": "markdown", + "source": "you can follow me on:\n> ###### [ GitHub](https://github.com/mjbahmani/)\n> ###### [Kaggle](https://www.kaggle.com/mjbahmani/)\n\n I hope you find this kernel helpful and some UPVOTES would be very much appreciated.\n " + }, + { + "metadata": { + "_uuid": "5719a5ba111b65b20b53d538281ac773eb14471a" + }, + "cell_type": "markdown", + "source": "
\n# 22-References" + }, + { + "metadata": { + "_uuid": "aab5b3d8cb417250dc6baa081a579106900effba" + }, + "cell_type": "markdown", + "source": "1. [Linear Algbra1](https://github.com/dcavar/python-tutorial-for-ipython)\n1. [Linear Algbra2](https://www.oreilly.com/library/view/data-science-from/9781491901410/ch04.html)\n1. [GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n" + }, + { + "metadata": { + "_uuid": "f7d48149556ffed79e79cebf8aa53ca747b25b6e" + }, + "cell_type": "markdown", + "source": ">###### If you have read the notebook, you can follow next steps: [**Course Home Page**](https://www.kaggle.com/mjbahmani/10-steps-to-become-a-data-scientist)" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/Pyris/20 ML Algorithms from start to Finish for Iris.ipynb b/Pyris/20 ML Algorithms from start to Finish for Iris.ipynb new file mode 100644 index 0000000..cf2cbac --- /dev/null +++ b/Pyris/20 ML Algorithms from start to Finish for Iris.ipynb @@ -0,0 +1,1819 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "cell_type": "markdown", + "source": "##
20 ML Algorithms from start to Finish for Iris
\n\n
I want to solve Iris problem (Hello World) a popular machine learning Dataset as a comprehensive workflow with python packages. \nAfter reading, you can use this workflow to solve other real problems and use it as a template to deal with machine learning problems.
\n\n
last update: 11/03/2018
\n\n\n\n>###### you may be interested have a look at it: [**10-steps-to-become-a-data-scientist**](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n---------------------------------------------------------------------\nyou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/Machine-Learning-Workflow-with-Python)\n\n-------------------------------------------------------------------------------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "cell_type": "markdown", + "source": "## Notebook Content\n* 1- [Introduction](#1)\n * [1-1 Courses](#1)\n * [1-2 Ebooks](#1)\n * [1-3 Cheat Sheets](#1)\n* 2- [Machine learning workflow](#2)\n* 2-1 [Real world Application Vs Competitions](#2)\n\n* 3- [Problem Definition](#3)\n* 3-1 [Problem feature](#4)\n* 3-2 [Aim](#5)\n* 3-3 [Variables](#6)\n* 4-[ Inputs & Outputs](#7)\n* 4-1 [Inputs ](#8)\n* 4-2 [Outputs](#9)\n* 5- [Installation](#10)\n* 5-1 [ jupyter notebook](#11)\n* 5-2[ kaggle kernel](#12)\n* 5-3 [Colab notebook](#13)\n* 5-4 [install python & packages](#14)\n* 5-5 [Loading Packages](#15)\n* 6- [Exploratory data analysis](#16)\n* 6-1 [Data Collection](#17)\n* 6-2 [Visualization](#18)\n* 6-2-1 [Scatter plot](#19)\n* 6-2-2 [Box](#20)\n* 6-2-3 [Histogram](#21)\n* 6-2-4 [Multivariate Plots](#22)\n* 6-2-5 [Violinplots](#23)\n* 6-2-6 [Pair plot](#24)\n* 6-2-7 [Kde plot](#25)\n* 6-2-8 [Joint plot](#26)\n* 6-2-9 [Andrews curves](#27)\n* 6-2-10 [Heatmap](#28)\n* 6-2-11 [Radviz](#29)\n* 6-2-12 [Bar Plot](#29)\n* 6-2-13 [Visualization with Plotly](#29)\n* 6-2-14 [Conclusion](#29)\n* 6-3 [Data Preprocessing](#30)\n* 6-3-1 [Features](#30)\n* 6-3-2 [Explorer Dataset](#30)\n* 6-4 [Data Cleaning](#31)\n* 7- [Model Deployment](#32)\n* 7-1[ Families of ML algorithms](#33)\n* 7-2[ Prepare Features & Targets](#33)\n* 7-3[ Accuracy and precision](#33)\n* 7-4[ KNN](#33)\n* 7-5 [Radius Neighbors Classifier](#34)\n* 7-6 [Logistic Regression](#35)\n* 7-7 [Passive Aggressive Classifier](#36)\n* 7-8 [Naive Bayes](#37)\n* 7-9 [MultinomialNB](#38)\n* 7-10 [BernoulliNB](#39)\n* 7-11 [SVM](#40)\n* 7-12 [Nu-Support Vector Classification](#41)\n* 7-13 [Linear Support Vector Classification](#42)\n* 7-14 [Decision Tree](#43)\n* 7-15 [ExtraTreeClassifier](#44)\n* 7-16 [Neural network](#45)\n* 7-16-1 [What is a Perceptron?](#45)\n* 7-17 [RandomForest](#46)\n* 7-18 [Bagging classifier ](#47)\n* 7-19 [AdaBoost classifier](#48)\n* 7-20 [Gradient Boosting Classifier](#49)\n* 7-21 [Linear Discriminant Analysis](#50)\n* 7-22 [Quadratic Discriminant Analysis](#51)\n* 7-23 [Kmeans](#52)\n* 7-24 [Backpropagation](#53)\n* 8- [Conclusion](#54)\n* 10- [References](#55)" + }, + { + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "cell_type": "markdown", + "source": "
\n## 1- Introduction\nThis is a **comprehensive ML techniques with python** , that I have spent for more than two months to complete it.\n\nit is clear that everyone in this community is familiar with IRIS dataset but if you need to review your information about the dataset please visit this [link](https://archive.ics.uci.edu/ml/datasets/iris).\n\nI have tried to help **beginners** in Kaggle how to face machine learning problems. and I think it is a great opportunity for who want to learn machine learning workflow with python completely.\nI have covered most of the methods that are implemented for iris until **2018**, you can start to learn and review your knowledge about ML with a simple dataset and try to learn and memorize the workflow for your journey in Data science world.\n
\n## 1-1 Courses\n\nThere are alot of Online courses that can help you develop your knowledge, here I have just listed some of them:\n\n1. [Machine Learning Certification by Stanford University (Coursera)](https://www.coursera.org/learn/machine-learning/)\n\n2. [Machine Learning A-Z™: Hands-On Python & R In Data Science (Udemy)](https://www.udemy.com/machinelearning/)\n\n3. [Deep Learning Certification by Andrew Ng from deeplearning.ai (Coursera)](https://www.coursera.org/specializations/deep-learning)\n\n4. [Python for Data Science and Machine Learning Bootcamp (Udemy)](Python for Data Science and Machine Learning Bootcamp (Udemy))\n\n5. [Mathematics for Machine Learning by Imperial College London](https://www.coursera.org/specializations/mathematics-machine-learning)\n\n6. [Deep Learning A-Z™: Hands-On Artificial Neural Networks](https://www.udemy.com/deeplearning/)\n\n7. [Complete Guide to TensorFlow for Deep Learning Tutorial with Python](https://www.udemy.com/complete-guide-to-tensorflow-for-deep-learning-with-python/)\n\n8. [Data Science and Machine Learning Tutorial with Python – Hands On](https://www.udemy.com/data-science-and-machine-learning-with-python-hands-on/)\n\n9. [Machine Learning Certification by University of Washington](https://www.coursera.org/specializations/machine-learning)\n\n10. [Data Science and Machine Learning Bootcamp with R](https://www.udemy.com/data-science-and-machine-learning-bootcamp-with-r/)\n\n\n5- [https://www.kaggle.com/startupsci/titanic-data-science-solutions](https://www.kaggle.com/startupsci/titanic-data-science-solutions)\n\n
\n## 1-2 Ebooks\nSo you love reading , here is **10 free machine learning books**\n\n1. [Probability and Statistics for Programmers](http://www.greenteapress.com/thinkstats/)\n\n1. [Bayesian Reasoning and Machine Learning](http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/091117.pdf)\n\n1. [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/)\n\n1. [Understanding Machine Learning](http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/index.html)\n\n1. [A Programmer’s Guide to Data Mining](http://guidetodatamining.com/)\n\n1. [Mining of Massive Datasets](http://infolab.stanford.edu/~ullman/mmds/book.pdf)\n\n1. [A Brief Introduction to Neural Networks](http://www.dkriesel.com/_media/science/neuronalenetze-en-zeta2-2col-dkrieselcom.pdf)\n\n1. [Deep Learning](http://www.deeplearningbook.org/)\n\n1. [Natural Language Processing with Python](https://www.researchgate.net/publication/220691633_Natural_Language_Processing_with_Python)\n\n1. [Machine Learning Yearning](http://www.mlyearning.org/)\n \n
\n \n## 1-3 Cheat Sheets\nData Science is an ever-growing field, there are numerous tools & techniques to remember. It is not possible for anyone to remember all the functions, operations and formulas of each concept. That’s why we have cheat sheets. But there are a plethora of cheat sheets available out there, choosing the right cheat sheet is a tough task. So, I decided to write this article.\n\nHere I have selected the cheat sheets on the following criteria: comprehensiveness, clarity, and content [26]:\n1. [Quick Guide to learn Python for Data Science ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Science-in-Python.pdf)\n1. [Python for Data Science Cheat sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/beginners_python_cheat_sheet.pdf)\n1. [Python For Data Science Cheat Sheet NumPy](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Numpy_Python_Cheat_Sheet.pdf)\n1. [Exploratory Data Analysis in Python]()\n1. [Data Exploration using Pandas in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Exploration-in-Python.pdf)\n1. [Data Visualisation in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/data-visualisation-infographics1.jpg)\n1. [Python For Data Science Cheat Sheet Bokeh](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Python_Bokeh_Cheat_Sheet.pdf)\n1. [Cheat Sheet: Scikit Learn ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Scikit-Learn-Infographic.pdf)\n1. [MLalgorithms CheatSheet](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/MLalgorithms-.pdf)\n1. [Probability Basics Cheat Sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/probability_cheatsheet.pdf)\n\n\nI am open to getting your feedback for improving this **kernel**\n" + }, + { + "metadata": { + "_uuid": "e11b73b618b0f6e4335520ef80267c6d577d1ba5" + }, + "cell_type": "markdown", + "source": "
\n## 2- Machine Learning Workflow\nField of \tstudy \tthat \tgives\tcomputers\tthe\tability \tto\tlearn \twithout \tbeing\nexplicitly \tprogrammed.\n\n**Arthur\tSamuel, 1959**\n\nIf you have already read some [machine learning books](https://towardsdatascience.com/list-of-free-must-read-machine-learning-books-89576749d2ff). You have noticed that there are different ways to stream data into machine learning.\n\nmost of these books share the following steps (checklist):\n* Define the Problem(Look at the big picture)\n* Specify Inputs & Outputs\n* Data Collection\n* Exploratory data analysis\n* Data Preprocessing\n* Model Design, Training, and Offline Evaluation\n* Model Deployment, Online Evaluation, and Monitoring\n* Model Maintenance, Diagnosis, and Retraining\n\n**You can see my workflow in the below image** :\n \n\n**you should\tfeel free\tto\tadapt \tthis\tchecklist \tto\tyour needs**" + }, + { + "metadata": { + "_uuid": "d8b27260d5ccff025f37490d84bd35bba7eef00a" + }, + "cell_type": "markdown", + "source": "## 2-1 Real world Application Vs Competitions\n" + }, + { + "metadata": { + "_uuid": "600be852c0d28e7c0c5ebb718904ab15a536342c" + }, + "cell_type": "markdown", + "source": "
\n## 3- Problem Definition\nI think one of the important things when you start a new machine learning project is Defining your problem. that means you should understand business problem.( **Problem Formalization**)\n\nProblem Definition has four steps that have illustrated in the picture below:\n\n
\n### 3-1 Problem Feature\nwe will use the classic Iris data set. This dataset contains information about three different types of Iris flowers:\n\n* Iris Versicolor\n* Iris Virginica\n* Iris Setosa\n\nThe data set contains measurements of four variables :\n\n* sepal length \n* sepal width\n* petal length \n* petal width\n \nThe Iris data set has a number of interesting features:\n\n1. One of the classes (Iris Setosa) is linearly separable from the other two. However, the other two classes are not linearly separable.\n\n2. There is some overlap between the Versicolor and Virginica classes, so it is unlikely to achieve a perfect classification rate.\n\n3. There is some redundancy in the four input variables, so it is possible to achieve a good solution with only three of them, or even (with difficulty) from two, but the precise choice of best variables is not obvious.\n\n**Why am I using iris dataset:**\n\n1- This is a good project because it is so well understood.\n\n2- Attributes are numeric so you have to figure out how to load and handle data.\n\n3- It is a classification problem, allowing you to practice with perhaps an easier type of supervised learning algorithm.\n\n4- It is a multi-class classification problem (multi-nominal) that may require some specialized handling.\n\n5- It only has 4 attributes and 150 rows, meaning it is small and easily fits into memory (and a screen or A4 page).\n\n6- All of the numeric attributes are in the same units and the same scale, not requiring any special scaling or transforms to get started.[5]\n\n7- we can define problem as clustering(unsupervised algorithm) project too.\n
\n### 3-2 Aim\nThe aim is to classify iris flowers among three species (setosa, versicolor or virginica) from measurements of length and width of sepals and petals\n
\n### 3-3 Variables\nThe variables are :\n**sepal_length**: Sepal length, in centimeters, used as input.\n**sepal_width**: Sepal width, in centimeters, used as input.\n**petal_length**: Petal length, in centimeters, used as input.\n**petal_width**: Petal width, in centimeters, used as input.\n**setosa**: Iris setosa, true or false, used as target.\n**versicolour**: Iris versicolour, true or false, used as target.\n**virginica**: Iris virginica, true or false, used as target.\n\n**<< Note >>**\n> You must answer the following question:\nHow does your company expact to use and benfit from your model." + }, + { + "metadata": { + "_uuid": "8bb4dfebb521f83543e1d45db3559216dad8f6fb" + }, + "cell_type": "markdown", + "source": "
\n## 4- Inputs & Outputs\n
\n### 4-1 Inputs\n**Iris** is a very popular **classification** and **clustering** problem in machine learning and it is such as \"Hello world\" program when you start learning a new programming language. then I decided to apply Iris on 20 machine learning method on it.\nThe Iris flower data set or Fisher's Iris data set is a **multivariate data set** introduced by the British statistician and biologist Ronald Fisher in his 1936 paper The use of multiple measurements in taxonomic problems as an example of linear discriminant analysis. It is sometimes called Anderson's Iris data set because Edgar Anderson collected the data to quantify the morphologic variation of Iris flowers in three related species. Two of the three species were collected in the Gaspé Peninsula \"all from the same pasture, and picked on the same day and measured at the same time by the same person with the same apparatus\".\nThe data set consists of 50 samples from each of three species of Iris (Iris setosa, Iris virginica, and Iris versicolor). Four features were measured from each sample: the length and the width of the sepals and petals, in centimeters. Based on the combination of these four features, Fisher developed a linear discriminant model to distinguish the species from each other.\n\nAs a result, **iris dataset is used as the input of all algorithms**.\n
\n### 4-2 Outputs\nthe outputs for our algorithms totally depend on the type of classification or clustering algorithms.\nthe outputs can be the number of clusters or predict for new input.\n\n**setosa**: Iris setosa, true or false, used as target.\n**versicolour**: Iris versicolour, true or false, used as target.\n**virginica**: Iris virginica, true or false, used as a target." + }, + { + "metadata": { + "_uuid": "89ee0cda57822cd4102eadf8992c5bfe1964d557" + }, + "cell_type": "markdown", + "source": "
\n## 5-Installation\n#### Windows:\n* Anaconda (from https://www.continuum.io) is a free Python distribution for SciPy stack. It is also available for Linux and Mac.\n* Canopy (https://www.enthought.com/products/canopy/) is available as free as well as commercial distribution with full SciPy stack for Windows, Linux and Mac.\n* Python (x,y) is a free Python distribution with SciPy stack and Spyder IDE for Windows OS. (Downloadable from http://python-xy.github.io/)\n#### Linux\nPackage managers of respective Linux distributions are used to install one or more packages in SciPy stack.\n\nFor Ubuntu Users:\nsudo apt-get install python-numpy python-scipy python-matplotlibipythonipythonnotebook\npython-pandas python-sympy python-nose" + }, + { + "metadata": { + "_uuid": "c1793fb141d3338bbc4300874be6ffa5cb1a9139" + }, + "cell_type": "markdown", + "source": "
\n## 5-1 Jupyter notebook\nI strongly recommend installing **Python** and **Jupyter** using the **[Anaconda Distribution](https://www.anaconda.com/download/)**, which includes Python, the Jupyter Notebook, and other commonly used packages for scientific computing and data science.\n\nFirst, download Anaconda. We recommend downloading Anaconda’s latest Python 3 version.\n\nSecond, install the version of Anaconda which you downloaded, following the instructions on the download page.\n\nCongratulations, you have installed Jupyter Notebook! To run the notebook, run the following command at the Terminal (Mac/Linux) or Command Prompt (Windows):" + }, + { + "metadata": { + "_uuid": "abbd1757dde9805758a2cec47a186e31dbc29822" + }, + "cell_type": "markdown", + "source": "> jupyter notebook\n> " + }, + { + "metadata": { + "_uuid": "8a70c253d5afa93f07a7a7e048dbb2d7812c8d10" + }, + "cell_type": "markdown", + "source": "
\n## 5-2 Kaggle Kernel\nKaggle kernel is an environment just like you use jupyter notebook, it's an **extension** of the where in you are able to carry out all the functions of jupyter notebooks plus it has some added tools like forking et al." + }, + { + "metadata": { + "_uuid": "237bbe4e4509c9491ce165e3599c432b979d7b90" + }, + "cell_type": "markdown", + "source": "
\n## 5-3 Colab notebook\n**Colaboratory** is a research tool for machine learning education and research. It’s a Jupyter notebook environment that requires no setup to use.\n### 5-3-1 What browsers are supported?\nColaboratory works with most major browsers, and is most thoroughly tested with desktop versions of Chrome and Firefox.\n### 5-3-2 Is it free to use?\nYes. Colaboratory is a research project that is free to use.\n### 5-3-3 What is the difference between Jupyter and Colaboratory?\nJupyter is the open source project on which Colaboratory is based. Colaboratory allows you to use and share Jupyter notebooks with others without having to download, install, or run anything on your own computer other than a browser." + }, + { + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "cell_type": "markdown", + "source": "
\n## 5-5 Loading Packages\nIn this kernel we are using the following packages:" + }, + { + "metadata": { + "_uuid": "61f49281fdd8592b44c0867225f57e6fce36342c" + }, + "cell_type": "markdown", + "source": " \n" + }, + { + "metadata": { + "_uuid": "4e28cde75726e3617dc80585626f7f8a1297a9e4" + }, + "cell_type": "markdown", + "source": "### 5-5-1 Import" + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.model_selection import train_test_split\nfrom sklearn.metrics import classification_report\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.metrics import accuracy_score\nfrom sklearn.decomposition import PCA\nimport matplotlib.pyplot as plt\nfrom pandas import get_dummies\nimport plotly.graph_objs as go\nfrom sklearn import datasets\nimport plotly.plotly as py\nimport seaborn as sns\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport scipy\nimport numpy\nimport json\nimport sys\nimport csv\nimport os", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3c3c434ac82d771c5549c4f36d0e8e878489f252" + }, + "cell_type": "markdown", + "source": "### 5-5-2 Print" + }, + { + "metadata": { + "trusted": true, + "_uuid": "72fdff866b7cbe404867e82f9122e16fc33facf2" + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "eb2175f0f6bb0d2777d3a05247e79399681c3850" + }, + "cell_type": "code", + "source": "#show plot inline\n%matplotlib inline", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "04ff1a533119d589baee777c21194a951168b0c7" + }, + "cell_type": "markdown", + "source": "
\n## 6- Exploratory Data Analysis(EDA)\n In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. \n \n* Which variables suggest interesting relationships?\n* Which observations are unusual?\n\nBy the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations:\n\n* 5-1 Data Collection\n* 5-2 Visualization\n* 5-3 Data Preprocessing\n* 5-4 Data Cleaning\n" + }, + { + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "cell_type": "markdown", + "source": "
\n## 6-1 Data Collection\n**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n\n**Iris dataset** consists of 3 different types of irises’ (Setosa, Versicolour, and Virginica) petal and sepal length, stored in a 150x4 numpy.ndarray\n\nThe rows being the samples and the columns being: Sepal Length, Sepal Width, Petal Length and Petal Width.[6]\n" + }, + { + "metadata": { + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "trusted": true + }, + "cell_type": "code", + "source": "# import Dataset to play with it\ndataset = pd.read_csv('../input/Iris.csv')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "cell_type": "markdown", + "source": "**<< Note 1 >>**\n\n* Each row is an observation (also known as : sample, example, instance, record)\n* Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)" + }, + { + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "cell_type": "markdown", + "source": "After loading the data via **pandas**, we should checkout what the content is, description and via the following:" + }, + { + "metadata": { + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": true + }, + "cell_type": "code", + "source": "type(dataset)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "055772bd170aa8018aabd85106b76675802c33b3" + }, + "cell_type": "markdown", + "source": "
\n## 6-2 Visualization\n**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns.\n\nWith interactive visualization, you can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data you see and how it’s processed.[SAS]\n\n In this section I show you **11 plots** with **matplotlib** and **seaborn** that is listed in the blew picture:\n \n" + }, + { + "metadata": { + "_uuid": "b0014a7a52e714996bc443981c853095926d20e5" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-1 Scatter plot\n\nScatter plot Purpose To identify the type of relationship (if any) between two quantitative variables\n\n\n" + }, + { + "metadata": { + "_uuid": "af099546eed64ebc796403d4139cb4c977c27b03", + "trusted": true + }, + "cell_type": "code", + "source": "# Modify the graph above by assigning each species an individual color.\nsns.FacetGrid(dataset, hue=\"Species\", size=5) \\\n .map(plt.scatter, \"SepalLengthCm\", \"SepalWidthCm\") \\\n .add_legend()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d1c7b62b5f8cba427bca13049256365141655372" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-2 Box\nIn descriptive statistics, a **box plot** or boxplot is a method for graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes (whiskers) indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram.[wikipedia]" + }, + { + "metadata": { + "_uuid": "0655e20f31a582f861d391308a088778cd7eaae9", + "trusted": true + }, + "cell_type": "code", + "source": "dataset.plot(kind='box', subplots=True, layout=(2,3), sharex=False, sharey=False)\nplt.figure()\n#This gives us a much clearer idea of the distribution of the input attributes:\n\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f7f6426fd44bcd77d35a5fdbc8c4fc4f18d991ad", + "trusted": true + }, + "cell_type": "code", + "source": "# To plot the species data using a box plot:\n\nsns.boxplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset )\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7b193e4aa7e6fb337d3f65c334849094addd097a", + "trusted": true + }, + "cell_type": "code", + "source": "# Use Seaborn's striplot to add data points on top of the box plot \n# Insert jitter=True so that the data points remain scattered and not piled into a verticle line.\n# Assign ax to each axis, so that each plot is ontop of the previous axis. \n\nax= sns.boxplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset)\nax= sns.stripplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset, jitter=True, edgecolor=\"gray\")\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "56adbafa89c117118621c72b3b7cb19edc21298e", + "trusted": true + }, + "cell_type": "code", + "source": "# Tweek the plot above to change fill and border color color using ax.artists.\n# Assing ax.artists a variable name, and insert the box number into the corresponding brackets\n\nax= sns.boxplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset)\nax= sns.stripplot(x=\"Species\", y=\"PetalLengthCm\", data=dataset, jitter=True, edgecolor=\"gray\")\n\nboxtwo = ax.artists[2]\nboxtwo.set_facecolor('red')\nboxtwo.set_edgecolor('black')\nboxthree=ax.artists[1]\nboxthree.set_facecolor('yellow')\nboxthree.set_edgecolor('black')\n\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "743a92c3c2fff1a1f99845518247f7971ad18b7c" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-3 Histogram\nWe can also create a **histogram** of each input variable to get an idea of the distribution.\n\n" + }, + { + "metadata": { + "_uuid": "5da0520ed3e738ee8814b2d91843ed4acec2b6e6", + "trusted": true + }, + "cell_type": "code", + "source": "# histograms\ndataset.hist(figsize=(15,20))\nplt.figure()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b4e3de19781686010c6038f0e3076eb678398169" + }, + "cell_type": "markdown", + "source": "It looks like perhaps two of the input variables have a Gaussian distribution. This is useful to note as we can use algorithms that can exploit this assumption.\n\n" + }, + { + "metadata": { + "_uuid": "9f80a6e971cbf0af72d659b51af552ea1dddc9a8", + "trusted": true + }, + "cell_type": "code", + "source": "dataset[\"PetalLengthCm\"].hist();", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3bbff56707484f88625eb8ef309b712ba03f939e" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-4 Multivariate Plots\nNow we can look at the interactions between the variables.\n\nFirst, let’s look at scatterplots of all pairs of attributes. This can be helpful to spot structured relationships between input variables." + }, + { + "metadata": { + "_uuid": "eb4e5d117e4ef40d7668632f42130206a5537bd0", + "trusted": true + }, + "cell_type": "code", + "source": "\n# scatter plot matrix\npd.plotting.scatter_matrix(dataset,figsize=(10,10))\nplt.figure()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "de7fea7986071fafbe0b93933e3beda445cbe373" + }, + "cell_type": "markdown", + "source": "Note the diagonal grouping of some pairs of attributes. This suggests a high correlation and a predictable relationship." + }, + { + "metadata": { + "_uuid": "e0f696ec021ec99c1058a62e22c8b73082fe6fa7" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-5 violinplots" + }, + { + "metadata": { + "_uuid": "e352d2f8340609adf4bf6718b1d2ecee0fa730b5", + "trusted": true + }, + "cell_type": "code", + "source": "# violinplots on petal-length for each species\nsns.violinplot(data=dataset,x=\"Species\", y=\"PetalLengthCm\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0ed35bceb87051e56316d35a630334518e8b8c64" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-6 pairplot" + }, + { + "metadata": { + "_uuid": "b80350add6f9a742f10bffc4b497562f8bebea95", + "trusted": true + }, + "cell_type": "code", + "source": "# Using seaborn pairplot to see the bivariate relation between each pair of features\nsns.pairplot(dataset, hue=\"Species\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fb187bcc0fb51e53f8abe9e3952c6ae5c3177411" + }, + "cell_type": "markdown", + "source": "From the plot, we can see that the species setosa is separataed from the other two across all feature combinations\n\nWe can also replace the histograms shown in the diagonal of the pairplot by kde." + }, + { + "metadata": { + "_uuid": "5570ff32db5a4740b26b244531af552ac1b57f4a", + "trusted": true + }, + "cell_type": "code", + "source": "# updating the diagonal elements in a pairplot to show a kde\nsns.pairplot(dataset, hue=\"Species\",diag_kind=\"kde\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2544d3c2dd34a360d295019d8cb597c7ef8f66bc" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-7 kdeplot" + }, + { + "metadata": { + "_uuid": "1d07222b89303b386e9e824d52cc73c045667f25", + "trusted": true + }, + "cell_type": "code", + "source": "# seaborn's kdeplot, plots univariate or bivariate density estimates.\n#Size can be changed by tweeking the value used\nsns.FacetGrid(dataset, hue=\"Species\", size=5).map(sns.kdeplot, \"PetalLengthCm\").add_legend()\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "560d8e8f17bacefaf8c3855a9648f26b82fdee9b" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-8 jointplot" + }, + { + "metadata": { + "_uuid": "4adb4da16ea61e0f1a12bc9925dfbbaaa81e0360", + "trusted": true + }, + "cell_type": "code", + "source": "# Use seaborn's jointplot to make a hexagonal bin plot\n#Set desired size and ratio and choose a color.\nsns.jointplot(x=\"SepalLengthCm\", y=\"SepalWidthCm\", data=dataset, size=10,ratio=10, kind='hex',color='green')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3768e31e990bfe4c2ff7b45087fbba85e0560d00" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-9 andrews_curves" + }, + { + "metadata": { + "_uuid": "937b6856d109001db14a3ac99568df45efbe1070", + "trusted": true + }, + "cell_type": "code", + "source": "#In Pandas use Andrews Curves to plot and visualize data structure.\n#Each multivariate observation is transformed into a curve and represents the coefficients of a Fourier series.\n#This useful for detecting outliers in times series data.\n#Use colormap to change the color of the curves\n\nfrom pandas.tools.plotting import andrews_curves\nandrews_curves(dataset.drop(\"Id\", axis=1), \"Species\",colormap='rainbow')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "263eaa9d2bfad0f8c68b6e8e874bdc11a6e802ac", + "trusted": true + }, + "cell_type": "code", + "source": "# we will use seaborn jointplot shows bivariate scatterplots and univariate histograms with Kernel density \n# estimation in the same figure\nsns.jointplot(x=\"SepalLengthCm\", y=\"SepalWidthCm\", data=dataset, size=6, kind='kde', color='#800000', space=0)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8e73333289d17dd648b7b2112d7fe3fe7ea444d0" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-10 Heatmap" + }, + { + "metadata": { + "_uuid": "3100955ca9dc61ac7d435e9c064d10d06f26afa7", + "trusted": true + }, + "cell_type": "code", + "source": "plt.figure(figsize=(7,4)) \nsns.heatmap(dataset.corr(),annot=True,cmap='cubehelix_r') #draws heatmap with input as the correlation matrix calculted by(iris.corr())\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b81dbdd5dd8cb92a86b1f7114ffb6f088458a527" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-11 radviz" + }, + { + "metadata": { + "_uuid": "33fed3027d7242227d612a84bbb42b012356091b", + "trusted": true + }, + "cell_type": "code", + "source": "# A final multivariate visualization technique pandas has is radviz\n# Which puts each feature as a point on a 2D plane, and then simulates\n# having each sample attached to those points through a spring weighted\n# by the relative value for that feature\nfrom pandas.tools.plotting import radviz\nradviz(dataset.drop(\"Id\", axis=1), \"Species\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ab06d1cd799430c7c7f8de978ee2c6e275e7655b" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-12 Bar Plot" + }, + { + "metadata": { + "_uuid": "329488de1a908a6d367b9da4b40a20238163d32e", + "trusted": true + }, + "cell_type": "code", + "source": "dataset['Species'].value_counts().plot(kind=\"bar\");", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6a3bad799936695bb0e14b87a611302b2dec8c8a" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-13 Visualization with Plotly" + }, + { + "metadata": { + "trusted": true, + "_uuid": "c5d24af251646fecba7e72e3f90c497fc359250e" + }, + "cell_type": "code", + "source": "import plotly.offline as py\nimport plotly.graph_objs as go\npy.init_notebook_mode(connected=True)\nfrom plotly import tools\nimport plotly.figure_factory as ff\niris = datasets.load_iris()\nX = iris.data[:, :2] # we only take the first two features.\nY = iris.target\n\nx_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5\ny_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5\ntrace = go.Scatter(x=X[:, 0],\n y=X[:, 1],\n mode='markers',\n marker=dict(color=np.random.randn(150),\n size=10,\n colorscale='Viridis',\n showscale=False))\n\nlayout = go.Layout(title='Training Points',\n xaxis=dict(title='Sepal length',\n showgrid=False),\n yaxis=dict(title='Sepal width',\n showgrid=False),\n )\n \nfig = go.Figure(data=[trace], layout=layout)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "fab38007b41a033f66f71110decb039f72b1e937" + }, + "cell_type": "code", + "source": "py.iplot(fig)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0859caf857ceeb19f4cc47ccd11fbbfdfe4b0dd9" + }, + "cell_type": "markdown", + "source": "**<< Note >>**\n\n**Yellowbrick** is a suite of visual diagnostic tools called “Visualizers” that extend the Scikit-Learn API to allow human steering of the model selection process. In a nutshell, Yellowbrick combines scikit-learn with matplotlib in the best tradition of the scikit-learn documentation, but to produce visualizations for your models! " + }, + { + "metadata": { + "_uuid": "5af51158a5bc342947c553392e3d1665ac24ba62" + }, + "cell_type": "markdown", + "source": "
\n### 6-2-13 Conclusion\nwe have used Python to apply data visualization tools to the Iris dataset. Color and size changes were made to the data points in scatterplots. I changed the border and fill color of the boxplot and violin, respectively." + }, + { + "metadata": { + "_uuid": "91dda1f631cf4ed362162501aaaac6d19cfd6cc7" + }, + "cell_type": "markdown", + "source": "
\n## 6-3 Data Preprocessing\n**Data preprocessing** refers to the transformations applied to our data before feeding it to the algorithm.\n \nData Preprocessing is a technique that is used to convert the raw data into a clean data set. In other words, whenever the data is gathered from different sources it is collected in raw format which is not feasible for the analysis.\nthere are plenty of steps for data preprocessing and we just listed some of them :\n* removing Target column (id)\n* Sampling (without replacement)\n* Making part of iris unbalanced and balancing (with undersampling and SMOTE)\n* Introducing missing values and treating them (replacing by average values)\n* Noise filtering\n* Data discretization\n* Normalization and standardization\n* PCA analysis\n* Feature selection (filter, embedded, wrapper)" + }, + { + "metadata": { + "_uuid": "581b90e6a869c3793472c7edd59091d6d6342fb2" + }, + "cell_type": "markdown", + "source": "
\n## 6-3-1 Features\nFeatures:\n* numeric\n* categorical\n* ordinal\n* datetime\n* coordinates\n\nfind the type of features in titanic dataset\n" + }, + { + "metadata": { + "_uuid": "73ab30f86273b590a51fc363d9bf78c2709558fa" + }, + "cell_type": "markdown", + "source": "### 6-3-2 Explorer Dataset\n1- Dimensions of the dataset.\n\n2- Peek at the data itself.\n\n3- Statistical summary of all attributes.\n\n4- Breakdown of the data by the class variable.[7]\n\nDon’t worry, each look at the data is **one command**. These are useful commands that you can use again and again on future projects." + }, + { + "metadata": { + "_uuid": "4b45251be7be77333051fe738639104ae1005fa5", + "trusted": true + }, + "cell_type": "code", + "source": "# shape\nprint(dataset.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c64e9d3e0bf394fb833de94a0fc5c34f69fce24c", + "trusted": true + }, + "cell_type": "code", + "source": "#columns*rows\ndataset.size", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a6315bf510cecb907b2d23aad25faf6ccad32ac4" + }, + "cell_type": "markdown", + "source": "how many NA elements in every column\n" + }, + { + "metadata": { + "_uuid": "675f72fb58d83c527f71819e71ed8e17f81126f5", + "trusted": true + }, + "cell_type": "code", + "source": "dataset.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e8e124ca20643ad307d9bfdc34328d548c6ddcbc", + "trusted": true + }, + "cell_type": "code", + "source": "# remove rows that have NA's\ndataset = dataset.dropna()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "277e1998627d6a3ddeff4e913a6b8c3dc81dec96" + }, + "cell_type": "markdown", + "source": "\nWe can get a quick idea of how many instances (rows) and how many attributes (columns) the data contains with the shape property.\n\nYou should see 150 instances and 5 attributes:" + }, + { + "metadata": { + "_uuid": "95ee5e18f97bc410df1e54ac74e32cdff2b30755" + }, + "cell_type": "markdown", + "source": "for getting some information about the dataset you can use **info()** command" + }, + { + "metadata": { + "_uuid": "ca840f02925751186f87e402fcb5f637ab1ab8a0", + "trusted": true + }, + "cell_type": "code", + "source": "print(dataset.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3458838205be4c7fbff88e95ef69934e13e2199b" + }, + "cell_type": "markdown", + "source": "you see number of unique item for Species with command below:" + }, + { + "metadata": { + "_uuid": "4b90d165a007106ae99809ad28edd75bd8153dd8", + "trusted": true + }, + "cell_type": "code", + "source": "dataset['Species'].unique()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8accfbddf2228274ad412c3ad3be72b4107d6f6c", + "trusted": true + }, + "cell_type": "code", + "source": "dataset[\"Species\"].value_counts()\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ae08b544a8d4202c7d0a47ec83d685e81c91a66d" + }, + "cell_type": "markdown", + "source": "to check the first 5 rows of the data set, we can use head(5)." + }, + { + "metadata": { + "_uuid": "5899889553c3416b27e93efceddb106eb71f5156", + "trusted": true + }, + "cell_type": "code", + "source": "dataset.head(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1150b6ac3d82562aefd5c64f9f01accee5eace4d" + }, + "cell_type": "markdown", + "source": "to check out last 5 row of the data set, we use tail() function" + }, + { + "metadata": { + "_uuid": "79339442ff1f53ae1054d794337b9541295d3305", + "trusted": true + }, + "cell_type": "code", + "source": "dataset.tail() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2c288c3dc8656a872a8529368812546e434d3a22" + }, + "cell_type": "markdown", + "source": "to pop up 5 random rows from the data set, we can use **sample(5)** function" + }, + { + "metadata": { + "_uuid": "09eb18d1fcf4a2b73ba2f5ddce99dfa521681140", + "trusted": true + }, + "cell_type": "code", + "source": "dataset.sample(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c8a1cc36348c68fb98d6cb28aa9919fc5f2892f3" + }, + "cell_type": "markdown", + "source": "to give a statistical summary about the dataset, we can use **describe()" + }, + { + "metadata": { + "_uuid": "3f7211e96627b9a81c5b620a9ba61446f7719ea3", + "trusted": true + }, + "cell_type": "code", + "source": "dataset.describe() ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "031d16ca235837e889734635ecff193be64b27a4" + }, + "cell_type": "markdown", + "source": "to check out how many null info are on the dataset, we can use **isnull().sum()" + }, + { + "metadata": { + "_uuid": "8807b632269e2fa734ad26e8513199400fc09a83", + "trusted": true + }, + "cell_type": "code", + "source": "dataset.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "446e6162e16325213047ff31454813455668b574", + "trusted": true + }, + "cell_type": "code", + "source": "dataset.groupby('Species').count()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c2f1eaf0b6dfdc7cc4dace04614e99ed56425d00" + }, + "cell_type": "markdown", + "source": "to print dataset **columns**, we can use columns atribute" + }, + { + "metadata": { + "_uuid": "909d61b33ec06249d0842e6115597bbacf21163f", + "trusted": true + }, + "cell_type": "code", + "source": "dataset.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "22bc5d81c18275ee1fb082c0adbb7a65bdbec4cc" + }, + "cell_type": "markdown", + "source": "**<< Note 2 >>**\nin pandas's data frame you can perform some query such as \"where\"" + }, + { + "metadata": { + "_uuid": "c8c8d9fd63d9bdb601183aeb4f1435affeb8a596", + "trusted": true + }, + "cell_type": "code", + "source": "dataset.where(dataset ['Species']=='Iris-setosa')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "33fc33a18489b438a884819d99dc00a02b113be8" + }, + "cell_type": "markdown", + "source": "as you can see in the below in python, it is so easy perform some query on the dataframe:" + }, + { + "metadata": { + "_uuid": "8b545ff7e8367c5ab9c1db710f70b6936ac8422c", + "trusted": true + }, + "cell_type": "code", + "source": "dataset[dataset['SepalLengthCm']>7.2]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1c92b300076a232321c915857d8a7c5685a97865", + "trusted": true + }, + "cell_type": "code", + "source": "# Seperating the data into dependent and independent variables\nX = dataset.iloc[:, :-1].values\ny = dataset.iloc[:, -1].values", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "aa882e5bcdc7d5f440489eff75d1d225269655a4" + }, + "cell_type": "markdown", + "source": "**<< Note >>**\n>**Preprocessing and generation pipelines depend on a model type**" + }, + { + "metadata": { + "_uuid": "8280749a19af32869978c61941d1dea306632d71" + }, + "cell_type": "markdown", + "source": "
\n## 6-4 Data Cleaning\nWhen dealing with real-world data, dirty data is the norm rather than the exception. We continuously need to predict correct values, impute missing ones, and find links between various data artefacts such as schemas and records. We need to stop treating data cleaning as a piecemeal exercise (resolving different types of errors in isolation), and instead leverage all signals and resources (such as constraints, available statistics, and dictionaries) to accurately predict corrective actions.\n\nThe primary goal of data cleaning is to detect and remove errors and **anomalies** to increase the value of data in analytics and decision making. While it has been the focus of many researchers for several years, individual problems have been addressed separately. These include missing value imputation, outliers detection, transformations, integrity constraints violations detection and repair, consistent query answering, deduplication, and many other related problems such as profiling and constraints mining.[8]" + }, + { + "metadata": { + "_uuid": "60dcf563b3a637f4836d5d3487b15a8f444caf53", + "trusted": true + }, + "cell_type": "code", + "source": "cols = dataset.columns\nfeatures = cols[0:4]\nlabels = cols[4]\nprint(features)\nprint(labels)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "180b76d9afa9d51cbe05e38a128d7f1f63e6da26", + "trusted": true + }, + "cell_type": "code", + "source": "#Well conditioned data will have zero mean and equal variance\n#We get this automattically when we calculate the Z Scores for the data\n\ndata_norm = pd.DataFrame(dataset)\n\nfor feature in features:\n dataset[feature] = (dataset[feature] - dataset[feature].mean())/dataset[feature].std()\n\n#Show that should now have zero mean\nprint(\"Averages\")\nprint(dataset.mean())\n\nprint(\"\\n Deviations\")\n#Show that we have equal variance\nprint(pow(dataset.std(),2))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c40ac6be7f6cff60f81e97478662817ef6ae1ef4", + "trusted": true + }, + "cell_type": "code", + "source": "#Shuffle The data\nindices = data_norm.index.tolist()\nindices = np.array(indices)\nnp.random.shuffle(indices)\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d260748e8e388fe03be57a8a120be513710a26c0", + "trusted": true + }, + "cell_type": "code", + "source": "# One Hot Encode as a dataframe\nfrom sklearn.model_selection import train_test_split\ny = get_dummies(y)\n\n# Generate Training and Validation Sets\nX_train, X_test, y_train, y_test = train_test_split(X,y, test_size=.3)\n\n# Convert to np arrays so that we can use with TensorFlow\nX_train = np.array(X_train).astype(np.float32)\nX_test = np.array(X_test).astype(np.float32)\ny_train = np.array(y_train).astype(np.float32)\ny_test = np.array(y_test).astype(np.float32)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "94ff73f511d1aea70025681c4c04200bf2973dcc", + "trusted": true + }, + "cell_type": "code", + "source": "#Check to make sure split still has 4 features and 3 labels\nprint(X_train.shape, y_train.shape)\nprint(X_test.shape, y_test.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "72cc7c7b60a33390a85b16bc34e3b9e424650cdd" + }, + "cell_type": "markdown", + "source": "
\n## 7- Model Deployment\nIn this section have been applied more than **20 learning algorithms** that play an important rule in your experiences and improve your knowledge in case of ML technique.\n\n> **<< Note 3 >>** : The results shown here may be slightly different for your analysis because, for example, the neural network algorithms use random number generators for fixing the initial value of the weights (starting points) of the neural networks, which often result in obtaining slightly different (local minima) solutions each time you run the analysis. Also note that changing the seed for the random number generator used to create the train, test, and validation samples can change your results." + }, + { + "metadata": { + "_uuid": "4b7788bbaaace438242d3b2d0d2ed489a91939ce" + }, + "cell_type": "markdown", + "source": "
\n## 7-1 Families of ML algorithms\nThere are several categories for machine learning algorithms, below are some of these categories:\n* Linear\n * Linear Regression\n * Logistic Regression\n * Support Vector Machines\n* Tree-Based\n * Decision Tree\n * Random Forest\n * GBDT\n* KNN\n* Neural Networks\n\n-----------------------------\nAnd if we want to categorize ML algorithms with the type of learning, there are below type:\n* Classification\n\n * k-Nearest \tNeighbors\n * LinearRegression\n * SVM\n * DT \n * NN\n \n* clustering\n\n * K-means\n * HCA\n * Expectation Maximization\n \n* Visualization \tand\tdimensionality \treduction:\n\n * Principal \tComponent \tAnalysis(PCA)\n * Kernel PCA\n * Locally -Linear\tEmbedding \t(LLE)\n * t-distributed\tStochastic\tNeighbor\tEmbedding \t(t-SNE)\n \n* Association \trule\tlearning\n\n * Apriori\n * Eclat\n* Semisupervised learning\n* Reinforcement Learning\n * Q-learning\n* Batch learning & Online learning\n* Ensemble Learning\n\n**<< Note >>**\n> Here is no method which outperforms all others for all tasks\n\n" + }, + { + "metadata": { + "_uuid": "daf9910caba26e071ff560dbdaca079ee148e140" + }, + "cell_type": "markdown", + "source": "
\n## 7-2 Prepare Features & Targets\nFirst of all seperating the data into dependent(Feature) and independent(Target) variables.\n\n**<< Note 4 >>**\n* X==>>Feature\n* y==>>Target" + }, + { + "metadata": { + "_uuid": "b06cb1191a0f52a904c52a918d1f999536e79bda", + "trusted": true + }, + "cell_type": "code", + "source": "\nX = dataset.iloc[:, :-1].values\ny = dataset.iloc[:, -1].values\n\n# Splitting the dataset into the Training set and Test set\nfrom sklearn.model_selection import train_test_split\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d13f167dd92888d856c4ad2ff2895bf4855e361c" + }, + "cell_type": "markdown", + "source": "
\n## 7-3 Accuracy and precision\n* **precision** : \n\nIn pattern recognition, information retrieval and binary classification, precision (also called positive predictive value) is the fraction of relevant instances among the retrieved instances, \n* **recall** : \n\nrecall is the fraction of relevant instances that have been retrieved over the total amount of relevant instances. \n* **F-score** :\n\nthe F1 score is a measure of a test's accuracy. It considers both the precision p and the recall r of the test to compute the score: p is the number of correct positive results divided by the number of all positive results returned by the classifier, and r is the number of correct positive results divided by the number of all relevant samples (all samples that should have been identified as positive). The F1 score is the harmonic average of the precision and recall, where an F1 score reaches its best value at 1 (perfect precision and recall) and worst at 0.\n**What is the difference between accuracy and precision?**\n\"Accuracy\" and \"precision\" are general terms throughout science. A good way to internalize the difference are the common \"bullseye diagrams\". In machine learning/statistics as a whole, accuracy vs. precision is analogous to bias vs. variance." + }, + { + "metadata": { + "_uuid": "b8b544762cc789bfeb8ebccd6765f77b9c7e1a0f" + }, + "cell_type": "markdown", + "source": "
\n## 7-4 K-Nearest Neighbours\nIn **Machine Learning**, the **k-nearest neighbors algorithm** (k-NN) is a non-parametric method used for classification and regression. In both cases, the input consists of the k closest training examples in the feature space. The output depends on whether k-NN is used for classification or regression:\n\nIn k-NN classification, the output is a class membership. An object is classified by a majority vote of its neighbors, with the object being assigned to the class most common among its k nearest neighbors (k is a positive integer, typically small). If k = 1, then the object is simply assigned to the class of that single nearest neighbor.\nIn k-NN regression, the output is the property value for the object. This value is the average of the values of its k nearest neighbors.\nk-NN is a type of instance-based learning, or lazy learning, where the function is only approximated locally and all computation is deferred until classification. The k-NN algorithm is among the simplest of all machine learning algorithms." + }, + { + "metadata": { + "_uuid": "eaa2caacfbc319932f79c75c549364089d1e649f", + "trusted": true + }, + "cell_type": "code", + "source": "# K-Nearest Neighbours\nfrom sklearn.neighbors import KNeighborsClassifier\n\nModel = KNeighborsClassifier(n_neighbors=8)\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e01bbec9f80532e30c6cf26d5c3fffffb5ea01d4" + }, + "cell_type": "markdown", + "source": "
\n## 7-5 Radius Neighbors Classifier\nClassifier implementing a **vote** among neighbors within a given **radius**\n\nIn scikit-learn **RadiusNeighborsClassifier** is very similar to **KNeighborsClassifier** with the exception of two parameters. First, in RadiusNeighborsClassifier we need to specify the radius of the fixed area used to determine if an observation is a neighbor using radius. Unless there is some substantive reason for setting radius to some value, it is best to treat it like any other hyperparameter and tune it during model selection. The second useful parameter is outlier_label, which indicates what label to give an observation that has no observations within the radius - which itself can often be a useful tool for identifying outliers." + }, + { + "metadata": { + "_uuid": "7728fdafa163e068668cea92cf8d79306b41d458", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.neighbors import RadiusNeighborsClassifier\nModel=RadiusNeighborsClassifier(radius=8.0)\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\n#summary of the predictions made by the classifier\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_test,y_pred))\n#Accouracy score\nprint('accuracy is ', accuracy_score(y_test,y_pred))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e55a785373bf654e0d4b2a78693fab1c8a625acb" + }, + "cell_type": "markdown", + "source": "
\n## 7-6 Logistic Regression\nLogistic regression is the appropriate regression analysis to conduct when the dependent variable is **dichotomous** (binary). Like all regression analyses, the logistic regression is a **predictive analysis**.\n\nIn statistics, the logistic model (or logit model) is a widely used statistical model that, in its basic form, uses a logistic function to model a binary dependent variable; many more complex extensions exist. In regression analysis, logistic regression (or logit regression) is estimating the parameters of a logistic model; it is a form of binomial regression. Mathematically, a binary logistic model has a dependent variable with two possible values, such as pass/fail, win/lose, alive/dead or healthy/sick; these are represented by an indicator variable, where the two values are labeled \"0\" and \"1\"" + }, + { + "metadata": { + "_uuid": "55eb348cf69272192274cd0728a123796b459b55", + "trusted": true + }, + "cell_type": "code", + "source": "# LogisticRegression\nfrom sklearn.linear_model import LogisticRegression\nModel = LogisticRegression()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c0a1c2ccaa4f6e9c5e2e42c47a295ceef7abd3b9" + }, + "cell_type": "markdown", + "source": "
\n## 7-7 Passive Aggressive Classifier" + }, + { + "metadata": { + "_uuid": "d509b2111a143660dd5cb1f02ea2779e38295b77", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.linear_model import PassiveAggressiveClassifier\nModel = PassiveAggressiveClassifier()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "52938b49082dac7b35dc627828838bf12924cc7f" + }, + "cell_type": "markdown", + "source": "
\n## 7-8 Naive Bayes\nIn machine learning, naive Bayes classifiers are a family of simple \"**probabilistic classifiers**\" based on applying Bayes' theorem with strong (naive) independence assumptions between the features." + }, + { + "metadata": { + "_uuid": "522d4a3fa874950d0850a5a9a4178ec763781ec3", + "trusted": true + }, + "cell_type": "code", + "source": "# Naive Bayes\nfrom sklearn.naive_bayes import GaussianNB\nModel = GaussianNB()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e530d18ab308e36d575806583e534cc07fe61c61" + }, + "cell_type": "markdown", + "source": "
\n## 7-9 BernoulliNB\nLike MultinomialNB, this classifier is suitable for **discrete data**. The difference is that while MultinomialNB works with occurrence counts, BernoulliNB is designed for binary/boolean features." + }, + { + "metadata": { + "_uuid": "e7051b5e9aa144b74e9913cb2a6668832e7f3e02", + "trusted": true + }, + "cell_type": "code", + "source": "# BernoulliNB\nfrom sklearn.naive_bayes import BernoulliNB\nModel = BernoulliNB()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "386d2d0e4fc7f5dc2b9298226d8e2ecfb7150346" + }, + "cell_type": "markdown", + "source": "
\n## 7-10 SVM\n\nThe advantages of support vector machines are:\n* Effective in high dimensional spaces.\n* Still effective in cases where number of dimensions is greater than the number of samples. \n* Uses a subset of training points in the decision function (called support vectors), so it is also memory efficient.\n* Versatile: different Kernel functions can be specified for the decision function. Common kernels are provided, but it is also possible to specify custom kernels.\n\nThe disadvantages of support vector machines include:\n\n* If the number of features is much greater than the number of samples, avoid over-fitting in choosing Kernel functions and regularization term is crucial.\n* SVMs do not directly provide probability estimates, these are calculated using an expensive five-fold cross-validation" + }, + { + "metadata": { + "_uuid": "a44a5a43945404c95863668c2ba099f6032357f8", + "trusted": true + }, + "cell_type": "code", + "source": "# Support Vector Machine\nfrom sklearn.svm import SVC\n\nModel = SVC()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b1d092cc03dcaa712f4fe4ec6867b292321377d5" + }, + "cell_type": "markdown", + "source": "
\n## 7-11 Nu-Support Vector Classification\n\n> Similar to SVC but uses a parameter to control the number of support vectors." + }, + { + "metadata": { + "_uuid": "2fa7c9a5bef780adb400bd9ad83d030f83a8d2b3", + "trusted": true + }, + "cell_type": "code", + "source": "# Support Vector Machine's \nfrom sklearn.svm import NuSVC\n\nModel = NuSVC()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5d07a75e83251ddbf8cfdfd11c9faa2671ad87ff" + }, + "cell_type": "markdown", + "source": "
\n## 7-12 Linear Support Vector Classification\n\nSimilar to **SVC** with parameter kernel=’linear’, but implemented in terms of liblinear rather than libsvm, so it has more flexibility in the choice of penalties and loss functions and should scale better to large numbers of samples." + }, + { + "metadata": { + "_uuid": "7e7275f160f2e4e270200eaa01c13be5cb465142", + "trusted": true + }, + "cell_type": "code", + "source": "# Linear Support Vector Classification\nfrom sklearn.svm import LinearSVC\n\nModel = LinearSVC()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cec81c9e0c3bc6afba07811a321b5383a0f823f3" + }, + "cell_type": "markdown", + "source": "
\n## 7-13 Decision Tree\nDecision Trees (DTs) are a non-parametric supervised learning method used for **classification** and **regression**. The goal is to create a model that predicts the value of a target variable by learning simple **decision rules** inferred from the data features." + }, + { + "metadata": { + "_uuid": "10e25ad67f7c25a8654637d4ba496b64121d67d0", + "trusted": true + }, + "cell_type": "code", + "source": "# Decision Tree's\nfrom sklearn.tree import DecisionTreeClassifier\n\nModel = DecisionTreeClassifier()\n\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a7d897130fd705943764e924bbe468c99b7c036a" + }, + "cell_type": "markdown", + "source": "
\n## 7-14 ExtraTreeClassifier\nAn extremely randomized tree classifier.\n\nExtra-trees differ from classic decision trees in the way they are built. When looking for the best split to separate the samples of a node into two groups, random splits are drawn for each of the **max_features** randomly selected features and the best split among those is chosen. When max_features is set 1, this amounts to building a totally random decision tree.\n\n**Warning**: Extra-trees should only be used within ensemble methods." + }, + { + "metadata": { + "_uuid": "5a775006a814b6aacdcc07dc46995eb291b873f1", + "trusted": true + }, + "cell_type": "code", + "source": "# ExtraTreeClassifier\nfrom sklearn.tree import ExtraTreeClassifier\n\nModel = ExtraTreeClassifier()\n\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "48f940f73580a2997d75f22eba09d938c86a1a97" + }, + "cell_type": "markdown", + "source": "
\n## 7-15 Neural network\n\nI have used multi-layer Perceptron classifier.\nThis model optimizes the log-loss function using **LBFGS** or **stochastic gradient descent**." + }, + { + "metadata": { + "_uuid": "1c10482510f654878f93b573dc1abe4112b861eb" + }, + "cell_type": "markdown", + "source": "## 7-15-1 What is a Perceptron?" + }, + { + "metadata": { + "_uuid": "a94d82b497cbe543da0a637ecfed6e9e8b7569e7" + }, + "cell_type": "markdown", + "source": "There are many online examples and tutorials on perceptrons and learning. Here is a list of some articles:\n- [Wikipedia on Perceptrons](https://en.wikipedia.org/wiki/Perceptron)\n- Jurafsky and Martin (ed. 3), Chapter 8" + }, + { + "metadata": { + "_uuid": "e8e4da1a0b3d51a5fff38750fb4631ac3aa7eebb" + }, + "cell_type": "markdown", + "source": "This is an example that I have taken from a draft of the 3rd edition of Jurafsky and Martin, with slight modifications:\nWe import *numpy* and use its *exp* function. We could use the same function from the *math* module, or some other module like *scipy*. The *sigmoid* function is defined as in the textbook:\n" + }, + { + "metadata": { + "_uuid": "196e5a54ed0de712e2254e77439051267cad4b3d", + "trusted": true + }, + "cell_type": "code", + "source": "import numpy as np\n\ndef sigmoid(z):\n return 1 / (1 + np.exp(-z))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9aa207d0bb6a7342932406d8fa68cbd49be866b5" + }, + "cell_type": "markdown", + "source": "Our example data, **weights** $w$, **bias** $b$, and **input** $x$ are defined as:" + }, + { + "metadata": { + "_uuid": "69cae82df8a906ad43594464c6497e05e282dcd1", + "trusted": true + }, + "cell_type": "code", + "source": "w = np.array([0.2, 0.3, 0.8])\nb = 0.5\nx = np.array([0.5, 0.6, 0.1])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8cd5da02c0fc0beedd9a3417e399982293d28fd2" + }, + "cell_type": "markdown", + "source": "Our neural unit would compute $z$ as the **dot-product** $w \\cdot x$ and add the **bias** $b$ to it. The sigmoid function defined above will convert this $z$ value to the **activation value** $a$ of the unit:" + }, + { + "metadata": { + "_uuid": "65d083572bf2cc897d816765db05758b107741ff", + "trusted": true + }, + "cell_type": "code", + "source": "z = w.dot(x) + b\nprint(\"z:\", z)\nprint(\"a:\", sigmoid(z))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9e9101a20c9a167a1d925f3b64aafb94317155e2" + }, + "cell_type": "markdown", + "source": "### 7-15-2 The XOR Problem\nThe power of neural units comes from combining them into larger networks. Minsky and Papert (1969): A single neural unit cannot compute the simple logical function XOR.\n\nThe task is to implement a simple **perceptron** to compute logical operations like AND, OR, and XOR.\n\n- Input: $x_1$ and $x_2$\n- Bias: $b = -1$ for AND; $b = 0$ for OR\n- Weights: $w = [1, 1]$\n\nwith the following activation function:\n\n$$\ny = \\begin{cases}\n \\ 0 & \\quad \\text{if } w \\cdot x + b \\leq 0\\\\\n \\ 1 & \\quad \\text{if } w \\cdot x + b > 0\n \\end{cases}\n$$" + }, + { + "metadata": { + "_uuid": "c03b3a6a5307cc53e637afd6da5c307c985be7ac" + }, + "cell_type": "markdown", + "source": "We can define this activation function in Python as:" + }, + { + "metadata": { + "_uuid": "7b0832df65fc1aa694a1cf67b8713c894b1ed2a2", + "trusted": true + }, + "cell_type": "code", + "source": "def activation(z):\n if z > 0:\n return 1\n return 0", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "27ae56a47bd180ebbfd82b3f0242c8078db6ac97" + }, + "cell_type": "markdown", + "source": "For AND we could implement a perceptron as:" + }, + { + "metadata": { + "_uuid": "3267d3f1a2864f29ff2382a2057b0b88fa74b649", + "trusted": true + }, + "cell_type": "code", + "source": "w = np.array([1, 1])\nb = -1\nx = np.array([0, 0])\nprint(\"0 AND 0:\", activation(w.dot(x) + b))\nx = np.array([1, 0])\nprint(\"1 AND 0:\", activation(w.dot(x) + b))\nx = np.array([0, 1])\nprint(\"0 AND 1:\", activation(w.dot(x) + b))\nx = np.array([1, 1])\nprint(\"1 AND 1:\", activation(w.dot(x) + b))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "dbee1f41f0bd66613f5b49e0f65be4bfd9f91283" + }, + "cell_type": "markdown", + "source": "For OR we could implement a perceptron as:" + }, + { + "metadata": { + "_uuid": "bf47440fb2f5a0fb016286f0a3a41a05a8416495", + "trusted": true + }, + "cell_type": "code", + "source": "w = np.array([1, 1])\nb = 0\nx = np.array([0, 0])\nprint(\"0 OR 0:\", activation(w.dot(x) + b))\nx = np.array([1, 0])\nprint(\"1 OR 0:\", activation(w.dot(x) + b))\nx = np.array([0, 1])\nprint(\"0 OR 1:\", activation(w.dot(x) + b))\nx = np.array([1, 1])\nprint(\"1 OR 1:\", activation(w.dot(x) + b))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "181068ef1b8e1ba568093184c41a118b4c0bfe7f" + }, + "cell_type": "markdown", + "source": "There is no way to implement a perceptron for XOR this way." + }, + { + "metadata": { + "_uuid": "d12494da861ea094378c7cf6a3409803fb5585ac" + }, + "cell_type": "markdown", + "source": "no see our prediction for iris" + }, + { + "metadata": { + "_uuid": "5f040cfaeb71f8caa94e4d7f18cccde8d2a0b8a7", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.neural_network import MLPClassifier\nModel=MLPClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\n# Summary of the predictions\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_test,y_pred))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ffc339dbf9c8da74194b994930694bd97bb2afbb" + }, + "cell_type": "markdown", + "source": "
\n## 7-16 RandomForest\nA random forest is a meta estimator that **fits a number of decision tree classifiers** on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting. \n\nThe sub-sample size is always the same as the original input sample size but the samples are drawn with replacement if bootstrap=True (default)." + }, + { + "metadata": { + "_uuid": "8ed2305b51c2248a8aa62cf4452632f448e83771", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import RandomForestClassifier\nModel=RandomForestClassifier(max_depth=2)\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1311eb15f2afceed2219faeb859d0d07b7072176" + }, + "cell_type": "markdown", + "source": "
\n## 7-17 Bagging classifier \nA Bagging classifier is an ensemble **meta-estimator** that fits base classifiers each on random subsets of the original dataset and then aggregate their individual predictions (either by voting or by averaging) to form a final prediction. Such a meta-estimator can typically be used as a way to reduce the variance of a black-box estimator (e.g., a decision tree), by introducing randomization into its construction procedure and then making an ensemble out of it.\n\nThis algorithm encompasses several works from the literature. When random subsets of the dataset are drawn as random subsets of the samples, then this algorithm is known as Pasting . If samples are drawn with replacement, then the method is known as Bagging . When random subsets of the dataset are drawn as random subsets of the features, then the method is known as Random Subspaces . Finally, when base estimators are built on subsets of both samples and features, then the method is known as Random Patches .[http://scikit-learn.org]" + }, + { + "metadata": { + "_uuid": "c11c731d3db6c1c81301da85dc158cb7d324c4cb", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import BaggingClassifier\nModel=BaggingClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c0944bd32424f38906148d96f4b1e6fccfbf97a6" + }, + "cell_type": "markdown", + "source": "
\n## 7-18 AdaBoost classifier\n\nAn AdaBoost classifier is a meta-estimator that begins by fitting a classifier on the original dataset and then fits additional copies of the classifier on the same dataset but where the weights of incorrectly classified instances are adjusted such that subsequent classifiers focus more on difficult cases.\nThis class implements the algorithm known as **AdaBoost-SAMME** ." + }, + { + "metadata": { + "_uuid": "938946ee8e017b982c4c06e193d4d13cb7d3fb5f", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import AdaBoostClassifier\nModel=AdaBoostClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9d62842d12731d3eb1d6577c5b35c12c4886c708" + }, + "cell_type": "markdown", + "source": "
\n## 7-19 Gradient Boosting Classifier\nGB builds an additive model in a forward stage-wise fashion; it allows for the optimization of arbitrary differentiable loss functions." + }, + { + "metadata": { + "_uuid": "863124561c0d1b5995d0b8d3702daa7bc364d6b0", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import GradientBoostingClassifier\nModel=GradientBoostingClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e89b4494bd78c2d66beeba34a4e320fd8c9dae0c" + }, + "cell_type": "markdown", + "source": "
\n## 7-20 Linear Discriminant Analysis\nLinear Discriminant Analysis (discriminant_analysis.LinearDiscriminantAnalysis) and Quadratic Discriminant Analysis (discriminant_analysis.QuadraticDiscriminantAnalysis) are two classic classifiers, with, as their names suggest, a **linear and a quadratic decision surface**, respectively.\n\nThese classifiers are attractive because they have closed-form solutions that can be easily computed, are inherently multiclass, have proven to work well in practice, and have no **hyperparameters** to tune." + }, + { + "metadata": { + "_uuid": "0796cd9f1c902345df605b7557a9c3ff686e35a9", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.discriminant_analysis import LinearDiscriminantAnalysis\nModel=LinearDiscriminantAnalysis()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "296137970fc94fa4a4eb4185cb5fa952b1985c57" + }, + "cell_type": "markdown", + "source": "
\n## 7-21 Quadratic Discriminant Analysis\nA classifier with a quadratic decision boundary, generated by fitting class conditional densities to the data and using Bayes’ rule.\n\nThe model fits a **Gaussian** density to each class." + }, + { + "metadata": { + "_uuid": "5f521d19f295b8e8f24f5715e93b1c45e9a6bce3", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis\nModel=QuadraticDiscriminantAnalysis()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0518634bf8850ac1bfcfc301e93a8740e1995c3a" + }, + "cell_type": "markdown", + "source": "
\n## 7-22 Kmeans \nK-means clustering is a type of unsupervised learning, which is used when you have unlabeled data (i.e., data without defined categories or groups). \n\nThe goal of this algorithm is **to find groups in the data**, with the number of groups represented by the variable K. The algorithm works iteratively to assign each data point to one of K groups based on the features that are provided.\n\n" + }, + { + "metadata": { + "_uuid": "427f08af02fc7288a5e35de5ff4b6c33b8fce491", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.cluster import KMeans\niris_SP = dataset[['SepalLengthCm','SepalWidthCm','PetalLengthCm','PetalWidthCm']]\n# k-means cluster analysis for 1-15 clusters \nfrom scipy.spatial.distance import cdist\nclusters=range(1,15)\nmeandist=[]\n\n# loop through each cluster and fit the model to the train set\n# generate the predicted cluster assingment and append the mean \n# distance my taking the sum divided by the shape\nfor k in clusters:\n model=KMeans(n_clusters=k)\n model.fit(iris_SP)\n clusassign=model.predict(iris_SP)\n meandist.append(sum(np.min(cdist(iris_SP, model.cluster_centers_, 'euclidean'), axis=1))\n / iris_SP.shape[0])\n\n\"\"\"\nPlot average distance from observations from the cluster centroid\nto use the Elbow Method to identify number of clusters to choose\n\"\"\"\nplt.plot(clusters, meandist)\nplt.xlabel('Number of clusters')\nplt.ylabel('Average distance')\nplt.title('Selecting k with the Elbow Method') \n# pick the fewest number of clusters that reduces the average distance\n# If you observe after 3 we can see graph is almost linear", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cef1144c091641f2dfe71d7e77a72c2bb80ca74f" + }, + "cell_type": "markdown", + "source": "
\n## 7-23- Backpropagation" + }, + { + "metadata": { + "_uuid": "12549f818ad49bb4e456772c96acdf8c7c8a7764" + }, + "cell_type": "markdown", + "source": "Backpropagation is a method used in artificial neural networks to calculate a gradient that is needed in the calculation of the weights to be used in the network.It is commonly used to train deep neural networks,a term referring to neural networks with more than one hidden layer." + }, + { + "metadata": { + "_uuid": "4ffbb0de42d9591f1466bae537e18c3e77ab96cf" + }, + "cell_type": "markdown", + "source": "In this example we will use a very simple network to start with. The network will only have one input and one output layer. We want to make the following predictions from the input:\n\n| Input | Output |\n| ------ |:------:|\n| 0 0 1 | 0 |\n| 1 1 1 | 1 |\n| 1 0 1 | 1 |\n| 0 1 1 | 0 |" + }, + { + "metadata": { + "_uuid": "8cb07258af41ffde3ffae4aae6fc3d2dbe9be5ca" + }, + "cell_type": "markdown", + "source": "We will use **Numpy** to compute the network parameters, weights, activation, and outputs:" + }, + { + "metadata": { + "_uuid": "9b5c9c7115e49cdb5c3c8428399e2508687efa47" + }, + "cell_type": "markdown", + "source": "We will use the *[Sigmoid](http://ml-cheatsheet.readthedocs.io/en/latest/activation_functions.html#sigmoid)* activation function:" + }, + { + "metadata": { + "_uuid": "8422345e9e9c1853acba702d0d7138e3a209f0e8", + "trusted": true + }, + "cell_type": "code", + "source": "def sigmoid(z):\n \"\"\"The sigmoid activation function.\"\"\"\n return 1 / (1 + np.exp(-z))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1eec604fbe5729fecabfc4101a7b4887bf390876" + }, + "cell_type": "markdown", + "source": "We could use the [ReLU](http://ml-cheatsheet.readthedocs.io/en/latest/activation_functions.html#activation-relu) activation function instead:" + }, + { + "metadata": { + "_uuid": "557945abedb17c571926af334d5469b4edf12b48", + "trusted": true + }, + "cell_type": "code", + "source": "def relu(z):\n \"\"\"The ReLU activation function.\"\"\"\n return max(0, z)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f405e20e385bc594337a59deba1c7d8d7769349d" + }, + "cell_type": "markdown", + "source": "The [Sigmoid](http://ml-cheatsheet.readthedocs.io/en/latest/activation_functions.html#sigmoid) activation function introduces non-linearity to the computation. It maps the input value to an output value between $0$ and $1$." + }, + { + "metadata": { + "_uuid": "d388972329e79c533e7a8b90a2cfed18e288e4e5" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "a6881ae9a1a8554739f9464119d14875beaaf8ad" + }, + "cell_type": "markdown", + "source": "The derivative of the sigmoid function is maximal at $x=0$ and minimal for lower or higher values of $x$:" + }, + { + "metadata": { + "_uuid": "dfb7cad18d4509840dea33c4aff0e6de8a6cf86b" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "616e01ca7ed747aeb817707cbd14c57a92f31553" + }, + "cell_type": "markdown", + "source": "The *sigmoid_prime* function returns the derivative of the sigmoid for any given $z$. The derivative of the sigmoid is $z * (1 - z)$. This is basically the slope of the sigmoid function at any given point: " + }, + { + "metadata": { + "_uuid": "d4be4a6c8353a98c55eba479f520cbdeecc29f1d", + "trusted": true + }, + "cell_type": "code", + "source": "def sigmoid_prime(z):\n \"\"\"The derivative of sigmoid for z.\"\"\"\n return z * (1 - z)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3be8c0c576f52ec92539039615a0b4ffe5248f57" + }, + "cell_type": "markdown", + "source": "We define the inputs as rows in *X*. There are three input nodes (three columns per vector in $X$. Each row is one trainig example:" + }, + { + "metadata": { + "_uuid": "14fa62c6d5ac721998095f5b556610e0984eea98", + "trusted": true + }, + "cell_type": "code", + "source": "X = np.array([ [ 0, 0, 1 ],\n [ 0, 1, 1 ],\n [ 1, 0, 1 ],\n [ 1, 1, 1 ] ])\nprint(X)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3f32526b2e047abdda2a1d1d611f1cf7f188f2e9" + }, + "cell_type": "markdown", + "source": "The outputs are stored in *y*, where each row represents the output for the corresponding input vector (row) in *X*. The vector is initiated as a single row vector and with four columns and transposed (using the $.T$ method) into a column vector with four rows:" + }, + { + "metadata": { + "_uuid": "dbd824213ef3fe2dd7eb01d4b4396d816bf002d3", + "trusted": true + }, + "cell_type": "code", + "source": "y = np.array([[0,0,1,1]]).T\nprint(y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5e6e2ad9b6539e5c3d6aff5cf2db5f44c0f2611e" + }, + "cell_type": "markdown", + "source": "To make the outputs deterministic, we seed the random number generator with a constant. This will guarantee that every time you run the code, you will get the same random distribution:" + }, + { + "metadata": { + "_uuid": "6a441227d4cd02b6654e7800cb823e8eef62ff1d", + "trusted": true + }, + "cell_type": "code", + "source": "np.random.seed(1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7cc15f07e9c4a15ec48265dd70f1e60e292f6485" + }, + "cell_type": "markdown", + "source": "We create a weight matrix ($Wo$) with randomly initialized weights:" + }, + { + "metadata": { + "_uuid": "f1be1de240c6e7b718def61d73d5b7b4f770b54a", + "trusted": true + }, + "cell_type": "code", + "source": "n_inputs = 3\nn_outputs = 1\n#Wo = 2 * np.random.random( (n_inputs, n_outputs) ) - 1\nWo = np.random.random( (n_inputs, n_outputs) ) * np.sqrt(2.0/n_inputs)\nprint(Wo)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f690ef1844d5344c2513381b6169f3bfe6080714" + }, + "cell_type": "markdown", + "source": "The reason for the output weight matrix ($Wo$) to have 3 rows and 1 column is that it represents the weights of the connections from the three input neurons to the single output neuron. The initialization of the weight matrix is random with a mean of $0$ and a variance of $1$. There is a good reason for chosing a mean of zero in the weight initialization. See for details the section on Weight Initialization in the [Stanford course CS231n on Convolutional Neural Networks for Visual Recognition](https://cs231n.github.io/neural-networks-2/#init)." + }, + { + "metadata": { + "_uuid": "4b87807dc117e0908ec98b4e54843dc8f29c7397" + }, + "cell_type": "markdown", + "source": "The core representation of this network is basically the weight matrix *Wo*. The rest, input matrix, output vector and so on are components that we need to learning and evaluation. The leraning result is stored in the *Wo* weight matrix." + }, + { + "metadata": { + "_uuid": "fb1319477d80a209e9caa3129b6371d872dab29b" + }, + "cell_type": "markdown", + "source": "We loop in the optimization and learning cycle 10,000 times. In the *forward propagation* line we process the entire input matrix for training. This is called **full batch** training. I do not use an alternative variable name to represent the input layer, instead I use the input matrix $X$ directly here. Think of this as the different inputs to the input neurons computed at once. In principle the input or training data could have many more training examples, the code would stay the same." + }, + { + "metadata": { + "_uuid": "45907fc6c64b83116860d2c3dab8d252fd470c3e", + "trusted": true + }, + "cell_type": "code", + "source": "for n in range(10000):\n # forward propagation\n l1 = sigmoid(np.dot(X, Wo))\n \n # compute the loss\n l1_error = y - l1\n #print(\"l1_error:\\n\", l1_error)\n \n # multiply the loss by the slope of the sigmoid at l1\n l1_delta = l1_error * sigmoid_prime(l1)\n #print(\"l1_delta:\\n\", l1_delta)\n \n #print(\"error:\", l1_error, \"\\nderivative:\", sigmoid(l1, True), \"\\ndelta:\", l1_delta, \"\\n\", \"-\"*10, \"\\n\")\n # update weights\n Wo += np.dot(X.T, l1_delta)\n\nprint(\"l1:\\n\", l1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6d887640b00bf8d73c4544ef23d11c296ff15154" + }, + "cell_type": "markdown", + "source": "The dots in $l1$ represent the lines in the graphic below. The lines represent the slope of the sigmoid in the particular position. The slope is highest with a value $x = 0$ (blue dot). It is rather shallow with $x = 2$ (green dot), and not so shallow and not as high with $x = -1$. All derivatives are between $0$ and $1$, of course, that is, no slope or a maximal slope of $1$. There is no negative slope in a sigmoid function." + }, + { + "metadata": { + "_uuid": "01ea3085bf5e9dd4babee8437895735c9aa54763" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "c0cfdf91801ec2bbffc34a7a95f6e899ed7a39fc" + }, + "cell_type": "markdown", + "source": "The matrix $l1\\_error$ is a 4 by 1 matrix (4 rows, 1 column). The derivative matrix $sigmoid\\_prime(l1)$ is also a 4 by one matrix. The returned matrix of the element-wise product $l1\\_delta$ is also the 4 by 1 matrix." + }, + { + "metadata": { + "_uuid": "5349a8fcd505990baa71481697397cef4f2176fb" + }, + "cell_type": "markdown", + "source": "The product of the error and the slopes **reduces the error of high confidence predictions**. When the sigmoid slope is very shallow, the network had a very high or a very low value, that is, it was rather confident. If the network guessed something close to $x=0, y=0.5$, it was not very confident. Such predictions without confidence are updated most significantly. The other peripheral scores are multiplied with a number closer to $0$." + }, + { + "metadata": { + "_uuid": "057f51f99a2a87073013e9e2b9f5538c98297cf3" + }, + "cell_type": "markdown", + "source": "In the prediction line $l1 = sigmoid(np.dot(X, Wo))$ we compute the dot-product of the input vectors with the weights and compute the sigmoid on the sums.\nThe result of the dot-product is the number of rows of the first matrix ($X$) and the number of columns of the second matrix ($Wo$).\nIn the computation of the difference between the true (or gold) values in $y$ and the \"guessed\" values in $l1$ we have an estimate of the miss." + }, + { + "metadata": { + "_uuid": "7c64e2c97d7093bb8f71d5bd173820b526fc71a1" + }, + "cell_type": "markdown", + "source": "An example computation for the input $[ 1, 0, 1 ]$ and the weights $[ 9.5, 0.2, -0.1 ]$ and an output of $0.99$: If $y = 1$, the $l1\\_error = y - l2 = 0.01$, and $l1\\_delta = 0.01 * tiny\\_deriv$:" + }, + { + "metadata": { + "_uuid": "602abaf7339d617f2e0333c86ab98b94bb40a96d" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "3307f0633c665a5fa0aaa97898ab6a1d1d9f6fac" + }, + "cell_type": "markdown", + "source": "## 7-23-1 More Complex Example with Backpropagation" + }, + { + "metadata": { + "_uuid": "750b541e55ae336dcee16ff38d672dff649792a6" + }, + "cell_type": "markdown", + "source": "Consider now a more complicated example where no column has a correlation with the output:\n\n| Input | Output |\n| ------ |:------:|\n| 0 0 1 | 0 |\n| 0 1 1 | 1 |\n| 1 0 1 | 1 |\n| 1 1 1 | 0 |" + }, + { + "metadata": { + "_uuid": "85bc7295eaf21d0bfad6c4572bfb868d74b2e1aa" + }, + "cell_type": "markdown", + "source": "The pattern here is our XOR pattern or problem: If there is a $1$ in either column $1$ or $2$, but not in both, the output is $1$ (XOR over column $1$ and $2$)." + }, + { + "metadata": { + "_uuid": "340ea076b1899802093da816d92017ce2b3d2716" + }, + "cell_type": "markdown", + "source": "From our discussion of the XOR problem we remember that this is a *non-linear pattern*, a **one-to-one relationship between a combination of inputs**." + }, + { + "metadata": { + "_uuid": "b64402f35850471c7136b201c783b9d9e60e6556" + }, + "cell_type": "markdown", + "source": "To cope with this problem, we need a network with another layer, that is a layer that will combine and transform the input, and an additional layer will map it to the output. We will add a *hidden layer* with randomized weights and then train those to optimize the output probabilities of the table above." + }, + { + "metadata": { + "_uuid": "28829b11334a35dc1649f1d6d2134ed4e0d1a795" + }, + "cell_type": "markdown", + "source": "We will define a new $X$ input matrix that reflects the above table:" + }, + { + "metadata": { + "_uuid": "2c41f4546c675916ff0964370bc98a6862353666", + "trusted": true + }, + "cell_type": "code", + "source": "X = np.array([[0, 0, 1],\n [0, 1, 1],\n [1, 0, 1],\n [1, 1, 1]])\nprint(X)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "20aff6095cd099acf174500e76946c12481192d7" + }, + "cell_type": "markdown", + "source": "We also define a new output matrix $y$:" + }, + { + "metadata": { + "_uuid": "508e0c65bdd467bfed8d69ac52638d8821dd9e2f", + "trusted": true + }, + "cell_type": "code", + "source": "y = np.array([[ 0, 1, 1, 0]]).T\nprint(y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "87a03d01b3b1df0ff847a7507cc66ae87f1669d2" + }, + "cell_type": "markdown", + "source": "We initialize the random number generator with a constant again:" + }, + { + "metadata": { + "_uuid": "237da33769d159e1d450e66c93e677618c0a127f", + "trusted": true + }, + "cell_type": "code", + "source": "np.random.seed(1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "03c37d00f1d7b87c44e7a4777990049af4044548" + }, + "cell_type": "markdown", + "source": "Assume that our 3 inputs are mapped to 4 hidden layer ($Wh$) neurons, we have to initialize the hidden layer weights in a 3 by 4 matrix. The outout layer ($Wo$) is a single neuron that is connected to the hidden layer, thus the output layer is a 4 by 1 matrix:" + }, + { + "metadata": { + "_uuid": "823a9291e688f1840b781b5aeba9779215206676", + "trusted": true + }, + "cell_type": "code", + "source": "n_inputs = 3\nn_hidden_neurons = 4\nn_output_neurons = 1\nWh = np.random.random( (n_inputs, n_hidden_neurons) ) * np.sqrt(2.0/n_inputs)\nWo = np.random.random( (n_hidden_neurons, n_output_neurons) ) * np.sqrt(2.0/n_hidden_neurons)\nprint(\"Wh:\\n\", Wh)\nprint(\"Wo:\\n\", Wo)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d27aca98d06bc0ed16678628d6927015b8dfe427" + }, + "cell_type": "markdown", + "source": "We will loop now 60,000 times to optimize the weights:" + }, + { + "metadata": { + "_uuid": "90add134167965958223083f3c3a7818795777bc", + "trusted": true + }, + "cell_type": "code", + "source": "for i in range(100000):\n l1 = sigmoid(np.dot(X, Wh))\n l2 = sigmoid(np.dot(l1, Wo))\n \n l2_error = y - l2\n \n if (i % 10000) == 0:\n print(\"Error:\", np.mean(np.abs(l2_error)))\n \n # gradient, changing towards the target value\n l2_delta = l2_error * sigmoid_prime(l2)\n \n # compute the l1 contribution by value to the l2 error, given the output weights\n l1_error = l2_delta.dot(Wo.T)\n \n # direction of the l1 target:\n # in what direction is the target l1?\n l1_delta = l1_error * sigmoid_prime(l1)\n \n Wo += np.dot(l1.T, l2_delta)\n Wh += np.dot(X.T, l1_delta)\n\nprint(\"Wo:\\n\", Wo)\nprint(\"Wh:\\n\", Wh)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "263abd8f132d7b73ab2eb67c56caf1508a35d1d3" + }, + "cell_type": "markdown", + "source": "The new computation in this new loop is $l1\\_error = l2\\_delta.dot(Wo.T)$, a **confidence weighted error** from $l2$ to compute an error for $l1$. The computation sends the error across the weights from $l2$ to $l1$. The result is a **contribution weighted error**, because we learn how much each node value in $l1$ **contributed** to the error in $l2$. This step is called **backpropagation**. We update $Wh$ using the same steps we did in the 2 layer implementation." + }, + { + "metadata": { + "trusted": true, + "_uuid": "60e0e926937b245cc36fe5845bf6be7cbdd6b341" + }, + "cell_type": "code", + "source": "from sklearn import datasets\niris = datasets.load_iris()\nX_iris = iris.data\ny_iris = iris.target", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "f33de6d7fe6de563e798b128857aa1420e31b290" + }, + "cell_type": "code", + "source": "plt.figure('sepal')\ncolormarkers = [ ['red','s'], ['greenyellow','o'], ['blue','x']]\nfor i in range(len(colormarkers)):\n px = X_iris[:, 0][y_iris == i]\n py = X_iris[:, 1][y_iris == i]\n plt.scatter(px, py, c=colormarkers[i][0], marker=colormarkers[i][1])\n\nplt.title('Iris Dataset: Sepal width vs sepal length')\nplt.legend(iris.target_names)\nplt.xlabel('Sepal length')\nplt.ylabel('Sepal width')\nplt.figure('petal')\n\nfor i in range(len(colormarkers)):\n px = X_iris[:, 2][y_iris == i]\n py = X_iris[:, 3][y_iris == i]\n plt.scatter(px, py, c=colormarkers[i][0], marker=colormarkers[i][1])\n\nplt.title('Iris Dataset: petal width vs petal length')\nplt.legend(iris.target_names)\nplt.xlabel('Petal length')\nplt.ylabel('Petal width')\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "97adc471c068fbd8d36ca19a4db0d98b0924c731" + }, + "cell_type": "markdown", + "source": "-----------------\n
\n# 8- Conclusion" + }, + { + "metadata": { + "_uuid": "1adfb5ba84e0f1d8fba58a2fca30546ead095047", + "collapsed": true + }, + "cell_type": "markdown", + "source": "In this kernel, I have tried to cover all the parts related to the process of **Machine Learning** with a variety of Python packages and I know that there are still some problems then I hope to get your feedback to improve it.\n" + }, + { + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "cell_type": "markdown", + "source": "Fork and Run this Notebook on GitHub:\n\n> #### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n--------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated** " + }, + { + "metadata": { + "_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0", + "_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a", + "collapsed": true + }, + "cell_type": "markdown", + "source": "
\n\n-----------\n\n# 9- References\n1. [Iris image](https://rpubs.com/wjholst/322258)\n1. [IRIS](https://archive.ics.uci.edu/ml/datasets/iris)\n1. [https://skymind.ai/wiki/machine-learning-workflow](https://skymind.ai/wiki/machine-learning-workflow)\n1. [IRIS-wiki](https://archive.ics.uci.edu/ml/datasets/iris)\n1. [Problem-define](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n1. [Sklearn](http://scikit-learn.org/)\n1. [machine-learning-in-python-step-by-step](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n1. [Data Cleaning](http://wp.sigmod.org/?p=2288)\n1. [competitive data science](https://www.coursera.org/learn/competitive-data-science/)\n1. [Top 28 Cheat Sheets for Machine Learning](https://www.analyticsvidhya.com/blog/2017/02/top-28-cheat-sheets-for-machine-learning-data-science-probability-sql-big-data/)\n\n\n-------------\n" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/README.md b/README.md index 3a4e5bc..6684b82 100644 --- a/README.md +++ b/README.md @@ -1,75 +1,195 @@ -## A Comprehensive Machine Learning Workflow with Python -There are plenty of courses and tutorials that can help you learn machine learning from scratch but here in Kaggle, I want to solve a simple machine learning problem as a comprehensive workflow with python packages.Then +# 1- Introduction +This is a **comprehensive ML techniques with python** , that I have spent for more than two months to complete it. -After reading, you can use this workflow to solve other real problems and use it as a template to deal with machine learning problems. +I think it is a great opportunity for who want to learn machine learning workflow with python completely. +I have covered most of the methods that are implemented for iris until **2018**, you can start to learn and review your knowledge about ML with a simple dataset and try to learn and memorize the workflow for your journey in Data science world. +I am open to getting your feedback for improving this +
+# 2- Machine Learning Workflow +Field of study that gives computers the ability to learn without being +explicitly programmed. + +Arthur Samuel, 1959 + +If you have already read some [machine learning books](https://towardsdatascience.com/list-of-free-must-read-machine-learning-books-89576749d2ff). You have noticed that there are different ways to stream data into machine learning. + +most of these books share the following steps (checklist): +* Define the Problem(Look at the big picture) +* Specify Inputs & Outputs +* Data Collection +* Exploratory data analysis +* Data Preprocessing +* Model Design, Training, and Offline Evaluation +* Model Deployment, Online Evaluation, and Monitoring +* Model Maintenance, Diagnosis, and Retraining + +**You can see my workflow in the below image** : + + +**you should feel free to adapt this checklist to your needs** +## 2-1 Real world Application Vs Competitions + +
+# 3- Problem Definition +I think one of the important things when you start a new machine learning project is Defining your problem. that means you should understand business problem.( **Problem Formalization**) + +Problem Definition has four steps that have illustrated in the picture below: + +
+### 3-1 Problem Feature +we will use the classic Iris data set. This dataset contains information about three different types of Iris flowers: + +* Iris Versicolor +* Iris Virginica +* Iris Setosa + +The data set contains measurements of four variables : + +* sepal length +* sepal width +* petal length +* petal width + +The Iris data set has a number of interesting features: + +1. One of the classes (Iris Setosa) is linearly separable from the other two. However, the other two classes are not linearly separable. + +2. There is some overlap between the Versicolor and Virginica classes, so it is unlikely to achieve a perfect classification rate. + +3. There is some redundancy in the four input variables, so it is possible to achieve a good solution with only three of them, or even (with difficulty) from two, but the precise choice of best variables is not obvious. + +**Why am I using this dataset:** + +1- This is a good project because it is so well understood. + +2- Attributes are numeric so you have to figure out how to load and handle data. + +3- It is a classification problem, allowing you to practice with perhaps an easier type of supervised learning algorithm. + +4- It is a multi-class classification problem (multi-nominal) that may require some specialized handling. + +5- It only has 4 attributes and 150 rows, meaning it is small and easily fits into memory (and a screen or A4 page). + +6- All of the numeric attributes are in the same units and the same scale, not requiring any special scaling or transforms to get started.[5] + +7- we can define problem as clustering(unsupervised algorithm) project too. +
+### 3-2 Aim +The aim is to classify iris flowers among three species (setosa, versicolor or virginica) from measurements of length and width of sepals and petals +
+### 3-3 Variables +The variables are : +**sepal_length**: Sepal length, in centimeters, used as input. +**sepal_width**: Sepal width, in centimeters, used as input. +**petal_length**: Petal length, in centimeters, used as input. +**petal_width**: Petal width, in centimeters, used as input. +**setosa**: Iris setosa, true or false, used as target. +**versicolour**: Iris versicolour, true or false, used as target. +**virginica**: Iris virginica, true or false, used as target. + +**<< Note >>** +> You must answer the following question: +How does your company expact to use and benfit from your model. +
+# 4- Inputs & Outputs +
+### 4-1 Inputs +**Iris** is a very popular **classification** and **clustering** problem in machine learning and it is such as "Hello world" program when you start learning a new programming language. then I decided to apply Iris on 20 machine learning method on it. +The Iris flower data set or Fisher's Iris data set is a **multivariate data set** introduced by the British statistician and biologist Ronald Fisher in his 1936 paper The use of multiple measurements in taxonomic problems as an example of linear discriminant analysis. It is sometimes called Anderson's Iris data set because Edgar Anderson collected the data to quantify the morphologic variation of Iris flowers in three related species. Two of the three species were collected in the Gaspé Peninsula "all from the same pasture, and picked on the same day and measured at the same time by the same person with the same apparatus". +The data set consists of 50 samples from each of three species of Iris (Iris setosa, Iris virginica, and Iris versicolor). Four features were measured from each sample: the length and the width of the sepals and petals, in centimeters. Based on the combination of these four features, Fisher developed a linear discriminant model to distinguish the species from each other. + +As a result, **iris dataset is used as the input of all algorithms**. +![iris](https://image.ibb.co/gbH3ue/iris.png) +[image source](https://rpubs.com/wjholst/322258) +
+### 4-2 Outputs +the outputs for our algorithms totally depend on the type of classification or clustering algorithms. +the outputs can be the number of clusters or predict for new input. + +**setosa**: Iris setosa, true or false, used as target. +**versicolour**: Iris versicolour, true or false, used as target. +**virginica**: Iris virginica, true or false, used as a target. +
+# 5-Installation +#### Windows: +* Anaconda (from https://www.continuum.io) is a free Python distribution for SciPy stack. It is also available for Linux and Mac. +* Canopy (https://www.enthought.com/products/canopy/) is available as free as well as commercial distribution with full SciPy stack for Windows, Linux and Mac. +* Python (x,y) is a free Python distribution with SciPy stack and Spyder IDE for Windows OS. (Downloadable from http://python-xy.github.io/) +#### Linux +Package managers of respective Linux distributions are used to install one or more packages in SciPy stack. + +For Ubuntu Users: +sudo apt-get install python-numpy python-scipy python-matplotlibipythonipythonnotebook +python-pandas python-sympy python-nose +
+## 5-1 Jupyter notebook +I strongly recommend installing **Python** and **Jupyter** using the **[Anaconda Distribution](https://www.anaconda.com/download/)**, which includes Python, the Jupyter Notebook, and other commonly used packages for scientific computing and data science. + +First, download Anaconda. We recommend downloading Anaconda’s latest Python 3 version. + +Second, install the version of Anaconda which you downloaded, following the instructions on the download page. + +Congratulations, you have installed Jupyter Notebook! To run the notebook, run the following command at the Terminal (Mac/Linux) or Command Prompt (Windows): +
+## 5-5 Loading Packages + +In this kernel we are using the following packages: + + + + Now we import all of them + +
+# 6- Exploratory Data Analysis(EDA) + In this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data. + +* Which variables suggest interesting relationships? +* Which observations are unusual? + +By the end of the section, you'll be able to answer these questions and more, while generating graphics that are both insightful and beautiful. then We will review analytical and statistical operations: + +* 5-1 Data Collection +* 5-2 Visualization +* 5-3 Data Preprocessing +* 5-4 Data Cleaning + +
+## 6-1 Data Collection +**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia] + +**Iris dataset** consists of 3 different types of irises’ (Setosa, Versicolour, and Virginica) petal and sepal length, stored in a 150x4 numpy.ndarray + +The rows being the samples and the columns being: Sepal Length, Sepal Width, Petal Length and Petal Width.[6] + +
+## 6-2 Visualization +**Data visualization** is the presentation of data in a pictorial or graphical format. It enables decision makers to see analytics presented visually, so they can grasp difficult concepts or identify new patterns. + +With interactive visualization, you can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data you see and how it’s processed.[SAS] + + In this section I show you **11 plots** with **matplotlib** and **seaborn** that is listed in the blew picture: + +# Help + +I hope you have enjoyed reading my python notebook. + +If you have any problem to run notebook please open an issue here in github. + +for most of the my notebook you need **dataset** as input. + +To use the **correct data**, please **download** the dat set from the **Kaggle** site and put it in your notebook folder. + +**Mj Bhamnai** + +mohamadjavad.bahmani@gmail.com + + **Have Fun!** + you can follow me on: > ###### [ GitHub](https://github.com/mjbahmani) > ###### [LinkedIn](https://www.linkedin.com/in/bahmani/) > ###### [Kaggle](https://www.kaggle.com/mjbahmani/) -## Notebook Content -* 1- Introduction -* 2- Machine learning workflow -* 3- Problem Definition -* 3-1 Problem feature -* 3-2 Aim -* 3-3 Variables -* 4- Inputs & Outputs -* 4-1 Inputs -* 4-2 Outputs -* 5- Installation -* 5-1 jupyter notebook -* 5-2 kaggle kernel -* 5-3 Colab notebook -* 5-4 install python & packages -* 5-5 Loading Packages -* 6- Exploratory data analysis -* 6-1 Data Collection -* 6-2 Visualization -* 6-2-1 Scatter plot -* 6-2-2 Box -* 6-2-3 Histogram -* 6-2-4 Multivariate Plots -* 6-2-5 Violinplots -* 6-2-6 Pair plot -* 6-2-7 Kde plot -* 6-2-8 Joint plot -* 6-2-9 Andrews curves -* 6-2-10 Heatmap -* 6-2-11 Radviz -* 6-3 Data Preprocessing -* 6-4 Data Cleaning -* 7- Model Deployment -* 7-1 KNN -* 7-2 Radius Neighbors Classifier -* 7-3 Logistic Regression -* 7-4 Passive Aggressive Classifier -* 7-5 Naive Bayes -* 7-6 MultinomialNB -* 7-7 BernoulliNB -* 7-8 SVM -* 7-9 Nu-Support Vector Classification -* 7-10Linear Support Vector Classification -* 7-11 Decision Tree -* 7-12 ExtraTreeClassifier -* 7-13 Neural network -* 7-14 RandomForest -* 7-15 Bagging classifier -* 7-16 AdaBoost classifier -* 7-17 Gradient Boosting Classifier -* 7-18 Linear Discriminant Analysis -* 7-19 Quadratic Discriminant Analysis -* 7-20 Kmeans -* 8- Conclusion -* 9- References - -# Introduction -This is a comprehensive ML techniques for IRIS data set, that I have spent for more than two months to complete it. - -it is clear that everyone in this community is familiar with IRIS dataset but if you need to review your information about the dataset please visit this link. - -I have tried to help beginners in Kaggle how to face machine learning problems. and I think it is a great opportunity for who want to learn machine learning workflow with python completely. I have covered most of the methods that are implemented for iris until 2018, you can start to learn and review your knowledge about ML with a simple dataset and try to learn and memorize the workflow for your journey in Data science world. - -I am open to getting your feedback for improving this kernel + ## Please Fork the Repository to continue... diff --git "a/The Data Scientist\342\200\231s Toolbox Tutorial/The Data Scientist\342\200\231s Toolbox Tutorial - 2.ipynb" "b/The Data Scientist\342\200\231s Toolbox Tutorial/The Data Scientist\342\200\231s Toolbox Tutorial - 2.ipynb" new file mode 100644 index 0000000..a9ae570 --- /dev/null +++ "b/The Data Scientist\342\200\231s Toolbox Tutorial/The Data Scientist\342\200\231s Toolbox Tutorial - 2.ipynb" @@ -0,0 +1,3513 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "1247188a5193a0bb99f176fea36dc594d283160e" + }, + "cell_type": "markdown", + "source": "#
The Data Scientist’s Toolbox Tutorial - 2
\n\n###
Quite Practical and Far from any Theoretical Concepts
\n\n
last update: 30/12/2018
\n\n\n>###### You may be interested have a look at the previous version: [**The Data Scientist’s Toolbox Tutorial - 1**](https://www.kaggle.com/mjbahmani/the-data-scientist-s-toolbox-tutorial-1)\n\n\n---------------------------------------------------------------------\nYou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n-------------------------------------------------------------------------------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "0a45d14ee727bf2f88a7cd0ba5e6aa338977d10b" + }, + "cell_type": "markdown", + "source": "
\n## Notebook Content\n1. [Introduction](#1)\n 1. [Import](#2)\n 1. [Version](#3)\n1. [Sklearn](#4)\n 1. [Data Collection](#5)\n 1. [Framework](#6)\n 1. [Applications](#7)\n 1. [How to use Sklearn Data Set? ](#8)\n 1. [Loading external data](#9)\n 1. [Model Deployment](#10)\n 1. [Families of ML algorithms](#11)\n 1. [Prepare Features & Targets](#12)\n 1. [Accuracy and precision](#13)\n 1. [Estimators](#14)\n 1. [Predictors](#15)\n 1. [K-Nearest Neighbours](#16)\n 1. [Radius Neighbors Classifier](#17)\n 1. [Logistic Regression](#18)\n 1. [Passive Aggressive Classifier](#19)\n 1. [Naive Bayes](#20)\n 1. [BernoulliNB](#21)\n 1. [SVM](#22)\n 1. [Nu-Support Vector Classification](#23)\n 1. [Linear Support Vector Classification](#24)\n 1. [Decision Tree](#25)\n 1. [ExtraTreeClassifier](#26)\n 1. [Neural network](#27)\n 1. [What is a Perceptron?](#28)\n 1. [The XOR Problem](#29)\n 1. [RandomForest](#30)\n 1. [Bagging classifier ](#31)\n 1. [AdaBoost classifier](#32)\n 1. [Gradient Boosting Classifier](#33)\n 1. [Linear Discriminant Analysis](#34)\n 1. [Quadratic Discriminant Analysis](#35)\n 1. [Kmeans](#36)\n 1. [Plot classification probability](#37)\n1. [conclusion](#47)\n1. [References](#48)" + }, + { + "metadata": { + "_uuid": "ec7344e7f2a1bafa9a44a518722fcd8ec47c374b" + }, + "cell_type": "markdown", + "source": "
\n# 1-Introduction\nThis Kernel is mostly for **beginners**, and of course, all **professionals** who think they need to review their knowledge.\nAlso, this is the second version for ( [The Data Scientist’s Toolbox Tutorial - 1](https://www.kaggle.com/mjbahmani/the-data-scientist-s-toolbox-tutorial-1) ) and we will continue with other important packages in this kernel.keep following!" + }, + { + "metadata": { + "_uuid": "4e28cde75726e3617dc80585626f7f8a1297a9e4" + }, + "cell_type": "markdown", + "source": "
\n## 1-1 Import" + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_kg_hide-input": true, + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": false + }, + "cell_type": "code", + "source": "from sklearn.gaussian_process import GaussianProcessClassifier\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.metrics import classification_report\nfrom sklearn.gaussian_process.kernels import RBF\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.metrics import accuracy_score\nfrom sklearn.decomposition import PCA\nfrom sklearn import preprocessing\nimport matplotlib.pyplot as plt\nfrom pandas import get_dummies\nfrom sklearn import datasets\nfrom sklearn.svm import SVC\nimport seaborn as sns\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport scipy\nimport numpy\nimport json\nimport sys\nimport csv\nimport os", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3c3c434ac82d771c5549c4f36d0e8e878489f252" + }, + "cell_type": "markdown", + "source": "
\n## 1-2 Version" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "72fdff866b7cbe404867e82f9122e16fc33facf2", + "trusted": false + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4284a92f8326eb09dccf0a795f44931c5a7487cc" + }, + "cell_type": "markdown", + "source": "
\n## 1-3 Setup\n\nA few tiny adjustments for better **code readability**" + }, + { + "metadata": { + "_uuid": "bfb701e45e93aea0b3ed64e148ca2fdb53559038", + "collapsed": true + }, + "cell_type": "markdown", + "source": "
\n# 2- Numerical Python (NumPy)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "db9a850ebb440ca960a0713d822e20090bc10601", + "trusted": false + }, + "cell_type": "code", + "source": "import numpy as np", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "79699175b4559f509181d359393167f801735485" + }, + "cell_type": "markdown", + "source": "
\n## 2-1 NumPy :Creating Arrays" + }, + { + "metadata": { + "_uuid": "fb5123cfa4687a819758ea82810984fa69d631e3" + }, + "cell_type": "markdown", + "source": "Create a list and convert it to a numpy array" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "1cdc9404b31261269891723ddc59064802063041", + "trusted": false + }, + "cell_type": "code", + "source": "mylist = [1, 2, 3]\nx = np.array(mylist)\nx", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "85123a6bf0589918ff03fe9916b06635fa32b776" + }, + "cell_type": "markdown", + "source": "
\nOr just pass in a list directly" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "dca7dd9319716e863760bb7c4e1e47a1c17d7b1b", + "trusted": false + }, + "cell_type": "code", + "source": "y = np.array([4, 5, 6])\ny", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5a29d1e6bb19131b3bde9ae197b562cf5c905f2a" + }, + "cell_type": "markdown", + "source": "
\nPass in a list of lists to create a multidimensional array." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "e18e77b6d1becf1b7ded3a4daa361dbe3f985d96", + "trusted": false + }, + "cell_type": "code", + "source": "m = np.array([[7, 8, 9], [10, 11, 12]])\nm", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "956c870e985074aadd2aa97b8a4c820c64bd7d2b" + }, + "cell_type": "markdown", + "source": "
\nUse the shape method to find the dimensions of the array. (rows, columns)." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7e5472233313b1eb806b7e9dfd2478f4155b23d0", + "trusted": false + }, + "cell_type": "code", + "source": "m.shape", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d20433435f865bf4593ee8b5eae4cb2173794a57" + }, + "cell_type": "markdown", + "source": "
\n`arange` returns evenly spaced values within a given interval." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "87aded8cbe232bfcb4ce246ecf1bac0b70d9477e", + "trusted": false + }, + "cell_type": "code", + "source": "n = np.arange(0, 30, 2) # start at 0 count up by 2, stop before 30\nn", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ef6d0651972cb576188cd986830aae2d53bb20b8" + }, + "cell_type": "markdown", + "source": "
\n`reshape` returns an array with the same data with a new shape." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "6722026f830d545bfd21a2760f80c20e33c0d757", + "trusted": false + }, + "cell_type": "code", + "source": "n = n.reshape(3, 5) # reshape array to be 3x5\nn", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a47a0e9b094d81ae9ec235cd33d395ca34c379b3" + }, + "cell_type": "markdown", + "source": "
\n`linspace` returns evenly spaced numbers over a specified interval." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "099d0b4b7f3c6e5aef6cebd760e3c6b8111205d8", + "trusted": false + }, + "cell_type": "code", + "source": "o = np.linspace(0, 4, 9) # return 9 evenly spaced values from 0 to 4\no", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e5abb93fd66c344624ad2bb5e91ec1cd8a9ab220" + }, + "cell_type": "markdown", + "source": "
\n`resize` changes the shape and size of array in-place." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "66de4ad6fbb8a2ffe7251b667de732fe0048c39c", + "trusted": false + }, + "cell_type": "code", + "source": "o.resize(3, 3)\no", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "95af33fa252b8ccc4afad8666e0a7ced2d83aee9" + }, + "cell_type": "markdown", + "source": "
\n`ones` returns a new array of given shape and type, filled with ones." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "015e5a604fceb5b335760d85f090812416ab0edd", + "trusted": false + }, + "cell_type": "code", + "source": "np.ones((3, 2))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "415ba7eb6ffcca82d1ad73b6e652d77c2b40c4c7" + }, + "cell_type": "markdown", + "source": "
\n`zeros` returns a new array of given shape and type, filled with zeros." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "4833b4502eac60ec53ca4ab55f10653103be3584", + "trusted": false + }, + "cell_type": "code", + "source": "np.zeros((2, 3))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "acbef4f6ab93b0ea5ed8bea30ec0eddbce8415f1" + }, + "cell_type": "markdown", + "source": "
\n`eye` returns a 2-D array with ones on the diagonal and zeros elsewhere." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5e4e8112e5829b290385bd076041d9d0c43bdd4e", + "trusted": false + }, + "cell_type": "code", + "source": "np.eye(3)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bb258a18b84c56c26c19e5e467f8886a3209eb6d" + }, + "cell_type": "markdown", + "source": "
\n`diag` extracts a diagonal or constructs a diagonal array." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "0167bbb06dc5175a14e2d1844b3e92c3f601e156", + "trusted": false + }, + "cell_type": "code", + "source": "np.diag(y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "05f0ea0d69c70181a0ddee0b0a0670afc1a5761c" + }, + "cell_type": "markdown", + "source": "
\nCreate an array using repeating list (or see `np.tile`)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "76f7c4dd56d1f9ba9c8dcc3bf3b0e67bc62326de", + "trusted": false + }, + "cell_type": "code", + "source": "np.array([1, 2, 3] * 3)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e9d6935951d0df2a4d60f66b302da7b876006c71" + }, + "cell_type": "markdown", + "source": "
\nRepeat elements of an array using `repeat`." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7299b4990895d4ea8a59447489fa6fbc0cde5ea6", + "trusted": false + }, + "cell_type": "code", + "source": "np.repeat([1, 2, 3], 3)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "01250c2ea726f387db5f3fab5a004e741e574a35" + }, + "cell_type": "markdown", + "source": "
\n## 2-2 Numpy:Combining Arrays\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "0dc57919256360d1ac309813fb6e836f75d17484", + "trusted": false + }, + "cell_type": "code", + "source": "p = np.ones([2, 3], int)\np", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "98aa86e98478bcad2ce35eded8e2adb825bbf709" + }, + "cell_type": "markdown", + "source": "
\nUse `vstack` to stack arrays in sequence vertically (row wise)." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "48b0f8194df6a4f63932d97b24883d6a5d69d0df", + "trusted": false + }, + "cell_type": "code", + "source": "np.vstack([p, 2*p])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a2cf2eb6fdf3deccca31df9979dd978241adadb8" + }, + "cell_type": "markdown", + "source": "
\nUse `hstack` to stack arrays in sequence horizontally (column wise)." + }, + { + "metadata": { + "_uuid": "834984b63056d7161f261d868d85b83f24403287", + "trusted": false + }, + "cell_type": "code", + "source": "np.hstack([p, 2*p])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b82f24eec48ab5206a47d04a36e5e639dad7f9a1" + }, + "cell_type": "markdown", + "source": "
\n## 2-3 Numpy:Operations\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "d58a4bb35b9f1525736b28ffc7e2b6ead4035266" + }, + "cell_type": "markdown", + "source": "Use `+`, `-`, `*`, `/` and `**` to perform element wise addition, subtraction, multiplication, division and power." + }, + { + "metadata": { + "_uuid": "7ba8b42fcdcdc83e6f43df83b73665aa289e9786", + "trusted": false + }, + "cell_type": "code", + "source": "print(x + y) # elementwise addition [1 2 3] + [4 5 6] = [5 7 9]\nprint(x - y) # elementwise subtraction [1 2 3] - [4 5 6] = [-3 -3 -3]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cd42ade6bd206750b5dde1086b06bde519f2b1df", + "trusted": false + }, + "cell_type": "code", + "source": "print(x * y) # elementwise multiplication [1 2 3] * [4 5 6] = [4 10 18]\nprint(x / y) # elementwise divison [1 2 3] / [4 5 6] = [0.25 0.4 0.5]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3370d5b9b8ca04ed5be48331c3d6d4d08738ab5d", + "trusted": false + }, + "cell_type": "code", + "source": "print(x**2) # elementwise power [1 2 3] ^2 = [1 4 9]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e665d9db501694e29f54b02de56befaf69305629" + }, + "cell_type": "markdown", + "source": "
\n**Dot Product:** \n\n$ \\begin{bmatrix}x_1 \\ x_2 \\ x_3\\end{bmatrix}\n\\cdot\n\\begin{bmatrix}y_1 \\\\ y_2 \\\\ y_3\\end{bmatrix}\n= x_1 y_1 + x_2 y_2 + x_3 y_3$" + }, + { + "metadata": { + "_uuid": "b45a94567cf5801e05869bde614e831603b1599a", + "trusted": false + }, + "cell_type": "code", + "source": "x.dot(y) # dot product 1*4 + 2*5 + 3*6", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b27ce9c3b1328461ba14f5efdd36079e3f827951", + "trusted": false + }, + "cell_type": "code", + "source": "z = np.array([y, y**2])\nprint(len(z)) # number of rows of array", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "30ab350aa70687cbdd087d86386b96504aec4479" + }, + "cell_type": "markdown", + "source": "
\nLet's look at transposing arrays. Transposing permutes the dimensions of the array." + }, + { + "metadata": { + "_uuid": "2630bf81db6d00483f7e0abd3a3c3af28144d55f", + "trusted": false + }, + "cell_type": "code", + "source": "z = np.array([y, y**2])\nz", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8bb90454186cab0c688be9a01ff84c7ca67fa6a9" + }, + "cell_type": "markdown", + "source": "
\nThe shape of array `z` is `(2,3)` before transposing." + }, + { + "metadata": { + "_uuid": "bdcbfc2e1c9b985a83aefa1a5972aa919acb8365", + "trusted": false + }, + "cell_type": "code", + "source": "z.shape", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3b796b3d6c4e9a90e4fb5332d708398bb848c2e4" + }, + "cell_type": "markdown", + "source": "
\nUse `.T` to get the transpose." + }, + { + "metadata": { + "_uuid": "8ca46bf46ed15a5fa3af7e2d325ac68bc8785f05", + "trusted": false + }, + "cell_type": "code", + "source": "z.T", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d2949665fb40cdb932376219b6d78156265d5ebf" + }, + "cell_type": "markdown", + "source": "
\nThe number of rows has swapped with the number of columns." + }, + { + "metadata": { + "_uuid": "e48e8eff60259a9c865cf2dae88a3ce1641e826c", + "trusted": false + }, + "cell_type": "code", + "source": "z.T.shape", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "08fac1d78a66fdd513372cd31eaa5f973655e80a" + }, + "cell_type": "markdown", + "source": "
\nUse `.dtype` to see the data type of the elements in the array." + }, + { + "metadata": { + "_uuid": "6e1ea214c877f23d670b72f06060c2dee1bdaee5", + "trusted": false + }, + "cell_type": "code", + "source": "z.dtype", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "70da3bcabbc0631bb11b48796106c07f4de41ba8" + }, + "cell_type": "markdown", + "source": "
\nUse `.astype` to cast to a specific type." + }, + { + "metadata": { + "_uuid": "60684ed5f18c88c4ef4e2fe4207fa94eede9d993", + "trusted": false + }, + "cell_type": "code", + "source": "z = z.astype('f')\nz.dtype", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e1199442dd07a4a4eef965c584d9e0f443c40013" + }, + "cell_type": "markdown", + "source": "
\n## 2-4 Numpy: Math Functions\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "01121300b7b5b8a83d213d4f065383da19d5f7d8" + }, + "cell_type": "markdown", + "source": "Numpy has many built in math functions that can be performed on arrays." + }, + { + "metadata": { + "_uuid": "e1eaeb06cf68d055f6a5536ea72a17606b6762c1", + "trusted": false + }, + "cell_type": "code", + "source": "a = np.array([-4, -2, 1, 3, 5])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2918e83be55935fa03fd24924bc7f07a271c40d3", + "trusted": false + }, + "cell_type": "code", + "source": "a.sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2e86a6ea98c6c86dbe7a96612af4f37452b23670", + "trusted": false + }, + "cell_type": "code", + "source": "a.max()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1e8e48425f65e90a18a29fb7983dc6aa424f8445", + "trusted": false + }, + "cell_type": "code", + "source": "a.min()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "27131855b2c26a5f90c6524d4a8c7ed0266bf378", + "trusted": false + }, + "cell_type": "code", + "source": "a.mean()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a020531df7f87af15577e986699e80f892300773", + "trusted": false + }, + "cell_type": "code", + "source": "a.std()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6d26c78ddd00e9387ba4214470debcc8147fd2bc" + }, + "cell_type": "markdown", + "source": "
\n`argmax` and `argmin` return the index of the maximum and minimum values in the array." + }, + { + "metadata": { + "_uuid": "dd6f6aee91fc8dd99cc5a8359dc81ce1d443e77f", + "trusted": false + }, + "cell_type": "code", + "source": "a.argmax()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "59aeec1ba92a0eb4c6928564e64445e6ce46cc3c", + "trusted": false + }, + "cell_type": "code", + "source": "a.argmin()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cf3ad4800506fd903882f60d811ca2548756e7c8" + }, + "cell_type": "markdown", + "source": "
\n\n## 2-5 Numpy:Indexing / Slicing\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "82ca4b616a46de3280b5a50df4c0114298d07aea", + "trusted": false + }, + "cell_type": "code", + "source": "s = np.arange(13)**2\ns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "417c1b56b9d3eca21021422bde199036c3f08ec3" + }, + "cell_type": "markdown", + "source": "
\nUse bracket notation to get the value at a specific index. Remember that indexing starts at 0." + }, + { + "metadata": { + "_uuid": "6f90f5dee19a73afde4e9455b47c0dbe86c9ce6b", + "trusted": false + }, + "cell_type": "code", + "source": "s[0], s[4], s[-1]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9d0cf8a30f9b1bd1f8dc60a46d3271e5cac235d0" + }, + "cell_type": "markdown", + "source": "
\nUse `:` to indicate a range. `array[start:stop]`\n\n\nLeaving `start` or `stop` empty will default to the beginning/end of the array." + }, + { + "metadata": { + "_uuid": "1ea11cc5be369a751b250e7085cf507b122bcf88", + "trusted": false + }, + "cell_type": "code", + "source": "s[1:5]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "dd42e9a4274baebf747c627767a273ef8ca9a26f" + }, + "cell_type": "markdown", + "source": "
\nUse negatives to count from the back." + }, + { + "metadata": { + "_uuid": "ce51a60f59516b22174f97a4f7c6da6c75322a8b", + "trusted": false + }, + "cell_type": "code", + "source": "s[-4:]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0fdd94c22e7ceb4cac00001bd98f09d5d879613e" + }, + "cell_type": "markdown", + "source": "
\nA second `:` can be used to indicate step-size. `array[start:stop:stepsize]`\n\nHere we are starting 5th element from the end, and counting backwards by 2 until the beginning of the array is reached." + }, + { + "metadata": { + "_uuid": "f28245bea6ab9a1bed7a76859ddfbb295ea95038", + "trusted": false + }, + "cell_type": "code", + "source": "s[-5::-2]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2f2295df96d9e7da01cde82bf87d5c7157bd9d21" + }, + "cell_type": "markdown", + "source": "
\nLet's look at a multidimensional array." + }, + { + "metadata": { + "_uuid": "582e15f695a2891826ef4eb8e913a0dc61913898", + "trusted": false + }, + "cell_type": "code", + "source": "r = np.arange(36)\nr.resize((6, 6))\nr", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "26fd89ebfe4b92cedad89152753918608b68eafe" + }, + "cell_type": "markdown", + "source": "
\nUse bracket notation to slice: `array[row, column]`." + }, + { + "metadata": { + "_uuid": "7bf0f1e77c5243c3e2b846f7b268c4891786621b", + "trusted": false + }, + "cell_type": "code", + "source": "r[2, 2]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fcbf322288c6671ef799299b5ddb828b68b8cab9" + }, + "cell_type": "markdown", + "source": "
\nAnd use : to select a range of rows or columns." + }, + { + "metadata": { + "_uuid": "64d430ac4626977723c6357865a5297699e5323d", + "trusted": false + }, + "cell_type": "code", + "source": "r[3, 3:6]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e109144f7316b357450c4b3cae3cb61ad327f5d9" + }, + "cell_type": "markdown", + "source": "
\nHere we are selecting all the rows up to (and not including) row 2, and all the columns up to (and not including) the last column." + }, + { + "metadata": { + "_uuid": "7b80dc3ba5c970afe2db37c23599d476399b1c68", + "trusted": false + }, + "cell_type": "code", + "source": "r[:2, :-1]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6c5126aa54a1e6b9d0d078f2226b68d3fb42c4a2" + }, + "cell_type": "markdown", + "source": "
\nThis is a slice of the last row, and only every other element." + }, + { + "metadata": { + "_uuid": "054f80d47b0e2d249a9140321846ff7b50daba1f", + "trusted": false + }, + "cell_type": "code", + "source": "r[-1, ::2]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "62e5354b353e1fe2e60036f2c3f94909a8af1b7b" + }, + "cell_type": "markdown", + "source": "
\nWe can also perform conditional indexing. Here we are selecting values from the array that are greater than 30. (Also see `np.where`)" + }, + { + "metadata": { + "_uuid": "5476c43a5e7d195804cac7517abbdbcdbc234829", + "trusted": false + }, + "cell_type": "code", + "source": "r[r > 30]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "77ae22731783157aaecdd019be77004504b943af" + }, + "cell_type": "markdown", + "source": "
\nHere we are assigning all values in the array that are greater than 30 to the value of 30.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "6651ea99641526b7df83e7a9d9c1efe4eab9dc99", + "trusted": false + }, + "cell_type": "code", + "source": "r[r > 30] = 30\nr", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6189d2e7dc9038dc1c4f2ed95a47fad76d700890" + }, + "cell_type": "markdown", + "source": "
\n## 2-6 Numpy :Copying Data" + }, + { + "metadata": { + "_uuid": "ad2453d83a8db6de311e9265672e9b10b0337284" + }, + "cell_type": "markdown", + "source": "Be careful with copying and modifying arrays in NumPy!\n\n\n`r2` is a slice of `r`" + }, + { + "metadata": { + "_uuid": "e6bb5dab7586dd4cfbc93b2cee05c57aae1e8518", + "trusted": false + }, + "cell_type": "code", + "source": "r2 = r[:3,:3]\nr2", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "65d42e0a4cade74ae9b2b587f182efaa8a4b1dbf" + }, + "cell_type": "markdown", + "source": "
\nSet this slice's values to zero ([:] selects the entire array)" + }, + { + "metadata": { + "_uuid": "9026a103a457054124258eefca3492008f884ef4", + "trusted": false + }, + "cell_type": "code", + "source": "r2[:] = 0\nr2", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f73d4004c9181b5cffddf6f13b452d7e40cea3f9" + }, + "cell_type": "markdown", + "source": "
\n`r` has also been changed!" + }, + { + "metadata": { + "_uuid": "80c0d26d5cb0374f82929e3d79c183f5e116f4ea", + "trusted": false + }, + "cell_type": "code", + "source": "r", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c8a21fd94e5dfcd322ec0017e89302533ac3cf2d" + }, + "cell_type": "markdown", + "source": "
\nTo avoid this, use `r.copy` to create a copy that will not affect the original array" + }, + { + "metadata": { + "_uuid": "d2b2e17295f75a5a3b8dacf5ca65b4c4f3b6ca47", + "trusted": false + }, + "cell_type": "code", + "source": "r_copy = r.copy()\nr_copy", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2ef3568f7ac932cc45931854410cbb9e4d909df8" + }, + "cell_type": "markdown", + "source": "
\nNow when r_copy is modified, r will not be changed." + }, + { + "metadata": { + "_uuid": "4f7fa9e1b65eea1e9514fbd6f91a2720822430ba", + "trusted": false + }, + "cell_type": "code", + "source": "r_copy[:] = 10\nprint(r_copy, '\\n')\nprint(r)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "752b09b0f8f1606d55bf0423d3f2d9cb162d3ce9" + }, + "cell_type": "markdown", + "source": "
\n## 2-7 Numpy: Iterating Over Arrays" + }, + { + "metadata": { + "_uuid": "6a7f8c639e5f8cbdbd0cf2fe4c78504955ec2ccb" + }, + "cell_type": "markdown", + "source": "Let's create a new 4 by 3 array of random numbers 0-9." + }, + { + "metadata": { + "_uuid": "c1496dab8d8f90434e8c44e63c225bfb3ca9713f", + "trusted": false + }, + "cell_type": "code", + "source": "test = np.random.randint(0, 10, (4,3))\ntest", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bf971c58819a069592b3d5c195cf9e21faa4797b" + }, + "cell_type": "markdown", + "source": "
\nIterate by row:" + }, + { + "metadata": { + "_uuid": "993bb7b7f1be5a0b088caac550c32257dd1c9297", + "trusted": false + }, + "cell_type": "code", + "source": "for row in test:\n print(row)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f5b7fa4289acc25093efbbc99fe36355073bcd02" + }, + "cell_type": "markdown", + "source": "
\nIterate by index:" + }, + { + "metadata": { + "_uuid": "9de357edca10cf7708e1c5b37ef5a0ad337fcbbf", + "trusted": false + }, + "cell_type": "code", + "source": "for i in range(len(test)):\n print(test[i])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "00ed3013376dff60b43f6f1eb5091580279063ad" + }, + "cell_type": "markdown", + "source": "
\nIterate by row and index:" + }, + { + "metadata": { + "_uuid": "a75a7881baf87a49a3f48236fc9a9281f2ace310", + "trusted": false + }, + "cell_type": "code", + "source": "for i, row in enumerate(test):\n print('row', i, 'is', row)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "08f51011e8d4da3ab72a33ccb6daca3c97832eb4" + }, + "cell_type": "markdown", + "source": "
\nUse `zip` to iterate over multiple iterables." + }, + { + "metadata": { + "_uuid": "63709cf63fc6e5596bc540055a287d56a57c55df", + "trusted": false + }, + "cell_type": "code", + "source": "test2 = test**2\ntest2", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "88776121d1063744cdb0d1df15320af35a40690f", + "trusted": false + }, + "cell_type": "code", + "source": "for i, j in zip(test, test2):\n print(i,'+',j,'=',i+j)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c2ec9941ed71b0d102881252688723804c536b65" + }, + "cell_type": "markdown", + "source": "
\n## 2-8 Numpy: The Series Data Structure\nOne-dimensional ndarray with axis labels (including time series)" + }, + { + "metadata": { + "_uuid": "ff60c47c0ee85b3534fa0eeb1fc6c18951e13a93", + "trusted": false + }, + "cell_type": "code", + "source": "animals = ['Tiger', 'Bear', 'Moose']\npd.Series(animals)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3b9d3593c2f04eb52439d1e2f6eaced42103b385", + "trusted": false + }, + "cell_type": "code", + "source": "numbers = [1, 2, 3]\npd.Series(numbers)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ac6b145a659c5c6e143e47a726be2d2bc904ea05", + "trusted": false + }, + "cell_type": "code", + "source": "animals = ['Tiger', 'Bear', None]\npd.Series(animals)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "608363b045521c88d96135d4651624753a0a97f8", + "trusted": false + }, + "cell_type": "code", + "source": "numbers = [1, 2, None]\npd.Series(numbers)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "81c84dd1739a442c3eca83911b9e9cd146beccf1", + "trusted": false + }, + "cell_type": "code", + "source": "import numpy as np\nnp.nan == None", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ee829b3241dc2b99e7aeb8b16daa61f43516a08e", + "trusted": false + }, + "cell_type": "code", + "source": "np.nan == np.nan", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c39a1b7d020fa502a055e4befa580529da3d9206", + "trusted": false + }, + "cell_type": "code", + "source": "np.isnan(np.nan)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "703803f890a0c351d5122b4f509c0835b949481d", + "trusted": false + }, + "cell_type": "code", + "source": "sports = {'Archery': 'Bhutan',\n 'Golf': 'Scotland',\n 'Sumo': 'Japan',\n 'Taekwondo': 'South Korea'}\ns = pd.Series(sports)\ns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6a4a03374c688db5bc1cb49cf0ae67a166f33ab5", + "trusted": false + }, + "cell_type": "code", + "source": "s.index", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "16a45c1d82eb06da0e940aa9304455d5b6629723", + "trusted": false + }, + "cell_type": "code", + "source": "s = pd.Series(['Tiger', 'Bear', 'Moose'], index=['India', 'America', 'Canada'])\ns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d5c017e5124d3c8c62bbe91b16ae5e2fb76f2cd5", + "trusted": false + }, + "cell_type": "code", + "source": "sports = {'Archery': 'Bhutan',\n 'Golf': 'Scotland',\n 'Sumo': 'Japan',\n 'Taekwondo': 'South Korea'}\ns = pd.Series(sports, index=['Golf', 'Sumo', 'Hockey'])\ns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "91a03b68b0698ad0f0736d0a8106bb4c2023437d" + }, + "cell_type": "markdown", + "source": "
\n# 2-9 Numpy: Querying a Series" + }, + { + "metadata": { + "_uuid": "6c44f80eadf6e60f8d1d966594169e6e579fd91a", + "trusted": false + }, + "cell_type": "code", + "source": "sports = {'Archery': 'Bhutan',\n 'Golf': 'Scotland',\n 'Sumo': 'Japan',\n 'Taekwondo': 'South Korea'}\ns = pd.Series(sports)\ns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "560e0377aa2d53cc14f61a42a6492f99932a6eab", + "trusted": false + }, + "cell_type": "code", + "source": "s.iloc[3]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2c0e34116ab3b36363b7d7ffde48d3520b493d50", + "trusted": false + }, + "cell_type": "code", + "source": "s.loc['Golf']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "12dce7548346ce489c21f50e02a30e4a7dad6a81", + "trusted": false + }, + "cell_type": "code", + "source": "s[3]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a44e0fd0b5ea294bfde2383f3ed660bb4dc7c032", + "trusted": false + }, + "cell_type": "code", + "source": "s['Golf']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "97f106d843bd9da560c4aaa36e9a2baf0fd5f820", + "trusted": false + }, + "cell_type": "code", + "source": "sports = {99: 'Bhutan',\n 100: 'Scotland',\n 101: 'Japan',\n 102: 'South Korea'}\ns = pd.Series(sports)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6c8d10a115a42956c1bf95a925006f1a8f44ac77", + "trusted": false + }, + "cell_type": "code", + "source": "s = pd.Series([100.00, 120.00, 101.00, 3.00])\ns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a877d83b4ea29606ab220884b742b9436640a87b", + "trusted": false + }, + "cell_type": "code", + "source": "total = 0\nfor item in s:\n total+=item\nprint(total)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "eb4aaac9d42d6ad0df5b0d766bf142cec13ca640", + "trusted": false + }, + "cell_type": "code", + "source": "total = np.sum(s)\nprint(total)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c5ec441b291558581a79c6bda7d67ee7df640ac4", + "trusted": false + }, + "cell_type": "code", + "source": "#this creates a big series of random numbers\ns = pd.Series(np.random.randint(0,1000,10000))\ns.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cafe2341bfb1b9419fcff2624e9973a12beb579a", + "trusted": false + }, + "cell_type": "code", + "source": "len(s)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b0028ee6c78f4715a1848458c3b5ef2ea75e601b", + "trusted": false + }, + "cell_type": "code", + "source": "%%timeit -n 100\nsummary = 0\nfor item in s:\n summary+=item", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bbc4da9b2ba74a04d797ff837bddf7553b4625d9", + "trusted": false + }, + "cell_type": "code", + "source": "%%timeit -n 100\nsummary = np.sum(s)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a9ef0f8d0db28ffb3f5c92c86dbcffd8b9d01840", + "trusted": false + }, + "cell_type": "code", + "source": "s+=2 #adds two to each item in s using broadcasting\ns.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f092ba84abb6a9172a23030b25caa23b7dea1c3f", + "trusted": false + }, + "cell_type": "code", + "source": "for label, value in s.iteritems():\n s.set_value(label, value+2)\ns.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "979c2ea48abace1804d37a316ecf8a7cb0b53aa2", + "trusted": false + }, + "cell_type": "code", + "source": "%%timeit -n 10\ns = pd.Series(np.random.randint(0,1000,100))\nfor label, value in s.iteritems():\n s.loc[label]= value+2", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "84c6c0358bf55fd26254ae784ae2b60b3d7c3526", + "trusted": false + }, + "cell_type": "code", + "source": "%%timeit -n 10\ns = pd.Series(np.random.randint(0,1000,100))\ns+=2\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "35dabb561b6b3aaf6520311c68004880cadf5f7d", + "trusted": false + }, + "cell_type": "code", + "source": "s = pd.Series([1, 2, 3])\ns.loc['Animal'] = 'Bears'\ns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1f40d7bded3fd8cea73b8ab31e945929d75a57f4", + "trusted": false + }, + "cell_type": "code", + "source": "original_sports = pd.Series({'Archery': 'Bhutan',\n 'Golf': 'Scotland',\n 'Sumo': 'Japan',\n 'Taekwondo': 'South Korea'})\ncricket_loving_countries = pd.Series(['Australia',\n 'Barbados',\n 'Pakistan',\n 'England'], \n index=['Cricket',\n 'Cricket',\n 'Cricket',\n 'Cricket'])\nall_countries = original_sports.append(cricket_loving_countries)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "95fa6b69a0927865a896c7a518ba848c3b994cad", + "trusted": false + }, + "cell_type": "code", + "source": "original_sports", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bb617195f684747e2a79b87eb7307e832f2bfe50", + "trusted": false + }, + "cell_type": "code", + "source": "cricket_loving_countries", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5274031be8720d734db1866f20ad048c4c2ea7da", + "trusted": false + }, + "cell_type": "code", + "source": "all_countries", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "33c9d9f54962decaa00a7328b124252ddcf2b661", + "trusted": false + }, + "cell_type": "code", + "source": "all_countries.loc['Cricket']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2f7c5d5041dc630abeaff47ff5a96a0dd53db8e5" + }, + "cell_type": "markdown", + "source": "
\n## 2-10 Distributions in Numpy\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "96be284ba6d63fd0b1db5641a21d75aacdfb7da4", + "trusted": false + }, + "cell_type": "code", + "source": "np.random.binomial(1, 0.5)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "4ae2c7ff2cf941bae62be23864a1685a196551d0", + "trusted": false + }, + "cell_type": "code", + "source": "np.random.binomial(1000, 0.5)/1000", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "c5e89f6f0c7376c164f80dc4c5d582b0a639e254", + "trusted": false + }, + "cell_type": "code", + "source": "chance_of_tornado = 0.01/100\nnp.random.binomial(100000, chance_of_tornado)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7804824638e0e6e97ebe5a252806d51a4e5cac2c", + "trusted": false + }, + "cell_type": "code", + "source": "chance_of_tornado = 0.01\n\ntornado_events = np.random.binomial(1, chance_of_tornado, 1000000)\n \ntwo_days_in_a_row = 0\nfor j in range(1,len(tornado_events)-1):\n if tornado_events[j]==1 and tornado_events[j-1]==1:\n two_days_in_a_row+=1\n\nprint('{} tornadoes back to back in {} years'.format(two_days_in_a_row, 1000000/365))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "4583c0a0ec05e914af1c01e2c901da41828ad653", + "trusted": false + }, + "cell_type": "code", + "source": "np.random.uniform(0, 1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "365cfd6e6602f46bc98c13d10a47ad1d98af978e", + "trusted": false + }, + "cell_type": "code", + "source": "np.random.normal(0.75)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "8091adda4fbdccffb73424476c68a7aa0fb53c9a", + "trusted": false + }, + "cell_type": "code", + "source": "distribution = np.random.normal(0.75,size=1000)\n\nnp.sqrt(np.sum((np.mean(distribution)-distribution)**2)/len(distribution))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "9eed1ac016763a69de465e82736d30d7e5b1d028", + "trusted": false + }, + "cell_type": "code", + "source": "np.std(distribution)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "ab89e527fcd900577d879b50272d400ae0bdbaa0", + "trusted": false + }, + "cell_type": "code", + "source": "\nstats.kurtosis(distribution)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "c974e2563460f9b4942ab8c9b1d1783479779fa5", + "trusted": false + }, + "cell_type": "code", + "source": "stats.skew(distribution)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "de01fc7f82016eeb5f3b206788e7213ad373a441", + "trusted": false + }, + "cell_type": "code", + "source": "chi_squared_df2 = np.random.chisquare(2, size=10000)\nstats.skew(chi_squared_df2)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "d8cce6278eaf4b4865efebf34dfb4ec2d9b684ca", + "trusted": false + }, + "cell_type": "code", + "source": "chi_squared_df5 = np.random.chisquare(5, size=10000)\nstats.skew(chi_squared_df5)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "1c30298fc2dcd63dface93cb1626c5e7367d4698", + "trusted": false + }, + "cell_type": "code", + "source": "output = plt.hist([chi_squared_df2,chi_squared_df5], bins=50, histtype='step', \n label=['2 degrees of freedom','5 degrees of freedom'])\nplt.legend(loc='upper right')\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7653d84bad68f6370b1bdf484a2e9b6fb5982977" + }, + "cell_type": "markdown", + "source": "
\n## 3- Pandas:The DataFrame Data Structure\n You'll hone your pandas skills by learning how to organize, reshape, and aggregate multiple data sets to answer your specific questions.\n **Pandas**:\nTwo-dimensional size-mutable, potentially heterogeneous tabular data structure with labeled axes (rows and columns). Arithmetic operations align on both row and column labels. Can be thought of as a dict-like container for Series objects. The primary pandas data structure.\n\nPandas is capable of many tasks including:\n\nReading/writing many different data formats\nSelecting subsets of data\nCalculating across rows and down columns\nFinding and filling missing data\nApplying operations to independent groups within the data\nReshaping data into different forms\nCombing multiple datasets together\nAdvanced time-series functionality\nVisualization through matplotlib and seaborn\nAlthough pandas is very capable, it does not provide functionality for the entire data science pipeline. Pandas is typically the intermediate tool used for data exploration and cleaning squashed between data capturing and storage, and data modeling and predicting.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "4e82246f590c37992f9190583cdb0035d93c0dcd", + "trusted": false + }, + "cell_type": "code", + "source": "\npurchase_1 = pd.Series({'Name': 'Chris',\n 'Item Purchased': 'Dog Food',\n 'Cost': 22.50})\npurchase_2 = pd.Series({'Name': 'Kevyn',\n 'Item Purchased': 'Kitty Litter',\n 'Cost': 2.50})\npurchase_3 = pd.Series({'Name': 'Vinod',\n 'Item Purchased': 'Bird Seed',\n 'Cost': 5.00})\ndf = pd.DataFrame([purchase_1, purchase_2, purchase_3], index=['Store 1', 'Store 1', 'Store 2'])\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "835c6bb2dba772d11345bb2d5e40a992999d31b6", + "trusted": false + }, + "cell_type": "code", + "source": "df.loc['Store 2']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0b48c39ad30936af6ce6932597073451c6b2bac9", + "trusted": false + }, + "cell_type": "code", + "source": "type(df.loc['Store 2'])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c929565dc25461fd914c756431df400e6cdf058b", + "trusted": false + }, + "cell_type": "code", + "source": "df.loc['Store 1']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a11d22702f1be476a4d443cf811fe0a07a5dbbe4", + "trusted": false + }, + "cell_type": "code", + "source": "df.loc['Store 1', 'Cost']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "adb35d3ac7e00c00ced7236aa7c3eaab3c85e675", + "trusted": false + }, + "cell_type": "code", + "source": "df.T", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0e478aabe2d50b04f5bd9cca220150476adc8b1f", + "trusted": false + }, + "cell_type": "code", + "source": "df.T.loc['Cost']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2ed1c53b43bb00bc07a95642071be8ef2b5aa779", + "trusted": false + }, + "cell_type": "code", + "source": "df['Cost']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "084454d6fcc47a738808b0c832d59aebc49be70c", + "trusted": false + }, + "cell_type": "code", + "source": "df.loc['Store 1']['Cost']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fdbddb30cb59ed8462a07795aaadbcd9ad2b1aa4", + "trusted": false + }, + "cell_type": "code", + "source": "df.loc[:,['Name', 'Cost']]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2541e9071816bd8f496ddf62b77cccb8fe325fbc", + "trusted": false + }, + "cell_type": "code", + "source": "df.drop('Store 1')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5fa5a22b81b92bae274d3a9afd76283ded17b478", + "trusted": false + }, + "cell_type": "code", + "source": "df", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "918e58d124508bd5edff0ed84ba6a4c252cdec3d", + "trusted": false + }, + "cell_type": "code", + "source": "copy_df = df.copy()\ncopy_df = copy_df.drop('Store 1')\ncopy_df", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0e3830ddb755492607166e3975ac6e18c9436422", + "trusted": false + }, + "cell_type": "code", + "source": "copy_df.drop", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "946e48754fa8ed9914ef62b1c7049260861098db", + "trusted": false + }, + "cell_type": "code", + "source": "del copy_df['Name']\ncopy_df", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "de93b5c96c8b546bfb01b57d75347f5045ea01d1", + "trusted": false + }, + "cell_type": "code", + "source": "df['Location'] = None\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "42414bc5b478108d59aaf9b5dff463c95904097d", + "trusted": false + }, + "cell_type": "code", + "source": "costs = df['Cost']\ncosts", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "76922dc612283caa9821f793abac91dad9328c75", + "trusted": false + }, + "cell_type": "code", + "source": "costs+=2\ncosts", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3ea1881948d05207d7dc2e1805c446adfa544959", + "trusted": false + }, + "cell_type": "code", + "source": "df", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4d339cee9608b148762d7ad3068c362bbc9454f7" + }, + "cell_type": "markdown", + "source": "
\n# 3-1 Pandas:Dataframe Indexing and Loading\n\nAs a Data Scientist, you'll often find that the data you need is not in a single file. It may be spread across a number of text files, spreadsheets, or databases. You want to be able to import the data of interest as a collection of DataFrames and figure out how to combine them to answer your central questions.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "53fa2f4cb18784de6d077871a606dcf5b1511862", + "trusted": false + }, + "cell_type": "code", + "source": "df = pd.read_csv('../input/house-prices-advanced-regression-techniques/train.csv')\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "01a8c7bc0a10635dc10dd56ba6edcbe595013772", + "trusted": false + }, + "cell_type": "code", + "source": "df.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ffb1b09a5a8953e7dae65425890b652c214b1fb5", + "trusted": false + }, + "cell_type": "code", + "source": "# Querying a DataFrame", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "258b2c7201efba77d84b92286bbe69a6af240ca8", + "trusted": false + }, + "cell_type": "code", + "source": "df['SalePrice'] > 0", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "739f5037a2fcdd548abc5e68f5abcba3fcdb68e4", + "trusted": false + }, + "cell_type": "code", + "source": "only_SalePrice = df.where(df['SalePrice'] > 0)\nonly_SalePrice.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e420645f2daa14d2bf12b3370438b5c1741f5c52", + "trusted": false + }, + "cell_type": "code", + "source": "only_SalePrice['SalePrice'].count()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2c3561ac4d86a22f3984b11ebe1200100fc95417", + "trusted": false + }, + "cell_type": "code", + "source": "df['SalePrice'].count()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "86e547ab11dacd87ccfe4657f8eb11fd9fcf3fef", + "trusted": false + }, + "cell_type": "code", + "source": "only_SalePrice = only_SalePrice.dropna()\nonly_SalePrice.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cf0829126fff5c075151fcc5418bbe9b945c14c9", + "trusted": false + }, + "cell_type": "code", + "source": "only_SalePrice = df[df['SalePrice'] > 0]\nonly_SalePrice.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5b957eae6c82a982ff9672d321deadf637aa421c", + "trusted": false + }, + "cell_type": "code", + "source": "len(df[(df['SalePrice'] > 0) | (df['SalePrice'] > 0)])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d076fe5f6dade0e49c2a35c7f9c64baeaf42a59d", + "trusted": false + }, + "cell_type": "code", + "source": "df[(df['SalePrice'] > 0) & (df['SalePrice'] == 0)]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "717b27412a1a852c84f820272d8bf94a45022aca" + }, + "cell_type": "markdown", + "source": "
\n## 3-1-1 Indexing Dataframes" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "822efde2bbb058575dea289d057368d1af7d1394", + "trusted": false + }, + "cell_type": "code", + "source": "df.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "b11ed5fbe0e8d35b303125afc78b04abf4dc0190", + "trusted": false + }, + "cell_type": "code", + "source": "df['SalePrice'] = df.index\ndf = df.set_index('SalePrice')\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4848977e538e02e0444862e632101a9d6bc97742", + "trusted": false + }, + "cell_type": "code", + "source": "\ndf = df.reset_index()\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5da1a958ccd43f5f5427415dc8682ccbbd589b3d", + "trusted": false + }, + "cell_type": "code", + "source": "df = pd.read_csv('../input/titanic/train.csv')\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "9c818adf02056d59d534e4cb790dd6ce74c2b861", + "trusted": false + }, + "cell_type": "code", + "source": "df['Age'].unique()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "c1adb2169bf24831daaa59655083e069d5fda4a5", + "trusted": false + }, + "cell_type": "code", + "source": "df=df[df['Age'] == 50]\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "94d2eb99802e00e342e3a046f9b26a06a3c501a7" + }, + "cell_type": "markdown", + "source": "
\n# 3-2 Pandas:Missing values\n" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "6946487c3ba7a29af57472c6fe03cde0ababd341", + "trusted": false + }, + "cell_type": "code", + "source": "df = pd.read_csv('../input/titanic/train.csv')\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "30cc0a09aa17b60a69ddccebbc0b6ceaf6077bfb", + "trusted": false + }, + "cell_type": "code", + "source": "df.fillna", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "be537539e67066ad45f9217988aa7ca7c23a370b", + "trusted": false + }, + "cell_type": "code", + "source": "df = df.set_index('PassengerId')\ndf = df.sort_index()\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "d2681f382b87e0eb47c41745576c2d35a8f55f5b", + "trusted": false + }, + "cell_type": "code", + "source": "df = df.reset_index()\ndf = df.set_index(['PassengerId', 'Survived'])\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "bea1dfdc973fe52315d701fecb6abb28edaecb81", + "trusted": false + }, + "cell_type": "code", + "source": "df = df.fillna(method='ffill')\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d79a17c1a5930de30ef9c238bf143cfc9962d24f" + }, + "cell_type": "markdown", + "source": "
\n# 3-3 Pandas :Merging Dataframes\npandas provides various facilities for easily combining together Series, DataFrame, and Panel objects with various kinds of set logic for the indexes and relational algebra functionality in the case of join / merge-type operations.\n" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "4809bb7be74c5ef657c069446ecffb409937f952", + "trusted": false + }, + "cell_type": "code", + "source": "df = pd.DataFrame([{'Name': 'MJ', 'Item Purchased': 'Sponge', 'Cost': 22.50},\n {'Name': 'Kevyn', 'Item Purchased': 'Kitty Litter', 'Cost': 2.50},\n {'Name': 'Filip', 'Item Purchased': 'Spoon', 'Cost': 5.00}],\n index=['Store 1', 'Store 1', 'Store 2'])\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "f30d304abf7b7345a4e6e7c1105e190dd1a621d2", + "trusted": false + }, + "cell_type": "code", + "source": "df['Date'] = ['December 1', 'January 1', 'mid-May']\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "fbedab0057046e0510dd1331f03ffc18c9ba520b", + "trusted": false + }, + "cell_type": "code", + "source": "df['Delivered'] = True\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "8ed708570d219bad3637b3a907bb0a00be33b939", + "trusted": false + }, + "cell_type": "code", + "source": "df['Feedback'] = ['Positive', None, 'Negative']\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_kg_hide-output": false, + "_uuid": "fc549de9e14ccf0504553ee8960442180ba895b0", + "trusted": false + }, + "cell_type": "code", + "source": "adf = df.reset_index()\nadf['Date'] = pd.Series({0: 'December 1', 2: 'mid-May'})\nadf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "80e056750b87aa3d692e6f3aa07ca4e40ce05512", + "trusted": false + }, + "cell_type": "code", + "source": "staff_df = pd.DataFrame([{'Name': 'Kelly', 'Role': 'Director of HR'},\n {'Name': 'Sally', 'Role': 'Course liasion'},\n {'Name': 'James', 'Role': 'Grader'}])\nstaff_df = staff_df.set_index('Name')\nstudent_df = pd.DataFrame([{'Name': 'James', 'School': 'Business'},\n {'Name': 'Mike', 'School': 'Law'},\n {'Name': 'Sally', 'School': 'Engineering'}])\nstudent_df = student_df.set_index('Name')\nprint(staff_df.head())\nprint()\nprint(student_df.head())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "c0e141f46ea59c406f9c75a501139d808720bea6", + "trusted": false + }, + "cell_type": "code", + "source": "pd.merge(staff_df, student_df, how='outer', left_index=True, right_index=True)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "117f0b5ad0687b45deead65bfd2cd2e2b42aec7a", + "trusted": false + }, + "cell_type": "code", + "source": "pd.merge(staff_df, student_df, how='inner', left_index=True, right_index=True)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "0fcc1d0780a0b786ffbb77e88a1e1bdc5f415a4a", + "trusted": false + }, + "cell_type": "code", + "source": "pd.merge(staff_df, student_df, how='left', left_index=True, right_index=True)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "d2492a6a8108c115d1f9c980a8b01242cc695a37", + "trusted": false + }, + "cell_type": "code", + "source": "pd.merge(staff_df, student_df, how='right', left_index=True, right_index=True)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7876e8102392731c7d48123c8c5dced6693a32d2", + "trusted": false + }, + "cell_type": "code", + "source": "staff_df = staff_df.reset_index()\nstudent_df = student_df.reset_index()\npd.merge(staff_df, student_df, how='left', left_on='Name', right_on='Name')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "08c724f0bf11154a1244924bd7ca0b195fff3a21", + "trusted": false + }, + "cell_type": "code", + "source": "staff_df = pd.DataFrame([{'Name': 'Kelly', 'Role': 'Director of HR', 'Location': 'State Street'},\n {'Name': 'Sally', 'Role': 'Course liasion', 'Location': 'Washington Avenue'},\n {'Name': 'James', 'Role': 'Grader', 'Location': 'Washington Avenue'}])\nstudent_df = pd.DataFrame([{'Name': 'James', 'School': 'Business', 'Location': '1024 Billiard Avenue'},\n {'Name': 'Mike', 'School': 'Law', 'Location': 'Fraternity House #22'},\n {'Name': 'Sally', 'School': 'Engineering', 'Location': '512 Wilson Crescent'}])\npd.merge(staff_df, student_df, how='left', left_on='Name', right_on='Name')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "da1dc7a2a97543ef9d338dd45fc74b8e66f6221e", + "trusted": false + }, + "cell_type": "code", + "source": "staff_df = pd.DataFrame([{'First Name': 'Kelly', 'Last Name': 'Desjardins', 'Role': 'Director of HR'},\n {'First Name': 'Sally', 'Last Name': 'Brooks', 'Role': 'Course liasion'},\n {'First Name': 'James', 'Last Name': 'Wilde', 'Role': 'Grader'}])\nstudent_df = pd.DataFrame([{'First Name': 'James', 'Last Name': 'Hammond', 'School': 'Business'},\n {'First Name': 'Mike', 'Last Name': 'Smith', 'School': 'Law'},\n {'First Name': 'Sally', 'Last Name': 'Brooks', 'School': 'Engineering'}])\nstaff_df\nstudent_df\npd.merge(staff_df, student_df, how='inner', left_on=['First Name','Last Name'], right_on=['First Name','Last Name'])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c47476edc934d4d851254db98b156de91018a0c8" + }, + "cell_type": "markdown", + "source": "
\n# 3-4 Idiomatic Pandas: Making Code Pandorable\n" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "2cd537dc9b3bd93a924d808ef8d6377853dae984", + "trusted": false + }, + "cell_type": "code", + "source": "\ndf = pd.read_csv('../input/titanic/train.csv')\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "6ec456b0ba8db3f621911ad4c3a36008b04cfc7f", + "trusted": false + }, + "cell_type": "code", + "source": "df = df[df['Age']==50]\ndf.set_index(['PassengerId','Survived'], inplace=True)\ndf.rename(columns={'Pclass': 'pclass'})", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ef246335b484cd563b29cafd6c178820c04a6f0f" + }, + "cell_type": "markdown", + "source": "
\n## 3-5 Pandas :Group by" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "b45f3ee990bce0101774749b4b81e24b81911ad6", + "trusted": false + }, + "cell_type": "code", + "source": "\ndf = pd.read_csv('../input/titanic/train.csv')\ndf = df[df['Age']==50]\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "1c9afa54368039e6439950f57d39e5e0ae1faf7a", + "trusted": false + }, + "cell_type": "code", + "source": "df.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "49994af42a822d8e0ad579866d12fdcd3a7b65ba" + }, + "cell_type": "markdown", + "source": "
\n## 3-6 Pandas:Scales\n" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "ef0c2c453afcd5f43e37f27dd3dccd01aa7e33c0", + "trusted": false + }, + "cell_type": "code", + "source": "df = pd.DataFrame(['A+', 'A', 'A-', 'B+', 'B', 'B-', 'C+', 'C', 'C-', 'D+', 'D'],\n index=['excellent', 'excellent', 'excellent', 'good', 'good', 'good', 'ok', 'ok', 'ok', 'poor', 'poor'])\ndf.rename(columns={0: 'Grades'}, inplace=True)\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "cc490b8a1f851253430185eaab0d8a5ac1b843b8", + "trusted": false + }, + "cell_type": "code", + "source": "df['Grades'].astype('category').head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "388f3454ed9fcc1b88c898e329c0c2d4b062df1f", + "trusted": false + }, + "cell_type": "code", + "source": "grades = df['Grades'].astype('category',\n categories=['D', 'D+', 'C-', 'C', 'C+', 'B-', 'B', 'B+', 'A-', 'A', 'A+'],\n ordered=True)\ngrades.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "51a0c5d18dbc6c395b900c34e9e590591d671676", + "trusted": false + }, + "cell_type": "code", + "source": "grades > 'C'", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0d08b78789267689bc4055c5c31144abe8ef2627" + }, + "cell_type": "markdown", + "source": "
\n## 3-6-1 pandas: Select" + }, + { + "metadata": { + "_uuid": "167c3326d2d423019e34b24ed144a3c8ef786c31" + }, + "cell_type": "markdown", + "source": "To select rows whose column value equals a scalar, some_value, use ==:" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "60af3162523bec271c26fa1c464775e63564f031", + "trusted": false + }, + "cell_type": "code", + "source": "df.loc[df['Grades'] == 'A+']\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "616ff06c8b09a1a3b836fddcf3ff95112d9eec2a" + }, + "cell_type": "markdown", + "source": "To select rows whose column value is in an iterable, some_values, use **isin**:" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "6c3033e7a4c1124cc2238c021a933ad819d3a048", + "trusted": false + }, + "cell_type": "code", + "source": "df_test = pd.DataFrame({'A': [1, 2, 3], 'B': [1, 4, 7]})\ndf_test.isin({'A': [1, 3], 'B': [4, 7, 12]})", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "a7c669be723faf14ca7fc8b05501ebd498da8fe8" + }, + "cell_type": "markdown", + "source": "Combine multiple conditions with &:" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7d5c19fe1055ae6c2c68c5aae516c35483df55e9", + "trusted": false + }, + "cell_type": "code", + "source": "df.loc[(df['Grades'] == 'A+') & (df['Grades'] == 'D')]\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5a436ef9ed699a1c2408c46194514162b3868f81" + }, + "cell_type": "markdown", + "source": "To select rows whose column value does not equal some_value, use !=:\n" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "e81acca64ad8aa664b566cf95000a85c27b3019d", + "trusted": false + }, + "cell_type": "code", + "source": "\ndf.loc[df['Grades'] != 'B+']\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "dd225a2c3d4527356236ec4e67edcc339c16c82f" + }, + "cell_type": "markdown", + "source": "isin returns a boolean Series, so to select rows whose value is not in some_values, negate the boolean Series using ~:\n" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "96079c5d5cb5850d5f09c865f9729f0e225cc5ac", + "trusted": false + }, + "cell_type": "code", + "source": "df_test = pd.DataFrame({'A': [1, 2, 3], 'B': [1, 4, 7]})", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "3003f67ee4c4b864a65f8d5203a7b38b068cfa48", + "trusted": false + }, + "cell_type": "code", + "source": "df_test.loc[~df_test['A'].isin({'A': [1, 3], 'B': [4, 7, 12]})]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d205d889ce4d23e00f2ced7864c044e9d3d3ec84" + }, + "cell_type": "markdown", + "source": "
\n## 3-7 Pandas:Date Functionality\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "a466f75d44bdabf52ddb21d0c173d9421afce7d9" + }, + "cell_type": "markdown", + "source": "
\n### 3-7-1 Timestamp" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "80a449e3cac139ac3b9697dba331363538a1a65f", + "trusted": false + }, + "cell_type": "code", + "source": "pd.Timestamp('9/1/2016 10:05AM')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c39545f2495d3f837c6b75dfd57b1a53c3d27d75" + }, + "cell_type": "markdown", + "source": "
\n### 3-7-2 Period" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "3c160f45b74a5e4faecbf6661978e9c59e933e14", + "trusted": false + }, + "cell_type": "code", + "source": "pd.Period('1/2016')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "124c5a5ba7872ab55b3cd1fbbe18669747124eea", + "trusted": false + }, + "cell_type": "code", + "source": "pd.Period('3/5/2016')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f19b87e81ba7aa0d8adb850d75d9452cf3a73ddf" + }, + "cell_type": "markdown", + "source": "
\n### 3-7-3 DatetimeIndex" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "68a99def5b8fbd9839cf35667a3481ed23c476c0", + "trusted": false + }, + "cell_type": "code", + "source": "t1 = pd.Series(list('abc'), [pd.Timestamp('2016-09-01'), pd.Timestamp('2016-09-02'), pd.Timestamp('2016-09-03')])\nt1", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "073eeeb51e53b50660a822eb7484d4e8b72a7dfa", + "trusted": false + }, + "cell_type": "code", + "source": "type(t1.index)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c891236e512838ed6088e02c88dd888029b226a3" + }, + "cell_type": "markdown", + "source": "
\n### 3-7-4 PeriodIndex" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5a19abe4e4a7324a8f7565c66f8270ab9eb3cae6", + "trusted": false + }, + "cell_type": "code", + "source": "t2 = pd.Series(list('def'), [pd.Period('2016-09'), pd.Period('2016-10'), pd.Period('2016-11')])\nt2", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "522200c3bbb47e10177f1c63a0ed3bfb49cbcf47", + "trusted": false + }, + "cell_type": "code", + "source": "type(t2.index)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "50e147a4abff8fd3014f3fb2a105f516b4a5ea2f" + }, + "cell_type": "markdown", + "source": "
\n## 3-8 Pandas: Converting to Datetime" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "862d2bc5c5b430ed2be1292b9d3b5efe8a3c9cc1", + "trusted": false + }, + "cell_type": "code", + "source": "d1 = ['2 June 2013', 'Aug 29, 2014', '2015-06-26', '7/12/16']\nts3 = pd.DataFrame(np.random.randint(10, 100, (4,2)), index=d1, columns=list('ab'))\nts3", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "840963eeb8ca7bfe0a5d3167211e74d48446fe3a", + "trusted": false + }, + "cell_type": "code", + "source": "ts3.index = pd.to_datetime(ts3.index)\nts3", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "e2482002fae0947549bdd81a3da93c8e0cde40fe", + "trusted": false + }, + "cell_type": "code", + "source": "pd.to_datetime('4.7.12', dayfirst=True)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "cae5847092e33cba7b657a90810a7ef35ae307e4", + "trusted": false + }, + "cell_type": "code", + "source": "pd.Timestamp('9/3/2016')-pd.Timestamp('9/1/2016')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c54a7d88507df86710fc585582b2074cb8d5aa5a" + }, + "cell_type": "markdown", + "source": "
\n### 3-8-1 Timedeltas" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "fe333509538c1ec2bf81fda4613344cfa699b410", + "trusted": false + }, + "cell_type": "code", + "source": "pd.Timestamp('9/3/2016')-pd.Timestamp('9/1/2016')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_kg_hide-output": false, + "_uuid": "08e10cce4428eaa329eb84677c755b0307488bfa", + "trusted": false + }, + "cell_type": "code", + "source": "pd.Timestamp('9/2/2016 8:10AM') + pd.Timedelta('12D 3H')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a73485dcf7310c754e69ab5ed802d7e466684242" + }, + "cell_type": "markdown", + "source": "
\n### 3-8-2 Working with Dates in a Dataframe\n" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "f5bcbc00ce23e50d346495588428e5d6f430a8df", + "trusted": false + }, + "cell_type": "code", + "source": "dates = pd.date_range('10-01-2016', periods=9, freq='2W-SUN')\ndates", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "41df9aeeb10a2d404f1eada62b4a4066e0f37af0", + "trusted": false + }, + "cell_type": "code", + "source": "df.index.ravel", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "f9a265dce077fd183b2172378a85ed2d23290189", + "trusted": false + }, + "cell_type": "code", + "source": "sns.set(style='white', context='notebook', palette='deep')\nwarnings.filterwarnings('ignore')\nsns.set_style('white')\n%matplotlib inline\nmatplotlib.style.use('ggplot')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cedecea930b278f86292367cc28d2996a235a169" + }, + "cell_type": "markdown", + "source": "\n" + }, + { + "metadata": { + "_uuid": "6e80040de557789b0dff267ce45ba3e494885fee" + }, + "cell_type": "markdown", + "source": "
\n# 4- Sklearn \n- The __open source__ Python ecosystem provides __a standalone, versatile and powerful scientific working environment__, including: [NumPy](http://numpy.org), [SciPy](http://scipy.org), [IPython](http://ipython.org), [Matplotlib](http://matplotlib.org), [Pandas](http://pandas.pydata.org/), _and many others..._\n\n\n\n- Scikit-Learn builds upon NumPy and SciPy and __complements__ this scientific environment with machine learning algorithms;\n- By design, Scikit-Learn is __non-intrusive__, easy to use and easy to combine with other libraries;\n- Core algorithms are implemented in low-level languages.\n\n## 4-1 Algorithms" + }, + { + "metadata": { + "_uuid": "666c206f83175114a513b37fb9ae322b5cd8543e" + }, + "cell_type": "markdown", + "source": "**Supervised learning**:\n\n1. Linear models (Ridge, Lasso, Elastic Net, ...)\n1. Support Vector Machines\n1. Tree-based methods (Random Forests, Bagging, GBRT, ...)\n1. Nearest neighbors \n1. Neural networks (basics)\n1. Gaussian Processes\n1. Feature selection" + }, + { + "metadata": { + "_uuid": "44eef8d741beebe15555c5166360b2ce77f5d5b1" + }, + "cell_type": "markdown", + "source": "**Unsupervised learning**:\n\n1. Clustering (KMeans, Ward, ...)\n1. Matrix decomposition (PCA, ICA, ...)\n1. Density estimation\n1. Outlier detection" + }, + { + "metadata": { + "_uuid": "8da2cc5428b697a7b5f21d34038d343bb8b094bb" + }, + "cell_type": "markdown", + "source": "__Model selection and evaluation:__\n\n1. Cross-validation\n1. Grid-search\n1. Lots of metrics\n\n_... and many more!_ (See our [Reference](http://scikit-learn.org/dev/modules/classes.html))\n
\n## 4-2 Data Collection\n**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n\n**Iris dataset** consists of 3 different types of irises’ (Setosa, Versicolour, and Virginica) petal and sepal length, stored in a 150x4 numpy.ndarray\n\nThe rows being the samples and the columns being: Sepal Length, Sepal Width, Petal Length and Petal Width.[6]\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "9269ae851b744856bce56840637030a16a5877e1", + "trusted": false + }, + "cell_type": "code", + "source": "# import Dataset to play with it\niris = pd.read_csv('../input/iris-dataset/Iris.csv')\ntrain = pd.read_csv('../input/house-prices-advanced-regression-techniques/train.csv')\ntest = pd.read_csv('../input/house-prices-advanced-regression-techniques/test.csv')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "58ed9c838069f54de5cf90b20a774c3e236149b3" + }, + "cell_type": "markdown", + "source": "**<< Note 1 >>**\n\n* Each row is an observation (also known as : sample, example, instance, record)\n* Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)" + }, + { + "metadata": { + "_uuid": "7b5fd1034cd591ebd29fba1c77d342ec2b408d13" + }, + "cell_type": "markdown", + "source": "After loading the data via **pandas**, we should checkout what the content is, description and via the following:" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "edd043f8feb76cfe51b79785302ca4936ceb7b51", + "trusted": false + }, + "cell_type": "code", + "source": "type(iris)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e8a877d51d20c1ad31bb635cffc89175426eb77c" + }, + "cell_type": "markdown", + "source": "
\n# 4-3 Framework\n\nData comes as a finite learning set ${\\cal L} = (X, y)$ where\n* Input samples are given as an array $X$ of shape `n_samples` $\\times$ `n_features`, taking their values in ${\\cal X}$;\n* Output values are given as an array $y$, taking _symbolic_ values in ${\\cal Y}$.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "bafb45df9ecfe90563f2f9a1be8a327823cf6d35" + }, + "cell_type": "markdown", + "source": "The goal of supervised classification is to build an estimator $\\varphi: {\\cal X} \\mapsto {\\cal Y}$ minimizing\n\n$$\nErr(\\varphi) = \\mathbb{E}_{X,Y}\\{ \\ell(Y, \\varphi(X)) \\}\n$$\n\nwhere $\\ell$ is a loss function, e.g., the zero-one loss for classification $\\ell_{01}(Y,\\hat{Y}) = 1(Y \\neq \\hat{Y})$." + }, + { + "metadata": { + "_uuid": "7efef8f514caf78e7bc2a60b4d5c0e7fa6d160ac" + }, + "cell_type": "markdown", + "source": "
\n# 4-4 Applications\n\n1. **Classifying** signal from background events; \n1. **Diagnosing** disease from symptoms;\n1. **Recognising** cats in pictures;\n1. **Identifying** body parts with Kinect cameras;\n- ...\n ###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "7cc13baab79cbc6446763e4ebe8feba2c95e74c9" + }, + "cell_type": "markdown", + "source": "
\n# 4-5 How to use Sklearn Data Set? \n\n- Input data = Numpy arrays or Scipy sparse matrices ;\n- Algorithms are expressed using high-level operations defined on matrices or vectors (similar to MATLAB) ;\n - Leverage efficient low-leverage implementations ;\n - Keep code short and readable. " + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "ea74e169f182b48bc12abc501df217e7c711157c", + "trusted": false + }, + "cell_type": "code", + "source": "# Generate data\nfrom sklearn.datasets import make_blobs\nimport numpy as np\nX, y = make_blobs(n_samples=1000, centers=20, random_state=123)\nlabels = [\"b\", \"r\"]\ny = np.take(labels, (y < 10))\nprint(X) \nprint(y[:5])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "9430d1ac40a1d7ba715347c27039b9b0859e674a", + "trusted": false + }, + "cell_type": "code", + "source": "# X is a 2 dimensional array, with 1000 rows and 2 columns\nprint(X.shape)\n \n# y is a vector of 1000 elements\nprint(y.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "0e4d94f4cde57a7f8aeaec876d0020b144fd7818", + "trusted": false + }, + "cell_type": "code", + "source": "# Rows and columns can be accessed with lists, slices or masks\nprint(X[[1, 2, 3]]) # rows 1, 2 and 3\nprint(X[:5]) # 5 first rows\nprint(X[500:510, 0]) # values from row 500 to row 510 at column 0\nprint(X[y == \"b\"][:5]) # 5 first rows for which y is \"b\"", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "f87a77afd2c6d75c7d20390394a1f9ae569a30dc", + "trusted": false + }, + "cell_type": "code", + "source": "# Plot\nplt.rcParams[\"figure.figsize\"] = (8, 8)\nplt.rcParams[\"figure.max_open_warning\"] = -1\nplt.figure()\nfor label in labels:\n mask = (y == label)\n plt.scatter(X[mask, 0], X[mask, 1], c=label)\nplt.xlim(-10, 10)\nplt.ylim(-10, 10)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "71b52d10786896ab758025f670f7dc5c80db03a4", + "trusted": false + }, + "cell_type": "code", + "source": "from sklearn.datasets import load_wine\ndata = load_wine()\ndata.target[[10, 80, 140]]\nlist(data.target_names)\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "af3faf3d05bc406b6d882f527f5f5637c4e572a8" + }, + "cell_type": "markdown", + "source": "
\n# 4-6 Loading external data\n\n1. Numpy provides some [simple tools](https://docs.scipy.org/doc/numpy/reference/routines.io.html) for loading data from files (CSV, binary, etc);\n\n1. For structured data, Pandas provides more [advanced tools](http://pandas.pydata.org/pandas-docs/stable/io.html) (CSV, JSON, Excel, HDF5, SQL, etc);\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "db67b8ed29fd65ec13569321eb9aed2edb1fec80" + }, + "cell_type": "markdown", + "source": "
\n## 4-7 what is new?\nA new clustering algorithm: cluster.**OPTICS**: an algoritm related to cluster.**DBSCAN**, that has hyperparameters easier to set and that scales better\n" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5294a607209dc1d413e84d9e182334a41fa5ee08", + "trusted": false + }, + "cell_type": "code", + "source": "from sklearn.cluster import DBSCAN\nimport numpy as np\nX = np.array([[1, 2], [2, 2], [2, 3],[8, 7], [8, 8], [25, 80]])\nclustering = DBSCAN(eps=3, min_samples=2).fit(X)\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "8e49459a594753031d57b263ee211615e978c04f", + "trusted": false + }, + "cell_type": "code", + "source": "clustering.labels_", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "a409afb829be4b4c983398fdd08b816fefd50331", + "trusted": false + }, + "cell_type": "code", + "source": "clustering ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "722d3cb2f6784dc78d5c800492bbde2594c2211f" + }, + "cell_type": "markdown", + "source": "
\n## 4-8 Tip & Trick\nIn this section we gather some useful advice and tools that may increase your quality-of-life when reviewing pull requests, running unit tests, and so forth. Some of these tricks consist of userscripts that require a browser extension such as TamperMonkey or GreaseMonkey; to set up userscripts you must have one of these extensions installed, enabled and running. We provide userscripts as GitHub gists; to install them, click on the “Raw” button on the gist page." + }, + { + "metadata": { + "_uuid": "50c34f49740671a08c044f413ec1a258b81da727" + }, + "cell_type": "markdown", + "source": "
\n### 4-8-1 Profiling Python code" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "8ecd1c1a327756d112f562d05e894031cd498133", + "trusted": false + }, + "cell_type": "code", + "source": "from sklearn.decomposition import NMF\nfrom sklearn.datasets import load_digits\nX = load_digits().data\n%timeit NMF(n_components=16, tol=1e-2).fit(X)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "72cc7c7b60a33390a85b16bc34e3b9e424650cdd" + }, + "cell_type": "markdown", + "source": "
\n# 4-9 Model Deployment\nAll learning algorithms in scikit-learn share a uniform and limited API consisting of complementary interfaces:\n\n1. an `estimator` interface for building and fitting models;\n1. a `predictor` interface for making predictions;\n1. a `transformer` interface for converting data.\n\nGoal: enforce a simple and consistent API to __make it trivial to swap or plug algorithms__. \n\nIn this section have been applied more than **20 learning algorithms** that play an important rule in your experiences and improve your knowledge in case of using sklearn.\n\n> **<< Note 3 >>** : The results shown here may be slightly different for your analysis because, for example, the neural network algorithms use random number generators for fixing the initial value of the weights (starting points) of the neural networks, which often result in obtaining slightly different (local minima) solutions each time you run the analysis. Also note that changing the seed for the random number generator used to create the train, test, and validation samples can change your results.\n\n ###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "4b7788bbaaace438242d3b2d0d2ed489a91939ce" + }, + "cell_type": "markdown", + "source": "
\n## 4-10 Families of ML algorithms\nThere are several categories for machine learning algorithms, below are some of these categories:\n\n* Linear\n * Linear Regression\n * Logistic Regression\n * Support Vector Machines\n* Tree-Based\n * Decision Tree\n * Random Forest\n * GBDT\n* KNN\n* Neural Networks\n\n-----------------------------\nAnd if we want to categorize ML algorithms with the type of learning, there are below type:\n* Classification\n\n * k-Nearest \tNeighbors\n * LinearRegression\n * SVM\n * DT \n * NN\n \n* clustering\n\n * K-means\n * HCA\n * Expectation Maximization\n \n* Visualization \tand\tdimensionality \treduction:\n\n * Principal \tComponent \tAnalysis(PCA)\n * Kernel PCA\n * Locally -Linear\tEmbedding \t(LLE)\n * t-distributed\tStochastic\tNeighbor\tEmbedding \t(t-SNE)\n \n* Association \trule\tlearning\n\n * Apriori\n * Eclat\n* Semisupervised learning\n* Reinforcement Learning\n * Q-learning\n* Batch learning & Online learning\n* Ensemble Learning\n\n**<< Note >>**\n> Here is no method which outperforms all others for all tasks\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "daf9910caba26e071ff560dbdaca079ee148e140" + }, + "cell_type": "markdown", + "source": "
\n## 4-11 Prepare Features & Targets\nFirst of all seperating the data into dependent(**Feature**) and independent(**Target**) variables.\n\n**<< Note 4 >>**\n1. X==>>Feature\n1. y==>>Target\n## Test error\n\nIssue: the training error is a __biased__ estimate of the generalization error.\n\nSolution: Divide ${\\cal L}$ into two disjoint parts called training and test sets (usually using 70% for training and 30% for test).\n1. Use the training set for fitting the model;\n1. Use the test set for evaluation only, thereby yielding an unbiased estimate.\n\n ###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "b06cb1191a0f52a904c52a918d1f999536e79bda", + "trusted": false + }, + "cell_type": "code", + "source": "\nX = iris.iloc[:, :-1].values\ny = iris.iloc[:, -1].values\n\n# Splitting the dataset into the Training set and Test set\nfrom sklearn.model_selection import train_test_split\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d13f167dd92888d856c4ad2ff2895bf4855e361c" + }, + "cell_type": "markdown", + "source": "
\n## 4-12 Accuracy and precision\n- Recall that we want to learn an estimator $\\varphi$ minimizing the generalization error $Err(\\varphi) = \\mathbb{E}_{X,Y}\\{ \\ell(Y, \\varphi(X)) \\}$.\n\n- Problem: Since $P_{X,Y}$ is unknown, the generalization error $Err(\\varphi)$ cannot be evaluated.\n\n- Solution: Use a proxy to approximate $Err(\\varphi)$.\n* **precision** : \n\nIn pattern recognition, information retrieval and binary classification, precision (also called positive predictive value) is the fraction of relevant instances among the retrieved instances, \n* **recall** : \n\nrecall is the fraction of relevant instances that have been retrieved over the total amount of relevant instances. \n* **F-score** :\n\nthe F1 score is a measure of a test's accuracy. It considers both the precision p and the recall r of the test to compute the score: p is the number of correct positive results divided by the number of all positive results returned by the classifier, and r is the number of correct positive results divided by the number of all relevant samples (all samples that should have been identified as positive). The F1 score is the harmonic average of the precision and recall, where an F1 score reaches its best value at 1 (perfect precision and recall) and worst at 0.\n**What is the difference between accuracy and precision?**\n\"Accuracy\" and \"precision\" are general terms throughout science. A good way to internalize the difference are the common \"bullseye diagrams\". In machine learning/statistics as a whole, accuracy vs. precision is analogous to bias vs. variance.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "bc2471a2bc5d24fbee0532a71219e8b25996c20c" + }, + "cell_type": "markdown", + "source": "
\n## 4-13 Estimators" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "ae2c9909a05b213a567338be03f0b880dcbc42fd", + "trusted": false + }, + "cell_type": "code", + "source": "class Estimator(object):\n def fit(self, X, y=None):\n \"\"\"Fits estimator to data.\"\"\"\n # set state of ``self``\n return self", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "c7c25b799b47dd172f3f73e2c85d2670b0095124", + "trusted": false + }, + "cell_type": "code", + "source": "# Import the nearest neighbor class\nfrom sklearn.neighbors import KNeighborsClassifier # Change this to try \n # something else\n\n# Set hyper-parameters, for controlling algorithm\nclf = KNeighborsClassifier(n_neighbors=5)\n\n# Learn a model from training data\nclf.fit(X, y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "f3813605cc909c6fecd52a12e2edc37ad4cc42c2", + "trusted": false + }, + "cell_type": "code", + "source": "# Estimator state is stored in instance attributes\nclf._tree", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0984dea25e9a6c6c7b7372057f87c4bacd230375" + }, + "cell_type": "markdown", + "source": "
\n## 4-14 Predictors" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "9ca84979bfe46e0b6ce79ade03ac19efde72f5c3", + "trusted": false + }, + "cell_type": "code", + "source": "# Make predictions \nprint(clf.predict(X[:5])) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "1b12ceaf8ca499e5e7d3486955f281f5bd72f34b", + "trusted": false + }, + "cell_type": "code", + "source": "# Compute (approximate) class probabilities\nprint(clf.predict_proba(X[:5]))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "84079ff3031fe25f5454233a5e2e1ba97030403d" + }, + "cell_type": "markdown", + "source": "
\n## 5- Feature Scaling with scikit-learn\nFeature scaling is a method used to standardize the range of independent variables or features of data. In data processing, it is also known as data normalization and is generally performed during the data preprocessing step[wikipedia].\n\nIn this section we explore 3 methods of feature scaling that are implemented in scikit-learn:\n1. StandardScaler\n1. MinMaxScaler\n1. RobustScaler\n1. Normalizer" + }, + { + "metadata": { + "_uuid": "1c2f614f35b51dee635551e0e8895a88c002e230" + }, + "cell_type": "markdown", + "source": "
\n## 5-1 Standard Scaler\nThe StandardScaler assumes your data is normally distributed within each feature and will scale them such that the distribution is now centred around 0, with a standard deviation of 1.\n\nThe mean and standard deviation are calculated for the feature and then the feature is scaled based on:\n\n$xi–$mean(x)/ $stdev(x)\nIf data is not normally distributed, this is not the best scaler to use.\n\nLet’s take a look at it in action:" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "2bdc6b63329fdc6affbcb1770d9ddf790a85152a", + "trusted": false + }, + "cell_type": "code", + "source": "np.random.seed(1)\ndf = pd.DataFrame({\n 'x1': np.random.normal(0, 2, 10000),\n 'x2': np.random.normal(5, 3, 10000),\n 'x3': np.random.normal(-5, 5, 10000)\n})\n\nscaler = preprocessing.StandardScaler()\nscaled_df = scaler.fit_transform(df)\nscaled_df = pd.DataFrame(scaled_df, columns=['x1', 'x2', 'x3'])\n\nfig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(6, 5))\n\nax1.set_title('Before Scaling')\nsns.kdeplot(df['x1'], ax=ax1)\nsns.kdeplot(df['x2'], ax=ax1)\nsns.kdeplot(df['x3'], ax=ax1)\nax2.set_title('After Standard Scaler')\nsns.kdeplot(scaled_df['x1'], ax=ax2)\nsns.kdeplot(scaled_df['x2'], ax=ax2)\nsns.kdeplot(scaled_df['x3'], ax=ax2)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3eda1677dbe142f72e2e8471d81260a1ee0103bb" + }, + "cell_type": "markdown", + "source": "All features are now on the same scale relative to one another." + }, + { + "metadata": { + "_uuid": "cfa6c616362340c78b53d941211e6dc5c85ccc88" + }, + "cell_type": "markdown", + "source": "## 3-2 Min-Max Scaler" + }, + { + "metadata": { + "_uuid": "f825bbb80c7aa4c320af437c60e45b3d750b25af" + }, + "cell_type": "markdown", + "source": "The **MinMaxScaler** is the probably the most famous scaling algorithm, and follows the following formula for each feature:\n\nxi – min(x) / max(x) – min(x)\n\nIt essentially shrinks the range such that the range is now between 0 and 1 (or -1 to 1 if there are negative values).\n\nThis scaler works better for cases in which the standard scaler might not work so well. If the distribution is not Gaussian or the standard deviation is very small, the min-max scaler works better.\n\nHowever, it is sensitive to outliers, so if there are outliers in the data, you might want to consider the **Robust Scaler** below.\n\nFor now, let’s see the min-max scaler in action" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "b140bfc83800bbe2f2b70bad10dc182d71815b36", + "trusted": false + }, + "cell_type": "code", + "source": "df = pd.DataFrame({\n # positive skew\n 'x1': np.random.chisquare(8, 1000),\n # negative skew \n 'x2': np.random.beta(8, 2, 1000) * 40,\n # no skew\n 'x3': np.random.normal(50, 3, 1000)\n})\n\nscaler = preprocessing.MinMaxScaler()\nscaled_df = scaler.fit_transform(df)\nscaled_df = pd.DataFrame(scaled_df, columns=['x1', 'x2', 'x3'])\n\nfig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(6, 5))\nax1.set_title('Before Scaling')\nsns.kdeplot(df['x1'], ax=ax1)\nsns.kdeplot(df['x2'], ax=ax1)\nsns.kdeplot(df['x3'], ax=ax1)\nax2.set_title('After Min-Max Scaling')\nsns.kdeplot(scaled_df['x1'], ax=ax2)\nsns.kdeplot(scaled_df['x2'], ax=ax2)\nsns.kdeplot(scaled_df['x3'], ax=ax2)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7ab92d12860f488ace4a77f50430d3053a0aacd0" + }, + "cell_type": "markdown", + "source": "Notice that the skewness of the distribution is maintained but the 3 distributions are brought into the same scale so that they overlap." + }, + { + "metadata": { + "_uuid": "3e4d9be25e2cab0d8f938a4f31e7c790e402bd5c" + }, + "cell_type": "markdown", + "source": "## 3-3 Robust Scaler\nThe RobustScaler uses a similar method to the Min-Max scaler but it instead uses the interquartile range, rathar than the min-max, so that it is robust to outliers. Therefore it follows the formula:\n\nxi–Q1(x) / Q3(x)–Q1(x)\nFor each feature.\n\nOf course this means it is using the less of the data for scaling so it’s more suitable for when there are outliers in the data.\n\nLet’s take a look at this one in action on some data with outliers\n" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "ab8bea4c9d1c11fc0c162781dfaab2fce58085e7", + "trusted": false + }, + "cell_type": "code", + "source": "x = pd.DataFrame({\n # Distribution with lower outliers\n 'x1': np.concatenate([np.random.normal(20, 1, 1000), np.random.normal(1, 1, 25)]),\n # Distribution with higher outliers\n 'x2': np.concatenate([np.random.normal(30, 1, 1000), np.random.normal(50, 1, 25)]),\n})\n\nscaler = preprocessing.RobustScaler()\nrobust_scaled_df = scaler.fit_transform(x)\nrobust_scaled_df = pd.DataFrame(robust_scaled_df, columns=['x1', 'x2'])\n\nscaler = preprocessing.MinMaxScaler()\nminmax_scaled_df = scaler.fit_transform(x)\nminmax_scaled_df = pd.DataFrame(minmax_scaled_df, columns=['x1', 'x2'])\n\nfig, (ax1, ax2, ax3) = plt.subplots(ncols=3, figsize=(9, 5))\nax1.set_title('Before Scaling')\nsns.kdeplot(x['x1'], ax=ax1)\nsns.kdeplot(x['x2'], ax=ax1)\nax2.set_title('After Robust Scaling')\nsns.kdeplot(robust_scaled_df['x1'], ax=ax2)\nsns.kdeplot(robust_scaled_df['x2'], ax=ax2)\nax3.set_title('After Min-Max Scaling')\nsns.kdeplot(minmax_scaled_df['x1'], ax=ax3)\nsns.kdeplot(minmax_scaled_df['x2'], ax=ax3)\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5bd719c9b7237082e93dba3b817f0eca88053309" + }, + "cell_type": "markdown", + "source": "Notice that after Robust scaling, the distributions are brought into the same scale and overlap, but the outliers remain outside of bulk of the new distributions.\n\nHowever, in Min-Max scaling, the two normal distributions are kept seperate by the outliers that are inside the 0-1 range." + }, + { + "metadata": { + "_uuid": "265e2a384db8b8cfcfefb9a209ee91d369fe75dd" + }, + "cell_type": "markdown", + "source": "## 3-4 Normalizer\nThe normalizer scales each value by dividing each value by its magnitude in n-dimensional space for n number of features.\n\nEach point is now within 1 unit of the origin on this Cartesian co-ordinate system." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "87cd95d01526e1e45bd2f283bf861477b069543d", + "trusted": false + }, + "cell_type": "code", + "source": "from mpl_toolkits.mplot3d import Axes3D\n\ndf = pd.DataFrame({\n 'x1': np.random.randint(-100, 100, 1000).astype(float),\n 'y1': np.random.randint(-80, 80, 1000).astype(float),\n 'z1': np.random.randint(-150, 150, 1000).astype(float),\n})\n\nscaler = preprocessing.Normalizer()\nscaled_df = scaler.fit_transform(df)\nscaled_df = pd.DataFrame(scaled_df, columns=df.columns)\n\nfig = plt.figure(figsize=(9, 5))\nax1 = fig.add_subplot(121, projection='3d')\nax2 = fig.add_subplot(122, projection='3d')\nax1.scatter(df['x1'], df['y1'], df['z1'])\nax2.scatter(scaled_df['x1'], scaled_df['y1'], scaled_df['z1'])\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "aeac26deaba89efb376177b4b485d212fbb5593c" + }, + "cell_type": "markdown", + "source": "Note that the points are all brought within a sphere that is at most 1 away from the origin at any point. Also, the axes that were previously different scales are now all one scale." + }, + { + "metadata": { + "_uuid": "f6ea122dfd9ae36afa57b216312dc87f3cd56741" + }, + "cell_type": "markdown", + "source": "## 5- Machine Learning Algorithms with scikit-learn\nIn this section we will examine 20 different algorithms using this scikit-learn." + }, + { + "metadata": { + "_uuid": "b8b544762cc789bfeb8ebccd6765f77b9c7e1a0f" + }, + "cell_type": "markdown", + "source": "
\n## 5-1 K-Nearest Neighbours\nIn **Machine Learning**, the **k-nearest neighbors algorithm** (k-NN) is a non-parametric method used for classification and regression. In both cases, the input consists of the k closest training examples in the feature space. The output depends on whether k-NN is used for classification or regression:\n\nIn k-NN classification, the output is a class membership. An object is classified by a majority vote of its neighbors, with the object being assigned to the class most common among its k nearest neighbors (k is a positive integer, typically small). If k = 1, then the object is simply assigned to the class of that single nearest neighbor.\nIn k-NN regression, the output is the property value for the object. This value is the average of the values of its k nearest neighbors.\nk-NN is a type of instance-based learning, or lazy learning, where the function is only approximated locally and all computation is deferred until classification. The k-NN algorithm is among the simplest of all machine learning algorithms.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "eaa2caacfbc319932f79c75c549364089d1e649f", + "trusted": false + }, + "cell_type": "code", + "source": "# K-Nearest Neighbours\nfrom sklearn.neighbors import KNeighborsClassifier\n\nModel = KNeighborsClassifier(n_neighbors=8)\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e01bbec9f80532e30c6cf26d5c3fffffb5ea01d4" + }, + "cell_type": "markdown", + "source": "
\n## 5-2 Radius Neighbors Classifier\nClassifier implementing a **vote** among neighbors within a given **radius**\n\nIn scikit-learn **RadiusNeighborsClassifier** is very similar to **KNeighborsClassifier** with the exception of two parameters. First, in RadiusNeighborsClassifier we need to specify the radius of the fixed area used to determine if an observation is a neighbor using radius. Unless there is some substantive reason for setting radius to some value, it is best to treat it like any other hyperparameter and tune it during model selection. The second useful parameter is outlier_label, which indicates what label to give an observation that has no observations within the radius - which itself can often be a useful tool for identifying outliers.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7728fdafa163e068668cea92cf8d79306b41d458", + "trusted": false + }, + "cell_type": "code", + "source": "from sklearn.neighbors import RadiusNeighborsClassifier\nModel=RadiusNeighborsClassifier(radius=8.0)\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\n#summary of the predictions made by the classifier\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_test,y_pred))\n#Accouracy score\nprint('accuracy is ', accuracy_score(y_test,y_pred))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e55a785373bf654e0d4b2a78693fab1c8a625acb" + }, + "cell_type": "markdown", + "source": "
\n## 5-3 Logistic Regression\nLogistic regression is the appropriate regression analysis to conduct when the dependent variable is **dichotomous** (binary). Like all regression analyses, the logistic regression is a **predictive analysis**.\n\nIn statistics, the logistic model (or logit model) is a widely used statistical model that, in its basic form, uses a logistic function to model a binary dependent variable; many more complex extensions exist. In regression analysis, logistic regression (or logit regression) is estimating the parameters of a logistic model; it is a form of binomial regression. Mathematically, a binary logistic model has a dependent variable with two possible values, such as pass/fail, win/lose, alive/dead or healthy/sick; these are represented by an indicator variable, where the two values are labeled \"0\" and \"1\"\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "55eb348cf69272192274cd0728a123796b459b55", + "trusted": false + }, + "cell_type": "code", + "source": "# LogisticRegression\nfrom sklearn.linear_model import LogisticRegression\nModel = LogisticRegression()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c0a1c2ccaa4f6e9c5e2e42c47a295ceef7abd3b9" + }, + "cell_type": "markdown", + "source": "
\n## 5-4 Passive Aggressive Classifier" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "d509b2111a143660dd5cb1f02ea2779e38295b77", + "trusted": false + }, + "cell_type": "code", + "source": "from sklearn.linear_model import PassiveAggressiveClassifier\nModel = PassiveAggressiveClassifier()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "52938b49082dac7b35dc627828838bf12924cc7f" + }, + "cell_type": "markdown", + "source": "
\n## 5-5 Naive Bayes\nIn machine learning, naive Bayes classifiers are a family of simple \"**probabilistic classifiers**\" based on applying Bayes' theorem with strong (naive) independence assumptions between the features." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "522d4a3fa874950d0850a5a9a4178ec763781ec3", + "trusted": false + }, + "cell_type": "code", + "source": "# Naive Bayes\nfrom sklearn.naive_bayes import GaussianNB\nModel = GaussianNB()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e530d18ab308e36d575806583e534cc07fe61c61" + }, + "cell_type": "markdown", + "source": "
\n## 5-6 BernoulliNB\nLike MultinomialNB, this classifier is suitable for **discrete data**. The difference is that while MultinomialNB works with occurrence counts, BernoulliNB is designed for binary/boolean features." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "e7051b5e9aa144b74e9913cb2a6668832e7f3e02", + "trusted": false + }, + "cell_type": "code", + "source": "# BernoulliNB\nfrom sklearn.naive_bayes import BernoulliNB\nModel = BernoulliNB()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "386d2d0e4fc7f5dc2b9298226d8e2ecfb7150346" + }, + "cell_type": "markdown", + "source": "
\n## 5-7 SVM\n\nThe advantages of support vector machines are:\n* Effective in high dimensional spaces.\n* Still effective in cases where number of dimensions is greater than the number of samples. \n* Uses a subset of training points in the decision function (called support vectors), so it is also memory efficient.\n* Versatile: different Kernel functions can be specified for the decision function. Common kernels are provided, but it is also possible to specify custom kernels.\n\nThe disadvantages of support vector machines include:\n\n* If the number of features is much greater than the number of samples, avoid over-fitting in choosing Kernel functions and regularization term is crucial.\n* SVMs do not directly provide probability estimates, these are calculated using an expensive five-fold cross-validation\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "a44a5a43945404c95863668c2ba099f6032357f8", + "trusted": false + }, + "cell_type": "code", + "source": "# Support Vector Machine\nfrom sklearn.svm import SVC\n\nModel = SVC()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b1d092cc03dcaa712f4fe4ec6867b292321377d5" + }, + "cell_type": "markdown", + "source": "
\n## 5-8 Nu-Support Vector Classification\n\n> Similar to SVC but uses a parameter to control the number of support vectors." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "2fa7c9a5bef780adb400bd9ad83d030f83a8d2b3", + "trusted": false + }, + "cell_type": "code", + "source": "# Support Vector Machine's \nfrom sklearn.svm import NuSVC\n\nModel = NuSVC()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5d07a75e83251ddbf8cfdfd11c9faa2671ad87ff" + }, + "cell_type": "markdown", + "source": "
\n## 5-9 Linear Support Vector Classification\n\nSimilar to **SVC** with parameter kernel=’linear’, but implemented in terms of liblinear rather than libsvm, so it has more flexibility in the choice of penalties and loss functions and should scale better to large numbers of samples.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "7e7275f160f2e4e270200eaa01c13be5cb465142", + "trusted": false + }, + "cell_type": "code", + "source": "# Linear Support Vector Classification\nfrom sklearn.svm import LinearSVC\n\nModel = LinearSVC()\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\n\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cec81c9e0c3bc6afba07811a321b5383a0f823f3" + }, + "cell_type": "markdown", + "source": "
\n## 5-10 Decision Tree\nDecision Trees (DTs) are a non-parametric supervised learning method used for **classification** and **regression**. The goal is to create a model that predicts the value of a target variable by learning simple **decision rules** inferred from the data features.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "10e25ad67f7c25a8654637d4ba496b64121d67d0", + "trusted": false + }, + "cell_type": "code", + "source": "# Decision Tree's\nfrom sklearn.tree import DecisionTreeClassifier\n\nModel = DecisionTreeClassifier()\n\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a7d897130fd705943764e924bbe468c99b7c036a" + }, + "cell_type": "markdown", + "source": "
\n## 5-11 ExtraTreeClassifier\nAn extremely randomized tree classifier.\n\nExtra-trees differ from classic decision trees in the way they are built. When looking for the best split to separate the samples of a node into two groups, random splits are drawn for each of the **max_features** randomly selected features and the best split among those is chosen. When max_features is set 1, this amounts to building a totally random decision tree.\n\n**Warning**: Extra-trees should only be used within ensemble methods.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5a775006a814b6aacdcc07dc46995eb291b873f1", + "trusted": false + }, + "cell_type": "code", + "source": "# ExtraTreeClassifier\nfrom sklearn.tree import ExtraTreeClassifier\n\nModel = ExtraTreeClassifier()\n\nModel.fit(X_train, y_train)\n\ny_pred = Model.predict(X_test)\n\n# Summary of the predictions made by the classifier\nprint(classification_report(y_test, y_pred))\nprint(confusion_matrix(y_test, y_pred))\n# Accuracy score\nprint('accuracy is',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "48f940f73580a2997d75f22eba09d938c86a1a97" + }, + "cell_type": "markdown", + "source": "
\n## 5-12 Neural network\n\nI have used multi-layer Perceptron classifier.\nThis model optimizes the log-loss function using **LBFGS** or **stochastic gradient descent**.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5f040cfaeb71f8caa94e4d7f18cccde8d2a0b8a7", + "trusted": false + }, + "cell_type": "code", + "source": "from sklearn.neural_network import MLPClassifier\nModel=MLPClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\n# Summary of the predictions\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_test,y_pred))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ffc339dbf9c8da74194b994930694bd97bb2afbb" + }, + "cell_type": "markdown", + "source": "
\n## 5-13 RandomForest\nA random forest is a meta estimator that **fits a number of decision tree classifiers** on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting. \n\nThe sub-sample size is always the same as the original input sample size but the samples are drawn with replacement if bootstrap=True (default).\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "8ed2305b51c2248a8aa62cf4452632f448e83771", + "trusted": false + }, + "cell_type": "code", + "source": "from sklearn.ensemble import RandomForestClassifier\nModel=RandomForestClassifier(max_depth=2)\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1311eb15f2afceed2219faeb859d0d07b7072176" + }, + "cell_type": "markdown", + "source": "
\n## 5-14 Bagging classifier \nA Bagging classifier is an ensemble **meta-estimator** that fits base classifiers each on random subsets of the original dataset and then aggregate their individual predictions (either by voting or by averaging) to form a final prediction. Such a meta-estimator can typically be used as a way to reduce the variance of a black-box estimator (e.g., a decision tree), by introducing randomization into its construction procedure and then making an ensemble out of it.\n\nThis algorithm encompasses several works from the literature. When random subsets of the dataset are drawn as random subsets of the samples, then this algorithm is known as Pasting . If samples are drawn with replacement, then the method is known as Bagging . When random subsets of the dataset are drawn as random subsets of the features, then the method is known as Random Subspaces . Finally, when base estimators are built on subsets of both samples and features, then the method is known as Random Patches .[http://scikit-learn.org]\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "c11c731d3db6c1c81301da85dc158cb7d324c4cb", + "trusted": false + }, + "cell_type": "code", + "source": "from sklearn.ensemble import BaggingClassifier\nModel=BaggingClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c0944bd32424f38906148d96f4b1e6fccfbf97a6" + }, + "cell_type": "markdown", + "source": "
\n## 5-15 AdaBoost classifier\n\nAn AdaBoost classifier is a meta-estimator that begins by fitting a classifier on the original dataset and then fits additional copies of the classifier on the same dataset but where the weights of incorrectly classified instances are adjusted such that subsequent classifiers focus more on difficult cases.\nThis class implements the algorithm known as **AdaBoost-SAMME** ." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "938946ee8e017b982c4c06e193d4d13cb7d3fb5f", + "trusted": false + }, + "cell_type": "code", + "source": "from sklearn.ensemble import AdaBoostClassifier\nModel=AdaBoostClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9d62842d12731d3eb1d6577c5b35c12c4886c708" + }, + "cell_type": "markdown", + "source": "
\n## 5-16 Gradient Boosting Classifier\nGB builds an additive model in a forward stage-wise fashion; it allows for the optimization of arbitrary differentiable loss functions." + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "863124561c0d1b5995d0b8d3702daa7bc364d6b0", + "trusted": false + }, + "cell_type": "code", + "source": "from sklearn.ensemble import GradientBoostingClassifier\nModel=GradientBoostingClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e89b4494bd78c2d66beeba34a4e320fd8c9dae0c" + }, + "cell_type": "markdown", + "source": "
\n## 5-17 Linear Discriminant Analysis\nLinear Discriminant Analysis (discriminant_analysis.LinearDiscriminantAnalysis) and Quadratic Discriminant Analysis (discriminant_analysis.QuadraticDiscriminantAnalysis) are two classic classifiers, with, as their names suggest, a **linear and a quadratic decision surface**, respectively.\n\nThese classifiers are attractive because they have closed-form solutions that can be easily computed, are inherently multiclass, have proven to work well in practice, and have no **hyperparameters** to tune.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "0796cd9f1c902345df605b7557a9c3ff686e35a9", + "trusted": false + }, + "cell_type": "code", + "source": "from sklearn.discriminant_analysis import LinearDiscriminantAnalysis\nModel=LinearDiscriminantAnalysis()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "296137970fc94fa4a4eb4185cb5fa952b1985c57" + }, + "cell_type": "markdown", + "source": "
\n## 5-18 Quadratic Discriminant Analysis\nA classifier with a quadratic decision boundary, generated by fitting class conditional densities to the data and using Bayes’ rule.\n\nThe model fits a **Gaussian** density to each class.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "5f521d19f295b8e8f24f5715e93b1c45e9a6bce3", + "trusted": false + }, + "cell_type": "code", + "source": "from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis\nModel=QuadraticDiscriminantAnalysis()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0518634bf8850ac1bfcfc301e93a8740e1995c3a" + }, + "cell_type": "markdown", + "source": "
\n## 5-19 Kmeans \nK-means clustering is a type of unsupervised learning, which is used when you have unlabeled data (i.e., data without defined categories or groups). \n\nThe goal of this algorithm is **to find groups in the data**, with the number of groups represented by the variable K. The algorithm works iteratively to assign each data point to one of K groups based on the features that are provided.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "f5a41f56ab73cbdc0a3677c27d199fc67407cc59", + "trusted": false + }, + "cell_type": "code", + "source": "import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\nfrom sklearn.datasets import load_iris\n\nfrom sklearn.model_selection import train_test_split\n\nfrom sklearn.cluster import KMeans\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.metrics import accuracy_score\nclass Iris(object):\n \n def data_load(self, datafn=load_iris):\n data = datafn()\n self.X_train, self.X_test, self.y_train, self.y_test = train_test_split(data.data, data.target, test_size=0.3, random_state=42)\n return 1\n \n def __init__(self):\n self.data_load()\n return None\n \n def Kmeans(self, init='random', n_clusters=2, result = 'all'): \n km = KMeans(init=init, n_clusters=n_clusters) \n km.fit(self.X_train)\n self.X_train = pd.DataFrame(self.X_train)\n self.X_test = pd.DataFrame(self.X_test)\n if result == 'all':\n self.X_train['km'] = km.labels_\n self.X_test['km'] = km.predict(self.X_test)\n elif result == 'one':\n self.X_train = km.labels_.reshape(-1, 1)\n self.X_test = km.predict(self.X_test).reshape(-1, 1) \n return self\n \n def model(self, model = LogisticRegression()):\n model.fit(self.X_train, self.y_train)\n predictions = model.predict(self.X_test)\n return accuracy_score(self.y_test, predictions) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "3c478d3ea88bc5c602c1229347227e69891faaa9", + "trusted": false + }, + "cell_type": "code", + "source": "Iris.model", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "84f37cd1c587667f56cfc33a6ea8364cf2a81da9", + "trusted": false + }, + "cell_type": "code", + "source": "Iris().Kmeans(init='random',n_clusters=3,result='all').model()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7dfdff6d8a54c846d12a3c234e7765bb7f9d06f3" + }, + "cell_type": "markdown", + "source": "
\n## 5-20 Plot classification probability" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "f8e04572a7c768f5928229a8896dc65008571cbc", + "trusted": false + }, + "cell_type": "code", + "source": "print(__doc__)\n\n# Author: Alexandre Gramfort \n# License: BSD 3 clause\n\n\niris = datasets.load_iris()\nX = iris.data[:, 0:2] # we only take the first two features for visualization\ny = iris.target\n\nn_features = X.shape[1]\n\nC = 10\nkernel = 1.0 * RBF([1.0, 1.0]) # for GPC\n\n# Create different classifiers.\nclassifiers = {\n 'L1 logistic': LogisticRegression(C=C, penalty='l1',\n solver='saga',\n multi_class='multinomial',\n max_iter=10000),\n 'L2 logistic (Multinomial)': LogisticRegression(C=C, penalty='l2',\n solver='saga',\n multi_class='multinomial',\n max_iter=10000),\n 'L2 logistic (OvR)': LogisticRegression(C=C, penalty='l2',\n solver='saga',\n multi_class='ovr',\n max_iter=10000),\n 'Linear SVC': SVC(kernel='linear', C=C, probability=True,\n random_state=0),\n 'GPC': GaussianProcessClassifier(kernel)\n}\n\nn_classifiers = len(classifiers)\n\nplt.figure(figsize=(3 * 2, n_classifiers * 2))\nplt.subplots_adjust(bottom=.2, top=.95)\n\nxx = np.linspace(3, 9, 100)\nyy = np.linspace(1, 5, 100).T\nxx, yy = np.meshgrid(xx, yy)\nXfull = np.c_[xx.ravel(), yy.ravel()]\n\nfor index, (name, classifier) in enumerate(classifiers.items()):\n classifier.fit(X, y)\n\n y_pred = classifier.predict(X)\n accuracy = accuracy_score(y, y_pred)\n print(\"Accuracy (train) for %s: %0.1f%% \" % (name, accuracy * 100))\n\n # View probabilities:\n probas = classifier.predict_proba(Xfull)\n n_classes = np.unique(y_pred).size\n for k in range(n_classes):\n plt.subplot(n_classifiers, n_classes, index * n_classes + k + 1)\n plt.title(\"Class %d\" % k)\n if k == 0:\n plt.ylabel(name)\n imshow_handle = plt.imshow(probas[:, k].reshape((100, 100)),\n extent=(3, 9, 1, 5), origin='lower')\n plt.xticks(())\n plt.yticks(())\n idx = (y_pred == k)\n if idx.any():\n plt.scatter(X[idx, 0], X[idx, 1], marker='o', c='w', edgecolor='k')\n\nax = plt.axes([0.15, 0.04, 0.7, 0.05])\nplt.title(\"Probability\")\nplt.colorbar(imshow_handle, cax=ax, orientation='horizontal')\n\nplt.show()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fe3d19ff691fcc7c7edf8d2cb1224e3bdeee396e" + }, + "cell_type": "markdown", + "source": "
\n# 3- conclusion\nAfter the first version of this kernel, in the second edition, we introduced Sklearn. in addition, we examined each one in detail. this kernel it is not completed yet! Following up!" + }, + { + "metadata": { + "_uuid": "a8424e6f84874112757040d36b93542a2e5ba8cb" + }, + "cell_type": "markdown", + "source": ">###### you may be interested have a look at it: [**10-steps-to-become-a-data-scientist**](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n---------------------------------------------------------------------\nyou can Fork and Run this kernel on Github:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n-------------------------------------------------------------------------------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "1923ba01df86012077df2a2750b92ebb2adb8236" + }, + "cell_type": "markdown", + "source": "
\n# 4- References\n1. [Coursera](https://www.coursera.org/specializations/data-science-python)\n1. [GitHub](https://github.com/mjbahmani)\n1. [Sklearn](https://scikit-learn.org)\n1. [Feature Scaling with scikit-learn](http://benalexkeen.com/feature-scaling-with-scikit-learn/)\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "7f0644ae4e74da4a20cba4e9094ed2458be44361" + }, + "cell_type": "markdown", + "source": "**you may be interested have a look at it: [Course Home Page](https://www.kaggle.com/mjbahmani/10-steps-to-become-a-data-scientist)**" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git "a/The Data Scientist\342\200\231s Toolbox Tutorial/The Data Scientist\342\200\231s Toolbox Tutorial.ipynb" "b/The Data Scientist\342\200\231s Toolbox Tutorial/The Data Scientist\342\200\231s Toolbox Tutorial.ipynb" new file mode 100644 index 0000000..235ab87 --- /dev/null +++ "b/The Data Scientist\342\200\231s Toolbox Tutorial/The Data Scientist\342\200\231s Toolbox Tutorial.ipynb" @@ -0,0 +1,4048 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "866e7eb37a03e1a48e71ba4e4c8f4baca43472e8" + }, + "cell_type": "markdown", + "source": " #
The Data Scientist’s Toolbox Tutorial - 1
\n ###
Quite Practical and Far from any Theoretical Concepts
\n \n
last update: 12/03/2018
" + }, + { + "metadata": { + "_uuid": "e02d495da0fb0ad24e0341e91848f4c4cfc35bdb" + }, + "cell_type": "markdown", + "source": "you may be interested have a look at it: \n>[**The Data Scientist’s Toolbox Tutorial - 2**](https://www.kaggle.com/mjbahmani/the-data-scientist-s-toolbox-tutorial-2)\n\n---------------------------------------------------------------------\nFork, Run and Follow this kernel on GitHub:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n-------------------------------------------------------------------------------------------------------------\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------\n" + }, + { + "metadata": { + "_uuid": "85b27cf82d3023fd69c338df2be7afb2d7afaf32" + }, + "cell_type": "markdown", + "source": "
\n**Notebook Content**\n1. [Introduction](#1)\n 1. [Import](#2)\n 1. [Version](#3)\n 1. [setup](#4)\n1. [Python](#5)\n 1. [Python Syntax compared to other programming languages](#6)\n 1. [Python: Basics](#7)\n 1. [Variables](#8)\n 1. [Operators](#9)\n 1. [Functions](#10)\n 1. [Types and Sequences](#11)\n 1. [More on Strings](#12)\n 1. [Reading and Writing CSV files](#13)\n 1. [Dates and Times](#14)\n 1. [Objects and map()](#15)\n 1. [Lambda and List Comprehensions](#16)\n 1. [OOP](#17)\n 1. [Inheritance](#18)\n 1. [ Python JSON](#19)\n 1. [Convert from Python to JSON](#20)\n 1. [Python PIP](#21)\n 1. [Install PIP](#22)\n 1. [Python Try Except](#23)\n 1. [Python Iterators](#24)\n 1. [Looping Through an Iterator](#25)\n 1. [Dictionary](#26)\n 1. [Tuples](#27)\n 1. [Set](#28)\n 1. [Add Items](#29)\n 1. [Python Packages](#30)\n1. [Numpy](#31)\n 1. [Creating Arrays](#32)\n 1. [Combining Arrays](#33)\n 1. [Operations](#34)\n 1. [Math Functions](#35)\n 1. [Indexing / Slicing](#36)\n 1. [Copying Data](#37)\n 1. [Iterating Over Arrays](#38)\n 1. [The Series Data Structure](#39)\n 1. [Querying a Series](#40)\n1. [Pandas](#41)\n 1. [The DataFrame Data Structure](#42)\n 1. [Dataframe Indexing and Loading](#43)\n 1. [Missing values](#44)\n 1. [Merging Dataframes](#45)\n 1. [Making Code Pandorable](#46)\n 1. [Group by](#47)\n 1. [Scales](#48)\n 1. [Pivot Tables](#49)\n 1. [Date Functionality](#50)\n 1. [Distributions in Pandas](#51)\n 1. [Hypothesis Testing](#52)\n1. [CheatSheet](#60)\n1. [Conclusion](#61)\n1. [References](#62)" + }, + { + "metadata": { + "_uuid": "6b741a5af31141057f72904b11954acfb57f5772" + }, + "cell_type": "markdown", + "source": "
\n## 1-Introduction" + }, + { + "metadata": { + "_uuid": "1e7678d8e7831683d0aefffdab152562c18c3188" + }, + "cell_type": "markdown", + "source": "In this kernel, we have a comprehensive tutorials for some important packages in python after that you can read my other kernels about machine learning." + }, + { + "metadata": { + "_uuid": "918161eb40e34a545c75850d6a7dee64d9bf5cd1" + }, + "cell_type": "markdown", + "source": " \n \n ###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "953258de456acd2780aba3d18c1fc817ae689ad7" + }, + "cell_type": "markdown", + "source": "
\n## 1-1 Import" + }, + { + "metadata": { + "_uuid": "4f8b6d44c99e1141bd001556f554c7efc6b77acf", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot\nimport matplotlib.pyplot as plt\nimport plotly.graph_objs as go\nimport scipy.stats as stats\nimport plotly.plotly as py\nimport seaborn as sns\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport scipy\nimport json\nimport sys\nimport csv\nimport os", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9a30328de5327e576716f7a57ef119e63a6e77c3" + }, + "cell_type": "markdown", + "source": "
\n## 1-2 Version" + }, + { + "metadata": { + "trusted": true, + "_uuid": "3925ca44958df0a27f3b51de1dba2a18a2650110", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "51a98c51b1bf27253f6521a2951a5d61625642bf" + }, + "cell_type": "markdown", + "source": "
\n## 1-3 Setup" + }, + { + "metadata": { + "trusted": true, + "_uuid": "cbf46ff8ec8faf08c4aa9c84eb796ffcf0a8c4c8", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "warnings.filterwarnings('ignore')\nsns.set(color_codes=True)\nplt.style.available\n%matplotlib inline\n%precision 2", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5efeff35ad9951e40551d0763eaf26f08bb4119e" + }, + "cell_type": "markdown", + "source": "
\n# 2-Python\n\n**Python** is a modern, robust, high level programming language. It is very easy to pick up even if you are completely new to programming.\n\nIt is used for:\n\n1. Web development (server-side),\n1. Software development,\n1. Mathematics,\n1. System scripting.\n1. Data Science\n\n
\n## 2-1 Python Syntax compared to other programming languages\n\n1. Python was designed to for readability, and has some similarities to the English language with influence from mathematics.\n1. Python uses new lines to complete a command, as opposed to other programming languages which often use semicolons or parentheses.\n1. Python relies on indentation, using whitespace, to define scope; such as the scope of loops, functions and classes. Other programming languages often use curly-brackets for this purpose.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "a276b26993c902362e522d8a29a67ef670db103d" + }, + "cell_type": "markdown", + "source": "
\n# 2-2 Python: Basics\n" + }, + { + "metadata": { + "_uuid": "732b4733f620d36d4ac78b27261933559f7086de", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "import this", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "46d2f5efcea352bda6ee7f8721be0001548440f1" + }, + "cell_type": "markdown", + "source": "
\n### 2-2-1 Variables\nA name that is used to denote something or a value is called a variable. In python, variables can be declared and values can be assigned to it as follows," + }, + { + "metadata": { + "_uuid": "52c065c046f96806741321dcc3e40dffec8f75fe", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = 2\ny = 5\nxy = 'Hey'", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "762c34fcdeed69fc79fb84d7bb86c5baf8f9152e" + }, + "cell_type": "markdown", + "source": "
\n### 2-2-2 Operators" + }, + { + "metadata": { + "_uuid": "9dcd3e4436aa8050f116b6f7157cc986e762c794" + }, + "cell_type": "markdown", + "source": "| Symbol | Task Performed |\n|----|---|\n| + | Addition |\n| - | Subtraction |\n| / | division |\n| % | mod |\n| * | multiplication |\n| // | floor division |\n| ** | to the power of |\n\n### Relational Operators\n| Symbol | Task Performed |\n|----|---|\n| == | True, if it is equal |\n| != | True, if not equal to |\n| < | less than |\n| > | greater than |\n| <= | less than or equal to |\n| >= | greater than or equal to |\n### Bitwise Operators\n| Symbol | Task Performed |\n|----|---|\n| & | Logical And |\n| l | Logical OR |\n| ^ | XOR |\n| ~ | Negate |\n| >> | Right shift |\n| << | Left shift |\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "281c637be82f68519f371353afa603fe842bd5fa" + }, + "cell_type": "markdown", + "source": "
\n# 2-3 Python : Functions" + }, + { + "metadata": { + "_uuid": "b513caa4821bc20e6b833577ba4d894bce011e32" + }, + "cell_type": "markdown", + "source": "
\n`add_numbers` is a function that takes two numbers and adds them together." + }, + { + "metadata": { + "_uuid": "700ebb9c4d8c7c57948194e3d848b4b480e06f9a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def add_numbers(x, y):\n return x + y\n\nadd_numbers(1, 2)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0fb081fa2f33e01e616a82aad306ab6490f48a03" + }, + "cell_type": "markdown", + "source": "
\n`add_numbers` updated to take an optional 3rd parameter. Using `print` allows printing of multiple expressions within a single cell." + }, + { + "metadata": { + "_uuid": "b7dd7bc4f7f52acac95ac94586c74f4b59a22acb", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def add_numbers(x,y,z=None):\n if (z==None):\n return x+y\n else:\n return x+y+z\n\nprint(add_numbers(1, 2))\nprint(add_numbers(1, 2, 3))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "51d91959b8088baa0884eaf191edc9520e012625" + }, + "cell_type": "markdown", + "source": "
\n`add_numbers` updated to take an optional flag parameter." + }, + { + "metadata": { + "_uuid": "8f109910dd7dacbac0212d03b3a0d55e8d92b4bf", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def add_numbers(x, y, z=None, flag=False):\n if (flag):\n print('Flag is true!')\n if (z==None):\n return x + y\n else:\n return x + y + z\n \nprint(add_numbers(1, 2, flag=True))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "052a1ebfb11cba627a4ed7ae13360e15cfd2f5bc" + }, + "cell_type": "markdown", + "source": "
\n**Assign function** `add_numbers` to variable `a`." + }, + { + "metadata": { + "_uuid": "774773afde862fefb51b22d9e676b44744410c6f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "def add_numbers(x,y):\n return x+y\n\na = add_numbers\na(1,2)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "54244074f574884d9c241727f559466cdc646793" + }, + "cell_type": "markdown", + "source": "
\n# 2-4 Python : Types and Sequences" + }, + { + "metadata": { + "_uuid": "fe3bfa4b99b20b534a24cd4b04953de4c81a2032" + }, + "cell_type": "markdown", + "source": "
\nUse `type` to return the object's type." + }, + { + "metadata": { + "_uuid": "ea5486e825425487854b66e135142787a8696547", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type('This is a string')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6b1b6307a4b2363c5f13c86a94a6c6ed83cf05d1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type(None)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1bfe51959705a633d7ae10b8e807ba752809f8a2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type(1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9c6ea01bf5fac295d6ca5dea7a867fd769d9854f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type(1.0)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "08e7ecceb2d59d5964d039b1307736a106abef30", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type(add_numbers)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "843a9232374917b366c4afadc94fd123e13bc2cf" + }, + "cell_type": "markdown", + "source": "
\nTuples are an **immutable** data structure (cannot be altered)." + }, + { + "metadata": { + "_uuid": "02c0f949470c05c302705b8cbde9dbc4c5e9ec58", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = (1, 'a', 2, 'b')\ntype(x)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "32e3d57ead5741f615aaf0ec276583163a6fc1a7" + }, + "cell_type": "markdown", + "source": "
\nLists are a mutable data structure." + }, + { + "metadata": { + "_uuid": "e559da4fdd4adcf955e36ee33209728c7f04c873", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = [1, 'a', 2, 'b']\ntype(x)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1c25590aa57c37e383007ea43e9aebd08dbb7ef8" + }, + "cell_type": "markdown", + "source": "
\nUse `append` to append an object to a list." + }, + { + "metadata": { + "_uuid": "46b3996bb68391469648cfaf732d9f891aad8e76", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x.append(3.3)\nprint(x)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a0a9f9ad271ff5cab43f7d95c00f917dfa42cda3" + }, + "cell_type": "markdown", + "source": "
\nThis is an example of how to loop through each item in the list." + }, + { + "metadata": { + "_uuid": "fdbcbc6f491284146fb7ec2288a48dca70d028f0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "for item in x:\n print(item)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a863bf6c33d37823812c0d373bc685f8018328c3" + }, + "cell_type": "markdown", + "source": "
\nOr using the indexing operator:" + }, + { + "metadata": { + "_uuid": "34ebdc7a81ca55c6d96576e8e1032bb2e2a8c38d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "i=0\nwhile( i != len(x) ):\n print(x[i])\n i = i + 1", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7accd0a14f6f94b5f8f87c28e772fd7e70f5aa89" + }, + "cell_type": "markdown", + "source": "
\nUse `+` to concatenate lists." + }, + { + "metadata": { + "_uuid": "2e2d33c027d2d2e66444ea8c5bc16ac182604699", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "[1,2] + [3,4]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8dac836d3bfd72d4ba18e0ad35e918fd5578e0c4" + }, + "cell_type": "markdown", + "source": "
\nUse `*` to repeat lists." + }, + { + "metadata": { + "_uuid": "33fbab44facf2994b9a1f4f842b5b68db790c60c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "[1]*3", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1bf6aa261fae9ee56cc8e2ec7ba789818619bfc7" + }, + "cell_type": "markdown", + "source": "
\nUse the `in` operator to check if something is inside a list." + }, + { + "metadata": { + "_uuid": "9dcaf39b71a922a3a61f6565cb9025fe89291cc8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "1 in [1, 2, 3]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2fdc7e3a4da86bf2fc3daef510d521ff4f9e780a" + }, + "cell_type": "markdown", + "source": "
\nNow let's look at strings. Use bracket notation to slice a string.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "31a527ad3d4ac52203a81f2aa05d6ccbcbefd7d0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = 'This is a string'\nprint(x[0]) #first character\nprint(x[0:1]) #first character, but we have explicitly set the end character\nprint(x[0:2]) #first two characters\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a2da025858712f120a1708fa8de0da26c6b8b1de" + }, + "cell_type": "markdown", + "source": "
\nThis will return the last element of the string." + }, + { + "metadata": { + "_uuid": "24cb16eaabaa7e13b0a4a69dfc6cdf71ffb0238b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x[-1]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "892cb74f3b1ba32053e1b854681e9520d9ae7578" + }, + "cell_type": "markdown", + "source": "
\nThis will return the slice starting from the 4th element from the end and stopping before the 2nd element from the end." + }, + { + "metadata": { + "_uuid": "b947154182b9eb7aa08f5986eb768020e9eefdcb", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x[-4:-2]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7d88463b1e8c9555030af32e1e99cdd522c40610" + }, + "cell_type": "markdown", + "source": "
\nThis is a slice from the beginning of the string and stopping before the 3rd element." + }, + { + "metadata": { + "_uuid": "961b4829e231286702b78c13f6ce68c780df7c56", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x[:3]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d365c72e42116bbd6c7ae960d77af0d89d35f201" + }, + "cell_type": "markdown", + "source": "
\nAnd this is a slice starting from the 3rd element of the string and going all the way to the end." + }, + { + "metadata": { + "_uuid": "82c83cb0bfe09b269037a97ef0b00cd66254ab89", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x[3:]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b3914291465c80995a05d30f2842f38b1e2d7255", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "firstname = 'MJ'\nlastname = 'Bahmani'\n\nprint(firstname + ' ' + lastname)\nprint(firstname*3)\nprint('mj' in firstname)\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5e92142f11b79daaa369a0a031bab1979602457e" + }, + "cell_type": "markdown", + "source": "
\n`split` returns a list of all the words in a string, or a list split on a specific character." + }, + { + "metadata": { + "_uuid": "63a7aea0881d73a1c2caab2b2bc0bf09d46e0402", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "firstname = 'Mr Dr Mj Bahmani'.split(' ')[0] # [0] selects the first element of the list\nlastname = 'Mr Dr Mj Bahmani'.split(' ')[-1] # [-1] selects the last element of the list\nprint(firstname)\nprint(lastname)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a46edc198922ad4957bcdc3d990f43aaae35a464", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "'MJ' + str(2)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "50a1372d759bcc6e0b4d8852588ba9fe1c3a1200" + }, + "cell_type": "markdown", + "source": "
\n**Dictionaries** associate keys with values." + }, + { + "metadata": { + "_uuid": "b6dd088e810aca788fc74f76d23777b2115e12d0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = {'MJ Bahmani': 'Mohamadjavad.bahmani@gmail.com', 'irmatlab': 'irmatlab.ir@gmail.com'}\nx['MJ Bahmani'] # Retrieve a value by using the indexing operator\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6ec5106de063d06587a532835173cb3e15c4c074", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x['MJ Bahmani'] = None\nx['MJ Bahmani']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "909deaebc50f94808fbdbe831ffbe1137066a2fe" + }, + "cell_type": "markdown", + "source": "
\nIterate over all of the keys:" + }, + { + "metadata": { + "_uuid": "993e0c88238de00475ddd22a2f4594ce14aa936d", + "scrolled": true, + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "for name in x:\n print(x[name])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9248f6bfe90a9c867ca248b08ad81c8626eaf689" + }, + "cell_type": "markdown", + "source": "
\nIterate over all of the values:" + }, + { + "metadata": { + "_uuid": "9f995195b06da4b3e64cabbe950d19570fbb910c", + "trusted": true + }, + "cell_type": "code", + "source": "for email in x.values():\n print(email)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "147f360dd1e8f878ae393c46648ec5f630d8d80c" + }, + "cell_type": "markdown", + "source": "
\nIterate over all of the **items** in the list:" + }, + { + "metadata": { + "_uuid": "ab973ccad15b9f3af27e6a2cbd2425ede962be86", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "for name, email in x.items():\n print(name,':',email) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3a909b20788d5df862adec16c2d6d15e021a74dc" + }, + "cell_type": "markdown", + "source": "
\nYou can unpack a sequence into different variables:" + }, + { + "metadata": { + "_uuid": "296600127a5b164c23ad4aad0e622883f6ce56b1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = ('MJ', 'Bahmani', 'Mohamadjavad.bahmani@gmail.com')\nfname, lname, email = x", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b1d783512fd2e8d76b8d1c147ed51f8584d203b7", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "fname", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a69c79b2a267725470ff843205f11c8a6e2a820e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "lname", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6b069e526dd64ce6efba8cb51854ef2636e308b9" + }, + "cell_type": "markdown", + "source": "
\n# 2-5 Python: More on Strings\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "2aa934d05afb73cd7cdcb9ff223b2014798f3b18", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print('MJ' + str(2))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2a9b5f81e7ae92846e4bce5c8c34ff23490b83ef" + }, + "cell_type": "markdown", + "source": "
\nPython has a built in method for convenient string formatting." + }, + { + "metadata": { + "_uuid": "a8fa5e6a70f8a2e642f0799b514d96f5e8b4cf67", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sales_record = {\n'price': 3.24,\n'num_items': 4,\n'person': 'MJ'}\n\nsales_statement = '{} bought {} item(s) at a price of {} each for a total of {}'\n\nprint(sales_statement.format(sales_record['person'],\n sales_record['num_items'],\n sales_record['price'],\n sales_record['num_items']*sales_record['price']))\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7fee00e11e78abee9a0397711ca813c60b1b8c57" + }, + "cell_type": "markdown", + "source": "
\n# 2-6 Python:Reading and Writing CSV files" + }, + { + "metadata": { + "_uuid": "3f79954fc298a34c3c231d35161dfb3bf743576d" + }, + "cell_type": "markdown", + "source": "
\nLet's import our datafile train.csv \n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "ab5ab332ba1dc0fb1668d18df1b1771232cc4e35", + "scrolled": true, + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n\nwith open('../input/house-prices-advanced-regression-techniques/train.csv') as csvfile:\n house_train = list(csv.DictReader(csvfile))\n \nhouse_train[:1] # The first three dictionaries in our list.", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "1a7f91c1dafbb190b32a21907fc4c346f7eff0a0" + }, + "cell_type": "code", + "source": "type(house_train)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ac3ffa35fd8725c3b1d81ab92470f1e5de19061b" + }, + "cell_type": "markdown", + "source": "
\n`csv.Dictreader` has read in each row of our csv file as a dictionary. `len` shows that our list is comprised of 234 dictionaries." + }, + { + "metadata": { + "_uuid": "3f51c4e51000c69c3b3113f4cc8ed1e5e5fa005f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "len(house_train)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "59457b14190fe59e900f644450b66f542b2320c4" + }, + "cell_type": "markdown", + "source": "
\n`keys` gives us the column names of our csv." + }, + { + "metadata": { + "_uuid": "de6d753e74e0345bcc292cb6cfded49241b696f8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "house_train[0].keys()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "391e4c865b352e70ae7bc5cbdef9559ccf396cb8" + }, + "cell_type": "markdown", + "source": "
\nHow to do some math action on the data set" + }, + { + "metadata": { + "_uuid": "c654cdc458ff6f8d960caa80268f61e9f213e9e8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "sum(float(d['SalePrice']) for d in house_train) / len(house_train)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a12ec3e5c23e0660c9cfce427333afabe5a4384c" + }, + "cell_type": "markdown", + "source": "
\nUse `set` to return the unique values for the type of Sex in our dataset have." + }, + { + "metadata": { + "_uuid": "3541bdc6bd01a88c58e408bcc99411136a953538", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "SalePrice = set(d['SalePrice'] for d in house_train)\nSalePrice", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "51bd65ce547fceba323660a1370a407d004e9abe" + }, + "cell_type": "markdown", + "source": "
\n# 2-7 Python: Dates and Times" + }, + { + "metadata": { + "_uuid": "77aea246af2c06fe57b72bf45e424a4a6ae2e8c5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "import datetime as dt\nimport time as tm", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f14fbbf5385512cc6d6631677a62ff620d51f9ae" + }, + "cell_type": "markdown", + "source": "
\n`time` returns the current time in seconds since the Epoch. (January 1st, 1970)\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "73ffa7423c31ed5efb8bab44ead79a4162711920", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "tm.time()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "83a2aceba5919534adf74e59c16baa61d6e24bda" + }, + "cell_type": "markdown", + "source": "
\nConvert the timestamp to datetime." + }, + { + "metadata": { + "_uuid": "b0726eaf4ebb492d3da2396520a7328bbb00263c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dtnow = dt.datetime.fromtimestamp(tm.time())\ndtnow", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "df2a8c0e8237c6c88ea5d8f446604d6c60435b72" + }, + "cell_type": "markdown", + "source": "
\nHandy datetime attributes:" + }, + { + "metadata": { + "_uuid": "3ca2dd821f01874e23fc1eccf13b6584ba21e795", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dtnow.year, dtnow.month, dtnow.day, dtnow.hour, dtnow.minute, dtnow.second # get year, month, day, etc.from a datetime", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "85160de1a52833048050277d7df6713172b367c9" + }, + "cell_type": "markdown", + "source": "
\n`timedelta` is a duration expressing the difference between two dates." + }, + { + "metadata": { + "_uuid": "c466ccf8a9f33641fec51525f0e8a03dbec8fd62", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "delta = dt.timedelta(days = 100) # create a timedelta of 100 days\ndelta", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c09e3bd1c17b5a67b8e340956fdb27b2e6b32b2d" + }, + "cell_type": "markdown", + "source": "
\n`date.today` returns the current local date." + }, + { + "metadata": { + "_uuid": "539408df43c0aa1b449551e14b84b49110b04beb", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "today = dt.date.today()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4022bf4458c6495ab1c4ddfcf82c155742641823", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "today - delta # the date 100 days ago", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "38399dc2975b4f44e083ae319f37217286d9533a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "today > today-delta # compare dates", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a8bcac1b08550c3f143e21cf7ca9049449304a5c" + }, + "cell_type": "markdown", + "source": "
\n# 2-8 Python: Objects and map()" + }, + { + "metadata": { + "_uuid": "28be3905d37e6b7d2fb09a5f1a0e0c9df7e48559" + }, + "cell_type": "markdown", + "source": "
\nAn example of a class in python:" + }, + { + "metadata": { + "_uuid": "2dc3faf4892b932cb1015902e83a13bd47125b20", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "class Person:\n department = 'School of Information' #a class variable\n\n def set_name(self, new_name): #a method\n self.name = new_name\n def set_location(self, new_location):\n self.location = new_location", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1da9aaf6d97f50fff89e9d08b658adb3c691a262", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "person = Person()\nperson.set_name('MJ Bahmani')\nperson.set_location('MI, Berlin, Germany')\nprint('{} live in {} and works in the department {}'.format(person.name, person.location, person.department))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8422c57273a71b4a74b6b4a9eb5535444356823d" + }, + "cell_type": "markdown", + "source": "
\nHere's an example of mapping the `min` function between two lists." + }, + { + "metadata": { + "_uuid": "3052442e823ee0a450e404607e44cb3c321b508c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "store1 = [10.00, 11.00, 12.34, 2.34]\nstore2 = [9.00, 11.10, 12.34, 2.01]\ncheapest = map(min, store1, store2)\ncheapest", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "787b960d3c824c764a0eb7c2dab69d073eacfa9d" + }, + "cell_type": "markdown", + "source": "
\nNow let's iterate through the map object to see the values." + }, + { + "metadata": { + "_uuid": "a9d6751e7c95241dbd10a44f0179a40df8ee3a7a", + "scrolled": true, + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "for item in cheapest:\n print(item)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e9c6c70988cd1459c7078f31fb9a43a275965d46" + }, + "cell_type": "markdown", + "source": "
\n# 2-9-Python : Lambda and List Comprehensions" + }, + { + "metadata": { + "_uuid": "b6257386671f84333b4cfae3a979a2c1f8100e76" + }, + "cell_type": "markdown", + "source": "
\nHere's an example of lambda that takes in three parameters and adds the first two." + }, + { + "metadata": { + "_uuid": "a306ae5687e20ae64431306035359f33aa465382", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "my_function = lambda a, b, c : a + b", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6bf98de2fab3b4239e41a093386d5fb9acad6367", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "my_function(1, 2, 3)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5db80d702a02a1873aa09fa3acd26d922d74ff46" + }, + "cell_type": "markdown", + "source": "
\nLet's iterate from 0 to 9 and return the even numbers.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "90e7eb5e7689d6ce448b8c0c801c2caef70e6d44", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "my_list = []\nfor number in range(0, 9):\n if number % 2 == 0:\n my_list.append(number)\nmy_list", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1bfe68a8553e5718a04b14a321262e6e88407b2c" + }, + "cell_type": "markdown", + "source": "
\nNow the same thing but with list comprehension." + }, + { + "metadata": { + "_uuid": "ee501b9820296d1452845b8da201dbd69d4e0637", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "my_list = [number for number in range(0,10) if number % 2 == 0]\nmy_list", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e99f98ecb3393b8846fca621cdbad5dcaf1c60d1" + }, + "cell_type": "markdown", + "source": "
\n# 2-10 OOP\n1. **Class** − A user-defined prototype for an object that defines a set of attributes that characterize any object of the class. The attributes are data members (class variables and instance variables) and methods, accessed via dot notation.\n\n1. **Class variable** − A variable that is shared by all instances of a class. Class variables are defined within a class but outside any of the class's methods. Class variables are not used as frequently as instance variables are.\n\n1. **Data member** − A class variable or instance variable that holds data associated with a class and its objects.\n\n1. **Function overloading** − The assignment of more than one behavior to a particular function. The operation performed varies by the types of objects or arguments involved.\n\n1. **Instance variable** − A variable that is defined inside a method and belongs only to the current instance of a class.\n\n1. **Inheritance** − The transfer of the characteristics of a class to other classes that are derived from it.\n\n1. **Instance** − An individual object of a certain class. An object obj that belongs to a class Circle, for example, is an instance of the class Circle.\n\n1. **Instantiation** − The creation of an instance of a class.\n\n1. **Method** − A special kind of function that is defined in a class definition.\n\n1. **Object** − A unique instance of a data structure that's defined by its class. An object comprises both data members (class variables and instance variables) and methods.\n\n1. **Operator overloading** − The assignment of more than one function to a particular operator.[4]\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "1c3c77a74a2f45e0cfbec9e2a43ac089aaa09558", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "class FirstClass:\n test = 'test'\n def __init__(self,name,symbol):\n self.name = name\n self.symbol = symbol", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2dd1233bc33a4e9ca7bf528968267868f4d1bbe1", + "trusted": true + }, + "cell_type": "code", + "source": "eg3 = FirstClass('Three',3)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8bb856d47cf1407cccd295fe241825c2999e0756", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print (eg3.test, eg3.name)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3fa8ea01163ceea3f5cf46fe2f5eb843fa8a9cc7", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "class FirstClass:\n def __init__(self,name,symbol):\n self.name = name\n self.symbol = symbol\n def square(self):\n return self.symbol * self.symbol\n def cube(self):\n return self.symbol * self.symbol * self.symbol\n def multiply(self, x):\n return self.symbol * x", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6086b2eaf54cc57b3447b7c0b47e4b67f208cba3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "eg4 = FirstClass('Five',5)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7029000f20ae1efcd694754d0db4b7e546cdafae", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print (eg4.square())\nprint (eg4.cube())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e60cf1e71ae99cb38e6b555ae43cb6948bdfc329", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "eg4.multiply(2)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "52ccbcd46b12d802454097d1a4c6ee52c551c4a3", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "FirstClass.multiply(eg4,2)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c68d1914adc7080d3ee9b5592420ff95ea2870e7" + }, + "cell_type": "markdown", + "source": "
\n### 2-10-1 Inheritance\n\nThere might be cases where a new class would have all the previous characteristics of an already defined class. So the new class can \"inherit\" the previous class and add it's own methods to it. This is called as inheritance.\n\nConsider class SoftwareEngineer which has a method salary." + }, + { + "metadata": { + "_uuid": "ea270e5c33b3e6d6fb3c7b66a0081e8d80825a78", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "class SoftwareEngineer:\n def __init__(self,name,age):\n self.name = name\n self.age = age\n def salary(self, value):\n self.money = value\n print (self.name,\"earns\",self.money)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d63b58d87a62e2e692f25644b1bfd1b0c3c2ccff", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "a = SoftwareEngineer('Kartik',26)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "14e20781ff108a4cc13ac68de99478293413b3d1", + "trusted": true + }, + "cell_type": "code", + "source": "a.salary(40000)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "89cf62c093a3c6369b77536f4700f70ddf84eebf", + "trusted": true + }, + "cell_type": "code", + "source": "dir(SoftwareEngineer)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "edcf9e2d90a66ca3370d889ffd2109827229825f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "class Artist:\n def __init__(self,name,age):\n self.name = name\n self.age = age\n def money(self,value):\n self.money = value\n print (self.name,\"earns\",self.money)\n def artform(self, job):\n self.job = job\n print (self.name,\"is a\", self.job)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "92e459938effe069d173a19f94819e68b34d4eca", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "b = Artist('Nitin',20)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a708a468bec5bc8314bc40ad7e830568805885bc", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "b.money(50000)\nb.artform('Musician')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "efa5a80085b1a7a6e98a88c5fd86da6c880421cf", + "trusted": true + }, + "cell_type": "code", + "source": "dir(Artist)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "843c1001213bd2cfd201e99b682a5c5bfe78c0c6" + }, + "cell_type": "markdown", + "source": "
\n## 2-11 Python JSON\n" + }, + { + "metadata": { + "_uuid": "153a10fa7584e50553490e6f765284192776ee5c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\n\n# some JSON:\nx = '{ \"name\":\"John\", \"age\":30, \"city\":\"New York\"}'\n\n# parse x:\ny = json.loads(x)\n\n# the result is a Python dictionary:\nprint(y[\"age\"])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "85876511f2a41d866fe4bfa5208372f51536e6c5" + }, + "cell_type": "markdown", + "source": "
\n## 2-11-1 Convert from Python to JSON\n" + }, + { + "metadata": { + "_uuid": "06ce583a101287b07e6e95d28426ae20d5b4e64b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "# a Python object (dict):\nx = {\n \"name\": \"John\",\n \"age\": 30,\n \"city\": \"New York\"\n}\n\n# convert into JSON:\ny = json.dumps(x)\n\n# the result is a JSON string:\nprint(y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b016e08d500dc749010ed6495e3c02e3f1144b4e" + }, + "cell_type": "markdown", + "source": "You can convert Python objects of the following types, into JSON strings:\n\n* dict\n* list\n* tuple\n* string\n* int\n* float\n* True\n* False\n* None\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "2906f3ee8c9392b9be7507c2c99a1fc3db9df95d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "print(json.dumps({\"name\": \"John\", \"age\": 30}))\nprint(json.dumps([\"apple\", \"bananas\"]))\nprint(json.dumps((\"apple\", \"bananas\")))\nprint(json.dumps(\"hello\"))\nprint(json.dumps(42))\nprint(json.dumps(31.76))\nprint(json.dumps(True))\nprint(json.dumps(False))\nprint(json.dumps(None))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5cd4ddf30b6996185afdc94f68ad675b258ebb9a" + }, + "cell_type": "markdown", + "source": "Convert a Python object containing all the legal data types:" + }, + { + "metadata": { + "_uuid": "7a5a584c5912ac52a6fc9796e23eb4799d5b9261", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "x = {\n \"name\": \"John\",\n \"age\": 30,\n \"married\": True,\n \"divorced\": False,\n \"children\": (\"Ann\",\"Billy\"),\n \"pets\": None,\n \"cars\": [\n {\"model\": \"BMW 230\", \"mpg\": 27.5},\n {\"model\": \"Ford Edge\", \"mpg\": 24.1}\n ]\n}\n\nprint(json.dumps(x))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "27a8da102cf08964e9cde82973cd653306e3356f" + }, + "cell_type": "markdown", + "source": "
\n## 2-12 Python PIP\n" + }, + { + "metadata": { + "_uuid": "5d13a95f504b710e977b4b589c200d5dadca5bc2" + }, + "cell_type": "markdown", + "source": "
\n### 2-12-1 What is a Package?\nA package contains all the files you need for a **module**.\n\n**Modules** are Python code libraries you can include in your project.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "cfe1ddbfe7ac5b38f1fb0d36401aaa59bf706b06" + }, + "cell_type": "markdown", + "source": "
\n### 2-12-2 Install PIP\nIf you do not have PIP installed, you can download and install it from this page: https://pypi.org/project/pip/" + }, + { + "metadata": { + "_uuid": "af880b807b69c45d77b21433937a13772453b481" + }, + "cell_type": "markdown", + "source": "
\n## 2-13 Python Try Except\nThe **try** block lets you test a block of code for errors.\n\nThe **except** block lets you handle the error.\n\nThe **finally** block lets you execute code, regardless of the result of the try- and except blocks." + }, + { + "metadata": { + "_uuid": "078d0a98c43a742ff43460848dd6bf31a69975ce", + "trusted": true + }, + "cell_type": "code", + "source": "try:\n print(x)\nexcept NameError:\n print(\"Variable x is not defined\")\nexcept:\n print(\"Something else went wrong\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c5e3cbfe7a287cda43736597455b95e2117ccf4d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "try:\n print(x)\nexcept:\n print(\"Something went wrong\")\nfinally:\n print(\"The 'try except' is finished\")", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6d4ae311b6798fa03dff0516dfb59e7d271b040e" + }, + "cell_type": "markdown", + "source": "
\n## 2-14 Python Iterators\nAn iterator is an object that contains a countable number of values.\n\nAn iterator is an object that can be iterated upon, meaning that you can traverse through all the values.\n\nTechnically, in Python, an iterator is an object which implements the iterator protocol, which consist of the methods __iter__() and __next__().\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "0fd29f43681c38533591b6cd0d3cff27e75b6b0c" + }, + "cell_type": "markdown", + "source": "Return a iterator from a tuple, and print each value:" + }, + { + "metadata": { + "_uuid": "d4f1c3ecdad754158b847660bfc92343470e9c55", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "mytuple = (\"apple\", \"banana\", \"cherry\")\nmyit = iter(mytuple)\n\nprint(next(myit))\nprint(next(myit))\nprint(next(myit))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5a15f75b705e078ec25f1fb628af76ed19da0333" + }, + "cell_type": "markdown", + "source": "
\n### 2- 14-1 Looping Through an Iterator\n" + }, + { + "metadata": { + "_uuid": "830a5d61f4d7afec6525f32b8f8e9c0f4783acc0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "mytuple = (\"apple\", \"banana\", \"cherry\")\n\nfor x in mytuple:\n print(x)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e7410e1e9691615946998a833fec7bea80f50cc2" + }, + "cell_type": "markdown", + "source": "
\n## 2- 15 Dictionary\nA **dictionary** is a collection which is **unordered, changeable and indexed**. In Python dictionaries are written with curly brackets, and they have **keys and values**." + }, + { + "metadata": { + "trusted": true, + "_uuid": "85f51ded66c72e13b253c5775e5b1ac914459479", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "thisdict =\t{\n \"brand\": \"Ford\",\n \"model\": \"Mustang\",\n \"year\": 1964\n}\nprint(thisdict)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "437f23fd4289f0a757dc1c87a1e339a9c6f96c31" + }, + "cell_type": "markdown", + "source": "
\n## 2-16 Tuples\nA **tuple** is a collection which is **ordered and unchangeable**. In Python tuples are written with round brackets.\n\n" + }, + { + "metadata": { + "trusted": true, + "_uuid": "253ab9bcc46ce48b2f5b702bacad75db5d95de7c" + }, + "cell_type": "code", + "source": "thistuple = (\"apple\", \"banana\", \"cherry\")\nprint(thistuple)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0d377a64581e95a0022045181a2c81530eba31d1" + }, + "cell_type": "markdown", + "source": "
\n## 2-19 Set\nA set is a collection which is unordered and unindexed. In Python sets are written with curly brackets.\n###### [Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "0d4b6b6a5efa453ed3a594173586fb63bb6475dc", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "thisset = {\"apple\", \"banana\", \"cherry\"}\nprint(thisset)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "dbb1998040fc3bdc67e0d690de391b4f47e117b8", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "thisset = {\"apple\", \"banana\", \"cherry\"}\n\nfor x in thisset:\n print(x)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2f51152b3812f1d279b3a009fed112780aedbda4" + }, + "cell_type": "markdown", + "source": "
\n### 2-17-1 Add Items\nTo add one item to a set use the add() method.\n\nTo add more than one item to a set use the update() method.\n###### [Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "cccd895e65e0b5bbbfbecdd96b3322a43688de78", + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "thisset = {\"apple\", \"banana\", \"cherry\"}\n\nthisset.add(\"orange\")\n\nprint(thisset)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1a8697f93952e076f6f949997676d40518d7b5a6" + }, + "cell_type": "markdown", + "source": "
\n# Python Packages\n* Numpy\n* Pandas\n* Matplotlib\n* Seaborn\n* Sklearn\n* plotly" + }, + { + "metadata": { + "_uuid": "bfb701e45e93aea0b3ed64e148ca2fdb53559038", + "collapsed": true + }, + "cell_type": "markdown", + "source": "
\n# 3- Numerical Python (NumPy)" + }, + { + "metadata": { + "_uuid": "db9a850ebb440ca960a0713d822e20090bc10601", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "import numpy as np", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "79699175b4559f509181d359393167f801735485" + }, + "cell_type": "markdown", + "source": "
\n## 3-1 NumPy :Creating Arrays" + }, + { + "metadata": { + "_uuid": "fb5123cfa4687a819758ea82810984fa69d631e3" + }, + "cell_type": "markdown", + "source": "Create a list and convert it to a numpy array" + }, + { + "metadata": { + "_uuid": "1cdc9404b31261269891723ddc59064802063041", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "mylist = [1, 2, 3]\nx = np.array(mylist)\nx", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "85123a6bf0589918ff03fe9916b06635fa32b776" + }, + "cell_type": "markdown", + "source": "
\nOr just pass in a list directly" + }, + { + "metadata": { + "_uuid": "dca7dd9319716e863760bb7c4e1e47a1c17d7b1b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "y = np.array([4, 5, 6])\ny", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5a29d1e6bb19131b3bde9ae197b562cf5c905f2a" + }, + "cell_type": "markdown", + "source": "
\nPass in a list of lists to create a multidimensional array." + }, + { + "metadata": { + "_uuid": "e18e77b6d1becf1b7ded3a4daa361dbe3f985d96", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "m = np.array([[7, 8, 9], [10, 11, 12]])\nm", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "956c870e985074aadd2aa97b8a4c820c64bd7d2b" + }, + "cell_type": "markdown", + "source": "
\nUse the shape method to find the dimensions of the array. (rows, columns)." + }, + { + "metadata": { + "_uuid": "7e5472233313b1eb806b7e9dfd2478f4155b23d0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "m.shape", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d20433435f865bf4593ee8b5eae4cb2173794a57" + }, + "cell_type": "markdown", + "source": "
\n`arange` returns evenly spaced values within a given interval." + }, + { + "metadata": { + "_uuid": "87aded8cbe232bfcb4ce246ecf1bac0b70d9477e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "n = np.arange(0, 30, 2) # start at 0 count up by 2, stop before 30\nn", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ef6d0651972cb576188cd986830aae2d53bb20b8" + }, + "cell_type": "markdown", + "source": "
\n`reshape` returns an array with the same data with a new shape." + }, + { + "metadata": { + "_uuid": "6722026f830d545bfd21a2760f80c20e33c0d757", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "n = n.reshape(3, 5) # reshape array to be 3x5\nn", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a47a0e9b094d81ae9ec235cd33d395ca34c379b3" + }, + "cell_type": "markdown", + "source": "
\n`linspace` returns evenly spaced numbers over a specified interval." + }, + { + "metadata": { + "_uuid": "099d0b4b7f3c6e5aef6cebd760e3c6b8111205d8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "o = np.linspace(0, 4, 9) # return 9 evenly spaced values from 0 to 4\no", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e5abb93fd66c344624ad2bb5e91ec1cd8a9ab220" + }, + "cell_type": "markdown", + "source": "
\n`resize` changes the shape and size of array in-place." + }, + { + "metadata": { + "_uuid": "66de4ad6fbb8a2ffe7251b667de732fe0048c39c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "o.resize(3, 3)\no", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "95af33fa252b8ccc4afad8666e0a7ced2d83aee9" + }, + "cell_type": "markdown", + "source": "
\n`ones` returns a new array of given shape and type, filled with ones." + }, + { + "metadata": { + "_uuid": "015e5a604fceb5b335760d85f090812416ab0edd", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.ones((3, 2))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "415ba7eb6ffcca82d1ad73b6e652d77c2b40c4c7" + }, + "cell_type": "markdown", + "source": "
\n`zeros` returns a new array of given shape and type, filled with zeros." + }, + { + "metadata": { + "_uuid": "4833b4502eac60ec53ca4ab55f10653103be3584", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.zeros((2, 3))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "acbef4f6ab93b0ea5ed8bea30ec0eddbce8415f1" + }, + "cell_type": "markdown", + "source": "
\n`eye` returns a 2-D array with ones on the diagonal and zeros elsewhere." + }, + { + "metadata": { + "_uuid": "5e4e8112e5829b290385bd076041d9d0c43bdd4e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.eye(3)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bb258a18b84c56c26c19e5e467f8886a3209eb6d" + }, + "cell_type": "markdown", + "source": "
\n`diag` extracts a diagonal or constructs a diagonal array." + }, + { + "metadata": { + "_uuid": "0167bbb06dc5175a14e2d1844b3e92c3f601e156", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.diag(y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "05f0ea0d69c70181a0ddee0b0a0670afc1a5761c" + }, + "cell_type": "markdown", + "source": "
\nCreate an array using repeating list (or see `np.tile`)" + }, + { + "metadata": { + "_uuid": "76f7c4dd56d1f9ba9c8dcc3bf3b0e67bc62326de", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.array([1, 2, 3] * 3)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e9d6935951d0df2a4d60f66b302da7b876006c71" + }, + "cell_type": "markdown", + "source": "
\nRepeat elements of an array using `repeat`." + }, + { + "metadata": { + "_uuid": "7299b4990895d4ea8a59447489fa6fbc0cde5ea6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.repeat([1, 2, 3], 3)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "01250c2ea726f387db5f3fab5a004e741e574a35" + }, + "cell_type": "markdown", + "source": "
\n## 3-2 Numpy:Combining Arrays\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "0dc57919256360d1ac309813fb6e836f75d17484", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "p = np.ones([2, 3], int)\np", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "98aa86e98478bcad2ce35eded8e2adb825bbf709" + }, + "cell_type": "markdown", + "source": "
\nUse `vstack` to stack arrays in sequence vertically (row wise)." + }, + { + "metadata": { + "_uuid": "48b0f8194df6a4f63932d97b24883d6a5d69d0df", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.vstack([p, 2*p])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a2cf2eb6fdf3deccca31df9979dd978241adadb8" + }, + "cell_type": "markdown", + "source": "
\nUse `hstack` to stack arrays in sequence horizontally (column wise)." + }, + { + "metadata": { + "_uuid": "834984b63056d7161f261d868d85b83f24403287", + "trusted": true + }, + "cell_type": "code", + "source": "np.hstack([p, 2*p])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b82f24eec48ab5206a47d04a36e5e639dad7f9a1" + }, + "cell_type": "markdown", + "source": "
\n## 3-3 Numpy:Operations\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "d58a4bb35b9f1525736b28ffc7e2b6ead4035266" + }, + "cell_type": "markdown", + "source": "Use `+`, `-`, `*`, `/` and `**` to perform element wise addition, subtraction, multiplication, division and power." + }, + { + "metadata": { + "_uuid": "7ba8b42fcdcdc83e6f43df83b73665aa289e9786", + "trusted": true + }, + "cell_type": "code", + "source": "print(x + y) # elementwise addition [1 2 3] + [4 5 6] = [5 7 9]\nprint(x - y) # elementwise subtraction [1 2 3] - [4 5 6] = [-3 -3 -3]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cd42ade6bd206750b5dde1086b06bde519f2b1df", + "trusted": true + }, + "cell_type": "code", + "source": "print(x * y) # elementwise multiplication [1 2 3] * [4 5 6] = [4 10 18]\nprint(x / y) # elementwise divison [1 2 3] / [4 5 6] = [0.25 0.4 0.5]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3370d5b9b8ca04ed5be48331c3d6d4d08738ab5d", + "trusted": true + }, + "cell_type": "code", + "source": "print(x**2) # elementwise power [1 2 3] ^2 = [1 4 9]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e665d9db501694e29f54b02de56befaf69305629" + }, + "cell_type": "markdown", + "source": "
\n**Dot Product:** \n\n$ \\begin{bmatrix}x_1 \\ x_2 \\ x_3\\end{bmatrix}\n\\cdot\n\\begin{bmatrix}y_1 \\\\ y_2 \\\\ y_3\\end{bmatrix}\n= x_1 y_1 + x_2 y_2 + x_3 y_3$" + }, + { + "metadata": { + "_uuid": "b45a94567cf5801e05869bde614e831603b1599a", + "trusted": true + }, + "cell_type": "code", + "source": "x.dot(y) # dot product 1*4 + 2*5 + 3*6", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b27ce9c3b1328461ba14f5efdd36079e3f827951", + "trusted": true + }, + "cell_type": "code", + "source": "z = np.array([y, y**2])\nprint(len(z)) # number of rows of array", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "30ab350aa70687cbdd087d86386b96504aec4479" + }, + "cell_type": "markdown", + "source": "
\nLet's look at transposing arrays. Transposing permutes the dimensions of the array." + }, + { + "metadata": { + "_uuid": "2630bf81db6d00483f7e0abd3a3c3af28144d55f", + "trusted": true + }, + "cell_type": "code", + "source": "z = np.array([y, y**2])\nz", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8bb90454186cab0c688be9a01ff84c7ca67fa6a9" + }, + "cell_type": "markdown", + "source": "
\nThe shape of array `z` is `(2,3)` before transposing." + }, + { + "metadata": { + "_uuid": "bdcbfc2e1c9b985a83aefa1a5972aa919acb8365", + "trusted": true + }, + "cell_type": "code", + "source": "z.shape", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3b796b3d6c4e9a90e4fb5332d708398bb848c2e4" + }, + "cell_type": "markdown", + "source": "
\nUse `.T` to get the transpose." + }, + { + "metadata": { + "_uuid": "8ca46bf46ed15a5fa3af7e2d325ac68bc8785f05", + "trusted": true + }, + "cell_type": "code", + "source": "z.T", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d2949665fb40cdb932376219b6d78156265d5ebf" + }, + "cell_type": "markdown", + "source": "
\nThe number of rows has swapped with the number of columns." + }, + { + "metadata": { + "_uuid": "e48e8eff60259a9c865cf2dae88a3ce1641e826c", + "trusted": true + }, + "cell_type": "code", + "source": "z.T.shape", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "08fac1d78a66fdd513372cd31eaa5f973655e80a" + }, + "cell_type": "markdown", + "source": "
\nUse `.dtype` to see the data type of the elements in the array." + }, + { + "metadata": { + "_uuid": "6e1ea214c877f23d670b72f06060c2dee1bdaee5", + "trusted": true + }, + "cell_type": "code", + "source": "z.dtype", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "70da3bcabbc0631bb11b48796106c07f4de41ba8" + }, + "cell_type": "markdown", + "source": "
\nUse `.astype` to cast to a specific type." + }, + { + "metadata": { + "_uuid": "60684ed5f18c88c4ef4e2fe4207fa94eede9d993", + "trusted": true + }, + "cell_type": "code", + "source": "z = z.astype('f')\nz.dtype", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e1199442dd07a4a4eef965c584d9e0f443c40013" + }, + "cell_type": "markdown", + "source": "
\n## 3-4 Numpy: Math Functions\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "01121300b7b5b8a83d213d4f065383da19d5f7d8" + }, + "cell_type": "markdown", + "source": "Numpy has many built in math functions that can be performed on arrays." + }, + { + "metadata": { + "_uuid": "e1eaeb06cf68d055f6a5536ea72a17606b6762c1", + "trusted": true + }, + "cell_type": "code", + "source": "a = np.array([-4, -2, 1, 3, 5])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2918e83be55935fa03fd24924bc7f07a271c40d3", + "trusted": true + }, + "cell_type": "code", + "source": "a.sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2e86a6ea98c6c86dbe7a96612af4f37452b23670", + "trusted": true + }, + "cell_type": "code", + "source": "a.max()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1e8e48425f65e90a18a29fb7983dc6aa424f8445", + "trusted": true + }, + "cell_type": "code", + "source": "a.min()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "27131855b2c26a5f90c6524d4a8c7ed0266bf378", + "trusted": true + }, + "cell_type": "code", + "source": "a.mean()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a020531df7f87af15577e986699e80f892300773", + "trusted": true + }, + "cell_type": "code", + "source": "a.std()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6d26c78ddd00e9387ba4214470debcc8147fd2bc" + }, + "cell_type": "markdown", + "source": "
\n`argmax` and `argmin` return the index of the maximum and minimum values in the array." + }, + { + "metadata": { + "_uuid": "dd6f6aee91fc8dd99cc5a8359dc81ce1d443e77f", + "trusted": true + }, + "cell_type": "code", + "source": "a.argmax()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "59aeec1ba92a0eb4c6928564e64445e6ce46cc3c", + "trusted": true + }, + "cell_type": "code", + "source": "a.argmin()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cf3ad4800506fd903882f60d811ca2548756e7c8" + }, + "cell_type": "markdown", + "source": "
\n\n## 3-5 Numpy:Indexing / Slicing\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "82ca4b616a46de3280b5a50df4c0114298d07aea", + "trusted": true + }, + "cell_type": "code", + "source": "s = np.arange(13)**2\ns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "417c1b56b9d3eca21021422bde199036c3f08ec3" + }, + "cell_type": "markdown", + "source": "
\nUse bracket notation to get the value at a specific index. Remember that indexing starts at 0." + }, + { + "metadata": { + "_uuid": "6f90f5dee19a73afde4e9455b47c0dbe86c9ce6b", + "trusted": true + }, + "cell_type": "code", + "source": "s[0], s[4], s[-1]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9d0cf8a30f9b1bd1f8dc60a46d3271e5cac235d0" + }, + "cell_type": "markdown", + "source": "
\nUse `:` to indicate a range. `array[start:stop]`\n\n\nLeaving `start` or `stop` empty will default to the beginning/end of the array." + }, + { + "metadata": { + "_uuid": "1ea11cc5be369a751b250e7085cf507b122bcf88", + "trusted": true + }, + "cell_type": "code", + "source": "s[1:5]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "dd42e9a4274baebf747c627767a273ef8ca9a26f" + }, + "cell_type": "markdown", + "source": "
\nUse negatives to count from the back." + }, + { + "metadata": { + "_uuid": "ce51a60f59516b22174f97a4f7c6da6c75322a8b", + "trusted": true + }, + "cell_type": "code", + "source": "s[-4:]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0fdd94c22e7ceb4cac00001bd98f09d5d879613e" + }, + "cell_type": "markdown", + "source": "
\nA second `:` can be used to indicate step-size. `array[start:stop:stepsize]`\n\nHere we are starting 5th element from the end, and counting backwards by 2 until the beginning of the array is reached." + }, + { + "metadata": { + "_uuid": "f28245bea6ab9a1bed7a76859ddfbb295ea95038", + "trusted": true + }, + "cell_type": "code", + "source": "s[-5::-2]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2f2295df96d9e7da01cde82bf87d5c7157bd9d21" + }, + "cell_type": "markdown", + "source": "
\nLet's look at a multidimensional array." + }, + { + "metadata": { + "_uuid": "582e15f695a2891826ef4eb8e913a0dc61913898", + "trusted": true + }, + "cell_type": "code", + "source": "r = np.arange(36)\nr.resize((6, 6))\nr", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "26fd89ebfe4b92cedad89152753918608b68eafe" + }, + "cell_type": "markdown", + "source": "
\nUse bracket notation to slice: `array[row, column]`." + }, + { + "metadata": { + "_uuid": "7bf0f1e77c5243c3e2b846f7b268c4891786621b", + "trusted": true + }, + "cell_type": "code", + "source": "r[2, 2]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fcbf322288c6671ef799299b5ddb828b68b8cab9" + }, + "cell_type": "markdown", + "source": "
\nAnd use : to select a range of rows or columns." + }, + { + "metadata": { + "_uuid": "64d430ac4626977723c6357865a5297699e5323d", + "trusted": true + }, + "cell_type": "code", + "source": "r[3, 3:6]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e109144f7316b357450c4b3cae3cb61ad327f5d9" + }, + "cell_type": "markdown", + "source": "
\nHere we are selecting all the rows up to (and not including) row 2, and all the columns up to (and not including) the last column." + }, + { + "metadata": { + "_uuid": "7b80dc3ba5c970afe2db37c23599d476399b1c68", + "trusted": true + }, + "cell_type": "code", + "source": "r[:2, :-1]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6c5126aa54a1e6b9d0d078f2226b68d3fb42c4a2" + }, + "cell_type": "markdown", + "source": "
\nThis is a slice of the last row, and only every other element." + }, + { + "metadata": { + "_uuid": "054f80d47b0e2d249a9140321846ff7b50daba1f", + "trusted": true + }, + "cell_type": "code", + "source": "r[-1, ::2]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "62e5354b353e1fe2e60036f2c3f94909a8af1b7b" + }, + "cell_type": "markdown", + "source": "
\nWe can also perform conditional indexing. Here we are selecting values from the array that are greater than 30. (Also see `np.where`)" + }, + { + "metadata": { + "_uuid": "5476c43a5e7d195804cac7517abbdbcdbc234829", + "trusted": true + }, + "cell_type": "code", + "source": "r[r > 30]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "77ae22731783157aaecdd019be77004504b943af" + }, + "cell_type": "markdown", + "source": "
\nHere we are assigning all values in the array that are greater than 30 to the value of 30.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "6651ea99641526b7df83e7a9d9c1efe4eab9dc99", + "trusted": true + }, + "cell_type": "code", + "source": "r[r > 30] = 30\nr", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6189d2e7dc9038dc1c4f2ed95a47fad76d700890" + }, + "cell_type": "markdown", + "source": "
\n## 3-6 Numpy :Copying Data" + }, + { + "metadata": { + "_uuid": "ad2453d83a8db6de311e9265672e9b10b0337284" + }, + "cell_type": "markdown", + "source": "Be careful with copying and modifying arrays in NumPy!\n\n\n`r2` is a slice of `r`" + }, + { + "metadata": { + "_uuid": "e6bb5dab7586dd4cfbc93b2cee05c57aae1e8518", + "trusted": true + }, + "cell_type": "code", + "source": "r2 = r[:3,:3]\nr2", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "65d42e0a4cade74ae9b2b587f182efaa8a4b1dbf" + }, + "cell_type": "markdown", + "source": "
\nSet this slice's values to zero ([:] selects the entire array)" + }, + { + "metadata": { + "_uuid": "9026a103a457054124258eefca3492008f884ef4", + "trusted": true + }, + "cell_type": "code", + "source": "r2[:] = 0\nr2", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f73d4004c9181b5cffddf6f13b452d7e40cea3f9" + }, + "cell_type": "markdown", + "source": "
\n`r` has also been changed!" + }, + { + "metadata": { + "_uuid": "80c0d26d5cb0374f82929e3d79c183f5e116f4ea", + "trusted": true + }, + "cell_type": "code", + "source": "r", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c8a21fd94e5dfcd322ec0017e89302533ac3cf2d" + }, + "cell_type": "markdown", + "source": "
\nTo avoid this, use `r.copy` to create a copy that will not affect the original array" + }, + { + "metadata": { + "_uuid": "d2b2e17295f75a5a3b8dacf5ca65b4c4f3b6ca47", + "trusted": true + }, + "cell_type": "code", + "source": "r_copy = r.copy()\nr_copy", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2ef3568f7ac932cc45931854410cbb9e4d909df8" + }, + "cell_type": "markdown", + "source": "
\nNow when r_copy is modified, r will not be changed." + }, + { + "metadata": { + "_uuid": "4f7fa9e1b65eea1e9514fbd6f91a2720822430ba", + "trusted": true + }, + "cell_type": "code", + "source": "r_copy[:] = 10\nprint(r_copy, '\\n')\nprint(r)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "752b09b0f8f1606d55bf0423d3f2d9cb162d3ce9" + }, + "cell_type": "markdown", + "source": "
\n## 3-7 Numpy: Iterating Over Arrays" + }, + { + "metadata": { + "_uuid": "6a7f8c639e5f8cbdbd0cf2fe4c78504955ec2ccb" + }, + "cell_type": "markdown", + "source": "Let's create a new 4 by 3 array of random numbers 0-9." + }, + { + "metadata": { + "_uuid": "c1496dab8d8f90434e8c44e63c225bfb3ca9713f", + "trusted": true + }, + "cell_type": "code", + "source": "test = np.random.randint(0, 10, (4,3))\ntest", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bf971c58819a069592b3d5c195cf9e21faa4797b" + }, + "cell_type": "markdown", + "source": "
\nIterate by row:" + }, + { + "metadata": { + "_uuid": "993bb7b7f1be5a0b088caac550c32257dd1c9297", + "trusted": true + }, + "cell_type": "code", + "source": "for row in test:\n print(row)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f5b7fa4289acc25093efbbc99fe36355073bcd02" + }, + "cell_type": "markdown", + "source": "
\nIterate by index:" + }, + { + "metadata": { + "_uuid": "9de357edca10cf7708e1c5b37ef5a0ad337fcbbf", + "trusted": true + }, + "cell_type": "code", + "source": "for i in range(len(test)):\n print(test[i])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "00ed3013376dff60b43f6f1eb5091580279063ad" + }, + "cell_type": "markdown", + "source": "
\nIterate by row and index:" + }, + { + "metadata": { + "_uuid": "a75a7881baf87a49a3f48236fc9a9281f2ace310", + "trusted": true + }, + "cell_type": "code", + "source": "for i, row in enumerate(test):\n print('row', i, 'is', row)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "08f51011e8d4da3ab72a33ccb6daca3c97832eb4" + }, + "cell_type": "markdown", + "source": "
\nUse `zip` to iterate over multiple iterables." + }, + { + "metadata": { + "_uuid": "63709cf63fc6e5596bc540055a287d56a57c55df", + "trusted": true + }, + "cell_type": "code", + "source": "test2 = test**2\ntest2", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "88776121d1063744cdb0d1df15320af35a40690f", + "trusted": true + }, + "cell_type": "code", + "source": "for i, j in zip(test, test2):\n print(i,'+',j,'=',i+j)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c2ec9941ed71b0d102881252688723804c536b65" + }, + "cell_type": "markdown", + "source": "
\n## 3-8 Numpy: The Series Data Structure\nOne-dimensional ndarray with axis labels (including time series)" + }, + { + "metadata": { + "_uuid": "ff60c47c0ee85b3534fa0eeb1fc6c18951e13a93", + "trusted": true + }, + "cell_type": "code", + "source": "animals = ['Tiger', 'Bear', 'Moose']\npd.Series(animals)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3b9d3593c2f04eb52439d1e2f6eaced42103b385", + "trusted": true + }, + "cell_type": "code", + "source": "numbers = [1, 2, 3]\npd.Series(numbers)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ac6b145a659c5c6e143e47a726be2d2bc904ea05", + "trusted": true + }, + "cell_type": "code", + "source": "animals = ['Tiger', 'Bear', None]\npd.Series(animals)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "608363b045521c88d96135d4651624753a0a97f8", + "trusted": true + }, + "cell_type": "code", + "source": "numbers = [1, 2, None]\npd.Series(numbers)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "81c84dd1739a442c3eca83911b9e9cd146beccf1", + "trusted": true + }, + "cell_type": "code", + "source": "import numpy as np\nnp.nan == None", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ee829b3241dc2b99e7aeb8b16daa61f43516a08e", + "trusted": true + }, + "cell_type": "code", + "source": "np.nan == np.nan", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c39a1b7d020fa502a055e4befa580529da3d9206", + "trusted": true + }, + "cell_type": "code", + "source": "np.isnan(np.nan)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "703803f890a0c351d5122b4f509c0835b949481d", + "trusted": true + }, + "cell_type": "code", + "source": "sports = {'Archery': 'Bhutan',\n 'Golf': 'Scotland',\n 'Sumo': 'Japan',\n 'Taekwondo': 'South Korea'}\ns = pd.Series(sports)\ns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6a4a03374c688db5bc1cb49cf0ae67a166f33ab5", + "trusted": true + }, + "cell_type": "code", + "source": "s.index", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "16a45c1d82eb06da0e940aa9304455d5b6629723", + "trusted": true + }, + "cell_type": "code", + "source": "s = pd.Series(['Tiger', 'Bear', 'Moose'], index=['India', 'America', 'Canada'])\ns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d5c017e5124d3c8c62bbe91b16ae5e2fb76f2cd5", + "trusted": true + }, + "cell_type": "code", + "source": "sports = {'Archery': 'Bhutan',\n 'Golf': 'Scotland',\n 'Sumo': 'Japan',\n 'Taekwondo': 'South Korea'}\ns = pd.Series(sports, index=['Golf', 'Sumo', 'Hockey'])\ns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "91a03b68b0698ad0f0736d0a8106bb4c2023437d" + }, + "cell_type": "markdown", + "source": "
\n# 3-9 Numpy: Querying a Series" + }, + { + "metadata": { + "_uuid": "6c44f80eadf6e60f8d1d966594169e6e579fd91a", + "trusted": true + }, + "cell_type": "code", + "source": "sports = {'Archery': 'Bhutan',\n 'Golf': 'Scotland',\n 'Sumo': 'Japan',\n 'Taekwondo': 'South Korea'}\ns = pd.Series(sports)\ns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "560e0377aa2d53cc14f61a42a6492f99932a6eab", + "trusted": true + }, + "cell_type": "code", + "source": "s.iloc[3]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2c0e34116ab3b36363b7d7ffde48d3520b493d50", + "trusted": true + }, + "cell_type": "code", + "source": "s.loc['Golf']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "12dce7548346ce489c21f50e02a30e4a7dad6a81", + "trusted": true + }, + "cell_type": "code", + "source": "s[3]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a44e0fd0b5ea294bfde2383f3ed660bb4dc7c032", + "trusted": true + }, + "cell_type": "code", + "source": "s['Golf']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "97f106d843bd9da560c4aaa36e9a2baf0fd5f820", + "trusted": true + }, + "cell_type": "code", + "source": "sports = {99: 'Bhutan',\n 100: 'Scotland',\n 101: 'Japan',\n 102: 'South Korea'}\ns = pd.Series(sports)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6c8d10a115a42956c1bf95a925006f1a8f44ac77", + "trusted": true + }, + "cell_type": "code", + "source": "s = pd.Series([100.00, 120.00, 101.00, 3.00])\ns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a877d83b4ea29606ab220884b742b9436640a87b", + "trusted": true + }, + "cell_type": "code", + "source": "total = 0\nfor item in s:\n total+=item\nprint(total)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "eb4aaac9d42d6ad0df5b0d766bf142cec13ca640", + "trusted": true + }, + "cell_type": "code", + "source": "total = np.sum(s)\nprint(total)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c5ec441b291558581a79c6bda7d67ee7df640ac4", + "trusted": true + }, + "cell_type": "code", + "source": "#this creates a big series of random numbers\ns = pd.Series(np.random.randint(0,1000,10000))\ns.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cafe2341bfb1b9419fcff2624e9973a12beb579a", + "trusted": true + }, + "cell_type": "code", + "source": "len(s)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b0028ee6c78f4715a1848458c3b5ef2ea75e601b", + "trusted": true + }, + "cell_type": "code", + "source": "%%timeit -n 100\nsummary = 0\nfor item in s:\n summary+=item", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bbc4da9b2ba74a04d797ff837bddf7553b4625d9", + "trusted": true + }, + "cell_type": "code", + "source": "%%timeit -n 100\nsummary = np.sum(s)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a9ef0f8d0db28ffb3f5c92c86dbcffd8b9d01840", + "trusted": true + }, + "cell_type": "code", + "source": "s+=2 #adds two to each item in s using broadcasting\ns.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f092ba84abb6a9172a23030b25caa23b7dea1c3f", + "trusted": true + }, + "cell_type": "code", + "source": "for label, value in s.iteritems():\n s.set_value(label, value+2)\ns.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "979c2ea48abace1804d37a316ecf8a7cb0b53aa2", + "trusted": true + }, + "cell_type": "code", + "source": "%%timeit -n 10\ns = pd.Series(np.random.randint(0,1000,100))\nfor label, value in s.iteritems():\n s.loc[label]= value+2", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "84c6c0358bf55fd26254ae784ae2b60b3d7c3526", + "trusted": true + }, + "cell_type": "code", + "source": "%%timeit -n 10\ns = pd.Series(np.random.randint(0,1000,100))\ns+=2\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "35dabb561b6b3aaf6520311c68004880cadf5f7d", + "trusted": true + }, + "cell_type": "code", + "source": "s = pd.Series([1, 2, 3])\ns.loc['Animal'] = 'Bears'\ns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1f40d7bded3fd8cea73b8ab31e945929d75a57f4", + "trusted": true + }, + "cell_type": "code", + "source": "original_sports = pd.Series({'Archery': 'Bhutan',\n 'Golf': 'Scotland',\n 'Sumo': 'Japan',\n 'Taekwondo': 'South Korea'})\ncricket_loving_countries = pd.Series(['Australia',\n 'Barbados',\n 'Pakistan',\n 'England'], \n index=['Cricket',\n 'Cricket',\n 'Cricket',\n 'Cricket'])\nall_countries = original_sports.append(cricket_loving_countries)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "95fa6b69a0927865a896c7a518ba848c3b994cad", + "trusted": true + }, + "cell_type": "code", + "source": "original_sports", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bb617195f684747e2a79b87eb7307e832f2bfe50", + "trusted": true + }, + "cell_type": "code", + "source": "cricket_loving_countries", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5274031be8720d734db1866f20ad048c4c2ea7da", + "trusted": true + }, + "cell_type": "code", + "source": "all_countries", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "33c9d9f54962decaa00a7328b124252ddcf2b661", + "trusted": true + }, + "cell_type": "code", + "source": "all_countries.loc['Cricket']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7653d84bad68f6370b1bdf484a2e9b6fb5982977" + }, + "cell_type": "markdown", + "source": "
\n## 4- Pandas:The DataFrame Data Structure\n You'll hone your pandas skills by learning how to organize, reshape, and aggregate multiple data sets to answer your specific questions.\n **Pandas**:\nTwo-dimensional size-mutable, potentially heterogeneous tabular data structure with labeled axes (rows and columns). Arithmetic operations align on both row and column labels. Can be thought of as a dict-like container for Series objects. The primary pandas data structure.\n\nPandas is capable of many tasks including:\n\nReading/writing many different data formats\nSelecting subsets of data\nCalculating across rows and down columns\nFinding and filling missing data\nApplying operations to independent groups within the data\nReshaping data into different forms\nCombing multiple datasets together\nAdvanced time-series functionality\nVisualization through matplotlib and seaborn\nAlthough pandas is very capable, it does not provide functionality for the entire data science pipeline. Pandas is typically the intermediate tool used for data exploration and cleaning squashed between data capturing and storage, and data modeling and predicting.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "4e82246f590c37992f9190583cdb0035d93c0dcd", + "trusted": true + }, + "cell_type": "code", + "source": "\npurchase_1 = pd.Series({'Name': 'Chris',\n 'Item Purchased': 'Dog Food',\n 'Cost': 22.50})\npurchase_2 = pd.Series({'Name': 'Kevyn',\n 'Item Purchased': 'Kitty Litter',\n 'Cost': 2.50})\npurchase_3 = pd.Series({'Name': 'Vinod',\n 'Item Purchased': 'Bird Seed',\n 'Cost': 5.00})\ndf = pd.DataFrame([purchase_1, purchase_2, purchase_3], index=['Store 1', 'Store 1', 'Store 2'])\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "835c6bb2dba772d11345bb2d5e40a992999d31b6", + "trusted": true + }, + "cell_type": "code", + "source": "df.loc['Store 2']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0b48c39ad30936af6ce6932597073451c6b2bac9", + "trusted": true + }, + "cell_type": "code", + "source": "type(df.loc['Store 2'])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c929565dc25461fd914c756431df400e6cdf058b", + "trusted": true + }, + "cell_type": "code", + "source": "df.loc['Store 1']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a11d22702f1be476a4d443cf811fe0a07a5dbbe4", + "trusted": true + }, + "cell_type": "code", + "source": "df.loc['Store 1', 'Cost']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "adb35d3ac7e00c00ced7236aa7c3eaab3c85e675", + "trusted": true + }, + "cell_type": "code", + "source": "df.T", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0e478aabe2d50b04f5bd9cca220150476adc8b1f", + "trusted": true + }, + "cell_type": "code", + "source": "df.T.loc['Cost']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2ed1c53b43bb00bc07a95642071be8ef2b5aa779", + "trusted": true + }, + "cell_type": "code", + "source": "df['Cost']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "084454d6fcc47a738808b0c832d59aebc49be70c", + "trusted": true + }, + "cell_type": "code", + "source": "df.loc['Store 1']['Cost']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fdbddb30cb59ed8462a07795aaadbcd9ad2b1aa4", + "trusted": true + }, + "cell_type": "code", + "source": "df.loc[:,['Name', 'Cost']]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2541e9071816bd8f496ddf62b77cccb8fe325fbc", + "trusted": true + }, + "cell_type": "code", + "source": "df.drop('Store 1')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5fa5a22b81b92bae274d3a9afd76283ded17b478", + "trusted": true + }, + "cell_type": "code", + "source": "df", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "918e58d124508bd5edff0ed84ba6a4c252cdec3d", + "trusted": true + }, + "cell_type": "code", + "source": "copy_df = df.copy()\ncopy_df = copy_df.drop('Store 1')\ncopy_df", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0e3830ddb755492607166e3975ac6e18c9436422", + "trusted": true + }, + "cell_type": "code", + "source": "copy_df.drop", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "946e48754fa8ed9914ef62b1c7049260861098db", + "trusted": true + }, + "cell_type": "code", + "source": "del copy_df['Name']\ncopy_df", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "de93b5c96c8b546bfb01b57d75347f5045ea01d1", + "trusted": true + }, + "cell_type": "code", + "source": "df['Location'] = None\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "42414bc5b478108d59aaf9b5dff463c95904097d", + "trusted": true + }, + "cell_type": "code", + "source": "costs = df['Cost']\ncosts", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "76922dc612283caa9821f793abac91dad9328c75", + "trusted": true + }, + "cell_type": "code", + "source": "costs+=2\ncosts", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "3ea1881948d05207d7dc2e1805c446adfa544959", + "trusted": true + }, + "cell_type": "code", + "source": "df", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4d339cee9608b148762d7ad3068c362bbc9454f7" + }, + "cell_type": "markdown", + "source": "
\n# 4-1 Pandas:Dataframe Indexing and Loading\n\nAs a Data Scientist, you'll often find that the data you need is not in a single file. It may be spread across a number of text files, spreadsheets, or databases. You want to be able to import the data of interest as a collection of DataFrames and figure out how to combine them to answer your central questions.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "53fa2f4cb18784de6d077871a606dcf5b1511862", + "trusted": true + }, + "cell_type": "code", + "source": "df = pd.read_csv('../input/house-prices-advanced-regression-techniques/train.csv')\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "01a8c7bc0a10635dc10dd56ba6edcbe595013772", + "trusted": true + }, + "cell_type": "code", + "source": "df.columns", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ffb1b09a5a8953e7dae65425890b652c214b1fb5", + "trusted": true + }, + "cell_type": "code", + "source": "# Querying a DataFrame", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "258b2c7201efba77d84b92286bbe69a6af240ca8", + "trusted": true + }, + "cell_type": "code", + "source": "df['SalePrice'] > 0", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "739f5037a2fcdd548abc5e68f5abcba3fcdb68e4", + "trusted": true + }, + "cell_type": "code", + "source": "only_SalePrice = df.where(df['SalePrice'] > 0)\nonly_SalePrice.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e420645f2daa14d2bf12b3370438b5c1741f5c52", + "trusted": true + }, + "cell_type": "code", + "source": "only_SalePrice['SalePrice'].count()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2c3561ac4d86a22f3984b11ebe1200100fc95417", + "trusted": true + }, + "cell_type": "code", + "source": "df['SalePrice'].count()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "86e547ab11dacd87ccfe4657f8eb11fd9fcf3fef", + "trusted": true + }, + "cell_type": "code", + "source": "only_SalePrice = only_SalePrice.dropna()\nonly_SalePrice.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cf0829126fff5c075151fcc5418bbe9b945c14c9", + "trusted": true + }, + "cell_type": "code", + "source": "only_SalePrice = df[df['SalePrice'] > 0]\nonly_SalePrice.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5b957eae6c82a982ff9672d321deadf637aa421c", + "trusted": true + }, + "cell_type": "code", + "source": "len(df[(df['SalePrice'] > 0) | (df['SalePrice'] > 0)])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d076fe5f6dade0e49c2a35c7f9c64baeaf42a59d", + "trusted": true + }, + "cell_type": "code", + "source": "df[(df['SalePrice'] > 0) & (df['SalePrice'] == 0)]", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "717b27412a1a852c84f820272d8bf94a45022aca", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "markdown", + "source": "
\n# Indexing Dataframes" + }, + { + "metadata": { + "_uuid": "822efde2bbb058575dea289d057368d1af7d1394", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b11ed5fbe0e8d35b303125afc78b04abf4dc0190", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df['SalePrice'] = df.index\ndf = df.set_index('SalePrice')\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4848977e538e02e0444862e632101a9d6bc97742", + "trusted": true + }, + "cell_type": "code", + "source": "\ndf = df.reset_index()\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5da1a958ccd43f5f5427415dc8682ccbbd589b3d", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df = pd.read_csv('../input/titanic/train.csv')\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9c818adf02056d59d534e4cb790dd6ce74c2b861", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df['Age'].unique()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c1adb2169bf24831daaa59655083e069d5fda4a5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df=df[df['Age'] == 50]\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "94d2eb99802e00e342e3a046f9b26a06a3c501a7" + }, + "cell_type": "markdown", + "source": "
\n# 4-2 Pandas:Missing values\n" + }, + { + "metadata": { + "_uuid": "6946487c3ba7a29af57472c6fe03cde0ababd341", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df = pd.read_csv('../input/titanic/train.csv')\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "30cc0a09aa17b60a69ddccebbc0b6ceaf6077bfb", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.fillna", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "be537539e67066ad45f9217988aa7ca7c23a370b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df = df.set_index('PassengerId')\ndf = df.sort_index()\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d2681f382b87e0eb47c41745576c2d35a8f55f5b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df = df.reset_index()\ndf = df.set_index(['PassengerId', 'Survived'])\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bea1dfdc973fe52315d701fecb6abb28edaecb81", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df = df.fillna(method='ffill')\ndf.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d79a17c1a5930de30ef9c238bf143cfc9962d24f" + }, + "cell_type": "markdown", + "source": "
\n# 4-3 Pandas :Merging Dataframes\npandas provides various facilities for easily combining together Series, DataFrame, and Panel objects with various kinds of set logic for the indexes and relational algebra functionality in the case of join / merge-type operations.\n" + }, + { + "metadata": { + "_uuid": "4809bb7be74c5ef657c069446ecffb409937f952", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df = pd.DataFrame([{'Name': 'MJ', 'Item Purchased': 'Sponge', 'Cost': 22.50},\n {'Name': 'Kevyn', 'Item Purchased': 'Kitty Litter', 'Cost': 2.50},\n {'Name': 'Filip', 'Item Purchased': 'Spoon', 'Cost': 5.00}],\n index=['Store 1', 'Store 1', 'Store 2'])\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f30d304abf7b7345a4e6e7c1105e190dd1a621d2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df['Date'] = ['December 1', 'January 1', 'mid-May']\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fbedab0057046e0510dd1331f03ffc18c9ba520b", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df['Delivered'] = True\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8ed708570d219bad3637b3a907bb0a00be33b939", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df['Feedback'] = ['Positive', None, 'Negative']\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fc549de9e14ccf0504553ee8960442180ba895b0", + "trusted": true, + "_kg_hide-output": false, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "adf = df.reset_index()\nadf['Date'] = pd.Series({0: 'December 1', 2: 'mid-May'})\nadf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "80e056750b87aa3d692e6f3aa07ca4e40ce05512", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "staff_df = pd.DataFrame([{'Name': 'Kelly', 'Role': 'Director of HR'},\n {'Name': 'Sally', 'Role': 'Course liasion'},\n {'Name': 'James', 'Role': 'Grader'}])\nstaff_df = staff_df.set_index('Name')\nstudent_df = pd.DataFrame([{'Name': 'James', 'School': 'Business'},\n {'Name': 'Mike', 'School': 'Law'},\n {'Name': 'Sally', 'School': 'Engineering'}])\nstudent_df = student_df.set_index('Name')\nprint(staff_df.head())\nprint()\nprint(student_df.head())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c0e141f46ea59c406f9c75a501139d808720bea6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "pd.merge(staff_df, student_df, how='outer', left_index=True, right_index=True)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "117f0b5ad0687b45deead65bfd2cd2e2b42aec7a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "pd.merge(staff_df, student_df, how='inner', left_index=True, right_index=True)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0fcc1d0780a0b786ffbb77e88a1e1bdc5f415a4a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "pd.merge(staff_df, student_df, how='left', left_index=True, right_index=True)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d2492a6a8108c115d1f9c980a8b01242cc695a37", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "pd.merge(staff_df, student_df, how='right', left_index=True, right_index=True)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7876e8102392731c7d48123c8c5dced6693a32d2", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "staff_df = staff_df.reset_index()\nstudent_df = student_df.reset_index()\npd.merge(staff_df, student_df, how='left', left_on='Name', right_on='Name')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "08c724f0bf11154a1244924bd7ca0b195fff3a21", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "staff_df = pd.DataFrame([{'Name': 'Kelly', 'Role': 'Director of HR', 'Location': 'State Street'},\n {'Name': 'Sally', 'Role': 'Course liasion', 'Location': 'Washington Avenue'},\n {'Name': 'James', 'Role': 'Grader', 'Location': 'Washington Avenue'}])\nstudent_df = pd.DataFrame([{'Name': 'James', 'School': 'Business', 'Location': '1024 Billiard Avenue'},\n {'Name': 'Mike', 'School': 'Law', 'Location': 'Fraternity House #22'},\n {'Name': 'Sally', 'School': 'Engineering', 'Location': '512 Wilson Crescent'}])\npd.merge(staff_df, student_df, how='left', left_on='Name', right_on='Name')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "da1dc7a2a97543ef9d338dd45fc74b8e66f6221e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "staff_df = pd.DataFrame([{'First Name': 'Kelly', 'Last Name': 'Desjardins', 'Role': 'Director of HR'},\n {'First Name': 'Sally', 'Last Name': 'Brooks', 'Role': 'Course liasion'},\n {'First Name': 'James', 'Last Name': 'Wilde', 'Role': 'Grader'}])\nstudent_df = pd.DataFrame([{'First Name': 'James', 'Last Name': 'Hammond', 'School': 'Business'},\n {'First Name': 'Mike', 'Last Name': 'Smith', 'School': 'Law'},\n {'First Name': 'Sally', 'Last Name': 'Brooks', 'School': 'Engineering'}])\nstaff_df\nstudent_df\npd.merge(staff_df, student_df, how='inner', left_on=['First Name','Last Name'], right_on=['First Name','Last Name'])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c47476edc934d4d851254db98b156de91018a0c8" + }, + "cell_type": "markdown", + "source": "
\n# 4-4 Idiomatic Pandas: Making Code Pandorable\n" + }, + { + "metadata": { + "_uuid": "2cd537dc9b3bd93a924d808ef8d6377853dae984", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\ndf = pd.read_csv('../input/titanic/train.csv')\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6ec456b0ba8db3f621911ad4c3a36008b04cfc7f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df = df[df['Age']==50]\ndf.set_index(['PassengerId','Survived'], inplace=True)\ndf.rename(columns={'Pclass': 'pclass'})", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ef246335b484cd563b29cafd6c178820c04a6f0f" + }, + "cell_type": "markdown", + "source": "
\n## 4-5 Pandas :Group by" + }, + { + "metadata": { + "_uuid": "b45f3ee990bce0101774749b4b81e24b81911ad6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\ndf = pd.read_csv('../input/titanic/train.csv')\ndf = df[df['Age']==50]\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1c9afa54368039e6439950f57d39e5e0ae1faf7a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "49994af42a822d8e0ad579866d12fdcd3a7b65ba" + }, + "cell_type": "markdown", + "source": "
\n## 4-6 Pandas:Scales\n" + }, + { + "metadata": { + "_uuid": "ef0c2c453afcd5f43e37f27dd3dccd01aa7e33c0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df = pd.DataFrame(['A+', 'A', 'A-', 'B+', 'B', 'B-', 'C+', 'C', 'C-', 'D+', 'D'],\n index=['excellent', 'excellent', 'excellent', 'good', 'good', 'good', 'ok', 'ok', 'ok', 'poor', 'poor'])\ndf.rename(columns={0: 'Grades'}, inplace=True)\ndf", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cc490b8a1f851253430185eaab0d8a5ac1b843b8", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df['Grades'].astype('category').head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "388f3454ed9fcc1b88c898e329c0c2d4b062df1f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "grades = df['Grades'].astype('category',\n categories=['D', 'D+', 'C-', 'C', 'C+', 'B-', 'B', 'B+', 'A-', 'A', 'A+'],\n ordered=True)\ngrades.head()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "51a0c5d18dbc6c395b900c34e9e590591d671676", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "grades > 'C'", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d205d889ce4d23e00f2ced7864c044e9d3d3ec84" + }, + "cell_type": "markdown", + "source": "
\n## 4-7 Pandas:Date Functionality\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "a466f75d44bdabf52ddb21d0c173d9421afce7d9" + }, + "cell_type": "markdown", + "source": "
\n### 4-7-1 Timestamp" + }, + { + "metadata": { + "_uuid": "80a449e3cac139ac3b9697dba331363538a1a65f", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "pd.Timestamp('9/1/2016 10:05AM')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c39545f2495d3f837c6b75dfd57b1a53c3d27d75" + }, + "cell_type": "markdown", + "source": "
\n### 4-7-2 Period" + }, + { + "metadata": { + "_uuid": "3c160f45b74a5e4faecbf6661978e9c59e933e14", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "pd.Period('1/2016')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "124c5a5ba7872ab55b3cd1fbbe18669747124eea", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "pd.Period('3/5/2016')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f19b87e81ba7aa0d8adb850d75d9452cf3a73ddf" + }, + "cell_type": "markdown", + "source": "
\n### 4-7-3 DatetimeIndex" + }, + { + "metadata": { + "_uuid": "68a99def5b8fbd9839cf35667a3481ed23c476c0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "t1 = pd.Series(list('abc'), [pd.Timestamp('2016-09-01'), pd.Timestamp('2016-09-02'), pd.Timestamp('2016-09-03')])\nt1", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "073eeeb51e53b50660a822eb7484d4e8b72a7dfa", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type(t1.index)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c891236e512838ed6088e02c88dd888029b226a3" + }, + "cell_type": "markdown", + "source": "
\n### 4-7-4 PeriodIndex" + }, + { + "metadata": { + "_uuid": "5a19abe4e4a7324a8f7565c66f8270ab9eb3cae6", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "t2 = pd.Series(list('def'), [pd.Period('2016-09'), pd.Period('2016-10'), pd.Period('2016-11')])\nt2", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "522200c3bbb47e10177f1c63a0ed3bfb49cbcf47", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "type(t2.index)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "50e147a4abff8fd3014f3fb2a105f516b4a5ea2f" + }, + "cell_type": "markdown", + "source": "
\n## 4-8 Pandas: Converting to Datetime" + }, + { + "metadata": { + "_uuid": "862d2bc5c5b430ed2be1292b9d3b5efe8a3c9cc1", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "d1 = ['2 June 2013', 'Aug 29, 2014', '2015-06-26', '7/12/16']\nts3 = pd.DataFrame(np.random.randint(10, 100, (4,2)), index=d1, columns=list('ab'))\nts3", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "840963eeb8ca7bfe0a5d3167211e74d48446fe3a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "ts3.index = pd.to_datetime(ts3.index)\nts3", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e2482002fae0947549bdd81a3da93c8e0cde40fe", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "pd.to_datetime('4.7.12', dayfirst=True)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cae5847092e33cba7b657a90810a7ef35ae307e4", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "pd.Timestamp('9/3/2016')-pd.Timestamp('9/1/2016')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c54a7d88507df86710fc585582b2074cb8d5aa5a" + }, + "cell_type": "markdown", + "source": "
\n### 4-8-1 Timedeltas" + }, + { + "metadata": { + "_uuid": "fe333509538c1ec2bf81fda4613344cfa699b410", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "pd.Timestamp('9/3/2016')-pd.Timestamp('9/1/2016')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "08e10cce4428eaa329eb84677c755b0307488bfa", + "trusted": true, + "_kg_hide-output": false, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "pd.Timestamp('9/2/2016 8:10AM') + pd.Timedelta('12D 3H')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a73485dcf7310c754e69ab5ed802d7e466684242" + }, + "cell_type": "markdown", + "source": "
\n### 4-8-2 Working with Dates in a Dataframe\n" + }, + { + "metadata": { + "_uuid": "f5bcbc00ce23e50d346495588428e5d6f430a8df", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "dates = pd.date_range('10-01-2016', periods=9, freq='2W-SUN')\ndates", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "41df9aeeb10a2d404f1eada62b4a4066e0f37af0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "df.index.ravel", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2f7c5d5041dc630abeaff47ff5a96a0dd53db8e5" + }, + "cell_type": "markdown", + "source": "
\n## 4-9 Distributions in Pandas\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "96be284ba6d63fd0b1db5641a21d75aacdfb7da4", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.random.binomial(1, 0.5)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4ae2c7ff2cf941bae62be23864a1685a196551d0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.random.binomial(1000, 0.5)/1000", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c5e89f6f0c7376c164f80dc4c5d582b0a639e254", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "chance_of_tornado = 0.01/100\nnp.random.binomial(100000, chance_of_tornado)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7804824638e0e6e97ebe5a252806d51a4e5cac2c", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "chance_of_tornado = 0.01\n\ntornado_events = np.random.binomial(1, chance_of_tornado, 1000000)\n \ntwo_days_in_a_row = 0\nfor j in range(1,len(tornado_events)-1):\n if tornado_events[j]==1 and tornado_events[j-1]==1:\n two_days_in_a_row+=1\n\nprint('{} tornadoes back to back in {} years'.format(two_days_in_a_row, 1000000/365))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4583c0a0ec05e914af1c01e2c901da41828ad653", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.random.uniform(0, 1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "365cfd6e6602f46bc98c13d10a47ad1d98af978e", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.random.normal(0.75)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8091adda4fbdccffb73424476c68a7aa0fb53c9a", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "distribution = np.random.normal(0.75,size=1000)\n\nnp.sqrt(np.sum((np.mean(distribution)-distribution)**2)/len(distribution))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9eed1ac016763a69de465e82736d30d7e5b1d028", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "np.std(distribution)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ab89e527fcd900577d879b50272d400ae0bdbaa0", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "\nstats.kurtosis(distribution)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c974e2563460f9b4942ab8c9b1d1783479779fa5", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "stats.skew(distribution)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "de01fc7f82016eeb5f3b206788e7213ad373a441", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "chi_squared_df2 = np.random.chisquare(2, size=10000)\nstats.skew(chi_squared_df2)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d8cce6278eaf4b4865efebf34dfb4ec2d9b684ca", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "chi_squared_df5 = np.random.chisquare(5, size=10000)\nstats.skew(chi_squared_df5)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1c30298fc2dcd63dface93cb1626c5e7367d4698", + "trusted": true, + "_kg_hide-input": true + }, + "cell_type": "code", + "source": "output = plt.hist([chi_squared_df2,chi_squared_df5], bins=50, histtype='step', \n label=['2 degrees of freedom','5 degrees of freedom'])\nplt.legend(loc='upper right')\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1cddfa2ed52693fae8532576cc1064c05777354c" + }, + "cell_type": "markdown", + "source": "
\n## 9-1 Courses\nThere are a lot of online courses that can help you develop your knowledge, here I have just listed some of them:\n\n1. [Machine Learning Certification by Stanford University (Coursera)](https://www.coursera.org/learn/machine-learning/)\n\n2. [Machine Learning A-Z™: Hands-On Python & R In Data Science (Udemy)](https://www.udemy.com/machinelearning/)\n\n3. [Deep Learning Certification by Andrew Ng from deeplearning.ai (Coursera)](https://www.coursera.org/specializations/deep-learning)\n\n4. [Python for Data Science and Machine Learning Bootcamp (Udemy)](Python for Data Science and Machine Learning Bootcamp (Udemy))\n\n5. [Mathematics for Machine Learning by Imperial College London](https://www.coursera.org/specializations/mathematics-machine-learning)\n\n6. [Deep Learning A-Z™: Hands-On Artificial Neural Networks](https://www.udemy.com/deeplearning/)\n\n7. [Complete Guide to TensorFlow for Deep Learning Tutorial with Python](https://www.udemy.com/complete-guide-to-tensorflow-for-deep-learning-with-python/)\n\n8. [Data Science and Machine Learning Tutorial with Python – Hands On](https://www.udemy.com/data-science-and-machine-learning-with-python-hands-on/)\n\n9. [Machine Learning Certification by University of Washington](https://www.coursera.org/specializations/machine-learning)\n\n10. [Data Science and Machine Learning Bootcamp with R](https://www.udemy.com/data-science-and-machine-learning-bootcamp-with-r/)\n11. [Creative Applications of Deep Learning with TensorFlow](https://www.class-central.com/course/kadenze-creative-applications-of-deep-learning-with-tensorflow-6679)\n12. [Neural Networks for Machine Learning](https://www.class-central.com/mooc/398/coursera-neural-networks-for-machine-learning)\n13. [Practical Deep Learning For Coders, Part 1](https://www.class-central.com/mooc/7887/practical-deep-learning-for-coders-part-1)\n14. [Machine Learning](https://www.cs.ox.ac.uk/teaching/courses/2014-2015/ml/index.html)\n
\n## 9-2 Ebooks\nIf you love reading , here is **10 free machine learning books**\n1. [Probability and Statistics for Programmers](http://www.greenteapress.com/thinkstats/)\n2. [Bayesian Reasoning and Machine Learning](http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/091117.pdf)\n2. [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/)\n2. [Understanding Machine Learning](http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/index.html)\n2. [A Programmer’s Guide to Data Mining](http://guidetodatamining.com/)\n2. [Mining of Massive Datasets](http://infolab.stanford.edu/~ullman/mmds/book.pdf)\n2. [A Brief Introduction to Neural Networks](http://www.dkriesel.com/_media/science/neuronalenetze-en-zeta2-2col-dkrieselcom.pdf)\n2. [Deep Learning](http://www.deeplearningbook.org/)\n2. [Natural Language Processing with Python](https://www.researchgate.net/publication/220691633_Natural_Language_Processing_with_Python)\n2. [Machine Learning Yearning](http://www.mlyearning.org/)\n
\n## 9-3 Cheat Sheets\nData Science is an ever-growing field, there are numerous tools & techniques to remember. It is not possible for anyone to remember all the functions, operations and formulas of each concept. That’s why we have cheat sheets. But there are a plethora of cheat sheets available out there, choosing the right cheat sheet is a tough task. So, I decided to collect them here\n\nHere I have selected the cheat sheets on the following criteria: comprehensiveness, clarity, and content [5]:\n1. [Quick Guide to learn Python for Data Science ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Science-in-Python.pdf)\n1. [Python for Data Science Cheat sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/beginners_python_cheat_sheet.pdf)\n1. [Python For Data Science Cheat Sheet NumPy](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Numpy_Python_Cheat_Sheet.pdf)\n1. [Exploratory Data Analysis in Python]()\n1. [Data Exploration using Pandas in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Exploration-in-Python.pdf)\n1. [Data Visualisation in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/data-visualisation-infographics1.jpg)\n1. [Python For Data Science Cheat Sheet Bokeh](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Python_Bokeh_Cheat_Sheet.pdf)\n1. [Cheat Sheet: Scikit Learn ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Scikit-Learn-Infographic.pdf)\n1. [MLalgorithms CheatSheet](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/MLalgorithms-.pdf)\n1. [Probability Basics Cheat Sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/probability_cheatsheet.pdf)" + }, + { + "metadata": { + "_uuid": "a4a58d0f0aa8204797f2b0836d6204404280d6f3" + }, + "cell_type": "markdown", + "source": "\n
\n## 10 -Conclusion\nYou have got an introduction to the main packages and ideas in the **The Data Scientist’s Toolbox Tutorial - 1**. I hope, you have had fun with it also, I want to hear your voice to update this kernel. in addition, there is the new and second version of the kernel that introduces the next packages. to continue please click on [**The Data Scientist’s Toolbox Tutorial - 2**](https://www.kaggle.com/mjbahmani/the-data-scientist-s-toolbox-tutorial-2)" + }, + { + "metadata": { + "_uuid": "dc985ec01fe0e62afd495b8ec461359f085071b6" + }, + "cell_type": "markdown", + "source": "\n\n---------------------------------------------------------------------\nFork, Run and Follow this kernel on GitHub:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n-------------------------------------------------------------------------------------------------------------\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated.**\n \n -----------\n" + }, + { + "metadata": { + "_uuid": "3eb9f355dc3885ea4b0f38968a4bf14d20de02fd" + }, + "cell_type": "markdown", + "source": "
\n## 11- References\n1. [Coursera](https://www.coursera.org/specializations/data-science-python)\n1. [GitHub](https://github.com/mjbahmani)\n1. [plot.ly](https://plot.ly/python/offline/)\n1. [tutorialspoint](https://www.tutorialspoint.com/python/python_classes_objects.htm)\n1. [Top 28 Cheat Sheets for Machine Learning](https://www.analyticsvidhya.com/blog/2017/02/top-28-cheat-sheets-for-machine-learning-data-science-probability-sql-big-data/)\n###### [Go to top](#top)" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/Top 5 Deep Learning Frameworks Tutorial/Top 5 Deep Learning Frameworks Tutorial.ipynb b/Top 5 Deep Learning Frameworks Tutorial/Top 5 Deep Learning Frameworks Tutorial.ipynb new file mode 100644 index 0000000..7f35de6 --- /dev/null +++ b/Top 5 Deep Learning Frameworks Tutorial/Top 5 Deep Learning Frameworks Tutorial.ipynb @@ -0,0 +1,1241 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "a8f9622945156d6337ba73c481da2de7efef7384" + }, + "cell_type": "markdown", + "source": "#
Top 5 Deep Learning Frameworks Tutorial
\n ###
Quite Practical and Far from any Theoretical Concepts
\n
Each framework is built in a different manner for different purposes. In this Notebook, we look at the 5 deep learning frameworks to give you a better idea of which framework will be the perfect fit or come handy in solving your **business challenges**.
\n
last update: 11/19/2018
\n>###### you may be interested have a look at it: [**10-steps-to-become-a-data-scientist**](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n---------------------------------------------------------------------\nFork and run my kernels on **GiHub** and follow me:\n\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n-------------------------------------------------------------------------------------------------------------\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "cda11210a88d6484112cbe2c3624225328326c6a" + }, + "cell_type": "markdown", + "source": "
\n## Notebook Content\n1. [Introduction](#1)\n 1. [Courses](#2)\n 1. [Kaggle kernels](#3)\n 1. [Ebooks](#4)\n 1. [Cheat Sheets](#5)\n 1. [Deep Learning vs Machine Learning](#6)\n1. [Loading Packages & Data](#7)\n 1. [Version](#8)\n 1. [Setup](#9)\n 1. [Loading Data](#10)\n 1. [Data fields](#11)\n 1. [EDA](#12)\n1. [Python Deep Learning Packages](#31)\n 1. [Keras](#33)\n 1. [Analysis](#34)\n 1. [TensorFlow](#35)\n 1. [Import the Fashion MNIST dataset](#36)\n 1. [Explore the data](#37)\n 1. [Preprocess the data](#38)\n 1. [Build the model](#39)\n 1. [Setup the layers](#40)\n 1. [Compile the model](#41)\n 1. [Train the model](#42)\n 1. [Evaluate accuracy](#43)\n 1. [Make predictions](#44)\n 1. [Theano](#45)\n 1. [Theano( example)](#46)\n 1. [Calculating multiple results at once](#47)\n 1. [Pytroch](#48)\n 1. [Tensors](#49)\n 1. [Operations](#50)\n 1. [CNTK](#51)\n1. [Conclusion](#51)\n1. [References](#52)" + }, + { + "metadata": { + "_uuid": "750903cc2679d39058f56df6c6c040be02b748df" + }, + "cell_type": "markdown", + "source": "
\n## 1- Introduction\nThis is a **comprehensive Deep Learning techniques with python**, it is clear that everyone in this community is familiar with **MNIST dataset** but if you need to review your information about the dataset please visit this [link](https://en.wikipedia.org/wiki/MNIST_database).\n\nI have tried to help Kaggle users how to face deep learning problems. and I think it is a great opportunity for who want to learn deep learning workflow with python completely.\n
\n## 1-1 Courses\nThere are a lot of online courses that can help you develop your knowledge, here I have just listed some of them:\n\n1. [Deep Learning Certification by Andrew Ng from deeplearning.ai (Coursera)](https://www.coursera.org/specializations/deep-learning)\n1. [Deep Learning A-Z™: Hands-On Artificial Neural Networks](https://www.udemy.com/deeplearning/)\n\n1. [Creative Applications of Deep Learning with TensorFlow](https://www.class-central.com/course/kadenze-creative-applications-of-deep-learning-with-tensorflow-6679)\n1. [Neural Networks for Machine Learning](https://www.class-central.com/mooc/398/coursera-neural-networks-for-machine-learning)\n1. [Practical Deep Learning For Coders, Part 1](https://www.class-central.com/mooc/7887/practical-deep-learning-for-coders-part-1)\n
\n\n## 1-2 Kaggle kernels\nI want to thanks **Kaggle team** and all of the **kernel's authors** who develop this huge resources for Data scientists. I have learned from The work of others and I have just listed some more important kernels that inspired my work and I've used them in this kernel:\n\n1. [Deep Learning Tutorial for Beginners](https://www.kaggle.com/kanncaa1/deep-learning-tutorial-for-beginners)\n1. [introduction-to-cnn-keras-0-997-top-6](https://www.kaggle.com/yassineghouzam/introduction-to-cnn-keras-0-997-top-6)\n\n
\n## 1-3 Ebooks\nSo you love reading , here is **10 free machine learning books**\n1. [Probability and Statistics for Programmers](http://www.greenteapress.com/thinkstats/)\n2. [Bayesian Reasoning and Machine Learning](http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/091117.pdf)\n2. [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/)\n2. [Understanding Machine Learning](http://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/index.html)\n2. [A Programmer’s Guide to Data Mining](http://guidetodatamining.com/)\n2. [Mining of Massive Datasets](http://infolab.stanford.edu/~ullman/mmds/book.pdf)\n2. [A Brief Introduction to Neural Networks](http://www.dkriesel.com/_media/science/neuronalenetze-en-zeta2-2col-dkrieselcom.pdf)\n2. [Deep Learning](http://www.deeplearningbook.org/)\n2. [Natural Language Processing with Python](https://www.researchgate.net/publication/220691633_Natural_Language_Processing_with_Python)\n2. [Machine Learning Yearning](http://www.mlyearning.org/)\n
\n\n## 1-4 Cheat Sheets\nData Science is an ever-growing field, there are numerous tools & techniques to remember. It is not possible for anyone to remember all the functions, operations and formulas of each concept. That’s why we have cheat sheets. But there are a plethora of cheat sheets available out there, choosing the right cheat sheet is a tough task. So, I decided to write this article.\n\nHere I have selected the cheat sheets on the following criteria: comprehensiveness, clarity, and content [26]:\n1. [Quick Guide to learn Python for Data Science ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Science-in-Python.pdf)\n1. [Python for Data Science Cheat sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/beginners_python_cheat_sheet.pdf)\n1. [Python For Data Science Cheat Sheet NumPy](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Numpy_Python_Cheat_Sheet.pdf)\n1. [Exploratory Data Analysis in Python]()\n1. [Data Exploration using Pandas in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Data-Exploration-in-Python.pdf)\n1. [Data Visualisation in Python](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/data-visualisation-infographics1.jpg)\n1. [Python For Data Science Cheat Sheet Bokeh](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Python_Bokeh_Cheat_Sheet.pdf)\n1. [Cheat Sheet: Scikit Learn ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/Scikit-Learn-Infographic.pdf)\n1. [MLalgorithms CheatSheet](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/MLalgorithms-.pdf)\n1. [Probability Basics Cheat Sheet ](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist/blob/master/cheatsheets/probability_cheatsheet.pdf)\n
\n\n## 1-5 Deep Learning vs Machine Learning\nWe use a **machine algorithm** to parse data, learn from that data, and make informed decisions based on what it has learned. Basically, **Deep Learning** is used in layers to create an **Artificial Neural Network** that can learn and make intelligent decisions on its own. We can say **Deep Learning is a sub-field of Machine Learning**.\n\n\n\n\nI am open to getting your feedback for improving this **kernel**\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "fbedcae8843986c2139f18dad4b5f313e6535ac5" + }, + "cell_type": "markdown", + "source": "
\n# 2 Loading Packages & Data\nIn this kernel we are using the following packages:" + }, + { + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_kg_hide-input": true, + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "trusted": true + }, + "cell_type": "code", + "source": "from pandas import get_dummies\nimport matplotlib as mpl\nimport matplotlib.pyplot as plt\nimport tensorflow as tf\nimport seaborn as sns\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport keras\nimport scipy\nimport numpy\nimport sys\nimport csv\nimport os", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "351fe6ee8f49be819107ae6c7e6d7abddeef32f9" + }, + "cell_type": "markdown", + "source": "
\n## 2-1 Version\nprint version of each package\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "b0fd91e925371ef73755d20d6232d0842206eb10", + "trusted": true + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))\nprint('Keras: {}'.format(keras.__version__))\nprint('tensorflow: {}'.format(tf.__version__))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "187f8389fd6e034a5bb1555e3ed2fff5184a8f44" + }, + "cell_type": "markdown", + "source": "
\n## 2-2 Setup\n\nA few tiny adjustments for better **code readability**" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "cb7e4af0977f267f0055ef6c7b9d7081cbaeb889", + "trusted": true + }, + "cell_type": "code", + "source": "sns.set(style='white', context='notebook', palette='deep')\nwarnings.filterwarnings('ignore')\nmpl.style.use('ggplot')\nsns.set_style('white')\n%matplotlib inline", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "edeb7838411714fe81d00bc60301cb57b535281c" + }, + "cell_type": "markdown", + "source": "
\n## 2-3 Loading Data\nData collection is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia] I start Collection Data by the training and testing datasets into Pandas DataFrames. Each row is an observation (also known as : sample, example, instance, record) Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate).\n### 2-3-1 What is a insincere question?\nis defined as a question intended to make a **statement** rather than look for helpful **answers**. \n### 2-3-2 how can we find insincere question?\nSome **characteristics** that can signify that a question is **insincere**:\n\n1. **Has a non-neutral tone**\n 1. Has an exaggerated tone to underscore a point about a group of people\n 1. Is rhetorical and meant to imply a statement about a group of people\n1. **Is disparaging or inflammatory**\n 1. Suggests a discriminatory idea against a protected class of people, or seeks confirmation of a stereotype\n 1. Makes disparaging attacks/insults against a specific person or group of people\n 1. Based on an outlandish premise about a group of people\n 1. Disparages against a characteristic that is not fixable and not measurable\n1. **Isn't grounded in reality**\n 1. Based on false information, or contains absurd assumptions\n1. **Uses sexual content** (incest, bestiality, pedophilia) for shock value, and not to seek genuine answers\n\nAfter loading the data via pandas, we should checkout what the content is, description and via the following:\n###### [Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "d8e8443cecc7e4a9250e49dce79e0962e4a3ff6f" + }, + "cell_type": "code", + "source": "print(os.listdir(\"../input\"))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b1726925f6db14c1f851380541178dba553eb3c3" + }, + "cell_type": "markdown", + "source": "
\n### 2-3-1 Data fields\n1. qid - unique question identifier\n1. question_text - Quora question text\n1. target - a question labeled \"insincere\" has a value of 1, otherwise 0" + }, + { + "metadata": { + "trusted": true, + "_uuid": "25e57422e63164b80709d9352866f59a8264d29d" + }, + "cell_type": "code", + "source": "train = pd.read_csv('../input/train.csv')\ntest = pd.read_csv('../input/test.csv')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "e11494ec5201b90e5c404b6f9d27877d8e866f3a" + }, + "cell_type": "code", + "source": "type(train)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "64c63d1c4b687c90b96a8f5218aa3a17ddf756d1" + }, + "cell_type": "markdown", + "source": "to check the first 5 rows of the data set, we can use head(5)." + }, + { + "metadata": { + "trusted": true, + "_uuid": "3480a17f080f98ff7a2b168da5b5b51893c881b4" + }, + "cell_type": "code", + "source": "train.head(5) ", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d3e463743678b24042db613aa689f5e2d5aef0db" + }, + "cell_type": "markdown", + "source": "
\n### 2-3-2 Target\nyou will be predicting whether a question asked on **Quora** is sincere or not" + }, + { + "metadata": { + "_uuid": "54c2884d6777cac8a94d034ad1d112a3ffab4ca0" + }, + "cell_type": "markdown", + "source": "
\n## 2-4 EDA\nIn this section, you'll learn how to use graphical and numerical techniques to begin uncovering the structure of your data.\n1. Which variables suggest interesting relationships?\n1. Which observations are unusual?\n1. Analysis of the features! By the end of the section, you'll be able to answer these questions and more, while generating " + }, + { + "metadata": { + "trusted": true, + "_uuid": "57c67feb26a1c058151facc84145339f8bc89cfc" + }, + "cell_type": "code", + "source": "train.sample(5)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "40a7cd1995977c500bcfd47e2b792cd8d6f9ae92" + }, + "cell_type": "markdown", + "source": "to pop up 5 random rows from the data set, we can use sample(5) function" + }, + { + "metadata": { + "trusted": true, + "_uuid": "9d26d55e5ea4ff0255499c3bba01940a73a116f7" + }, + "cell_type": "code", + "source": "test.sample(5)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1079234af07e56378d1c436a2f3127ccd4ecaec8" + }, + "cell_type": "markdown", + "source": "to check out last 5 row of the data set, we use tail() function" + }, + { + "metadata": { + "trusted": true, + "_uuid": "986660265598c78d177d6b1028abaa9e4bbf0d56" + }, + "cell_type": "code", + "source": "train.tail()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "744f1cc507d8fec6ca85d2d36c5ae85a2cd7237a" + }, + "cell_type": "code", + "source": "print(train.shape)\nprint(test.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5bf7fbd5cc4a2118740c30436eed151dc10f579a" + }, + "cell_type": "markdown", + "source": "to check out how many null info are on the dataset, we can use **isnull().sum()**" + }, + { + "metadata": { + "trusted": true, + "_uuid": "ca2228b14d432b7e6e3a66babc6a8c292ca72fbf" + }, + "cell_type": "code", + "source": "train.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "b956b1a917722a01b06135be457b92f4e226243a" + }, + "cell_type": "code", + "source": "test.isnull().sum()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "61a7dea9e3435ac6ef19935621af5baf33c6124e" + }, + "cell_type": "markdown", + "source": "### 2-4-1 About Quora\nQuora is a platform that empowers people to learn from each other. On Quora, people can ask questions and connect with others who contribute unique insights and quality answers. A key challenge is to weed out insincere questions -- those founded upon false premises, or that intend to make a statement rather than look for helpful answers." + }, + { + "metadata": { + "trusted": true, + "_uuid": "468755c147347cfea72cc9cf21e50541a55d347e" + }, + "cell_type": "code", + "source": "print(train.info())", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "8e4f6d001e1c959f034a0497c09fb18b309b2816" + }, + "cell_type": "markdown", + "source": "to give a statistical summary about the dataset, we can use **describe()**." + }, + { + "metadata": { + "trusted": true, + "_uuid": "a242adcee764b28ed57f49111a5b94c1a19ba9f0" + }, + "cell_type": "code", + "source": "train.describe() \n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bca11ce44f7ebdd1de3868fb2f6c50b0e7c7cb16" + }, + "cell_type": "markdown", + "source": "###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "2d96fedf1a2fa6344990cb07b8d98d17a3a7b504" + }, + "cell_type": "markdown", + "source": "
\n# 3- Python Deep Learning Packages\n\n*State of open source deep learning frameworks in 2017*\n1. **keras**[11]\n>Well known for being minimalistic, the Keras neural network library (with a supporting interface of Python) supports both convolutional and recurrent networks that are capable of running on either TensorFlow or Theano. The library is written in Python and was developed keeping quick experimentation as its USP.\n1. **TensorFlow**\n> TensorFlow is arguably one of the best deep learning frameworks and has been adopted by several giants such as Airbus, Twitter, IBM, and others mainly due to its highly flexible system architecture.\n1. **Caffe**\n> Caffe is a deep learning framework that is supported with interfaces like C, C++, Python, and MATLAB as well as the command line interface. It is well known for its speed and transposability and its applicability in modeling convolution neural networks (CNN).\n1. **Microsoft Cognitive Toolkit/CNTK**\n> Popularly known for easy training and the combination of popular model types across servers, the Microsoft Cognitive Toolkit (previously known as CNTK) is an open-source deep learning framework to train deep learning models. It performs efficient convolution neural networks and training for image, speech, and text-based data. Similar to Caffe, it is supported by interfaces such as Python, C++, and the command line interface.\n1. **Torch/PyTorch**\n> Torch is a scientific computing framework that offers wide support for machine learning algorithms. It is a Lua-based deep learning framework and is used widely amongst industry giants such as Facebook, Twitter, and Google. It employs CUDA along with C/C++ libraries for processing and was basically made to scale the production of building models and provide overall flexibility.\n1. **MXNet**\n> Designed specifically for the purpose of high efficiency, productivity, and flexibility, MXNet(pronounced as mix-net) is a deep learning framework supported by Python, R, C++, and Julia.\n1. **Chainer**\n>Highly powerful, dynamic and intuitive, Chainer is a Python-based deep learning framework for neural networks that is designed by the run strategy. Compared to other frameworks that use the same strategy, you can modify the networks during runtime, allowing you to execute arbitrary control flow statements.\n1. **Deeplearning4j**\n>Parallel training through iterative reduce, microservice architecture adaptation, and distributed CPUs and GPUs are some of the salient features of the Deeplearning4j deep learning framework. It is developed in Java as well as Scala and supports other JVM languages, too.\n1. **Theano**\n>Theano is beautiful. Without Theano, we wouldn’t have anywhere near the amount of deep learning libraries (specifically in Python) that we do today. In the same way that without NumPy, we couldn’t have SciPy, scikit-learn, and scikit-image, the same can be said about Theano and higher-level abstractions of deep learning.\n1. **Lasagne**\n>Lasagne is a lightweight library used to construct and train networks in Theano. The key term here is lightweight — it is not meant to be a heavy wrapper around Theano like Keras is. While this leads to your code being more verbose, it does free you from any restraints, while still giving you modular building blocks based on Theano.\n1. **PaddlePaddle**\n>PaddlePaddle (PArallel Distributed Deep LEarning) is an easy-to-use, efficient, flexible and scalable deep learning platform, which is originally developed by Baidu scientists and engineers for the purpose of applying deep learning to many products at Baidu.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "0560fa84a64ddeac53a4a10aaaa04a1424ad50f9" + }, + "cell_type": "markdown", + "source": "
\n# 4- Frameworks\nLet's Start Learning, in this section we intrduce 5 deep learning frameworks." + }, + { + "metadata": { + "_uuid": "cc17ec452b22997c92948c59852e319960f8de48" + }, + "cell_type": "markdown", + "source": "
\n## 4-1 Keras\nOur workflow will be as follow[10]:\n1. first we will present our neural network with the training data, `train_images` and `train_labels`. \n1. The network will then learn to associate images and labels. \n1. Finally, we will ask the network to produce predictions for `test_images`, \n1. and we will verify if these predictions match the labels from `test_labels`.\n\n**Let's build our network **\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "trusted": true, + "_uuid": "c1d0fd821b1058f2f0f3a60bca814a199472bab8" + }, + "cell_type": "code", + "source": "# import Dataset to play with it\nfrom keras.datasets import mnist\n\n(train_images, train_labels), (test_images, test_labels) = mnist.load_data()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "372dc6b32cdfdd8cdcec96ecd7589c6c2b8f857d", + "trusted": true + }, + "cell_type": "code", + "source": "from keras import models\nfrom keras import layers\n\nnetwork = models.Sequential()\nnetwork.add(layers.Dense(512, activation='relu', input_shape=(28 * 28,)))\nnetwork.add(layers.Dense(10, activation='softmax'))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bb4af579abbb2d8de84c8799bbca2a9129166b75" + }, + "cell_type": "markdown", + "source": "
\n## 4-1-1 Analysis\nThe core building block of neural networks is the \"**layer**\", a data-processing module which you can conceive as a \"**filter**\" for data. Some data comes in, and comes out in a more useful form. Precisely, layers extract _representations_ out of the data fed into them -- hopefully representations that are more meaningful for the problem at hand. Most of deep learning really consists of chaining together simple layers which will implement a form of progressive \"**data distillation**\". \nA deep learning model is like a sieve for data processing, made of a succession of increasingly refined data filters -- the \"layers\".\nHere our network consists of a sequence of two `Dense` layers, which are densely-connected (also called \"fully-connected\") neural layers. \nThe second (and last) layer is a 10-way \"**softmax**\" layer, which means it will return an array of 10 probability scores (summing to 1). Each score will be the probability that the current digit image belongs to one of our 10 digit classes.\nTo make our network ready for training, we need to pick three more things, as part of \"compilation\" step:\n\n1. A loss function: the is how the network will be able to measure how good a job it is doing on its training data, and thus how it will be able to steer itself in the right direction.\n1. An optimizer: this is the mechanism through which the network will update itself based on the data it sees and its loss function.\n1. Metrics to monitor during training and testing. Here we will only care about accuracy (the fraction of the images that were correctly classified).\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "f1c5dde77030c5917a6192452a9b27d93aafc04f", + "trusted": true + }, + "cell_type": "code", + "source": "network.compile(optimizer='rmsprop',\n loss='categorical_crossentropy',\n metrics=['accuracy'])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "4512d98c72019135dd41f9f0521be6ece298be24" + }, + "cell_type": "markdown", + "source": "\nBefore training, we will **preprocess** our data by reshaping it into the shape that the network expects, and **scaling** it so that all values are in \nthe `[0, 1]` interval. Previously, our training images for instance were stored in an array of shape `(60000, 28, 28)` of type `uint8` with \nvalues in the `[0, 255]` interval. We transform it into a `float32` array of shape `(60000, 28 * 28)` with values between 0 and 1.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "11ab3b8562444b8af7c342c36a45fefa20387e3b", + "trusted": true + }, + "cell_type": "code", + "source": "train_images = train_images.reshape((60000, 28 * 28))\ntrain_images = train_images.astype('float32') / 255\n\ntest_images = test_images.reshape((10000, 28 * 28))\ntest_images = test_images.astype('float32') / 255", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ff688de9ee4e5ec11da63bb2f3ef48a49d7b2dd7" + }, + "cell_type": "markdown", + "source": "We also need to **categorically encode** the labels" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "fc813e561b55b29d1e0ba7f620ae29bf43293b57", + "trusted": true + }, + "cell_type": "code", + "source": "from keras.utils import to_categorical\n\ntrain_labels = to_categorical(train_labels)\ntest_labels = to_categorical(test_labels)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fe77d9bdd7566b201e5be7fe54c67c7f9717c956" + }, + "cell_type": "markdown", + "source": "We are now ready to train our network, which in **Keras** is done via a call to the `fit` method of the network: \nwe \"fit\" the model to its training data.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "18dd966ba9e372810d2e6ef3950182a6fb91f779", + "trusted": true + }, + "cell_type": "code", + "source": "#please change epochs to 5\nnetwork.fit(train_images, train_labels, epochs=1, batch_size=128)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7542f033cbc2c6a14b406319e822b2482600bc55" + }, + "cell_type": "markdown", + "source": "**Two quantities** are being displayed during training: the \"**loss**\" of the network over the training data, and the accuracy of the network over \nthe training data.\n\nWe quickly reach an accuracy of **0.989 (i.e. 98.9%)** on the training data. Now let's check that our model performs well on the test set too:\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "b3ed834610a6f66f1e112a7c8288e84a0dd410b8", + "trusted": true + }, + "cell_type": "code", + "source": "test_loss, test_acc = network.evaluate(test_images, test_labels)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0e00d4ca1dff83c73886044b8049d4fcc6930669", + "trusted": true + }, + "cell_type": "code", + "source": "print('test_acc:', test_acc)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "ac27321f82907d98f22b2ab6fee54a5885c7cbb1" + }, + "cell_type": "markdown", + "source": "\n**Our test set accuracy turns out to be 97.8%**" + }, + { + "metadata": { + "_uuid": "2d318a6552c109d8880ce14659c90210eab060c0" + }, + "cell_type": "markdown", + "source": "
\n## 4-2 TensorFlow\n**TensorFlow** is an open-source machine learning library for research and production. TensorFlow offers **APIs** for beginners and experts to develop for desktop, mobile, web, and cloud. See the sections below to get started.[12]\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "e5f85da49eb80ae47151b5b3308425b9184e1440", + "trusted": true + }, + "cell_type": "code", + "source": "# Simple hello world using TensorFlow\nhello = tf.constant('Hello, TensorFlow!')\n# Start tf session\nsess = tf.Session()\n# Run graph\nprint(sess.run(hello))\nmnist = tf.keras.datasets.mnist\n\n(x_train, y_train),(x_test, y_test) = mnist.load_data()\nx_train, x_test = x_train / 255.0, x_test / 255.0\n\nmodel = tf.keras.models.Sequential([\n tf.keras.layers.Flatten(),\n tf.keras.layers.Dense(512, activation=tf.nn.relu),\n tf.keras.layers.Dropout(0.2),\n tf.keras.layers.Dense(10, activation=tf.nn.softmax)\n])\nmodel.compile(optimizer='adam',\n loss='sparse_categorical_crossentropy',\n metrics=['accuracy'])\n#please change epochs to 5\nmodel.fit(x_train, y_train, epochs=1)\nmodel.evaluate(x_test, y_test)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "fbc9fbb67e838ea9ddf88845b688c8c1951f7512" + }, + "cell_type": "markdown", + "source": "
\n## 4-2-1 Import the Fashion MNIST dataset\n" + }, + { + "metadata": { + "_uuid": "c85ca45a881ec8f85cf072cd8cc299e540e0b453", + "trusted": true + }, + "cell_type": "code", + "source": "fashion_mnist = keras.datasets.fashion_mnist\n\n(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "06829a241c328ba053315979757694774808e3c0" + }, + "cell_type": "markdown", + "source": "Loading the dataset returns **four NumPy arrays**:\n\n1. The train_images and train_labels arrays are the training set—the data the model uses to learn.\n1. The model is tested against the test set, the test_images, and test_labels arrays.\n1. The images are 28x28 NumPy arrays, with pixel values ranging between 0 and 255.\n1. The labels are an array of integers, ranging from 0 to 9. These correspond to the class of clothing the image represents:\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "ed1e9b140ee497c89ac5213787c157d412385ac6" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "302664d8f9878c0c8ddb2a64bc00cd6ed58d4766" + }, + "cell_type": "markdown", + "source": "Each image is **mapped** to a single label. Since the class names are not included with the dataset, store them here to use later when plotting the images:" + }, + { + "metadata": { + "_uuid": "0801170ba61fca12c2d39f246bcb4ece5f78f5df", + "trusted": true + }, + "cell_type": "code", + "source": "class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat', \n 'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f2136d7bc6f8ef021e4d7f6ee69203baf43faabd" + }, + "cell_type": "markdown", + "source": "
\n## 4-2-2 Explore the data\nLet's explore the format of the dataset before training the model. The following shows there are **60,000** images in the training set, with each image represented as 28 x 28 pixels:\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "1f4dc17d2affe5849b9a4e8ae81d2c9ffa5739c9", + "trusted": true + }, + "cell_type": "code", + "source": "train_images.shape", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9cbf875d1bb38ca779bf1ea9d081887889b18206" + }, + "cell_type": "markdown", + "source": "Likewise, there are 60,000 labels in the training set:\n\n" + }, + { + "metadata": { + "_uuid": "8dc01e76b4d061bacbfaca818dac4ac6f15c7a44", + "trusted": true + }, + "cell_type": "code", + "source": "len(train_labels)\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "dac4b85e6bbe9c6909ccaad22dfba927d8a95fe4" + }, + "cell_type": "markdown", + "source": "Each label is an integer between 0 and 9:\n\n" + }, + { + "metadata": { + "_uuid": "9b1060a16ba153a47f8f9576281934d570b76a2b", + "trusted": true + }, + "cell_type": "code", + "source": "train_labels\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6b9524c3d082ba3d1fe08fc5117350d3831720ce" + }, + "cell_type": "markdown", + "source": "There are 10,000 images in the test set. Again, each image is represented as 28 x 28 pixels:\n\n" + }, + { + "metadata": { + "_uuid": "11acf0145fd4293e8944da17db96ef0abf176fe2", + "trusted": true + }, + "cell_type": "code", + "source": "test_images.shape\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "10d203635805eb675a08a1aa6cac8a18198bddb0" + }, + "cell_type": "markdown", + "source": "And the test set contains 10,000 images labels:\n\n" + }, + { + "metadata": { + "_uuid": "fa2d61fe145d2040832162e2ab1cb42edb7aa3d1", + "trusted": true + }, + "cell_type": "code", + "source": "len(test_labels)\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "aba35c08f64f4879210aaf6c8954e361cc34a6fb" + }, + "cell_type": "markdown", + "source": "
\n## 4-2-3 Preprocess the data\n" + }, + { + "metadata": { + "_uuid": "3d2f80c0d183ef02499dfba9e1d91e98aa109ada" + }, + "cell_type": "markdown", + "source": "The data must be preprocessed before training the network. If you inspect the first image in the training set, you will see that the pixel values fall in the range of 0 to 255:\n\n###### [Go to top](#top)\n" + }, + { + "metadata": { + "_uuid": "45f0894f5fbb16cfb153ab368db499f5ca3bf898", + "trusted": true + }, + "cell_type": "code", + "source": "plt.figure()\nplt.imshow(train_images[0])\nplt.colorbar()\nplt.grid(False)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "d9d3aa056608f5ba327ade5a012a5732aa588a58" + }, + "cell_type": "markdown", + "source": "We scale these values to a range of 0 to 1 before feeding to the neural network model. For this, cast the datatype of the image components from an** integer to a float,** and divide by 255. Here's the function to preprocess the images:\n\nIt's important that the training set and the testing set are preprocessed in the same way:" + }, + { + "metadata": { + "_uuid": "00845f727dea68873dd406f5eb70f4f6b47f8109", + "trusted": true + }, + "cell_type": "code", + "source": "train_images = train_images / 255.0\n\ntest_images = test_images / 255.0", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "986c4006f09b115a8406c20f56b471ff99a77b7b" + }, + "cell_type": "markdown", + "source": "Display the first 25 images from the training set and display the class name below each image. **Verify** that the data is in the correct format and we're ready to build and train the network." + }, + { + "metadata": { + "_uuid": "741d898b017fcbf4cda5f1db742cd9a0f88b4edd", + "trusted": true + }, + "cell_type": "code", + "source": "plt.figure(figsize=(10,10))\nfor i in range(25):\n plt.subplot(5,5,i+1)\n plt.xticks([])\n plt.yticks([])\n plt.grid(False)\n plt.imshow(train_images[i], cmap=plt.cm.binary)\n plt.xlabel(class_names[train_labels[i]])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2097815c69672cd1b9f56448acdf437339f568c9" + }, + "cell_type": "markdown", + "source": "
\n## 4-2-4 Build the model\n" + }, + { + "metadata": { + "_uuid": "d7b5a268f8e1dc866e7a3fb3a2f6cca0e8523240" + }, + "cell_type": "markdown", + "source": "**Building the neural network requires configuring the layers of the model, then compiling the model.**\n
\n### 4-2-4-1 Setup the layers\nThe basic building block of a neural network is the layer. **Layers** extract representations from the data fed into them. And, hopefully, these representations are more meaningful for the problem at hand.\n\nMost of deep learning consists of chaining together simple layers. Most layers, like tf.keras.layers.Dense, have parameters that are learned during training.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "2fb66496035a544a5e94106cb2b80e7bcb11d5d4", + "trusted": true + }, + "cell_type": "code", + "source": "model = keras.Sequential([\n keras.layers.Flatten(input_shape=(28, 28)),\n keras.layers.Dense(128, activation=tf.nn.relu),\n keras.layers.Dense(10, activation=tf.nn.softmax)\n])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "891b791c682f6512cb837e4c9cd3bb3f96f255f7" + }, + "cell_type": "markdown", + "source": "The **first layer** in this network, tf.keras.layers.Flatten, transforms the format of the images from a 2d-array (of 28 by 28 pixels), to a 1d-array of 28 * 28 = 784 pixels. Think of this layer as unstacking rows of pixels in the image and lining them up. This layer has no parameters to learn; it only reformats the data.\n\nAfter the pixels are flattened, the network consists of a sequence of two tf.keras.layers.Dense layers. These are densely-connected, or fully-connected, neural layers. The first Dense layer has 128 nodes (or neurons). **The second (and last) layer** is a 10-node softmax layer—this returns an array of 10 probability scores that sum to 1. Each node contains a score that indicates the probability that the current image belongs to one of the 10 classes.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "b8288c8b9365aaea1be7e3fc29f28ea099599337" + }, + "cell_type": "markdown", + "source": "
\n## 4-2-5 Compile the model\nBefore the model is ready for training, it needs a few more settings. These are added during the model's compile step:\n\n1. **Loss function** —This measures how accurate the model is during training. We want to minimize this function to \"steer\" the model in the right direction.\n1. **Optimizer** —This is how the model is updated based on the data it sees and its loss function.\n1. **Metrics** —Used to monitor the training and testing steps. The following example uses accuracy, the fraction of the images that are correctly classified.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "147f6384ab4ac6ca1f4199c9e5fe5fc5de40ddcf", + "trusted": true + }, + "cell_type": "code", + "source": "model.compile(optimizer=tf.train.AdamOptimizer(), \n loss='sparse_categorical_crossentropy',\n metrics=['accuracy'])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "eb5ca06622460737f9270c0f8b44e4a9ec8ee46c" + }, + "cell_type": "markdown", + "source": "
\n## 4-2-6 Train the model\nTraining the neural network model requires the following steps:\n\nFeed the training data to the model—in this example, the train_images and train_labels arrays.\nThe model learns to associate images and labels.\nWe ask the model to make predictions about a test set—in this example, the test_images array. We verify that the predictions match the labels from the test_labels array.\nTo start training, call the model.fit method—the model is \"fit\" to the training data:\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "03987dc45cf8603ac85093b2e213b66414997307", + "trusted": true + }, + "cell_type": "code", + "source": "#please change epochs to 5\nmodel.fit(train_images, train_labels, epochs=1)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1ac81e58e42d648d321b830b224ab3519984ebf3" + }, + "cell_type": "markdown", + "source": "As the model trains, the loss and accuracy metrics are displayed. This model reaches an accuracy of about 0.88 (or 88%) on the training data." + }, + { + "metadata": { + "_uuid": "87b748f0572109246d2867d3cbd0099279a8e14b" + }, + "cell_type": "markdown", + "source": "
\n## 4-2-7 Evaluate accuracy\nNext, compare how the model performs on the test dataset:\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "6b058c57a1019bfe9eb5bb130821521b8fb60199", + "trusted": true + }, + "cell_type": "code", + "source": "test_loss, test_acc = model.evaluate(test_images, test_labels)\n\nprint('Test accuracy:', test_acc)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1e51ac16e784f873d188f3a7a9a97b77b80bc9fd" + }, + "cell_type": "markdown", + "source": "It turns out, the accuracy on the test dataset is a little less than the accuracy on the training dataset. This gap between training accuracy and test accuracy is an example of overfitting. Overfitting is when a machine learning model performs worse on new data than on their training data." + }, + { + "metadata": { + "_uuid": "89b4451f22b40620f84d91776bc87f56c7035b56" + }, + "cell_type": "markdown", + "source": "
\n## 4-2-8 Make predictions\nWith the model trained, we can use it to make predictions about some images.\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "41c87068a6d3a43561ea86165f0a06a2118a62d2", + "trusted": true + }, + "cell_type": "code", + "source": "predictions = model.predict(test_images)\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "7c67111925e00718f02853fa0a2e075e57ca11a9" + }, + "cell_type": "markdown", + "source": "Here, the model has predicted the label for each image in the testing set. Let's take a look at the first prediction:\n\n" + }, + { + "metadata": { + "_uuid": "b55b3fd88dcc23ad88449a3e4031c8cafb898eb0", + "trusted": true + }, + "cell_type": "code", + "source": "predictions[0]\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "133bc34cbb4d3f253c524f00e222928a3b13e4b4" + }, + "cell_type": "markdown", + "source": "A prediction is an array of 10 numbers. These describe the \"confidence\" of the model that the image corresponds to each of the 10 different articles of clothing. We can see which label has the highest confidence value:\n\n" + }, + { + "metadata": { + "_uuid": "5d06c4e9c154f2a5b104fb40950caea662866928", + "trusted": true + }, + "cell_type": "code", + "source": "np.argmax(predictions[0])\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "416bd6ab38af768e7ccbf84f2e4958edf57607a7" + }, + "cell_type": "markdown", + "source": "We can graph this to look at the full set of 10 channels\n\n" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "f47aca692a640ad3b80f8866d6008aba68ed0825", + "trusted": true + }, + "cell_type": "code", + "source": "def plot_image(i, predictions_array, true_label, img):\n predictions_array, true_label, img = predictions_array[i], true_label[i], img[i]\n plt.grid(False)\n plt.xticks([])\n plt.yticks([])\n \n plt.imshow(img, cmap=plt.cm.binary)\n\n predicted_label = np.argmax(predictions_array)\n if predicted_label == true_label:\n color = 'blue'\n else:\n color = 'red'\n \n plt.xlabel(\"{} {:2.0f}% ({})\".format(class_names[predicted_label],\n 100*np.max(predictions_array),\n class_names[true_label]),\n color=color)\n\ndef plot_value_array(i, predictions_array, true_label):\n predictions_array, true_label = predictions_array[i], true_label[i]\n plt.grid(False)\n plt.xticks([])\n plt.yticks([])\n thisplot = plt.bar(range(10), predictions_array, color=\"#777777\")\n plt.ylim([0, 1]) \n predicted_label = np.argmax(predictions_array)\n \n thisplot[predicted_label].set_color('red')\n thisplot[true_label].set_color('blue')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "659d69546cc3ba435b279de4b3672a73b4c188c2" + }, + "cell_type": "markdown", + "source": "Let's look at the 0th image, predictions, and prediction array.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "6567c22e4a9e6f5bb08971148ec301d7851293c1", + "trusted": true + }, + "cell_type": "code", + "source": "i = 0\nplt.figure(figsize=(6,3))\nplt.subplot(1,2,1)\nplot_image(i, predictions, test_labels, test_images)\nplt.subplot(1,2,2)\nplot_value_array(i, predictions, test_labels)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "6d38e7cb0dafada9806aa9e97ea96b77f64c43da", + "trusted": true + }, + "cell_type": "code", + "source": "i = 12\nplt.figure(figsize=(6,3))\nplt.subplot(1,2,1)\nplot_image(i, predictions, test_labels, test_images)\nplt.subplot(1,2,2)\nplot_value_array(i, predictions, test_labels)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cb5e128f74d125f210335318f1caad4d9d57c93c" + }, + "cell_type": "markdown", + "source": "Let's plot several images with their predictions. Correct prediction labels are blue and incorrect prediction labels are red. The number gives the percent (out of 100) for the predicted label. Note that it can be wrong even when very confident.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "1bfd76dfc22dc76ccc17eaa2209144cb0571b0a4", + "trusted": true + }, + "cell_type": "code", + "source": "# Plot the first X test images, their predicted label, and the true label\n# Color correct predictions in blue, incorrect predictions in red\nnum_rows = 5\nnum_cols = 3\nnum_images = num_rows*num_cols\nplt.figure(figsize=(2*2*num_cols, 2*num_rows))\nfor i in range(num_images):\n plt.subplot(num_rows, 2*num_cols, 2*i+1)\n plot_image(i, predictions, test_labels, test_images)\n plt.subplot(num_rows, 2*num_cols, 2*i+2)\n plot_value_array(i, predictions, test_labels)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "aad0da875f601a4834cb339909d54f5e2c4a053f" + }, + "cell_type": "markdown", + "source": "Finally, use the trained model to make a **prediction** about a single image.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "afed032300abedc76b58a2356723ab6287873ded", + "trusted": true + }, + "cell_type": "code", + "source": "# Grab an image from the test dataset\nimg = test_images[0]\n\nprint(img.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "488bcd1e9545884cef77acca23e278b337a5b39a" + }, + "cell_type": "markdown", + "source": "**tf.keras** models are optimized to make predictions on a batch, or collection, of examples at once. So even though we're using a single image, we need to add it to a list:\n\n" + }, + { + "metadata": { + "_uuid": "dc0ad2cca369582a07a54298480d94c9e5505728", + "trusted": true + }, + "cell_type": "code", + "source": "# Add the image to a batch where it's the only member.\nimg = (np.expand_dims(img,0))\n\nprint(img.shape)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "013ac335e5e6815afed7467b8085d8900dfab7f2" + }, + "cell_type": "markdown", + "source": "Now predict the image:\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "49752739055f2c89268f0d7f08b2082759b9d1c4", + "trusted": true + }, + "cell_type": "code", + "source": "predictions_single = model.predict(img)\n\nprint(predictions_single)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "29f7bf38561a2e2fe1cfa1e9b3d578d47a9bb225", + "trusted": true + }, + "cell_type": "code", + "source": "plot_value_array(0, predictions_single, test_labels)\n_ = plt.xticks(range(10), class_names, rotation=45)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "cb26de113c9d2c8728a1bee7086638d29578d144" + }, + "cell_type": "markdown", + "source": "
\n# 4-3 Theano \n**Theano** is a numerical computation library for Python. It is a common choice for implementing neural network models as it allows you to efficiently define, optimize and evaluate mathematical expressions, including multi-dimensional arrays (numpy.ndaray).[13]\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "46237310b57b3d39536d6ab2efc3ca2ebf01afd7" + }, + "cell_type": "markdown", + "source": "Theano has got an amazing compiler which can do various optimizations of varying complexity. A few of such optimizations are:\n\n1. Arithmetic simplification (e.g: --x -> x; x + y - x -> y)\n1. Using memory aliasing to avoid calculation\n1. Constant folding\n1. Merging similar subgraphs, to avoid redundant calculation\n1. Loop fusion for elementwise sub-expressions\n1. GPU computations" + }, + { + "metadata": { + "_kg_hide-input": true, + "_uuid": "8dbf39c20e9dacae59144b638c678656fd0b9019", + "trusted": true + }, + "cell_type": "code", + "source": "import theano\nfrom theano import tensor\n\nx = tensor.dscalar()\ny = tensor.dscalar()\n\nz = x + y\nf = theano.function([x,y], z)\nprint(f(1.5, 2.5))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2fcb791936664cf4a967fef79d0cdf8bbd418af1" + }, + "cell_type": "markdown", + "source": "
\n## 4-3-1 Theano( example)" + }, + { + "metadata": { + "_uuid": "fdbc14bdda90fbb00590a05d6226f48f234ef2e6" + }, + "cell_type": "markdown", + "source": "Let’s have a look at rather more elaborate example than just adding two numbers. Let’s try to compute the **logistic** curve, which is given by:" + }, + { + "metadata": { + "_uuid": "55ce83795011853f33834e9f511cd621bf8e2dcf" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "a327f3d9d841defc3cc8e4405d813eea6eb23517" + }, + "cell_type": "markdown", + "source": "If we plot a graph for this equation, it will look like:\n" + }, + { + "metadata": { + "_uuid": "67a46003e16d368f8d70f236fbed7457c7377bf6" + }, + "cell_type": "markdown", + "source": "" + }, + { + "metadata": { + "_uuid": "bdae0bbac7a40ee20481147a352ec92d7e9e4c28" + }, + "cell_type": "markdown", + "source": "Logistic function is applied to each element of matrix. Let’s write a code snippet to demonstrate this:\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "fc2bfb69b0c193493ef561d82e3228e2dae2db83", + "trusted": true + }, + "cell_type": "code", + "source": "# declare a variable\nx = tensor.dmatrix('x')\n\n# create the expression\ns = 1 / (1 + tensor.exp(-x))\n\n# convert the expression into a callable object which takes\n# a matrix as parameter and returns s(x)\nlogistic = theano.function([x], s)\n\n# call the function with a test matrix and print the result\nprint(logistic([[0, 1], [-1, -2]]))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "21b7f9353ef201f9c93af63020898209513c46c4" + }, + "cell_type": "markdown", + "source": "
\n## 4-3-2 Calculating multiple results at once\nLet’s say we have to compute elementwise difference, absolute difference and difference squared between two matrices ‘x’ and ‘y’. Doing this at same time optimizes program with significant duration as we don’t have to go to each element again and again for each operation.\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "31737f220690dc8b8ab0106cb548af479696a3f3", + "trusted": true + }, + "cell_type": "code", + "source": "# declare variables\nx, y = tensor.dmatrices('x', 'y')\n\n# create simple expression for each operation\ndiff = x - y\n\nabs_diff = abs(diff)\ndiff_squared = diff**2\n\n# convert the expression into callable object\nf = theano.function([x, y], [diff, abs_diff, diff_squared])\n\n# call the function and store the result in a variable\nresult= f([[1, 1], [1, 1]], [[0, 1], [2, 3]])\n\n# format print for readability\nprint('Difference: ')\nprint(result[0])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "2a2e5fa1faaffea49f7e57d3ba1d56ce4ff659d9" + }, + "cell_type": "markdown", + "source": "
\n## 4-4 Pytroch" + }, + { + "metadata": { + "_uuid": "210f3ecc8793a0f5c5d6f05c63d1cf1f443c194f" + }, + "cell_type": "markdown", + "source": "It’s a **Python-based** scientific computing package targeted at two sets of audiences:\n\n1. A replacement for NumPy to use the power of GPUs\n1. A deep learning research platform that provides maximum flexibility and speed\n\n*PyTorch dynamic computational graph — source: http://pytorch.org/about/*\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "fb4dee7a83d3fd5c6528b6acb6deb3ede07917c9" + }, + "cell_type": "markdown", + "source": "
\n## 4-4-1 Tensors\n**Tensors** are similar to NumPy’s ndarrays, with the addition being that Tensors can also be used on a GPU to accelerate computing." + }, + { + "metadata": { + "_uuid": "c9fa542c5e81368bf67ba10968825778888cb9ed", + "trusted": true + }, + "cell_type": "code", + "source": "from __future__ import print_function\nimport torch", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "428a61e2f48669f3eda674ed89cadd52983d8f07" + }, + "cell_type": "markdown", + "source": "Construct a 5x3 matrix, uninitialized:" + }, + { + "metadata": { + "_uuid": "1367d89d0910e7ebbb474dd1f857f83b4ff4aece", + "trusted": true + }, + "cell_type": "code", + "source": "x = torch.empty(5, 3)\nprint(x)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "984addcd6041b2b34506522bccea8efd3f27bf1e" + }, + "cell_type": "markdown", + "source": "Construct a randomly initialized matrix:\n\n" + }, + { + "metadata": { + "_uuid": "4410ff53288dfc7790cc40eb209df552d35487d6", + "trusted": true + }, + "cell_type": "code", + "source": "x = torch.rand(5, 3)\nprint(x)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e0023c417e35ebeabf4bbcd9a3801fd381de4407" + }, + "cell_type": "markdown", + "source": "Construct a matrix filled zeros and of dtype long:\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "827868be4fe401a9651ffc9bf95d37812dacb478", + "trusted": true + }, + "cell_type": "code", + "source": "x = torch.zeros(5, 3, dtype=torch.long)\nprint(x)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "40eaebdbaa6cbf7f36e77891789bc1c05274bfb3" + }, + "cell_type": "markdown", + "source": "Construct a tensor directly from data:\n\n" + }, + { + "metadata": { + "_uuid": "21956cadded8ec22cb21b2d02ea99132fd016e6a", + "trusted": true + }, + "cell_type": "code", + "source": "x = torch.tensor([5.5, 3])\nprint(x)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "885dbbc02d2e452f03c059e52303c6157064134d" + }, + "cell_type": "markdown", + "source": "or create a tensor based on an existing tensor. These methods will reuse properties of the input tensor, e.g. dtype, unless new values are provided by user\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "a649ed5e927a0d723397fc89627bb79ff777e221", + "trusted": true + }, + "cell_type": "code", + "source": "x = x.new_ones(5, 3, dtype=torch.double) # new_* methods take in sizes\nprint(x)\n\nx = torch.randn_like(x, dtype=torch.float) # override dtype!\nprint(x) # result has the same size", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "bab1c6447f5062d5a931c5e642b0f409d472fda7" + }, + "cell_type": "markdown", + "source": "Get its size:" + }, + { + "metadata": { + "_uuid": "62961e53b2bb3f99762d659902f10ef6a3c97332", + "trusted": true + }, + "cell_type": "code", + "source": "print(x.size())\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "0a6e5752f4585ad9ae0e0592c33c56b1675626cb" + }, + "cell_type": "markdown", + "source": "
\n## 4-4-2 Operations\nThere are multiple syntaxes for operations. In the following example, we will take a look at the addition operation.\n\nAddition: syntax 1\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "aeffc489a8e0c446c7c8532054e1892021b1bfcd", + "trusted": true + }, + "cell_type": "code", + "source": "y = torch.rand(5, 3)\nprint(x + y)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "92344324d330a3adbe7ac2c4f612fb55953249b2" + }, + "cell_type": "markdown", + "source": "Addition: syntax 2\n\n" + }, + { + "metadata": { + "_uuid": "75b4d2d34207835bd33382894e86416cb7257dbe", + "trusted": true + }, + "cell_type": "code", + "source": "print(torch.add(x, y))\n", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "f062bcc0e8a5d5c927ad8cde707bced9c569054d" + }, + "cell_type": "markdown", + "source": "Addition: providing an output **tensor** as argument\n\n" + }, + { + "metadata": { + "_uuid": "65caf77ef11dde7550d2ee7b19f9acec6d101840", + "trusted": true + }, + "cell_type": "code", + "source": "result = torch.empty(5, 3)\ntorch.add(x, y, out=result)\nprint(result)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "b9f593a50ae8e25d8a76a931bb83b66a3032eb29" + }, + "cell_type": "markdown", + "source": "
\n## 4-4 CNTK\nlet's start learning how to use CNTK:\nTo train a deep model, you will need to define your model structure, prepare your data so that it can be fed to CNTK, train the model and evaluate its accuracy, and deploy it.\n1. Defining your model structure\n 1. The CNTK programming model: Networks as Function Objects\n 1. CNTK's Data Model: Tensors and Sequences of Tensors\n 1. Your First CNTK Network: Logistic Regression\n 1. Your second CNTK Network: MNIST Digit Recognition\n 1. The Graph API: MNIST Digit Recognition Once More\n1. Feeding your data\n 1. Small data sets that fit into memory: numpy/scipy arrays/\n 1. Large data sets: MinibatchSource class\n 1. Spoon-feeding data: your own minibatch loop\n1. Training\n 1. Distributed Training\n 1. Logging\n 1. Checkpointing\n 1. Cross-validation based training control\n 1. Final evaluation\n1. Deploying the model\n 1. From Python\n 1. From C++ and C#\n 1. From your own web service\n 1. Via an Azure web service\n\n>**Note**:\nTo run this tutorial, you will need CNTK v2 and ideally a CUDA-capable GPU (deep learning is no fun without GPUs).\n\nComing Soon!!!!\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "cf3679a51c72dbe2d2549b5fe97e4ac5f1fa0fa0" + }, + "cell_type": "markdown", + "source": "you can follow and fork my work in **GitHub**:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n\n\n--------------------------------------\n\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**" + }, + { + "metadata": { + "_uuid": "0cb16fa384dea2e2f02cc2169be3f2eed37fa3fd" + }, + "cell_type": "markdown", + "source": "
\n# 5- Conclusion\nIn this kernel we have just tried to create a **comprehensive deep learning workflow** for helping you to start your jounery in DL.\nsurly it is not **completed yet**!! also I want to hear your voice to improve kernel together." + }, + { + "metadata": { + "_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0", + "_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a", + "collapsed": true + }, + "cell_type": "markdown", + "source": "
\n\n-----------\n\n# 6- References\n1. [https://skymind.ai/wiki/machine-learning-workflow](https://skymind.ai/wiki/machine-learning-workflow)\n1. [keras](https://www.kaggle.com/yassineghouzam/introduction-to-cnn-keras-0-997-top-6)\n1. [Problem-define](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n1. [Sklearn](http://scikit-learn.org/)\n1. [machine-learning-in-python-step-by-step](https://machinelearningmastery.com/machine-learning-in-python-step-by-step/)\n1. [Data Cleaning](http://wp.sigmod.org/?p=2288)\n1. [Kaggle kernel that I use it](https://www.kaggle.com/yassineghouzam/introduction-to-cnn-keras-0-997-top-6)\n1. [DL vs ML](https://medium.com/swlh/ill-tell-you-why-deep-learning-is-so-popular-and-in-demand-5aca72628780)\n1. [neural-networks-deep-learning](https://www.coursera.org/learn/neural-networks-deep-learning)\n1. [deep-learning-with-python-notebooks](https://github.com/fchollet/deep-learning-with-python-notebooks)\n1. [8-best-deep-learning-frameworks-for-data-science-enthusiasts](https://medium.com/the-mission/8-best-deep-learning-frameworks-for-data-science-enthusiasts-d72714157761)\n1. [tensorflow](https://www.tensorflow.org/tutorials/keras/basic_classification)\n1. [Theano](https://www.journaldev.com/17840/theano-python-tutorial)\n1. [pytorch](https://pytorch.org/tutorials/beginner/blitz/tensor_tutorial.html#sphx-glr-beginner-blitz-tensor-tutorial-py)\n1. [CNTK](https://github.com/Microsoft/CNTK/)\n\n\n-------------\n\n###### [Go to top](#top)" + }, + { + "metadata": { + "_uuid": "7ca5f2ba5afd30d1a741453958a1337af35be208" + }, + "cell_type": "markdown", + "source": "you can follow and fork my work in **GitHub**:\n> ###### [ GitHub](https://github.com/mjbahmani/10-steps-to-become-a-data-scientist)\n### New Chapter Coming Soon, it is not completed" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/Tutorial on Ensemble Learning/Tutorial on Ensemble Learning.ipynb b/Tutorial on Ensemble Learning/Tutorial on Ensemble Learning.ipynb new file mode 100644 index 0000000..2798311 --- /dev/null +++ b/Tutorial on Ensemble Learning/Tutorial on Ensemble Learning.ipynb @@ -0,0 +1,449 @@ +{ + "cells": [ + { + "metadata": { + "_uuid": "726661972b09b03a31d424ef02a9be0cd284d81b" + }, + "cell_type": "markdown", + "source": " #
Tutorial on Ensemble Learning \n
One of the most common questions we get on Data science is:\n
\nHow can we provide better solutions than other machine learning algorithms?\n
\nIf you get confused and ask experts what should you learn at this stage, most of them would suggest / agree that you go ahead with ensemble learning? \n
\nIn this simple tutorials you can learn all of the thing you need for using ensemble learning as a method
\n
last update: 11/04/2018
\n\n\nyou can follow me on:\n> ###### [ GitHub](https://github.com/mjbahmani)\n> ###### [Kaggle](https://www.kaggle.com/mjbahmani/)\n-------------------------------------------------------------------------------------------------------------\n **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n \n -----------" + }, + { + "metadata": { + "_uuid": "2a01be35950f7a117fc6700e866de3bf5a3ea6b9" + }, + "cell_type": "markdown", + "source": "\n## Notebook Content\n1. [Introduction](#1)\n 1. [Why Ensemble Learning?](#2)\n1. [Ensemble Techniques](#3)\n 1. [what-is-the-difference-between-bagging-and-boosting?](#4)\n1. [XGBoost?](#5)\n 1. [Installing XGBoost ](#2)\n 1. [Matrix Multiplication](#3)\n 1. [Vector-Vector Products](#4)\n 1. [Outer Product of Two Vectors](#5)\n 1. [Matrix-Vector Products](#6)\n 1. [Matrix-Matrix Products](#7)\n1. [Random Forest](#2)\n1. [AdaBoost](#2)\n1. [GBM](#2)\n1. [XGB](#2)\n1. [Light GBM](#2)\n1. [Conclusion](#30)\n1. [References](#31)" + }, + { + "metadata": { + "_uuid": "b18443661b6d30ffea2150fa74d44d62e14ae952" + }, + "cell_type": "markdown", + "source": "
\n# 1- Introduction\n**Ensemble modeling** is a powerful way to improve the performance of your model. It usually pays off to apply ensemble learning over and above various models you might be building. Time and again, people have used ensemble models in competitions like Kaggle and benefited from it.\n\nEnsemble learning is a broad topic and is only confined by your own imagination. For the purpose of this Notebook, I will cover the basic concepts and ideas of ensemble modeling. This should be enough for you to start building ensembles at your own end. As usual, we have tried to keep things as simple as possible.[6]\n
\n## 1-1 Why Ensemble Learning?\n1. Difference in population\n1. Difference in hypothesis\n1. Difference in modeling technique\n1. Difference in initial seed\n" + }, + { + "metadata": { + "_uuid": "aec8b19e1f21c3133c0b6654c8e219620bce2f60" + }, + "cell_type": "markdown", + "source": "
\n# 2- Ensemble Techniques" + }, + { + "metadata": { + "_uuid": "f6efedc6cb52ef33b3f8245b558a954f8d2a925a" + }, + "cell_type": "markdown", + "source": "1. Bagging based Ensemble learning\n1. Boosting-based Ensemble learning\n1. Voting based Ensemble learning" + }, + { + "metadata": { + "_uuid": "b7523c62ce012e9abba85f7f14cc49f0e0d11bcf" + }, + "cell_type": "markdown", + "source": "
\n### 2-1- what-is-the-difference-between-bagging-and-boosting?\n**Bagging**: It is the method to decrease the variance of model by generating additional data for training from your original data set using combinations with repetitions to produce multisets of the same size as your original data.\n\n**Boosting**: It helps to calculate the predict the target variables using different models and then average the result( may be using a weighted average approach).\n" + }, + { + "metadata": { + "_uuid": "8a6fb87ba874c6108aa7266d80c20e161076c40b" + }, + "cell_type": "markdown", + "source": "
\n## 3-XGBoost?\n* **XGBoost** is an algorithm that has recently been dominating applied machine learning and Kaggle competitions for structured or tabular data.\n* **XGBoost** is an implementation of gradient boosted decision trees designed for speed and performance.\n* **XGBoost** is short for e**X**treme **G**radient **Boost**ing package." + }, + { + "metadata": { + "_uuid": "787e4b715d1969126ec6757bbb28f9c1fc84e970" + }, + "cell_type": "markdown", + "source": "* Speed and performance : Originally written in C++, it is comparatively faster than other ensemble classifiers.\n\n* Core algorithm is parallelizable : Because the core XGBoost algorithm is parallelizable it can harness the power of multi-core computers. It is also parallelizable onto GPU’s and across networks of computers making it feasible to train on very large datasets as well.\n\n* Consistently outperforms other algorithm methods : It has shown better performance on a variety of machine learning benchmark datasets.\n\n* Wide variety of tuning parameters : XGBoost internally has parameters for cross-validation, regularization, user-defined objective functions, missing values, tree parameters, scikit-learn compatible API etc.\n* Win competition On Kaggle : there are a lot of winners on Kaggle that use XGBoost\n" + }, + { + "metadata": { + "_uuid": "c212686b417d16cea9998ef4446bbd3817b16792" + }, + "cell_type": "markdown", + "source": "
\n## 4- Installing XGBoost" + }, + { + "metadata": { + "_uuid": "9efb9808940ca6795af40c18c0e263bf58cfd166" + }, + "cell_type": "markdown", + "source": "There is a comprehensive installation guide on the [XGBoost documentation website](http://xgboost.readthedocs.io/en/latest/build.html).\n\n### 3-1 XGBoost in R\nIf you are an R user, the best place to get started is the [CRAN page for the xgboost package](https://cran.r-project.org/web/packages/xgboost/index.html).\n\n### 3-2 XGBoost in Python\nInstallation instructions are available on the Python section of the XGBoost installation guide.\n\nThe official Python Package Introduction is the best place to start when working with XGBoost in Python.\n\nTo get started quickly, you can type:\n\n>sudo pip install xgboost\n" + }, + { + "metadata": { + "_uuid": "f5eca2345978273dd67cfccc0edfc2bc6f7d467f" + }, + "cell_type": "markdown", + "source": "
\n## 4- Problem Definition\nI think one of the important things when you start a new machine learning project is Defining your problem. that means you should understand business problem.( **Problem Formalization**)\n\nProblem Definition has four steps that have illustrated in the picture below:\n
\n### 4-1 Problem Feature\nwe will use the classic Iris data set. This dataset contains information about three different types of Iris flowers:\n\n* Iris Versicolor\n* Iris Virginica\n* Iris Setosa\n\nThe data set contains measurements of four variables :\n\n* sepal length \n* sepal width\n* petal length \n* petal width\n \nThe Iris data set has a number of interesting features:\n\n1. One of the classes (Iris Setosa) is linearly separable from the other two. However, the other two classes are not linearly separable.\n\n2. There is some overlap between the Versicolor and Virginica classes, so it is unlikely to achieve a perfect classification rate.\n\n3. There is some redundancy in the four input variables, so it is possible to achieve a good solution with only three of them, or even (with difficulty) from two, but the precise choice of best variables is not obvious.\n\n**Why am I using iris dataset:**\n\n1- This is a good project because it is so well understood.\n\n2- Attributes are numeric so you have to figure out how to load and handle data.\n\n3- It is a classification problem, allowing you to practice with perhaps an easier type of supervised learning algorithm.\n\n4- It is a multi-class classification problem (multi-nominal) that may require some specialized handling.\n\n5- It only has 4 attributes and 150 rows, meaning it is small and easily fits into memory (and a screen or A4 page).\n\n6- All of the numeric attributes are in the same units and the same scale, not requiring any special scaling or transforms to get started.[5]\n\n7- we can define problem as clustering(unsupervised algorithm) project too.\n
\n### 4-2 Aim\nThe aim is to classify iris flowers among three species (setosa, versicolor or virginica) from measurements of length and width of sepals and petals\n
\n### 4-3 Variables\nThe variables are :\n**sepal_length**: Sepal length, in centimeters, used as input.\n**sepal_width**: Sepal width, in centimeters, used as input.\n**petal_length**: Petal length, in centimeters, used as input.\n**petal_width**: Petal width, in centimeters, used as input.\n**setosa**: Iris setosa, true or false, used as target.\n**versicolour**: Iris versicolour, true or false, used as target.\n**virginica**: Iris virginica, true or false, used as target.\n\n**<< Note >>**\n> You must answer the following question:\nHow does your company expact to use and benfit from your model." + }, + { + "metadata": { + "_uuid": "dee35ee214871c7c9d22104aafc6587eb3d2aa1e" + }, + "cell_type": "markdown", + "source": "
\n## 5- Inputs & Outputs\n
\n### 5-1 Inputs\n**Iris** is a very popular **classification** and **clustering** problem in machine learning and it is such as \"Hello world\" program when you start learning a new programming language. then I decided to apply Iris on 20 machine learning method on it.\nThe Iris flower data set or Fisher's Iris data set is a **multivariate data set** introduced by the British statistician and biologist Ronald Fisher in his 1936 paper The use of multiple measurements in taxonomic problems as an example of linear discriminant analysis. It is sometimes called Anderson's Iris data set because Edgar Anderson collected the data to quantify the morphologic variation of Iris flowers in three related species. Two of the three species were collected in the Gaspé Peninsula \"all from the same pasture, and picked on the same day and measured at the same time by the same person with the same apparatus\".\nThe data set consists of 50 samples from each of three species of Iris (Iris setosa, Iris virginica, and Iris versicolor). Four features were measured from each sample: the length and the width of the sepals and petals, in centimeters. Based on the combination of these four features, Fisher developed a linear discriminant model to distinguish the species from each other.\n\nAs a result, **iris dataset is used as the input of all algorithms**.\n
\n### 5-2 Outputs\nthe outputs for our algorithms totally depend on the type of classification or clustering algorithms.\nthe outputs can be the number of clusters or predict for new input.\n\n**setosa**: Iris setosa, true or false, used as target.\n**versicolour**: Iris versicolour, true or false, used as target.\n**virginica**: Iris virginica, true or false, used as a target." + }, + { + "metadata": { + "_uuid": "18e6a0730989363caa069a745b5f3ea8b30766e9" + }, + "cell_type": "markdown", + "source": "######
\n## 6- Import packages" + }, + { + "metadata": { + "_uuid": "5b8aa15d1b11789c38f1dd19d5f06e4be054e525", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.model_selection import train_test_split\nfrom sklearn.metrics import classification_report\nfrom sklearn.metrics import confusion_matrix\nfrom sklearn.metrics import accuracy_score\nfrom sklearn.decomposition import PCA\nimport matplotlib.pyplot as plt\nfrom pandas import get_dummies\nimport plotly.graph_objs as go\nfrom sklearn import datasets\nimport plotly.plotly as py\nimport seaborn as sns\nimport xgboost as xgb\nimport pandas as pd\nimport numpy as np\nimport matplotlib\nimport warnings\nimport sklearn\nimport scipy\nimport numpy\nimport json\nimport sys\nimport csv\nimport os", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "49d5cacd5d0aeadd10836b930cdb43e0ed581a60", + "trusted": true + }, + "cell_type": "code", + "source": "print('matplotlib: {}'.format(matplotlib.__version__))\nprint('sklearn: {}'.format(sklearn.__version__))\nprint('scipy: {}'.format(scipy.__version__))\nprint('seaborn: {}'.format(sns.__version__))\nprint('pandas: {}'.format(pd.__version__))\nprint('numpy: {}'.format(np.__version__))\nprint('Python: {}'.format(sys.version))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e5c5a1da5ce973e4dce69388b76022b5f69e4c16" + }, + "cell_type": "markdown", + "source": "
\n## 6-1 Data Collection\n**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n\n**Iris dataset** consists of 3 different types of irises’ (Setosa, Versicolour, and Virginica) petal and sepal length, stored in a 150x4 numpy.ndarray\n\nThe rows being the samples and the columns being: Sepal Length, Sepal Width, Petal Length and Petal Width.[6]\n" + }, + { + "metadata": { + "_uuid": "1f4c3ec8ecd51cc0ae810666af8f93d6d1d27aaf", + "trusted": true + }, + "cell_type": "code", + "source": "# import Dataset to play with it\ndataset = pd.read_csv('../input/iris-dataset/Iris.csv')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "a6db3370c16c7e91d1d1624bc88a35cde1f8f141" + }, + "cell_type": "markdown", + "source": "**<< Note 1 >>**\n\n* Each row is an observation (also known as : sample, example, instance, record)\n* Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)" + }, + { + "metadata": { + "_uuid": "72cc7c7b60a33390a85b16bc34e3b9e424650cdd" + }, + "cell_type": "markdown", + "source": "
\n## 7- Model Deployment\nIn this section have been applied more than **20 learning algorithms** that play an important rule in your experiences and improve your knowledge in case of ML technique.\n\n> **<< Note 3 >>** : The results shown here may be slightly different for your analysis because, for example, the neural network algorithms use random number generators for fixing the initial value of the weights (starting points) of the neural networks, which often result in obtaining slightly different (local minima) solutions each time you run the analysis. Also note that changing the seed for the random number generator used to create the train, test, and validation samples can change your results." + }, + { + "metadata": { + "_uuid": "4b7788bbaaace438242d3b2d0d2ed489a91939ce" + }, + "cell_type": "markdown", + "source": "
\n## 7-1 Families of ML algorithms\nThere are several categories for machine learning algorithms, below are some of these categories:\n* Linear\n * Linear Regression\n * Logistic Regression\n * Support Vector Machines\n* Tree-Based\n * Decision Tree\n * Random Forest\n * GBDT\n* KNN\n* Neural Networks\n\n-----------------------------\nAnd if we want to categorize ML algorithms with the type of learning, there are below type:\n* Classification\n\n * k-Nearest \tNeighbors\n * LinearRegression\n * SVM\n * DT \n * NN\n \n* clustering\n\n * K-means\n * HCA\n * Expectation Maximization\n \n* Visualization \tand\tdimensionality \treduction:\n\n * Principal \tComponent \tAnalysis(PCA)\n * Kernel PCA\n * Locally -Linear\tEmbedding \t(LLE)\n * t-distributed\tStochastic\tNeighbor\tEmbedding \t(t-SNE)\n \n* Association \trule\tlearning\n\n * Apriori\n * Eclat\n* Semisupervised learning\n* Reinforcement Learning\n * Q-learning\n* Batch learning & Online learning\n* Ensemble Learning\n\n**<< Note >>**\n> Here is no method which outperforms all others for all tasks\n\n" + }, + { + "metadata": { + "_uuid": "daf9910caba26e071ff560dbdaca079ee148e140" + }, + "cell_type": "markdown", + "source": "
\n## 7-2 Prepare Features & Targets\nFirst of all seperating the data into dependent(Feature) and independent(Target) variables.\n\n**<< Note 4 >>**\n* X==>>Feature\n* y==>>Target" + }, + { + "metadata": { + "_uuid": "b06cb1191a0f52a904c52a918d1f999536e79bda", + "trusted": true + }, + "cell_type": "code", + "source": "\nX = dataset.iloc[:, :-1].values\ny = dataset.iloc[:, -1].values\n\n# Splitting the dataset into the Training set and Test set\nfrom sklearn.model_selection import train_test_split\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "be230bb37d65624a2be449771bd222620a54f99e" + }, + "cell_type": "markdown", + "source": "After loading the data via **pandas**, we should checkout what the content is, description and via the following:" + }, + { + "metadata": { + "_uuid": "ffc339dbf9c8da74194b994930694bd97bb2afbb" + }, + "cell_type": "markdown", + "source": "
\n## 7-3 RandomForest\nA random forest is a meta estimator that **fits a number of decision tree classifiers** on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting. \n\nThe sub-sample size is always the same as the original input sample size but the samples are drawn with replacement if bootstrap=True (default)." + }, + { + "metadata": { + "_uuid": "8ed2305b51c2248a8aa62cf4452632f448e83771", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import RandomForestClassifier\nModel=RandomForestClassifier(max_depth=2)\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "1311eb15f2afceed2219faeb859d0d07b7072176" + }, + "cell_type": "markdown", + "source": "
\n## 7-4 Bagging classifier \nA Bagging classifier is an ensemble **meta-estimator** that fits base classifiers each on random subsets of the original dataset and then aggregate their individual predictions (either by voting or by averaging) to form a final prediction. Such a meta-estimator can typically be used as a way to reduce the variance of a black-box estimator (e.g., a decision tree), by introducing randomization into its construction procedure and then making an ensemble out of it.\n\nThis algorithm encompasses several works from the literature. When random subsets of the dataset are drawn as random subsets of the samples, then this algorithm is known as Pasting . If samples are drawn with replacement, then the method is known as Bagging . When random subsets of the dataset are drawn as random subsets of the features, then the method is known as Random Subspaces . Finally, when base estimators are built on subsets of both samples and features, then the method is known as Random Patches .[http://scikit-learn.org]" + }, + { + "metadata": { + "_uuid": "c11c731d3db6c1c81301da85dc158cb7d324c4cb", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import BaggingClassifier\nModel=BaggingClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "c0944bd32424f38906148d96f4b1e6fccfbf97a6" + }, + "cell_type": "markdown", + "source": "
\n## 7-5 AdaBoost classifier\n\nAn AdaBoost classifier is a meta-estimator that begins by fitting a classifier on the original dataset and then fits additional copies of the classifier on the same dataset but where the weights of incorrectly classified instances are adjusted such that subsequent classifiers focus more on difficult cases.\nThis class implements the algorithm known as **AdaBoost-SAMME** ." + }, + { + "metadata": { + "_uuid": "938946ee8e017b982c4c06e193d4d13cb7d3fb5f", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import AdaBoostClassifier\nModel=AdaBoostClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "9d62842d12731d3eb1d6577c5b35c12c4886c708" + }, + "cell_type": "markdown", + "source": "
\n## 7-6 Gradient Boosting Classifier\nGB builds an additive model in a forward stage-wise fashion; it allows for the optimization of arbitrary differentiable loss functions." + }, + { + "metadata": { + "_uuid": "863124561c0d1b5995d0b8d3702daa7bc364d6b0", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.ensemble import GradientBoostingClassifier\nModel=GradientBoostingClassifier()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "e89b4494bd78c2d66beeba34a4e320fd8c9dae0c" + }, + "cell_type": "markdown", + "source": "
\n## 7-7 Linear Discriminant Analysis\nLinear Discriminant Analysis (discriminant_analysis.LinearDiscriminantAnalysis) and Quadratic Discriminant Analysis (discriminant_analysis.QuadraticDiscriminantAnalysis) are two classic classifiers, with, as their names suggest, a **linear and a quadratic decision surface**, respectively.\n\nThese classifiers are attractive because they have closed-form solutions that can be easily computed, are inherently multiclass, have proven to work well in practice, and have no **hyperparameters** to tune." + }, + { + "metadata": { + "_uuid": "0796cd9f1c902345df605b7557a9c3ff686e35a9", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.discriminant_analysis import LinearDiscriminantAnalysis\nModel=LinearDiscriminantAnalysis()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "296137970fc94fa4a4eb4185cb5fa952b1985c57" + }, + "cell_type": "markdown", + "source": "
\n## 7-8 Quadratic Discriminant Analysis\nA classifier with a quadratic decision boundary, generated by fitting class conditional densities to the data and using Bayes’ rule.\n\nThe model fits a **Gaussian** density to each class." + }, + { + "metadata": { + "_uuid": "5f521d19f295b8e8f24f5715e93b1c45e9a6bce3", + "trusted": true + }, + "cell_type": "code", + "source": "from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis\nModel=QuadraticDiscriminantAnalysis()\nModel.fit(X_train,y_train)\ny_pred=Model.predict(X_test)\nprint(classification_report(y_test,y_pred))\nprint(confusion_matrix(y_pred,y_test))\n#Accuracy Score\nprint('accuracy is ',accuracy_score(y_pred,y_test))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "5246353e23d70ac5b76f2f0000da0fb575aad4c1" + }, + "cell_type": "markdown", + "source": "
\n## 7-9 XGBoost\nFinally see how to perform XGBoost" + }, + { + "metadata": { + "trusted": true, + "_uuid": "1396f3c01a68cebf0ad533d37d167b78853684e8" + }, + "cell_type": "code", + "source": "from sklearn import datasets\n\niris = datasets.load_iris()\nX = iris.data\ny = iris.target", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "1df71cb9d0303e4e3f5b7f5ddbf82447745fe171" + }, + "cell_type": "code", + "source": "from sklearn.model_selection import train_test_split\n\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "82460e2a3e4d12ea56bb89661362ed245a86b2e1" + }, + "cell_type": "code", + "source": "dtrain = xgb.DMatrix(X_train, label=y_train)\ndtest = xgb.DMatrix(X_test, label=y_test)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "dd22dbaa135ca53b6e082b0a20a67d339fc61b90" + }, + "cell_type": "code", + "source": "from sklearn.datasets import dump_svmlight_file\n\ndump_svmlight_file(X_train, y_train, 'dtrain.svm', zero_based=True)\ndump_svmlight_file(X_test, y_test, 'dtest.svm', zero_based=True)\ndtrain_svm = xgb.DMatrix('dtrain.svm')\ndtest_svm = xgb.DMatrix('dtest.svm')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "174cdc50c4f13271d1f20099b8c50f53020c8bd3" + }, + "cell_type": "code", + "source": "param = {\n 'max_depth': 3, # the maximum depth of each tree\n 'eta': 0.3, # the training step for each iteration\n 'silent': 1, # logging mode - quiet\n 'objective': 'multi:softprob', # error evaluation for multiclass training\n 'num_class': 3} # the number of classes that exist in this datset\nnum_round = 20 # the number of training iterations", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "0581372dc2d832490e67cc3e6dc8773c24da2a46" + }, + "cell_type": "code", + "source": "bst = xgb.train(param, dtrain, num_round)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "286c1f024331c206414a5447bce7394799e2a9a6" + }, + "cell_type": "code", + "source": "bst.dump_model('dump.raw.txt')", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "176133bf0e133d48a223d6c0892834e8864357c0" + }, + "cell_type": "code", + "source": "preds = bst.predict(dtest)", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "trusted": true, + "_uuid": "36eb5f69380105fa41ae6e41aa522fe512b49731" + }, + "cell_type": "code", + "source": "best_preds = np.asarray([np.argmax(line) for line in preds])", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "78a2dd79efdf874f57a2b4c14c56654ff4864bfc" + }, + "cell_type": "markdown", + "source": "Determine the precision of this prediction:" + }, + { + "metadata": { + "trusted": true, + "_uuid": "72fa1b9a9f9ecdc42f723162df7ece0da7f519e9" + }, + "cell_type": "code", + "source": "from sklearn.metrics import precision_score\n\nprint (precision_score(y_test, best_preds, average='macro'))", + "execution_count": null, + "outputs": [] + }, + { + "metadata": { + "_uuid": "afc2a360fedd783e5e9d7bbc975c9c6f06a2ee72" + }, + "cell_type": "markdown", + "source": "
\n# 9-Conclusion\n* That XGBoost is a library for developing fast and high performance gradient boosting tree models.\n* That XGBoost is achieving the best performance on a range of difficult machine learning tasks.\n* That you can use this library from the command line, Python and R and how to get started.\n\n" + }, + { + "metadata": { + "_uuid": "b132163ee07917a0ab100b93f6ed5545ce0de45d" + }, + "cell_type": "markdown", + "source": "you can follow me on:\n> ###### [ GitHub](https://github.com/mjbahmani)\n> ###### [Kaggle](https://www.kaggle.com/mjbahmani/)\n\n **I hope you find this kernel helpful and some upvotes would be very much appreciated**\n " + }, + { + "metadata": { + "_uuid": "5719a5ba111b65b20b53d538281ac773eb14471a" + }, + "cell_type": "markdown", + "source": "
\n# 10-References" + }, + { + "metadata": { + "_uuid": "aab5b3d8cb417250dc6baa081a579106900effba" + }, + "cell_type": "markdown", + "source": "1. [datacamp](https://www.datacamp.com/community/tutorials/xgboost-in-python)\n1. [Xgboost presentation](https://www.oreilly.com/library/view/data-science-from/9781491901410/ch04.html)\n1. [machinelearningmastery](https://machinelearningmastery.com/gentle-introduction-xgboost-applied-machine-learning/)\n1. [analyticsvidhya](https://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tuning-xgboost-with-codes-python/)\n1. [Github](https://github.com/mjbahmani)\n1. [analyticsvidhya](https://www.analyticsvidhya.com/blog/2015/08/introduction-ensemble-learning/)\n1. [ensemble-learning-python](https://www.datacamp.com/community/tutorials/ensemble-learning-python)\n\n\n" + }, + { + "metadata": { + "_uuid": "19f9d012a8ef8761a6f5f8aaca160c5aeaa70eb3" + }, + "cell_type": "markdown", + "source": "### Is not completed yet!!!" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.6.6", + "mimetype": "text/x-python", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "file_extension": ".py" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} \ No newline at end of file diff --git a/XGBoost Tutorial for Beginners/XGBoost Tutorial for Beginners.ipynb b/XGBoost Tutorial for Beginners/XGBoost Tutorial for Beginners.ipynb new file mode 100644 index 0000000..6ae9997 --- /dev/null +++ b/XGBoost Tutorial for Beginners/XGBoost Tutorial for Beginners.ipynb @@ -0,0 +1,718 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "_uuid": "726661972b09b03a31d424ef02a9be0cd284d81b" + }, + "source": [ + " #
XGBoost Tutorial for Beginners \n", + "
One of the most common questions we get on Data science is:\n", + "
\n", + "How can we provide better solutions than other machine learning algorithms?\n", + "
\n", + "If you get confused and ask experts what should you learn at this stage, most of them would suggest / agree that you go ahead with ensemble learning? \n", + "
\n", + "In this simple tutorials you can learn all of the thing you need for using XGBoost as a method
\n", + "\n", + "
last update: 11/01/2018
\n", + "\n", + "\n", + "you can follow me on:\n", + "> ###### [ GitHub](https://github.com/mjbahmani)\n", + "> ###### [Kaggle](https://www.kaggle.com/mjbahmani/)\n", + "-------------------------------------------------------------------------------------------------------------\n", + " **I hope you find this kernel helpful and some UPVOTES would be very much appreciated**\n", + " \n", + " -----------" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "2a01be35950f7a117fc6700e866de3bf5a3ea6b9" + }, + "source": [ + "\n", + "## Notebook Content\n", + " [Introduction](#0)\n", + "1. [ Why XGBoost?](#1)\n", + "1. [Installing XGBoost ](#2)\n", + "1. [Matrix Multiplication](#3)\n", + " 1. [Vector-Vector Products](#4)\n", + " 1. [Outer Product of Two Vectors](#5)\n", + " 1. [Matrix-Vector Products](#6)\n", + " 1. [Matrix-Matrix Products](#7)\n", + "1. [Conclusion](#30)\n", + "1. [References](#31)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "b18443661b6d30ffea2150fa74d44d62e14ae952" + }, + "source": [ + "
\n", + "# 1- Introduction\n", + "* **XGBoost** is an algorithm that has recently been dominating applied machine learning and Kaggle competitions for structured or tabular data.\n", + "* **XGBoost** is an implementation of gradient boosted decision trees designed for speed and performance.\n", + "* **XGBoost** is short for e**X**treme **G**radient **Boost**ing package.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "8a6fb87ba874c6108aa7266d80c20e161076c40b" + }, + "source": [ + "
\n", + "## 2- Why XGBoost?" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "787e4b715d1969126ec6757bbb28f9c1fc84e970" + }, + "source": [ + "* Speed and performance : Originally written in C++, it is comparatively faster than other ensemble classifiers.\n", + "\n", + "* Core algorithm is parallelizable : Because the core XGBoost algorithm is parallelizable it can harness the power of multi-core computers. It is also parallelizable onto GPU’s and across networks of computers making it feasible to train on very large datasets as well.\n", + "\n", + "* Consistently outperforms other algorithm methods : It has shown better performance on a variety of machine learning benchmark datasets.\n", + "\n", + "* Wide variety of tuning parameters : XGBoost internally has parameters for cross-validation, regularization, user-defined objective functions, missing values, tree parameters, scikit-learn compatible API etc.\n", + "* Win competition On Kaggle : there are a lot of winners on Kaggle that use XGBoost\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c212686b417d16cea9998ef4446bbd3817b16792" + }, + "source": [ + "
\n", + "## 3- Installing XGBoost" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "9efb9808940ca6795af40c18c0e263bf58cfd166" + }, + "source": [ + "There is a comprehensive installation guide on the [XGBoost documentation website](http://xgboost.readthedocs.io/en/latest/build.html).\n", + "\n", + "### 3-1 XGBoost in R\n", + "If you are an R user, the best place to get started is the [CRAN page for the xgboost package](https://cran.r-project.org/web/packages/xgboost/index.html).\n", + "\n", + "### 3-2 XGBoost in Python\n", + "Installation instructions are available on the Python section of the XGBoost installation guide.\n", + "\n", + "The official Python Package Introduction is the best place to start when working with XGBoost in Python.\n", + "\n", + "To get started quickly, you can type:\n", + "\n", + ">sudo pip install xgboost\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "f5eca2345978273dd67cfccc0edfc2bc6f7d467f" + }, + "source": [ + "
\n", + "## 4- Problem Definition\n", + "I think one of the important things when you start a new machine learning project is Defining your problem. that means you should understand business problem.( **Problem Formalization**)\n", + "\n", + "Problem Definition has four steps that have illustrated in the picture below:\n", + "\n", + "
\n", + "### 4-1 Problem Feature\n", + "we will use the classic Iris data set. This dataset contains information about three different types of Iris flowers:\n", + "\n", + "* Iris Versicolor\n", + "* Iris Virginica\n", + "* Iris Setosa\n", + "\n", + "The data set contains measurements of four variables :\n", + "\n", + "* sepal length \n", + "* sepal width\n", + "* petal length \n", + "* petal width\n", + " \n", + "The Iris data set has a number of interesting features:\n", + "\n", + "1. One of the classes (Iris Setosa) is linearly separable from the other two. However, the other two classes are not linearly separable.\n", + "\n", + "2. There is some overlap between the Versicolor and Virginica classes, so it is unlikely to achieve a perfect classification rate.\n", + "\n", + "3. There is some redundancy in the four input variables, so it is possible to achieve a good solution with only three of them, or even (with difficulty) from two, but the precise choice of best variables is not obvious.\n", + "\n", + "**Why am I using iris dataset:**\n", + "\n", + "1- This is a good project because it is so well understood.\n", + "\n", + "2- Attributes are numeric so you have to figure out how to load and handle data.\n", + "\n", + "3- It is a classification problem, allowing you to practice with perhaps an easier type of supervised learning algorithm.\n", + "\n", + "4- It is a multi-class classification problem (multi-nominal) that may require some specialized handling.\n", + "\n", + "5- It only has 4 attributes and 150 rows, meaning it is small and easily fits into memory (and a screen or A4 page).\n", + "\n", + "6- All of the numeric attributes are in the same units and the same scale, not requiring any special scaling or transforms to get started.[5]\n", + "\n", + "7- we can define problem as clustering(unsupervised algorithm) project too.\n", + "
\n", + "### 4-2 Aim\n", + "The aim is to classify iris flowers among three species (setosa, versicolor or virginica) from measurements of length and width of sepals and petals\n", + "
\n", + "### 4-3 Variables\n", + "The variables are :\n", + "**sepal_length**: Sepal length, in centimeters, used as input.\n", + "**sepal_width**: Sepal width, in centimeters, used as input.\n", + "**petal_length**: Petal length, in centimeters, used as input.\n", + "**petal_width**: Petal width, in centimeters, used as input.\n", + "**setosa**: Iris setosa, true or false, used as target.\n", + "**versicolour**: Iris versicolour, true or false, used as target.\n", + "**virginica**: Iris virginica, true or false, used as target.\n", + "\n", + "**<< Note >>**\n", + "> You must answer the following question:\n", + "How does your company expact to use and benfit from your model." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "dee35ee214871c7c9d22104aafc6587eb3d2aa1e" + }, + "source": [ + "
\n", + "## 5- Inputs & Outputs\n", + "
\n", + "### 5-1 Inputs\n", + "**Iris** is a very popular **classification** and **clustering** problem in machine learning and it is such as \"Hello world\" program when you start learning a new programming language. then I decided to apply Iris on 20 machine learning method on it.\n", + "The Iris flower data set or Fisher's Iris data set is a **multivariate data set** introduced by the British statistician and biologist Ronald Fisher in his 1936 paper The use of multiple measurements in taxonomic problems as an example of linear discriminant analysis. It is sometimes called Anderson's Iris data set because Edgar Anderson collected the data to quantify the morphologic variation of Iris flowers in three related species. Two of the three species were collected in the Gaspé Peninsula \"all from the same pasture, and picked on the same day and measured at the same time by the same person with the same apparatus\".\n", + "The data set consists of 50 samples from each of three species of Iris (Iris setosa, Iris virginica, and Iris versicolor). Four features were measured from each sample: the length and the width of the sepals and petals, in centimeters. Based on the combination of these four features, Fisher developed a linear discriminant model to distinguish the species from each other.\n", + "\n", + "As a result, **iris dataset is used as the input of all algorithms**.\n", + "
\n", + "### 5-2 Outputs\n", + "the outputs for our algorithms totally depend on the type of classification or clustering algorithms.\n", + "the outputs can be the number of clusters or predict for new input.\n", + "\n", + "**setosa**: Iris setosa, true or false, used as target.\n", + "**versicolour**: Iris versicolour, true or false, used as target.\n", + "**virginica**: Iris virginica, true or false, used as a target." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "18e6a0730989363caa069a745b5f3ea8b30766e9" + }, + "source": [ + "######
\n", + "## 6- Import packages" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "_uuid": "5b8aa15d1b11789c38f1dd19d5f06e4be054e525" + }, + "outputs": [], + "source": [ + "from sklearn.model_selection import train_test_split\n", + "from sklearn.metrics import classification_report\n", + "from sklearn.metrics import confusion_matrix\n", + "from sklearn.metrics import accuracy_score\n", + "from sklearn.decomposition import PCA\n", + "import matplotlib.pyplot as plt\n", + "from pandas import get_dummies\n", + "import plotly.graph_objs as go\n", + "from sklearn import datasets\n", + "import plotly.plotly as py\n", + "import seaborn as sns\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib\n", + "import warnings\n", + "import sklearn\n", + "import scipy\n", + "import numpy\n", + "import json\n", + "import sys\n", + "import csv\n", + "import os" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "_uuid": "49d5cacd5d0aeadd10836b930cdb43e0ed581a60" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "matplotlib: 2.2.3\n", + "sklearn: 0.20.0\n", + "scipy: 1.1.0\n", + "seaborn: 0.8.1\n", + "pandas: 0.23.4\n", + "numpy: 1.15.3\n", + "Python: 3.6.6 |Anaconda, Inc.| (default, Oct 9 2018, 12:34:16) \n", + "[GCC 7.3.0]\n" + ] + } + ], + "source": [ + "print('matplotlib: {}'.format(matplotlib.__version__))\n", + "print('sklearn: {}'.format(sklearn.__version__))\n", + "print('scipy: {}'.format(scipy.__version__))\n", + "print('seaborn: {}'.format(sns.__version__))\n", + "print('pandas: {}'.format(pd.__version__))\n", + "print('numpy: {}'.format(np.__version__))\n", + "print('Python: {}'.format(sys.version))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "e5c5a1da5ce973e4dce69388b76022b5f69e4c16" + }, + "source": [ + "
\n", + "## 6-1 Data Collection\n", + "**Data collection** is the process of gathering and measuring data, information or any variables of interest in a standardized and established manner that enables the collector to answer or test hypothesis and evaluate outcomes of the particular collection.[techopedia]\n", + "\n", + "**Iris dataset** consists of 3 different types of irises’ (Setosa, Versicolour, and Virginica) petal and sepal length, stored in a 150x4 numpy.ndarray\n", + "\n", + "The rows being the samples and the columns being: Sepal Length, Sepal Width, Petal Length and Petal Width.[6]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "_uuid": "1f4c3ec8ecd51cc0ae810666af8f93d6d1d27aaf" + }, + "outputs": [], + "source": [ + "# import Dataset to play with it\n", + "dataset = pd.read_csv('../input/Iris.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "a6db3370c16c7e91d1d1624bc88a35cde1f8f141" + }, + "source": [ + "**<< Note 1 >>**\n", + "\n", + "* Each row is an observation (also known as : sample, example, instance, record)\n", + "* Each column is a feature (also known as: Predictor, attribute, Independent Variable, input, regressor, Covariate)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "72cc7c7b60a33390a85b16bc34e3b9e424650cdd" + }, + "source": [ + "
\n", + "## 7- Model Deployment\n", + "In this section have been applied more than **20 learning algorithms** that play an important rule in your experiences and improve your knowledge in case of ML technique.\n", + "\n", + "> **<< Note 3 >>** : The results shown here may be slightly different for your analysis because, for example, the neural network algorithms use random number generators for fixing the initial value of the weights (starting points) of the neural networks, which often result in obtaining slightly different (local minima) solutions each time you run the analysis. Also note that changing the seed for the random number generator used to create the train, test, and validation samples can change your results." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "4b7788bbaaace438242d3b2d0d2ed489a91939ce" + }, + "source": [ + "## 7-1 Families of ML algorithms\n", + "There are several categories for machine learning algorithms, below are some of these categories:\n", + "* Linear\n", + " * Linear Regression\n", + " * Logistic Regression\n", + " * Support Vector Machines\n", + "* Tree-Based\n", + " * Decision Tree\n", + " * Random Forest\n", + " * GBDT\n", + "* KNN\n", + "* Neural Networks\n", + "\n", + "-----------------------------\n", + "And if we want to categorize ML algorithms with the type of learning, there are below type:\n", + "* Classification\n", + "\n", + " * k-Nearest \tNeighbors\n", + " * LinearRegression\n", + " * SVM\n", + " * DT \n", + " * NN\n", + " \n", + "* clustering\n", + "\n", + " * K-means\n", + " * HCA\n", + " * Expectation Maximization\n", + " \n", + "* Visualization \tand\tdimensionality \treduction:\n", + "\n", + " * Principal \tComponent \tAnalysis(PCA)\n", + " * Kernel PCA\n", + " * Locally -Linear\tEmbedding \t(LLE)\n", + " * t-distributed\tStochastic\tNeighbor\tEmbedding \t(t-SNE)\n", + " \n", + "* Association \trule\tlearning\n", + "\n", + " * Apriori\n", + " * Eclat\n", + "* Semisupervised learning\n", + "* Reinforcement Learning\n", + " * Q-learning\n", + "* Batch learning & Online learning\n", + "* Ensemble Learning\n", + "\n", + "**<< Note >>**\n", + "> Here is no method which outperforms all others for all tasks\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "daf9910caba26e071ff560dbdaca079ee148e140" + }, + "source": [ + "
\n", + "## 7-2 Prepare Features & Targets\n", + "First of all seperating the data into dependent(Feature) and independent(Target) variables.\n", + "\n", + "**<< Note 4 >>**\n", + "* X==>>Feature\n", + "* y==>>Target" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "b06cb1191a0f52a904c52a918d1f999536e79bda" + }, + "outputs": [], + "source": [ + "\n", + "X = dataset.iloc[:, :-1].values\n", + "y = dataset.iloc[:, -1].values\n", + "\n", + "# Splitting the dataset into the Training set and Test set\n", + "from sklearn.model_selection import train_test_split\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "be230bb37d65624a2be449771bd222620a54f99e" + }, + "source": [ + "After loading the data via **pandas**, we should checkout what the content is, description and via the following:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "ffc339dbf9c8da74194b994930694bd97bb2afbb" + }, + "source": [ + "
\n", + "## 7-3 RandomForest\n", + "A random forest is a meta estimator that **fits a number of decision tree classifiers** on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting. \n", + "\n", + "The sub-sample size is always the same as the original input sample size but the samples are drawn with replacement if bootstrap=True (default)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "8ed2305b51c2248a8aa62cf4452632f448e83771" + }, + "outputs": [], + "source": [ + "from sklearn.ensemble import RandomForestClassifier\n", + "Model=RandomForestClassifier(max_depth=2)\n", + "Model.fit(X_train,y_train)\n", + "y_pred=Model.predict(X_test)\n", + "print(classification_report(y_test,y_pred))\n", + "print(confusion_matrix(y_pred,y_test))\n", + "#Accuracy Score\n", + "print('accuracy is ',accuracy_score(y_pred,y_test))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "1311eb15f2afceed2219faeb859d0d07b7072176" + }, + "source": [ + "
\n", + "## 7-4 Bagging classifier \n", + "A Bagging classifier is an ensemble **meta-estimator** that fits base classifiers each on random subsets of the original dataset and then aggregate their individual predictions (either by voting or by averaging) to form a final prediction. Such a meta-estimator can typically be used as a way to reduce the variance of a black-box estimator (e.g., a decision tree), by introducing randomization into its construction procedure and then making an ensemble out of it.\n", + "\n", + "This algorithm encompasses several works from the literature. When random subsets of the dataset are drawn as random subsets of the samples, then this algorithm is known as Pasting . If samples are drawn with replacement, then the method is known as Bagging . When random subsets of the dataset are drawn as random subsets of the features, then the method is known as Random Subspaces . Finally, when base estimators are built on subsets of both samples and features, then the method is known as Random Patches .[http://scikit-learn.org]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "c11c731d3db6c1c81301da85dc158cb7d324c4cb" + }, + "outputs": [], + "source": [ + "from sklearn.ensemble import BaggingClassifier\n", + "Model=BaggingClassifier()\n", + "Model.fit(X_train,y_train)\n", + "y_pred=Model.predict(X_test)\n", + "print(classification_report(y_test,y_pred))\n", + "print(confusion_matrix(y_pred,y_test))\n", + "#Accuracy Score\n", + "print('accuracy is ',accuracy_score(y_pred,y_test))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "c0944bd32424f38906148d96f4b1e6fccfbf97a6" + }, + "source": [ + "
\n", + "## 7-5 AdaBoost classifier\n", + "\n", + "An AdaBoost classifier is a meta-estimator that begins by fitting a classifier on the original dataset and then fits additional copies of the classifier on the same dataset but where the weights of incorrectly classified instances are adjusted such that subsequent classifiers focus more on difficult cases.\n", + "This class implements the algorithm known as **AdaBoost-SAMME** ." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "938946ee8e017b982c4c06e193d4d13cb7d3fb5f" + }, + "outputs": [], + "source": [ + "from sklearn.ensemble import AdaBoostClassifier\n", + "Model=AdaBoostClassifier()\n", + "Model.fit(X_train,y_train)\n", + "y_pred=Model.predict(X_test)\n", + "print(classification_report(y_test,y_pred))\n", + "print(confusion_matrix(y_pred,y_test))\n", + "#Accuracy Score\n", + "print('accuracy is ',accuracy_score(y_pred,y_test))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "9d62842d12731d3eb1d6577c5b35c12c4886c708" + }, + "source": [ + "
\n", + "## 7-6 Gradient Boosting Classifier\n", + "GB builds an additive model in a forward stage-wise fashion; it allows for the optimization of arbitrary differentiable loss functions." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "863124561c0d1b5995d0b8d3702daa7bc364d6b0" + }, + "outputs": [], + "source": [ + "from sklearn.ensemble import GradientBoostingClassifier\n", + "Model=GradientBoostingClassifier()\n", + "Model.fit(X_train,y_train)\n", + "y_pred=Model.predict(X_test)\n", + "print(classification_report(y_test,y_pred))\n", + "print(confusion_matrix(y_pred,y_test))\n", + "#Accuracy Score\n", + "print('accuracy is ',accuracy_score(y_pred,y_test))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "e89b4494bd78c2d66beeba34a4e320fd8c9dae0c" + }, + "source": [ + "
\n", + "## 7-7 Linear Discriminant Analysis\n", + "Linear Discriminant Analysis (discriminant_analysis.LinearDiscriminantAnalysis) and Quadratic Discriminant Analysis (discriminant_analysis.QuadraticDiscriminantAnalysis) are two classic classifiers, with, as their names suggest, a **linear and a quadratic decision surface**, respectively.\n", + "\n", + "These classifiers are attractive because they have closed-form solutions that can be easily computed, are inherently multiclass, have proven to work well in practice, and have no **hyperparameters** to tune." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "0796cd9f1c902345df605b7557a9c3ff686e35a9" + }, + "outputs": [], + "source": [ + "from sklearn.discriminant_analysis import LinearDiscriminantAnalysis\n", + "Model=LinearDiscriminantAnalysis()\n", + "Model.fit(X_train,y_train)\n", + "y_pred=Model.predict(X_test)\n", + "print(classification_report(y_test,y_pred))\n", + "print(confusion_matrix(y_pred,y_test))\n", + "#Accuracy Score\n", + "print('accuracy is ',accuracy_score(y_pred,y_test))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "296137970fc94fa4a4eb4185cb5fa952b1985c57" + }, + "source": [ + "
\n", + "## 7-8 Quadratic Discriminant Analysis\n", + "A classifier with a quadratic decision boundary, generated by fitting class conditional densities to the data and using Bayes’ rule.\n", + "\n", + "The model fits a **Gaussian** density to each class." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_uuid": "5f521d19f295b8e8f24f5715e93b1c45e9a6bce3" + }, + "outputs": [], + "source": [ + "from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis\n", + "Model=QuadraticDiscriminantAnalysis()\n", + "Model.fit(X_train,y_train)\n", + "y_pred=Model.predict(X_test)\n", + "print(classification_report(y_test,y_pred))\n", + "print(confusion_matrix(y_pred,y_test))\n", + "#Accuracy Score\n", + "print('accuracy is ',accuracy_score(y_pred,y_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "_uuid": "c2844da02baa83d6341747942805cfde56b2805f" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "pandas.core.frame.DataFrame" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(dataset)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "afc2a360fedd783e5e9d7bbc975c9c6f06a2ee72" + }, + "source": [ + "
\n", + "# 9-Conclusion\n", + "* That XGBoost is a library for developing fast and high performance gradient boosting tree models.\n", + "* That XGBoost is achieving the best performance on a range of difficult machine learning tasks.\n", + "* That you can use this library from the command line, Python and R and how to get started.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "b132163ee07917a0ab100b93f6ed5545ce0de45d" + }, + "source": [ + "you can follow me on:\n", + "> ###### [ GitHub](https://github.com/mjbahmani)\n", + "> ###### [Kaggle](https://www.kaggle.com/mjbahmani/)\n", + "\n", + " **I hope you find this kernel helpful and some upvotes would be very much appreciated**\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "5719a5ba111b65b20b53d538281ac773eb14471a" + }, + "source": [ + "
\n", + "# 10-References" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "_uuid": "aab5b3d8cb417250dc6baa081a579106900effba" + }, + "source": [ + "* [1] [datacamp](https://www.datacamp.com/community/tutorials/xgboost-in-python)\n", + "* [2] [Xgboost presentation](https://www.oreilly.com/library/view/data-science-from/9781491901410/ch04.html)\n", + "* [3] [machinelearningmastery](https://machinelearningmastery.com/gentle-introduction-xgboost-applied-machine-learning/)\n", + "* [4] [analyticsvidhya](https://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tuning-xgboost-with-codes-python/)\n", + "* [5] [Github](https://github.com/mjbahmani)\n", + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/Youtube channels/Youtube channels list.txt b/Youtube channels/Youtube channels list.txt new file mode 100644 index 0000000..0ede7c7 --- /dev/null +++ b/Youtube channels/Youtube channels list.txt @@ -0,0 +1 @@ +Youtube channels list \ No newline at end of file diff --git a/input/Kernels.csv.zip b/input/Kernels.csv.zip new file mode 100644 index 0000000..177dbcf Binary files /dev/null and b/input/Kernels.csv.zip differ diff --git a/input/test.csv b/input/test.csv new file mode 100644 index 0000000..f705412 --- /dev/null +++ b/input/test.csv @@ -0,0 +1,419 @@ +PassengerId,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked +892,3,"Kelly, Mr. James",male,34.5,0,0,330911,7.8292,,Q +893,3,"Wilkes, Mrs. James (Ellen Needs)",female,47,1,0,363272,7,,S +894,2,"Myles, Mr. Thomas Francis",male,62,0,0,240276,9.6875,,Q +895,3,"Wirz, Mr. Albert",male,27,0,0,315154,8.6625,,S +896,3,"Hirvonen, Mrs. Alexander (Helga E Lindqvist)",female,22,1,1,3101298,12.2875,,S +897,3,"Svensson, Mr. Johan Cervin",male,14,0,0,7538,9.225,,S +898,3,"Connolly, Miss. Kate",female,30,0,0,330972,7.6292,,Q +899,2,"Caldwell, Mr. Albert Francis",male,26,1,1,248738,29,,S +900,3,"Abrahim, Mrs. Joseph (Sophie Halaut Easu)",female,18,0,0,2657,7.2292,,C +901,3,"Davies, Mr. John Samuel",male,21,2,0,A/4 48871,24.15,,S +902,3,"Ilieff, Mr. Ylio",male,,0,0,349220,7.8958,,S +903,1,"Jones, Mr. Charles Cresson",male,46,0,0,694,26,,S +904,1,"Snyder, Mrs. John Pillsbury (Nelle Stevenson)",female,23,1,0,21228,82.2667,B45,S +905,2,"Howard, Mr. Benjamin",male,63,1,0,24065,26,,S +906,1,"Chaffee, Mrs. Herbert Fuller (Carrie Constance Toogood)",female,47,1,0,W.E.P. 5734,61.175,E31,S +907,2,"del Carlo, Mrs. Sebastiano (Argenia Genovesi)",female,24,1,0,SC/PARIS 2167,27.7208,,C +908,2,"Keane, Mr. Daniel",male,35,0,0,233734,12.35,,Q +909,3,"Assaf, Mr. Gerios",male,21,0,0,2692,7.225,,C +910,3,"Ilmakangas, Miss. Ida Livija",female,27,1,0,STON/O2. 3101270,7.925,,S +911,3,"Assaf Khalil, Mrs. Mariana (Miriam"")""",female,45,0,0,2696,7.225,,C +912,1,"Rothschild, Mr. Martin",male,55,1,0,PC 17603,59.4,,C +913,3,"Olsen, Master. Artur Karl",male,9,0,1,C 17368,3.1708,,S +914,1,"Flegenheim, Mrs. Alfred (Antoinette)",female,,0,0,PC 17598,31.6833,,S +915,1,"Williams, Mr. Richard Norris II",male,21,0,1,PC 17597,61.3792,,C +916,1,"Ryerson, Mrs. Arthur Larned (Emily Maria Borie)",female,48,1,3,PC 17608,262.375,B57 B59 B63 B66,C +917,3,"Robins, Mr. Alexander A",male,50,1,0,A/5. 3337,14.5,,S +918,1,"Ostby, Miss. Helene Ragnhild",female,22,0,1,113509,61.9792,B36,C +919,3,"Daher, Mr. Shedid",male,22.5,0,0,2698,7.225,,C +920,1,"Brady, Mr. John Bertram",male,41,0,0,113054,30.5,A21,S +921,3,"Samaan, Mr. Elias",male,,2,0,2662,21.6792,,C +922,2,"Louch, Mr. Charles Alexander",male,50,1,0,SC/AH 3085,26,,S +923,2,"Jefferys, Mr. Clifford Thomas",male,24,2,0,C.A. 31029,31.5,,S +924,3,"Dean, Mrs. Bertram (Eva Georgetta Light)",female,33,1,2,C.A. 2315,20.575,,S +925,3,"Johnston, Mrs. Andrew G (Elizabeth Lily"" Watson)""",female,,1,2,W./C. 6607,23.45,,S +926,1,"Mock, Mr. Philipp Edmund",male,30,1,0,13236,57.75,C78,C +927,3,"Katavelas, Mr. Vassilios (Catavelas Vassilios"")""",male,18.5,0,0,2682,7.2292,,C +928,3,"Roth, Miss. Sarah A",female,,0,0,342712,8.05,,S +929,3,"Cacic, Miss. Manda",female,21,0,0,315087,8.6625,,S +930,3,"Sap, Mr. Julius",male,25,0,0,345768,9.5,,S +931,3,"Hee, Mr. Ling",male,,0,0,1601,56.4958,,S +932,3,"Karun, Mr. Franz",male,39,0,1,349256,13.4167,,C +933,1,"Franklin, Mr. Thomas Parham",male,,0,0,113778,26.55,D34,S +934,3,"Goldsmith, Mr. Nathan",male,41,0,0,SOTON/O.Q. 3101263,7.85,,S +935,2,"Corbett, Mrs. Walter H (Irene Colvin)",female,30,0,0,237249,13,,S +936,1,"Kimball, Mrs. Edwin Nelson Jr (Gertrude Parsons)",female,45,1,0,11753,52.5542,D19,S +937,3,"Peltomaki, Mr. Nikolai Johannes",male,25,0,0,STON/O 2. 3101291,7.925,,S +938,1,"Chevre, Mr. Paul Romaine",male,45,0,0,PC 17594,29.7,A9,C +939,3,"Shaughnessy, Mr. Patrick",male,,0,0,370374,7.75,,Q +940,1,"Bucknell, Mrs. William Robert (Emma Eliza Ward)",female,60,0,0,11813,76.2917,D15,C +941,3,"Coutts, Mrs. William (Winnie Minnie"" Treanor)""",female,36,0,2,C.A. 37671,15.9,,S +942,1,"Smith, Mr. Lucien Philip",male,24,1,0,13695,60,C31,S +943,2,"Pulbaum, Mr. Franz",male,27,0,0,SC/PARIS 2168,15.0333,,C +944,2,"Hocking, Miss. Ellen Nellie""""",female,20,2,1,29105,23,,S +945,1,"Fortune, Miss. Ethel Flora",female,28,3,2,19950,263,C23 C25 C27,S +946,2,"Mangiavacchi, Mr. Serafino Emilio",male,,0,0,SC/A.3 2861,15.5792,,C +947,3,"Rice, Master. Albert",male,10,4,1,382652,29.125,,Q +948,3,"Cor, Mr. Bartol",male,35,0,0,349230,7.8958,,S +949,3,"Abelseth, Mr. Olaus Jorgensen",male,25,0,0,348122,7.65,F G63,S +950,3,"Davison, Mr. Thomas Henry",male,,1,0,386525,16.1,,S +951,1,"Chaudanson, Miss. Victorine",female,36,0,0,PC 17608,262.375,B61,C +952,3,"Dika, Mr. Mirko",male,17,0,0,349232,7.8958,,S +953,2,"McCrae, Mr. Arthur Gordon",male,32,0,0,237216,13.5,,S +954,3,"Bjorklund, Mr. Ernst Herbert",male,18,0,0,347090,7.75,,S +955,3,"Bradley, Miss. Bridget Delia",female,22,0,0,334914,7.725,,Q +956,1,"Ryerson, Master. John Borie",male,13,2,2,PC 17608,262.375,B57 B59 B63 B66,C +957,2,"Corey, Mrs. Percy C (Mary Phyllis Elizabeth Miller)",female,,0,0,F.C.C. 13534,21,,S +958,3,"Burns, Miss. Mary Delia",female,18,0,0,330963,7.8792,,Q +959,1,"Moore, Mr. Clarence Bloomfield",male,47,0,0,113796,42.4,,S +960,1,"Tucker, Mr. Gilbert Milligan Jr",male,31,0,0,2543,28.5375,C53,C +961,1,"Fortune, Mrs. Mark (Mary McDougald)",female,60,1,4,19950,263,C23 C25 C27,S +962,3,"Mulvihill, Miss. Bertha E",female,24,0,0,382653,7.75,,Q +963,3,"Minkoff, Mr. Lazar",male,21,0,0,349211,7.8958,,S +964,3,"Nieminen, Miss. Manta Josefina",female,29,0,0,3101297,7.925,,S +965,1,"Ovies y Rodriguez, Mr. Servando",male,28.5,0,0,PC 17562,27.7208,D43,C +966,1,"Geiger, Miss. Amalie",female,35,0,0,113503,211.5,C130,C +967,1,"Keeping, Mr. Edwin",male,32.5,0,0,113503,211.5,C132,C +968,3,"Miles, Mr. Frank",male,,0,0,359306,8.05,,S +969,1,"Cornell, Mrs. Robert Clifford (Malvina Helen Lamson)",female,55,2,0,11770,25.7,C101,S +970,2,"Aldworth, Mr. Charles Augustus",male,30,0,0,248744,13,,S +971,3,"Doyle, Miss. Elizabeth",female,24,0,0,368702,7.75,,Q +972,3,"Boulos, Master. Akar",male,6,1,1,2678,15.2458,,C +973,1,"Straus, Mr. Isidor",male,67,1,0,PC 17483,221.7792,C55 C57,S +974,1,"Case, Mr. Howard Brown",male,49,0,0,19924,26,,S +975,3,"Demetri, Mr. Marinko",male,,0,0,349238,7.8958,,S +976,2,"Lamb, Mr. John Joseph",male,,0,0,240261,10.7083,,Q +977,3,"Khalil, Mr. Betros",male,,1,0,2660,14.4542,,C +978,3,"Barry, Miss. Julia",female,27,0,0,330844,7.8792,,Q +979,3,"Badman, Miss. Emily Louisa",female,18,0,0,A/4 31416,8.05,,S +980,3,"O'Donoghue, Ms. Bridget",female,,0,0,364856,7.75,,Q +981,2,"Wells, Master. Ralph Lester",male,2,1,1,29103,23,,S +982,3,"Dyker, Mrs. Adolf Fredrik (Anna Elisabeth Judith Andersson)",female,22,1,0,347072,13.9,,S +983,3,"Pedersen, Mr. Olaf",male,,0,0,345498,7.775,,S +984,1,"Davidson, Mrs. Thornton (Orian Hays)",female,27,1,2,F.C. 12750,52,B71,S +985,3,"Guest, Mr. Robert",male,,0,0,376563,8.05,,S +986,1,"Birnbaum, Mr. Jakob",male,25,0,0,13905,26,,C +987,3,"Tenglin, Mr. Gunnar Isidor",male,25,0,0,350033,7.7958,,S +988,1,"Cavendish, Mrs. Tyrell William (Julia Florence Siegel)",female,76,1,0,19877,78.85,C46,S +989,3,"Makinen, Mr. Kalle Edvard",male,29,0,0,STON/O 2. 3101268,7.925,,S +990,3,"Braf, Miss. Elin Ester Maria",female,20,0,0,347471,7.8542,,S +991,3,"Nancarrow, Mr. William Henry",male,33,0,0,A./5. 3338,8.05,,S +992,1,"Stengel, Mrs. Charles Emil Henry (Annie May Morris)",female,43,1,0,11778,55.4417,C116,C +993,2,"Weisz, Mr. Leopold",male,27,1,0,228414,26,,S +994,3,"Foley, Mr. William",male,,0,0,365235,7.75,,Q +995,3,"Johansson Palmquist, Mr. Oskar Leander",male,26,0,0,347070,7.775,,S +996,3,"Thomas, Mrs. Alexander (Thamine Thelma"")""",female,16,1,1,2625,8.5167,,C +997,3,"Holthen, Mr. Johan Martin",male,28,0,0,C 4001,22.525,,S +998,3,"Buckley, Mr. Daniel",male,21,0,0,330920,7.8208,,Q +999,3,"Ryan, Mr. Edward",male,,0,0,383162,7.75,,Q +1000,3,"Willer, Mr. Aaron (Abi Weller"")""",male,,0,0,3410,8.7125,,S +1001,2,"Swane, Mr. George",male,18.5,0,0,248734,13,F,S +1002,2,"Stanton, Mr. Samuel Ward",male,41,0,0,237734,15.0458,,C +1003,3,"Shine, Miss. Ellen Natalia",female,,0,0,330968,7.7792,,Q +1004,1,"Evans, Miss. Edith Corse",female,36,0,0,PC 17531,31.6792,A29,C +1005,3,"Buckley, Miss. Katherine",female,18.5,0,0,329944,7.2833,,Q +1006,1,"Straus, Mrs. Isidor (Rosalie Ida Blun)",female,63,1,0,PC 17483,221.7792,C55 C57,S +1007,3,"Chronopoulos, Mr. Demetrios",male,18,1,0,2680,14.4542,,C +1008,3,"Thomas, Mr. John",male,,0,0,2681,6.4375,,C +1009,3,"Sandstrom, Miss. Beatrice Irene",female,1,1,1,PP 9549,16.7,G6,S +1010,1,"Beattie, Mr. Thomson",male,36,0,0,13050,75.2417,C6,C +1011,2,"Chapman, Mrs. John Henry (Sara Elizabeth Lawry)",female,29,1,0,SC/AH 29037,26,,S +1012,2,"Watt, Miss. Bertha J",female,12,0,0,C.A. 33595,15.75,,S +1013,3,"Kiernan, Mr. John",male,,1,0,367227,7.75,,Q +1014,1,"Schabert, Mrs. Paul (Emma Mock)",female,35,1,0,13236,57.75,C28,C +1015,3,"Carver, Mr. Alfred John",male,28,0,0,392095,7.25,,S +1016,3,"Kennedy, Mr. John",male,,0,0,368783,7.75,,Q +1017,3,"Cribb, Miss. Laura Alice",female,17,0,1,371362,16.1,,S +1018,3,"Brobeck, Mr. Karl Rudolf",male,22,0,0,350045,7.7958,,S +1019,3,"McCoy, Miss. Alicia",female,,2,0,367226,23.25,,Q +1020,2,"Bowenur, Mr. Solomon",male,42,0,0,211535,13,,S +1021,3,"Petersen, Mr. Marius",male,24,0,0,342441,8.05,,S +1022,3,"Spinner, Mr. Henry John",male,32,0,0,STON/OQ. 369943,8.05,,S +1023,1,"Gracie, Col. Archibald IV",male,53,0,0,113780,28.5,C51,C +1024,3,"Lefebre, Mrs. Frank (Frances)",female,,0,4,4133,25.4667,,S +1025,3,"Thomas, Mr. Charles P",male,,1,0,2621,6.4375,,C +1026,3,"Dintcheff, Mr. Valtcho",male,43,0,0,349226,7.8958,,S +1027,3,"Carlsson, Mr. Carl Robert",male,24,0,0,350409,7.8542,,S +1028,3,"Zakarian, Mr. Mapriededer",male,26.5,0,0,2656,7.225,,C +1029,2,"Schmidt, Mr. August",male,26,0,0,248659,13,,S +1030,3,"Drapkin, Miss. Jennie",female,23,0,0,SOTON/OQ 392083,8.05,,S +1031,3,"Goodwin, Mr. Charles Frederick",male,40,1,6,CA 2144,46.9,,S +1032,3,"Goodwin, Miss. Jessie Allis",female,10,5,2,CA 2144,46.9,,S +1033,1,"Daniels, Miss. Sarah",female,33,0,0,113781,151.55,,S +1034,1,"Ryerson, Mr. Arthur Larned",male,61,1,3,PC 17608,262.375,B57 B59 B63 B66,C +1035,2,"Beauchamp, Mr. Henry James",male,28,0,0,244358,26,,S +1036,1,"Lindeberg-Lind, Mr. Erik Gustaf (Mr Edward Lingrey"")""",male,42,0,0,17475,26.55,,S +1037,3,"Vander Planke, Mr. Julius",male,31,3,0,345763,18,,S +1038,1,"Hilliard, Mr. Herbert Henry",male,,0,0,17463,51.8625,E46,S +1039,3,"Davies, Mr. Evan",male,22,0,0,SC/A4 23568,8.05,,S +1040,1,"Crafton, Mr. John Bertram",male,,0,0,113791,26.55,,S +1041,2,"Lahtinen, Rev. William",male,30,1,1,250651,26,,S +1042,1,"Earnshaw, Mrs. Boulton (Olive Potter)",female,23,0,1,11767,83.1583,C54,C +1043,3,"Matinoff, Mr. Nicola",male,,0,0,349255,7.8958,,C +1044,3,"Storey, Mr. Thomas",male,60.5,0,0,3701,,,S +1045,3,"Klasen, Mrs. (Hulda Kristina Eugenia Lofqvist)",female,36,0,2,350405,12.1833,,S +1046,3,"Asplund, Master. Filip Oscar",male,13,4,2,347077,31.3875,,S +1047,3,"Duquemin, Mr. Joseph",male,24,0,0,S.O./P.P. 752,7.55,,S +1048,1,"Bird, Miss. Ellen",female,29,0,0,PC 17483,221.7792,C97,S +1049,3,"Lundin, Miss. Olga Elida",female,23,0,0,347469,7.8542,,S +1050,1,"Borebank, Mr. John James",male,42,0,0,110489,26.55,D22,S +1051,3,"Peacock, Mrs. Benjamin (Edith Nile)",female,26,0,2,SOTON/O.Q. 3101315,13.775,,S +1052,3,"Smyth, Miss. Julia",female,,0,0,335432,7.7333,,Q +1053,3,"Touma, Master. Georges Youssef",male,7,1,1,2650,15.2458,,C +1054,2,"Wright, Miss. Marion",female,26,0,0,220844,13.5,,S +1055,3,"Pearce, Mr. Ernest",male,,0,0,343271,7,,S +1056,2,"Peruschitz, Rev. Joseph Maria",male,41,0,0,237393,13,,S +1057,3,"Kink-Heilmann, Mrs. Anton (Luise Heilmann)",female,26,1,1,315153,22.025,,S +1058,1,"Brandeis, Mr. Emil",male,48,0,0,PC 17591,50.4958,B10,C +1059,3,"Ford, Mr. Edward Watson",male,18,2,2,W./C. 6608,34.375,,S +1060,1,"Cassebeer, Mrs. Henry Arthur Jr (Eleanor Genevieve Fosdick)",female,,0,0,17770,27.7208,,C +1061,3,"Hellstrom, Miss. Hilda Maria",female,22,0,0,7548,8.9625,,S +1062,3,"Lithman, Mr. Simon",male,,0,0,S.O./P.P. 251,7.55,,S +1063,3,"Zakarian, Mr. Ortin",male,27,0,0,2670,7.225,,C +1064,3,"Dyker, Mr. Adolf Fredrik",male,23,1,0,347072,13.9,,S +1065,3,"Torfa, Mr. Assad",male,,0,0,2673,7.2292,,C +1066,3,"Asplund, Mr. Carl Oscar Vilhelm Gustafsson",male,40,1,5,347077,31.3875,,S +1067,2,"Brown, Miss. Edith Eileen",female,15,0,2,29750,39,,S +1068,2,"Sincock, Miss. Maude",female,20,0,0,C.A. 33112,36.75,,S +1069,1,"Stengel, Mr. Charles Emil Henry",male,54,1,0,11778,55.4417,C116,C +1070,2,"Becker, Mrs. Allen Oliver (Nellie E Baumgardner)",female,36,0,3,230136,39,F4,S +1071,1,"Compton, Mrs. Alexander Taylor (Mary Eliza Ingersoll)",female,64,0,2,PC 17756,83.1583,E45,C +1072,2,"McCrie, Mr. James Matthew",male,30,0,0,233478,13,,S +1073,1,"Compton, Mr. Alexander Taylor Jr",male,37,1,1,PC 17756,83.1583,E52,C +1074,1,"Marvin, Mrs. Daniel Warner (Mary Graham Carmichael Farquarson)",female,18,1,0,113773,53.1,D30,S +1075,3,"Lane, Mr. Patrick",male,,0,0,7935,7.75,,Q +1076,1,"Douglas, Mrs. Frederick Charles (Mary Helene Baxter)",female,27,1,1,PC 17558,247.5208,B58 B60,C +1077,2,"Maybery, Mr. Frank Hubert",male,40,0,0,239059,16,,S +1078,2,"Phillips, Miss. Alice Frances Louisa",female,21,0,1,S.O./P.P. 2,21,,S +1079,3,"Davies, Mr. Joseph",male,17,2,0,A/4 48873,8.05,,S +1080,3,"Sage, Miss. Ada",female,,8,2,CA. 2343,69.55,,S +1081,2,"Veal, Mr. James",male,40,0,0,28221,13,,S +1082,2,"Angle, Mr. William A",male,34,1,0,226875,26,,S +1083,1,"Salomon, Mr. Abraham L",male,,0,0,111163,26,,S +1084,3,"van Billiard, Master. Walter John",male,11.5,1,1,A/5. 851,14.5,,S +1085,2,"Lingane, Mr. John",male,61,0,0,235509,12.35,,Q +1086,2,"Drew, Master. Marshall Brines",male,8,0,2,28220,32.5,,S +1087,3,"Karlsson, Mr. Julius Konrad Eugen",male,33,0,0,347465,7.8542,,S +1088,1,"Spedden, Master. Robert Douglas",male,6,0,2,16966,134.5,E34,C +1089,3,"Nilsson, Miss. Berta Olivia",female,18,0,0,347066,7.775,,S +1090,2,"Baimbrigge, Mr. Charles Robert",male,23,0,0,C.A. 31030,10.5,,S +1091,3,"Rasmussen, Mrs. (Lena Jacobsen Solvang)",female,,0,0,65305,8.1125,,S +1092,3,"Murphy, Miss. Nora",female,,0,0,36568,15.5,,Q +1093,3,"Danbom, Master. Gilbert Sigvard Emanuel",male,0.33,0,2,347080,14.4,,S +1094,1,"Astor, Col. John Jacob",male,47,1,0,PC 17757,227.525,C62 C64,C +1095,2,"Quick, Miss. Winifred Vera",female,8,1,1,26360,26,,S +1096,2,"Andrew, Mr. Frank Thomas",male,25,0,0,C.A. 34050,10.5,,S +1097,1,"Omont, Mr. Alfred Fernand",male,,0,0,F.C. 12998,25.7417,,C +1098,3,"McGowan, Miss. Katherine",female,35,0,0,9232,7.75,,Q +1099,2,"Collett, Mr. Sidney C Stuart",male,24,0,0,28034,10.5,,S +1100,1,"Rosenbaum, Miss. Edith Louise",female,33,0,0,PC 17613,27.7208,A11,C +1101,3,"Delalic, Mr. Redjo",male,25,0,0,349250,7.8958,,S +1102,3,"Andersen, Mr. Albert Karvin",male,32,0,0,C 4001,22.525,,S +1103,3,"Finoli, Mr. Luigi",male,,0,0,SOTON/O.Q. 3101308,7.05,,S +1104,2,"Deacon, Mr. Percy William",male,17,0,0,S.O.C. 14879,73.5,,S +1105,2,"Howard, Mrs. Benjamin (Ellen Truelove Arman)",female,60,1,0,24065,26,,S +1106,3,"Andersson, Miss. Ida Augusta Margareta",female,38,4,2,347091,7.775,,S +1107,1,"Head, Mr. Christopher",male,42,0,0,113038,42.5,B11,S +1108,3,"Mahon, Miss. Bridget Delia",female,,0,0,330924,7.8792,,Q +1109,1,"Wick, Mr. George Dennick",male,57,1,1,36928,164.8667,,S +1110,1,"Widener, Mrs. George Dunton (Eleanor Elkins)",female,50,1,1,113503,211.5,C80,C +1111,3,"Thomson, Mr. Alexander Morrison",male,,0,0,32302,8.05,,S +1112,2,"Duran y More, Miss. Florentina",female,30,1,0,SC/PARIS 2148,13.8583,,C +1113,3,"Reynolds, Mr. Harold J",male,21,0,0,342684,8.05,,S +1114,2,"Cook, Mrs. (Selena Rogers)",female,22,0,0,W./C. 14266,10.5,F33,S +1115,3,"Karlsson, Mr. Einar Gervasius",male,21,0,0,350053,7.7958,,S +1116,1,"Candee, Mrs. Edward (Helen Churchill Hungerford)",female,53,0,0,PC 17606,27.4458,,C +1117,3,"Moubarek, Mrs. George (Omine Amenia"" Alexander)""",female,,0,2,2661,15.2458,,C +1118,3,"Asplund, Mr. Johan Charles",male,23,0,0,350054,7.7958,,S +1119,3,"McNeill, Miss. Bridget",female,,0,0,370368,7.75,,Q +1120,3,"Everett, Mr. Thomas James",male,40.5,0,0,C.A. 6212,15.1,,S +1121,2,"Hocking, Mr. Samuel James Metcalfe",male,36,0,0,242963,13,,S +1122,2,"Sweet, Mr. George Frederick",male,14,0,0,220845,65,,S +1123,1,"Willard, Miss. Constance",female,21,0,0,113795,26.55,,S +1124,3,"Wiklund, Mr. Karl Johan",male,21,1,0,3101266,6.4958,,S +1125,3,"Linehan, Mr. Michael",male,,0,0,330971,7.8792,,Q +1126,1,"Cumings, Mr. John Bradley",male,39,1,0,PC 17599,71.2833,C85,C +1127,3,"Vendel, Mr. Olof Edvin",male,20,0,0,350416,7.8542,,S +1128,1,"Warren, Mr. Frank Manley",male,64,1,0,110813,75.25,D37,C +1129,3,"Baccos, Mr. Raffull",male,20,0,0,2679,7.225,,C +1130,2,"Hiltunen, Miss. Marta",female,18,1,1,250650,13,,S +1131,1,"Douglas, Mrs. Walter Donald (Mahala Dutton)",female,48,1,0,PC 17761,106.425,C86,C +1132,1,"Lindstrom, Mrs. Carl Johan (Sigrid Posse)",female,55,0,0,112377,27.7208,,C +1133,2,"Christy, Mrs. (Alice Frances)",female,45,0,2,237789,30,,S +1134,1,"Spedden, Mr. Frederic Oakley",male,45,1,1,16966,134.5,E34,C +1135,3,"Hyman, Mr. Abraham",male,,0,0,3470,7.8875,,S +1136,3,"Johnston, Master. William Arthur Willie""""",male,,1,2,W./C. 6607,23.45,,S +1137,1,"Kenyon, Mr. Frederick R",male,41,1,0,17464,51.8625,D21,S +1138,2,"Karnes, Mrs. J Frank (Claire Bennett)",female,22,0,0,F.C.C. 13534,21,,S +1139,2,"Drew, Mr. James Vivian",male,42,1,1,28220,32.5,,S +1140,2,"Hold, Mrs. Stephen (Annie Margaret Hill)",female,29,1,0,26707,26,,S +1141,3,"Khalil, Mrs. Betros (Zahie Maria"" Elias)""",female,,1,0,2660,14.4542,,C +1142,2,"West, Miss. Barbara J",female,0.92,1,2,C.A. 34651,27.75,,S +1143,3,"Abrahamsson, Mr. Abraham August Johannes",male,20,0,0,SOTON/O2 3101284,7.925,,S +1144,1,"Clark, Mr. Walter Miller",male,27,1,0,13508,136.7792,C89,C +1145,3,"Salander, Mr. Karl Johan",male,24,0,0,7266,9.325,,S +1146,3,"Wenzel, Mr. Linhart",male,32.5,0,0,345775,9.5,,S +1147,3,"MacKay, Mr. George William",male,,0,0,C.A. 42795,7.55,,S +1148,3,"Mahon, Mr. John",male,,0,0,AQ/4 3130,7.75,,Q +1149,3,"Niklasson, Mr. Samuel",male,28,0,0,363611,8.05,,S +1150,2,"Bentham, Miss. Lilian W",female,19,0,0,28404,13,,S +1151,3,"Midtsjo, Mr. Karl Albert",male,21,0,0,345501,7.775,,S +1152,3,"de Messemaeker, Mr. Guillaume Joseph",male,36.5,1,0,345572,17.4,,S +1153,3,"Nilsson, Mr. August Ferdinand",male,21,0,0,350410,7.8542,,S +1154,2,"Wells, Mrs. Arthur Henry (Addie"" Dart Trevaskis)""",female,29,0,2,29103,23,,S +1155,3,"Klasen, Miss. Gertrud Emilia",female,1,1,1,350405,12.1833,,S +1156,2,"Portaluppi, Mr. Emilio Ilario Giuseppe",male,30,0,0,C.A. 34644,12.7375,,C +1157,3,"Lyntakoff, Mr. Stanko",male,,0,0,349235,7.8958,,S +1158,1,"Chisholm, Mr. Roderick Robert Crispin",male,,0,0,112051,0,,S +1159,3,"Warren, Mr. Charles William",male,,0,0,C.A. 49867,7.55,,S +1160,3,"Howard, Miss. May Elizabeth",female,,0,0,A. 2. 39186,8.05,,S +1161,3,"Pokrnic, Mr. Mate",male,17,0,0,315095,8.6625,,S +1162,1,"McCaffry, Mr. Thomas Francis",male,46,0,0,13050,75.2417,C6,C +1163,3,"Fox, Mr. Patrick",male,,0,0,368573,7.75,,Q +1164,1,"Clark, Mrs. Walter Miller (Virginia McDowell)",female,26,1,0,13508,136.7792,C89,C +1165,3,"Lennon, Miss. Mary",female,,1,0,370371,15.5,,Q +1166,3,"Saade, Mr. Jean Nassr",male,,0,0,2676,7.225,,C +1167,2,"Bryhl, Miss. Dagmar Jenny Ingeborg ",female,20,1,0,236853,26,,S +1168,2,"Parker, Mr. Clifford Richard",male,28,0,0,SC 14888,10.5,,S +1169,2,"Faunthorpe, Mr. Harry",male,40,1,0,2926,26,,S +1170,2,"Ware, Mr. John James",male,30,1,0,CA 31352,21,,S +1171,2,"Oxenham, Mr. Percy Thomas",male,22,0,0,W./C. 14260,10.5,,S +1172,3,"Oreskovic, Miss. Jelka",female,23,0,0,315085,8.6625,,S +1173,3,"Peacock, Master. Alfred Edward",male,0.75,1,1,SOTON/O.Q. 3101315,13.775,,S +1174,3,"Fleming, Miss. Honora",female,,0,0,364859,7.75,,Q +1175,3,"Touma, Miss. Maria Youssef",female,9,1,1,2650,15.2458,,C +1176,3,"Rosblom, Miss. Salli Helena",female,2,1,1,370129,20.2125,,S +1177,3,"Dennis, Mr. William",male,36,0,0,A/5 21175,7.25,,S +1178,3,"Franklin, Mr. Charles (Charles Fardon)",male,,0,0,SOTON/O.Q. 3101314,7.25,,S +1179,1,"Snyder, Mr. John Pillsbury",male,24,1,0,21228,82.2667,B45,S +1180,3,"Mardirosian, Mr. Sarkis",male,,0,0,2655,7.2292,F E46,C +1181,3,"Ford, Mr. Arthur",male,,0,0,A/5 1478,8.05,,S +1182,1,"Rheims, Mr. George Alexander Lucien",male,,0,0,PC 17607,39.6,,S +1183,3,"Daly, Miss. Margaret Marcella Maggie""""",female,30,0,0,382650,6.95,,Q +1184,3,"Nasr, Mr. Mustafa",male,,0,0,2652,7.2292,,C +1185,1,"Dodge, Dr. Washington",male,53,1,1,33638,81.8583,A34,S +1186,3,"Wittevrongel, Mr. Camille",male,36,0,0,345771,9.5,,S +1187,3,"Angheloff, Mr. Minko",male,26,0,0,349202,7.8958,,S +1188,2,"Laroche, Miss. Louise",female,1,1,2,SC/Paris 2123,41.5792,,C +1189,3,"Samaan, Mr. Hanna",male,,2,0,2662,21.6792,,C +1190,1,"Loring, Mr. Joseph Holland",male,30,0,0,113801,45.5,,S +1191,3,"Johansson, Mr. Nils",male,29,0,0,347467,7.8542,,S +1192,3,"Olsson, Mr. Oscar Wilhelm",male,32,0,0,347079,7.775,,S +1193,2,"Malachard, Mr. Noel",male,,0,0,237735,15.0458,D,C +1194,2,"Phillips, Mr. Escott Robert",male,43,0,1,S.O./P.P. 2,21,,S +1195,3,"Pokrnic, Mr. Tome",male,24,0,0,315092,8.6625,,S +1196,3,"McCarthy, Miss. Catherine Katie""""",female,,0,0,383123,7.75,,Q +1197,1,"Crosby, Mrs. Edward Gifford (Catherine Elizabeth Halstead)",female,64,1,1,112901,26.55,B26,S +1198,1,"Allison, Mr. Hudson Joshua Creighton",male,30,1,2,113781,151.55,C22 C26,S +1199,3,"Aks, Master. Philip Frank",male,0.83,0,1,392091,9.35,,S +1200,1,"Hays, Mr. Charles Melville",male,55,1,1,12749,93.5,B69,S +1201,3,"Hansen, Mrs. Claus Peter (Jennie L Howard)",female,45,1,0,350026,14.1083,,S +1202,3,"Cacic, Mr. Jego Grga",male,18,0,0,315091,8.6625,,S +1203,3,"Vartanian, Mr. David",male,22,0,0,2658,7.225,,C +1204,3,"Sadowitz, Mr. Harry",male,,0,0,LP 1588,7.575,,S +1205,3,"Carr, Miss. Jeannie",female,37,0,0,368364,7.75,,Q +1206,1,"White, Mrs. John Stuart (Ella Holmes)",female,55,0,0,PC 17760,135.6333,C32,C +1207,3,"Hagardon, Miss. Kate",female,17,0,0,AQ/3. 30631,7.7333,,Q +1208,1,"Spencer, Mr. William Augustus",male,57,1,0,PC 17569,146.5208,B78,C +1209,2,"Rogers, Mr. Reginald Harry",male,19,0,0,28004,10.5,,S +1210,3,"Jonsson, Mr. Nils Hilding",male,27,0,0,350408,7.8542,,S +1211,2,"Jefferys, Mr. Ernest Wilfred",male,22,2,0,C.A. 31029,31.5,,S +1212,3,"Andersson, Mr. Johan Samuel",male,26,0,0,347075,7.775,,S +1213,3,"Krekorian, Mr. Neshan",male,25,0,0,2654,7.2292,F E57,C +1214,2,"Nesson, Mr. Israel",male,26,0,0,244368,13,F2,S +1215,1,"Rowe, Mr. Alfred G",male,33,0,0,113790,26.55,,S +1216,1,"Kreuchen, Miss. Emilie",female,39,0,0,24160,211.3375,,S +1217,3,"Assam, Mr. Ali",male,23,0,0,SOTON/O.Q. 3101309,7.05,,S +1218,2,"Becker, Miss. Ruth Elizabeth",female,12,2,1,230136,39,F4,S +1219,1,"Rosenshine, Mr. George (Mr George Thorne"")""",male,46,0,0,PC 17585,79.2,,C +1220,2,"Clarke, Mr. Charles Valentine",male,29,1,0,2003,26,,S +1221,2,"Enander, Mr. Ingvar",male,21,0,0,236854,13,,S +1222,2,"Davies, Mrs. John Morgan (Elizabeth Agnes Mary White) ",female,48,0,2,C.A. 33112,36.75,,S +1223,1,"Dulles, Mr. William Crothers",male,39,0,0,PC 17580,29.7,A18,C +1224,3,"Thomas, Mr. Tannous",male,,0,0,2684,7.225,,C +1225,3,"Nakid, Mrs. Said (Waika Mary"" Mowad)""",female,19,1,1,2653,15.7417,,C +1226,3,"Cor, Mr. Ivan",male,27,0,0,349229,7.8958,,S +1227,1,"Maguire, Mr. John Edward",male,30,0,0,110469,26,C106,S +1228,2,"de Brito, Mr. Jose Joaquim",male,32,0,0,244360,13,,S +1229,3,"Elias, Mr. Joseph",male,39,0,2,2675,7.2292,,C +1230,2,"Denbury, Mr. Herbert",male,25,0,0,C.A. 31029,31.5,,S +1231,3,"Betros, Master. Seman",male,,0,0,2622,7.2292,,C +1232,2,"Fillbrook, Mr. Joseph Charles",male,18,0,0,C.A. 15185,10.5,,S +1233,3,"Lundstrom, Mr. Thure Edvin",male,32,0,0,350403,7.5792,,S +1234,3,"Sage, Mr. John George",male,,1,9,CA. 2343,69.55,,S +1235,1,"Cardeza, Mrs. James Warburton Martinez (Charlotte Wardle Drake)",female,58,0,1,PC 17755,512.3292,B51 B53 B55,C +1236,3,"van Billiard, Master. James William",male,,1,1,A/5. 851,14.5,,S +1237,3,"Abelseth, Miss. Karen Marie",female,16,0,0,348125,7.65,,S +1238,2,"Botsford, Mr. William Hull",male,26,0,0,237670,13,,S +1239,3,"Whabee, Mrs. George Joseph (Shawneene Abi-Saab)",female,38,0,0,2688,7.2292,,C +1240,2,"Giles, Mr. Ralph",male,24,0,0,248726,13.5,,S +1241,2,"Walcroft, Miss. Nellie",female,31,0,0,F.C.C. 13528,21,,S +1242,1,"Greenfield, Mrs. Leo David (Blanche Strouse)",female,45,0,1,PC 17759,63.3583,D10 D12,C +1243,2,"Stokes, Mr. Philip Joseph",male,25,0,0,F.C.C. 13540,10.5,,S +1244,2,"Dibden, Mr. William",male,18,0,0,S.O.C. 14879,73.5,,S +1245,2,"Herman, Mr. Samuel",male,49,1,2,220845,65,,S +1246,3,"Dean, Miss. Elizabeth Gladys Millvina""""",female,0.17,1,2,C.A. 2315,20.575,,S +1247,1,"Julian, Mr. Henry Forbes",male,50,0,0,113044,26,E60,S +1248,1,"Brown, Mrs. John Murray (Caroline Lane Lamson)",female,59,2,0,11769,51.4792,C101,S +1249,3,"Lockyer, Mr. Edward",male,,0,0,1222,7.8792,,S +1250,3,"O'Keefe, Mr. Patrick",male,,0,0,368402,7.75,,Q +1251,3,"Lindell, Mrs. Edvard Bengtsson (Elin Gerda Persson)",female,30,1,0,349910,15.55,,S +1252,3,"Sage, Master. William Henry",male,14.5,8,2,CA. 2343,69.55,,S +1253,2,"Mallet, Mrs. Albert (Antoinette Magnin)",female,24,1,1,S.C./PARIS 2079,37.0042,,C +1254,2,"Ware, Mrs. John James (Florence Louise Long)",female,31,0,0,CA 31352,21,,S +1255,3,"Strilic, Mr. Ivan",male,27,0,0,315083,8.6625,,S +1256,1,"Harder, Mrs. George Achilles (Dorothy Annan)",female,25,1,0,11765,55.4417,E50,C +1257,3,"Sage, Mrs. John (Annie Bullen)",female,,1,9,CA. 2343,69.55,,S +1258,3,"Caram, Mr. Joseph",male,,1,0,2689,14.4583,,C +1259,3,"Riihivouri, Miss. Susanna Juhantytar Sanni""""",female,22,0,0,3101295,39.6875,,S +1260,1,"Gibson, Mrs. Leonard (Pauline C Boeson)",female,45,0,1,112378,59.4,,C +1261,2,"Pallas y Castello, Mr. Emilio",male,29,0,0,SC/PARIS 2147,13.8583,,C +1262,2,"Giles, Mr. Edgar",male,21,1,0,28133,11.5,,S +1263,1,"Wilson, Miss. Helen Alice",female,31,0,0,16966,134.5,E39 E41,C +1264,1,"Ismay, Mr. Joseph Bruce",male,49,0,0,112058,0,B52 B54 B56,S +1265,2,"Harbeck, Mr. William H",male,44,0,0,248746,13,,S +1266,1,"Dodge, Mrs. Washington (Ruth Vidaver)",female,54,1,1,33638,81.8583,A34,S +1267,1,"Bowen, Miss. Grace Scott",female,45,0,0,PC 17608,262.375,,C +1268,3,"Kink, Miss. Maria",female,22,2,0,315152,8.6625,,S +1269,2,"Cotterill, Mr. Henry Harry""""",male,21,0,0,29107,11.5,,S +1270,1,"Hipkins, Mr. William Edward",male,55,0,0,680,50,C39,S +1271,3,"Asplund, Master. Carl Edgar",male,5,4,2,347077,31.3875,,S +1272,3,"O'Connor, Mr. Patrick",male,,0,0,366713,7.75,,Q +1273,3,"Foley, Mr. Joseph",male,26,0,0,330910,7.8792,,Q +1274,3,"Risien, Mrs. Samuel (Emma)",female,,0,0,364498,14.5,,S +1275,3,"McNamee, Mrs. Neal (Eileen O'Leary)",female,19,1,0,376566,16.1,,S +1276,2,"Wheeler, Mr. Edwin Frederick""""",male,,0,0,SC/PARIS 2159,12.875,,S +1277,2,"Herman, Miss. Kate",female,24,1,2,220845,65,,S +1278,3,"Aronsson, Mr. Ernst Axel Algot",male,24,0,0,349911,7.775,,S +1279,2,"Ashby, Mr. John",male,57,0,0,244346,13,,S +1280,3,"Canavan, Mr. Patrick",male,21,0,0,364858,7.75,,Q +1281,3,"Palsson, Master. Paul Folke",male,6,3,1,349909,21.075,,S +1282,1,"Payne, Mr. Vivian Ponsonby",male,23,0,0,12749,93.5,B24,S +1283,1,"Lines, Mrs. Ernest H (Elizabeth Lindsey James)",female,51,0,1,PC 17592,39.4,D28,S +1284,3,"Abbott, Master. Eugene Joseph",male,13,0,2,C.A. 2673,20.25,,S +1285,2,"Gilbert, Mr. William",male,47,0,0,C.A. 30769,10.5,,S +1286,3,"Kink-Heilmann, Mr. Anton",male,29,3,1,315153,22.025,,S +1287,1,"Smith, Mrs. Lucien Philip (Mary Eloise Hughes)",female,18,1,0,13695,60,C31,S +1288,3,"Colbert, Mr. Patrick",male,24,0,0,371109,7.25,,Q +1289,1,"Frolicher-Stehli, Mrs. Maxmillian (Margaretha Emerentia Stehli)",female,48,1,1,13567,79.2,B41,C +1290,3,"Larsson-Rondberg, Mr. Edvard A",male,22,0,0,347065,7.775,,S +1291,3,"Conlon, Mr. Thomas Henry",male,31,0,0,21332,7.7333,,Q +1292,1,"Bonnell, Miss. Caroline",female,30,0,0,36928,164.8667,C7,S +1293,2,"Gale, Mr. Harry",male,38,1,0,28664,21,,S +1294,1,"Gibson, Miss. Dorothy Winifred",female,22,0,1,112378,59.4,,C +1295,1,"Carrau, Mr. Jose Pedro",male,17,0,0,113059,47.1,,S +1296,1,"Frauenthal, Mr. Isaac Gerald",male,43,1,0,17765,27.7208,D40,C +1297,2,"Nourney, Mr. Alfred (Baron von Drachstedt"")""",male,20,0,0,SC/PARIS 2166,13.8625,D38,C +1298,2,"Ware, Mr. William Jeffery",male,23,1,0,28666,10.5,,S +1299,1,"Widener, Mr. George Dunton",male,50,1,1,113503,211.5,C80,C +1300,3,"Riordan, Miss. Johanna Hannah""""",female,,0,0,334915,7.7208,,Q +1301,3,"Peacock, Miss. Treasteall",female,3,1,1,SOTON/O.Q. 3101315,13.775,,S +1302,3,"Naughton, Miss. Hannah",female,,0,0,365237,7.75,,Q +1303,1,"Minahan, Mrs. William Edward (Lillian E Thorpe)",female,37,1,0,19928,90,C78,Q +1304,3,"Henriksson, Miss. Jenny Lovisa",female,28,0,0,347086,7.775,,S +1305,3,"Spector, Mr. Woolf",male,,0,0,A.5. 3236,8.05,,S +1306,1,"Oliva y Ocana, Dona. Fermina",female,39,0,0,PC 17758,108.9,C105,C +1307,3,"Saether, Mr. Simon Sivertsen",male,38.5,0,0,SOTON/O.Q. 3101262,7.25,,S +1308,3,"Ware, Mr. Frederick",male,,0,0,359309,8.05,,S +1309,3,"Peter, Master. Michael J",male,,1,1,2668,22.3583,,C diff --git a/input/train.csv b/input/train.csv new file mode 100644 index 0000000..63b68ab --- /dev/null +++ b/input/train.csv @@ -0,0 +1,892 @@ +PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked +1,0,3,"Braund, Mr. Owen Harris",male,22,1,0,A/5 21171,7.25,,S +2,1,1,"Cumings, Mrs. John Bradley (Florence Briggs Thayer)",female,38,1,0,PC 17599,71.2833,C85,C +3,1,3,"Heikkinen, Miss. Laina",female,26,0,0,STON/O2. 3101282,7.925,,S +4,1,1,"Futrelle, Mrs. Jacques Heath (Lily May Peel)",female,35,1,0,113803,53.1,C123,S +5,0,3,"Allen, Mr. William Henry",male,35,0,0,373450,8.05,,S +6,0,3,"Moran, Mr. James",male,,0,0,330877,8.4583,,Q +7,0,1,"McCarthy, Mr. Timothy J",male,54,0,0,17463,51.8625,E46,S +8,0,3,"Palsson, Master. Gosta Leonard",male,2,3,1,349909,21.075,,S +9,1,3,"Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)",female,27,0,2,347742,11.1333,,S +10,1,2,"Nasser, Mrs. Nicholas (Adele Achem)",female,14,1,0,237736,30.0708,,C +11,1,3,"Sandstrom, Miss. Marguerite Rut",female,4,1,1,PP 9549,16.7,G6,S +12,1,1,"Bonnell, Miss. Elizabeth",female,58,0,0,113783,26.55,C103,S +13,0,3,"Saundercock, Mr. William Henry",male,20,0,0,A/5. 2151,8.05,,S +14,0,3,"Andersson, Mr. Anders Johan",male,39,1,5,347082,31.275,,S +15,0,3,"Vestrom, Miss. Hulda Amanda Adolfina",female,14,0,0,350406,7.8542,,S +16,1,2,"Hewlett, Mrs. (Mary D Kingcome) ",female,55,0,0,248706,16,,S +17,0,3,"Rice, Master. Eugene",male,2,4,1,382652,29.125,,Q +18,1,2,"Williams, Mr. Charles Eugene",male,,0,0,244373,13,,S +19,0,3,"Vander Planke, Mrs. Julius (Emelia Maria Vandemoortele)",female,31,1,0,345763,18,,S +20,1,3,"Masselmani, Mrs. Fatima",female,,0,0,2649,7.225,,C +21,0,2,"Fynney, Mr. Joseph J",male,35,0,0,239865,26,,S +22,1,2,"Beesley, Mr. Lawrence",male,34,0,0,248698,13,D56,S +23,1,3,"McGowan, Miss. Anna ""Annie""",female,15,0,0,330923,8.0292,,Q +24,1,1,"Sloper, Mr. William Thompson",male,28,0,0,113788,35.5,A6,S +25,0,3,"Palsson, Miss. Torborg Danira",female,8,3,1,349909,21.075,,S +26,1,3,"Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson)",female,38,1,5,347077,31.3875,,S +27,0,3,"Emir, Mr. Farred Chehab",male,,0,0,2631,7.225,,C +28,0,1,"Fortune, Mr. Charles Alexander",male,19,3,2,19950,263,C23 C25 C27,S +29,1,3,"O'Dwyer, Miss. Ellen ""Nellie""",female,,0,0,330959,7.8792,,Q +30,0,3,"Todoroff, Mr. Lalio",male,,0,0,349216,7.8958,,S +31,0,1,"Uruchurtu, Don. Manuel E",male,40,0,0,PC 17601,27.7208,,C +32,1,1,"Spencer, Mrs. William Augustus (Marie Eugenie)",female,,1,0,PC 17569,146.5208,B78,C +33,1,3,"Glynn, Miss. Mary Agatha",female,,0,0,335677,7.75,,Q +34,0,2,"Wheadon, Mr. Edward H",male,66,0,0,C.A. 24579,10.5,,S +35,0,1,"Meyer, Mr. Edgar Joseph",male,28,1,0,PC 17604,82.1708,,C +36,0,1,"Holverson, Mr. Alexander Oskar",male,42,1,0,113789,52,,S +37,1,3,"Mamee, Mr. Hanna",male,,0,0,2677,7.2292,,C +38,0,3,"Cann, Mr. Ernest Charles",male,21,0,0,A./5. 2152,8.05,,S +39,0,3,"Vander Planke, Miss. Augusta Maria",female,18,2,0,345764,18,,S +40,1,3,"Nicola-Yarred, Miss. Jamila",female,14,1,0,2651,11.2417,,C +41,0,3,"Ahlin, Mrs. Johan (Johanna Persdotter Larsson)",female,40,1,0,7546,9.475,,S +42,0,2,"Turpin, Mrs. William John Robert (Dorothy Ann Wonnacott)",female,27,1,0,11668,21,,S +43,0,3,"Kraeff, Mr. Theodor",male,,0,0,349253,7.8958,,C +44,1,2,"Laroche, Miss. Simonne Marie Anne Andree",female,3,1,2,SC/Paris 2123,41.5792,,C +45,1,3,"Devaney, Miss. Margaret Delia",female,19,0,0,330958,7.8792,,Q +46,0,3,"Rogers, Mr. William John",male,,0,0,S.C./A.4. 23567,8.05,,S +47,0,3,"Lennon, Mr. Denis",male,,1,0,370371,15.5,,Q +48,1,3,"O'Driscoll, Miss. Bridget",female,,0,0,14311,7.75,,Q +49,0,3,"Samaan, Mr. Youssef",male,,2,0,2662,21.6792,,C +50,0,3,"Arnold-Franchi, Mrs. Josef (Josefine Franchi)",female,18,1,0,349237,17.8,,S +51,0,3,"Panula, Master. Juha Niilo",male,7,4,1,3101295,39.6875,,S +52,0,3,"Nosworthy, Mr. Richard Cater",male,21,0,0,A/4. 39886,7.8,,S +53,1,1,"Harper, Mrs. Henry Sleeper (Myna Haxtun)",female,49,1,0,PC 17572,76.7292,D33,C +54,1,2,"Faunthorpe, Mrs. Lizzie (Elizabeth Anne Wilkinson)",female,29,1,0,2926,26,,S +55,0,1,"Ostby, Mr. Engelhart Cornelius",male,65,0,1,113509,61.9792,B30,C +56,1,1,"Woolner, Mr. Hugh",male,,0,0,19947,35.5,C52,S +57,1,2,"Rugg, Miss. Emily",female,21,0,0,C.A. 31026,10.5,,S +58,0,3,"Novel, Mr. Mansouer",male,28.5,0,0,2697,7.2292,,C +59,1,2,"West, Miss. Constance Mirium",female,5,1,2,C.A. 34651,27.75,,S +60,0,3,"Goodwin, Master. William Frederick",male,11,5,2,CA 2144,46.9,,S +61,0,3,"Sirayanian, Mr. Orsen",male,22,0,0,2669,7.2292,,C +62,1,1,"Icard, Miss. Amelie",female,38,0,0,113572,80,B28, +63,0,1,"Harris, Mr. Henry Birkhardt",male,45,1,0,36973,83.475,C83,S +64,0,3,"Skoog, Master. Harald",male,4,3,2,347088,27.9,,S +65,0,1,"Stewart, Mr. Albert A",male,,0,0,PC 17605,27.7208,,C +66,1,3,"Moubarek, Master. Gerios",male,,1,1,2661,15.2458,,C +67,1,2,"Nye, Mrs. (Elizabeth Ramell)",female,29,0,0,C.A. 29395,10.5,F33,S +68,0,3,"Crease, Mr. Ernest James",male,19,0,0,S.P. 3464,8.1583,,S +69,1,3,"Andersson, Miss. Erna Alexandra",female,17,4,2,3101281,7.925,,S +70,0,3,"Kink, Mr. Vincenz",male,26,2,0,315151,8.6625,,S +71,0,2,"Jenkin, Mr. Stephen Curnow",male,32,0,0,C.A. 33111,10.5,,S +72,0,3,"Goodwin, Miss. Lillian Amy",female,16,5,2,CA 2144,46.9,,S +73,0,2,"Hood, Mr. Ambrose Jr",male,21,0,0,S.O.C. 14879,73.5,,S +74,0,3,"Chronopoulos, Mr. Apostolos",male,26,1,0,2680,14.4542,,C +75,1,3,"Bing, Mr. Lee",male,32,0,0,1601,56.4958,,S +76,0,3,"Moen, Mr. Sigurd Hansen",male,25,0,0,348123,7.65,F G73,S +77,0,3,"Staneff, Mr. Ivan",male,,0,0,349208,7.8958,,S +78,0,3,"Moutal, Mr. Rahamin Haim",male,,0,0,374746,8.05,,S +79,1,2,"Caldwell, Master. Alden Gates",male,0.83,0,2,248738,29,,S +80,1,3,"Dowdell, Miss. Elizabeth",female,30,0,0,364516,12.475,,S +81,0,3,"Waelens, Mr. Achille",male,22,0,0,345767,9,,S +82,1,3,"Sheerlinck, Mr. Jan Baptist",male,29,0,0,345779,9.5,,S +83,1,3,"McDermott, Miss. Brigdet Delia",female,,0,0,330932,7.7875,,Q +84,0,1,"Carrau, Mr. Francisco M",male,28,0,0,113059,47.1,,S +85,1,2,"Ilett, Miss. Bertha",female,17,0,0,SO/C 14885,10.5,,S +86,1,3,"Backstrom, Mrs. Karl Alfred (Maria Mathilda Gustafsson)",female,33,3,0,3101278,15.85,,S +87,0,3,"Ford, Mr. William Neal",male,16,1,3,W./C. 6608,34.375,,S +88,0,3,"Slocovski, Mr. Selman Francis",male,,0,0,SOTON/OQ 392086,8.05,,S +89,1,1,"Fortune, Miss. Mabel Helen",female,23,3,2,19950,263,C23 C25 C27,S +90,0,3,"Celotti, Mr. Francesco",male,24,0,0,343275,8.05,,S +91,0,3,"Christmann, Mr. Emil",male,29,0,0,343276,8.05,,S +92,0,3,"Andreasson, Mr. Paul Edvin",male,20,0,0,347466,7.8542,,S +93,0,1,"Chaffee, Mr. Herbert Fuller",male,46,1,0,W.E.P. 5734,61.175,E31,S +94,0,3,"Dean, Mr. Bertram Frank",male,26,1,2,C.A. 2315,20.575,,S +95,0,3,"Coxon, Mr. Daniel",male,59,0,0,364500,7.25,,S +96,0,3,"Shorney, Mr. Charles Joseph",male,,0,0,374910,8.05,,S +97,0,1,"Goldschmidt, Mr. George B",male,71,0,0,PC 17754,34.6542,A5,C +98,1,1,"Greenfield, Mr. William Bertram",male,23,0,1,PC 17759,63.3583,D10 D12,C +99,1,2,"Doling, Mrs. John T (Ada Julia Bone)",female,34,0,1,231919,23,,S +100,0,2,"Kantor, Mr. Sinai",male,34,1,0,244367,26,,S +101,0,3,"Petranec, Miss. Matilda",female,28,0,0,349245,7.8958,,S +102,0,3,"Petroff, Mr. Pastcho (""Pentcho"")",male,,0,0,349215,7.8958,,S +103,0,1,"White, Mr. Richard Frasar",male,21,0,1,35281,77.2875,D26,S +104,0,3,"Johansson, Mr. Gustaf Joel",male,33,0,0,7540,8.6542,,S +105,0,3,"Gustafsson, Mr. Anders Vilhelm",male,37,2,0,3101276,7.925,,S +106,0,3,"Mionoff, Mr. Stoytcho",male,28,0,0,349207,7.8958,,S +107,1,3,"Salkjelsvik, Miss. Anna Kristine",female,21,0,0,343120,7.65,,S +108,1,3,"Moss, Mr. Albert Johan",male,,0,0,312991,7.775,,S +109,0,3,"Rekic, Mr. Tido",male,38,0,0,349249,7.8958,,S +110,1,3,"Moran, Miss. Bertha",female,,1,0,371110,24.15,,Q +111,0,1,"Porter, Mr. Walter Chamberlain",male,47,0,0,110465,52,C110,S +112,0,3,"Zabour, Miss. Hileni",female,14.5,1,0,2665,14.4542,,C +113,0,3,"Barton, Mr. David John",male,22,0,0,324669,8.05,,S +114,0,3,"Jussila, Miss. Katriina",female,20,1,0,4136,9.825,,S +115,0,3,"Attalah, Miss. Malake",female,17,0,0,2627,14.4583,,C +116,0,3,"Pekoniemi, Mr. Edvard",male,21,0,0,STON/O 2. 3101294,7.925,,S +117,0,3,"Connors, Mr. Patrick",male,70.5,0,0,370369,7.75,,Q +118,0,2,"Turpin, Mr. William John Robert",male,29,1,0,11668,21,,S +119,0,1,"Baxter, Mr. Quigg Edmond",male,24,0,1,PC 17558,247.5208,B58 B60,C +120,0,3,"Andersson, Miss. Ellis Anna Maria",female,2,4,2,347082,31.275,,S +121,0,2,"Hickman, Mr. Stanley George",male,21,2,0,S.O.C. 14879,73.5,,S +122,0,3,"Moore, Mr. Leonard Charles",male,,0,0,A4. 54510,8.05,,S +123,0,2,"Nasser, Mr. Nicholas",male,32.5,1,0,237736,30.0708,,C +124,1,2,"Webber, Miss. Susan",female,32.5,0,0,27267,13,E101,S +125,0,1,"White, Mr. Percival Wayland",male,54,0,1,35281,77.2875,D26,S +126,1,3,"Nicola-Yarred, Master. Elias",male,12,1,0,2651,11.2417,,C +127,0,3,"McMahon, Mr. Martin",male,,0,0,370372,7.75,,Q +128,1,3,"Madsen, Mr. Fridtjof Arne",male,24,0,0,C 17369,7.1417,,S +129,1,3,"Peter, Miss. Anna",female,,1,1,2668,22.3583,F E69,C +130,0,3,"Ekstrom, Mr. Johan",male,45,0,0,347061,6.975,,S +131,0,3,"Drazenoic, Mr. Jozef",male,33,0,0,349241,7.8958,,C +132,0,3,"Coelho, Mr. Domingos Fernandeo",male,20,0,0,SOTON/O.Q. 3101307,7.05,,S +133,0,3,"Robins, Mrs. Alexander A (Grace Charity Laury)",female,47,1,0,A/5. 3337,14.5,,S +134,1,2,"Weisz, Mrs. Leopold (Mathilde Francoise Pede)",female,29,1,0,228414,26,,S +135,0,2,"Sobey, Mr. Samuel James Hayden",male,25,0,0,C.A. 29178,13,,S +136,0,2,"Richard, Mr. Emile",male,23,0,0,SC/PARIS 2133,15.0458,,C +137,1,1,"Newsom, Miss. Helen Monypeny",female,19,0,2,11752,26.2833,D47,S +138,0,1,"Futrelle, Mr. Jacques Heath",male,37,1,0,113803,53.1,C123,S +139,0,3,"Osen, Mr. Olaf Elon",male,16,0,0,7534,9.2167,,S +140,0,1,"Giglio, Mr. Victor",male,24,0,0,PC 17593,79.2,B86,C +141,0,3,"Boulos, Mrs. Joseph (Sultana)",female,,0,2,2678,15.2458,,C +142,1,3,"Nysten, Miss. Anna Sofia",female,22,0,0,347081,7.75,,S +143,1,3,"Hakkarainen, Mrs. Pekka Pietari (Elin Matilda Dolck)",female,24,1,0,STON/O2. 3101279,15.85,,S +144,0,3,"Burke, Mr. Jeremiah",male,19,0,0,365222,6.75,,Q +145,0,2,"Andrew, Mr. Edgardo Samuel",male,18,0,0,231945,11.5,,S +146,0,2,"Nicholls, Mr. Joseph Charles",male,19,1,1,C.A. 33112,36.75,,S +147,1,3,"Andersson, Mr. August Edvard (""Wennerstrom"")",male,27,0,0,350043,7.7958,,S +148,0,3,"Ford, Miss. Robina Maggie ""Ruby""",female,9,2,2,W./C. 6608,34.375,,S +149,0,2,"Navratil, Mr. Michel (""Louis M Hoffman"")",male,36.5,0,2,230080,26,F2,S +150,0,2,"Byles, Rev. Thomas Roussel Davids",male,42,0,0,244310,13,,S +151,0,2,"Bateman, Rev. Robert James",male,51,0,0,S.O.P. 1166,12.525,,S +152,1,1,"Pears, Mrs. Thomas (Edith Wearne)",female,22,1,0,113776,66.6,C2,S +153,0,3,"Meo, Mr. Alfonzo",male,55.5,0,0,A.5. 11206,8.05,,S +154,0,3,"van Billiard, Mr. Austin Blyler",male,40.5,0,2,A/5. 851,14.5,,S +155,0,3,"Olsen, Mr. Ole Martin",male,,0,0,Fa 265302,7.3125,,S +156,0,1,"Williams, Mr. Charles Duane",male,51,0,1,PC 17597,61.3792,,C +157,1,3,"Gilnagh, Miss. Katherine ""Katie""",female,16,0,0,35851,7.7333,,Q +158,0,3,"Corn, Mr. Harry",male,30,0,0,SOTON/OQ 392090,8.05,,S +159,0,3,"Smiljanic, Mr. Mile",male,,0,0,315037,8.6625,,S +160,0,3,"Sage, Master. Thomas Henry",male,,8,2,CA. 2343,69.55,,S +161,0,3,"Cribb, Mr. John Hatfield",male,44,0,1,371362,16.1,,S +162,1,2,"Watt, Mrs. James (Elizabeth ""Bessie"" Inglis Milne)",female,40,0,0,C.A. 33595,15.75,,S +163,0,3,"Bengtsson, Mr. John Viktor",male,26,0,0,347068,7.775,,S +164,0,3,"Calic, Mr. Jovo",male,17,0,0,315093,8.6625,,S +165,0,3,"Panula, Master. Eino Viljami",male,1,4,1,3101295,39.6875,,S +166,1,3,"Goldsmith, Master. Frank John William ""Frankie""",male,9,0,2,363291,20.525,,S +167,1,1,"Chibnall, Mrs. (Edith Martha Bowerman)",female,,0,1,113505,55,E33,S +168,0,3,"Skoog, Mrs. William (Anna Bernhardina Karlsson)",female,45,1,4,347088,27.9,,S +169,0,1,"Baumann, Mr. John D",male,,0,0,PC 17318,25.925,,S +170,0,3,"Ling, Mr. Lee",male,28,0,0,1601,56.4958,,S +171,0,1,"Van der hoef, Mr. Wyckoff",male,61,0,0,111240,33.5,B19,S +172,0,3,"Rice, Master. Arthur",male,4,4,1,382652,29.125,,Q +173,1,3,"Johnson, Miss. Eleanor Ileen",female,1,1,1,347742,11.1333,,S +174,0,3,"Sivola, Mr. Antti Wilhelm",male,21,0,0,STON/O 2. 3101280,7.925,,S +175,0,1,"Smith, Mr. James Clinch",male,56,0,0,17764,30.6958,A7,C +176,0,3,"Klasen, Mr. Klas Albin",male,18,1,1,350404,7.8542,,S +177,0,3,"Lefebre, Master. Henry Forbes",male,,3,1,4133,25.4667,,S +178,0,1,"Isham, Miss. Ann Elizabeth",female,50,0,0,PC 17595,28.7125,C49,C +179,0,2,"Hale, Mr. Reginald",male,30,0,0,250653,13,,S +180,0,3,"Leonard, Mr. Lionel",male,36,0,0,LINE,0,,S +181,0,3,"Sage, Miss. Constance Gladys",female,,8,2,CA. 2343,69.55,,S +182,0,2,"Pernot, Mr. Rene",male,,0,0,SC/PARIS 2131,15.05,,C +183,0,3,"Asplund, Master. Clarence Gustaf Hugo",male,9,4,2,347077,31.3875,,S +184,1,2,"Becker, Master. Richard F",male,1,2,1,230136,39,F4,S +185,1,3,"Kink-Heilmann, Miss. Luise Gretchen",female,4,0,2,315153,22.025,,S +186,0,1,"Rood, Mr. Hugh Roscoe",male,,0,0,113767,50,A32,S +187,1,3,"O'Brien, Mrs. Thomas (Johanna ""Hannah"" Godfrey)",female,,1,0,370365,15.5,,Q +188,1,1,"Romaine, Mr. Charles Hallace (""Mr C Rolmane"")",male,45,0,0,111428,26.55,,S +189,0,3,"Bourke, Mr. John",male,40,1,1,364849,15.5,,Q +190,0,3,"Turcin, Mr. Stjepan",male,36,0,0,349247,7.8958,,S +191,1,2,"Pinsky, Mrs. (Rosa)",female,32,0,0,234604,13,,S +192,0,2,"Carbines, Mr. William",male,19,0,0,28424,13,,S +193,1,3,"Andersen-Jensen, Miss. Carla Christine Nielsine",female,19,1,0,350046,7.8542,,S +194,1,2,"Navratil, Master. Michel M",male,3,1,1,230080,26,F2,S +195,1,1,"Brown, Mrs. James Joseph (Margaret Tobin)",female,44,0,0,PC 17610,27.7208,B4,C +196,1,1,"Lurette, Miss. Elise",female,58,0,0,PC 17569,146.5208,B80,C +197,0,3,"Mernagh, Mr. Robert",male,,0,0,368703,7.75,,Q +198,0,3,"Olsen, Mr. Karl Siegwart Andreas",male,42,0,1,4579,8.4042,,S +199,1,3,"Madigan, Miss. Margaret ""Maggie""",female,,0,0,370370,7.75,,Q +200,0,2,"Yrois, Miss. Henriette (""Mrs Harbeck"")",female,24,0,0,248747,13,,S +201,0,3,"Vande Walle, Mr. Nestor Cyriel",male,28,0,0,345770,9.5,,S +202,0,3,"Sage, Mr. Frederick",male,,8,2,CA. 2343,69.55,,S +203,0,3,"Johanson, Mr. Jakob Alfred",male,34,0,0,3101264,6.4958,,S +204,0,3,"Youseff, Mr. Gerious",male,45.5,0,0,2628,7.225,,C +205,1,3,"Cohen, Mr. Gurshon ""Gus""",male,18,0,0,A/5 3540,8.05,,S +206,0,3,"Strom, Miss. Telma Matilda",female,2,0,1,347054,10.4625,G6,S +207,0,3,"Backstrom, Mr. Karl Alfred",male,32,1,0,3101278,15.85,,S +208,1,3,"Albimona, Mr. Nassef Cassem",male,26,0,0,2699,18.7875,,C +209,1,3,"Carr, Miss. Helen ""Ellen""",female,16,0,0,367231,7.75,,Q +210,1,1,"Blank, Mr. Henry",male,40,0,0,112277,31,A31,C +211,0,3,"Ali, Mr. Ahmed",male,24,0,0,SOTON/O.Q. 3101311,7.05,,S +212,1,2,"Cameron, Miss. Clear Annie",female,35,0,0,F.C.C. 13528,21,,S +213,0,3,"Perkin, Mr. John Henry",male,22,0,0,A/5 21174,7.25,,S +214,0,2,"Givard, Mr. Hans Kristensen",male,30,0,0,250646,13,,S +215,0,3,"Kiernan, Mr. Philip",male,,1,0,367229,7.75,,Q +216,1,1,"Newell, Miss. Madeleine",female,31,1,0,35273,113.275,D36,C +217,1,3,"Honkanen, Miss. Eliina",female,27,0,0,STON/O2. 3101283,7.925,,S +218,0,2,"Jacobsohn, Mr. Sidney Samuel",male,42,1,0,243847,27,,S +219,1,1,"Bazzani, Miss. Albina",female,32,0,0,11813,76.2917,D15,C +220,0,2,"Harris, Mr. Walter",male,30,0,0,W/C 14208,10.5,,S +221,1,3,"Sunderland, Mr. Victor Francis",male,16,0,0,SOTON/OQ 392089,8.05,,S +222,0,2,"Bracken, Mr. James H",male,27,0,0,220367,13,,S +223,0,3,"Green, Mr. George Henry",male,51,0,0,21440,8.05,,S +224,0,3,"Nenkoff, Mr. Christo",male,,0,0,349234,7.8958,,S +225,1,1,"Hoyt, Mr. Frederick Maxfield",male,38,1,0,19943,90,C93,S +226,0,3,"Berglund, Mr. Karl Ivar Sven",male,22,0,0,PP 4348,9.35,,S +227,1,2,"Mellors, Mr. William John",male,19,0,0,SW/PP 751,10.5,,S +228,0,3,"Lovell, Mr. John Hall (""Henry"")",male,20.5,0,0,A/5 21173,7.25,,S +229,0,2,"Fahlstrom, Mr. Arne Jonas",male,18,0,0,236171,13,,S +230,0,3,"Lefebre, Miss. Mathilde",female,,3,1,4133,25.4667,,S +231,1,1,"Harris, Mrs. Henry Birkhardt (Irene Wallach)",female,35,1,0,36973,83.475,C83,S +232,0,3,"Larsson, Mr. Bengt Edvin",male,29,0,0,347067,7.775,,S +233,0,2,"Sjostedt, Mr. Ernst Adolf",male,59,0,0,237442,13.5,,S +234,1,3,"Asplund, Miss. Lillian Gertrud",female,5,4,2,347077,31.3875,,S +235,0,2,"Leyson, Mr. Robert William Norman",male,24,0,0,C.A. 29566,10.5,,S +236,0,3,"Harknett, Miss. Alice Phoebe",female,,0,0,W./C. 6609,7.55,,S +237,0,2,"Hold, Mr. Stephen",male,44,1,0,26707,26,,S +238,1,2,"Collyer, Miss. Marjorie ""Lottie""",female,8,0,2,C.A. 31921,26.25,,S +239,0,2,"Pengelly, Mr. Frederick William",male,19,0,0,28665,10.5,,S +240,0,2,"Hunt, Mr. George Henry",male,33,0,0,SCO/W 1585,12.275,,S +241,0,3,"Zabour, Miss. Thamine",female,,1,0,2665,14.4542,,C +242,1,3,"Murphy, Miss. Katherine ""Kate""",female,,1,0,367230,15.5,,Q +243,0,2,"Coleridge, Mr. Reginald Charles",male,29,0,0,W./C. 14263,10.5,,S +244,0,3,"Maenpaa, Mr. Matti Alexanteri",male,22,0,0,STON/O 2. 3101275,7.125,,S +245,0,3,"Attalah, Mr. Sleiman",male,30,0,0,2694,7.225,,C +246,0,1,"Minahan, Dr. William Edward",male,44,2,0,19928,90,C78,Q +247,0,3,"Lindahl, Miss. Agda Thorilda Viktoria",female,25,0,0,347071,7.775,,S +248,1,2,"Hamalainen, Mrs. William (Anna)",female,24,0,2,250649,14.5,,S +249,1,1,"Beckwith, Mr. Richard Leonard",male,37,1,1,11751,52.5542,D35,S +250,0,2,"Carter, Rev. Ernest Courtenay",male,54,1,0,244252,26,,S +251,0,3,"Reed, Mr. James George",male,,0,0,362316,7.25,,S +252,0,3,"Strom, Mrs. Wilhelm (Elna Matilda Persson)",female,29,1,1,347054,10.4625,G6,S +253,0,1,"Stead, Mr. William Thomas",male,62,0,0,113514,26.55,C87,S +254,0,3,"Lobb, Mr. William Arthur",male,30,1,0,A/5. 3336,16.1,,S +255,0,3,"Rosblom, Mrs. Viktor (Helena Wilhelmina)",female,41,0,2,370129,20.2125,,S +256,1,3,"Touma, Mrs. Darwis (Hanne Youssef Razi)",female,29,0,2,2650,15.2458,,C +257,1,1,"Thorne, Mrs. Gertrude Maybelle",female,,0,0,PC 17585,79.2,,C +258,1,1,"Cherry, Miss. Gladys",female,30,0,0,110152,86.5,B77,S +259,1,1,"Ward, Miss. Anna",female,35,0,0,PC 17755,512.3292,,C +260,1,2,"Parrish, Mrs. (Lutie Davis)",female,50,0,1,230433,26,,S +261,0,3,"Smith, Mr. Thomas",male,,0,0,384461,7.75,,Q +262,1,3,"Asplund, Master. Edvin Rojj Felix",male,3,4,2,347077,31.3875,,S +263,0,1,"Taussig, Mr. Emil",male,52,1,1,110413,79.65,E67,S +264,0,1,"Harrison, Mr. William",male,40,0,0,112059,0,B94,S +265,0,3,"Henry, Miss. Delia",female,,0,0,382649,7.75,,Q +266,0,2,"Reeves, Mr. David",male,36,0,0,C.A. 17248,10.5,,S +267,0,3,"Panula, Mr. Ernesti Arvid",male,16,4,1,3101295,39.6875,,S +268,1,3,"Persson, Mr. Ernst Ulrik",male,25,1,0,347083,7.775,,S +269,1,1,"Graham, Mrs. William Thompson (Edith Junkins)",female,58,0,1,PC 17582,153.4625,C125,S +270,1,1,"Bissette, Miss. Amelia",female,35,0,0,PC 17760,135.6333,C99,S +271,0,1,"Cairns, Mr. Alexander",male,,0,0,113798,31,,S +272,1,3,"Tornquist, Mr. William Henry",male,25,0,0,LINE,0,,S +273,1,2,"Mellinger, Mrs. (Elizabeth Anne Maidment)",female,41,0,1,250644,19.5,,S +274,0,1,"Natsch, Mr. Charles H",male,37,0,1,PC 17596,29.7,C118,C +275,1,3,"Healy, Miss. Hanora ""Nora""",female,,0,0,370375,7.75,,Q +276,1,1,"Andrews, Miss. Kornelia Theodosia",female,63,1,0,13502,77.9583,D7,S +277,0,3,"Lindblom, Miss. Augusta Charlotta",female,45,0,0,347073,7.75,,S +278,0,2,"Parkes, Mr. Francis ""Frank""",male,,0,0,239853,0,,S +279,0,3,"Rice, Master. Eric",male,7,4,1,382652,29.125,,Q +280,1,3,"Abbott, Mrs. Stanton (Rosa Hunt)",female,35,1,1,C.A. 2673,20.25,,S +281,0,3,"Duane, Mr. Frank",male,65,0,0,336439,7.75,,Q +282,0,3,"Olsson, Mr. Nils Johan Goransson",male,28,0,0,347464,7.8542,,S +283,0,3,"de Pelsmaeker, Mr. Alfons",male,16,0,0,345778,9.5,,S +284,1,3,"Dorking, Mr. Edward Arthur",male,19,0,0,A/5. 10482,8.05,,S +285,0,1,"Smith, Mr. Richard William",male,,0,0,113056,26,A19,S +286,0,3,"Stankovic, Mr. Ivan",male,33,0,0,349239,8.6625,,C +287,1,3,"de Mulder, Mr. Theodore",male,30,0,0,345774,9.5,,S +288,0,3,"Naidenoff, Mr. Penko",male,22,0,0,349206,7.8958,,S +289,1,2,"Hosono, Mr. Masabumi",male,42,0,0,237798,13,,S +290,1,3,"Connolly, Miss. Kate",female,22,0,0,370373,7.75,,Q +291,1,1,"Barber, Miss. Ellen ""Nellie""",female,26,0,0,19877,78.85,,S +292,1,1,"Bishop, Mrs. Dickinson H (Helen Walton)",female,19,1,0,11967,91.0792,B49,C +293,0,2,"Levy, Mr. Rene Jacques",male,36,0,0,SC/Paris 2163,12.875,D,C +294,0,3,"Haas, Miss. Aloisia",female,24,0,0,349236,8.85,,S +295,0,3,"Mineff, Mr. Ivan",male,24,0,0,349233,7.8958,,S +296,0,1,"Lewy, Mr. Ervin G",male,,0,0,PC 17612,27.7208,,C +297,0,3,"Hanna, Mr. Mansour",male,23.5,0,0,2693,7.2292,,C +298,0,1,"Allison, Miss. Helen Loraine",female,2,1,2,113781,151.55,C22 C26,S +299,1,1,"Saalfeld, Mr. Adolphe",male,,0,0,19988,30.5,C106,S +300,1,1,"Baxter, Mrs. James (Helene DeLaudeniere Chaput)",female,50,0,1,PC 17558,247.5208,B58 B60,C +301,1,3,"Kelly, Miss. Anna Katherine ""Annie Kate""",female,,0,0,9234,7.75,,Q +302,1,3,"McCoy, Mr. Bernard",male,,2,0,367226,23.25,,Q +303,0,3,"Johnson, Mr. William Cahoone Jr",male,19,0,0,LINE,0,,S +304,1,2,"Keane, Miss. Nora A",female,,0,0,226593,12.35,E101,Q +305,0,3,"Williams, Mr. Howard Hugh ""Harry""",male,,0,0,A/5 2466,8.05,,S +306,1,1,"Allison, Master. Hudson Trevor",male,0.92,1,2,113781,151.55,C22 C26,S +307,1,1,"Fleming, Miss. Margaret",female,,0,0,17421,110.8833,,C +308,1,1,"Penasco y Castellana, Mrs. Victor de Satode (Maria Josefa Perez de Soto y Vallejo)",female,17,1,0,PC 17758,108.9,C65,C +309,0,2,"Abelson, Mr. Samuel",male,30,1,0,P/PP 3381,24,,C +310,1,1,"Francatelli, Miss. Laura Mabel",female,30,0,0,PC 17485,56.9292,E36,C +311,1,1,"Hays, Miss. Margaret Bechstein",female,24,0,0,11767,83.1583,C54,C +312,1,1,"Ryerson, Miss. Emily Borie",female,18,2,2,PC 17608,262.375,B57 B59 B63 B66,C +313,0,2,"Lahtinen, Mrs. William (Anna Sylfven)",female,26,1,1,250651,26,,S +314,0,3,"Hendekovic, Mr. Ignjac",male,28,0,0,349243,7.8958,,S +315,0,2,"Hart, Mr. Benjamin",male,43,1,1,F.C.C. 13529,26.25,,S +316,1,3,"Nilsson, Miss. Helmina Josefina",female,26,0,0,347470,7.8542,,S +317,1,2,"Kantor, Mrs. Sinai (Miriam Sternin)",female,24,1,0,244367,26,,S +318,0,2,"Moraweck, Dr. Ernest",male,54,0,0,29011,14,,S +319,1,1,"Wick, Miss. Mary Natalie",female,31,0,2,36928,164.8667,C7,S +320,1,1,"Spedden, Mrs. Frederic Oakley (Margaretta Corning Stone)",female,40,1,1,16966,134.5,E34,C +321,0,3,"Dennis, Mr. Samuel",male,22,0,0,A/5 21172,7.25,,S +322,0,3,"Danoff, Mr. Yoto",male,27,0,0,349219,7.8958,,S +323,1,2,"Slayter, Miss. Hilda Mary",female,30,0,0,234818,12.35,,Q +324,1,2,"Caldwell, Mrs. Albert Francis (Sylvia Mae Harbaugh)",female,22,1,1,248738,29,,S +325,0,3,"Sage, Mr. George John Jr",male,,8,2,CA. 2343,69.55,,S +326,1,1,"Young, Miss. Marie Grice",female,36,0,0,PC 17760,135.6333,C32,C +327,0,3,"Nysveen, Mr. Johan Hansen",male,61,0,0,345364,6.2375,,S +328,1,2,"Ball, Mrs. (Ada E Hall)",female,36,0,0,28551,13,D,S +329,1,3,"Goldsmith, Mrs. Frank John (Emily Alice Brown)",female,31,1,1,363291,20.525,,S +330,1,1,"Hippach, Miss. Jean Gertrude",female,16,0,1,111361,57.9792,B18,C +331,1,3,"McCoy, Miss. Agnes",female,,2,0,367226,23.25,,Q +332,0,1,"Partner, Mr. Austen",male,45.5,0,0,113043,28.5,C124,S +333,0,1,"Graham, Mr. George Edward",male,38,0,1,PC 17582,153.4625,C91,S +334,0,3,"Vander Planke, Mr. Leo Edmondus",male,16,2,0,345764,18,,S +335,1,1,"Frauenthal, Mrs. Henry William (Clara Heinsheimer)",female,,1,0,PC 17611,133.65,,S +336,0,3,"Denkoff, Mr. Mitto",male,,0,0,349225,7.8958,,S +337,0,1,"Pears, Mr. Thomas Clinton",male,29,1,0,113776,66.6,C2,S +338,1,1,"Burns, Miss. Elizabeth Margaret",female,41,0,0,16966,134.5,E40,C +339,1,3,"Dahl, Mr. Karl Edwart",male,45,0,0,7598,8.05,,S +340,0,1,"Blackwell, Mr. Stephen Weart",male,45,0,0,113784,35.5,T,S +341,1,2,"Navratil, Master. Edmond Roger",male,2,1,1,230080,26,F2,S +342,1,1,"Fortune, Miss. Alice Elizabeth",female,24,3,2,19950,263,C23 C25 C27,S +343,0,2,"Collander, Mr. Erik Gustaf",male,28,0,0,248740,13,,S +344,0,2,"Sedgwick, Mr. Charles Frederick Waddington",male,25,0,0,244361,13,,S +345,0,2,"Fox, Mr. Stanley Hubert",male,36,0,0,229236,13,,S +346,1,2,"Brown, Miss. Amelia ""Mildred""",female,24,0,0,248733,13,F33,S +347,1,2,"Smith, Miss. Marion Elsie",female,40,0,0,31418,13,,S +348,1,3,"Davison, Mrs. Thomas Henry (Mary E Finck)",female,,1,0,386525,16.1,,S +349,1,3,"Coutts, Master. William Loch ""William""",male,3,1,1,C.A. 37671,15.9,,S +350,0,3,"Dimic, Mr. Jovan",male,42,0,0,315088,8.6625,,S +351,0,3,"Odahl, Mr. Nils Martin",male,23,0,0,7267,9.225,,S +352,0,1,"Williams-Lambert, Mr. Fletcher Fellows",male,,0,0,113510,35,C128,S +353,0,3,"Elias, Mr. Tannous",male,15,1,1,2695,7.2292,,C +354,0,3,"Arnold-Franchi, Mr. Josef",male,25,1,0,349237,17.8,,S +355,0,3,"Yousif, Mr. Wazli",male,,0,0,2647,7.225,,C +356,0,3,"Vanden Steen, Mr. Leo Peter",male,28,0,0,345783,9.5,,S +357,1,1,"Bowerman, Miss. Elsie Edith",female,22,0,1,113505,55,E33,S +358,0,2,"Funk, Miss. Annie Clemmer",female,38,0,0,237671,13,,S +359,1,3,"McGovern, Miss. Mary",female,,0,0,330931,7.8792,,Q +360,1,3,"Mockler, Miss. Helen Mary ""Ellie""",female,,0,0,330980,7.8792,,Q +361,0,3,"Skoog, Mr. Wilhelm",male,40,1,4,347088,27.9,,S +362,0,2,"del Carlo, Mr. Sebastiano",male,29,1,0,SC/PARIS 2167,27.7208,,C +363,0,3,"Barbara, Mrs. (Catherine David)",female,45,0,1,2691,14.4542,,C +364,0,3,"Asim, Mr. Adola",male,35,0,0,SOTON/O.Q. 3101310,7.05,,S +365,0,3,"O'Brien, Mr. Thomas",male,,1,0,370365,15.5,,Q +366,0,3,"Adahl, Mr. Mauritz Nils Martin",male,30,0,0,C 7076,7.25,,S +367,1,1,"Warren, Mrs. Frank Manley (Anna Sophia Atkinson)",female,60,1,0,110813,75.25,D37,C +368,1,3,"Moussa, Mrs. (Mantoura Boulos)",female,,0,0,2626,7.2292,,C +369,1,3,"Jermyn, Miss. Annie",female,,0,0,14313,7.75,,Q +370,1,1,"Aubart, Mme. Leontine Pauline",female,24,0,0,PC 17477,69.3,B35,C +371,1,1,"Harder, Mr. George Achilles",male,25,1,0,11765,55.4417,E50,C +372,0,3,"Wiklund, Mr. Jakob Alfred",male,18,1,0,3101267,6.4958,,S +373,0,3,"Beavan, Mr. William Thomas",male,19,0,0,323951,8.05,,S +374,0,1,"Ringhini, Mr. Sante",male,22,0,0,PC 17760,135.6333,,C +375,0,3,"Palsson, Miss. Stina Viola",female,3,3,1,349909,21.075,,S +376,1,1,"Meyer, Mrs. Edgar Joseph (Leila Saks)",female,,1,0,PC 17604,82.1708,,C +377,1,3,"Landergren, Miss. Aurora Adelia",female,22,0,0,C 7077,7.25,,S +378,0,1,"Widener, Mr. Harry Elkins",male,27,0,2,113503,211.5,C82,C +379,0,3,"Betros, Mr. Tannous",male,20,0,0,2648,4.0125,,C +380,0,3,"Gustafsson, Mr. Karl Gideon",male,19,0,0,347069,7.775,,S +381,1,1,"Bidois, Miss. Rosalie",female,42,0,0,PC 17757,227.525,,C +382,1,3,"Nakid, Miss. Maria (""Mary"")",female,1,0,2,2653,15.7417,,C +383,0,3,"Tikkanen, Mr. Juho",male,32,0,0,STON/O 2. 3101293,7.925,,S +384,1,1,"Holverson, Mrs. Alexander Oskar (Mary Aline Towner)",female,35,1,0,113789,52,,S +385,0,3,"Plotcharsky, Mr. Vasil",male,,0,0,349227,7.8958,,S +386,0,2,"Davies, Mr. Charles Henry",male,18,0,0,S.O.C. 14879,73.5,,S +387,0,3,"Goodwin, Master. Sidney Leonard",male,1,5,2,CA 2144,46.9,,S +388,1,2,"Buss, Miss. Kate",female,36,0,0,27849,13,,S +389,0,3,"Sadlier, Mr. Matthew",male,,0,0,367655,7.7292,,Q +390,1,2,"Lehmann, Miss. Bertha",female,17,0,0,SC 1748,12,,C +391,1,1,"Carter, Mr. William Ernest",male,36,1,2,113760,120,B96 B98,S +392,1,3,"Jansson, Mr. Carl Olof",male,21,0,0,350034,7.7958,,S +393,0,3,"Gustafsson, Mr. Johan Birger",male,28,2,0,3101277,7.925,,S +394,1,1,"Newell, Miss. Marjorie",female,23,1,0,35273,113.275,D36,C +395,1,3,"Sandstrom, Mrs. Hjalmar (Agnes Charlotta Bengtsson)",female,24,0,2,PP 9549,16.7,G6,S +396,0,3,"Johansson, Mr. Erik",male,22,0,0,350052,7.7958,,S +397,0,3,"Olsson, Miss. Elina",female,31,0,0,350407,7.8542,,S +398,0,2,"McKane, Mr. Peter David",male,46,0,0,28403,26,,S +399,0,2,"Pain, Dr. Alfred",male,23,0,0,244278,10.5,,S +400,1,2,"Trout, Mrs. William H (Jessie L)",female,28,0,0,240929,12.65,,S +401,1,3,"Niskanen, Mr. Juha",male,39,0,0,STON/O 2. 3101289,7.925,,S +402,0,3,"Adams, Mr. John",male,26,0,0,341826,8.05,,S +403,0,3,"Jussila, Miss. Mari Aina",female,21,1,0,4137,9.825,,S +404,0,3,"Hakkarainen, Mr. Pekka Pietari",male,28,1,0,STON/O2. 3101279,15.85,,S +405,0,3,"Oreskovic, Miss. Marija",female,20,0,0,315096,8.6625,,S +406,0,2,"Gale, Mr. Shadrach",male,34,1,0,28664,21,,S +407,0,3,"Widegren, Mr. Carl/Charles Peter",male,51,0,0,347064,7.75,,S +408,1,2,"Richards, Master. William Rowe",male,3,1,1,29106,18.75,,S +409,0,3,"Birkeland, Mr. Hans Martin Monsen",male,21,0,0,312992,7.775,,S +410,0,3,"Lefebre, Miss. Ida",female,,3,1,4133,25.4667,,S +411,0,3,"Sdycoff, Mr. Todor",male,,0,0,349222,7.8958,,S +412,0,3,"Hart, Mr. Henry",male,,0,0,394140,6.8583,,Q +413,1,1,"Minahan, Miss. Daisy E",female,33,1,0,19928,90,C78,Q +414,0,2,"Cunningham, Mr. Alfred Fleming",male,,0,0,239853,0,,S +415,1,3,"Sundman, Mr. Johan Julian",male,44,0,0,STON/O 2. 3101269,7.925,,S +416,0,3,"Meek, Mrs. Thomas (Annie Louise Rowley)",female,,0,0,343095,8.05,,S +417,1,2,"Drew, Mrs. James Vivian (Lulu Thorne Christian)",female,34,1,1,28220,32.5,,S +418,1,2,"Silven, Miss. Lyyli Karoliina",female,18,0,2,250652,13,,S +419,0,2,"Matthews, Mr. William John",male,30,0,0,28228,13,,S +420,0,3,"Van Impe, Miss. Catharina",female,10,0,2,345773,24.15,,S +421,0,3,"Gheorgheff, Mr. Stanio",male,,0,0,349254,7.8958,,C +422,0,3,"Charters, Mr. David",male,21,0,0,A/5. 13032,7.7333,,Q +423,0,3,"Zimmerman, Mr. Leo",male,29,0,0,315082,7.875,,S +424,0,3,"Danbom, Mrs. Ernst Gilbert (Anna Sigrid Maria Brogren)",female,28,1,1,347080,14.4,,S +425,0,3,"Rosblom, Mr. Viktor Richard",male,18,1,1,370129,20.2125,,S +426,0,3,"Wiseman, Mr. Phillippe",male,,0,0,A/4. 34244,7.25,,S +427,1,2,"Clarke, Mrs. Charles V (Ada Maria Winfield)",female,28,1,0,2003,26,,S +428,1,2,"Phillips, Miss. Kate Florence (""Mrs Kate Louise Phillips Marshall"")",female,19,0,0,250655,26,,S +429,0,3,"Flynn, Mr. James",male,,0,0,364851,7.75,,Q +430,1,3,"Pickard, Mr. Berk (Berk Trembisky)",male,32,0,0,SOTON/O.Q. 392078,8.05,E10,S +431,1,1,"Bjornstrom-Steffansson, Mr. Mauritz Hakan",male,28,0,0,110564,26.55,C52,S +432,1,3,"Thorneycroft, Mrs. Percival (Florence Kate White)",female,,1,0,376564,16.1,,S +433,1,2,"Louch, Mrs. Charles Alexander (Alice Adelaide Slow)",female,42,1,0,SC/AH 3085,26,,S +434,0,3,"Kallio, Mr. Nikolai Erland",male,17,0,0,STON/O 2. 3101274,7.125,,S +435,0,1,"Silvey, Mr. William Baird",male,50,1,0,13507,55.9,E44,S +436,1,1,"Carter, Miss. Lucile Polk",female,14,1,2,113760,120,B96 B98,S +437,0,3,"Ford, Miss. Doolina Margaret ""Daisy""",female,21,2,2,W./C. 6608,34.375,,S +438,1,2,"Richards, Mrs. Sidney (Emily Hocking)",female,24,2,3,29106,18.75,,S +439,0,1,"Fortune, Mr. Mark",male,64,1,4,19950,263,C23 C25 C27,S +440,0,2,"Kvillner, Mr. Johan Henrik Johannesson",male,31,0,0,C.A. 18723,10.5,,S +441,1,2,"Hart, Mrs. Benjamin (Esther Ada Bloomfield)",female,45,1,1,F.C.C. 13529,26.25,,S +442,0,3,"Hampe, Mr. Leon",male,20,0,0,345769,9.5,,S +443,0,3,"Petterson, Mr. Johan Emil",male,25,1,0,347076,7.775,,S +444,1,2,"Reynaldo, Ms. Encarnacion",female,28,0,0,230434,13,,S +445,1,3,"Johannesen-Bratthammer, Mr. Bernt",male,,0,0,65306,8.1125,,S +446,1,1,"Dodge, Master. Washington",male,4,0,2,33638,81.8583,A34,S +447,1,2,"Mellinger, Miss. Madeleine Violet",female,13,0,1,250644,19.5,,S +448,1,1,"Seward, Mr. Frederic Kimber",male,34,0,0,113794,26.55,,S +449,1,3,"Baclini, Miss. Marie Catherine",female,5,2,1,2666,19.2583,,C +450,1,1,"Peuchen, Major. Arthur Godfrey",male,52,0,0,113786,30.5,C104,S +451,0,2,"West, Mr. Edwy Arthur",male,36,1,2,C.A. 34651,27.75,,S +452,0,3,"Hagland, Mr. Ingvald Olai Olsen",male,,1,0,65303,19.9667,,S +453,0,1,"Foreman, Mr. Benjamin Laventall",male,30,0,0,113051,27.75,C111,C +454,1,1,"Goldenberg, Mr. Samuel L",male,49,1,0,17453,89.1042,C92,C +455,0,3,"Peduzzi, Mr. Joseph",male,,0,0,A/5 2817,8.05,,S +456,1,3,"Jalsevac, Mr. Ivan",male,29,0,0,349240,7.8958,,C +457,0,1,"Millet, Mr. Francis Davis",male,65,0,0,13509,26.55,E38,S +458,1,1,"Kenyon, Mrs. Frederick R (Marion)",female,,1,0,17464,51.8625,D21,S +459,1,2,"Toomey, Miss. Ellen",female,50,0,0,F.C.C. 13531,10.5,,S +460,0,3,"O'Connor, Mr. Maurice",male,,0,0,371060,7.75,,Q +461,1,1,"Anderson, Mr. Harry",male,48,0,0,19952,26.55,E12,S +462,0,3,"Morley, Mr. William",male,34,0,0,364506,8.05,,S +463,0,1,"Gee, Mr. Arthur H",male,47,0,0,111320,38.5,E63,S +464,0,2,"Milling, Mr. Jacob Christian",male,48,0,0,234360,13,,S +465,0,3,"Maisner, Mr. Simon",male,,0,0,A/S 2816,8.05,,S +466,0,3,"Goncalves, Mr. Manuel Estanslas",male,38,0,0,SOTON/O.Q. 3101306,7.05,,S +467,0,2,"Campbell, Mr. William",male,,0,0,239853,0,,S +468,0,1,"Smart, Mr. John Montgomery",male,56,0,0,113792,26.55,,S +469,0,3,"Scanlan, Mr. James",male,,0,0,36209,7.725,,Q +470,1,3,"Baclini, Miss. Helene Barbara",female,0.75,2,1,2666,19.2583,,C +471,0,3,"Keefe, Mr. Arthur",male,,0,0,323592,7.25,,S +472,0,3,"Cacic, Mr. Luka",male,38,0,0,315089,8.6625,,S +473,1,2,"West, Mrs. Edwy Arthur (Ada Mary Worth)",female,33,1,2,C.A. 34651,27.75,,S +474,1,2,"Jerwan, Mrs. Amin S (Marie Marthe Thuillard)",female,23,0,0,SC/AH Basle 541,13.7917,D,C +475,0,3,"Strandberg, Miss. Ida Sofia",female,22,0,0,7553,9.8375,,S +476,0,1,"Clifford, Mr. George Quincy",male,,0,0,110465,52,A14,S +477,0,2,"Renouf, Mr. Peter Henry",male,34,1,0,31027,21,,S +478,0,3,"Braund, Mr. Lewis Richard",male,29,1,0,3460,7.0458,,S +479,0,3,"Karlsson, Mr. Nils August",male,22,0,0,350060,7.5208,,S +480,1,3,"Hirvonen, Miss. Hildur E",female,2,0,1,3101298,12.2875,,S +481,0,3,"Goodwin, Master. Harold Victor",male,9,5,2,CA 2144,46.9,,S +482,0,2,"Frost, Mr. Anthony Wood ""Archie""",male,,0,0,239854,0,,S +483,0,3,"Rouse, Mr. Richard Henry",male,50,0,0,A/5 3594,8.05,,S +484,1,3,"Turkula, Mrs. (Hedwig)",female,63,0,0,4134,9.5875,,S +485,1,1,"Bishop, Mr. Dickinson H",male,25,1,0,11967,91.0792,B49,C +486,0,3,"Lefebre, Miss. Jeannie",female,,3,1,4133,25.4667,,S +487,1,1,"Hoyt, Mrs. Frederick Maxfield (Jane Anne Forby)",female,35,1,0,19943,90,C93,S +488,0,1,"Kent, Mr. Edward Austin",male,58,0,0,11771,29.7,B37,C +489,0,3,"Somerton, Mr. Francis William",male,30,0,0,A.5. 18509,8.05,,S +490,1,3,"Coutts, Master. Eden Leslie ""Neville""",male,9,1,1,C.A. 37671,15.9,,S +491,0,3,"Hagland, Mr. Konrad Mathias Reiersen",male,,1,0,65304,19.9667,,S +492,0,3,"Windelov, Mr. Einar",male,21,0,0,SOTON/OQ 3101317,7.25,,S +493,0,1,"Molson, Mr. Harry Markland",male,55,0,0,113787,30.5,C30,S +494,0,1,"Artagaveytia, Mr. Ramon",male,71,0,0,PC 17609,49.5042,,C +495,0,3,"Stanley, Mr. Edward Roland",male,21,0,0,A/4 45380,8.05,,S +496,0,3,"Yousseff, Mr. Gerious",male,,0,0,2627,14.4583,,C +497,1,1,"Eustis, Miss. Elizabeth Mussey",female,54,1,0,36947,78.2667,D20,C +498,0,3,"Shellard, Mr. Frederick William",male,,0,0,C.A. 6212,15.1,,S +499,0,1,"Allison, Mrs. Hudson J C (Bessie Waldo Daniels)",female,25,1,2,113781,151.55,C22 C26,S +500,0,3,"Svensson, Mr. Olof",male,24,0,0,350035,7.7958,,S +501,0,3,"Calic, Mr. Petar",male,17,0,0,315086,8.6625,,S +502,0,3,"Canavan, Miss. Mary",female,21,0,0,364846,7.75,,Q +503,0,3,"O'Sullivan, Miss. Bridget Mary",female,,0,0,330909,7.6292,,Q +504,0,3,"Laitinen, Miss. Kristina Sofia",female,37,0,0,4135,9.5875,,S +505,1,1,"Maioni, Miss. Roberta",female,16,0,0,110152,86.5,B79,S +506,0,1,"Penasco y Castellana, Mr. Victor de Satode",male,18,1,0,PC 17758,108.9,C65,C +507,1,2,"Quick, Mrs. Frederick Charles (Jane Richards)",female,33,0,2,26360,26,,S +508,1,1,"Bradley, Mr. George (""George Arthur Brayton"")",male,,0,0,111427,26.55,,S +509,0,3,"Olsen, Mr. Henry Margido",male,28,0,0,C 4001,22.525,,S +510,1,3,"Lang, Mr. Fang",male,26,0,0,1601,56.4958,,S +511,1,3,"Daly, Mr. Eugene Patrick",male,29,0,0,382651,7.75,,Q +512,0,3,"Webber, Mr. James",male,,0,0,SOTON/OQ 3101316,8.05,,S +513,1,1,"McGough, Mr. James Robert",male,36,0,0,PC 17473,26.2875,E25,S +514,1,1,"Rothschild, Mrs. Martin (Elizabeth L. Barrett)",female,54,1,0,PC 17603,59.4,,C +515,0,3,"Coleff, Mr. Satio",male,24,0,0,349209,7.4958,,S +516,0,1,"Walker, Mr. William Anderson",male,47,0,0,36967,34.0208,D46,S +517,1,2,"Lemore, Mrs. (Amelia Milley)",female,34,0,0,C.A. 34260,10.5,F33,S +518,0,3,"Ryan, Mr. Patrick",male,,0,0,371110,24.15,,Q +519,1,2,"Angle, Mrs. William A (Florence ""Mary"" Agnes Hughes)",female,36,1,0,226875,26,,S +520,0,3,"Pavlovic, Mr. Stefo",male,32,0,0,349242,7.8958,,S +521,1,1,"Perreault, Miss. Anne",female,30,0,0,12749,93.5,B73,S +522,0,3,"Vovk, Mr. Janko",male,22,0,0,349252,7.8958,,S +523,0,3,"Lahoud, Mr. Sarkis",male,,0,0,2624,7.225,,C +524,1,1,"Hippach, Mrs. Louis Albert (Ida Sophia Fischer)",female,44,0,1,111361,57.9792,B18,C +525,0,3,"Kassem, Mr. Fared",male,,0,0,2700,7.2292,,C +526,0,3,"Farrell, Mr. James",male,40.5,0,0,367232,7.75,,Q +527,1,2,"Ridsdale, Miss. Lucy",female,50,0,0,W./C. 14258,10.5,,S +528,0,1,"Farthing, Mr. John",male,,0,0,PC 17483,221.7792,C95,S +529,0,3,"Salonen, Mr. Johan Werner",male,39,0,0,3101296,7.925,,S +530,0,2,"Hocking, Mr. Richard George",male,23,2,1,29104,11.5,,S +531,1,2,"Quick, Miss. Phyllis May",female,2,1,1,26360,26,,S +532,0,3,"Toufik, Mr. Nakli",male,,0,0,2641,7.2292,,C +533,0,3,"Elias, Mr. Joseph Jr",male,17,1,1,2690,7.2292,,C +534,1,3,"Peter, Mrs. Catherine (Catherine Rizk)",female,,0,2,2668,22.3583,,C +535,0,3,"Cacic, Miss. Marija",female,30,0,0,315084,8.6625,,S +536,1,2,"Hart, Miss. Eva Miriam",female,7,0,2,F.C.C. 13529,26.25,,S +537,0,1,"Butt, Major. Archibald Willingham",male,45,0,0,113050,26.55,B38,S +538,1,1,"LeRoy, Miss. Bertha",female,30,0,0,PC 17761,106.425,,C +539,0,3,"Risien, Mr. Samuel Beard",male,,0,0,364498,14.5,,S +540,1,1,"Frolicher, Miss. Hedwig Margaritha",female,22,0,2,13568,49.5,B39,C +541,1,1,"Crosby, Miss. Harriet R",female,36,0,2,WE/P 5735,71,B22,S +542,0,3,"Andersson, Miss. Ingeborg Constanzia",female,9,4,2,347082,31.275,,S +543,0,3,"Andersson, Miss. Sigrid Elisabeth",female,11,4,2,347082,31.275,,S +544,1,2,"Beane, Mr. Edward",male,32,1,0,2908,26,,S +545,0,1,"Douglas, Mr. Walter Donald",male,50,1,0,PC 17761,106.425,C86,C +546,0,1,"Nicholson, Mr. Arthur Ernest",male,64,0,0,693,26,,S +547,1,2,"Beane, Mrs. Edward (Ethel Clarke)",female,19,1,0,2908,26,,S +548,1,2,"Padro y Manent, Mr. Julian",male,,0,0,SC/PARIS 2146,13.8625,,C +549,0,3,"Goldsmith, Mr. Frank John",male,33,1,1,363291,20.525,,S +550,1,2,"Davies, Master. John Morgan Jr",male,8,1,1,C.A. 33112,36.75,,S +551,1,1,"Thayer, Mr. John Borland Jr",male,17,0,2,17421,110.8833,C70,C +552,0,2,"Sharp, Mr. Percival James R",male,27,0,0,244358,26,,S +553,0,3,"O'Brien, Mr. Timothy",male,,0,0,330979,7.8292,,Q +554,1,3,"Leeni, Mr. Fahim (""Philip Zenni"")",male,22,0,0,2620,7.225,,C +555,1,3,"Ohman, Miss. Velin",female,22,0,0,347085,7.775,,S +556,0,1,"Wright, Mr. George",male,62,0,0,113807,26.55,,S +557,1,1,"Duff Gordon, Lady. (Lucille Christiana Sutherland) (""Mrs Morgan"")",female,48,1,0,11755,39.6,A16,C +558,0,1,"Robbins, Mr. Victor",male,,0,0,PC 17757,227.525,,C +559,1,1,"Taussig, Mrs. Emil (Tillie Mandelbaum)",female,39,1,1,110413,79.65,E67,S +560,1,3,"de Messemaeker, Mrs. Guillaume Joseph (Emma)",female,36,1,0,345572,17.4,,S +561,0,3,"Morrow, Mr. Thomas Rowan",male,,0,0,372622,7.75,,Q +562,0,3,"Sivic, Mr. Husein",male,40,0,0,349251,7.8958,,S +563,0,2,"Norman, Mr. Robert Douglas",male,28,0,0,218629,13.5,,S +564,0,3,"Simmons, Mr. John",male,,0,0,SOTON/OQ 392082,8.05,,S +565,0,3,"Meanwell, Miss. (Marion Ogden)",female,,0,0,SOTON/O.Q. 392087,8.05,,S +566,0,3,"Davies, Mr. Alfred J",male,24,2,0,A/4 48871,24.15,,S +567,0,3,"Stoytcheff, Mr. Ilia",male,19,0,0,349205,7.8958,,S +568,0,3,"Palsson, Mrs. Nils (Alma Cornelia Berglund)",female,29,0,4,349909,21.075,,S +569,0,3,"Doharr, Mr. Tannous",male,,0,0,2686,7.2292,,C +570,1,3,"Jonsson, Mr. Carl",male,32,0,0,350417,7.8542,,S +571,1,2,"Harris, Mr. George",male,62,0,0,S.W./PP 752,10.5,,S +572,1,1,"Appleton, Mrs. Edward Dale (Charlotte Lamson)",female,53,2,0,11769,51.4792,C101,S +573,1,1,"Flynn, Mr. John Irwin (""Irving"")",male,36,0,0,PC 17474,26.3875,E25,S +574,1,3,"Kelly, Miss. Mary",female,,0,0,14312,7.75,,Q +575,0,3,"Rush, Mr. Alfred George John",male,16,0,0,A/4. 20589,8.05,,S +576,0,3,"Patchett, Mr. George",male,19,0,0,358585,14.5,,S +577,1,2,"Garside, Miss. Ethel",female,34,0,0,243880,13,,S +578,1,1,"Silvey, Mrs. William Baird (Alice Munger)",female,39,1,0,13507,55.9,E44,S +579,0,3,"Caram, Mrs. Joseph (Maria Elias)",female,,1,0,2689,14.4583,,C +580,1,3,"Jussila, Mr. Eiriik",male,32,0,0,STON/O 2. 3101286,7.925,,S +581,1,2,"Christy, Miss. Julie Rachel",female,25,1,1,237789,30,,S +582,1,1,"Thayer, Mrs. John Borland (Marian Longstreth Morris)",female,39,1,1,17421,110.8833,C68,C +583,0,2,"Downton, Mr. William James",male,54,0,0,28403,26,,S +584,0,1,"Ross, Mr. John Hugo",male,36,0,0,13049,40.125,A10,C +585,0,3,"Paulner, Mr. Uscher",male,,0,0,3411,8.7125,,C +586,1,1,"Taussig, Miss. Ruth",female,18,0,2,110413,79.65,E68,S +587,0,2,"Jarvis, Mr. John Denzil",male,47,0,0,237565,15,,S +588,1,1,"Frolicher-Stehli, Mr. Maxmillian",male,60,1,1,13567,79.2,B41,C +589,0,3,"Gilinski, Mr. Eliezer",male,22,0,0,14973,8.05,,S +590,0,3,"Murdlin, Mr. Joseph",male,,0,0,A./5. 3235,8.05,,S +591,0,3,"Rintamaki, Mr. Matti",male,35,0,0,STON/O 2. 3101273,7.125,,S +592,1,1,"Stephenson, Mrs. Walter Bertram (Martha Eustis)",female,52,1,0,36947,78.2667,D20,C +593,0,3,"Elsbury, Mr. William James",male,47,0,0,A/5 3902,7.25,,S +594,0,3,"Bourke, Miss. Mary",female,,0,2,364848,7.75,,Q +595,0,2,"Chapman, Mr. John Henry",male,37,1,0,SC/AH 29037,26,,S +596,0,3,"Van Impe, Mr. Jean Baptiste",male,36,1,1,345773,24.15,,S +597,1,2,"Leitch, Miss. Jessie Wills",female,,0,0,248727,33,,S +598,0,3,"Johnson, Mr. Alfred",male,49,0,0,LINE,0,,S +599,0,3,"Boulos, Mr. Hanna",male,,0,0,2664,7.225,,C +600,1,1,"Duff Gordon, Sir. Cosmo Edmund (""Mr Morgan"")",male,49,1,0,PC 17485,56.9292,A20,C +601,1,2,"Jacobsohn, Mrs. Sidney Samuel (Amy Frances Christy)",female,24,2,1,243847,27,,S +602,0,3,"Slabenoff, Mr. Petco",male,,0,0,349214,7.8958,,S +603,0,1,"Harrington, Mr. Charles H",male,,0,0,113796,42.4,,S +604,0,3,"Torber, Mr. Ernst William",male,44,0,0,364511,8.05,,S +605,1,1,"Homer, Mr. Harry (""Mr E Haven"")",male,35,0,0,111426,26.55,,C +606,0,3,"Lindell, Mr. Edvard Bengtsson",male,36,1,0,349910,15.55,,S +607,0,3,"Karaic, Mr. Milan",male,30,0,0,349246,7.8958,,S +608,1,1,"Daniel, Mr. Robert Williams",male,27,0,0,113804,30.5,,S +609,1,2,"Laroche, Mrs. Joseph (Juliette Marie Louise Lafargue)",female,22,1,2,SC/Paris 2123,41.5792,,C +610,1,1,"Shutes, Miss. Elizabeth W",female,40,0,0,PC 17582,153.4625,C125,S +611,0,3,"Andersson, Mrs. Anders Johan (Alfrida Konstantia Brogren)",female,39,1,5,347082,31.275,,S +612,0,3,"Jardin, Mr. Jose Neto",male,,0,0,SOTON/O.Q. 3101305,7.05,,S +613,1,3,"Murphy, Miss. Margaret Jane",female,,1,0,367230,15.5,,Q +614,0,3,"Horgan, Mr. John",male,,0,0,370377,7.75,,Q +615,0,3,"Brocklebank, Mr. William Alfred",male,35,0,0,364512,8.05,,S +616,1,2,"Herman, Miss. Alice",female,24,1,2,220845,65,,S +617,0,3,"Danbom, Mr. Ernst Gilbert",male,34,1,1,347080,14.4,,S +618,0,3,"Lobb, Mrs. William Arthur (Cordelia K Stanlick)",female,26,1,0,A/5. 3336,16.1,,S +619,1,2,"Becker, Miss. Marion Louise",female,4,2,1,230136,39,F4,S +620,0,2,"Gavey, Mr. Lawrence",male,26,0,0,31028,10.5,,S +621,0,3,"Yasbeck, Mr. Antoni",male,27,1,0,2659,14.4542,,C +622,1,1,"Kimball, Mr. Edwin Nelson Jr",male,42,1,0,11753,52.5542,D19,S +623,1,3,"Nakid, Mr. Sahid",male,20,1,1,2653,15.7417,,C +624,0,3,"Hansen, Mr. Henry Damsgaard",male,21,0,0,350029,7.8542,,S +625,0,3,"Bowen, Mr. David John ""Dai""",male,21,0,0,54636,16.1,,S +626,0,1,"Sutton, Mr. Frederick",male,61,0,0,36963,32.3208,D50,S +627,0,2,"Kirkland, Rev. Charles Leonard",male,57,0,0,219533,12.35,,Q +628,1,1,"Longley, Miss. Gretchen Fiske",female,21,0,0,13502,77.9583,D9,S +629,0,3,"Bostandyeff, Mr. Guentcho",male,26,0,0,349224,7.8958,,S +630,0,3,"O'Connell, Mr. Patrick D",male,,0,0,334912,7.7333,,Q +631,1,1,"Barkworth, Mr. Algernon Henry Wilson",male,80,0,0,27042,30,A23,S +632,0,3,"Lundahl, Mr. Johan Svensson",male,51,0,0,347743,7.0542,,S +633,1,1,"Stahelin-Maeglin, Dr. Max",male,32,0,0,13214,30.5,B50,C +634,0,1,"Parr, Mr. William Henry Marsh",male,,0,0,112052,0,,S +635,0,3,"Skoog, Miss. Mabel",female,9,3,2,347088,27.9,,S +636,1,2,"Davis, Miss. Mary",female,28,0,0,237668,13,,S +637,0,3,"Leinonen, Mr. Antti Gustaf",male,32,0,0,STON/O 2. 3101292,7.925,,S +638,0,2,"Collyer, Mr. Harvey",male,31,1,1,C.A. 31921,26.25,,S +639,0,3,"Panula, Mrs. Juha (Maria Emilia Ojala)",female,41,0,5,3101295,39.6875,,S +640,0,3,"Thorneycroft, Mr. Percival",male,,1,0,376564,16.1,,S +641,0,3,"Jensen, Mr. Hans Peder",male,20,0,0,350050,7.8542,,S +642,1,1,"Sagesser, Mlle. Emma",female,24,0,0,PC 17477,69.3,B35,C +643,0,3,"Skoog, Miss. Margit Elizabeth",female,2,3,2,347088,27.9,,S +644,1,3,"Foo, Mr. Choong",male,,0,0,1601,56.4958,,S +645,1,3,"Baclini, Miss. Eugenie",female,0.75,2,1,2666,19.2583,,C +646,1,1,"Harper, Mr. Henry Sleeper",male,48,1,0,PC 17572,76.7292,D33,C +647,0,3,"Cor, Mr. Liudevit",male,19,0,0,349231,7.8958,,S +648,1,1,"Simonius-Blumer, Col. Oberst Alfons",male,56,0,0,13213,35.5,A26,C +649,0,3,"Willey, Mr. Edward",male,,0,0,S.O./P.P. 751,7.55,,S +650,1,3,"Stanley, Miss. Amy Zillah Elsie",female,23,0,0,CA. 2314,7.55,,S +651,0,3,"Mitkoff, Mr. Mito",male,,0,0,349221,7.8958,,S +652,1,2,"Doling, Miss. Elsie",female,18,0,1,231919,23,,S +653,0,3,"Kalvik, Mr. Johannes Halvorsen",male,21,0,0,8475,8.4333,,S +654,1,3,"O'Leary, Miss. Hanora ""Norah""",female,,0,0,330919,7.8292,,Q +655,0,3,"Hegarty, Miss. Hanora ""Nora""",female,18,0,0,365226,6.75,,Q +656,0,2,"Hickman, Mr. Leonard Mark",male,24,2,0,S.O.C. 14879,73.5,,S +657,0,3,"Radeff, Mr. Alexander",male,,0,0,349223,7.8958,,S +658,0,3,"Bourke, Mrs. John (Catherine)",female,32,1,1,364849,15.5,,Q +659,0,2,"Eitemiller, Mr. George Floyd",male,23,0,0,29751,13,,S +660,0,1,"Newell, Mr. Arthur Webster",male,58,0,2,35273,113.275,D48,C +661,1,1,"Frauenthal, Dr. Henry William",male,50,2,0,PC 17611,133.65,,S +662,0,3,"Badt, Mr. Mohamed",male,40,0,0,2623,7.225,,C +663,0,1,"Colley, Mr. Edward Pomeroy",male,47,0,0,5727,25.5875,E58,S +664,0,3,"Coleff, Mr. Peju",male,36,0,0,349210,7.4958,,S +665,1,3,"Lindqvist, Mr. Eino William",male,20,1,0,STON/O 2. 3101285,7.925,,S +666,0,2,"Hickman, Mr. Lewis",male,32,2,0,S.O.C. 14879,73.5,,S +667,0,2,"Butler, Mr. Reginald Fenton",male,25,0,0,234686,13,,S +668,0,3,"Rommetvedt, Mr. Knud Paust",male,,0,0,312993,7.775,,S +669,0,3,"Cook, Mr. Jacob",male,43,0,0,A/5 3536,8.05,,S +670,1,1,"Taylor, Mrs. Elmer Zebley (Juliet Cummins Wright)",female,,1,0,19996,52,C126,S +671,1,2,"Brown, Mrs. Thomas William Solomon (Elizabeth Catherine Ford)",female,40,1,1,29750,39,,S +672,0,1,"Davidson, Mr. Thornton",male,31,1,0,F.C. 12750,52,B71,S +673,0,2,"Mitchell, Mr. Henry Michael",male,70,0,0,C.A. 24580,10.5,,S +674,1,2,"Wilhelms, Mr. Charles",male,31,0,0,244270,13,,S +675,0,2,"Watson, Mr. Ennis Hastings",male,,0,0,239856,0,,S +676,0,3,"Edvardsson, Mr. Gustaf Hjalmar",male,18,0,0,349912,7.775,,S +677,0,3,"Sawyer, Mr. Frederick Charles",male,24.5,0,0,342826,8.05,,S +678,1,3,"Turja, Miss. Anna Sofia",female,18,0,0,4138,9.8417,,S +679,0,3,"Goodwin, Mrs. Frederick (Augusta Tyler)",female,43,1,6,CA 2144,46.9,,S +680,1,1,"Cardeza, Mr. Thomas Drake Martinez",male,36,0,1,PC 17755,512.3292,B51 B53 B55,C +681,0,3,"Peters, Miss. Katie",female,,0,0,330935,8.1375,,Q +682,1,1,"Hassab, Mr. Hammad",male,27,0,0,PC 17572,76.7292,D49,C +683,0,3,"Olsvigen, Mr. Thor Anderson",male,20,0,0,6563,9.225,,S +684,0,3,"Goodwin, Mr. Charles Edward",male,14,5,2,CA 2144,46.9,,S +685,0,2,"Brown, Mr. Thomas William Solomon",male,60,1,1,29750,39,,S +686,0,2,"Laroche, Mr. Joseph Philippe Lemercier",male,25,1,2,SC/Paris 2123,41.5792,,C +687,0,3,"Panula, Mr. Jaako Arnold",male,14,4,1,3101295,39.6875,,S +688,0,3,"Dakic, Mr. Branko",male,19,0,0,349228,10.1708,,S +689,0,3,"Fischer, Mr. Eberhard Thelander",male,18,0,0,350036,7.7958,,S +690,1,1,"Madill, Miss. Georgette Alexandra",female,15,0,1,24160,211.3375,B5,S +691,1,1,"Dick, Mr. Albert Adrian",male,31,1,0,17474,57,B20,S +692,1,3,"Karun, Miss. Manca",female,4,0,1,349256,13.4167,,C +693,1,3,"Lam, Mr. Ali",male,,0,0,1601,56.4958,,S +694,0,3,"Saad, Mr. Khalil",male,25,0,0,2672,7.225,,C +695,0,1,"Weir, Col. John",male,60,0,0,113800,26.55,,S +696,0,2,"Chapman, Mr. Charles Henry",male,52,0,0,248731,13.5,,S +697,0,3,"Kelly, Mr. James",male,44,0,0,363592,8.05,,S +698,1,3,"Mullens, Miss. Katherine ""Katie""",female,,0,0,35852,7.7333,,Q +699,0,1,"Thayer, Mr. John Borland",male,49,1,1,17421,110.8833,C68,C +700,0,3,"Humblen, Mr. Adolf Mathias Nicolai Olsen",male,42,0,0,348121,7.65,F G63,S +701,1,1,"Astor, Mrs. John Jacob (Madeleine Talmadge Force)",female,18,1,0,PC 17757,227.525,C62 C64,C +702,1,1,"Silverthorne, Mr. Spencer Victor",male,35,0,0,PC 17475,26.2875,E24,S +703,0,3,"Barbara, Miss. Saiide",female,18,0,1,2691,14.4542,,C +704,0,3,"Gallagher, Mr. Martin",male,25,0,0,36864,7.7417,,Q +705,0,3,"Hansen, Mr. Henrik Juul",male,26,1,0,350025,7.8542,,S +706,0,2,"Morley, Mr. Henry Samuel (""Mr Henry Marshall"")",male,39,0,0,250655,26,,S +707,1,2,"Kelly, Mrs. Florence ""Fannie""",female,45,0,0,223596,13.5,,S +708,1,1,"Calderhead, Mr. Edward Pennington",male,42,0,0,PC 17476,26.2875,E24,S +709,1,1,"Cleaver, Miss. Alice",female,22,0,0,113781,151.55,,S +710,1,3,"Moubarek, Master. Halim Gonios (""William George"")",male,,1,1,2661,15.2458,,C +711,1,1,"Mayne, Mlle. Berthe Antonine (""Mrs de Villiers"")",female,24,0,0,PC 17482,49.5042,C90,C +712,0,1,"Klaber, Mr. Herman",male,,0,0,113028,26.55,C124,S +713,1,1,"Taylor, Mr. Elmer Zebley",male,48,1,0,19996,52,C126,S +714,0,3,"Larsson, Mr. August Viktor",male,29,0,0,7545,9.4833,,S +715,0,2,"Greenberg, Mr. Samuel",male,52,0,0,250647,13,,S +716,0,3,"Soholt, Mr. Peter Andreas Lauritz Andersen",male,19,0,0,348124,7.65,F G73,S +717,1,1,"Endres, Miss. Caroline Louise",female,38,0,0,PC 17757,227.525,C45,C +718,1,2,"Troutt, Miss. Edwina Celia ""Winnie""",female,27,0,0,34218,10.5,E101,S +719,0,3,"McEvoy, Mr. Michael",male,,0,0,36568,15.5,,Q +720,0,3,"Johnson, Mr. Malkolm Joackim",male,33,0,0,347062,7.775,,S +721,1,2,"Harper, Miss. Annie Jessie ""Nina""",female,6,0,1,248727,33,,S +722,0,3,"Jensen, Mr. Svend Lauritz",male,17,1,0,350048,7.0542,,S +723,0,2,"Gillespie, Mr. William Henry",male,34,0,0,12233,13,,S +724,0,2,"Hodges, Mr. Henry Price",male,50,0,0,250643,13,,S +725,1,1,"Chambers, Mr. Norman Campbell",male,27,1,0,113806,53.1,E8,S +726,0,3,"Oreskovic, Mr. Luka",male,20,0,0,315094,8.6625,,S +727,1,2,"Renouf, Mrs. Peter Henry (Lillian Jefferys)",female,30,3,0,31027,21,,S +728,1,3,"Mannion, Miss. Margareth",female,,0,0,36866,7.7375,,Q +729,0,2,"Bryhl, Mr. Kurt Arnold Gottfrid",male,25,1,0,236853,26,,S +730,0,3,"Ilmakangas, Miss. Pieta Sofia",female,25,1,0,STON/O2. 3101271,7.925,,S +731,1,1,"Allen, Miss. Elisabeth Walton",female,29,0,0,24160,211.3375,B5,S +732,0,3,"Hassan, Mr. Houssein G N",male,11,0,0,2699,18.7875,,C +733,0,2,"Knight, Mr. Robert J",male,,0,0,239855,0,,S +734,0,2,"Berriman, Mr. William John",male,23,0,0,28425,13,,S +735,0,2,"Troupiansky, Mr. Moses Aaron",male,23,0,0,233639,13,,S +736,0,3,"Williams, Mr. Leslie",male,28.5,0,0,54636,16.1,,S +737,0,3,"Ford, Mrs. Edward (Margaret Ann Watson)",female,48,1,3,W./C. 6608,34.375,,S +738,1,1,"Lesurer, Mr. Gustave J",male,35,0,0,PC 17755,512.3292,B101,C +739,0,3,"Ivanoff, Mr. Kanio",male,,0,0,349201,7.8958,,S +740,0,3,"Nankoff, Mr. Minko",male,,0,0,349218,7.8958,,S +741,1,1,"Hawksford, Mr. Walter James",male,,0,0,16988,30,D45,S +742,0,1,"Cavendish, Mr. Tyrell William",male,36,1,0,19877,78.85,C46,S +743,1,1,"Ryerson, Miss. Susan Parker ""Suzette""",female,21,2,2,PC 17608,262.375,B57 B59 B63 B66,C +744,0,3,"McNamee, Mr. Neal",male,24,1,0,376566,16.1,,S +745,1,3,"Stranden, Mr. Juho",male,31,0,0,STON/O 2. 3101288,7.925,,S +746,0,1,"Crosby, Capt. Edward Gifford",male,70,1,1,WE/P 5735,71,B22,S +747,0,3,"Abbott, Mr. Rossmore Edward",male,16,1,1,C.A. 2673,20.25,,S +748,1,2,"Sinkkonen, Miss. Anna",female,30,0,0,250648,13,,S +749,0,1,"Marvin, Mr. Daniel Warner",male,19,1,0,113773,53.1,D30,S +750,0,3,"Connaghton, Mr. Michael",male,31,0,0,335097,7.75,,Q +751,1,2,"Wells, Miss. Joan",female,4,1,1,29103,23,,S +752,1,3,"Moor, Master. Meier",male,6,0,1,392096,12.475,E121,S +753,0,3,"Vande Velde, Mr. Johannes Joseph",male,33,0,0,345780,9.5,,S +754,0,3,"Jonkoff, Mr. Lalio",male,23,0,0,349204,7.8958,,S +755,1,2,"Herman, Mrs. Samuel (Jane Laver)",female,48,1,2,220845,65,,S +756,1,2,"Hamalainen, Master. Viljo",male,0.67,1,1,250649,14.5,,S +757,0,3,"Carlsson, Mr. August Sigfrid",male,28,0,0,350042,7.7958,,S +758,0,2,"Bailey, Mr. Percy Andrew",male,18,0,0,29108,11.5,,S +759,0,3,"Theobald, Mr. Thomas Leonard",male,34,0,0,363294,8.05,,S +760,1,1,"Rothes, the Countess. of (Lucy Noel Martha Dyer-Edwards)",female,33,0,0,110152,86.5,B77,S +761,0,3,"Garfirth, Mr. John",male,,0,0,358585,14.5,,S +762,0,3,"Nirva, Mr. Iisakki Antino Aijo",male,41,0,0,SOTON/O2 3101272,7.125,,S +763,1,3,"Barah, Mr. Hanna Assi",male,20,0,0,2663,7.2292,,C +764,1,1,"Carter, Mrs. William Ernest (Lucile Polk)",female,36,1,2,113760,120,B96 B98,S +765,0,3,"Eklund, Mr. Hans Linus",male,16,0,0,347074,7.775,,S +766,1,1,"Hogeboom, Mrs. John C (Anna Andrews)",female,51,1,0,13502,77.9583,D11,S +767,0,1,"Brewe, Dr. Arthur Jackson",male,,0,0,112379,39.6,,C +768,0,3,"Mangan, Miss. Mary",female,30.5,0,0,364850,7.75,,Q +769,0,3,"Moran, Mr. Daniel J",male,,1,0,371110,24.15,,Q +770,0,3,"Gronnestad, Mr. Daniel Danielsen",male,32,0,0,8471,8.3625,,S +771,0,3,"Lievens, Mr. Rene Aime",male,24,0,0,345781,9.5,,S +772,0,3,"Jensen, Mr. Niels Peder",male,48,0,0,350047,7.8542,,S +773,0,2,"Mack, Mrs. (Mary)",female,57,0,0,S.O./P.P. 3,10.5,E77,S +774,0,3,"Elias, Mr. Dibo",male,,0,0,2674,7.225,,C +775,1,2,"Hocking, Mrs. Elizabeth (Eliza Needs)",female,54,1,3,29105,23,,S +776,0,3,"Myhrman, Mr. Pehr Fabian Oliver Malkolm",male,18,0,0,347078,7.75,,S +777,0,3,"Tobin, Mr. Roger",male,,0,0,383121,7.75,F38,Q +778,1,3,"Emanuel, Miss. Virginia Ethel",female,5,0,0,364516,12.475,,S +779,0,3,"Kilgannon, Mr. Thomas J",male,,0,0,36865,7.7375,,Q +780,1,1,"Robert, Mrs. Edward Scott (Elisabeth Walton McMillan)",female,43,0,1,24160,211.3375,B3,S +781,1,3,"Ayoub, Miss. Banoura",female,13,0,0,2687,7.2292,,C +782,1,1,"Dick, Mrs. Albert Adrian (Vera Gillespie)",female,17,1,0,17474,57,B20,S +783,0,1,"Long, Mr. Milton Clyde",male,29,0,0,113501,30,D6,S +784,0,3,"Johnston, Mr. Andrew G",male,,1,2,W./C. 6607,23.45,,S +785,0,3,"Ali, Mr. William",male,25,0,0,SOTON/O.Q. 3101312,7.05,,S +786,0,3,"Harmer, Mr. Abraham (David Lishin)",male,25,0,0,374887,7.25,,S +787,1,3,"Sjoblom, Miss. Anna Sofia",female,18,0,0,3101265,7.4958,,S +788,0,3,"Rice, Master. George Hugh",male,8,4,1,382652,29.125,,Q +789,1,3,"Dean, Master. Bertram Vere",male,1,1,2,C.A. 2315,20.575,,S +790,0,1,"Guggenheim, Mr. Benjamin",male,46,0,0,PC 17593,79.2,B82 B84,C +791,0,3,"Keane, Mr. Andrew ""Andy""",male,,0,0,12460,7.75,,Q +792,0,2,"Gaskell, Mr. Alfred",male,16,0,0,239865,26,,S +793,0,3,"Sage, Miss. Stella Anna",female,,8,2,CA. 2343,69.55,,S +794,0,1,"Hoyt, Mr. William Fisher",male,,0,0,PC 17600,30.6958,,C +795,0,3,"Dantcheff, Mr. Ristiu",male,25,0,0,349203,7.8958,,S +796,0,2,"Otter, Mr. Richard",male,39,0,0,28213,13,,S +797,1,1,"Leader, Dr. Alice (Farnham)",female,49,0,0,17465,25.9292,D17,S +798,1,3,"Osman, Mrs. Mara",female,31,0,0,349244,8.6833,,S +799,0,3,"Ibrahim Shawah, Mr. Yousseff",male,30,0,0,2685,7.2292,,C +800,0,3,"Van Impe, Mrs. Jean Baptiste (Rosalie Paula Govaert)",female,30,1,1,345773,24.15,,S +801,0,2,"Ponesell, Mr. Martin",male,34,0,0,250647,13,,S +802,1,2,"Collyer, Mrs. Harvey (Charlotte Annie Tate)",female,31,1,1,C.A. 31921,26.25,,S +803,1,1,"Carter, Master. William Thornton II",male,11,1,2,113760,120,B96 B98,S +804,1,3,"Thomas, Master. Assad Alexander",male,0.42,0,1,2625,8.5167,,C +805,1,3,"Hedman, Mr. Oskar Arvid",male,27,0,0,347089,6.975,,S +806,0,3,"Johansson, Mr. Karl Johan",male,31,0,0,347063,7.775,,S +807,0,1,"Andrews, Mr. Thomas Jr",male,39,0,0,112050,0,A36,S +808,0,3,"Pettersson, Miss. Ellen Natalia",female,18,0,0,347087,7.775,,S +809,0,2,"Meyer, Mr. August",male,39,0,0,248723,13,,S +810,1,1,"Chambers, Mrs. Norman Campbell (Bertha Griggs)",female,33,1,0,113806,53.1,E8,S +811,0,3,"Alexander, Mr. William",male,26,0,0,3474,7.8875,,S +812,0,3,"Lester, Mr. James",male,39,0,0,A/4 48871,24.15,,S +813,0,2,"Slemen, Mr. Richard James",male,35,0,0,28206,10.5,,S +814,0,3,"Andersson, Miss. Ebba Iris Alfrida",female,6,4,2,347082,31.275,,S +815,0,3,"Tomlin, Mr. Ernest Portage",male,30.5,0,0,364499,8.05,,S +816,0,1,"Fry, Mr. Richard",male,,0,0,112058,0,B102,S +817,0,3,"Heininen, Miss. Wendla Maria",female,23,0,0,STON/O2. 3101290,7.925,,S +818,0,2,"Mallet, Mr. Albert",male,31,1,1,S.C./PARIS 2079,37.0042,,C +819,0,3,"Holm, Mr. John Fredrik Alexander",male,43,0,0,C 7075,6.45,,S +820,0,3,"Skoog, Master. Karl Thorsten",male,10,3,2,347088,27.9,,S +821,1,1,"Hays, Mrs. Charles Melville (Clara Jennings Gregg)",female,52,1,1,12749,93.5,B69,S +822,1,3,"Lulic, Mr. Nikola",male,27,0,0,315098,8.6625,,S +823,0,1,"Reuchlin, Jonkheer. John George",male,38,0,0,19972,0,,S +824,1,3,"Moor, Mrs. (Beila)",female,27,0,1,392096,12.475,E121,S +825,0,3,"Panula, Master. Urho Abraham",male,2,4,1,3101295,39.6875,,S +826,0,3,"Flynn, Mr. John",male,,0,0,368323,6.95,,Q +827,0,3,"Lam, Mr. Len",male,,0,0,1601,56.4958,,S +828,1,2,"Mallet, Master. Andre",male,1,0,2,S.C./PARIS 2079,37.0042,,C +829,1,3,"McCormack, Mr. Thomas Joseph",male,,0,0,367228,7.75,,Q +830,1,1,"Stone, Mrs. George Nelson (Martha Evelyn)",female,62,0,0,113572,80,B28, +831,1,3,"Yasbeck, Mrs. Antoni (Selini Alexander)",female,15,1,0,2659,14.4542,,C +832,1,2,"Richards, Master. George Sibley",male,0.83,1,1,29106,18.75,,S +833,0,3,"Saad, Mr. Amin",male,,0,0,2671,7.2292,,C +834,0,3,"Augustsson, Mr. Albert",male,23,0,0,347468,7.8542,,S +835,0,3,"Allum, Mr. Owen George",male,18,0,0,2223,8.3,,S +836,1,1,"Compton, Miss. Sara Rebecca",female,39,1,1,PC 17756,83.1583,E49,C +837,0,3,"Pasic, Mr. Jakob",male,21,0,0,315097,8.6625,,S +838,0,3,"Sirota, Mr. Maurice",male,,0,0,392092,8.05,,S +839,1,3,"Chip, Mr. Chang",male,32,0,0,1601,56.4958,,S +840,1,1,"Marechal, Mr. Pierre",male,,0,0,11774,29.7,C47,C +841,0,3,"Alhomaki, Mr. Ilmari Rudolf",male,20,0,0,SOTON/O2 3101287,7.925,,S +842,0,2,"Mudd, Mr. Thomas Charles",male,16,0,0,S.O./P.P. 3,10.5,,S +843,1,1,"Serepeca, Miss. Augusta",female,30,0,0,113798,31,,C +844,0,3,"Lemberopolous, Mr. Peter L",male,34.5,0,0,2683,6.4375,,C +845,0,3,"Culumovic, Mr. Jeso",male,17,0,0,315090,8.6625,,S +846,0,3,"Abbing, Mr. Anthony",male,42,0,0,C.A. 5547,7.55,,S +847,0,3,"Sage, Mr. Douglas Bullen",male,,8,2,CA. 2343,69.55,,S +848,0,3,"Markoff, Mr. Marin",male,35,0,0,349213,7.8958,,C +849,0,2,"Harper, Rev. John",male,28,0,1,248727,33,,S +850,1,1,"Goldenberg, Mrs. Samuel L (Edwiga Grabowska)",female,,1,0,17453,89.1042,C92,C +851,0,3,"Andersson, Master. Sigvard Harald Elias",male,4,4,2,347082,31.275,,S +852,0,3,"Svensson, Mr. Johan",male,74,0,0,347060,7.775,,S +853,0,3,"Boulos, Miss. Nourelain",female,9,1,1,2678,15.2458,,C +854,1,1,"Lines, Miss. Mary Conover",female,16,0,1,PC 17592,39.4,D28,S +855,0,2,"Carter, Mrs. Ernest Courtenay (Lilian Hughes)",female,44,1,0,244252,26,,S +856,1,3,"Aks, Mrs. Sam (Leah Rosen)",female,18,0,1,392091,9.35,,S +857,1,1,"Wick, Mrs. George Dennick (Mary Hitchcock)",female,45,1,1,36928,164.8667,,S +858,1,1,"Daly, Mr. Peter Denis ",male,51,0,0,113055,26.55,E17,S +859,1,3,"Baclini, Mrs. Solomon (Latifa Qurban)",female,24,0,3,2666,19.2583,,C +860,0,3,"Razi, Mr. Raihed",male,,0,0,2629,7.2292,,C +861,0,3,"Hansen, Mr. Claus Peter",male,41,2,0,350026,14.1083,,S +862,0,2,"Giles, Mr. Frederick Edward",male,21,1,0,28134,11.5,,S +863,1,1,"Swift, Mrs. Frederick Joel (Margaret Welles Barron)",female,48,0,0,17466,25.9292,D17,S +864,0,3,"Sage, Miss. Dorothy Edith ""Dolly""",female,,8,2,CA. 2343,69.55,,S +865,0,2,"Gill, Mr. John William",male,24,0,0,233866,13,,S +866,1,2,"Bystrom, Mrs. (Karolina)",female,42,0,0,236852,13,,S +867,1,2,"Duran y More, Miss. Asuncion",female,27,1,0,SC/PARIS 2149,13.8583,,C +868,0,1,"Roebling, Mr. Washington Augustus II",male,31,0,0,PC 17590,50.4958,A24,S +869,0,3,"van Melkebeke, Mr. Philemon",male,,0,0,345777,9.5,,S +870,1,3,"Johnson, Master. Harold Theodor",male,4,1,1,347742,11.1333,,S +871,0,3,"Balkic, Mr. Cerin",male,26,0,0,349248,7.8958,,S +872,1,1,"Beckwith, Mrs. Richard Leonard (Sallie Monypeny)",female,47,1,1,11751,52.5542,D35,S +873,0,1,"Carlsson, Mr. Frans Olof",male,33,0,0,695,5,B51 B53 B55,S +874,0,3,"Vander Cruyssen, Mr. Victor",male,47,0,0,345765,9,,S +875,1,2,"Abelson, Mrs. Samuel (Hannah Wizosky)",female,28,1,0,P/PP 3381,24,,C +876,1,3,"Najib, Miss. Adele Kiamie ""Jane""",female,15,0,0,2667,7.225,,C +877,0,3,"Gustafsson, Mr. Alfred Ossian",male,20,0,0,7534,9.8458,,S +878,0,3,"Petroff, Mr. Nedelio",male,19,0,0,349212,7.8958,,S +879,0,3,"Laleff, Mr. Kristo",male,,0,0,349217,7.8958,,S +880,1,1,"Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)",female,56,0,1,11767,83.1583,C50,C +881,1,2,"Shelley, Mrs. William (Imanita Parrish Hall)",female,25,0,1,230433,26,,S +882,0,3,"Markun, Mr. Johann",male,33,0,0,349257,7.8958,,S +883,0,3,"Dahlberg, Miss. Gerda Ulrika",female,22,0,0,7552,10.5167,,S +884,0,2,"Banfield, Mr. Frederick James",male,28,0,0,C.A./SOTON 34068,10.5,,S +885,0,3,"Sutehall, Mr. Henry Jr",male,25,0,0,SOTON/OQ 392076,7.05,,S +886,0,3,"Rice, Mrs. William (Margaret Norton)",female,39,0,5,382652,29.125,,Q +887,0,2,"Montvila, Rev. Juozas",male,27,0,0,211536,13,,S +888,1,1,"Graham, Miss. Margaret Edith",female,19,0,0,112053,30,B42,S +889,0,3,"Johnston, Miss. Catherine Helen ""Carrie""",female,,1,2,W./C. 6607,23.45,,S +890,1,1,"Behr, Mr. Karl Howell",male,26,0,0,111369,30,C148,C +891,0,3,"Dooley, Mr. Patrick",male,32,0,0,370376,7.75,,Q diff --git a/python clean code/clean-code-in-python.pdf b/python clean code/clean-code-in-python.pdf new file mode 100644 index 0000000..edfa1ce Binary files /dev/null and b/python clean code/clean-code-in-python.pdf differ