diff --git a/.gitignore b/.gitignore
index 4e53a6a..295f9e6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -176,3 +176,5 @@ Cargo.lock
# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb
+
+*.csv
diff --git a/python/Assignment_tutorial_4.ipynb b/python/Assignment_tutorial_4.ipynb
new file mode 100644
index 0000000..6dd8a77
--- /dev/null
+++ b/python/Assignment_tutorial_4.ipynb
@@ -0,0 +1,260 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Tutorial 4 Assignment - Logistic Regression\n",
+ "\n",
+ "We have provided you with a preprocessed dataset, the first cell will load and set everything up for you.\n",
+ "The objectives for you to complete are as follows:\n",
+ "1. Code up the commented functions on your own.\n",
+ "2. Every step that you must code are explained as comments, use them as hints.\n",
+ "\n",
+ "The last cell has the code set up for training the model. We expect each one to have trained the model, and note down the best accuracy that they can achieve, and the conditions required to do the same."
+ ],
+ "metadata": {
+ "id": "1k2vhsMVv0Pk"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "!wget -O dataset.csv \"https://docs.google.com/spreadsheets/d/1RNtDIvisrnOmjJxS7aPm-45NtOH3qd5-mgd2bHeSOGA/export?format=csv&gid=1727131321\"\n",
+ "import pandas as pd\n",
+ "from sklearn.preprocessing import StandardScaler\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "\n",
+ "df=pd.read_csv('/content/dataset.csv')\n",
+ "\n",
+ "df.head()\n",
+ "X = df.drop(['RainTomorrow'], axis=1)\n",
+ "y = df['RainTomorrow']\n",
+ "scaler = StandardScaler()\n",
+ "X_scaled = scaler.fit_transform(X)\n",
+ "X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42, stratify=y)\n"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "nj3rHkttqucf",
+ "outputId": "0ff8d346-148a-4dd9-df8c-4696d2a002c3"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "--2024-08-30 09:47:10-- https://docs.google.com/spreadsheets/d/1RNtDIvisrnOmjJxS7aPm-45NtOH3qd5-mgd2bHeSOGA/export?format=csv&gid=1727131321\n",
+ "Resolving docs.google.com (docs.google.com)... 74.125.132.138, 74.125.132.139, 74.125.132.113, ...\n",
+ "Connecting to docs.google.com (docs.google.com)|74.125.132.138|:443... connected.\n",
+ "HTTP request sent, awaiting response... 307 Temporary Redirect\n",
+ "Location: https://doc-00-c8-sheets.googleusercontent.com/export/54bogvaave6cua4cdnls17ksc4/p30qcagdcmtcqd8ure4jdd8ec0/1725011230000/112261653790527273724/*/1RNtDIvisrnOmjJxS7aPm-45NtOH3qd5-mgd2bHeSOGA?format=csv&gid=1727131321 [following]\n",
+ "Warning: wildcards not supported in HTTP.\n",
+ "--2024-08-30 09:47:10-- https://doc-00-c8-sheets.googleusercontent.com/export/54bogvaave6cua4cdnls17ksc4/p30qcagdcmtcqd8ure4jdd8ec0/1725011230000/112261653790527273724/*/1RNtDIvisrnOmjJxS7aPm-45NtOH3qd5-mgd2bHeSOGA?format=csv&gid=1727131321\n",
+ "Resolving doc-00-c8-sheets.googleusercontent.com (doc-00-c8-sheets.googleusercontent.com)... 74.125.201.132, 2607:f8b0:4001:c01::84\n",
+ "Connecting to doc-00-c8-sheets.googleusercontent.com (doc-00-c8-sheets.googleusercontent.com)|74.125.201.132|:443... connected.\n",
+ "HTTP request sent, awaiting response... 200 OK\n",
+ "Length: unspecified [text/csv]\n",
+ "Saving to: ‘dataset.csv’\n",
+ "\n",
+ "dataset.csv [ <=> ] 12.04M 5.00MB/s in 2.4s \n",
+ "\n",
+ "2024-08-30 09:47:17 (5.00 MB/s) - ‘dataset.csv’ saved [12621972]\n",
+ "\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# CODE BELOW"
+ ],
+ "metadata": {
+ "id": "kiZ4TBA6wFea"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "2A-RJ6Rscyoa"
+ },
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "\n",
+ "def sigmoid(z):\n",
+ " \"\"\"\n",
+ " Compute the sigmoid function.\n",
+ "\n",
+ " Parameters:\n",
+ " z : numpy array\n",
+ " Linear combination of weights and input features.\n",
+ "\n",
+ " Returns:\n",
+ " numpy array\n",
+ " Sigmoid of input z.\n",
+ " \"\"\"\n",
+ " pass\n",
+ "\n",
+ "def initialize_weights(n_features):\n",
+ " \"\"\"\n",
+ " Initialize weights and bias to zero.\n",
+ "\n",
+ " Parameters:\n",
+ " n_features : int\n",
+ " Number of features in the dataset.\n",
+ "\n",
+ " Returns:\n",
+ " tuple\n",
+ " Initialized weights and bias.\n",
+ " \"\"\"\n",
+ " # initialize the weights and bias to zero (hint: make sure dimentions are correct)\n",
+ "\n",
+ " return weights, bias\n",
+ "\n",
+ "def compute_cost(y, y_pred):\n",
+ " \"\"\"\n",
+ " Compute the cost function for logistic regression.\n",
+ "\n",
+ " Parameters:\n",
+ " y : numpy array\n",
+ " Actual labels.\n",
+ " y_pred : numpy array\n",
+ " Predicted probabilities.\n",
+ "\n",
+ " Returns:\n",
+ " float\n",
+ " The cost value.\n",
+ " \"\"\"\n",
+ " # compute the cost\n",
+ "\n",
+ " return cost\n",
+ "\n",
+ "def compute_gradients(X, y, y_pred):\n",
+ " \"\"\"\n",
+ " Compute the gradients for weights and bias.\n",
+ "\n",
+ " Parameters:\n",
+ " X : numpy array\n",
+ " Feature matrix.\n",
+ " y : numpy array\n",
+ " Actual labels.\n",
+ " y_pred : numpy array\n",
+ " Predicted probabilities.\n",
+ "\n",
+ " Returns:\n",
+ " tuple\n",
+ " Gradients of weights and bias.\n",
+ " \"\"\"\n",
+ " m = X.shape[0]\n",
+ "\n",
+ " # compute dw\n",
+ "\n",
+ " # compute db\n",
+ "\n",
+ " return dw, db\n",
+ "\n",
+ "\n",
+ "def optimize(X, y, weights, bias, learning_rate, num_iterations):\n",
+ " \"\"\"\n",
+ " Perform gradient descent to optimize weights and bias.\n",
+ "\n",
+ " Parameters:\n",
+ " X : numpy array\n",
+ " Feature matrix.\n",
+ " y : numpy array\n",
+ " Actual labels.\n",
+ " weights : numpy array\n",
+ " Weights of the model.\n",
+ " bias : float\n",
+ " Bias of the model.\n",
+ " learning_rate : float\n",
+ " Learning rate for gradient descent.\n",
+ " num_iterations : int\n",
+ " Number of iterations for gradient descent.\n",
+ "\n",
+ " Returns:\n",
+ " tuple\n",
+ " Optimized weights, bias, and the list of costs.\n",
+ " \"\"\"\n",
+ " costs = []\n",
+ "\n",
+ " for i in range(num_iterations):\n",
+ " # Compute linear model\n",
+ "\n",
+ " # Apply sigmoid function\n",
+ "\n",
+ " # Compute cost\n",
+ "\n",
+ " # Compute gradients\n",
+ "\n",
+ " # Update weights and bias\n",
+ " pass\n",
+ " return weights, bias, costs\n",
+ "\n",
+ "def predict(X, weights, bias):\n",
+ " \"\"\"\n",
+ " Predict the binary labels for a dataset.\n",
+ "\n",
+ " Parameters:\n",
+ " X : numpy array\n",
+ " Feature matrix.\n",
+ " weights : numpy array\n",
+ " Weights of the model.\n",
+ " bias : float\n",
+ " Bias of the model.\n",
+ "\n",
+ " Returns:\n",
+ " numpy array\n",
+ " Predicted binary labels (0 or 1).\n",
+ " \"\"\"\n",
+ " z = np.dot(X, weights) + bias\n",
+ " y_pred = sigmoid(z)\n",
+ " predictions = [1 if i > 0.5 else 0 for i in y_pred]\n",
+ " return np.array(predictions)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# COMPUTE ACCURACY"
+ ],
+ "metadata": {
+ "id": "v9rwH83Rwrfk"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "weights, bias,costs = optimize()\n",
+ "y_pred = predict(X_test,weights,bias)\n",
+ "matches = np.sum(y_test == y_pred)\n",
+ "mismatches = np.sum(y_test != y_pred)\n",
+ "print(f\"Accuracy: {matches/(matches+mismatches)}\")"
+ ],
+ "metadata": {
+ "id": "eyGEV4mWB-rW"
+ },
+ "execution_count": null,
+ "outputs": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/python/Tutorial3.ipynb b/python/Tutorial3.ipynb
new file mode 100644
index 0000000..14d15b9
--- /dev/null
+++ b/python/Tutorial3.ipynb
@@ -0,0 +1,936 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "i6sPnhMH0raw"
+ },
+ "source": [
+ "# House Price Prediction\n",
+ "\n",
+ "Think of finding the perfect house as a complex journey involving negotiations, research, and decision-making. Now, imagine having a smart guide that helps you navigate through this maze by analyzing data and predicting outcomes. Linear regression is that guide. In this tutorial, we'll explore how linear regression helps us understand and predict relationships in data, just like finding the ideal house by matching features with price. Let's get started and discover how this powerful tool can simplify your data-driven decisions!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "huwdh4Es3EZ2"
+ },
+ "source": [
+ "## Setup\n",
+ "\n",
+ "The House Price Prediction Dataset contains 13 features\n",
+ "\n",
+ "| # | Column Name | Description |\n",
+ "|----|----------------|---------------------------------------------------------------------|\n",
+ "| 1 | Id | To count the records. |\n",
+ "| 2 | MSSubClass | Identifies the type of dwelling involved in the sale. |\n",
+ "| 3 | MSZoning | Identifies the general zoning classification of the sale. |\n",
+ "| 4 | LotArea | Lot size in square feet. |\n",
+ "| 5 | LotConfig | Configuration of the lot |\n",
+ "| 6 | BldgType | Type of dwelling |\n",
+ "| 7 | OverallCond | Rates the overall condition of the house |\n",
+ "| 8 | YearBuilt | Original construction year |\n",
+ "| 9 | YearRemodAdd | Remodel date (same as construction date if no remodeling or additions). |\n",
+ "| 10 | Exterior1st | Exterior covering on house |\n",
+ "| 11 | BsmtFinSF2 | Type 2 finished square feet. |\n",
+ "| 12 | TotalBsmtSF | Total square feet of basement area |\n",
+ "| 13 | SalePrice | To be predicted |\n",
+ "\n",
+ "\n",
+ "Run the cell below to download dataset"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "W5Y7ZPKz0nf8",
+ "outputId": "786a4293-3f63-4065-c005-4d5b11d8c15b"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "--2024-08-23 11:26:23-- https://docs.google.com/spreadsheets/d/1caaR9pT24GNmq3rDQpMiIMJrmiTGarbs/export?format=csv&id=1caaR9pT24GNmq3rDQpMiIMJrmiTGarbs&gid=1150341366\n",
+ "Resolving docs.google.com (docs.google.com)... 172.217.164.14, 2607:f8b0:4025:803::200e\n",
+ "Connecting to docs.google.com (docs.google.com)|172.217.164.14|:443... connected.\n",
+ "HTTP request sent, awaiting response... 307 Temporary Redirect\n",
+ "Location: https://doc-08-30-sheets.googleusercontent.com/export/54bogvaave6cua4cdnls17ksc4/pq9qv18vh410aflmm0u38bfc4o/1724412380000/115253717745408081083/*/1caaR9pT24GNmq3rDQpMiIMJrmiTGarbs?format=csv&id=1caaR9pT24GNmq3rDQpMiIMJrmiTGarbs&gid=1150341366 [following]\n",
+ "Warning: wildcards not supported in HTTP.\n",
+ "--2024-08-23 11:26:24-- https://doc-08-30-sheets.googleusercontent.com/export/54bogvaave6cua4cdnls17ksc4/pq9qv18vh410aflmm0u38bfc4o/1724412380000/115253717745408081083/*/1caaR9pT24GNmq3rDQpMiIMJrmiTGarbs?format=csv&id=1caaR9pT24GNmq3rDQpMiIMJrmiTGarbs&gid=1150341366\n",
+ "Resolving doc-08-30-sheets.googleusercontent.com (doc-08-30-sheets.googleusercontent.com)... 172.217.12.1, 2607:f8b0:4025:815::2001\n",
+ "Connecting to doc-08-30-sheets.googleusercontent.com (doc-08-30-sheets.googleusercontent.com)|172.217.12.1|:443... connected.\n",
+ "HTTP request sent, awaiting response... 200 OK\n",
+ "Length: unspecified [text/csv]\n",
+ "Saving to: ‘dataset.csv’\n",
+ "\n",
+ "dataset.csv [ <=> ] 171.41K --.-KB/s in 0.03s \n",
+ "\n",
+ "2024-08-23 11:26:24 (5.15 MB/s) - ‘dataset.csv’ saved [175524]\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "!wget -O dataset.csv \"https://docs.google.com/spreadsheets/d/1caaR9pT24GNmq3rDQpMiIMJrmiTGarbs/export?format=csv&id=1caaR9pT24GNmq3rDQpMiIMJrmiTGarbs&gid=1150341366\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "-r572AXndHZn"
+ },
+ "source": [
+ "### Importing libraries"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "Vrb6A7dQdGK2"
+ },
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "from sklearn.preprocessing import OneHotEncoder\n",
+ "from sklearn.preprocessing import MinMaxScaler\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "import numpy as np\n",
+ "from sklearn.metrics import mean_squared_error\n",
+ "from sklearn.metrics import mean_absolute_error\n",
+ "import matplotlib.pyplot as plt"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "KLdgiCGJ9dN-"
+ },
+ "source": [
+ "### Create DataFrame"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "NhdMHsM4831s"
+ },
+ "outputs": [],
+ "source": [
+ "file_path = '/content/dataset.csv'\n",
+ "df = pd.read_csv(file_path)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "KtYExjQRHBQo"
+ },
+ "source": [
+ "# Preprocessing"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "x7n5GmAWwoO_"
+ },
+ "outputs": [],
+ "source": [
+ "df.drop(['Id'],axis=1,inplace=True)\n",
+ "df['SalePrice'].fillna(df['SalePrice'].mean(), inplace=True)\n",
+ "df_copy=df.copy()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "2LrDmZryG9Pm"
+ },
+ "outputs": [],
+ "source": [
+ "new_data = df_copy.dropna()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "Q0PeWhNYHTdl",
+ "outputId": "f3988361-0a4c-4155-dbf2-d852e1d90ccd"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Categorical variables:\n",
+ "['MSZoning', 'LotConfig', 'BldgType', 'Exterior1st']\n",
+ "No. of. categorical features: 4\n"
+ ]
+ }
+ ],
+ "source": [
+ "s = (new_data.dtypes == 'object')\n",
+ "object_cols = list(s[s].index)\n",
+ "print(\"Categorical variables:\")\n",
+ "print(object_cols)\n",
+ "print('No. of. categorical features: ',\n",
+ "\tlen(object_cols))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "qzkrtVtEd2ab"
+ },
+ "source": [
+ "### One Hot Encoding"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 307
+ },
+ "id": "HwH4nB9QILS8",
+ "outputId": "a1ccab90-5d6d-4c09-b5b8-c5d9a9b831a8"
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/usr/local/lib/python3.10/dist-packages/sklearn/preprocessing/_encoders.py:975: FutureWarning: `sparse` was renamed to `sparse_output` in version 1.2 and will be removed in 1.4. `sparse_output` is ignored unless you leave `sparse` to its default value.\n",
+ " warnings.warn(\n"
+ ]
+ },
+ {
+ "data": {
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "type": "dataframe",
+ "variable_name": "df_final"
+ },
+ "text/html": [
+ "\n",
+ "
\n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " MSSubClass | \n",
+ " LotArea | \n",
+ " OverallCond | \n",
+ " YearBuilt | \n",
+ " YearRemodAdd | \n",
+ " BsmtFinSF2 | \n",
+ " TotalBsmtSF | \n",
+ " SalePrice | \n",
+ " MSZoning_C (all) | \n",
+ " MSZoning_FV | \n",
+ " ... | \n",
+ " Exterior1st_CemntBd | \n",
+ " Exterior1st_HdBoard | \n",
+ " Exterior1st_ImStucc | \n",
+ " Exterior1st_MetalSd | \n",
+ " Exterior1st_Plywood | \n",
+ " Exterior1st_Stone | \n",
+ " Exterior1st_Stucco | \n",
+ " Exterior1st_VinylSd | \n",
+ " Exterior1st_Wd Sdng | \n",
+ " Exterior1st_WdShing | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 60 | \n",
+ " 8450 | \n",
+ " 5 | \n",
+ " 2003 | \n",
+ " 2003 | \n",
+ " 0.0 | \n",
+ " 856.0 | \n",
+ " 208500.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " ... | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 20 | \n",
+ " 9600 | \n",
+ " 8 | \n",
+ " 1976 | \n",
+ " 1976 | \n",
+ " 0.0 | \n",
+ " 1262.0 | \n",
+ " 181500.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " ... | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 60 | \n",
+ " 11250 | \n",
+ " 5 | \n",
+ " 2001 | \n",
+ " 2002 | \n",
+ " 0.0 | \n",
+ " 920.0 | \n",
+ " 223500.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " ... | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 70 | \n",
+ " 9550 | \n",
+ " 5 | \n",
+ " 1915 | \n",
+ " 1970 | \n",
+ " 0.0 | \n",
+ " 756.0 | \n",
+ " 140000.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " ... | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 60 | \n",
+ " 14260 | \n",
+ " 5 | \n",
+ " 2000 | \n",
+ " 2000 | \n",
+ " 0.0 | \n",
+ " 1145.0 | \n",
+ " 250000.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " ... | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 38 columns
\n",
+ "
\n",
+ "
\n",
+ "
\n"
+ ],
+ "text/plain": [
+ " MSSubClass LotArea OverallCond YearBuilt YearRemodAdd BsmtFinSF2 \\\n",
+ "0 60 8450 5 2003 2003 0.0 \n",
+ "1 20 9600 8 1976 1976 0.0 \n",
+ "2 60 11250 5 2001 2002 0.0 \n",
+ "3 70 9550 5 1915 1970 0.0 \n",
+ "4 60 14260 5 2000 2000 0.0 \n",
+ "\n",
+ " TotalBsmtSF SalePrice MSZoning_C (all) MSZoning_FV ... \\\n",
+ "0 856.0 208500.0 0.0 0.0 ... \n",
+ "1 1262.0 181500.0 0.0 0.0 ... \n",
+ "2 920.0 223500.0 0.0 0.0 ... \n",
+ "3 756.0 140000.0 0.0 0.0 ... \n",
+ "4 1145.0 250000.0 0.0 0.0 ... \n",
+ "\n",
+ " Exterior1st_CemntBd Exterior1st_HdBoard Exterior1st_ImStucc \\\n",
+ "0 0.0 0.0 0.0 \n",
+ "1 0.0 0.0 0.0 \n",
+ "2 0.0 0.0 0.0 \n",
+ "3 0.0 0.0 0.0 \n",
+ "4 0.0 0.0 0.0 \n",
+ "\n",
+ " Exterior1st_MetalSd Exterior1st_Plywood Exterior1st_Stone \\\n",
+ "0 0.0 0.0 0.0 \n",
+ "1 1.0 0.0 0.0 \n",
+ "2 0.0 0.0 0.0 \n",
+ "3 0.0 0.0 0.0 \n",
+ "4 0.0 0.0 0.0 \n",
+ "\n",
+ " Exterior1st_Stucco Exterior1st_VinylSd Exterior1st_Wd Sdng \\\n",
+ "0 0.0 1.0 0.0 \n",
+ "1 0.0 0.0 0.0 \n",
+ "2 0.0 1.0 0.0 \n",
+ "3 0.0 0.0 1.0 \n",
+ "4 0.0 1.0 0.0 \n",
+ "\n",
+ " Exterior1st_WdShing \n",
+ "0 0.0 \n",
+ "1 0.0 \n",
+ "2 0.0 \n",
+ "3 0.0 \n",
+ "4 0.0 \n",
+ "\n",
+ "[5 rows x 38 columns]"
+ ]
+ },
+ "execution_count": 43,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "OH_encoder = OneHotEncoder(sparse=False)\n",
+ "OH_cols = pd.DataFrame(OH_encoder.fit_transform(new_data[object_cols]))\n",
+ "OH_cols.index = new_data.index\n",
+ "OH_cols.columns = OH_encoder.get_feature_names_out()\n",
+ "df_final = new_data.drop(object_cols, axis=1)\n",
+ "df_final = pd.concat([df_final, OH_cols], axis=1)\n",
+ "df_final.head()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "eZDFB6FZv1k-"
+ },
+ "source": [
+ "### Scaling"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "Ve81LFh9wEs0"
+ },
+ "outputs": [],
+ "source": [
+ "scaler = MinMaxScaler()\n",
+ "df_normalized = pd.DataFrame(scaler.fit_transform(df_final), columns=df_final.columns)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "TCfu66R_cyAJ"
+ },
+ "source": [
+ "# Data splitting"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "wiiNfRQRgR1G"
+ },
+ "outputs": [],
+ "source": [
+ "X, y = df_normalized.loc[:, df_normalized.columns != 'SalePrice'], df_normalized[['SalePrice']]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "gMCC4I4bgjf2"
+ },
+ "outputs": [],
+ "source": [
+ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "o5k0PNG_pMGY",
+ "outputId": "59927321-5524-4bc6-cf99-b579566c6527"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "((2330, 37), (583, 37), (2330, 1), (583, 1))"
+ ]
+ },
+ "execution_count": 47,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X_train.shape, X_test.shape, y_train.shape, y_test.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "yKhUdAyntrv8",
+ "outputId": "d60ccb04-1f08-4cf2-8503-0f5d980322c3"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(755000.0, 34900.0)"
+ ]
+ },
+ "execution_count": 48,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "label_max, label_min = df[\"SalePrice\"].max(), df[\"SalePrice\"].min()\n",
+ "label_max,label_min"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "7c7wVOvwtk7V"
+ },
+ "outputs": [],
+ "source": [
+ "y_reg_test = y_test * (label_max - label_min) + label_min\n",
+ "feature_names=X_train.columns"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "egogzbyuca1N"
+ },
+ "source": [
+ "# Model Building"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "jC2CYGELsB-G"
+ },
+ "outputs": [],
+ "source": [
+ "def init_params(n_features):\n",
+ " w = np.zeros((n_features, 1)) # no of weights should be 1 + no. of featuers, to account for the bias term\n",
+ " b = 0\n",
+ " return w,b\n",
+ "\n",
+ "def log_likelihood(X, y,w,b):\n",
+ " # Assume variance = 1\n",
+ " N = len(y)\n",
+ " y_pred = np.dot(X, w) + b\n",
+ " residual = y - y_pred\n",
+ " log_likelihood = -0.5 * N * np.log(2 * np.pi) - 0.5 * np.sum(residual ** 2)\n",
+ " return log_likelihood\n",
+ "\n",
+ "def update(X, y,w,b,n_iterations=400,learning_rate=0.001):\n",
+ " # Assume variance = 1\n",
+ " N = len(y)\n",
+ " for i in range(n_iterations):\n",
+ " y_pred = np.dot(X, w) + b\n",
+ "\n",
+ " dw = np.dot(X.T, (y - y_pred)) / N\n",
+ " db = np.sum(y - y_pred) / N\n",
+ "\n",
+ " w = w - learning_rate * dw\n",
+ " b = b - learning_rate * db\n",
+ "\n",
+ " return w,b\n",
+ "\n",
+ "def train_model(X, y):\n",
+ "\n",
+ " w,b=init_params(X.shape[1])\n",
+ "\n",
+ " w,b=update(X, y,w,b)\n",
+ "\n",
+ " return w,b\n",
+ "\n",
+ "def predict(X,w,b):\n",
+ " return np.dot(X, w) + b"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "3OPBEw2KrAH7"
+ },
+ "outputs": [],
+ "source": [
+ "W, b = train_model(X_train.values,y_train.values)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "GfLO0M_EvFxU"
+ },
+ "outputs": [],
+ "source": [
+ "y_pred = predict(X_test,W,b)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "jYP5Zc18vNqm"
+ },
+ "outputs": [],
+ "source": [
+ "y_pred=y_pred * (label_max - label_min) + label_min\n",
+ "mae=mean_absolute_error(y_reg_test,y_pred)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "9XYUL6hpvYTA",
+ "outputId": "422ec562-f641-48d1-ddb6-4211fefd66ad"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "858342.4210579091"
+ ]
+ },
+ "execution_count": 54,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "mae"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "PxShUdVuv5jn"
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "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.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/python/Tutorial_01.ipynb b/python/Tutorial_01.ipynb
index a46c374..c6b3109 100644
--- a/python/Tutorial_01.ipynb
+++ b/python/Tutorial_01.ipynb
@@ -1,65365 +1,65366 @@
{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "Pn06U4V2sMUE"
- },
- "source": [
- "# Intuition behind Eigen Values and Eigen Vectors\n",
- "\n",
- "\n",
- "**Eigen vectors** are vectors which are fixed in direction under a given linear transformation. The scaling factor of these Eigen vectors are called **Eigen values**.\n",
- "\n",
- "These **Eigen-pairs**(Eigen value and corresponding vector) are analogous to the roots of a polynomial. For example, consider cubic polynomials in a single variable, having 3 distinct roots. The general structure of these polynomials remain the same, but **rooted** at different points.\n",
- "\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "E6kSmViruiBy"
- },
- "source": [
- "### **So, what does this mean?**\n",
- "\n",
- "If you are working with an invariant line/plane/hyperplane, the amount of transformation that can be performed to the surrounding space is limited. So, the eigen vectors, being fixed, act like skewers that restrict the linear transformations and hold it in place.\n",
- "\n",
- "So, verrrryyyy roughly, the eigen values are a measure of the distortion induced by the linear transformation, and the eigen vectors specify the direction of orientation of the distortion."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "En41C_AYqr5Y"
- },
- "outputs": [],
- "source": [
- "import math\n",
- "import numpy as np\n",
- "import matplotlib.pyplot as plt\n",
- "import sympy as sp"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "0hR3Dq_hniNm"
- },
- "source": [
- "### Eigenvalue and Eigenvector Calculation for a 2x2 Matrix\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "7rT6LquAq3Eq"
- },
- "outputs": [],
- "source": [
- "def compute_eigenvalues_2x2(a, b, c, d):\n",
- " trace = a + d\n",
- " determinant = a * d - b * c\n",
- "\n",
- " discriminant = trace**2 - 4 * determinant\n",
- " sqrt_discriminant = math.sqrt(discriminant)\n",
- "\n",
- " lambda1 = (trace + sqrt_discriminant) / 2\n",
- " lambda2 = (trace - sqrt_discriminant) / 2\n",
- "\n",
- " return lambda1, lambda2\n",
- "\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "WunC_0el7x9c"
- },
- "outputs": [],
- "source": [
- "def compute_eigenvector_2x2(a, b, c, d, eigenvalue):\n",
- " # Solve (A - lambda I) v = 0\n",
- " if b != 0:\n",
- " x = 1\n",
- " y = (eigenvalue - a) / b\n",
- " else:\n",
- " x = 0\n",
- " y = 1\n",
- "\n",
- " return x, y"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "GPaxVNCRtVhE"
- },
- "source": [
- "### Eigenvalue and Eigenvector Calculation for a 3x3 Matrix"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "ULso29J7tXR5"
- },
- "outputs": [],
- "source": [
- "def compute_eigenvalues_3x3(A):\n",
- " a, b, c = 1, -np.trace(A), np.linalg.det(A)\n",
- " p = np.poly(A)\n",
- "\n",
- " eigenvalues = np.roots(p)\n",
- "\n",
- " return eigenvalues\n",
- "\n",
- "def compute_eigenvectors_3x3(A, eigenvalues):\n",
- " eigenvectors = []\n",
- "\n",
- " for eigenvalue in eigenvalues:\n",
- " I = np.eye(3)\n",
- " M = A - eigenvalue * I\n",
- " _, v = np.linalg.qr(M) # Use QR decomposition for simplicity\n",
- " eigenvectors.append(v[:, 0]) # Take the first vector from QR\n",
- "\n",
- " return eigenvectors"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "id": "TgGsNGattbz4",
- "outputId": "5214b15f-b1aa-4c2d-9512-82de01b1cc38"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Eigenvalues: [1.00000657+0.00000000e+00j 0.99999671+5.69015387e-06j\n",
- " 0.99999671-5.69015387e-06j]\n",
- "Eigenvector for eigenvalue (1.0000065704250627+0j): [-6.57042506e-06+0.j 0.00000000e+00+0.j 0.00000000e+00+0.j]\n",
- "Eigenvector for eigenvalue (0.9999967147874662+5.6901538690326425e-06j): [-6.57042407e-06+0.j 0.00000000e+00+0.j 0.00000000e+00+0.j]\n",
- "Eigenvector for eigenvalue (0.9999967147874662-5.6901538690326425e-06j): [-6.57042407e-06+0.j 0.00000000e+00+0.j 0.00000000e+00+0.j]\n"
- ]
- }
- ],
- "source": [
- "A = np.array([[2, 6, 10],\n",
- " [3, 8, 13],\n",
- " [-2, -6, -10]])\n",
- "\n",
- "\n",
- "\n",
- "eigenvalues = compute_eigenvalues_3x3(A)\n",
- "\n",
- "eigenvectors = compute_eigenvectors_3x3(A, eigenvalues)\n",
- "\n",
- "print(f\"Eigenvalues: {eigenvalues}\")\n",
- "for i, vector in enumerate(eigenvectors):\n",
- " print(f\"Eigenvector for eigenvalue {eigenvalues[i]}: {vector}\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "ql7I-uwLlgQh"
- },
- "source": [
- "## Using numpy"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "DI5UgI6ZqCZo"
- },
- "source": [
- "### Eigenvalues and Eigenvectors Calculation\n",
- "\n",
- "In this section, we compute the eigenvalues and eigenvectors of the matrix \\( A \\) using NumPy's `linalg.eig` function.\n",
- "\n",
- "The matrix \\( A \\) is defined as:\n",
- "\n",
- " A = \\begin{pmatrix} 4 & -2 \\\\ 1 & 1 \\end{pmatrix} \\\n",
- "\n",
- "The function `np.linalg.eig(A)` returns two outputs:\n",
- "1. **Eigenvalues**: The scalars \\( \\lambda \\) that satisfy the equation \\( A \\mathbf{v} = \\lambda \\mathbf{v} \\).\n",
- "2. **Eigenvectors**: The vectors \\( \\mathbf{v} \\) associated with each eigenvalue.\n",
- "\n",
- "The eigenvalues and eigenvectors are displayed below.\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "id": "vOXk3WBSkq1-",
- "outputId": "0ebbf989-2ad0-4fa5-e24b-2cd7b16ce822"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Eigenvalues:\n",
- "[3. 2.]\n",
- "\n",
- "Eigenvectors:\n",
- "[[0.89442719 0.70710678]\n",
- " [0.4472136 0.70710678]]\n"
- ]
- }
- ],
- "source": [
- "A = np.array([[4, -2],\n",
- " [1, 1]])\n",
- "\n",
- "eigenvalues, eigenvectors = np.linalg.eig(A)\n",
- "\n",
- "print(\"Eigenvalues:\")\n",
- "print(eigenvalues)\n",
- "\n",
- "print(\"\\nEigenvectors:\")\n",
- "print(eigenvectors)\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "TPKV4dAmqPsQ"
- },
- "source": [
- "### Visualize Matrix Transformation and Eigenvectors"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "DsenLH5Eqa_r"
- },
- "source": [
- "This section visualizes how the matrix \\( A \\) transforms a grid of vectors and plots the eigenvectors.\n",
- "\n",
- "1. **Matrix Transformation**:\n",
- " - We create a grid of points and apply the matrix transformation to visualize how the matrix \\( A \\) affects these points. The blue arrows represent the transformed grid.\n",
- "\n",
- "2. **Eigenvectors**:\n",
- " - The red arrows represent the eigenvectors of the matrix \\( A \\). These vectors point in directions where the matrix transformation acts as simple scaling (stretching or compressing).\n",
- "\n",
- "The plot helps to understand how eigenvectors remain in the same direction while being scaled by their corresponding eigenvalues.\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 717
- },
- "id": "7o0VQYKUnzvy",
- "outputId": "7e8772db-3014-4f14-c50f-f31c43a2d6ef"
- },
- "outputs": [
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAq0AAAK9CAYAAAAOilUwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd5xU5fX/PzOzM9sbW9hdWNgFFpCOFAWlCQioGDSKCiqYWGJLLIlGf4k1SowmMd9YYyKiBnuviCAqiPTehaUvLLBsb1Pu74+TZ++dmTszd2bu9PN+ve5rd2en3Jl57nM/9zznfI5BkiQJDMMwDMMwDBPFGCO9AwzDMAzDMAzjCxatDMMwDMMwTNTDopVhGIZhGIaJeli0MgzDMAzDMFEPi1aGYRiGYRgm6mHRyjAMwzAMw0Q9LFoZhmEYhmGYqIdFK8MwDMMwDBP1sGhlGIZhGIZhoh4WrQwT4zz00EMwGAyR3o2I8uSTT6JHjx4wmUwYMmRIpHdHN5YtWwaDwYBly5ZFeldCRijeo8FgwEMPPaTb8zEMEx2waGUYjbzyyiswGAwwGAxYvny52/8lSUJpaSkMBgMuuuiigF7j8ccfx4cffhjkngaG8v1528rKyiKyf5746quvcM899+Ccc87B/Pnz8fjjj0d6l/zmueeewyuvvBLp3YhqfI3PH3/8MdK7GFVEci5hmFCRFOkdYJhYIyUlBQsXLsS5557rdPu3336Lw4cPIzk5OeDnfvzxx3HZZZdhxowZmh/zhz/8Ab///e8Dfk3B2LFj8dprrznddv3112PkyJG48cYbO27LyMgI+rX0ZOnSpTAajfjPf/4Di8US6d0JiOeeew75+fmYO3eu0+1jx45FS0tLzL6vUPDII4+gvLzc7fZevXp1/N7S0oKkpMQ+vQUylzBMtJPYRzXDBMAFF1yAd955B//3f//ndGJcuHAhhg0bhpMnT4ZlP5qampCeno6kpCRdTtA9evRAjx49nG771a9+hR49euDqq6/2+DibzQaHwxExYVVdXY3U1FTdXl+SJLS2tiI1NVWX5wsGo9GIlJSUSO9GVDFt2jQMHz7c6334MwsNYs5hmEjB6QEM4ydXXXUVTp06hcWLF3fc1t7ejnfffRezZs1SfcxTTz2F0aNHIy8vD6mpqRg2bBjeffddp/sYDAY0NTVhwYIFHUueIvIm8la3b9+OWbNmITc3tyPS65rTOn/+fBgMBrz88stOz//444/DYDDg888/D/i979+/HwaDAU899RSefvpp9OzZE8nJydi+fTva29vxwAMPYNiwYcjOzkZ6ejrGjBmDb775xuNz/Otf/+p4jhEjRmDNmjVO9z127Biuu+46dO3aFcnJySguLsbPfvYz7N+/v+Mzmz9/Ppqamjo+M7HMbrPZ8Oijj3Y8f1lZGe6//360tbU5vUZZWRkuuugiLFq0CMOHD0dqaipefPHFjlzLt99+Gw8//DC6dOmCzMxMXHbZZairq0NbWxvuuOMOFBYWIiMjA9ddd53bc8+fPx/nnXceCgsLkZycjH79+uH55593e/1t27bh22+/7XgP48ePB+A53/Odd97BsGHDkJqaivz8fFx99dU4cuSI033mzp2LjIwMHDlyBDNmzEBGRgYKCgrw29/+Fna73ed3/dFHH+HCCy9ESUkJkpOT0bNnTzz66KNujx0/fjwGDBiA7du3Y8KECUhLS0OXLl3wl7/8xe05Dx8+jBkzZiA9PR2FhYW488473T4zPVDLaV22bBmGDx+OlJQU9OzZEy+++KLHfPDXX3+94/Pt1KkTrrzyShw6dMjpPlre9/Hjx5GUlISHH37Y7TV27doFg8GAZ555puO22tpa3HHHHSgtLUVycjJ69eqFJ554Ag6Hw+mxDocD//jHPzBw4ECkpKSgoKAAU6dOxdq1azvev6e5BAA2bNiAadOmISsrCxkZGZg4caJbeoVIx/j2229xyy23oLCwEF27dgUANDQ04I477kBZWRmSk5NRWFiIyZMnY/369V6+FYYJHo60MoyflJWVYdSoUXjjjTcwbdo0AMAXX3yBuro6XHnllfi///s/t8f84x//wMUXX4zZs2ejvb0db775Ji6//HJ8+umnuPDCCwEAr732mttyfM+ePZ2e5/LLL0dFRQUef/xxSJKkun/XXXcd3n//fdx1112YPHkySktLsWXLFjz88MP45S9/iQsuuCDoz2D+/PlobW3FjTfeiOTkZHTq1An19fX497//jauuugo33HADGhoa8J///AdTpkzB6tWr3QqkFi5ciIaGBtx0000wGAz4y1/+gksvvRT79u2D2WwGAPz85z/Htm3bcPvtt6OsrAzV1dVYvHgxDh48iLKyMrz22mv417/+hdWrV+Pf//43AGD06NEA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5S945JFHsHjxYgDA7Nmz8cknnziJxUWLFqG5uRmXXHIJAODPf/4zXn31VbzwwgvYtm0b7rzzTlx99dX49ttvAQBHjhzB2LFjkZycjKVLl2LdunX4xS9+AZvNht/+9reYOXMmpk6diqqqKlRVVWH06NFoamrClClTkJubizVr1uCdd97B119/jdtuu81p35csWYJdu3Zh8eLF+PTTT3X/nIOB0wMYhmEYholLPv30U2RkZDjddv/99+P+++93u+/ChQthMBjw0ksvISUlBf369cORI0dwww03dNznmWeewdChQ/H444933Pbyyy+jtLQUu3fvRu/evQEAgwYNwoMPPggAqKiowDPPPIMlS5Zg8uTJmDJlCtLT0/HBBx/gmmuu6Xjtiy++GJmZmThx4gTmzZuHr7/+GqNGjQIA9OjRA8uXL8eLL76IcePG4dlnn0V2djbefPNNmM1mAOh4bYDM/Nva2pzSHxYsWIDW1la8+uqrSE9P73g/06dPxxNPPIHOnTsDANLT0/Hvf/87qHaroYJFK8MwDMMwccmECRPw/PPPO93WqVMn1fvu2rULgwYNcurWNHLkSKf7bNq0Cd98842bEAaAvXv3OolWJcXFxaiurgYAJCUlYebMmfjvf/+La665Bk1NTfjoo4/w5ptvAgD27duH5uZmTJ482ek52tvbMXToUADAxo0bMWbMmA7BqoUdO3Zg8ODBHYIVAM455xw4HA7s2rWrQ7QOHDgwKgUrwKKVYRiGYZg4JT09Hb169dLt+RobGzsik64UFxd3/O4qJg0GAxwOR8ffs2fPxrhx41BdXY3FixcjNTW1w9WgqakJAPDZZ5+hS5cuTs8jishC2U5XKWqjDRatDMMwDMMkPH369MHrr7+Otra2DnG4Zs0ap/uceeaZeO+991BWVoakpMAl1OjRo1FaWoq33noLX3zxBS6//HKYzWY4HA706dMHycnJOHjwIMaNG6f6+EGDBmHBggWwWq2q0VaLxQK73e502xlnnIFXXnkFTU1NHcJ0xYoVMBqNHguuog0uxGIYhmEYJi5pa2vDsWPHnDZlpb+SWbNmweFw4MYbb8SOHTuwaNEiPPXUUwAoUgoAt956K2pqanDVVVdhzZo12Lt3LxYtWoTrrrvOTST6YtasWXjhhRewePFizJ49u+P2zMxM3H333bjzzjuxYMEC7N27F+vX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xiWXXII77rgD4+PjuPnmm/3eNeIit956K+677z48/PDDqK+vR19fHwBg/vz5qKmp8XnviJvU19fPEabz5s1DU1MTBasFilZCipBt27bh4MGDOHjw4JwJCRdXCptPfOITGBgYwP/4H/8DfX192LhxIx577LE5xVmksLnrrrsAAFdddVXC/d///vdx00035X+HCAkATA8ghBBCCCGBh1UZhBBCCCEk8FC0EkIIIYSQwEPRSgghhBBCAg9FKyGEEEIICTwUrYQQQgghJPBQtBJCCCGEkMBD0UoIIYQQQgIPRSshhBBCCAk8FK2EEEIIISTwULQSQgghhJDAQ9FKCCGEEEICD0UrIYQUCAMDA1i0aBH+4i/+4jf3Pf/886isrMSTTz7p454RQoj3hOLxeNzvnSCEEOKMX/ziF7jhhhvw/PPP49xzz8XGjRvxW7/1W/ibv/kbv3eNEEI8haKVEEIKjFtvvRVPPPEENm/ejNdffx0vv/wyqqqq/N4tQgjxFIpWQggpMCYnJ7F27VocP34cu3btwrp16/zeJUII8RzmtBJCSIFx6NAh9Pb2IhaLobu72+/dIYSQvMBIKyGEFBAzMzO45JJLsHHjRpx77rm444478Prrr6O1tdXvXSOEEE+haCWEkALij//4j/HQQw9h9+7dqKurw5VXXon58+fj5z//ud+7RgghnsL0AEIIKRCefvpp3HHHHbjnnnvQ0NCAcDiMe+65B88++yzuuusuv3ePEEI8hZFWQgghhBASeBhpJYQQQgghgYeilRBCCCGEBB6KVkIIIYQQEngoWgkhhBBCSOChaCWEEEIIIYGHopUQQgghhAQeilZCCCGEEBJ4KFoJIYQQQkjgoWglhBBCCCGBh6KVEEIIIYQEHopWQgghhBASeP4/c51QXudKAPkAAAAASUVORK5CYII=",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "x = np.linspace(-2, 2, 10)\n",
- "y = np.linspace(-2, 2, 10)\n",
- "X, Y = np.meshgrid(x, y)\n",
- "grid = np.vstack([X.ravel(), Y.ravel()])\n",
- "\n",
- "transformed_grid = np.dot(A, grid)\n",
- "\n",
- "fig, ax = plt.subplots()\n",
- "ax.set_xlim(-5, 5)\n",
- "ax.set_ylim(-5, 5)\n",
- "ax.set_aspect('equal')\n",
- "\n",
- "ax.quiver(grid[0, :], grid[1, :], transformed_grid[0, :] - grid[0, :], transformed_grid[1, :] - grid[1, :], angles='xy', scale_units='xy', scale=1, color='blue', alpha=0.5)\n",
- "\n",
- "for i in range(len(eigenvalues)):\n",
- " eigenvector = eigenvectors[:, i]\n",
- " ax.quiver(0, 0, eigenvector[0], eigenvector[1], angles='xy', scale_units='xy', scale=1, color='red', label=f'Eigenvector {i+1}')\n",
- "\n",
- "ax.set_title('Matrix Transformation and Eigenvectors')\n",
- "ax.set_xlabel('x')\n",
- "ax.set_ylabel('y')\n",
- "ax.legend()\n",
- "ax.grid(True)\n",
- "plt.show()\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "qoKZGmG2bgX1"
- },
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "_IptZs0USr0y"
- },
- "source": [
- "# **GRADIENT DESCENT PROBLEMS**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "id": "bTChUmCiauFm",
- "outputId": "0f3e089d-1e35-4fc0-bc41-8223379b8c39"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Iteration 0: x = 3.6000, f(x) = 23.0400\n",
- "Iteration 10: x = -3.4359, f(x) = 1.6437\n",
- "Iteration 20: x = -4.4692, f(x) = 0.5859\n",
- "Iteration 30: x = -4.9032, f(x) = 0.3008\n",
- "Iteration 40: x = -5.1438, f(x) = 0.1833\n",
- "Iteration 50: x = -5.2972, f(x) = 0.1235\n",
- "Iteration 60: x = -5.4037, f(x) = 0.0889\n",
- "Iteration 70: x = -5.4820, f(x) = 0.0671\n",
- "Iteration 80: x = -5.5421, f(x) = 0.0524\n",
- "Iteration 90: x = -5.5896, f(x) = 0.0421\n",
- "Final value: x = -5.6246, f(x) = 0.0352\n"
- ]
- }
- ],
- "source": [
- "def f1(x):\n",
- " return (1/4)*(x**2) + 3*x + 9\n",
- "\n",
- "def derivative_f1(x):\n",
- " return ((1/2)*x + 3)**2\n",
- "\n",
- "def gradient1(x):\n",
- " return derivative_f1(x)\n",
- "\n",
- "x = 10\n",
- "x1 = None\n",
- "step_size = 0.1\n",
- "iterations = 100\n",
- "\n",
- "for i in range(iterations):\n",
- " grad1 = gradient1(x)\n",
- " x = x - step_size * grad1\n",
- " if i % 10 == 0:\n",
- " print(f\"Iteration {i}: x = {x:.4f}, f(x) = {f1(x):.4f}\")\n",
- "\n",
- "print(f\"Final value: x = {x:.4f}, f(x) = {f1(x):.4f}\")\n",
- "# Correction: remove the square operation in the derivative function"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/"
- },
- "id": "xMurdw_XRpnB",
- "outputId": "a74c9986-ea5d-43cf-d329-d4f5bba49994"
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Iteration 0: x = -7.6333, f(x) = 4496.4599\n",
- "Iteration 10: x = -33.4699, f(x) = 0.2846\n",
- "Iteration 20: x = -33.9333, f(x) = 0.1267\n",
- "Iteration 30: x = -34.2503, f(x) = 0.0651\n",
- "Iteration 40: x = -34.4814, f(x) = 0.0369\n",
- "Iteration 50: x = -34.6577, f(x) = 0.0225\n",
- "Iteration 60: x = -34.7968, f(x) = 0.0146\n",
- "Iteration 70: x = -34.9095, f(x) = 0.0098\n",
- "Iteration 80: x = -35.0026, f(x) = 0.0069\n",
- "Iteration 90: x = -35.0809, f(x) = 0.0050\n",
- "Final value: x = -35.1414, f(x) = 0.0038\n"
- ]
- }
- ],
- "source": [
- "def f2(x):\n",
- " return (1/144)*(x**4) + x**3 + 54*(x**2) + 1296*x + 11664\n",
- "\n",
- "def derivative_f2(x):\n",
- " return (1/36)*(x**3) + 3*x**2 + 108*x + 1296\n",
- "\n",
- "def dderivative_f2(x):\n",
- " return (1/12)*(x**2) + 6*x + 108\n",
- "\n",
- "def gradient2(x):\n",
- " return dderivative_f2(x)\n",
- "\n",
- "x = 10\n",
- "x1 = None\n",
- "step_size = 0.1\n",
- "iterations = 100\n",
- "\n",
- "for i in range(iterations):\n",
- " if x1 is not None:\n",
- " grad2 = gradient2(x1)\n",
- " else:\n",
- " grad2 = gradient2(x)\n",
- " x1, x = x, x - step_size * grad2\n",
- " if i % 10 == 0:\n",
- " print(f\"Iteration {i}: x = {x:.4f}, f(x) = {f2(x):.4f}\")\n",
- "\n",
- "print(f\"Final value: x = {x:.4f}, f(x) = {f2(x):.4f}\")\n",
- "# Correction: replace second derivative with first, compute gradient at the current step"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "L_VpxFoiVYFR"
- },
- "source": [
- "#**Parameters**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "A5-r9E0Ea1T7"
- },
- "outputs": [],
- "source": [
- "# We will use this code for demonstrations of different function and different step sizes\n",
- "# This code snippet in this notebook need not to be sent to students before tutorials, only made for explaning things\n",
- "import time\n",
- "\n",
- "# def f(x):\n",
- "# return x**2\n",
- "# def derivative_f(x):\n",
- "# return 2*x\n",
- "\n",
- "def f(x):\n",
- " return x**4 - 6*x**3 + 25*x + 30\n",
- "def derivative_f(x):\n",
- " return 4*x**3 - 18*x**2 + 25\n",
- "\n",
- "initial_x = 10\n",
- "iterations = 100\n",
- "learning_rate = 0.001\n",
- "\n",
- "# Store the values for visualization\n",
- "x_values = []\n",
- "f_values = []\n",
- "\n",
- "x = initial_x\n",
- "start_time = time.time()\n",
- "\n",
- "for i in range(iterations):\n",
- " x_values.append(x)\n",
- " f_values.append(f(x))\n",
- "\n",
- " grad = derivative_f(x)\n",
- " x = x - learning_rate * grad\n",
- "\n",
- "end_time = time.time()\n",
- "total_time = end_time - start_time\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 751
- },
- "id": "dzSolUmRa8lg",
- "outputId": "3caafc0b-4c40-4461-b980-82496b758b72"
- },
- "outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- ":26: MatplotlibDeprecationWarning: Setting data with a non sequence type is deprecated since 3.7 and will be remove two minor releases later\n",
- " line.set_data(x_values[i], f_values[i])\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"
- ],
- "text/plain": [
- ""
- ]
- },
- "execution_count": 9,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "import numpy as np\n",
- "import matplotlib.pyplot as plt\n",
- "import matplotlib.animation as animation\n",
- "import time\n",
- "\n",
- "# Set up the plot\n",
- "fig, ax = plt.subplots(figsize=(10, 6))\n",
- "x_range = np.linspace(-10, 10, 400)\n",
- "y_range = f(x_range)\n",
- "\n",
- "# Plot the function\n",
- "ax.plot(x_range, y_range, label=r'$f(x) = x^2$', color='black', linestyle='--')\n",
- "line, = ax.plot([], [], 'ro', label='Gradient Descent Path', markersize=8) # Larger marker size for visibility\n",
- "text = ax.text(0.05, 0.9, '', transform=ax.transAxes)\n",
- "\n",
- "# Set plot limits and labels\n",
- "ax.set_xlim(-10, 10)\n",
- "ax.set_ylim(0, 110)\n",
- "ax.set_xlabel('x')\n",
- "ax.set_ylabel('f(x)')\n",
- "ax.legend()\n",
- "ax.grid(True)\n",
- "\n",
- "# Animation function\n",
- "def animate(i):\n",
- " line.set_data(x_values[i], f_values[i])\n",
- " text.set_text(f'Iteration: {i+1}\\nTime Elapsed: {total_time:.2f} seconds')\n",
- " return line, text\n",
- "\n",
- "# Create the animation\n",
- "ani = animation.FuncAnimation(fig, animate, frames=len(x_values), interval=200, repeat=False)\n",
- "\n",
- "plt.close(fig) # Extra static plot was coming\n",
- "\n",
- "# Display the animation in Notebook\n",
- "from IPython.display import HTML\n",
- "HTML(ani.to_jshtml())\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "colab": {
- "background_save": true
- },
- "id": "U1M_VqodbBkP"
- },
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "colab": {
- "provenance": []
- },
- "kernelspec": {
- "display_name": "Python 3",
- "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.11.9"
- }
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Pn06U4V2sMUE"
+ },
+ "source": [
+ "# Intuition behind Eigen Values and Eigen Vectors\n",
+ "\n",
+ "\n",
+ "**Eigen vectors** are vectors which are fixed in direction under a given linear transformation. The scaling factor of these Eigen vectors are called **Eigen values**.\n",
+ "\n",
+ "These **Eigen-pairs**(Eigen value and corresponding vector) are analogous to the roots of a polynomial. For example, consider cubic polynomials in a single variable, having 3 distinct roots. The general structure of these polynomials remain the same, but **rooted** at different points.\n",
+ "\n"
+ ]
},
- "nbformat": 4,
- "nbformat_minor": 0
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "E6kSmViruiBy"
+ },
+ "source": [
+ "### **So, what does this mean?**\n",
+ "\n",
+ "If you are working with an invariant line/plane/hyperplane, the amount of transformation that can be performed to the surrounding space is limited. So, the eigen vectors, being fixed, act like skewers that restrict the linear transformations and hold it in place.\n",
+ "\n",
+ "So, verrrryyyy roughly, the eigen values are a measure of the distortion induced by the linear transformation, and the eigen vectors specify the direction of orientation of the distortion."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "En41C_AYqr5Y"
+ },
+ "outputs": [],
+ "source": [
+ "import math\n",
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt\n",
+ "import sympy as sp"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "0hR3Dq_hniNm"
+ },
+ "source": [
+ "### Eigenvalue and Eigenvector Calculation for a 2x2 Matrix\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "7rT6LquAq3Eq"
+ },
+ "outputs": [],
+ "source": [
+ "def compute_eigenvalues_2x2(a, b, c, d):\n",
+ " trace = a + d\n",
+ " determinant = a * d - b * c\n",
+ "\n",
+ " discriminant = trace**2 - 4 * determinant\n",
+ " sqrt_discriminant = math.sqrt(discriminant)\n",
+ "\n",
+ " lambda1 = (trace + sqrt_discriminant) / 2\n",
+ " lambda2 = (trace - sqrt_discriminant) / 2\n",
+ "\n",
+ " return lambda1, lambda2\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "WunC_0el7x9c"
+ },
+ "outputs": [],
+ "source": [
+ "def compute_eigenvector_2x2(a, b, c, d, eigenvalue):\n",
+ " # Solve (A - lambda I) v = 0\n",
+ " if b != 0:\n",
+ " x = 1\n",
+ " y = (eigenvalue - a) / b\n",
+ " else:\n",
+ " x = 0\n",
+ " y = 1\n",
+ "\n",
+ " return x, y"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "GPaxVNCRtVhE"
+ },
+ "source": [
+ "### Eigenvalue and Eigenvector Calculation for a 3x3 Matrix"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "ULso29J7tXR5"
+ },
+ "outputs": [],
+ "source": [
+ "def compute_eigenvalues_3x3(A):\n",
+ " a, b, c = 1, -np.trace(A), np.linalg.det(A)\n",
+ " p = np.poly(A)\n",
+ "\n",
+ " eigenvalues = np.roots(p)\n",
+ "\n",
+ " return eigenvalues\n",
+ "\n",
+ "def compute_eigenvectors_3x3(A, eigenvalues):\n",
+ " eigenvectors = []\n",
+ "\n",
+ " for eigenvalue in eigenvalues:\n",
+ " I = np.eye(3)\n",
+ " M = A - eigenvalue * I\n",
+ " _, v = np.linalg.qr(M) # Use QR decomposition for simplicity\n",
+ " eigenvectors.append(v[:, 0]) # Take the first vector from QR\n",
+ "\n",
+ " return eigenvectors"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "TgGsNGattbz4",
+ "outputId": "5214b15f-b1aa-4c2d-9512-82de01b1cc38"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Eigenvalues: [1.00000657+0.00000000e+00j 0.99999671+5.69015387e-06j\n",
+ " 0.99999671-5.69015387e-06j]\n",
+ "Eigenvector for eigenvalue (1.0000065704250627+0j): [-6.57042506e-06+0.j 0.00000000e+00+0.j 0.00000000e+00+0.j]\n",
+ "Eigenvector for eigenvalue (0.9999967147874662+5.6901538690326425e-06j): [-6.57042407e-06+0.j 0.00000000e+00+0.j 0.00000000e+00+0.j]\n",
+ "Eigenvector for eigenvalue (0.9999967147874662-5.6901538690326425e-06j): [-6.57042407e-06+0.j 0.00000000e+00+0.j 0.00000000e+00+0.j]\n"
+ ]
+ }
+ ],
+ "source": [
+ "A = np.array([[2, 6, 10],\n",
+ " [3, 8, 13],\n",
+ " [-2, -6, -10]])\n",
+ "\n",
+ "\n",
+ "\n",
+ "eigenvalues = compute_eigenvalues_3x3(A)\n",
+ "\n",
+ "eigenvectors = compute_eigenvectors_3x3(A, eigenvalues)\n",
+ "\n",
+ "print(f\"Eigenvalues: {eigenvalues}\")\n",
+ "for i, vector in enumerate(eigenvectors):\n",
+ " print(f\"Eigenvector for eigenvalue {eigenvalues[i]}: {vector}\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "ql7I-uwLlgQh"
+ },
+ "source": [
+ "## Using numpy"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "DI5UgI6ZqCZo"
+ },
+ "source": [
+ "### Eigenvalues and Eigenvectors Calculation\n",
+ "\n",
+ "In this section, we compute the eigenvalues and eigenvectors of the matrix \\( A \\) using NumPy's `linalg.eig` function.\n",
+ "\n",
+ "The matrix \\( A \\) is defined as:\n",
+ "\n",
+ " A = \\begin{pmatrix} 4 & -2 \\\\ 1 & 1 \\end{pmatrix} \\\n",
+ "\n",
+ "The function `np.linalg.eig(A)` returns two outputs:\n",
+ "1. **Eigenvalues**: The scalars \\( \\lambda \\) that satisfy the equation \\( A \\mathbf{v} = \\lambda \\mathbf{v} \\).\n",
+ "2. **Eigenvectors**: The vectors \\( \\mathbf{v} \\) associated with each eigenvalue.\n",
+ "\n",
+ "The eigenvalues and eigenvectors are displayed below.\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "vOXk3WBSkq1-",
+ "outputId": "0ebbf989-2ad0-4fa5-e24b-2cd7b16ce822"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Eigenvalues:\n",
+ "[3. 2.]\n",
+ "\n",
+ "Eigenvectors:\n",
+ "[[0.89442719 0.70710678]\n",
+ " [0.4472136 0.70710678]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "A = np.array([[4, -2],\n",
+ " [1, 1]])\n",
+ "\n",
+ "eigenvalues, eigenvectors = np.linalg.eig(A)\n",
+ "\n",
+ "print(\"Eigenvalues:\")\n",
+ "print(eigenvalues)\n",
+ "\n",
+ "print(\"\\nEigenvectors:\")\n",
+ "print(eigenvectors)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "TPKV4dAmqPsQ"
+ },
+ "source": [
+ "### Visualize Matrix Transformation and Eigenvectors"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "DsenLH5Eqa_r"
+ },
+ "source": [
+ "This section visualizes how the matrix \\( A \\) transforms a grid of vectors and plots the eigenvectors.\n",
+ "\n",
+ "1. **Matrix Transformation**:\n",
+ " - We create a grid of points and apply the matrix transformation to visualize how the matrix \\( A \\) affects these points. The blue arrows represent the transformed grid.\n",
+ "\n",
+ "2. **Eigenvectors**:\n",
+ " - The red arrows represent the eigenvectors of the matrix \\( A \\). These vectors point in directions where the matrix transformation acts as simple scaling (stretching or compressing).\n",
+ "\n",
+ "The plot helps to understand how eigenvectors remain in the same direction while being scaled by their corresponding eigenvalues.\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 717
+ },
+ "id": "7o0VQYKUnzvy",
+ "outputId": "7e8772db-3014-4f14-c50f-f31c43a2d6ef"
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAq0AAAK9CAYAAAAOilUwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd5xU5fX/PzOzM9sbW9hdWNgFFpCOFAWlCQioGDSKCiqYWGJLLIlGf4k1SowmMd9YYyKiBnuviCAqiPTehaUvLLBsb1Pu74+TZ++dmTszd2bu9PN+ve5rd2en3Jl57nM/9zznfI5BkiQJDMMwDMMwDBPFGCO9AwzDMAzDMAzjCxatDMMwDMMwTNTDopVhGIZhGIaJeli0MgzDMAzDMFEPi1aGYRiGYRgm6mHRyjAMwzAMw0Q9LFoZhmEYhmGYqIdFK8MwDMMwDBP1sGhlGIZhGIZhoh4WrQwT4zz00EMwGAyR3o2I8uSTT6JHjx4wmUwYMmRIpHdHN5YtWwaDwYBly5ZFeldCRijeo8FgwEMPPaTb8zEMEx2waGUYjbzyyiswGAwwGAxYvny52/8lSUJpaSkMBgMuuuiigF7j8ccfx4cffhjkngaG8v1528rKyiKyf5746quvcM899+Ccc87B/Pnz8fjjj0d6l/zmueeewyuvvBLp3YhqfI3PH3/8MdK7GFVEci5hmFCRFOkdYJhYIyUlBQsXLsS5557rdPu3336Lw4cPIzk5OeDnfvzxx3HZZZdhxowZmh/zhz/8Ab///e8Dfk3B2LFj8dprrznddv3112PkyJG48cYbO27LyMgI+rX0ZOnSpTAajfjPf/4Di8US6d0JiOeeew75+fmYO3eu0+1jx45FS0tLzL6vUPDII4+gvLzc7fZevXp1/N7S0oKkpMQ+vQUylzBMtJPYRzXDBMAFF1yAd955B//3f//ndGJcuHAhhg0bhpMnT4ZlP5qampCeno6kpCRdTtA9evRAjx49nG771a9+hR49euDqq6/2+DibzQaHwxExYVVdXY3U1FTdXl+SJLS2tiI1NVWX5wsGo9GIlJSUSO9GVDFt2jQMHz7c6334MwsNYs5hmEjB6QEM4ydXXXUVTp06hcWLF3fc1t7ejnfffRezZs1SfcxTTz2F0aNHIy8vD6mpqRg2bBjeffddp/sYDAY0NTVhwYIFHUueIvIm8la3b9+OWbNmITc3tyPS65rTOn/+fBgMBrz88stOz//444/DYDDg888/D/i979+/HwaDAU899RSefvpp9OzZE8nJydi+fTva29vxwAMPYNiwYcjOzkZ6ejrGjBmDb775xuNz/Otf/+p4jhEjRmDNmjVO9z127Biuu+46dO3aFcnJySguLsbPfvYz7N+/v+Mzmz9/Ppqamjo+M7HMbrPZ8Oijj3Y8f1lZGe6//360tbU5vUZZWRkuuugiLFq0CMOHD0dqaipefPHFjlzLt99+Gw8//DC6dOmCzMxMXHbZZairq0NbWxvuuOMOFBYWIiMjA9ddd53bc8+fPx/nnXceCgsLkZycjH79+uH55593e/1t27bh22+/7XgP48ePB+A53/Odd97BsGHDkJqaivz8fFx99dU4cuSI033mzp2LjIwMHDlyBDNmzEBGRgYKCgrw29/+Fna73ed3/dFHH+HCCy9ESUkJkpOT0bNnTzz66KNujx0/fjwGDBiA7du3Y8KECUhLS0OXLl3wl7/8xe05Dx8+jBkzZiA9PR2FhYW488473T4zPVDLaV22bBmGDx+OlJQU9OzZEy+++KLHfPDXX3+94/Pt1KkTrrzyShw6dMjpPlre9/Hjx5GUlISHH37Y7TV27doFg8GAZ555puO22tpa3HHHHSgtLUVycjJ69eqFJ554Ag6Hw+mxDocD//jHPzBw4ECkpKSgoKAAU6dOxdq1azvev6e5BAA2bNiAadOmISsrCxkZGZg4caJbeoVIx/j2229xyy23oLCwEF27dgUANDQ04I477kBZWRmSk5NRWFiIyZMnY/369V6+FYYJHo60MoyflJWVYdSoUXjjjTcwbdo0AMAXX3yBuro6XHnllfi///s/t8f84x//wMUXX4zZs2ejvb0db775Ji6//HJ8+umnuPDCCwEAr732mttyfM+ePZ2e5/LLL0dFRQUef/xxSJKkun/XXXcd3n//fdx1112YPHkySktLsWXLFjz88MP45S9/iQsuuCDoz2D+/PlobW3FjTfeiOTkZHTq1An19fX497//jauuugo33HADGhoa8J///AdTpkzB6tWr3QqkFi5ciIaGBtx0000wGAz4y1/+gksvvRT79u2D2WwGAPz85z/Htm3bcPvtt6OsrAzV1dVYvHgxDh48iLKyMrz22mv417/+hdWrV+Pf//43AGD06NEA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5S945JFHsHjxYgDA7Nmz8cknnziJxUWLFqG5uRmXXHIJAODPf/4zXn31VbzwwgvYtm0b7rzzTlx99dX49ttvAQBHjhzB2LFjkZycjKVLl2LdunX4xS9+AZvNht/+9reYOXMmpk6diqqqKlRVVWH06NFoamrClClTkJubizVr1uCdd97B119/jdtuu81p35csWYJdu3Zh8eLF+PTTT3X/nIOB0wMYhmEYholLPv30U2RkZDjddv/99+P+++93u+/ChQthMBjw0ksvISUlBf369cORI0dwww03dNznmWeewdChQ/H444933Pbyyy+jtLQUu3fvRu/evQEAgwYNwoMPPggAqKiowDPPPIMlS5Zg8uTJmDJlCtLT0/HBBx/gmmuu6Xjtiy++GJmZmThx4gTmzZuHr7/+GqNGjQIA9OjRA8uXL8eLL76IcePG4dlnn0V2djbefPNNmM1mAOh4bYDM/Nva2pzSHxYsWIDW1la8+uqrSE9P73g/06dPxxNPPIHOnTsDANLT0/Hvf/87qHaroYJFK8MwDMMwccmECRPw/PPPO93WqVMn1fvu2rULgwYNcurWNHLkSKf7bNq0Cd98842bEAaAvXv3OolWJcXFxaiurgYAJCUlYebMmfjvf/+La665Bk1NTfjoo4/w5ptvAgD27duH5uZmTJ482ek52tvbMXToUADAxo0bMWbMmA7BqoUdO3Zg8ODBHYIVAM455xw4HA7s2rWrQ7QOHDgwKgUrwKKVYRiGYZg4JT09Hb169dLt+RobGzsik64UFxd3/O4qJg0GAxwOR8ffs2fPxrhx41BdXY3FixcjNTW1w9WgqakJAPDZZ5+hS5cuTs8jishC2U5XKWqjDRatDMMwDMMkPH369MHrr7+Otra2DnG4Zs0ap/uceeaZeO+991BWVoakpMAl1OjRo1FaWoq33noLX3zxBS6//HKYzWY4HA706dMHycnJOHjwIMaNG6f6+EGDBmHBggWwWq2q0VaLxQK73e502xlnnIFXXnkFTU1NHcJ0xYoVMBqNHguuog0uxGIYhmEYJi5pa2vDsWPHnDZlpb+SWbNmweFw4MYbb8SOHTuwaNEiPPXUUwAoUgoAt956K2pqanDVVVdhzZo12Lt3LxYtWoTrrrvOTST6YtasWXjhhRewePFizJ49u+P2zMxM3H333bjzzjuxYMEC7N27F+vX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xiWXXII77rgD4+PjuPnmm/3eNeIit956K+677z48/PDDqK+vR19fHwBg/vz5qKmp8XnviJvU19fPEabz5s1DU1MTBasFilZCipBt27bh4MGDOHjw4JwJCRdXCptPfOITGBgYwP/4H/8DfX192LhxIx577LE5xVmksLnrrrsAAFdddVXC/d///vdx00035X+HCAkATA8ghBBCCCGBh1UZhBBCCCEk8FC0EkIIIYSQwEPRSgghhBBCAg9FKyGEEEIICTwUrYQQQgghJPBQtBJCCCGEkMBD0UoIIYQQQgIPRSshhBBCCAk8FK2EEEIIISTwULQSQgghhJDAQ9FKCCGEEEICD0UrIYQUCAMDA1i0aBH+4i/+4jf3Pf/886isrMSTTz7p454RQoj3hOLxeNzvnSCEEOKMX/ziF7jhhhvw/PPP49xzz8XGjRvxW7/1W/ibv/kbv3eNEEI8haKVEEIKjFtvvRVPPPEENm/ejNdffx0vv/wyqqqq/N4tQgjxFIpWQggpMCYnJ7F27VocP34cu3btwrp16/zeJUII8RzmtBJCSIFx6NAh9Pb2IhaLobu72+/dIYSQvMBIKyGEFBAzMzO45JJLsHHjRpx77rm444478Prrr6O1tdXvXSOEEE+haCWEkALij//4j/HQQw9h9+7dqKurw5VXXon58+fj5z//ud+7RgghnsL0AEIIKRCefvpp3HHHHbjnnnvQ0NCAcDiMe+65B88++yzuuusuv3ePEEI8hZFWQgghhBASeBhpJYQQQgghgYeilRBCCCGEBB6KVkIIIYQQEngoWgkhhBBCSOChaCWEEEIIIYGHopUQQgghhAQeilZCCCGEEBJ4KFoJIYQQQkjgoWglhBBCCCGBh6KVEEIIIYQEHopWQgghhBASeP4/c51QXudKAPkAAAAASUVORK5CYII=",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "x = np.linspace(-2, 2, 10)\n",
+ "y = np.linspace(-2, 2, 10)\n",
+ "X, Y = np.meshgrid(x, y)\n",
+ "grid = np.vstack([X.ravel(), Y.ravel()])\n",
+ "\n",
+ "transformed_grid = np.dot(A, grid)\n",
+ "\n",
+ "fig, ax = plt.subplots()\n",
+ "ax.set_xlim(-5, 5)\n",
+ "ax.set_ylim(-5, 5)\n",
+ "ax.set_aspect('equal')\n",
+ "\n",
+ "ax.quiver(grid[0, :], grid[1, :], transformed_grid[0, :] - grid[0, :], transformed_grid[1, :] - grid[1, :], angles='xy', scale_units='xy', scale=1, color='blue', alpha=0.5)\n",
+ "\n",
+ "for i in range(len(eigenvalues)):\n",
+ " eigenvector = eigenvectors[:, i]\n",
+ " ax.quiver(0, 0, eigenvector[0], eigenvector[1], angles='xy', scale_units='xy', scale=1, color='red', label=f'Eigenvector {i+1}')\n",
+ "\n",
+ "ax.set_title('Matrix Transformation and Eigenvectors')\n",
+ "ax.set_xlabel('x')\n",
+ "ax.set_ylabel('y')\n",
+ "ax.legend()\n",
+ "ax.grid(True)\n",
+ "plt.show()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "qoKZGmG2bgX1"
+ },
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "_IptZs0USr0y"
+ },
+ "source": [
+ "# **GRADIENT DESCENT PROBLEMS**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "bTChUmCiauFm",
+ "outputId": "0f3e089d-1e35-4fc0-bc41-8223379b8c39"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Iteration 0: x = 3.6000, f(x) = 23.0400\n",
+ "Iteration 10: x = -3.4359, f(x) = 1.6437\n",
+ "Iteration 20: x = -4.4692, f(x) = 0.5859\n",
+ "Iteration 30: x = -4.9032, f(x) = 0.3008\n",
+ "Iteration 40: x = -5.1438, f(x) = 0.1833\n",
+ "Iteration 50: x = -5.2972, f(x) = 0.1235\n",
+ "Iteration 60: x = -5.4037, f(x) = 0.0889\n",
+ "Iteration 70: x = -5.4820, f(x) = 0.0671\n",
+ "Iteration 80: x = -5.5421, f(x) = 0.0524\n",
+ "Iteration 90: x = -5.5896, f(x) = 0.0421\n",
+ "Final value: x = -5.6246, f(x) = 0.0352\n"
+ ]
+ }
+ ],
+ "source": [
+ "def f1(x):\n",
+ " return (1/4)*(x**2) + 3*x + 9\n",
+ "\n",
+ "def derivative_f1(x):\n",
+ " return ((1/2)*x + 3)**2\n",
+ "\n",
+ "def gradient1(x):\n",
+ " return derivative_f1(x)\n",
+ "\n",
+ "x = 10\n",
+ "x1 = None\n",
+ "step_size = 0.1\n",
+ "iterations = 100\n",
+ "\n",
+ "for i in range(iterations):\n",
+ " grad1 = gradient1(x)\n",
+ " x = x - step_size * grad1\n",
+ " if i % 10 == 0:\n",
+ " print(f\"Iteration {i}: x = {x:.4f}, f(x) = {f1(x):.4f}\")\n",
+ "\n",
+ "print(f\"Final value: x = {x:.4f}, f(x) = {f1(x):.4f}\")\n",
+ "# Correction: remove the square operation in the derivative function"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "xMurdw_XRpnB",
+ "outputId": "a74c9986-ea5d-43cf-d329-d4f5bba49994"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Iteration 0: x = -7.6333, f(x) = 4496.4599\n",
+ "Iteration 10: x = -33.4699, f(x) = 0.2846\n",
+ "Iteration 20: x = -33.9333, f(x) = 0.1267\n",
+ "Iteration 30: x = -34.2503, f(x) = 0.0651\n",
+ "Iteration 40: x = -34.4814, f(x) = 0.0369\n",
+ "Iteration 50: x = -34.6577, f(x) = 0.0225\n",
+ "Iteration 60: x = -34.7968, f(x) = 0.0146\n",
+ "Iteration 70: x = -34.9095, f(x) = 0.0098\n",
+ "Iteration 80: x = -35.0026, f(x) = 0.0069\n",
+ "Iteration 90: x = -35.0809, f(x) = 0.0050\n",
+ "Final value: x = -35.1414, f(x) = 0.0038\n"
+ ]
+ }
+ ],
+ "source": [
+ "def f2(x):\n",
+ " return (1/144)*(x**4) + x**3 + 54*(x**2) + 1296*x + 11664\n",
+ "\n",
+ "def derivative_f2(x):\n",
+ " return (1/36)*(x**3) + 3*x**2 + 108*x + 1296\n",
+ "\n",
+ "def dderivative_f2(x):\n",
+ " return (1/12)*(x**2) + 6*x + 108\n",
+ "\n",
+ "def gradient2(x):\n",
+ " return dderivative_f2(x)\n",
+ "\n",
+ "x = 10\n",
+ "x1 = None\n",
+ "step_size = 0.1\n",
+ "iterations = 100\n",
+ "\n",
+ "for i in range(iterations):\n",
+ " if x1 is not None:\n",
+ " grad2 = gradient2(x1)\n",
+ " else:\n",
+ " grad2 = gradient2(x)\n",
+ " x1, x = x, x - step_size * grad2\n",
+ " if i % 10 == 0:\n",
+ " print(f\"Iteration {i}: x = {x:.4f}, f(x) = {f2(x):.4f}\")\n",
+ "\n",
+ "print(f\"Final value: x = {x:.4f}, f(x) = {f2(x):.4f}\")\n",
+ "# Correction: replace second derivative with first, compute gradient at the current step"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "L_VpxFoiVYFR"
+ },
+ "source": [
+ "#**Parameters**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "A5-r9E0Ea1T7"
+ },
+ "outputs": [],
+ "source": [
+ "# We will use this code for demonstrations of different function and different step sizes\n",
+ "# This code snippet in this notebook need not to be sent to students before tutorials, only made for explaning things\n",
+ "import time\n",
+ "\n",
+ "# def f(x):\n",
+ "# return x**2\n",
+ "# def derivative_f(x):\n",
+ "# return 2*x\n",
+ "\n",
+ "def f(x):\n",
+ " return x**4 - 6*x**3 + 25*x + 30\n",
+ "def derivative_f(x):\n",
+ " return 4*x**3 - 18*x**2 + 25\n",
+ "\n",
+ "initial_x = 10\n",
+ "iterations = 100\n",
+ "learning_rate = 0.001\n",
+ "\n",
+ "# Store the values for visualization\n",
+ "x_values = []\n",
+ "f_values = []\n",
+ "\n",
+ "x = initial_x\n",
+ "start_time = time.time()\n",
+ "\n",
+ "for i in range(iterations):\n",
+ " x_values.append(x)\n",
+ " f_values.append(f(x))\n",
+ "\n",
+ " grad = derivative_f(x)\n",
+ " x = x - learning_rate * grad\n",
+ "\n",
+ "end_time = time.time()\n",
+ "total_time = end_time - start_time\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 751
+ },
+ "id": "dzSolUmRa8lg",
+ "outputId": "3caafc0b-4c40-4461-b980-82496b758b72"
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ ":26: MatplotlibDeprecationWarning: Setting data with a non sequence type is deprecated since 3.7 and will be remove two minor releases later\n",
+ " line.set_data(x_values[i], f_values[i])\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"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt\n",
+ "import matplotlib.animation as animation\n",
+ "import time\n",
+ "\n",
+ "# Set up the plot\n",
+ "fig, ax = plt.subplots(figsize=(10, 6))\n",
+ "x_range = np.linspace(-10, 10, 400)\n",
+ "y_range = f(x_range)\n",
+ "\n",
+ "# Plot the function\n",
+ "ax.plot(x_range, y_range, label=r'$f(x) = x^2$', color='black', linestyle='--')\n",
+ "line, = ax.plot([], [], 'ro', label='Gradient Descent Path', markersize=8) # Larger marker size for visibility\n",
+ "text = ax.text(0.05, 0.9, '', transform=ax.transAxes)\n",
+ "\n",
+ "# Set plot limits and labels\n",
+ "ax.set_xlim(-10, 10)\n",
+ "ax.set_ylim(0, 110)\n",
+ "ax.set_xlabel('x')\n",
+ "ax.set_ylabel('f(x)')\n",
+ "ax.legend()\n",
+ "ax.grid(True)\n",
+ "\n",
+ "# Animation function\n",
+ "def animate(i):\n",
+ " line.set_data(x_values[i], f_values[i])\n",
+ " text.set_text(f'Iteration: {i+1}\\nTime Elapsed: {total_time:.2f} seconds')\n",
+ " return line, text\n",
+ "\n",
+ "# Create the animation\n",
+ "ani = animation.FuncAnimation(fig, animate, frames=len(x_values), interval=200, repeat=False)\n",
+ "\n",
+ "plt.close(fig) # Extra static plot was coming\n",
+ "\n",
+ "# Display the animation in Notebook\n",
+ "from IPython.display import HTML\n",
+ "HTML(ani.to_jshtml())\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "background_save": true
+ },
+ "id": "U1M_VqodbBkP"
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "display_name": "ai511",
+ "language": "python",
+ "name": "ai511"
+ },
+ "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.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
}
diff --git a/python/Tutorial_02.ipynb b/python/Tutorial_02.ipynb
new file mode 100644
index 0000000..3e7485a
--- /dev/null
+++ b/python/Tutorial_02.ipynb
@@ -0,0 +1,1932 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "i6sPnhMH0raw"
+ },
+ "source": [
+ "# House Price Prediction\n",
+ "\n",
+ "Think of finding the perfect house as a complex journey involving negotiations, research, and decision-making. Now, imagine having a smart guide that helps you navigate through this maze by analyzing data and predicting outcomes. Linear regression is that guide. In this tutorial, we'll explore how linear regression helps us understand and predict relationships in data, just like finding the ideal house by matching features with price. Let's get started and discover how this powerful tool can simplify your data-driven decisions!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "huwdh4Es3EZ2"
+ },
+ "source": [
+ "## Setup\n",
+ "\n",
+ "The House Price Prediction Dataset contains 13 features\n",
+ "\n",
+ "| # | Column Name | Description |\n",
+ "|----|----------------|---------------------------------------------------------------------|\n",
+ "| 1 | Id | To count the records. |\n",
+ "| 2 | MSSubClass | Identifies the type of dwelling involved in the sale. |\n",
+ "| 3 | MSZoning | Identifies the general zoning classification of the sale. |\n",
+ "| 4 | LotArea | Lot size in square feet. |\n",
+ "| 5 | LotConfig | Configuration of the lot |\n",
+ "| 6 | BldgType | Type of dwelling |\n",
+ "| 7 | OverallCond | Rates the overall condition of the house |\n",
+ "| 8 | YearBuilt | Original construction year |\n",
+ "| 9 | YearRemodAdd | Remodel date (same as construction date if no remodeling or additions). |\n",
+ "| 10 | Exterior1st | Exterior covering on house |\n",
+ "| 11 | BsmtFinSF2 | Type 2 finished square feet. |\n",
+ "| 12 | TotalBsmtSF | Total square feet of basement area |\n",
+ "| 13 | SalePrice | To be predicted |\n",
+ "\n",
+ "\n",
+ "Run the cell below to download dataset"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "W5Y7ZPKz0nf8",
+ "outputId": "59427fb0-eca8-4437-848e-4fdbd8b9f022"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n",
+ "\u001b7\u001b[1A\u001b[1G\u001b[27G[Files: 0 Bytes: 0 [0 B/s] Re]\u001b8\u001b7\u001b[2A\u001b[1G\u001b[27G[https://docs.google.com/spread]\u001b8\u001b7\u001b[2A\u001b[1G0 files 100% [=============================>] 349 --.-KB/s\u001b8\u001b7\u001b[1A\u001b[1G\u001b[27G[Files: 0 Bytes: 349 [311 B/s]\u001b8\u001b7\u001b[2A\u001b[1G0 files 100% [=============================>] 349 --.-KB/s\u001b8\u001b7\u001b[2A\u001b[1G\u001b[27G[https://doc-08-30-sheets.googl]\u001b8\u001b7\u001b[2A\u001b[1GhouseDataset.csv 100% [=============================>] 42.28K --.-KB/s\u001b8\u001b7\u001b[1A\u001b[1G\u001b[27G[Files: 1 Bytes: 42.63K [20.06]\u001b8\u001b[m\u001b[m\u001b[m\u001b[m"
+ ]
+ }
+ ],
+ "source": [
+ "!wget -O houseDataset.csv \"https://docs.google.com/spreadsheets/d/1caaR9pT24GNmq3rDQpMiIMJrmiTGarbs/export?format=csv&id=1caaR9pT24GNmq3rDQpMiIMJrmiTGarbs&gid=1150341366\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "ecr_wCDI7tcT"
+ },
+ "source": [
+ "## EDA"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "KLdgiCGJ9dN-"
+ },
+ "source": [
+ "### Create and Display DataFrame\n",
+ "\n",
+ "pd.read_csv: Reads the CSV file into a DataFrame.\n",
+ "\n",
+ "df.columns.tolist(): Retrieves the column names from the DataFrame.\n",
+ "\n",
+ "df.head(): Displays the first few rows of the DataFrame for a quick preview."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "NhdMHsM4831s",
+ "outputId": "474be38d-461a-43f5-cb58-7b04f6a8ea77"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "DataFrame created successfully!\n",
+ "\n",
+ "Column Names:\n",
+ "['Id', 'MSSubClass', 'MSZoning', 'LotArea', 'LotConfig', 'BldgType', 'OverallCond', 'YearBuilt', 'YearRemodAdd', 'Exterior1st', 'BsmtFinSF2', 'TotalBsmtSF', 'SalePrice']\n",
+ "\n",
+ "Data:\n",
+ " Id MSSubClass MSZoning LotArea LotConfig BldgType OverallCond \\\n",
+ "0 0 60 RL 8450 Inside 1Fam 5 \n",
+ "1 1 20 RL 9600 FR2 1Fam 8 \n",
+ "2 2 60 RL 11250 Inside 1Fam 5 \n",
+ "3 3 70 RL 9550 Corner 1Fam 5 \n",
+ "4 4 60 RL 14260 FR2 1Fam 5 \n",
+ "\n",
+ " YearBuilt YearRemodAdd Exterior1st BsmtFinSF2 TotalBsmtSF SalePrice \n",
+ "0 2003 2003 VinylSd 0.0 856.0 208500.0 \n",
+ "1 1976 1976 MetalSd 0.0 1262.0 181500.0 \n",
+ "2 2001 2002 VinylSd 0.0 920.0 223500.0 \n",
+ "3 1915 1970 Wd Sdng 0.0 756.0 140000.0 \n",
+ "4 2000 2000 VinylSd 0.0 1145.0 250000.0 \n"
+ ]
+ }
+ ],
+ "source": [
+ "import pandas as pd\n",
+ "\n",
+ "def create_and_display_dataframe(file_path):\n",
+ " df = pd.read_csv(file_path)\n",
+ "\n",
+ " print(\"DataFrame created successfully!\")\n",
+ " print(\"\\nColumn Names:\")\n",
+ " print(df.columns.tolist())\n",
+ "\n",
+ " print(\"\\nData:\")\n",
+ " print(df.head())\n",
+ "\n",
+ "file_path = 'houseDataset.csv'\n",
+ "create_and_display_dataframe(file_path)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "hSf2soXG-ceA"
+ },
+ "source": [
+ "### Correlation Matrix\n",
+ "\n",
+ "The correlation coefficient between two variables\n",
+ "X and\n",
+ "Y can be calculated using the formula:\n",
+ "\n",
+ "\n",
+ "\n",
+ "Here’s how you can calculate the correlation matrix **manually** using the pandas DataFrame:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "HCg9xSy_9VUB",
+ "outputId": "fc88ebd1-54c0-4f38-f29a-a32d53a9e83f"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Correlation Matrix:\n",
+ "Id: {'Id': np.float64(0.9996574169236039), 'MSSubClass': np.float64(0.008927562480306352), 'LotArea': np.float64(-0.0407321028950552), 'OverallCond': np.float64(-0.002838510751975099), 'YearBuilt': np.float64(-0.01657533184893819), 'YearRemodAdd': np.float64(-0.05042031403232767), 'BsmtFinSF2': np.float64(0.018245950570756973), 'TotalBsmtSF': np.float64(-0.024917399703561802), 'SalePrice': np.float64(-0.010956479916617771)}\n",
+ "MSSubClass: {'Id': np.float64(0.008927562480306352), 'MSSubClass': np.float64(0.9996574169236039), 'LotArea': np.float64(-0.20166093967197754), 'OverallCond': np.float64(-0.06560255579623428), 'YearBuilt': np.float64(0.03439695580602711), 'YearRemodAdd': np.float64(0.04330007459603745), 'BsmtFinSF2': np.float64(-0.07250762840452592), 'TotalBsmtSF': np.float64(-0.21989847983040878), 'SalePrice': np.float64(-0.08379642185504654)}\n",
+ "LotArea: {'Id': np.float64(-0.0407321028950552), 'MSSubClass': np.float64(-0.20166093967197754), 'LotArea': np.float64(0.999657416923604), 'OverallCond': np.float64(-0.03560499881535773), 'YearBuilt': np.float64(0.0241195581530019), 'YearRemodAdd': np.float64(0.021604859270227504), 'BsmtFinSF2': np.float64(0.08404013983833278), 'TotalBsmtSF': np.float64(0.2540817476113896), 'SalePrice': np.float64(0.333674130842095)}\n",
+ "OverallCond: {'Id': np.float64(-0.002838510751975099), 'MSSubClass': np.float64(-0.06560255579623428), 'LotArea': np.float64(-0.03560499881535773), 'OverallCond': np.float64(0.999657416923604), 'YearBuilt': np.float64(-0.36835045461557436), 'YearRemodAdd': np.float64(0.04763768915013037), 'BsmtFinSF2': np.float64(0.04148225197214482), 'TotalBsmtSF': np.float64(-0.17392254934878815), 'SalePrice': np.float64(-0.07777940410944484)}\n",
+ "YearBuilt: {'Id': np.float64(-0.01657533184893819), 'MSSubClass': np.float64(0.03439695580602711), 'LotArea': np.float64(0.0241195581530019), 'OverallCond': np.float64(-0.36835045461557436), 'YearBuilt': np.float64(0.9996574169236039), 'YearRemodAdd': np.float64(0.6120248285532728), 'BsmtFinSF2': np.float64(-0.02758664362635253), 'TotalBsmtSF': np.float64(0.4083956282217249), 'SalePrice': np.float64(0.5210118777503243)}\n",
+ "YearRemodAdd: {'Id': np.float64(-0.05042031403232767), 'MSSubClass': np.float64(0.04330007459603745), 'LotArea': np.float64(0.021604859270227504), 'OverallCond': np.float64(0.04763768915013037), 'YearBuilt': np.float64(0.6120248285532728), 'YearRemodAdd': np.float64(0.9996574169236041), 'BsmtFinSF2': np.float64(-0.062113952131322744), 'TotalBsmtSF': np.float64(0.2979181175899782), 'SalePrice': np.float64(0.5007161212690244)}\n",
+ "BsmtFinSF2: {'Id': np.float64(0.018245950570756973), 'MSSubClass': np.float64(-0.07250762840452592), 'LotArea': np.float64(0.08404013983833278), 'OverallCond': np.float64(0.04148225197214482), 'YearBuilt': np.float64(-0.02758664362635253), 'YearRemodAdd': np.float64(-0.062113952131322744), 'BsmtFinSF2': np.float64(0.9996572995202193), 'TotalBsmtSF': np.float64(0.08937931109175348), 'SalePrice': np.float64(-0.010840379745732428)}\n",
+ "TotalBsmtSF: {'Id': np.float64(-0.024917399703561802), 'MSSubClass': np.float64(-0.21989847983040878), 'LotArea': np.float64(0.2540817476113896), 'OverallCond': np.float64(-0.17392254934878815), 'YearBuilt': np.float64(0.4083956282217249), 'YearRemodAdd': np.float64(0.2979181175899782), 'BsmtFinSF2': np.float64(0.08937931109175348), 'TotalBsmtSF': np.float64(0.9996572995202194), 'SalePrice': np.float64(0.6102932777069716)}\n",
+ "SalePrice: {'Id': np.float64(-0.010956479916617771), 'MSSubClass': np.float64(-0.08379642185504654), 'LotArea': np.float64(0.333674130842095), 'OverallCond': np.float64(-0.07777940410944484), 'YearBuilt': np.float64(0.5210118777503243), 'YearRemodAdd': np.float64(0.5007161212690244), 'BsmtFinSF2': np.float64(-0.010840379745732428), 'TotalBsmtSF': np.float64(0.6102932777069716), 'SalePrice': np.float64(0.9993150684931505)}\n"
+ ]
+ }
+ ],
+ "source": [
+ "class DataFrame:\n",
+ " def __init__(self, file_path):\n",
+ " self.df = pd.read_csv(file_path)\n",
+ "\n",
+ " def calculate_correlation_matrix(self):\n",
+ " # Get numerical columns\n",
+ " numerical_columns = self.df.select_dtypes(include=['float64', 'int64']).columns\n",
+ " num_cols = len(numerical_columns)\n",
+ "\n",
+ " # Create an empty correlation matrix\n",
+ " corr_matrix = {col: {col2: 0 for col2 in numerical_columns} for col in numerical_columns}\n",
+ "\n",
+ " for i in range(num_cols):\n",
+ " for j in range(i, num_cols):\n",
+ " col1 = numerical_columns[i]\n",
+ " col2 = numerical_columns[j]\n",
+ "\n",
+ " # Calculate mean\n",
+ " mean1 = self.df[col1].mean()\n",
+ " mean2 = self.df[col2].mean()\n",
+ "\n",
+ " # Calculate covariance\n",
+ " covariance = ((self.df[col1] - mean1) * (self.df[col2] - mean2)).mean()\n",
+ "\n",
+ " # Calculate standard deviations\n",
+ " std_dev1 = self.df[col1].std()\n",
+ " std_dev2 = self.df[col2].std()\n",
+ "\n",
+ " # Calculate correlation\n",
+ " correlation = covariance / (std_dev1 * std_dev2)\n",
+ "\n",
+ " # Store in matrix\n",
+ " corr_matrix[col1][col2] = correlation\n",
+ " corr_matrix[col2][col1] = correlation # Symmetric matrix\n",
+ "\n",
+ " return corr_matrix\n",
+ "\n",
+ " def display_correlation_matrix(self):\n",
+ " corr_matrix = self.calculate_correlation_matrix()\n",
+ " print(\"Correlation Matrix:\")\n",
+ " for col1, row in corr_matrix.items():\n",
+ " print(f\"{col1}: {row}\")\n",
+ "\n",
+ "file_path = 'dataset.csv'\n",
+ "df = DataFrame(file_path)\n",
+ "df.display_correlation_matrix()\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "5J-Lcp5S_0O1"
+ },
+ "source": [
+ "Using pandas, you can easily compute the correlation matrix with just a single method call. The output is cleaner, easier to interpret, and consistent with standard practices, making it a more efficient choice for handling real-world data tasks"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 788
+ },
+ "id": "ZkzU19EO_vLw",
+ "outputId": "1eb228eb-4d7e-4fd1-e519-fca38e6caf44"
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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R48exb1794Swrl27QiaT4fjx4wAANzc31KxZEytWrAAApKenw9zcHCNGjMD48eMLLf8cYSMiIiIiIpWXnJyMuLg4hS05OblA9n3lyhU0btxYIaxZs2a4cuUKACAlJQX//vuvQhyxWIzGjRsLcQpLiULdO6mco+oOxZ0FleMcdLS4s6BykqFR3FlQOeqilOLOgspJl6sVdxZUThp/VnMoJU8o7iyonBQRr7HZicAJX1nZ21oWdxZyVZx/S974oxumTp2qEObt7Y0pU6Z89b4jIiJQrlw5hbBy5cohLi4O7969g1Qqxfv375XGCQoK+urj54W/LEREREREpPK8vLzg6empECaRSIopN0WHHTYiIiIiIsoXkbqo2I4tkUgKrYNmbGyMyMhIhbDIyEjo6OigVKlSUFNTg5qamtI4xsbGhZKnj/gMGxERERERfdfc3d1x+vRphbCTJ0/C3d0dAFCyZElUr15dIU56ejpOnz4txCksHGEjIiIiIqJ8EZcovhG2zxEfH4+QkBDh85MnT+Dv7w8DAwNYWFjAy8sLL168wJYtWwAAgwcPxooVKzBu3Dj88ssvOHPmDP766y8cPZq51oGnpyf69OmDGjVqoFatWliyZAkSEhLg4eFRqGVhh42IiIiIiP5Tbt68iQYNGgifPz771qdPH/j6+uLVq1d4/vy58L21tTWOHj2K3377DUuXLkX58uWxfv16NGvWTIjTpUsXvHnzBpMnT0ZERARcXV1x/PjxHAuRFDS+h+07w1Uic+IqkTlxlcicuEpkTlwlMieuEpkTV4nMiatE5sRVIhWp8iqRx3Wciu3YzeMCi+3YxYm/LERERERElC8idS6BUdRY40RERERERCqKI2xERERERJQv38qiI/8lHGEjIiIiIiJSUeywERERERERqShOiSQiIiIionwRqXNKZFHjCBsREREREZGK4ggbERERERHlCxcdKXocYSMiIiIiIlJRHGEjIiIiIqJ84TNsRY8jbERERERERCqKHTYiIiIiIiIVxSmRRERERESUL1x0pOhxhI2IiIiIiEhFcYSNiIiIiIjyRaTGEbaixhE2IiIiIiIiFcUOGxERERERkYrilEgiIiIiIsoXMadEFjmOsBEREREREakojrAREREREVG+iMQcYStqHGEjIiIiIiJSURxh+4bVr18frq6uWLJkSXFnhYiIiIi+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ERLi4+FUsTK8p81WuDsZ8eol4rKc3z/Wa4C4uFjs2Or74UXRtvCeNgd6+t9GRzUvHTt1QlJSEpYvW4b4+HhUrFgR06ZPV6iPV69eITYuTvhcr149xMXGYuu2bZDGxMDG1hbTpk9XmA42cNAgiMRizJwxA6mpqahevTqGDhtWpGX7Uh06ds6ok+VLkBAfD+eKlTBt2qxs58grhXPkp3r1ERsXi21btwhtbtq0mUKdhISE4OHDjBUBB/Trq3C8DZu2oFw548Iv2Fdop6TdTJ42J89280O9BoiNk2Hn1k1Z2s1cod2UKKGOO/7/4sjBvUhKegejMmXhXvcndO7Ws8jL97nq//QjYmNjsWXbduH/e+a0qcL/95s3byDO8j7Gis5OGD92DDZv3QbfzVtgamYK74l/wMrKEgAQFR2Nqx9msQwdMVLhWPNmz4JLlcpFVLKv06FjFyQlJWFFlrYzNcf19RXiYjOvJz/Wq4/YOBm2b938oS5tMXXaLKEuQ7O0nYH9+igcb/2mrSrfdng9KXii73ikq7iI5HK5vLgzQUXnqHreC5V8j5yDjhZ3FlROMjSKOwsqR12U+0tWv1fpct5Fzi6N90FzKCVPKO4sqJwUEa+x2YnAP0ezsre1LO4s5OpmPfdPRyokNc5f+XSk/yD+shARERERUb6IVOSRnO8Ja5yIiIiIiEhFscNGRERERESkojglkoiIiIiI8iXromlUNDjCRkREREREpKI4wkZERERERPnyPb/AurhwhI2IiIiIiEhFscNGRERERESkojglkoiIiIiI8oWLjhQ9jrARERERERGpKI6wERERERFRvojEHO8paqxxIiIiIiIiFcURNiIiIiIiyhc+w1b0OMJGRERERESkothhIyIiIiIiUlGcEklERERERPkiVuOUyKLGETYiIiIiIiIVxRE2IiIiIiLKFy46UvQ4wkZERERERKSi2GEjIiIiIiJSUZwSSURERERE+SISc7ynqLHGiYiIiIiIVBRH2IiIiIiIKF+46EjR4wgbERERERGRiuIIGxERERER5QtH2IoeR9iIiIiIiIhUFDtsREREREREKopTIomIiIiIKF84JbLoscP2nXEOOlrcWVA5DxxbFncWVI62/+3izoLKMZLEFncWVE5puay4s6ByNCAv7iyonFiRQXFnQeVEJuoVdxZUTtlSvMYS5YYdNiIi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ftuO3ZGclIS1Wc6TidMXKJwnka9eKlxj6/7UCHFZzhMrGzv8MW2BcJ6UKFECf0yZh22+azFnmheS3r2DsakZhntOQLWa7jnyQPS1RPKvXf+evilPQkOKOwsq54Hjt3MHtaho+6vuNMviYiT5Nl6yXJRKy2XFnQWVIwJ/UrOLFX17L+UubJHv9Io7CyqnbCleY7OqbPd5q5sXpddevT8dqZCUnb2l2I5dnFRuhI2IiIiIiFQUl/UvcqxxIiIiIiIiFcURNiIiIiIiypdv5f2N/yUcYSMiIiIiIlJR7LARERERERGpKE6JJCIiIiKifBFx0ZEixxonIiIiIiJSURxhIyIiIiKifBGJuehIUeMIGxERERERkYriCBsREREREeUPn2ErcqxxIiIiIiIiFcUOGxERERERkYrilEgiIiIiIsoXLjpS9DjCRkREREREpKI4wkZERERERPkiEnG8p6ixxomIiIiIiFQUO2xEREREREQqilMiiYiIiIgof7joSJHjCBsREREREZGK4ggbERERERHli0jM8Z6ixhonIiIiIiJSURxhIyIiIiKifOGLs4seR9iIiIiIiIhUFDtsREREREREKopTIomIiIiIKH9EHO8paqxxIiIiIiIiFcURNiIiIiIiyhcuOlL0OMJGRERERESkojjC9p1JhkZxZ0HlaPvfLu4sqJx416rFnQWVYxx0qrizoHLkvOeXQzp45zk7o7RXxZ0FlWMTd7m4s6B6ZOnFnQPVYtepuHNAKoQdNiIiIiIiyh8xb9YVNdY4ERERERGRiuIIGxERERER5YtIxKnfRY0jbERERERERCqKI2xERERERJQ/fIatyLHGiYiIiIiIVBQ7bERERERERCqKUyKJiIiIiChfRGIuOlLUOMJGRERERESkojjCRkRERERE+SPieE9RY40TERERERGpKHbYiIiIiIiIVBSnRBIRERERUf5w0ZEixxE2IiIiIiL6T1q5ciWsrKygoaEBNzc3XL9+Pde4vr6+EIlECpuGhoZCHLlcjsmTJ8PExASlSpVC48aNERwcXKhlYIeNiIiIiIjyRSQSF9v2uf788094enrC29sbt27dgouLC5o1a4bXr1/nmkZHRwevXr0StmfPnil8P2/ePCxbtgxr1qzBtWvXoKWlhWbNmiEpKemz85df7LAREREREdF/zqJFizBgwAB4eHjA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Y5T8Rt451qxWZUjjE7D64GlEx8Vn1MmoPsKUyIhomULb2X3uekadrN6psJ9BrRtgcJuMm0YNqznjj14/Y+OxC5i38ygsjY0wf0g3VLW3KrJy0fdHJM8694/+84JCla8q9j2LTPpvdA4LUrzrt7EsflGyC8rf++O+Jxryb2N576IkBx/Gz04jLaG4s6BydKIffzrS90ZFXlOkKjR/7FTcWchV0p/zPh2pkGh0GVdsxy5O3+/YIhERERERkYpjh42IiIiIiEhFfRuTkImIiIiIqPh9x4t/FBfWOBERERERkYriCBsREREREeWPiIsrFTWOsBEREREREakojrAREREREVH+iDneU9RY40RERERERCqKHTYiIiIiIiIVxSmRRERERESUP1zWv8ixxomIiIiIiFQUR9iIiIiIiCh/xFzWv6hxhI2IiIiIiEhFscNGRERERESkojglkoiIiIiI8oeLjhQ51jgREREREZGK4ggbERERERHlj4iLjhQ1jrARERERERGpKI6wERERERFR/og53lPUWONEREREREQqih02IiIiIiIiFcUpkURERERElD9cdKTIcYSNiIiIiIhIRXGEjYiIiIiI8ocvzi5yrHEiIiIiIiIVxQ4bERERERGRiuKUSCIiIiIiyh++h63IscaJiIiIiIhUFEfYiIiIiIgof7isf5Fjh+07oy5KKe4sqBwjSWxxZ0HlGAedKu4sqJwQx8bFnQWVIz0TVNxZUDn1y90v7iyonFQ1SXFnQeXc1m9W3FlQObol44s7CyqlUnFngFQKO2xERERERJQ/XNa/yLHGiYiIiIiIVBQ7bERERERERCqKUyKJiIiIiCh/uOhIkeMIGxERERERkYriCBsREREREeUPX5xd5FjjREREREREKoodNiIiIiIiIhXFKZFERERERJQvci46UuQ4wkZERERERKSiOMJGRERERET5I+J4T1FjjRMREREREakojrAREREREVH+cIStyLHGiYiIiIiIVBQ7bERERERERCqKUyKJiIiIiChfuKx/0eMIGxERERERkYriCBsREREREeUPFx0pcqxxIiIiIiIiFcUOGxERERERkYrilEgiIiIiIsofLjpS5DjCRkRERERE/0krV66ElZUVNDQ04ObmhuvXr+ca18fHBz/++CP09fWhr6+Pxo0b54jft29fiEQiha158+aFWgZ2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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import seaborn as sns\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "df = pd.read_csv('/content/dataset.csv')\n",
+ "\n",
+ "\n",
+ "numeric_df = df.select_dtypes(include=['float64', 'int64'])\n",
+ "\n",
+ "# Compute the correlation matrix\n",
+ "corr_matrix = numeric_df.corr()\n",
+ "\n",
+ "plt.figure(figsize=(10, 8))\n",
+ "sns.heatmap(corr_matrix, annot=True, fmt='.2f', cmap='coolwarm', vmin=-1, vmax=1, center=0)\n",
+ "\n",
+ "plt.title('Correlation Matrix Heatmap')\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "lh3HJUOXBnRH"
+ },
+ "source": [
+ "### Mean, Median, Mode"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "nFLvh7cPArWH",
+ "outputId": "61e8edda-0547-48ce-8e85-1e4c5af20b21"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Statistics for Numeric Columns:\n",
+ "\n",
+ "Column: Id\n",
+ "Mean: 1459.0\n",
+ "Median: 1459.0\n",
+ "Mode: 0\n",
+ "\n",
+ "Column: MSSubClass\n",
+ "Mean: 57.1377183967112\n",
+ "Median: 50.0\n",
+ "Mode: 20\n",
+ "\n",
+ "Column: LotArea\n",
+ "Mean: 10168.11408016444\n",
+ "Median: 9453.0\n",
+ "Mode: 9600\n",
+ "\n",
+ "Column: OverallCond\n",
+ "Mean: 5.564576909900651\n",
+ "Median: 5.0\n",
+ "Mode: 5\n",
+ "\n",
+ "Column: YearBuilt\n",
+ "Mean: 1971.3127783487496\n",
+ "Median: 1973.0\n",
+ "Mode: 2005\n",
+ "\n",
+ "Column: YearRemodAdd\n",
+ "Mean: 1984.2644741349777\n",
+ "Median: 1993.0\n",
+ "Mode: 1950\n",
+ "\n",
+ "Column: BsmtFinSF2\n",
+ "Mean: 49.58224811514736\n",
+ "Median: 0.0\n",
+ "Mode: 0.0\n",
+ "\n",
+ "Column: TotalBsmtSF\n",
+ "Mean: 1051.7775873886224\n",
+ "Median: 989.5\n",
+ "Mode: 0.0\n",
+ "\n",
+ "Column: SalePrice\n",
+ "Mean: 180921.19589041095\n",
+ "Median: 163000.0\n",
+ "Mode: 140000.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(\"Statistics for Numeric Columns:\")\n",
+ "for column in numeric_df.columns:\n",
+ " print(f\"\\nColumn: {column}\")\n",
+ " print(f\"Mean: {numeric_df[column].mean()}\")\n",
+ " print(f\"Median: {numeric_df[column].median()}\")\n",
+ " print(f\"Mode: {numeric_df[column].mode()[0]}\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "sEmslgVqB_EK"
+ },
+ "source": [
+ "### Count NA values"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "fZlMMiu_B6hP",
+ "outputId": "c96a35d3-48f5-4556-f445-6cff6ff74cbb"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Columns with NA values:\n",
+ "MSZoning: 4\n",
+ "Exterior1st: 1\n",
+ "BsmtFinSF2: 1\n",
+ "TotalBsmtSF: 1\n",
+ "SalePrice: 1459\n"
+ ]
+ }
+ ],
+ "source": [
+ "def count_na_values(df):\n",
+ " na_counts = {col: 0 for col in df.columns}\n",
+ "\n",
+ " # Iterate through each row and column\n",
+ " for index, row in df.iterrows():\n",
+ " for col in df.columns:\n",
+ " # Check for NA values\n",
+ " if pd.isna(row[col]):\n",
+ " na_counts[col] += 1\n",
+ "\n",
+ " print(\"Columns with NA values:\")\n",
+ " for column, count in na_counts.items():\n",
+ " if count > 0:\n",
+ " print(f\"{column}: {count}\")\n",
+ "\n",
+ "count_na_values(df)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "axqEIpelDKWz"
+ },
+ "source": [
+ "### Range"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "KWQy6HdmCbs6",
+ "outputId": "29cd97bd-0f9a-48ec-cc00-97f3c9698ca2"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Minimum and Maximum Values for Numeric Columns:\n",
+ "Id: Min = 0, Max = 2918\n",
+ "MSSubClass: Min = 20, Max = 190\n",
+ "LotArea: Min = 1300, Max = 215245\n",
+ "OverallCond: Min = 1, Max = 9\n",
+ "YearBuilt: Min = 1872, Max = 2010\n",
+ "YearRemodAdd: Min = 1950, Max = 2010\n",
+ "BsmtFinSF2: Min = 0.0, Max = 1526.0\n",
+ "TotalBsmtSF: Min = 0.0, Max = 6110.0\n",
+ "SalePrice: Min = 34900.0, Max = 755000.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "def calculate_min_max(df):\n",
+ " min_values = {}\n",
+ " max_values = {}\n",
+ "\n",
+ " # Iterate over each column\n",
+ " for col in df.columns:\n",
+ " # Skip non-numeric columns\n",
+ " if df[col].dtype in ['float64', 'int64']:\n",
+ " min_value = float('inf')\n",
+ " max_value = float('-inf')\n",
+ "\n",
+ " # Iterate over each value in the column\n",
+ " for value in df[col]:\n",
+ " # Check for NA values and skip them\n",
+ " if pd.isna(value):\n",
+ " continue\n",
+ "\n",
+ " if value < min_value:\n",
+ " min_value = value\n",
+ " if value > max_value:\n",
+ " max_value = value\n",
+ "\n",
+ " if min_value != float('inf') and max_value != float('-inf'):\n",
+ " min_values[col] = min_value\n",
+ " max_values[col] = max_value\n",
+ "\n",
+ " print(\"Minimum and Maximum Values for Numeric Columns:\")\n",
+ " for col in min_values:\n",
+ " print(f\"{col}: Min = {min_values[col]}, Max = {max_values[col]}\")\n",
+ "\n",
+ "calculate_min_max(df)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "JirLmOE4DNZZ"
+ },
+ "source": [
+ "### Categorical Columns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 563
+ },
+ "id": "2lxPgYzsEjkh",
+ "outputId": "2a7f72f0-6e12-47e8-e871-c0c1973f570f"
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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Cw8PN/z8/DK8/nv3oWEYxrhx4wyLxWKcOnXK2tazZ88099m2bdsMScann35q07527Vqb9nPnzhmurq5G48aNbeZ76623DEk2xyej36uUz17BggVTbce9n8s7d+4YBQoUMEJCQozLly/bzHvv5/Ren332WarvV3rfh3ulHN97XyEhIYZhGMbJkycNFxcXY8yYMTbLHThwwHB1dbVp/7fH6t59kiKtn9sdOnQwJBlDhw61mTejx3v58uXW3x0AUuOUUQBPpIIFC6p9+/aaO3eu4uPjHdZv586drf92cXFRhQoVZBiGXn31VWu7v7+/ihYtqhMnTqRa/pVXXlG2bNms75s3b648efLom2++kSTFxMTo2LFjatOmjf78809dvHhRFy9e1LVr11SrVi1t3bpVycnJNn127949Q7V/8803qlixos2peT4+PuratatOnjypX375JWM7wQFKlCihF154wfo+Z86c6e6zFD/99JMuXLig7t2724yqREdHy8/P76HqeJj9fa927drpxo0bNqMJixcvliTraWuSrCPAknT58mUlJCTohRde0N69ex+q9nutX79eV65cUevWra3bcfHiRbm4uKhSpUratGmTtQ43Nzdt3rw51WlzDysyMlJhYWHW96VLl5avr+99j6f0z91F7/4+PMjd+/DatWu6ePGiqlSpIsMwtG/fvgcu/+WXX8rPz0+1a9e22Ufly5eXj4+PdR9t3LhRd+7c0WuvvWazfO/evVP1ae/3qkOHDjbbkZZ9+/YpLi5O/fr1S3Ut792jfnf3c+PGDV28eFHPP/+8JP2rz9XSpUu1fv166+vTTz+VJC1btkzJyclq2bKlzf4LCgpS4cKFrfvv3toe5lg9jB49eti8z+jxTtnHq1ev1u3btzOlNuBJximjAJ5Yw4cP16JFizR+/Hib627+jfz589u89/Pzk4eHR6obMPj5+aV5HU/hwoVt3lssFhUqVMh67daxY8ck/fNHY3oSEhKsp29J/5wimxGnTp1K806BxYsXt07PrMdy3Hvq2r37UZKyZ89+34By6tQpSan3YdasWVWwYMGHquth9ve96tWrp4CAAC1evNh6bdlnn32mMmXK2Jz+unr1ao0ePVoxMTG6efOmtd1R12imbEvNmjXTnO7r6ytJcnd314QJEzRw4EDlzp1bzz//vF566SW98sorCgoKeqh1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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "categorical_columns = df.select_dtypes(include=['object', 'category']).columns\n",
+ "\n",
+ "unique_counts = df[categorical_columns].nunique()\n",
+ "\n",
+ "plt.figure(figsize=(10, 6))\n",
+ "unique_counts.sort_values().plot(kind='barh', color='skyblue')\n",
+ "plt.xlabel('Number of Unique Values')\n",
+ "plt.ylabel('Categorical Features')\n",
+ "plt.title('Number of Unique Values in Categorical Features')\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "OY-x5zN6F55B"
+ },
+ "source": [
+ "To findout the actual count of each category we can plot the bargraph of each four features separately."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 382
+ },
+ "id": "FH6Pf9AcEyYL",
+ "outputId": "ed142cd9-0e02-4d1a-b375-30ae016dde85"
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ ":8: MatplotlibDeprecationWarning: Auto-removal of overlapping axes is deprecated since 3.6 and will be removed two minor releases later; explicitly call ax.remove() as needed.\n",
+ " plt.subplot(11, 4, index)\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAABccAAAE5CAYAAABVvZhZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACseElEQVR4nOzdd1wU1/4//teCUpQmKiwkiFjBgiIaxIKoXIrEWLhJuBobKIkBo2KwJIotihpbNF65xiiaQDS5N2rUfBEEBQs2EizYQFE0upCosAGVOr8//DEfV1ApC7vsvp6Pxzx0Zs6efR8XD7PvOXOORBAEAUREREREREREREREWkRH1QEQERERERERERERETU0JseJiIiIiIiIiIiISOswOU5EREREREREREREWofJcSIiIiIiIiIiIiLSOkyOExEREREREREREZHWYXKciIiIiIiIiIiIiLQOk+NEREREREREREREpHWYHCciIiIiIiIiIiIircPkOBERERERERERERFpnSaqDqAxKC8vx71792BsbAyJRKLqcIiIqk0QBPz999+wtraGjo7m3w9lf01EjRX7ayIi9adtfTXA/pqIGqca9dcCvdadO3cEANy4cePWaLc7d+6ouittEOyvuXHj1ti3uvbXy5cvF3r37i0YGRkJrVu3FkaMGCFcvXpVocygQYMqve+HH36oUOb27dvCsGHDBENDQ6F169bCp59+KpSUlCiUOXLkiODk5CTo6ekJ7du3F7Zv317tONlfc+PGrTFv2nJtLQjsr7lx49a4t+r01xw5Xg3GxsYAgDt37sDExETF0RARVZ9cLoeNjY3Yj2k69tdE1Fgpq79OSkpCcHAw+vTpg9LSUnz22Wfw9PTE5cuX0bx5c7HclClTsGTJEnG/WbNm4t/Lysrg6+sLqVSKkydP4v79+xg/fjyaNm2K5cuXAwCysrLg6+uLjz76CNHR0UhISMDkyZNhZWUFLy+v18bJ/pqIGiNtu7YG2F8TUeNUk/6ayfFqqHh0yMTEhL8MiKhR0pZHINlfE1FjV9f+OjY2VmE/KioKFhYWSE1NhZubm3i8WbNmkEqlVdYRFxeHy5cv4/Dhw7C0tETPnj2xdOlSzJkzB4sWLYKenh4iIyNhZ2eHNWvWAAAcHBxw/PhxrFu3rlrJcfbXRNSYacu1NcD+mogat+r019oxSRYRERER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Zg22bt0KLy+vBm0vEREREREREREREakHlY4cFwThtWUMDAywadMmbNq06aVlbG1t8euvv76yHnd3d/z+++81jpGIiIiIiIiIiIiINI9KR44TEREREREREREREakCk+NERERERBoiIiICffr0gbGxMSwsLDBy5Ehcu3ZNoczTp08RHByMli1bwsjICH5+fsjJyVEok52dDV9fXzRr1gwWFhYICwtDaWmpQpmjR4+iV69e0NfXR4cOHRAVFVXfzSMiIiIiUiomx4mIiIiINERSUhKCg4Nx6tQpxMfHo6SkBJ6enigsLBTLzJw5E/v378dPP/2EpKQk3Lt3D6NHjxbPl5WVwdfXF8XFxTh58iR27NiBqKgohIeHi2WysrLg6+uLwYMHIy0tDTNmzMDkyZNx6NChBm0vEREREVFdqHTOcSIiIiIiUp7Y2FiF/aioKFhYWCA1NRVubm7Iz8/Ht99+i5iYGAwZMgQAsH37djg4OODUqVPo27cv4uLicPnyZRw+fBiWlpbo2bMnli5dijlz5mDRokXQ09NDZGQk7OzssGbNGgCAg4MDjh8/jnXr1nHReyIiIiJqNDhynIiIiIhIQ+Xn5wMAzM3NAQCpqakoKSmBh4eHWMbe3h5t2rRBSkoKACAlJQXdu3eHpaWlWMbLywtyuRzp6elimefrqChTUceLioqKIJfLFTYiIiIiIlVjcpyIiIiISAOVl5djxowZ6N+/P7p16wYAkMlk0NPTg5mZmUJZS0tLyGQysczzifGK8xXnXlVGLpfjyZMnlWKJiIiAqampuNnY2CiljUREREREdcHkOBERERGRBgoODsalS5ewa9cuVYeCefPmIT8/X9zu3Lmj6pCIiIiIiDjnOBERERGRpgkJCcGBAweQnJyMN998UzwulUpRXFyMvLw8hdHjOTk5kEqlYpkzZ84o1JeTkyOeq/iz4tjzZUxMTGBoaFgpHn19fejr6yulbUREREREysKR40REREREGkIQBISEhGDPnj1ITEyEnZ2dwnlnZ2c0bdoUCQkJ4rFr164hOzsbrq6uAABXV1dcvHgRubm5Ypn4+HiYmJigS5cuYpnn66goU1EHEREREVFjwJHjREREREQaIjg4GDExMdi3bx+MjY3FOcJNTU1haGgIU1NTBAYGIjQ0FObm5jAxMcG0adPg6uqKvn37AgA8PT3RpUsXjBs3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2oRNmza99DW2trb49ddf6zkyIqLGi3OOExEREREREREREZHWYXKciIiIiIiIiIiIiLQOk+NEREREREREREREpHWYHCciIiIiIiIiIiIircPkOBERERERERERERFpHSbHiYiIiIiIiIiIiEjrMDlORERERERERERERFqHyXEiIiIiIiIiIiIi0jpMjhMRERERERERERGR1mFynIiIiIiIiIiIiIi0DpPjRERERERERERERKR1mBwnIiIiIiIiIiIiIq3D5DgRERERERERERERaR0mx4mIiIiIiIiIiIhI6zA5TkRERERERERERERah8lxIiIiIiIiIiIiItI6TI4TERERERERERERkdZhcpyIiIiIiIiIiIiItA6T40RERERERERERESkdZgcJyIiIiIiIiIiIiKtw+Q4EREREREREREREWkdJseJiKjOFi1aBIlEorDZ29uL558+fYrg4GC0bNkSRkZG8PPzQ05OjkId2dnZ8PX1RbNmzWBhYYGwsDCUlpY2dFOIiIiIiIiISEs0UXUARESkGbp27YrDhw+L+02a/N+vmJkzZ+LgwYP46aefYGpqipCQEIwePRonTpwAAJSVlcHX1xdSqRQnT57E/fv3MX78eDRt2hTLly9v8LYQERERERERkeZjcpyIiJSiSZMmkEqllY7n5+fj22+/RUxMDIYMGQIA2L59OxwcHHDq1Cn07dsXcXFxuHz5Mg4fPgxLS0v07NkTS5cuxZw5c7Bo0SLo6ek1dHOIiIiIiIiISMOpdXJ80aJFWLx4scKxzp074+rVqwCePaY/a9Ys7Nq1C0VFRfDy8sK///1vWFpaiuWzs7MxdepUHDlyBEZGRpgwYQIiIiIURjQSEVHdZWRkwNraGgYGBnB1dUVERATatGmD1NRUlJSUwMPDQyxrb2+PNm3aICUlBX379kVKSgq6d++u0H97eXlh6tSpSE9Ph5OTU5XvWVRUhKKiInFfLpfXXwMbIeewnaoOoc5Svxyv6hCIiIiIiIhIQ6n9nONdu3bF/fv3xe348ePiuZkzZ2L//v346aefkJSUhHv37mH06NHi+YrH9IuLi3Hy5Ens2LEDUVFRCA8PV0VTiIg0louLC6KiohAbG4vNmzcjKysLAwcOxN9//w2ZTAY9PT2YmZkpvMbS0hIymQwAIJPJFBLjFecrzr1MREQETE1Nxc3Gxka5DSMiIiIiIiIijaX2yfGKx/QrtlatWgH4v8f0165diyFDhsDZ2Rnbt2/HyZMncerUKQAQH9P//vvv0bNnT/j4+GDp0qXYtGkTiouLVdksIiKN4uPjg3fffReOjo7w8vLCr7/+iry8PPz444/1+r7z5s1Dfn6+uN25c6de34+IqLHjAspERERERP9H7ZPjFY/pt2vXDmPHjkV2djYAvPYxfQAvfUxfLpcjPT39pe9ZVFQEuVyusBERUfWZmZmhU6dOyMzMhFQqRXFxMfLy8hTK5OTkiHOUS6XSSsmXiv2q5jGvoK+vDxMTE4WNiIhejU9mEhERERE9o9bJcT6mT0TUOBUUFODGjRuwsrKCs7MzmjZtioSEBPH8tWvXkJ2dDVdXVwCAq6srLl68iNzcXLFMfHw8TExM0KVLlwaPn4hIk/HJTCIiIiKiZ9R6VUofHx/x746OjnBxcYGtrS1+/PFHGBoa1tv7zps3D6GhoeK+XC5ngpyI6BU+/fRTDB8+HLa2trh37x4WLlwIXV1d/Otf/4KpqSkCAwMRGhoKc3NzmJiYYNq0aXB1dUXfvn0BAJ6enujSpQvGjRuHVatWQSaTYf78+QgODoa+vr6KW0dEpFlUsYAyERHVTEREBH7++WdcvXoVhoaG6NevH1auXInOnTuLZZ4+fYpZs2Zh165dKCoqgpeXF/79738r9NHZ2dmYOnUqjhw5AiMjI0yYMAERERFo0kSt00EayzlsZ51ez8XqiZRPrUeOv4iP6RMRqae7d+/iX//6Fzp37oz33nsPLVu2xKlTp9C6dWsAwLp16/D222/Dz88Pbm5ukEql+Pnnn8XX6+rq4sCBA9DV1YWrqys++OADjB8/HkuWLFFVk4iINJKqnszktIVERDWTlJSE4OBgnDp1CvHx8SgpKYGnpycKCwvFMpwKi4io7hrVrcKKx/THjRun8Ji+n58fgKof01+2bBlyc3NhYWEBgI/pK0Nd73SqA95tJVKuXbt2vfK8gYEBNm3ahE2bNr20jK2tLX799Vdlh0ZERM9R1ZOZERERWLx4cb3VT0SkaWJjYxX2o6KiYGFhgdTUVLi5uYlTYcXExGDIkCEAgO3bt8PBwQGnTp1C3759xamwDh8+DEtLS/Ts2RNLly7FnDlzsGjRIujp6amiaUREakWtR45/+umnSEpKwq1bt3Dy5EmMGjWqysf0jxw5gtTUVEyaNOmlj+mfP38ehw4d4mP6RERERET/v4Z6MnPevHnIz88Xtzt37ii3IUREGi4/Px8AYG5uDgCvnQoLwEunwpLL5UhPT6/yffikDxFpG7VOjvMxfSIiIiKi+tNQCyhz2kIiotorLy/HjBkz0L9/f3Tr1g0A6m0qrIiICJiamoob118jIk2n1tOq8DF9IiIiIiLl4QLKRESNT3BwMC5duoTjx4/X+3vNmzcPoaGh4r5cLmeCnIg0mlonx4mIiIiISHkqnsx88OABWrdujQEDBlR6MlNHRwd+fn4oKiqCl5cX/v3vf4uvr3gyc+rUqXB1dUXz5s0xYcIEPplJRFRPQkJCcODAASQnJ+PNN98Ujz8/Fdbzo8dfnArrzJkzCvW9biosfX193uwkIq3C5DgRERERkZbgk5lERI2DIAiYNm0a9uzZg6NHj8LOzk7h/PNTYfn5+QGoeiqsZcuWITc3FxYWFgCqNxUWEZE2YXKciIiIiIiIiEiNBAcHIyYmBvv27YOxsbE4R7ipqSkMDQ05FRYRkZIwOU5EREREREREpEY2b94MAHB3d1c4vn37dkycOBEAp8IiIlIGJseJiIiIiIiIiNSIIAivLcOpsIiI6k5H1QEQERERERERERERETU0JseJiIiIiIiIiIiISOswOU5EREREREREREREWofJcSIiIiIiIiIiIiLSOkyOExEREREREREREZHWYXKciIiIiIiIiIiIiLQOk+NEREREREREREREpHWYHCciIiIiIiIiIiIirdNE1QEQERERERERERFRzTiH7azT61O/HK+kSIgaL44cJyIiIiIiIiIiIiKtw+Q4EREREREREREREWkdJseJiIiIiIiIiIiISOswOU5EREREREREREREWofJcSIiIiIiIiIiIiLSOk1UHQAREREREZE2cw7bqeoQ6iT1y/GqDoGIiIioVpgcJyIiIiIiIiIi0nLKuFnLG6bU2DA5TkRERBqDoy+JiIiIiIioujjnOBERERERERERERFpHSbHiYiIiIiIiIiIiEjrMDlORERERERERERERFqHc44TVQPnsCUiIiIiIiIiItIsTI4TERERERERERGR0tV1sCEH+1F947QqRERERERERERERKR1OHKciIiIiIiIGhSnLSQiIiJ1wOQ4ERERUSPV2JNLABNMRKQd2F8TESmHsqdp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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plt.figure(figsize=(18, 36))\n",
+ "plt.title('Categorical Features: Distribution')\n",
+ "plt.xticks(rotation=90)\n",
+ "index = 1\n",
+ "\n",
+ "for col in categorical_columns:\n",
+ " y = df[col].value_counts()\n",
+ " plt.subplot(11, 4, index)\n",
+ " plt.xticks(rotation=90)\n",
+ " sns.barplot(x=list(y.index), y=y)\n",
+ " index += 1"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "KtYExjQRHBQo"
+ },
+ "source": [
+ "# Preprocessing"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "y6V1OOb8E-9D"
+ },
+ "source": [
+ "As in our dataset, there are some columns that are not important and irrelevant for the model training. So, we can drop that column before training. There are 2 approaches to dealing with empty/null values\n",
+ "\n",
+ "We can easily delete the column/row (if the feature or record is not much important).\n",
+ "\n",
+ "Filling the empty slots with mean/mode/0/NA/etc. (depending on the dataset requirement).\n",
+ "\n",
+ "Dropping ID Column as it doesn't participate in prediction\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "x7n5GmAWwoO_"
+ },
+ "outputs": [],
+ "source": [
+ "df.drop(['Id'],\n",
+ "\t\t\taxis=1,\n",
+ "\t\t\tinplace=True)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "TuPS3m9fGmnf",
+ "outputId": "7fbb4b86-f311-4e3c-ad2b-ad1324bf36d9"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Columns with NA values:\n",
+ "MSZoning: 4\n",
+ "Exterior1st: 1\n",
+ "BsmtFinSF2: 1\n",
+ "TotalBsmtSF: 1\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Custom function to fill missing values with the mean\n",
+ "pd.options.mode.chained_assignment = None # default='warn'\n",
+ "\n",
+ "df_copy = df.copy()\n",
+ "def fill_missing_with_mean(data, column_name):\n",
+ " \"\"\"\n",
+ " Args:\n",
+ " data: The pandas DataFrame containing the data.\n",
+ " column_name: The name of the column to fill missing values in.\n",
+ " \"\"\"\n",
+ " total_sum = 0\n",
+ " count = 0\n",
+ " for value in data[column_name]:\n",
+ " if not pd.isna(value): # Check for missing values\n",
+ " total_sum += value\n",
+ " count += 1\n",
+ " mean_value = total_sum / count\n",
+ "\n",
+ " # Replace missing values with the calculated mean\n",
+ " for i in range(len(data[column_name])):\n",
+ " if pd.isna(data[column_name][i]):\n",
+ " data[column_name][i] = mean_value\n",
+ "\n",
+ "fill_missing_with_mean(df_copy, 'SalePrice')\n",
+ "count_na_values(df_copy)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "RLOKcTLZGyGB"
+ },
+ "source": [
+ "It's a lot easier with Pandas"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "XFWhKDBVGqGe"
+ },
+ "outputs": [],
+ "source": [
+ "# df['SalePrice'].fillna(df['SalePrice'].mean(), inplace=True)\n",
+ "# count_na_values(df)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "94P_JKZtGxjJ"
+ },
+ "source": [
+ "As we can see there are still NA values available in the dataset but they're very less in number. So, dropping the records with Null values!\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "2LrDmZryG9Pm",
+ "outputId": "45c648d4-bc87-4a2d-c251-02522d32a1da"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Columns with NA values:\n"
+ ]
+ }
+ ],
+ "source": [
+ "new_data = df_copy.dropna()\n",
+ "count_na_values(new_data)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "WbG2fnsIHQmn"
+ },
+ "source": [
+ "One hot Encoding is the best way to convert categorical data into binary vectors. This maps the values to integer values."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "N1LeRnnTG_x9",
+ "outputId": "70f77b9d-c86c-4659-fce8-1922514005a5"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " MSSubClass LotArea LotConfig BldgType OverallCond YearBuilt \\\n",
+ "0 60 8450 Inside 1Fam 5 2003 \n",
+ "1 20 9600 FR2 1Fam 8 1976 \n",
+ "2 60 11250 Inside 1Fam 5 2001 \n",
+ "3 70 9550 Corner 1Fam 5 1915 \n",
+ "4 60 14260 FR2 1Fam 5 2000 \n",
+ "\n",
+ " YearRemodAdd Exterior1st BsmtFinSF2 TotalBsmtSF SalePrice MSZoning_RL \\\n",
+ "0 2003 VinylSd 0.0 856.0 208500.0 1 \n",
+ "1 1976 MetalSd 0.0 1262.0 181500.0 1 \n",
+ "2 2002 VinylSd 0.0 920.0 223500.0 1 \n",
+ "3 1970 Wd Sdng 0.0 756.0 140000.0 1 \n",
+ "4 2000 VinylSd 0.0 1145.0 250000.0 1 \n",
+ "\n",
+ " MSZoning_RM MSZoning_C (all) MSZoning_FV MSZoning_RH \n",
+ "0 0 0 0 0 \n",
+ "1 0 0 0 0 \n",
+ "2 0 0 0 0 \n",
+ "3 0 0 0 0 \n",
+ "4 0 0 0 0 \n"
+ ]
+ }
+ ],
+ "source": [
+ "def one_hot_encode(df, column_name):\n",
+ " \"\"\"\n",
+ " Args:\n",
+ " df: The pandas DataFrame containing the data.\n",
+ " column_name: The name of the column to one-hot encode.\n",
+ "\n",
+ " Returns:\n",
+ " The DataFrame with the one-hot encoded columns.\n",
+ " \"\"\"\n",
+ " unique_values = df[column_name].unique()\n",
+ " for value in unique_values:\n",
+ " df[column_name + \"_\" + str(value)] = (df[column_name] == value).astype(int)\n",
+ " df = df.drop(column_name, axis=1)\n",
+ " return df\n",
+ "\n",
+ "df_encoded = one_hot_encode(new_data.copy(), 'MSZoning')\n",
+ "print(df_encoded.head())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "BjNQciWoHbTW"
+ },
+ "source": [
+ "This can be easily implemented with Sklearn library"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "Q0PeWhNYHTdl",
+ "outputId": "e1c90011-1985-41b4-c694-b4503f7d715d"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Categorical variables:\n",
+ "['MSZoning', 'LotConfig', 'BldgType', 'Exterior1st']\n",
+ "No. of. categorical features: 4\n"
+ ]
+ }
+ ],
+ "source": [
+ "from sklearn.preprocessing import OneHotEncoder\n",
+ "\n",
+ "s = (new_data.dtypes == 'object')\n",
+ "object_cols = list(s[s].index)\n",
+ "print(\"Categorical variables:\")\n",
+ "print(object_cols)\n",
+ "print('No. of. categorical features: ',\n",
+ "\tlen(object_cols))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 298
+ },
+ "id": "HwH4nB9QILS8",
+ "outputId": "aaa8fb92-0fc0-47ab-bf95-4e2aac1ec932"
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/usr/local/lib/python3.10/dist-packages/sklearn/preprocessing/_encoders.py:975: FutureWarning: `sparse` was renamed to `sparse_output` in version 1.2 and will be removed in 1.4. `sparse_output` is ignored unless you leave `sparse` to its default value.\n",
+ " warnings.warn(\n"
+ ]
+ },
+ {
+ "data": {
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "type": "dataframe",
+ "variable_name": "df_final"
+ },
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " MSSubClass | \n",
+ " LotArea | \n",
+ " OverallCond | \n",
+ " YearBuilt | \n",
+ " YearRemodAdd | \n",
+ " BsmtFinSF2 | \n",
+ " TotalBsmtSF | \n",
+ " SalePrice | \n",
+ " MSZoning_C (all) | \n",
+ " MSZoning_FV | \n",
+ " ... | \n",
+ " Exterior1st_CemntBd | \n",
+ " Exterior1st_HdBoard | \n",
+ " Exterior1st_ImStucc | \n",
+ " Exterior1st_MetalSd | \n",
+ " Exterior1st_Plywood | \n",
+ " Exterior1st_Stone | \n",
+ " Exterior1st_Stucco | \n",
+ " Exterior1st_VinylSd | \n",
+ " Exterior1st_Wd Sdng | \n",
+ " Exterior1st_WdShing | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 60 | \n",
+ " 8450 | \n",
+ " 5 | \n",
+ " 2003 | \n",
+ " 2003 | \n",
+ " 0.0 | \n",
+ " 856.0 | \n",
+ " 208500.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " ... | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 20 | \n",
+ " 9600 | \n",
+ " 8 | \n",
+ " 1976 | \n",
+ " 1976 | \n",
+ " 0.0 | \n",
+ " 1262.0 | \n",
+ " 181500.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " ... | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 60 | \n",
+ " 11250 | \n",
+ " 5 | \n",
+ " 2001 | \n",
+ " 2002 | \n",
+ " 0.0 | \n",
+ " 920.0 | \n",
+ " 223500.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " ... | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 70 | \n",
+ " 9550 | \n",
+ " 5 | \n",
+ " 1915 | \n",
+ " 1970 | \n",
+ " 0.0 | \n",
+ " 756.0 | \n",
+ " 140000.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " ... | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 60 | \n",
+ " 14260 | \n",
+ " 5 | \n",
+ " 2000 | \n",
+ " 2000 | \n",
+ " 0.0 | \n",
+ " 1145.0 | \n",
+ " 250000.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " ... | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 38 columns
\n",
+ "
\n",
+ "
\n",
+ "
\n"
+ ],
+ "text/plain": [
+ " MSSubClass LotArea OverallCond YearBuilt YearRemodAdd BsmtFinSF2 \\\n",
+ "0 60 8450 5 2003 2003 0.0 \n",
+ "1 20 9600 8 1976 1976 0.0 \n",
+ "2 60 11250 5 2001 2002 0.0 \n",
+ "3 70 9550 5 1915 1970 0.0 \n",
+ "4 60 14260 5 2000 2000 0.0 \n",
+ "\n",
+ " TotalBsmtSF SalePrice MSZoning_C (all) MSZoning_FV ... \\\n",
+ "0 856.0 208500.0 0.0 0.0 ... \n",
+ "1 1262.0 181500.0 0.0 0.0 ... \n",
+ "2 920.0 223500.0 0.0 0.0 ... \n",
+ "3 756.0 140000.0 0.0 0.0 ... \n",
+ "4 1145.0 250000.0 0.0 0.0 ... \n",
+ "\n",
+ " Exterior1st_CemntBd Exterior1st_HdBoard Exterior1st_ImStucc \\\n",
+ "0 0.0 0.0 0.0 \n",
+ "1 0.0 0.0 0.0 \n",
+ "2 0.0 0.0 0.0 \n",
+ "3 0.0 0.0 0.0 \n",
+ "4 0.0 0.0 0.0 \n",
+ "\n",
+ " Exterior1st_MetalSd Exterior1st_Plywood Exterior1st_Stone \\\n",
+ "0 0.0 0.0 0.0 \n",
+ "1 1.0 0.0 0.0 \n",
+ "2 0.0 0.0 0.0 \n",
+ "3 0.0 0.0 0.0 \n",
+ "4 0.0 0.0 0.0 \n",
+ "\n",
+ " Exterior1st_Stucco Exterior1st_VinylSd Exterior1st_Wd Sdng \\\n",
+ "0 0.0 1.0 0.0 \n",
+ "1 0.0 0.0 0.0 \n",
+ "2 0.0 1.0 0.0 \n",
+ "3 0.0 0.0 1.0 \n",
+ "4 0.0 1.0 0.0 \n",
+ "\n",
+ " Exterior1st_WdShing \n",
+ "0 0.0 \n",
+ "1 0.0 \n",
+ "2 0.0 \n",
+ "3 0.0 \n",
+ "4 0.0 \n",
+ "\n",
+ "[5 rows x 38 columns]"
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "OH_encoder = OneHotEncoder(sparse=False)\n",
+ "OH_cols = pd.DataFrame(OH_encoder.fit_transform(new_data[object_cols]))\n",
+ "OH_cols.index = new_data.index\n",
+ "# Use get_feature_names_out() for newer scikit-learn versions\n",
+ "OH_cols.columns = OH_encoder.get_feature_names_out()\n",
+ "df_final = new_data.drop(object_cols, axis=1)\n",
+ "df_final = pd.concat([df_final, OH_cols], axis=1)\n",
+ "df_final.head()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "eZDFB6FZv1k-"
+ },
+ "source": [
+ "### Scaling"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "bFOLI05z2940",
+ "outputId": "5a725fdb-1772-4962-c505-51926d71d4c6"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(755000.0, 34900.0)"
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "label_max, label_min = df[\"SalePrice\"].max(), df[\"SalePrice\"].min()\n",
+ "label_max, label_min"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "70VWqfAKv3J-"
+ },
+ "outputs": [],
+ "source": [
+ "df_normalized = df_final.apply(lambda x: (x - x.min()) / (x.max() - x.min()))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "Ve81LFh9wEs0"
+ },
+ "outputs": [],
+ "source": [
+ "# from sklearn.preprocessing import MinMaxScaler\n",
+ "# scaler = MinMaxScaler()\n",
+ "# df_normalized = pd.DataFrame(scaler.fit_transform(df), columns=df.columns)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "TCfu66R_cyAJ"
+ },
+ "source": [
+ "# Data splitting"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "SqKZLT33eAjM"
+ },
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "def train_test_split(X, y, test_size=0.2, random_state=None):\n",
+ " if random_state:\n",
+ " np.random.seed(random_state)\n",
+ "\n",
+ " # Split the data\n",
+ " split_index = int(len(X) * (1 - test_size))\n",
+ "\n",
+ " X_train = X[:split_index]\n",
+ " X_test = X[split_index:]\n",
+ " y_train = y[:split_index]\n",
+ " y_test = y[split_index:]\n",
+ "\n",
+ " return X_train, X_test, y_train, y_test"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "OF43AvddezUr",
+ "outputId": "8213b14a-cb42-4b26-d338-bc201e2b556e"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Index(['MSSubClass', 'LotArea', 'OverallCond', 'YearBuilt', 'YearRemodAdd',\n",
+ " 'BsmtFinSF2', 'TotalBsmtSF', 'SalePrice', 'MSZoning_C (all)',\n",
+ " 'MSZoning_FV', 'MSZoning_RH', 'MSZoning_RL', 'MSZoning_RM',\n",
+ " 'LotConfig_Corner', 'LotConfig_CulDSac', 'LotConfig_FR2',\n",
+ " 'LotConfig_FR3', 'LotConfig_Inside', 'BldgType_1Fam', 'BldgType_2fmCon',\n",
+ " 'BldgType_Duplex', 'BldgType_Twnhs', 'BldgType_TwnhsE',\n",
+ " 'Exterior1st_AsbShng', 'Exterior1st_AsphShn', 'Exterior1st_BrkComm',\n",
+ " 'Exterior1st_BrkFace', 'Exterior1st_CBlock', 'Exterior1st_CemntBd',\n",
+ " 'Exterior1st_HdBoard', 'Exterior1st_ImStucc', 'Exterior1st_MetalSd',\n",
+ " 'Exterior1st_Plywood', 'Exterior1st_Stone', 'Exterior1st_Stucco',\n",
+ " 'Exterior1st_VinylSd', 'Exterior1st_Wd Sdng', 'Exterior1st_WdShing'],\n",
+ " dtype='object')"
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_normalized.columns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "Wrqjlf9-gJEr"
+ },
+ "outputs": [],
+ "source": [
+ "df_normalized = df_normalized.sample(frac = 1)\n",
+ "X, y = df_normalized[['MSSubClass', 'LotArea', 'OverallCond', 'YearBuilt', 'YearRemodAdd',\n",
+ " 'BsmtFinSF2', 'TotalBsmtSF', 'MSZoning_C (all)',\n",
+ " 'MSZoning_FV', 'MSZoning_RH', 'MSZoning_RL', 'MSZoning_RM',\n",
+ " 'LotConfig_Corner', 'LotConfig_CulDSac', 'LotConfig_FR2',\n",
+ " 'LotConfig_FR3', 'LotConfig_Inside', 'BldgType_1Fam', 'BldgType_2fmCon',\n",
+ " 'BldgType_Duplex', 'BldgType_Twnhs', 'BldgType_TwnhsE',\n",
+ " 'Exterior1st_AsbShng', 'Exterior1st_AsphShn', 'Exterior1st_BrkComm',\n",
+ " 'Exterior1st_BrkFace', 'Exterior1st_CBlock', 'Exterior1st_CemntBd',\n",
+ " 'Exterior1st_HdBoard', 'Exterior1st_ImStucc', 'Exterior1st_MetalSd',\n",
+ " 'Exterior1st_Plywood', 'Exterior1st_Stone', 'Exterior1st_Stucco',\n",
+ " 'Exterior1st_VinylSd', 'Exterior1st_Wd Sdng', 'Exterior1st_WdShing']], df_normalized[['SalePrice']]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "collapsed": true,
+ "id": "7y3Skg0ZguD4",
+ "jupyter": {
+ "outputs_hidden": true
+ },
+ "outputId": "ab42d14d-0d70-4437-8745-037c03d75035"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "( MSSubClass LotArea OverallCond YearBuilt YearRemodAdd BsmtFinSF2 \\\n",
+ " 2468 0.176471 0.020473 0.250 0.210145 0.000000 0.000000 \n",
+ " 1269 0.176471 0.046947 0.500 0.623188 0.133333 0.000000 \n",
+ " 2674 0.588235 0.007993 0.500 0.963768 0.933333 0.000000 \n",
+ " 1647 0.000000 0.030522 0.500 0.710145 0.333333 0.000000 \n",
+ " 530 0.352941 0.041599 0.500 0.840580 0.650000 0.000000 \n",
+ " ... ... ... ... ... ... ... \n",
+ " 2710 0.352941 0.060904 0.375 0.739130 0.400000 0.325688 \n",
+ " 1127 0.000000 0.062035 0.500 0.956522 0.900000 0.000000 \n",
+ " 2519 0.235294 0.051658 0.500 0.913043 0.816667 0.000000 \n",
+ " 1505 0.000000 0.042796 0.625 0.688406 0.283333 0.000000 \n",
+ " 1603 0.588235 0.011737 0.500 0.956522 0.916667 0.000000 \n",
+ " \n",
+ " TotalBsmtSF MSZoning_C (all) MSZoning_FV MSZoning_RH ... \\\n",
+ " 2468 0.158592 0.0 0.0 0.0 ... \n",
+ " 1269 0.143044 0.0 0.0 0.0 ... \n",
+ " 2674 0.186907 0.0 0.0 0.0 ... \n",
+ " 1647 0.193126 0.0 0.0 0.0 ... \n",
+ " 530 0.239116 0.0 0.0 0.0 ... \n",
+ " ... ... ... ... ... ... \n",
+ " 2710 0.286088 0.0 0.0 0.0 ... \n",
+ " 1127 0.250409 0.0 0.0 0.0 ... \n",
+ " 2519 0.139607 0.0 0.0 0.0 ... \n",
+ " 1505 0.299345 0.0 0.0 0.0 ... \n",
+ " 1603 0.260884 0.0 0.0 0.0 ... \n",
+ " \n",
+ " Exterior1st_CemntBd Exterior1st_HdBoard Exterior1st_ImStucc \\\n",
+ " 2468 0.0 0.0 0.0 \n",
+ " 1269 0.0 0.0 0.0 \n",
+ " 2674 0.0 0.0 0.0 \n",
+ " 1647 0.0 1.0 0.0 \n",
+ " 530 0.0 1.0 0.0 \n",
+ " ... ... ... ... \n",
+ " 2710 0.0 0.0 0.0 \n",
+ " 1127 0.0 0.0 0.0 \n",
+ " 2519 0.0 0.0 0.0 \n",
+ " 1505 0.0 1.0 0.0 \n",
+ " 1603 1.0 0.0 0.0 \n",
+ " \n",
+ " Exterior1st_MetalSd Exterior1st_Plywood Exterior1st_Stone \\\n",
+ " 2468 0.0 0.0 0.0 \n",
+ " 1269 1.0 0.0 0.0 \n",
+ " 2674 0.0 0.0 0.0 \n",
+ " 1647 0.0 0.0 0.0 \n",
+ " 530 0.0 0.0 0.0 \n",
+ " ... ... ... ... \n",
+ " 2710 0.0 0.0 0.0 \n",
+ " 1127 0.0 0.0 0.0 \n",
+ " 2519 0.0 0.0 0.0 \n",
+ " 1505 0.0 0.0 0.0 \n",
+ " 1603 0.0 0.0 0.0 \n",
+ " \n",
+ " Exterior1st_Stucco Exterior1st_VinylSd Exterior1st_Wd Sdng \\\n",
+ " 2468 0.0 0.0 0.0 \n",
+ " 1269 0.0 0.0 0.0 \n",
+ " 2674 0.0 1.0 0.0 \n",
+ " 1647 0.0 0.0 0.0 \n",
+ " 530 0.0 0.0 0.0 \n",
+ " ... ... ... ... \n",
+ " 2710 0.0 0.0 0.0 \n",
+ " 1127 0.0 1.0 0.0 \n",
+ " 2519 0.0 1.0 0.0 \n",
+ " 1505 0.0 0.0 0.0 \n",
+ " 1603 0.0 0.0 0.0 \n",
+ " \n",
+ " Exterior1st_WdShing \n",
+ " 2468 0.0 \n",
+ " 1269 0.0 \n",
+ " 2674 0.0 \n",
+ " 1647 0.0 \n",
+ " 530 0.0 \n",
+ " ... ... \n",
+ " 2710 1.0 \n",
+ " 1127 0.0 \n",
+ " 2519 0.0 \n",
+ " 1505 0.0 \n",
+ " 1603 0.0 \n",
+ " \n",
+ " [2913 rows x 37 columns],\n",
+ " SalePrice\n",
+ " 2468 0.202779\n",
+ " 1269 0.151507\n",
+ " 2674 0.202779\n",
+ " 1647 0.202779\n",
+ " 530 0.194556\n",
+ " ... ...\n",
+ " 2710 0.202779\n",
+ " 1127 0.311207\n",
+ " 2519 0.202779\n",
+ " 1505 0.202779\n",
+ " 1603 0.202779\n",
+ " \n",
+ " [2913 rows x 1 columns])"
+ ]
+ },
+ "execution_count": 23,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X, y"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "wiiNfRQRgR1G"
+ },
+ "outputs": [],
+ "source": [
+ "# X, y = df_final.loc[:, df_final.columns != 'SalePrice'], df_final[['SalePrice']]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "gMCC4I4bgjf2"
+ },
+ "outputs": [],
+ "source": [
+ "X_train, X_test, y_train, y_test = train_test_split(X, y)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "o5k0PNG_pMGY",
+ "outputId": "df0cd3cb-be60-4c92-8148-ffa013e2dec9"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "((2330, 37), (583, 37), (2330, 1), (583, 1))"
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X_train.shape, X_test.shape, y_train.shape, y_test.shape"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "egogzbyuca1N"
+ },
+ "source": [
+ "# Model Building"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "AaESDSGxccOn"
+ },
+ "outputs": [],
+ "source": [
+ "def init_params(n_features):\n",
+ " W = np.zeros((n_features, 1))\n",
+ " # W = np.random.randn(n_features, 1) * 0.01\n",
+ " b = 0\n",
+ " return W, b\n",
+ "\n",
+ "def compute(W, b, X):\n",
+ " return np.dot(X, W)+b\n",
+ "\n",
+ "def loss(y_true, y_pred):\n",
+ "\n",
+ " # return np.mean((y_true - y_pred) ** 3)\n",
+ " # return np.abs(y_true - y_pred)\n",
+ " return np.mean((y_true - y_pred) ** 2)\n",
+ "\n",
+ "def update_params(W, b, learning_rate, dw, db):\n",
+ " W = W - learning_rate * dw\n",
+ " b = b - learning_rate * db\n",
+ " return W, b\n",
+ "\n",
+ "def train(X, y, learning_rate, epochs):\n",
+ " W, b = init_params(X.shape[1])\n",
+ " for i in range(epochs):\n",
+ " y_pred = compute(W, b, X)\n",
+ " loss_value = loss(y, y_pred)\n",
+ " val=np.dot(X.T, (y_pred - y))\n",
+ " dw = 2 * (val) / X.shape[0]\n",
+ " db = 2 * np.sum(y_pred - y) / X.shape[0]\n",
+ " #MAE\n",
+ " # dw = np.dot(X.T, np.sign(y_pred - y)) / X.shape[0]\n",
+ " # db = np.mean(np.sign(y_pred - y))/X.shape[0]\n",
+ "\n",
+ " W, b = update_params(W, b, learning_rate, dw, db)\n",
+ " if i % 100 == 0:\n",
+ " print(f\"Epoch {i}, Loss: {loss_value}\")\n",
+ " return W, b\n",
+ "\n",
+ "def predict(X, W, b):\n",
+ " return compute(W, b, X)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "collapsed": true,
+ "id": "_noV0GqEung6",
+ "jupyter": {
+ "outputs_hidden": true
+ },
+ "outputId": "101cc185-75f9-472a-e721-75b6228f0a1e"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Epoch 0, Loss: 0.013475994850334714\n",
+ "Epoch 100, Loss: 0.010112863902498263\n",
+ "Epoch 200, Loss: 0.0077710043254110425\n",
+ "Epoch 300, Loss: 0.006124139651526763\n",
+ "Epoch 400, Loss: 0.004952419738792096\n",
+ "Epoch 500, Loss: 0.004107425447527552\n",
+ "Epoch 600, Loss: 0.00348871533029027\n",
+ "Epoch 700, Loss: 0.0030281034489645126\n",
+ "Epoch 800, Loss: 0.0026791161540046697\n",
+ "Epoch 900, Loss: 0.002409918587932048\n",
+ "Epoch 1000, Loss: 0.00219856615978934\n",
+ "Epoch 1100, Loss: 0.0020298142591249884\n",
+ "Epoch 1200, Loss: 0.001892972633088114\n",
+ "Epoch 1300, Loss: 0.001780460386887536\n",
+ "Epoch 1400, Loss: 0.0016868311087060443\n",
+ "Epoch 1500, Loss: 0.0016081136627608367\n",
+ "Epoch 1600, Loss: 0.0015413651255459615\n",
+ "Epoch 1700, Loss: 0.0014843664553348648\n",
+ "Epoch 1800, Loss: 0.001435414338462741\n",
+ "Epoch 1900, Loss: 0.001393177967440798\n",
+ "Epoch 2000, Loss: 0.0013565997664611684\n",
+ "Epoch 2100, Loss: 0.0013248259573537863\n",
+ "Epoch 2200, Loss: 0.001297157470558068\n",
+ "Epoch 2300, Loss: 0.0012730147991938858\n",
+ "Epoch 2400, Loss: 0.0012519124707982042\n",
+ "Epoch 2500, Loss: 0.0012334402062217607\n",
+ "Epoch 2600, Loss: 0.0012172487732475903\n",
+ "Epoch 2700, Loss: 0.0012030391742015342\n",
+ "Epoch 2800, Loss: 0.0011905542329937924\n",
+ "Epoch 2900, Loss: 0.001179571935209004\n",
+ "Epoch 3000, Loss: 0.0011699000703183258\n",
+ "Epoch 3100, Loss: 0.0011613718581660176\n",
+ "Epoch 3200, Loss: 0.0011538423329357215\n",
+ "Epoch 3300, Loss: 0.0011471853204830548\n",
+ "Epoch 3400, Loss: 0.0011412908884005691\n",
+ "Epoch 3500, Loss: 0.0011360631786213778\n",
+ "Epoch 3600, Loss: 0.0011314185539164387\n",
+ "Epoch 3700, Loss: 0.0011272840050934913\n",
+ "Epoch 3800, Loss: 0.0011235957769516957\n",
+ "Epoch 3900, Loss: 0.0011202981793648865\n",
+ "Epoch 4000, Loss: 0.001117342556127892\n",
+ "Epoch 4100, Loss: 0.0011146863889989725\n",
+ "Epoch 4200, Loss: 0.001112292518115407\n",
+ "Epoch 4300, Loss: 0.0011101284629309617\n",
+ "Epoch 4400, Loss: 0.0011081658302209546\n",
+ "Epoch 4500, Loss: 0.0011063797976618168\n",
+ "Epoch 4600, Loss: 0.001104748663117037\n",
+ "Epoch 4700, Loss: 0.0011032534511223272\n",
+ "Epoch 4800, Loss: 0.0011018775692126983\n",
+ "Epoch 4900, Loss: 0.0011006065077128553\n",
+ "Epoch 5000, Loss: 0.0010994275774502873\n",
+ "Epoch 5100, Loss: 0.0010983296805711037\n",
+ "Epoch 5200, Loss: 0.001097303110260924\n",
+ "Epoch 5300, Loss: 0.0010963393757118238\n",
+ "Epoch 5400, Loss: 0.0010954310491437887\n",
+ "Epoch 5500, Loss: 0.0010945716320954711\n",
+ "Epoch 5600, Loss: 0.001093755438552666\n",
+ "Epoch 5700, Loss: 0.0010929774927910686\n",
+ "Epoch 5800, Loss: 0.0010922334400785187\n",
+ "Epoch 5900, Loss: 0.0010915194686163434\n",
+ "Epoch 6000, Loss: 0.0010908322413039778\n",
+ "Epoch 6100, Loss: 0.001090168836089712\n",
+ "Epoch 6200, Loss: 0.0010895266938263691\n",
+ "Epoch 6300, Loss: 0.0010889035726870718\n",
+ "Epoch 6400, Loss: 0.00108829750831525\n",
+ "Epoch 6500, Loss: 0.0010877067789871327\n",
+ "Epoch 6600, Loss: 0.0010871298751558573\n",
+ "Epoch 6700, Loss: 0.0010865654728257634\n",
+ "Epoch 6800, Loss: 0.0010860124102749114\n",
+ "Epoch 6900, Loss: 0.0010854696677045073\n",
+ "Epoch 7000, Loss: 0.001084936349446968\n",
+ "Epoch 7100, Loss: 0.0010844116684107412\n",
+ "Epoch 7200, Loss: 0.0010838949324804728\n",
+ "Epoch 7300, Loss: 0.001083385532626564\n",
+ "Epoch 7400, Loss: 0.0010828829325090917\n",
+ "Epoch 7500, Loss: 0.0010823866593881464\n",
+ "Epoch 7600, Loss: 0.001081896296176271\n",
+ "Epoch 7700, Loss: 0.001081411474489376\n",
+ "Epoch 7800, Loss: 0.0010809318685705742\n",
+ "Epoch 7900, Loss: 0.001080457189977157\n",
+ "Epoch 8000, Loss: 0.001079987182934783\n",
+ "Epoch 8100, Loss: 0.001079521620274965\n",
+ "Epoch 8200, Loss: 0.0010790602998825545\n",
+ "Epoch 8300, Loss: 0.0010786030415890929\n",
+ "Epoch 8400, Loss: 0.001078149684455985\n",
+ "Epoch 8500, Loss: 0.0010777000843985223\n",
+ "Epoch 8600, Loss: 0.001077254112107883\n",
+ "Epoch 8700, Loss: 0.0010768116512336967\n",
+ "Epoch 8800, Loss: 0.0010763725967944066\n",
+ "Epoch 8900, Loss: 0.0010759368537868273\n",
+ "Epoch 9000, Loss: 0.0010755043359698515\n",
+ "Epoch 9100, Loss: 0.0010750749648004532\n",
+ "Epoch 9200, Loss: 0.0010746486685028333\n",
+ "Epoch 9300, Loss: 0.0010742253812540017\n",
+ "Epoch 9400, Loss: 0.0010738050424711667\n",
+ "Epoch 9500, Loss: 0.0010733875961881495\n",
+ "Epoch 9600, Loss: 0.0010729729905096495\n",
+ "Epoch 9700, Loss: 0.0010725611771335807\n",
+ "Epoch 9800, Loss: 0.0010721521109329397\n",
+ "Epoch 9900, Loss: 0.0010717457495897328\n"
+ ]
+ }
+ ],
+ "source": [
+ "W_, b_ = train(X_train.values, y_train.values, 0.0001, 10000)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "13I1Nl0ousyP"
+ },
+ "outputs": [],
+ "source": [
+ "vals = predict(X_test.values, W_, b_)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "-5KLnykg2N4u",
+ "outputId": "4c128c3b-1115-411f-db09-230cfc6344cd"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "615394293499.5585"
+ ]
+ },
+ "execution_count": 30,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "reg_vals = vals * (label_max - label_min) + label_min\n",
+ "y_reg_test = y_test * (label_max - label_min) + label_min\n",
+ "\n",
+ "loss_value = loss(y_reg_test.values, reg_vals)/len(reg_vals)\n",
+ "loss_value"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "K2UP9ZdZ5jDQ"
+ },
+ "source": [
+ "### The above number makes no sense. But the below one does. Why?\n",
+ "What is the practical meaning of loss?"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "MDOOkrmZ2OWx",
+ "outputId": "4c9d775f-f526-4711-f850-8c3fbe78dd72"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "32554.313600997815"
+ ]
+ },
+ "execution_count": 31,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "difference = np.sum(abs(y_reg_test.values - reg_vals))/len(reg_vals)\n",
+ "difference"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "2BIaJ4oN2Q78"
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "display_name": "ai511",
+ "language": "python",
+ "name": "ai511"
+ },
+ "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.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/python/Tutorial_03_Assignment.ipynb b/python/Tutorial_03_Assignment.ipynb
new file mode 100644
index 0000000..a72bf8c
--- /dev/null
+++ b/python/Tutorial_03_Assignment.ipynb
@@ -0,0 +1,1316 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "id": "mkIYsNGPtEfb"
+ },
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "from sklearn.preprocessing import OneHotEncoder\n",
+ "from sklearn.preprocessing import MinMaxScaler\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "import numpy as np\n",
+ "from sklearn.metrics import mean_squared_error\n",
+ "from sklearn.metrics import mean_absolute_error\n",
+ "import matplotlib.pyplot as plt\n",
+ "import seaborn as sns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "ZazUCR02tMH0",
+ "outputId": "4e3a1d0d-163b-41e2-d6f3-799556908a66"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n",
+ "\u001b7\u001b[1A\u001b[1G\u001b[27G[Files: 0 Bytes: 0 [0 B/s] Re]\u001b8\u001b7\u001b[2A\u001b[1G\u001b[27G[https://docs.google.com/spread]\u001b8\u001b7\u001b[2A\u001b[1G0 files 100% [=============================>] 354 --.-KB/s\u001b8\u001b7\u001b[1A\u001b[1G\u001b[27G[Files: 0 Bytes: 354 [654 B/s]\u001b8\u001b7\u001b[2A\u001b[1G\u001b[27G[https://doc-08-1k-sheets.googl]\u001b8\u001b7\u001b[2A\u001b[1G0 files 100% [=============================>] 354 --.-KB/s\u001b8\u001b7\u001b[2A\u001b[1GmuseumDataset.csv 0% [<=> ] 12.36K --.-KB/s\u001b8\u001b7\u001b[2A\u001b[1GmuseumDataset.csv 0% [ <=> ] 55.91K 348.35KB/s\u001b8\u001b7\u001b[2A\u001b[1GmuseumDataset.csv 0% [ <=> ] 123.69K 296.08KB/s\u001b8\u001b7\u001b[2A\u001b[1GmuseumDataset.csv 0% [ <=> ] 187.58K 349.73KB/s\u001b8\u001b7\u001b[2A\u001b[1GmuseumDataset.csv 0% [ <=> ] 283.42K 432.99KB/s\u001b8\u001b7\u001b[2A\u001b[1GmuseumDataset.csv 0% [ <=> ] 411.97K 532.09KB/s\u001b8\u001b7\u001b[2A\u001b[1GmuseumDataset.csv 0% [ <=> ] 583.28K 651.72KB/s\u001b8\u001b7\u001b[2A\u001b[1GmuseumDataset.csv 0% [ <=> ] 813.84K 800.67KB/s\u001b8\u001b7\u001b[2A\u001b[1GmuseumDataset.csv 0% [ <=> ] 1.11M 1001KB/s\u001b8\u001b7\u001b[2A\u001b[1GmuseumDataset.csv 0% [ <=> ] 1.24M 1008KB/s\u001b8\u001b7\u001b[2A\u001b[1GmuseumDataset.csv 0% [ <=> ] 1.40M 1.01MB/s\u001b8\u001b7\u001b[2A\u001b[1GmuseumDataset.csv 0% [ <=> ] 1.51M 1.00MB/s\u001b8\u001b7\u001b[2A\u001b[1GmuseumDataset.csv 0% [ <=> ] 1.61M 1012KB/s\u001b8\u001b7\u001b[2A\u001b[1GmuseumDataset.csv 0% [ <=> ] 1.73M 1006KB/s\u001b8\u001b7\u001b[2A\u001b[1GmuseumDataset.csv 100% [=============================>] 1.81M 1016KB/s\u001b8\u001b7\u001b[1A\u001b[1G\u001b[27G[Files: 1 Bytes: 1.81M [486.82]\u001b8\u001b[m\u001b[m\u001b[m\u001b[m"
+ ]
+ }
+ ],
+ "source": [
+ "!wget -O museumDataset.csv \"https://docs.google.com/spreadsheets/d/1lS9HEz8FreAkCpR_w_ykAHy3oWeQBqiuc_RJyr3dfbE/export?format=csv&gid=1322780754\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 930
+ },
+ "id": "jxUFPkPs8oTT",
+ "outputId": "1b1b8c1a-4597-4738-a79c-dc7615e4cecc"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Museum Type \\\n",
+ "0 HISTORY MUSEUM \n",
+ "1 ARBORETUM, BOTANICAL GARDEN, OR NATURE CENTER \n",
+ "2 SCIENCE & TECHNOLOGY MUSEUM OR PLANETARIUM \n",
+ "3 HISTORIC PRESERVATION \n",
+ "4 HISTORY MUSEUM \n",
+ "... ... \n",
+ "33067 HISTORIC PRESERVATION \n",
+ "33068 GENERAL MUSEUM \n",
+ "33069 HISTORIC PRESERVATION \n",
+ "33070 HISTORY MUSEUM \n",
+ "33071 HISTORIC PRESERVATION \n",
+ "\n",
+ " Zip Code (Administrative Location) City (Physical Location) \\\n",
+ "0 99502 NaN \n",
+ "1 99507 NaN \n",
+ "2 99611 NaN \n",
+ "3 99611 NaN \n",
+ "4 99503 NaN \n",
+ "... ... ... \n",
+ "33067 82801 SHERIDAN \n",
+ "33068 82001 CHEYENNE \n",
+ "33069 82072 NaN \n",
+ "33070 82003 CHEYENNE \n",
+ "33071 82190 NaN \n",
+ "\n",
+ " State (Physical Location) Zip Code (Physical Location) Latitude \\\n",
+ "0 NaN NaN 61.17925 \n",
+ "1 NaN NaN 61.16890 \n",
+ "2 NaN NaN 60.56149 \n",
+ "3 NaN NaN 60.56280 \n",
+ "4 NaN NaN 61.17925 \n",
+ "... ... ... ... \n",
+ "33067 WY 82801.0 44.82345 \n",
+ "33068 WY 82001.0 41.13941 \n",
+ "33069 NaN NaN 41.32276 \n",
+ "33070 WY 82003.0 41.13010 \n",
+ "33071 NaN NaN 44.91303 \n",
+ "\n",
+ " Longitude Locale Code (NCES) County Code (FIPS) State Code (FIPS) \\\n",
+ "0 -149.97254 1.0 20.0 2.0 \n",
+ "1 -149.76708 4.0 20.0 2.0 \n",
+ "2 -151.21598 3.0 122.0 2.0 \n",
+ "3 -151.26597 3.0 122.0 2.0 \n",
+ "4 -149.97254 1.0 20.0 2.0 \n",
+ "... ... ... ... ... \n",
+ "33067 -106.87592 4.0 33.0 56.0 \n",
+ "33068 -104.81813 1.0 21.0 56.0 \n",
+ "33069 -105.57686 3.0 1.0 56.0 \n",
+ "33070 -104.81916 1.0 21.0 56.0 \n",
+ "33071 -110.41584 4.0 29.0 56.0 \n",
+ "\n",
+ " Region Code (AAM) Tax Period Income Revenue \n",
+ "0 6 201312.0 602912.0 550236.0 \n",
+ "1 6 201312.0 1379576.0 1323742.0 \n",
+ "2 6 201312.0 740030.0 729080.0 \n",
+ "3 6 201412.0 0.0 0.0 \n",
+ "4 6 201312.0 602912.0 550236.0 \n",
+ "... ... ... ... ... \n",
+ "33067 5 NaN NaN NaN \n",
+ "33068 5 201404.0 0.0 0.0 \n",
+ "33069 5 201312.0 208508.0 83981.0 \n",
+ "33070 5 201309.0 0.0 0.0 \n",
+ "33071 5 201312.0 127496.0 126762.0 \n",
+ "\n",
+ "[33072 rows x 14 columns]\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/tmp/ipykernel_79886/482214211.py:2: DtypeWarning: Columns (9,14,21) have mixed types. Specify dtype option on import or set low_memory=False.\n",
+ " df = pd.read_csv(file_path)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "Index(['Museum Type', 'Zip Code (Administrative Location)',\n",
+ " 'City (Physical Location)', 'State (Physical Location)',\n",
+ " 'Zip Code (Physical Location)', 'Latitude', 'Longitude',\n",
+ " 'Locale Code (NCES)', 'County Code (FIPS)', 'State Code (FIPS)',\n",
+ " 'Region Code (AAM)', 'Tax Period', 'Income', 'Revenue'],\n",
+ " dtype='object')"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "file_path = 'museumDataset.csv'\n",
+ "df = pd.read_csv(file_path)\n",
+ "for i in [\"Museum ID\", \"Museum Name\", \"Legal Name\", \"Alternate Name\", \"Institution Name\", \"Phone Number\", \"Employer ID Number\", \"Street Address (Administrative Location)\", \"Street Address (Physical Location)\", \"State (Administrative Location)\", \"City (Administrative Location)\"]:\n",
+ " df=df.drop(i, axis=1)\n",
+ "print(df)\n",
+ "df.columns"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "WEt2Wz708C6a"
+ },
+ "source": [
+ "# EDA\n",
+ "\n",
+ "Code up the following concepts with regards to EDA.\n",
+ "\n",
+ "* Correlation\n",
+ "* Mean, median, mode\n",
+ "In addition, write down inferences from the dataset."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 95,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([5, 8, 9, 8, 5])"
+ ]
+ },
+ "execution_count": 95,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# exp1: numpy array multiplication:\n",
+ "a=np.array([1,2,3,4,5])\n",
+ "b=np.array([5,4,3,2,1])\n",
+ "a*b"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "id": "RSrcX_7N8Drv"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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+RBr8leNiIhUhPJy5/8EvqPTJ3fz5k18+eWXGDVqFObMmYMqVarg6NGj8Pf3R25ursLJs1gsLvIpNS8vr0x9ZGVlQUNDAwkJCUXKQYorIXkrIiICM2fOlFlX26MzrDw9y3R8IiIiUk28YZA+uYSEBBQWFmLhwoVo2bIl6tWrh/v378u00dbWRkFBwQf70tLSKtLOxMQEaWlpMusSExOF/7e2toaWlhZOnjwprHv69CmuXLkivHZ2dkZBQQEePnwIGxsbmaW0EpHipu2p9c7TlIiIiJSunGbbUFcceaYK9ezZM5nEFW/meszLy8NPP/2E7t27Iz4+HitXrpRpY2VlhaysLMTExMDR0RF6enrFjkhbWVkhJiYGbm5ukEgkqFy5Mjp06ID58+dj7dq1cHV1xfr163HhwgU4OzsDb0aO/f39MXHiRFStWhXVq1fHlClTZG5SqFevHry9veHj44OFCxfC2dkZjx49QkxMDBo3boxu3boVe77FPVmJJRtERKRa1DjzLQcceaYKdeTIETg7O8ss69atw6JFi/D999+jYcOG2LBhQ5EnErVq1QojR45E//79YWJigh9++KHY/hcuXIiDBw/C0tJSSI49PDwwbdo0BAcHo3nz5njx4gV8fHxk9ps/fz5at26N7t27w93dHV988QWaNm0q0yYqKgo+Pj4ICgpC/fr14eXlhdOnT6NWrVrlfp2IiIjo8yCSlnQLIxGVi3aLf1R2CKV6svauskMokbhnDWWHUKqcXNX+82lpIf/0jZ/ajVv5yg6hVDXMVffaAUD2S9X9t6e6kf0fJU40IZczkwMr/Bi2PWbK0erDru4KK5d+Pjf8PpmIiIhInaj4BwhVx7INIiIiIiI5ceSZiIiISK1w6FkRTJ6JiIiI1IiUubNCmDwTERERqRMmzwphzTMRERERkZw48kxERESkVjj0rAgmz0RERERqhDXPimHZBhERERGRnDjyTERERKROOPKsECbPRERERGqF2bMiWLZBRERERCQnjjwTERERqRMOPCuEyTNRBfNuqaHsEEq17FkNZYdQosKd95QdQqkM+qjutQOAJ08LlR1CiQoLlB1B6bxdVfv39peYfGWHUCKp6v6zAwBIlR2ACuBsG4ph2QYRERERkZw48kxERESkTjjyrBAmz0RERERqhdmzIpg8ExEREakR1jwrhjXPRERERERy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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# df=df.fillna(0)\n",
+ "numericColumns = df.select_dtypes(include=[np.number]).columns.tolist() # https://stackoverflow.com/a/29442936\n",
+ "# print(numericColumns)\n",
+ "\n",
+ "def covariance(x, y):\n",
+ " \"\"\"\n",
+ " from https://www.indeed.com/career-advice/career-development/how-to-calculate-covariance\n",
+ " \"\"\"\n",
+ " xBar = x.mean()\n",
+ " yBar = y.mean()\n",
+ " return ((x-xBar)*(y-yBar)).mean()\n",
+ "\n",
+ "def correlation(x, y):\n",
+ " return covariance(x, y) / (x.std() * y.std())\n",
+ "\n",
+ "correlationMat = np.zeros((len(numericColumns), len(numericColumns)))\n",
+ "\n",
+ "for i in range(len(numericColumns)):\n",
+ " correlationMat[i,i]=1.0\n",
+ " for j in range(i+1, len(numericColumns)):\n",
+ " correlationMat[i][j] =correlationMat[j][i]= correlation(df[numericColumns[i]].dropna(), df[numericColumns[j]].dropna())\n",
+ "\n",
+ "# print(correlationMat, correlationMat.shape)\n",
+ "sns.heatmap(correlationMat, xticklabels=numericColumns, yticklabels=numericColumns, center=0, cmap=\"crest\") # https://seaborn.pydata.org/generated/seaborn.heatmap.html"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "id": "yqWZAUjO9kRd"
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " name | \n",
+ " mean | \n",
+ " median | \n",
+ " mode | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Zip Code (Physical Location) | \n",
+ " 4.780564e+04 | \n",
+ " 47448.00000 | \n",
+ " 74743.00000 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Latitude | \n",
+ " 3.892537e+01 | \n",
+ " 39.83164 | \n",
+ " 40.79792 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Longitude | \n",
+ " -9.081676e+01 | \n",
+ " -86.77684 | \n",
+ " -77.86267 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Locale Code (NCES) | \n",
+ " 2.505834e+00 | \n",
+ " 2.00000 | \n",
+ " 4.00000 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " County Code (FIPS) | \n",
+ " 8.570193e+01 | \n",
+ " 61.00000 | \n",
+ " 1.00000 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " State Code (FIPS) | \n",
+ " 2.906583e+01 | \n",
+ " 29.00000 | \n",
+ " 6.00000 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Region Code (AAM) | \n",
+ " 3.670083e+00 | \n",
+ " 4.00000 | \n",
+ " 4.00000 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " Tax Period | \n",
+ " 2.013475e+05 | \n",
+ " 201312.00000 | \n",
+ " 201312.00000 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " Income | \n",
+ " 1.069682e+08 | \n",
+ " 8781.00000 | \n",
+ " 0.00000 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " Revenue | \n",
+ " 2.097605e+07 | \n",
+ " 3307.00000 | \n",
+ " 0.00000 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " name mean median mode\n",
+ "0 Zip Code (Physical Location) 4.780564e+04 47448.00000 74743.00000\n",
+ "1 Latitude 3.892537e+01 39.83164 40.79792\n",
+ "2 Longitude -9.081676e+01 -86.77684 -77.86267\n",
+ "3 Locale Code (NCES) 2.505834e+00 2.00000 4.00000\n",
+ "4 County Code (FIPS) 8.570193e+01 61.00000 1.00000\n",
+ "5 State Code (FIPS) 2.906583e+01 29.00000 6.00000\n",
+ "6 Region Code (AAM) 3.670083e+00 4.00000 4.00000\n",
+ "7 Tax Period 2.013475e+05 201312.00000 201312.00000\n",
+ "8 Income 1.069682e+08 8781.00000 0.00000\n",
+ "9 Revenue 2.097605e+07 3307.00000 0.00000"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "featureMap = {\"name\":[], \"mean\":[], \"median\":[], \"mode\":[]}\n",
+ "for i in numericColumns:\n",
+ " # print(f\"{i}: Mean: {df[i].to_numpy().mean()}, Median: {np.median(df[i].to_numpy())}, Mode: {df[i].mode()[0]}\" )\n",
+ " featureMap[\"name\"].append(i)\n",
+ " featureMap[\"mean\"].append(df[i].dropna().to_numpy().mean())\n",
+ " featureMap[\"median\"].append(np.median(df[i].dropna().to_numpy()))\n",
+ " featureMap[\"mode\"].append(df[i].dropna().mode()[0])\n",
+ "\n",
+ "featureMap = pd.DataFrame(featureMap)\n",
+ "featureMap"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "_xRWSeC99oe1"
+ },
+ "source": [
+ "### Inferences from the dataset\n",
+ "\n",
+ "* The dataset has a lot of zero and nan values\n",
+ "* Income and Revenue are highly correlated\n",
+ "* Region code and Zip code are also highly correlated\n",
+ "* \n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "dbtxb55w9xoF"
+ },
+ "source": [
+ "# Preprocessing\n",
+ "Code up the following concepts with regards to Preprocessing. Justify the reason for using them for this specific dataset\n",
+ "\n",
+ "* Filling in missing values.\n",
+ "* Encoding\n",
+ "\n",
+ "Any other techniques that you might need, please justify their usage and code them up."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "VZZnnUTU9ss3"
+ },
+ "source": [
+ "Conditional Filling:\n",
+ "\n",
+ "- filling certain nan values based on a model fit over that column and some of the other columns\n",
+ "- This will result in linearly dependent features, which can be ignored in the first place.\n",
+ "- example: latitude and longitude based street/area code categorical estimation\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def countNA(col):\n",
+ " return col.isna().sum()\n",
+ "\n",
+ "def printNAinDF(frame):\n",
+ " print(\"NaNs in df\")\n",
+ " for i in numericColumns:\n",
+ " print(f\"{i}: {countNA(df[i])}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "NaNs in df\n",
+ "Zip Code (Physical Location): 23851\n",
+ "Latitude: 65\n",
+ "Longitude: 65\n",
+ "Locale Code (NCES): 77\n",
+ "County Code (FIPS): 2536\n",
+ "State Code (FIPS): 1\n",
+ "Region Code (AAM): 0\n",
+ "Tax Period: 9792\n",
+ "Income: 10111\n",
+ "Revenue: 10782\n"
+ ]
+ }
+ ],
+ "source": [
+ "printNAinDF(df)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "NaNs in df\n",
+ "Zip Code (Physical Location): 0\n",
+ "Latitude: 0\n",
+ "Longitude: 0\n",
+ "Locale Code (NCES): 0\n",
+ "County Code (FIPS): 0\n",
+ "State Code (FIPS): 0\n",
+ "Region Code (AAM): 0\n",
+ "Tax Period: 0\n",
+ "Income: 0\n",
+ "Revenue: 0\n"
+ ]
+ }
+ ],
+ "source": [
+ "for i in numericColumns:\n",
+ " df[i] = df[i].fillna(df[i].mean())\n",
+ "\n",
+ "printNAinDF(df)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "id": "B1aC4Lv--eqR"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "['Museum Type', 'Zip Code (Administrative Location)', 'City (Physical Location)', 'State (Physical Location)']\n",
+ "9\n",
+ "15522\n",
+ "4481\n",
+ "52\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Encoding\n",
+ "# Hint: Figure out which columns need to be encoded. Would One-Hot Encoding be enough for handling this type of data? What are the alternatives?\n",
+ "\n",
+ "categoricalColumns= df.select_dtypes(include=[\"object\", \"category\"]).columns\n",
+ "categoricalColumns=categoricalColumns.to_list()\n",
+ "print(categoricalColumns)\n",
+ "\n",
+ "for i in categoricalColumns:\n",
+ " uniq = set(df[i])\n",
+ " print(len(uniq))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "_l2tFo0RBlZ9"
+ },
+ "outputs": [],
+ "source": [
+ "# Any other preprocessing...?\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 930
+ },
+ "id": "CdPfPeMg-gTG",
+ "outputId": "1554caf7-37c2-4135-bbdc-aeea16a7a9d2"
+ },
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "type": "dataframe",
+ "variable_name": "df"
+ },
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Museum ID | \n",
+ " Museum Name | \n",
+ " Legal Name | \n",
+ " Alternate Name | \n",
+ " Museum Type | \n",
+ " Institution Name | \n",
+ " Street Address (Administrative Location) | \n",
+ " City (Administrative Location) | \n",
+ " State (Administrative Location) | \n",
+ " Zip Code (Administrative Location) | \n",
+ " ... | \n",
+ " Latitude | \n",
+ " Longitude | \n",
+ " Locale Code (NCES) | \n",
+ " County Code (FIPS) | \n",
+ " State Code (FIPS) | \n",
+ " Region Code (AAM) | \n",
+ " Employer ID Number | \n",
+ " Tax Period | \n",
+ " Income | \n",
+ " Revenue | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 8400200098 | \n",
+ " ALASKA AVIATION HERITAGE MUSEUM | \n",
+ " ALASKA AVIATION HERITAGE MUSEUM | \n",
+ " NaN | \n",
+ " HISTORY MUSEUM | \n",
+ " NaN | \n",
+ " 4721 AIRCRAFT DR | \n",
+ " 153 | \n",
+ " 0 | \n",
+ " 99502 | \n",
+ " ... | \n",
+ " 61.17925 | \n",
+ " -149.97254 | \n",
+ " 1.0 | \n",
+ " 20.0 | \n",
+ " 2.0 | \n",
+ " 6 | \n",
+ " 920071852 | \n",
+ " 201312.000000 | \n",
+ " 6.029120e+05 | \n",
+ " 5.502360e+05 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 8400200117 | \n",
+ " ALASKA BOTANICAL GARDEN | \n",
+ " ALASKA BOTANICAL GARDEN INC | \n",
+ " NaN | \n",
+ " ARBORETUM, BOTANICAL GARDEN, OR NATURE CENTER | \n",
+ " NaN | \n",
+ " 4601 CAMPBELL AIRSTRIP RD | \n",
+ " 153 | \n",
+ " 0 | \n",
+ " 99507 | \n",
+ " ... | \n",
+ " 61.16890 | \n",
+ " -149.76708 | \n",
+ " 4.0 | \n",
+ " 20.0 | \n",
+ " 2.0 | \n",
+ " 6 | \n",
+ " 920115504 | \n",
+ " 201312.000000 | \n",
+ " 1.379576e+06 | \n",
+ " 1.323742e+06 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 8400200153 | \n",
+ " ALASKA CHALLENGER CENTER FOR SPACE SCIENCE TEC... | \n",
+ " ALASKA CHALLENGER CENTER FOR SPACE SCIENCE TEC... | \n",
+ " NaN | \n",
+ " SCIENCE & TECHNOLOGY MUSEUM OR PLANETARIUM | \n",
+ " NaN | \n",
+ " 9711 KENAI SPUR HWY | \n",
+ " 3809 | \n",
+ " 0 | \n",
+ " 99611 | \n",
+ " ... | \n",
+ " 60.56149 | \n",
+ " -151.21598 | \n",
+ " 3.0 | \n",
+ " 122.0 | \n",
+ " 2.0 | \n",
+ " 6 | \n",
+ " 921761906 | \n",
+ " 201312.000000 | \n",
+ " 7.400300e+05 | \n",
+ " 7.290800e+05 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 8400200143 | \n",
+ " ALASKA EDUCATORS HISTORICAL SOCIETY | \n",
+ " ALASKA EDUCATORS HISTORICAL SOCIETY | \n",
+ " NaN | \n",
+ " HISTORIC PRESERVATION | \n",
+ " NaN | \n",
+ " 214 BIRCH STREET | \n",
+ " 3809 | \n",
+ " 0 | \n",
+ " 99611 | \n",
+ " ... | \n",
+ " 60.56280 | \n",
+ " -151.26597 | \n",
+ " 3.0 | \n",
+ " 122.0 | \n",
+ " 2.0 | \n",
+ " 6 | \n",
+ " 920165178 | \n",
+ " 201412.000000 | \n",
+ " 0.000000e+00 | \n",
+ " 0.000000e+00 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 8400200027 | \n",
+ " ALASKA HERITAGE MUSEUM | \n",
+ " ALASKA AVIATION HERITAGE MUSEUM | \n",
+ " NaN | \n",
+ " HISTORY MUSEUM | \n",
+ " NaN | \n",
+ " 301 W NORTHERN LIGHTS BLVD | \n",
+ " 153 | \n",
+ " 0 | \n",
+ " 99503 | \n",
+ " ... | \n",
+ " 61.17925 | \n",
+ " -149.97254 | \n",
+ " 1.0 | \n",
+ " 20.0 | \n",
+ " 2.0 | \n",
+ " 6 | \n",
+ " 920071852 | \n",
+ " 201312.000000 | \n",
+ " 6.029120e+05 | \n",
+ " 5.502360e+05 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 33067 | \n",
+ " 8405600184 | \n",
+ " WYOMING STATE HISTORICAL SOCIETY | \n",
+ " WYOMING STATE HISTORICAL SOCIETY | \n",
+ " NaN | \n",
+ " HISTORIC PRESERVATION | \n",
+ " NaN | \n",
+ " PO BOX 73 | \n",
+ " 7003 | \n",
+ " 50 | \n",
+ " 82801 | \n",
+ " ... | \n",
+ " 44.82345 | \n",
+ " -106.87592 | \n",
+ " 4.0 | \n",
+ " 33.0 | \n",
+ " 56.0 | \n",
+ " 5 | \n",
+ " 836007540.0 | \n",
+ " 201347.458548 | \n",
+ " 1.069682e+08 | \n",
+ " 2.097605e+07 | \n",
+ "
\n",
+ " \n",
+ " | 33068 | \n",
+ " 8405600061 | \n",
+ " WYOMING STATE MUSEUM | \n",
+ " WYOMING STATE MUSEUM VOLUNTEERS INC | \n",
+ " NaN | \n",
+ " GENERAL MUSEUM | \n",
+ " NaN | \n",
+ " 2301 CENTRAL AVENUE | \n",
+ " 1323 | \n",
+ " 50 | \n",
+ " 82001 | \n",
+ " ... | \n",
+ " 41.13941 | \n",
+ " -104.81813 | \n",
+ " 1.0 | \n",
+ " 21.0 | \n",
+ " 56.0 | \n",
+ " 5 | \n",
+ " 237368629.0 | \n",
+ " 201404.000000 | \n",
+ " 0.000000e+00 | \n",
+ " 0.000000e+00 | \n",
+ "
\n",
+ " \n",
+ " | 33069 | \n",
+ " 8405600158 | \n",
+ " WYOMING TERRITORIAL PARK HISTORIC ASSOCIATION | \n",
+ " WYOMING TERRITORIAL PARK HISTORIC ASSOCIATION INC | \n",
+ " NaN | \n",
+ " HISTORIC PRESERVATION | \n",
+ " NaN | \n",
+ " 1273 N 15TH ST STE 121 | \n",
+ " 4101 | \n",
+ " 50 | \n",
+ " 82072 | \n",
+ " ... | \n",
+ " 41.32276 | \n",
+ " -105.57686 | \n",
+ " 3.0 | \n",
+ " 1.0 | \n",
+ " 56.0 | \n",
+ " 5 | \n",
+ " 830318392.0 | \n",
+ " 201312.000000 | \n",
+ " 2.085080e+05 | \n",
+ " 8.398100e+04 | \n",
+ "
\n",
+ " \n",
+ " | 33070 | \n",
+ " 8405600137 | \n",
+ " WYOMING TRANSPORTATION MUSEUM | \n",
+ " WYOMING TRANSPORTATION MUSEUM CORP | \n",
+ " NaN | \n",
+ " HISTORY MUSEUM | \n",
+ " NaN | \n",
+ " PO BOX 704 | \n",
+ " 1323 | \n",
+ " 50 | \n",
+ " 82003 | \n",
+ " ... | \n",
+ " 41.13010 | \n",
+ " -104.81916 | \n",
+ " 1.0 | \n",
+ " 21.0 | \n",
+ " 56.0 | \n",
+ " 5 | \n",
+ " 830295570.0 | \n",
+ " 201309.000000 | \n",
+ " 0.000000e+00 | \n",
+ " 0.000000e+00 | \n",
+ "
\n",
+ " \n",
+ " | 33071 | \n",
+ " 8405600199 | \n",
+ " YELLOWSTONE NATIONAL PARK | \n",
+ " LITTLE PEOPLE LEARNING CENTER INC | \n",
+ " NaN | \n",
+ " HISTORIC PRESERVATION | \n",
+ " NaN | \n",
+ " NATIONAL PARK SERVICE | \n",
+ " 8575 | \n",
+ " 50 | \n",
+ " 82190 | \n",
+ " ... | \n",
+ " 44.91303 | \n",
+ " -110.41584 | \n",
+ " 4.0 | \n",
+ " 29.0 | \n",
+ " 56.0 | \n",
+ " 5 | \n",
+ " 830249072.0 | \n",
+ " 201312.000000 | \n",
+ " 1.274960e+05 | \n",
+ " 1.267620e+05 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
33072 rows × 25 columns
\n",
+ "
\n",
+ "
\n",
+ "
\n"
+ ],
+ "text/plain": [
+ " Museum ID Museum Name \\\n",
+ "0 8400200098 ALASKA AVIATION HERITAGE MUSEUM \n",
+ "1 8400200117 ALASKA BOTANICAL GARDEN \n",
+ "2 8400200153 ALASKA CHALLENGER CENTER FOR SPACE SCIENCE TEC... \n",
+ "3 8400200143 ALASKA EDUCATORS HISTORICAL SOCIETY \n",
+ "4 8400200027 ALASKA HERITAGE MUSEUM \n",
+ "... ... ... \n",
+ "33067 8405600184 WYOMING STATE HISTORICAL SOCIETY \n",
+ "33068 8405600061 WYOMING STATE MUSEUM \n",
+ "33069 8405600158 WYOMING TERRITORIAL PARK HISTORIC ASSOCIATION \n",
+ "33070 8405600137 WYOMING TRANSPORTATION MUSEUM \n",
+ "33071 8405600199 YELLOWSTONE NATIONAL PARK \n",
+ "\n",
+ " Legal Name Alternate Name \\\n",
+ "0 ALASKA AVIATION HERITAGE MUSEUM NaN \n",
+ "1 ALASKA BOTANICAL GARDEN INC NaN \n",
+ "2 ALASKA CHALLENGER CENTER FOR SPACE SCIENCE TEC... NaN \n",
+ "3 ALASKA EDUCATORS HISTORICAL SOCIETY NaN \n",
+ "4 ALASKA AVIATION HERITAGE MUSEUM NaN \n",
+ "... ... ... \n",
+ "33067 WYOMING STATE HISTORICAL SOCIETY NaN \n",
+ "33068 WYOMING STATE MUSEUM VOLUNTEERS INC NaN \n",
+ "33069 WYOMING TERRITORIAL PARK HISTORIC ASSOCIATION INC NaN \n",
+ "33070 WYOMING TRANSPORTATION MUSEUM CORP NaN \n",
+ "33071 LITTLE PEOPLE LEARNING CENTER INC NaN \n",
+ "\n",
+ " Museum Type Institution Name \\\n",
+ "0 HISTORY MUSEUM NaN \n",
+ "1 ARBORETUM, BOTANICAL GARDEN, OR NATURE CENTER NaN \n",
+ "2 SCIENCE & TECHNOLOGY MUSEUM OR PLANETARIUM NaN \n",
+ "3 HISTORIC PRESERVATION NaN \n",
+ "4 HISTORY MUSEUM NaN \n",
+ "... ... ... \n",
+ "33067 HISTORIC PRESERVATION NaN \n",
+ "33068 GENERAL MUSEUM NaN \n",
+ "33069 HISTORIC PRESERVATION NaN \n",
+ "33070 HISTORY MUSEUM NaN \n",
+ "33071 HISTORIC PRESERVATION NaN \n",
+ "\n",
+ " Street Address (Administrative Location) \\\n",
+ "0 4721 AIRCRAFT DR \n",
+ "1 4601 CAMPBELL AIRSTRIP RD \n",
+ "2 9711 KENAI SPUR HWY \n",
+ "3 214 BIRCH STREET \n",
+ "4 301 W NORTHERN LIGHTS BLVD \n",
+ "... ... \n",
+ "33067 PO BOX 73 \n",
+ "33068 2301 CENTRAL AVENUE \n",
+ "33069 1273 N 15TH ST STE 121 \n",
+ "33070 PO BOX 704 \n",
+ "33071 NATIONAL PARK SERVICE \n",
+ "\n",
+ " City (Administrative Location) State (Administrative Location) \\\n",
+ "0 153 0 \n",
+ "1 153 0 \n",
+ "2 3809 0 \n",
+ "3 3809 0 \n",
+ "4 153 0 \n",
+ "... ... ... \n",
+ "33067 7003 50 \n",
+ "33068 1323 50 \n",
+ "33069 4101 50 \n",
+ "33070 1323 50 \n",
+ "33071 8575 50 \n",
+ "\n",
+ " Zip Code (Administrative Location) ... Latitude Longitude \\\n",
+ "0 99502 ... 61.17925 -149.97254 \n",
+ "1 99507 ... 61.16890 -149.76708 \n",
+ "2 99611 ... 60.56149 -151.21598 \n",
+ "3 99611 ... 60.56280 -151.26597 \n",
+ "4 99503 ... 61.17925 -149.97254 \n",
+ "... ... ... ... ... \n",
+ "33067 82801 ... 44.82345 -106.87592 \n",
+ "33068 82001 ... 41.13941 -104.81813 \n",
+ "33069 82072 ... 41.32276 -105.57686 \n",
+ "33070 82003 ... 41.13010 -104.81916 \n",
+ "33071 82190 ... 44.91303 -110.41584 \n",
+ "\n",
+ " Locale Code (NCES) County Code (FIPS) State Code (FIPS) \\\n",
+ "0 1.0 20.0 2.0 \n",
+ "1 4.0 20.0 2.0 \n",
+ "2 3.0 122.0 2.0 \n",
+ "3 3.0 122.0 2.0 \n",
+ "4 1.0 20.0 2.0 \n",
+ "... ... ... ... \n",
+ "33067 4.0 33.0 56.0 \n",
+ "33068 1.0 21.0 56.0 \n",
+ "33069 3.0 1.0 56.0 \n",
+ "33070 1.0 21.0 56.0 \n",
+ "33071 4.0 29.0 56.0 \n",
+ "\n",
+ " Region Code (AAM) Employer ID Number Tax Period Income \\\n",
+ "0 6 920071852 201312.000000 6.029120e+05 \n",
+ "1 6 920115504 201312.000000 1.379576e+06 \n",
+ "2 6 921761906 201312.000000 7.400300e+05 \n",
+ "3 6 920165178 201412.000000 0.000000e+00 \n",
+ "4 6 920071852 201312.000000 6.029120e+05 \n",
+ "... ... ... ... ... \n",
+ "33067 5 836007540.0 201347.458548 1.069682e+08 \n",
+ "33068 5 237368629.0 201404.000000 0.000000e+00 \n",
+ "33069 5 830318392.0 201312.000000 2.085080e+05 \n",
+ "33070 5 830295570.0 201309.000000 0.000000e+00 \n",
+ "33071 5 830249072.0 201312.000000 1.274960e+05 \n",
+ "\n",
+ " Revenue \n",
+ "0 5.502360e+05 \n",
+ "1 1.323742e+06 \n",
+ "2 7.290800e+05 \n",
+ "3 0.000000e+00 \n",
+ "4 5.502360e+05 \n",
+ "... ... \n",
+ "33067 2.097605e+07 \n",
+ "33068 0.000000e+00 \n",
+ "33069 8.398100e+04 \n",
+ "33070 0.000000e+00 \n",
+ "33071 1.267620e+05 \n",
+ "\n",
+ "[33072 rows x 25 columns]"
+ ]
+ },
+ "execution_count": 31,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Final dataset"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "hFzaF_CMBrCd"
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "colab": {
+ "provenance": [],
+ "toc_visible": true
+ },
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "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.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/rust/numbrs/assets/determinantMatrix.c b/rust/numbrs/assets/determinantMatrix.c
new file mode 100644
index 0000000..4303139
--- /dev/null
+++ b/rust/numbrs/assets/determinantMatrix.c
@@ -0,0 +1,88 @@
+#include
+#include
+
+int m,n; // original matrix dimensions
+
+int det(int B[m][n]);
+
+int main() {
+ int determinant;
+ register int row,column;
+
+ printf("Enter rows and columns\n");
+ scanf("%d%d",&m,&n);
+
+ int A[m][n];
+
+ printf("Enter matrix elements\n");
+
+ for(row = 0; row < m; row++)
+ for(column = 0; column < n; column++)
+ scanf("%d",&A[row][column]);
+
+ determinant = det(A);
+
+ printf("determinant = %d \n",determinant);
+
+ return 0;
+}
+
+int det(int B[m][n]) {
+ int row_size = m;
+ int column_size = n;
+
+ if (row_size != column_size) {
+ printf("DimensionError: Operation Not Permitted \n");
+ exit(1);
+ }
+
+ else if (row_size == 1)
+ return (B[0][0]);
+
+ else if (row_size == 2)
+ return (B[0][0]*B[1][1] - B[1][0]*B[0][1]);
+
+ else {
+ int minor[row_size-1][column_size-1];
+ int row_minor, column_minor;
+ int firstrow_columnindex;
+ int sum = 0;
+
+ register int row,column;
+
+ // exclude first row and current column
+ for(firstrow_columnindex = 0; firstrow_columnindex < row_size;
+ firstrow_columnindex++) {
+
+ row_minor = 0;
+
+ for(row = 1; row < row_size; row++) {
+
+ column_minor = 0;
+
+ for(column = 0; column < column_size; column++) {
+ if (column == firstrow_columnindex)
+ continue;
+ else
+ minor[row_minor][column_minor] = B[row][column];
+
+ column_minor++;
+ }
+
+ row_minor++;
+ }
+
+ m = row_minor;
+ n = column_minor;
+
+ if (firstrow_columnindex % 2 == 0)
+ sum += B[0][firstrow_columnindex] * det(minor);
+ else
+ sum -= B[0][firstrow_columnindex] * det(minor);
+
+ }
+
+ return sum;
+
+ }
+}