{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_kg_hide-input":true,"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-08-03T09:39:01.467866Z","iopub.execute_input":"2022-08-03T09:39:01.468274Z","iopub.status.idle":"2022-08-03T09:39:01.480968Z","shell.execute_reply.started":"2022-08-03T09:39:01.468243Z","shell.execute_reply":"2022-08-03T09:39:01.479929Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"![Capture.JPG](attachment:5bf474af-f028-42eb-9197-1b9a076fc1f9.JPG)","metadata":{},"attachments":{"5bf474af-f028-42eb-9197-1b9a076fc1f9.JPG":{"image/jpeg":"/9j/4AAQSkZJRgABAQEAYABgAAD/4REERXhpZgAATU0AKgAAAAgABAE7AAIAAAATAAAISodpAAQAAAABAAAIXpydAAEAAAAmAAAQ1uocAAcAAAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFRhZGksIFBhdmFuIFNhdGlzaAAAAAWQAwACAAAAFAAAEKyQBAACAAAAFAAAEMCSkQACAAAAAzEwAACSkgACAAAAAzEwAADqHAAHAAAIDAAACKAAAAAAHOoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMDIyOjA4OjAyIDE3OjI4OjQ5ADIwMjI6MDg6MDIgMTc6Mjg6NDkAAABUAGEAZABpACwAIABQAGEAdgBhAG4AIABTAGEAdABpAHMAaAAAAP/hCyVodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIi8+PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPjx4bXA6Q3JlYXRlRGF0ZT4yMDIyLTA4LTAyVDE3OjI4OjQ5LjEwNDwveG1wOkNyZWF0ZURhdGU+PC9yZGY6RGVzY3JpcHRpb24+PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPjxkYzpjcmVhdG9yPjxyZGY6U2VxIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+PHJkZjpsaT5UYWRpLCBQYXZhbiBTYXRpc2g8L3JkZjpsaT48L3JkZjpTZXE+DQoJCQk8L2RjOmNyZWF0b3I+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg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3/Zr/wCQ9rX/AFxi/wDQmqn+0n/yUDT/APsGr/6Mkr6WjtYomyigGnSwRzf6xQaJa28hx92/n/wP8j4Hor70+wW//PMflR9gt/8AnmPyoEeTfs5f8iFcf9f0n/oKV4j8VP8AkqviD/r7P8hX2XHBHD/q1AryHxT8BLTxJ4nvtYfWLiJ7yUyNGsSkL7CpleU1Ly/y/wAhx0i15/5nzLRX0J/wzTZ/9By6/wC/S0f8M02f/Qcuv+/S1QjjP2ff+SlP/wBeMn/oSV9TQ/6s/wC838zXmXgL4NW/gfxGdVg1Oa6YwtFskjAGCQc8fSvTofuH/eb+ZqpO6RKWrFh/1Z/3m/mafTIf9Wf95v5mn1JQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABUcX3D/vN/M1JUcX3D/vN/M0ALD/qz/vN/M0+iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACo4vuH/AHm/maKKAP/Z"}}},{"cell_type":"markdown","source":"# Data Description!\n\n1. This data represents the results of a large product testing study. For each product_code you are given a number of product attributes (fixed for the code) as well as a number of measurement values for each individual product, representing various lab testing methods. Each product is used in a simulated real-world environment experiment, and and absorbs a certain amount of fluid (loading) to see whether or not it fails.\n\n2. The task is to use the data to predict individual product failures of new codes with their individual lab test results.","metadata":{}},{"cell_type":"markdown","source":"# Evalution and Submission!\n> Submissions are evaluated on area under the ROC curve between the predicted probability and the observed target.\n\n*Submission File*\n> For each id in the test set, you must predict a probability a failure. The file should contain a header and have the following format:\n\n\n> id,failure\n26570,0.2\n26571,0.1\n26572,0.9\netc.","metadata":{}},{"cell_type":"markdown","source":"# Seven level appraoch\n\n1. Train and test data is loaded and checked for data types, shape,summary statistics.\n2. Null values are identified. well LGBClassifier deals with it no need to worry.\n3. outliers in the data are identified using box plots, PowerTransformer will take care of outliers.\n4. Data distribution make sense ,some of the data have skewness.\n5. Categorical data is encode because ML algorithms always require numerical input.\n6. Combine and seprating the train and  test data makes the preprocessing simple.\n7. Predicted probabilities are submitted along with id.\n","metadata":{}},{"cell_type":"code","source":"import pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nfrom sklearn.preprocessing import OneHotEncoder\nfrom sklearn.preprocessing import*\nfrom sklearn.model_selection import train_test_split\nfrom lightgbm import LGBMClassifier","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:39:01.482883Z","iopub.execute_input":"2022-08-03T09:39:01.484351Z","iopub.status.idle":"2022-08-03T09:39:02.921260Z","shell.execute_reply.started":"2022-08-03T09:39:01.484293Z","shell.execute_reply":"2022-08-03T09:39:02.919740Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#!pip install sklego","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:39:02.923361Z","iopub.execute_input":"2022-08-03T09:39:02.923751Z","iopub.status.idle":"2022-08-03T09:39:02.928388Z","shell.execute_reply.started":"2022-08-03T09:39:02.923716Z","shell.execute_reply":"2022-08-03T09:39:02.927447Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#from sklego.mixture import BayesianGMMClassifier","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:39:02.929537Z","iopub.execute_input":"2022-08-03T09:39:02.930532Z","iopub.status.idle":"2022-08-03T09:39:02.939388Z","shell.execute_reply.started":"2022-08-03T09:39:02.930499Z","shell.execute_reply":"2022-08-03T09:39:02.938495Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df=pd.read_csv('../input/tabular-playground-series-aug-2022/train.csv')\ndf_test=pd.read_csv('../input/tabular-playground-series-aug-2022/test.csv')","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:39:02.942409Z","iopub.execute_input":"2022-08-03T09:39:02.943633Z","iopub.status.idle":"2022-08-03T09:39:03.214308Z","shell.execute_reply.started":"2022-08-03T09:39:02.943589Z","shell.execute_reply":"2022-08-03T09:39:03.213178Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df.shape","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:39:03.215964Z","iopub.execute_input":"2022-08-03T09:39:03.216625Z","iopub.status.idle":"2022-08-03T09:39:03.225053Z","shell.execute_reply.started":"2022-08-03T09:39:03.216580Z","shell.execute_reply":"2022-08-03T09:39:03.223390Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df.head()","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:39:03.226760Z","iopub.execute_input":"2022-08-03T09:39:03.227365Z","iopub.status.idle":"2022-08-03T09:39:03.266163Z","shell.execute_reply.started":"2022-08-03T09:39:03.227334Z","shell.execute_reply":"2022-08-03T09:39:03.265302Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# failure variable distribution.\n> * imbalanced data.","metadata":{}},{"cell_type":"code","source":"# The data given is imbalanced.\n# There is only 21 percent data belongs to failure being 1. well reality happens.\n# Use startified k-fold, it will solve issue.\nf_p=df.value_counts(df['failure'])/len(df)*100\nd_f=pd.DataFrame({'failure':[0,1],'Percentage':f_p})\n\nfig_size=plt.figure(figsize=(4,3))\nsns.barplot(data=d_f,x='failure',y='Percentage')\nplt.title('Percentage of 0 and 1 values in failure feature')\nplt.show()\n","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:39:03.267351Z","iopub.execute_input":"2022-08-03T09:39:03.268193Z","iopub.status.idle":"2022-08-03T09:39:03.477546Z","shell.execute_reply.started":"2022-08-03T09:39:03.268159Z","shell.execute_reply":"2022-08-03T09:39:03.476675Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"d_f.reset_index(drop=True,inplace=True)\nd_f","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:39:03.478761Z","iopub.execute_input":"2022-08-03T09:39:03.479270Z","iopub.status.idle":"2022-08-03T09:39:03.489252Z","shell.execute_reply.started":"2022-08-03T09:39:03.479239Z","shell.execute_reply":"2022-08-03T09:39:03.488041Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# There are  float64(16), int64(7), object(3) data types.\n# object data type columns are product_code,attribute_0,attribute_1.\n# There are 26 columns and 26570 rows.\ndf.info()","metadata":{"_kg_hide-output":true,"_kg_hide-input":false,"execution":{"iopub.status.busy":"2022-08-03T09:39:03.490492Z","iopub.execute_input":"2022-08-03T09:39:03.491718Z","iopub.status.idle":"2022-08-03T09:39:03.518457Z","shell.execute_reply.started":"2022-08-03T09:39:03.491682Z","shell.execute_reply":"2022-08-03T09:39:03.517493Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Some of the features having outliers, look at 75th percentile and max value.\n# Well box plots might give better observations!!\ndf.describe()","metadata":{"_kg_hide-output":true,"_kg_hide-input":false,"execution":{"iopub.status.busy":"2022-08-03T09:39:03.522263Z","iopub.execute_input":"2022-08-03T09:39:03.523299Z","iopub.status.idle":"2022-08-03T09:39:03.635992Z","shell.execute_reply.started":"2022-08-03T09:39:03.523248Z","shell.execute_reply":"2022-08-03T09:39:03.634726Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# NULL VALUES!!\n\n* Most of the null values related to measurement_ features!\n* From the hist plot it clear that most of the numerical features are not having skewness.\n* The numerical features loading,measuremt_0,measuremt_1,measurement_2 having skewnewss.\n* Encode data and fill missing values with median.\n\n","metadata":{}},{"cell_type":"code","source":"df.isna().sum()#There are lot of null values !!","metadata":{"_kg_hide-output":true,"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-08-03T09:39:03.637760Z","iopub.execute_input":"2022-08-03T09:39:03.638143Z","iopub.status.idle":"2022-08-03T09:39:03.653271Z","shell.execute_reply.started":"2022-08-03T09:39:03.638110Z","shell.execute_reply":"2022-08-03T09:39:03.652072Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#percentage of missing values\nper_null_values=df.isna().sum()/len(df)*100\nnull_values_df= pd.DataFrame({'Features':df.columns,'Missing values percentage':per_null_values})\nfinal_null=null_values_df.sort_values('Missing values percentage',axis=0,ascending =False)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:39:03.655084Z","iopub.execute_input":"2022-08-03T09:39:03.655965Z","iopub.status.idle":"2022-08-03T09:39:03.669958Z","shell.execute_reply.started":"2022-08-03T09:39:03.655921Z","shell.execute_reply":"2022-08-03T09:39:03.668875Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"fig_size=plt.figure(figsize=(15,5))\nsns.barplot(x='Features',y='Missing values percentage',data=final_null)\nplt.xticks(rotation=90)\nplt.xlabel('Features')\nplt.title('Percentage of null values in each feature')\nplt.show()\nplt.tight_layout()","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:39:03.672337Z","iopub.execute_input":"2022-08-03T09:39:03.672665Z","iopub.status.idle":"2022-08-03T09:39:04.075412Z","shell.execute_reply.started":"2022-08-03T09:39:03.672637Z","shell.execute_reply":"2022-08-03T09:39:04.074261Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# SKEWNESS!!","metadata":{}},{"cell_type":"code","source":"\nfig_size=plt.figure(figsize=(20,40))\n\nfor i,f in enumerate(df.columns):\n    plt.subplot(6,5,i+1)\n    sns.histplot(df[f])\n    plt.xlabel(f)\n   \n \nplt.title(\"Distribution in each feature\")\nplt.show()\nplt.tight_layout()\n    \n    ","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:39:04.077322Z","iopub.execute_input":"2022-08-03T09:39:04.078104Z","iopub.status.idle":"2022-08-03T09:39:11.564587Z","shell.execute_reply.started":"2022-08-03T09:39:04.078061Z","shell.execute_reply":"2022-08-03T09:39:11.563480Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Missing values imputation using bfill\n\ndf_test.isna().sum()","metadata":{"_kg_hide-input":false,"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-08-03T09:39:11.565770Z","iopub.execute_input":"2022-08-03T09:39:11.566213Z","iopub.status.idle":"2022-08-03T09:39:11.583450Z","shell.execute_reply.started":"2022-08-03T09:39:11.566172Z","shell.execute_reply":"2022-08-03T09:39:11.582352Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Combine train test data.","metadata":{}},{"cell_type":"code","source":"df_test.head(1)","metadata":{"_kg_hide-output":true,"_kg_hide-input":false,"execution":{"iopub.status.busy":"2022-08-03T09:39:11.585126Z","iopub.execute_input":"2022-08-03T09:39:11.585715Z","iopub.status.idle":"2022-08-03T09:39:11.611085Z","shell.execute_reply.started":"2022-08-03T09:39:11.585682Z","shell.execute_reply":"2022-08-03T09:39:11.609854Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df.head(1)","metadata":{"_kg_hide-output":true,"_kg_hide-input":false,"execution":{"iopub.status.busy":"2022-08-03T09:39:11.612607Z","iopub.execute_input":"2022-08-03T09:39:11.612999Z","iopub.status.idle":"2022-08-03T09:39:11.638435Z","shell.execute_reply.started":"2022-08-03T09:39:11.612966Z","shell.execute_reply":"2022-08-03T09:39:11.637419Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_combine=df.append(df_test)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:39:11.639747Z","iopub.execute_input":"2022-08-03T09:39:11.640135Z","iopub.status.idle":"2022-08-03T09:39:11.663944Z","shell.execute_reply.started":"2022-08-03T09:39:11.640101Z","shell.execute_reply":"2022-08-03T09:39:11.663005Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_combine.tail(1)# see failure value @ 'NAN'.","metadata":{"_kg_hide-input":true,"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-08-03T09:39:11.665212Z","iopub.execute_input":"2022-08-03T09:39:11.666370Z","iopub.status.idle":"2022-08-03T09:39:11.691584Z","shell.execute_reply.started":"2022-08-03T09:39:11.666318Z","shell.execute_reply":"2022-08-03T09:39:11.690398Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# OUTLIERS!!!","metadata":{}},{"cell_type":"markdown","source":"* Columns 'loading' and 'measurement_17' are having high magnitude values.\n* Better to use Powertransformer than Standard scaler","metadata":{}},{"cell_type":"code","source":"out_data=df.drop(columns=['id','product_code','attribute_0','attribute_1','failure'],axis=1)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:39:11.693483Z","iopub.execute_input":"2022-08-03T09:39:11.693979Z","iopub.status.idle":"2022-08-03T09:39:11.701603Z","shell.execute_reply.started":"2022-08-03T09:39:11.693934Z","shell.execute_reply":"2022-08-03T09:39:11.700517Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Box Plot!!","metadata":{}},{"cell_type":"code","source":"fig_size=plt.figure(figsize=(15,5))\nsns.boxplot(data=out_data,width=0.7)\nplt.xticks(rotation=90)\nplt.title('Box plot for complete features')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:39:11.703243Z","iopub.execute_input":"2022-08-03T09:39:11.703614Z","iopub.status.idle":"2022-08-03T09:39:12.254341Z","shell.execute_reply.started":"2022-08-03T09:39:11.703584Z","shell.execute_reply":"2022-08-03T09:39:12.253178Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# deleteing columns [loading, measurement_17] gives a better look!\nout_data1=out_data.drop(columns=['loading','measurement_17'],axis=1)\nfig_size=plt.figure(figsize=(15,5))\nsns.boxplot(data=out_data1,width=0.7)\nplt.xticks(rotation=90)\nplt.xlabel('Features')\nplt.title('Box plot for detecting ouliers in features')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:39:12.255953Z","iopub.execute_input":"2022-08-03T09:39:12.256456Z","iopub.status.idle":"2022-08-03T09:39:12.780991Z","shell.execute_reply.started":"2022-08-03T09:39:12.256421Z","shell.execute_reply":"2022-08-03T09:39:12.779833Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Encoding categorical features!","metadata":{}},{"cell_type":"code","source":"df_combine.head(1)","metadata":{"_kg_hide-input":false,"execution":{"iopub.status.busy":"2022-08-03T09:59:16.535313Z","iopub.execute_input":"2022-08-03T09:59:16.535724Z","iopub.status.idle":"2022-08-03T09:59:16.565996Z","shell.execute_reply.started":"2022-08-03T09:59:16.535692Z","shell.execute_reply":"2022-08-03T09:59:16.564914Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data = pd.get_dummies(df_combine, columns = ['product_code','attribute_0','attribute_1','product_code'])\n","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:59:34.965946Z","iopub.execute_input":"2022-08-03T09:59:34.966345Z","iopub.status.idle":"2022-08-03T09:59:35.007717Z","shell.execute_reply.started":"2022-08-03T09:59:34.966315Z","shell.execute_reply":"2022-08-03T09:59:35.006496Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data.tail(2)\n","metadata":{"_kg_hide-input":false,"execution":{"iopub.status.busy":"2022-08-03T09:39:12.863240Z","iopub.execute_input":"2022-08-03T09:39:12.863639Z","iopub.status.idle":"2022-08-03T09:39:12.888539Z","shell.execute_reply.started":"2022-08-03T09:39:12.863579Z","shell.execute_reply":"2022-08-03T09:39:12.887476Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data=data.drop(columns='id',axis=1)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:59:40.365650Z","iopub.execute_input":"2022-08-03T09:59:40.366100Z","iopub.status.idle":"2022-08-03T09:59:40.387158Z","shell.execute_reply.started":"2022-08-03T09:59:40.366065Z","shell.execute_reply":"2022-08-03T09:59:40.386064Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklearn.preprocessing import*\npt=PowerTransformer()\ntrain=pt.fit_transform(data)\nrt=RobustScaler()\ntrain=rt.fit_transform(train)\ntrain_pre = pd.DataFrame(train,columns=data.columns)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:59:41.944806Z","iopub.execute_input":"2022-08-03T09:59:41.945224Z","iopub.status.idle":"2022-08-03T09:59:43.951639Z","shell.execute_reply.started":"2022-08-03T09:59:41.945192Z","shell.execute_reply":"2022-08-03T09:59:43.950422Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Seperating Test and Train Data!\n* Test data have 36 columns and starting with 26570 index.\n* Train data have 37 columns and ending  with 26569 index.","metadata":{}},{"cell_type":"code","source":"test=train_pre[train_pre['failure'].isnull()]\ntest=test.drop(columns='failure')\ntest.head(1)","metadata":{"_kg_hide-input":false,"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-08-03T09:59:44.193361Z","iopub.execute_input":"2022-08-03T09:59:44.194129Z","iopub.status.idle":"2022-08-03T09:59:44.229367Z","shell.execute_reply.started":"2022-08-03T09:59:44.194078Z","shell.execute_reply":"2022-08-03T09:59:44.227841Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train=train_pre[train_pre['failure'].notnull()]\ntrain.tail(1)","metadata":{"_kg_hide-input":false,"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-08-03T09:59:47.345953Z","iopub.execute_input":"2022-08-03T09:59:47.346333Z","iopub.status.idle":"2022-08-03T09:59:47.378078Z","shell.execute_reply.started":"2022-08-03T09:59:47.346303Z","shell.execute_reply":"2022-08-03T09:59:47.376614Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"y=df['failure']\nX_train=train.drop(columns=['failure'],axis=1)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:59:49.263906Z","iopub.execute_input":"2022-08-03T09:59:49.264354Z","iopub.status.idle":"2022-08-03T09:59:49.275286Z","shell.execute_reply.started":"2022-08-03T09:59:49.264318Z","shell.execute_reply":"2022-08-03T09:59:49.273863Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# filling missing values with knn imputer\n\nfrom sklearn.impute import KNNImputer\nimputer = KNNImputer(n_neighbors=4)\nX_train=imputer.fit_transform(X_train)\ntest=imputer.fit_transform(test)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:59:51.965282Z","iopub.execute_input":"2022-08-03T09:59:51.965742Z","iopub.status.idle":"2022-08-03T10:01:50.401864Z","shell.execute_reply.started":"2022-08-03T09:59:51.965703Z","shell.execute_reply":"2022-08-03T10:01:50.400599Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"x_train, x_test, y_train, y_test = train_test_split(X_train, y, test_size=0.30)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T10:01:50.403852Z","iopub.execute_input":"2022-08-03T10:01:50.404284Z","iopub.status.idle":"2022-08-03T10:01:50.421267Z","shell.execute_reply.started":"2022-08-03T10:01:50.404249Z","shell.execute_reply":"2022-08-03T10:01:50.420070Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# LogisticRegression!","metadata":{}},{"cell_type":"code","source":"from sklearn.linear_model import LogisticRegression","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:40:43.978913Z","iopub.execute_input":"2022-08-03T09:40:43.979560Z","iopub.status.idle":"2022-08-03T09:40:43.983928Z","shell.execute_reply.started":"2022-08-03T09:40:43.979525Z","shell.execute_reply":"2022-08-03T09:40:43.982870Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# we cant give null values to logistic regression model.\n\n#x_train_lr=x_train.bfill().ffill()\n#x_test_lr=x_test.bfill().ffill()\n#test_lr=test.bfill().ffill()\nx_train_lr=x_train\nx_test_lr=x_test\ntest_lr=test","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-08-03T09:40:43.985277Z","iopub.execute_input":"2022-08-03T09:40:43.985843Z","iopub.status.idle":"2022-08-03T09:40:43.996013Z","shell.execute_reply.started":"2022-08-03T09:40:43.985791Z","shell.execute_reply":"2022-08-03T09:40:43.994771Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model1 = LogisticRegression()\nmodel1.fit(x_train_lr, y_train)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:40:43.997991Z","iopub.execute_input":"2022-08-03T09:40:43.998869Z","iopub.status.idle":"2022-08-03T09:40:44.176623Z","shell.execute_reply.started":"2022-08-03T09:40:43.998807Z","shell.execute_reply":"2022-08-03T09:40:44.175386Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pred_proba_lr=model1.predict_proba(x_test_lr)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:40:44.178886Z","iopub.execute_input":"2022-08-03T09:40:44.179753Z","iopub.status.idle":"2022-08-03T09:40:44.189880Z","shell.execute_reply.started":"2022-08-03T09:40:44.179704Z","shell.execute_reply":"2022-08-03T09:40:44.187930Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# KNN Classifier!","metadata":{}},{"cell_type":"code","source":"from sklearn.neighbors import KNeighborsClassifier","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:40:44.192390Z","iopub.execute_input":"2022-08-03T09:40:44.193577Z","iopub.status.idle":"2022-08-03T09:40:44.199507Z","shell.execute_reply.started":"2022-08-03T09:40:44.193530Z","shell.execute_reply":"2022-08-03T09:40:44.197948Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model2 = KNeighborsClassifier(n_neighbors=4)\nmodel2.fit(x_train_lr, y_train)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:40:44.206515Z","iopub.execute_input":"2022-08-03T09:40:44.208296Z","iopub.status.idle":"2022-08-03T09:40:44.239851Z","shell.execute_reply.started":"2022-08-03T09:40:44.208191Z","shell.execute_reply":"2022-08-03T09:40:44.238184Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pred_proba_knn=model2.predict_proba(x_test_lr)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:40:44.246448Z","iopub.execute_input":"2022-08-03T09:40:44.247758Z","iopub.status.idle":"2022-08-03T09:40:47.389039Z","shell.execute_reply.started":"2022-08-03T09:40:44.247686Z","shell.execute_reply":"2022-08-03T09:40:47.387986Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# LGBClassifier!!","metadata":{}},{"cell_type":"code","source":"import lightgbm as lgb","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:40:47.390265Z","iopub.execute_input":"2022-08-03T09:40:47.390585Z","iopub.status.idle":"2022-08-03T09:40:47.396088Z","shell.execute_reply.started":"2022-08-03T09:40:47.390557Z","shell.execute_reply":"2022-08-03T09:40:47.394865Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model3 = lgb.LGBMClassifier()\nmodel3.fit(x_train, y_train)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:40:47.397918Z","iopub.execute_input":"2022-08-03T09:40:47.398487Z","iopub.status.idle":"2022-08-03T09:40:47.842584Z","shell.execute_reply.started":"2022-08-03T09:40:47.398442Z","shell.execute_reply":"2022-08-03T09:40:47.841475Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pred_proba_lgb=model3.predict_proba(x_test)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:40:47.847461Z","iopub.execute_input":"2022-08-03T09:40:47.850126Z","iopub.status.idle":"2022-08-03T09:40:47.871383Z","shell.execute_reply.started":"2022-08-03T09:40:47.850064Z","shell.execute_reply":"2022-08-03T09:40:47.870434Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"y_pred=model3.predict(test)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:40:47.872627Z","iopub.execute_input":"2022-08-03T09:40:47.873271Z","iopub.status.idle":"2022-08-03T09:40:47.919047Z","shell.execute_reply.started":"2022-08-03T09:40:47.873236Z","shell.execute_reply":"2022-08-03T09:40:47.918067Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# BGMM Classifier!","metadata":{}},{"cell_type":"code","source":"!pip install sklego","metadata":{"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-08-03T09:40:47.920386Z","iopub.execute_input":"2022-08-03T09:40:47.921089Z","iopub.status.idle":"2022-08-03T09:40:59.489214Z","shell.execute_reply.started":"2022-08-03T09:40:47.921050Z","shell.execute_reply":"2022-08-03T09:40:59.487678Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklego.mixture import BayesianGMMClassifier","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:40:59.490856Z","iopub.execute_input":"2022-08-03T09:40:59.491273Z","iopub.status.idle":"2022-08-03T09:40:59.499372Z","shell.execute_reply.started":"2022-08-03T09:40:59.491232Z","shell.execute_reply":"2022-08-03T09:40:59.497612Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"\nmodel4 = BayesianGMMClassifier(n_components=7, random_state=1, tol=1e-3, covariance_type='full', max_iter=400, n_init=4, init_params='kmeans')\n\nmodel4.fit(x_train_lr, y_train)\npred_proba_BGMM=model4.predict_proba(x_test_lr)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T10:08:06.365318Z","iopub.execute_input":"2022-08-03T10:08:06.365794Z","iopub.status.idle":"2022-08-03T10:08:36.573342Z","shell.execute_reply.started":"2022-08-03T10:08:06.365760Z","shell.execute_reply":"2022-08-03T10:08:36.571556Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from xgboost import XGBClassifier","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:52:54.514736Z","iopub.execute_input":"2022-08-03T09:52:54.516485Z","iopub.status.idle":"2022-08-03T09:52:54.657572Z","shell.execute_reply.started":"2022-08-03T09:52:54.516433Z","shell.execute_reply":"2022-08-03T09:52:54.656500Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model5= XGBClassifier()\nmodel5.fit(x_train_lr,y_train)\npred_proba_xgb=model5.predict_proba(x_test_lr)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T10:02:33.824066Z","iopub.execute_input":"2022-08-03T10:02:33.824451Z","iopub.status.idle":"2022-08-03T10:02:37.356973Z","shell.execute_reply.started":"2022-08-03T10:02:33.824421Z","shell.execute_reply":"2022-08-03T10:02:37.355990Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# AUC - RUC CURVE ","metadata":{}},{"cell_type":"code","source":"from sklearn.metrics import roc_curve","metadata":{"execution":{"iopub.status.busy":"2022-08-03T09:41:26.624448Z","iopub.execute_input":"2022-08-03T09:41:26.625427Z","iopub.status.idle":"2022-08-03T09:41:26.634840Z","shell.execute_reply.started":"2022-08-03T09:41:26.625358Z","shell.execute_reply":"2022-08-03T09:41:26.631985Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"\nfpr1, tpr1, thresh1 = roc_curve(y_test, pred_proba_lr[:,1], pos_label=1)\nfpr2, tpr2, thresh2 = roc_curve(y_test, pred_proba_knn[:,1], pos_label=1)\nfpr3, tpr3, thresh3 = roc_curve(y_test, pred_proba_lgb[:,1], pos_label=1)\nfpr4, tpr4, thresh4 = roc_curve(y_test, pred_proba_BGMM[:,1], pos_label=1)\nfpr5, tpr5, thresh5 = roc_curve(y_test, pred_proba_xgb[:,1], pos_label=1)\nrandom_probs = [0 for i in range(len(y_test))]\np_fpr, p_tpr, _ = roc_curve(y_test, random_probs, pos_label=1)\n\n\n\nfrom sklearn.metrics import roc_auc_score\n# auc scores\nauc_score1 = roc_auc_score(y_test, pred_proba_lr[:,1])\nauc_score2 = roc_auc_score(y_test, pred_proba_knn[:,1])\nauc_score3 = roc_auc_score(y_test, pred_proba_lgb[:,1])\nauc_score4 = roc_auc_score(y_test, pred_proba_BGMM[:,1])\nauc_score5 = roc_auc_score(y_test, pred_proba_xgb[:,1])\nprint(auc_score1, auc_score2,auc_score3,auc_score4,auc_score5)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T10:08:36.575984Z","iopub.execute_input":"2022-08-03T10:08:36.576757Z","iopub.status.idle":"2022-08-03T10:08:36.693885Z","shell.execute_reply.started":"2022-08-03T10:08:36.576707Z","shell.execute_reply":"2022-08-03T10:08:36.692915Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"fig_size=plt.figure(figsize=(6,5))\nplt.plot(fpr1, tpr1,linestyle='--',color='orange')\nplt.plot(fpr2, tpr2,linestyle='--',color='yellow')\nplt.plot(fpr3, tpr3,linestyle='--',color='green')\nplt.plot(fpr4, tpr4,linestyle='--',color='black')\nplt.plot(fpr5, tpr5,linestyle='--',color='pink')\n\nplt.xlabel('False Positive Rate')\nplt.ylabel('True Positive Rate')\nplt.title('ROC CURVE')\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2022-08-03T10:09:07.779758Z","iopub.execute_input":"2022-08-03T10:09:07.780181Z","iopub.status.idle":"2022-08-03T10:09:08.002804Z","shell.execute_reply.started":"2022-08-03T10:09:07.780148Z","shell.execute_reply":"2022-08-03T10:09:08.001385Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"y_pred_proba=model4.predict_proba(test)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T10:09:33.664794Z","iopub.execute_input":"2022-08-03T10:09:33.665220Z","iopub.status.idle":"2022-08-03T10:09:33.695371Z","shell.execute_reply.started":"2022-08-03T10:09:33.665187Z","shell.execute_reply":"2022-08-03T10:09:33.693619Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"result=pd.DataFrame(y_pred_proba)\nresult=result.max(axis=1)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T10:02:21.336144Z","iopub.status.idle":"2022-08-03T10:02:21.340696Z","shell.execute_reply.started":"2022-08-03T10:02:21.340175Z","shell.execute_reply":"2022-08-03T10:02:21.340229Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_test['failure']=result\n\nsubmission=df_test.loc[:,['id','failure']]","metadata":{"execution":{"iopub.status.busy":"2022-08-03T10:02:21.348661Z","iopub.status.idle":"2022-08-03T10:02:21.350233Z","shell.execute_reply.started":"2022-08-03T10:02:21.349727Z","shell.execute_reply":"2022-08-03T10:02:21.349794Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission.to_csv(\"submission.csv\", index=False)","metadata":{"execution":{"iopub.status.busy":"2022-08-03T10:02:21.358922Z","iopub.status.idle":"2022-08-03T10:02:21.360465Z","shell.execute_reply.started":"2022-08-03T10:02:21.360000Z","shell.execute_reply":"2022-08-03T10:02:21.360042Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"![images.jfif](attachment:5c32dc9d-7c7d-46d2-988f-c2051190d715.jfif)","metadata":{},"attachments":{"5c32dc9d-7c7d-46d2-988f-c2051190d715.jfif":{"image/jpeg":"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"}}},{"cell_type":"markdown","source":"-------------------------------------------------------------------------------------------------------------------------","metadata":{}}]}