{ "cells": [ { "cell_type": "code", "execution_count": null, "id": "1e1a4199-9f42-4d64-8cc1-8dacde379898", "metadata": {}, "outputs": [], "source": [ "# CIS 343-01 - Analytics Programming\n", "# Program 4\n", "# Due Date: 12/8/2025\n", "# Purpose: Build a logistic regression model using social_ads.csv\n", "\n", "# Import all necessary libraries\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.preprocessing import StandardScaler, LabelEncoder\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.metrics import confusion_matrix, accuracy_score, classification_report\n", "from matplotlib.colors import ListedColormap\n", "\n", "# Load dataset\n", "add_df = pd.read_csv('social_ads.csv')\n", "\n", "# Prepare features and target\n", "x_data = add_df[['Age','EstimatedSalary']].values\n", "y_target = add_df['Purchased'].values\n", "\n", "# Encode target variable (Yes -> 1, No -> 0)\n", "le = LabelEncoder()\n", "y_target_encoded = le.fit_transform(y_target)\n", "\n", "# Split the dataset into training and testing sets (75% train, 25% test)\n", "X_train, X_test, y_train, y_test = train_test_split(x_data, y_target_encoded, test_size=0.25, random_state=0)\n", "\n", "# Scale features for better logistic regression performance\n", "scaler = StandardScaler()\n", "X_train = scaler.fit_transform(X_train)\n", "X_test = scaler.trans_\n" ] } ], "metadata": { "kernelspec": { "display_name": "anaconda-panel-2023.05-py310", "language": "python", "name": "conda-env-anaconda-panel-2023.05-py310-py" }, "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.5" } }, "nbformat": 4, "nbformat_minor": 5 }