From f50e470c81268e9100be9a7fb52359eee6a57c83 Mon Sep 17 00:00:00 2001 From: Stella Date: Fri, 20 May 2022 14:02:25 +0300 Subject: [PATCH] changes --- Notebooks/modelling.ipynb | 1161 +++++++++++++++++++++++++++++++++++++ 1 file changed, 1161 insertions(+) create mode 100644 Notebooks/modelling.ipynb diff --git a/Notebooks/modelling.ipynb b/Notebooks/modelling.ipynb new file mode 100644 index 0000000..c5282b5 --- /dev/null +++ b/Notebooks/modelling.ipynb @@ -0,0 +1,1161 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Importing Pandas an Numpy Libraries to use on manipulating our Data\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# To Preproccesing our data\n", + "from sklearn.preprocessing import LabelEncoder\n", + "\n", + "# To fill missing values\n", + "from sklearn.impute import SimpleImputer\n", + "\n", + "# To Split our train data\n", + "from sklearn.model_selection import train_test_split\n", + "\n", + "# To Visualize Data\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "# To Train our data\n", + "from xgboost import XGBClassifier\n", + "from sklearn.utils import shuffle\n", + "from sklearn.tree import DecisionTreeClassifier\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "from sklearn.neighbors import KNeighborsClassifier\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.naive_bayes import BernoulliNB, GaussianNB\n", + "\n", + "# To evaluate end result we have \n", + "from sklearn.metrics import accuracy_score, confusion_matrix,mean_squared_error, r2_score, mean_absolute_error\n", + "from sklearn.model_selection import LeaveOneOut\n", + "from sklearn.model_selection import cross_val_score" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
auction_idexperimentdatehourdevice_makeplatform_osbrowseryesno
00008ef63-77a7-448b-bd1e-075f42c55e39exposed2020-07-108Generic Smartphone6Chrome Mobile00
1000eabc5-17ce-4137-8efe-44734d914446exposed2020-07-0710Generic Smartphone6Chrome Mobile00
20016d14a-ae18-4a02-a204-6ba53b52f2edexposed2020-07-052E58236Chrome Mobile WebView01
300187412-2932-4542-a8ef-3633901c98d9control2020-07-0315Samsung SM-A705FN6Facebook00
4001a7785-d3fe-4e11-a344-c8735acacc2ccontrol2020-07-0315Generic Smartphone6Chrome Mobile00
\n", + "
" + ], + "text/plain": [ + " auction_id experiment date hour \\\n", + "0 0008ef63-77a7-448b-bd1e-075f42c55e39 exposed 2020-07-10 8 \n", + "1 000eabc5-17ce-4137-8efe-44734d914446 exposed 2020-07-07 10 \n", + "2 0016d14a-ae18-4a02-a204-6ba53b52f2ed exposed 2020-07-05 2 \n", + "3 00187412-2932-4542-a8ef-3633901c98d9 control 2020-07-03 15 \n", + "4 001a7785-d3fe-4e11-a344-c8735acacc2c control 2020-07-03 15 \n", + "\n", + " device_make platform_os browser yes no \n", + "0 Generic Smartphone 6 Chrome Mobile 0 0 \n", + "1 Generic Smartphone 6 Chrome Mobile 0 0 \n", + "2 E5823 6 Chrome Mobile WebView 0 1 \n", + "3 Samsung SM-A705FN 6 Facebook 0 0 \n", + "4 Generic Smartphone 6 Chrome Mobile 0 0 " + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sys.path.append('../Scripts')\n", + "from eda_Read_data import ReadData\n", + "loader = ReadData()\n", + "data= loader.read_csv('../Data/AdSmartABdata.csv')\n", + "data.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Data Preprocessing for modelling" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
auction_idexperimentdatehourdevice_makeplatform_osbrowseryesno
20016d14a-ae18-4a02-a204-6ba53b52f2edexposed2020-07-052E58236Chrome Mobile WebView01
16008aafdf-deef-4482-8fec-d98e3da054daexposed2020-07-0416Generic Smartphone6Chrome Mobile10
2000a1384a-5118-4d1b-925b-6cdada50318dexposed2020-07-068Generic Smartphone6Chrome Mobile01
2300b6fadb-10bd-49e3-a778-290da82f7a8dcontrol2020-07-084Samsung SM-A202F6Facebook10
2700ebf4a8-060f-4b99-93ac-c62724399483control2020-07-0315Generic Smartphone6Chrome Mobile01
\n", + "
" + ], + "text/plain": [ + " auction_id experiment date hour \\\n", + "2 0016d14a-ae18-4a02-a204-6ba53b52f2ed exposed 2020-07-05 2 \n", + "16 008aafdf-deef-4482-8fec-d98e3da054da exposed 2020-07-04 16 \n", + "20 00a1384a-5118-4d1b-925b-6cdada50318d exposed 2020-07-06 8 \n", + "23 00b6fadb-10bd-49e3-a778-290da82f7a8d control 2020-07-08 4 \n", + "27 00ebf4a8-060f-4b99-93ac-c62724399483 control 2020-07-03 15 \n", + "\n", + " device_make platform_os browser yes no \n", + "2 E5823 6 Chrome Mobile WebView 0 1 \n", + "16 Generic Smartphone 6 Chrome Mobile 1 0 \n", + "20 Generic Smartphone 6 Chrome Mobile 0 1 \n", + "23 Samsung SM-A202F 6 Facebook 1 0 \n", + "27 Generic Smartphone 6 Chrome Mobile 0 1 " + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from eda_cleaning_data import Cleaning_excel_data\n", + "cleaner = Cleaning_excel_data()\n", + "clean_data= cleaner.drop_rows(data, 'yes', 'no')\n", + "clean_data.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
row_iddevice_makeplatform_osbrowserday_of_weekexperimentresult
522152214167001
605360534362401
553155314767001
617161711361000
471947194762610
\n", + "
" + ], + "text/plain": [ + " row_id device_make platform_os browser day_of_week experiment \\\n", + "5221 5221 41 6 7 0 0 \n", + "6053 6053 43 6 2 4 0 \n", + "5531 5531 47 6 7 0 0 \n", + "6171 6171 13 6 1 0 0 \n", + "4719 4719 47 6 2 6 1 \n", + "\n", + " result \n", + "5221 1 \n", + "6053 1 \n", + "5531 1 \n", + "6171 0 \n", + "4719 0 " + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "## generating a day of the week column from the date\n", + "clean_data['date'] = pd.to_datetime(df['date'], errors='coerce')\n", + "clean_data['day_of_week'] = clean_data['date'].dt.day_name()\n", + "\n", + "\n", + "#drop the no column\n", + "clean_data.drop(['no'], axis=1,inplace=True)\n", + "clean_data.rename(columns={'yes': 'result'},inplace=True)\n", + "\n", + "#Combining the control and exposed group \n", + "exposed_group = clean_data[clean_data['experiment'] == 'exposed']\n", + "control_group = clean_data[clean_data['experiment'] == 'control']\n", + "\n", + "#dropping nulls and indexing the data\n", + "clean_data['row_id'] = clean_data.index\n", + "clean_data.dropna(inplace=True)\n", + "clean_data = shuffle(clean_data)\n", + "\n", + "#encoding the data in categorical data into 0s and 1s\n", + "lb = LabelEncoder()\n", + "clean_data['experiment'] = lb.fit_transform(clean_data['experiment'])\n", + "clean_data['browser'] = lb.fit_transform(clean_data['browser'])\n", + "clean_data['device_make'] = lb.fit_transform(clean_data['device_make'])\n", + "clean_data['day_of_week'] = lb.fit_transform(clean_data['day_of_week'])\n", + "\n", + "#eliminating nwanted colmns\n", + "clean_data = clean_data[['row_id', 'device_make', 'platform_os', 'browser' ,'day_of_week', 'experiment','result']]\n", + "\n", + "\n", + "clean_data.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
row_iddevice_makeplatform_osbrowserday_of_weekexperimentresult
522152214167001
605360534362401
553155314767001
617161711361000
471947194762610
562456241361211
385438541361010
234723471361000
501450146962211
629762976467501
259825981361011
446344634867210
726772678062000
470147011362011
305630564667310
6410641011455200
159515953664001
7944794411264001
2631263111456000
196619661264000
727472747264400
449444944864001
7856785611456500
1097109711455010
4871487111455100
4749474911455200
6905690511455410
253125311860311
7465746511453201
9019011860000
4706470611456000
\n", + "
" + ], + "text/plain": [ + " row_id device_make platform_os browser day_of_week experiment \\\n", + "5221 5221 41 6 7 0 0 \n", + "6053 6053 43 6 2 4 0 \n", + "5531 5531 47 6 7 0 0 \n", + "6171 6171 13 6 1 0 0 \n", + "4719 4719 47 6 2 6 1 \n", + "5624 5624 13 6 1 2 1 \n", + "3854 3854 13 6 1 0 1 \n", + "2347 2347 13 6 1 0 0 \n", + "5014 5014 69 6 2 2 1 \n", + "6297 6297 64 6 7 5 0 \n", + "2598 2598 13 6 1 0 1 \n", + "4463 4463 48 6 7 2 1 \n", + "7267 7267 80 6 2 0 0 \n", + "4701 4701 13 6 2 0 1 \n", + "3056 3056 46 6 7 3 1 \n", + "6410 6410 114 5 5 2 0 \n", + "1595 1595 36 6 4 0 0 \n", + "7944 7944 112 6 4 0 0 \n", + "2631 2631 114 5 6 0 0 \n", + "1966 1966 12 6 4 0 0 \n", + "7274 7274 72 6 4 4 0 \n", + "4494 4494 48 6 4 0 0 \n", + "7856 7856 114 5 6 5 0 \n", + "1097 1097 114 5 5 0 1 \n", + "4871 4871 114 5 5 1 0 \n", + "4749 4749 114 5 5 2 0 \n", + "6905 6905 114 5 5 4 1 \n", + "2531 2531 18 6 0 3 1 \n", + "7465 7465 114 5 3 2 0 \n", + "901 901 18 6 0 0 0 \n", + "4706 4706 114 5 6 0 0 \n", + "\n", + " result \n", + "5221 1 \n", + "6053 1 \n", + "5531 1 \n", + "6171 0 \n", + "4719 0 \n", + "5624 1 \n", + "3854 0 \n", + "2347 0 \n", + "5014 1 \n", + "6297 1 \n", + "2598 1 \n", + "4463 0 \n", + "7267 0 \n", + "4701 1 \n", + "3056 0 \n", + "6410 0 \n", + "1595 1 \n", + "7944 1 \n", + "2631 0 \n", + "1966 0 \n", + "7274 0 \n", + "4494 1 \n", + "7856 0 \n", + "1097 0 \n", + "4871 0 \n", + "4749 0 \n", + "6905 0 \n", + "2531 1 \n", + "7465 1 \n", + "901 0 \n", + "4706 0 " + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "browser_groups= clean_data.groupby('browser')\n", + "#exposed_dropped_group= experiment_dropped_groups.get_group('exposed')\n", + "browser_groups.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(1243, 7)" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "clean_data.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# set aside 20% of train and test data for evaluation\n", + "X_train, X_test, y_train, y_test = train_test_split(clean_data.loc[:, clean_data.columns != 'result'], clean_data['result'],\n", + " test_size=0.1)\n", + "\n", + "# Use the same function above for the validation set\n", + "X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, \n", + " test_size=0.2) # 0.25 x 0.8 = 0.2" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(894, 6)\n", + "(125, 6)\n", + "(224, 6)\n", + "(894,)\n", + "(125,)\n", + "(224,)\n" + ] + } + ], + "source": [ + "print(X_train.shape)\n", + "print(X_test.shape)\n", + "print(X_val.shape)\n", + "print(y_train.shape)\n", + "print(y_test.shape)\n", + "print(y_val.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Logistic Regression" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Predicted: [0 0 0 0 0 0 1 0 0 0]\n", + "Actual: 6250 1\n", + "3372 0\n", + "3722 1\n", + "5579 0\n", + "3473 1\n", + "5831 0\n", + "6836 1\n", + "4901 0\n", + "2791 0\n", + "7375 1\n", + "Name: result, dtype: int64\n" + ] + } + ], + "source": [ + "# Define Logistic Regression Model\n", + "log = LogisticRegression()\n", + "# We fit our model with our train data\n", + "log.fit(X_train, y_train)\n", + "# Then predict results from X_test data\n", + "pred_log = log.predict(X_test)\n", + "\n", + "# See First 10 Predictions and They Actual Values\n", + "print(\"Predicted:\", pred_log[0:10])\n", + "print(\"Actual:\", y_test[0:10])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Decision Tree" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Predicted: [1 1 1 1 0 0 1 0 0 0]\n", + "Actual: 6250 1\n", + "3372 0\n", + "3722 1\n", + "5579 0\n", + "3473 1\n", + "5831 0\n", + "6836 1\n", + "4901 0\n", + "2791 0\n", + "7375 1\n", + "Name: result, dtype: int64\n" + ] + } + ], + "source": [ + "# Define Decision Tree Model\n", + "dt = DecisionTreeClassifier()\n", + "# We fit our model with our train data\n", + "dt.fit(X_train, y_train)\n", + "# Then predict results from X_test data\n", + "pred_dt = dt.predict(X_test)\n", + "\n", + "# See First 10 Predictions and Their Actual Values\n", + "print(\"Predicted:\", pred_dt[0:10])\n", + "print(\"Actual:\", y_test[0:10])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### XGBoost" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\Stella\\anaconda3\\lib\\site-packages\\xgboost\\sklearn.py:793: UserWarning: `early_stopping_rounds` in `fit` method is deprecated for better compatibility with scikit-learn, use `early_stopping_rounds` in constructor or`set_params` instead.\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Actual: 6250 1\n", + "3372 0\n", + "3722 1\n", + "5579 0\n", + "3473 1\n", + "5831 0\n", + "6836 1\n", + "4901 0\n", + "2791 0\n", + "7375 1\n", + "Name: result, dtype: int64\n" + ] + } + ], + "source": [ + "# Define XGBoost Model\n", + "xgb = XGBClassifier(n_estimators=1000, learning_rate=0.05)\n", + "# We fit our model with our train data\n", + "xgb.fit(\n", + " X_train, y_train,\n", + " # That means if model don't improve it self in 5 rounds, it will stop learning\n", + " # So you can save your time and don't overtrain your model.\n", + " early_stopping_rounds=5,\n", + " # We provide Test data's to evaluate model performance\n", + " eval_set=[(X_test, y_test)],\n", + " verbose=False\n", + " )\n", + "# Then predict results from X_test data\n", + "pred_xgb = xgb.predict(X_test)\n", + "\n", + "# See First 10 Predictions and They Actual Values\n", + "# print(\"Predicted:\", pred_xgb[0:10])\n", + "print(\"Actual:\", y_test[0:10])" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "import sklearn.model_selection as model_selection\n", + "X_train, X_test, y_train, y_test = model_selection.train_test_split(clean_data.loc[:, clean_data.columns != 'result'], clean_data['result'], train_size=0.7,test_size=0.1, random_state=101)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(870, 6)\n", + "(125, 6)\n", + "(224, 6)\n", + "(870,)\n", + "(125,)\n", + "(224,)\n" + ] + } + ], + "source": [ + "print(X_train.shape)\n", + "print(X_test.shape)\n", + "print(X_val.shape)\n", + "print(y_train.shape)\n", + "print(y_test.shape)\n", + "print(y_val.shape)" + ] + } + ], + "metadata": { + "interpreter": { + "hash": "81aff91296dac732a5adb56959044b4ffd2034639e84788241dd0350f5c69226" + }, + "kernelspec": { + "display_name": "Python 3.9.12 ('base')", + "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.9.12" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +}