{"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","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import pandas as pd    # For data manipulation\nimport numpy as np    # For mathematical calculations\nimport matplotlib.pyplot as plt  # For data visualization and graphical plotting \nimport seaborn as sns            # For data visualization and exploratory data analysis\nfrom sklearn.preprocessing import LabelEncoder # For converting categorical data into numerical\nfrom sklearn.preprocessing import MinMaxScaler # For scaling the data\nfrom sklearn.model_selection import train_test_split # For dividing data into train and test\nimport warnings\nwarnings.filterwarnings('ignore')\nfrom sklearn.linear_model import LinearRegression\nnp.set_printoptions(threshold=np.inf)","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:28:03.694219Z","iopub.execute_input":"2022-08-06T07:28:03.694678Z","iopub.status.idle":"2022-08-06T07:28:03.701890Z","shell.execute_reply.started":"2022-08-06T07:28:03.694643Z","shell.execute_reply":"2022-08-06T07:28:03.701069Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data_train = pd.read_csv('../input/tabular-playground-series-aug-2022/train.csv')\ndata_train.head()","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:18:38.469533Z","iopub.execute_input":"2022-08-06T07:18:38.469983Z","iopub.status.idle":"2022-08-06T07:18:38.656038Z","shell.execute_reply.started":"2022-08-06T07:18:38.469948Z","shell.execute_reply":"2022-08-06T07:18:38.654679Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data_train.info() #Data Info","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:19:07.901341Z","iopub.execute_input":"2022-08-06T07:19:07.901809Z","iopub.status.idle":"2022-08-06T07:19:07.936393Z","shell.execute_reply.started":"2022-08-06T07:19:07.901775Z","shell.execute_reply":"2022-08-06T07:19:07.935156Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data_train.shape #Data Rows and Columns","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:19:21.416889Z","iopub.execute_input":"2022-08-06T07:19:21.417307Z","iopub.status.idle":"2022-08-06T07:19:21.425563Z","shell.execute_reply.started":"2022-08-06T07:19:21.417273Z","shell.execute_reply":"2022-08-06T07:19:21.424152Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data_train.describe() #describing the data","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:19:30.274503Z","iopub.execute_input":"2022-08-06T07:19:30.274987Z","iopub.status.idle":"2022-08-06T07:19:30.400932Z","shell.execute_reply.started":"2022-08-06T07:19:30.274951Z","shell.execute_reply":"2022-08-06T07:19:30.399850Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"DATA CLEANING & PRE-PROCESSING","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:19:46.650817Z","iopub.execute_input":"2022-08-06T07:19:46.651287Z","iopub.status.idle":"2022-08-06T07:19:46.659411Z","shell.execute_reply.started":"2022-08-06T07:19:46.651252Z","shell.execute_reply":"2022-08-06T07:19:46.657682Z"}}},{"cell_type":"markdown","source":"","metadata":{}},{"cell_type":"code","source":"data_train.isnull().sum() # Finding the null values","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:20:03.510132Z","iopub.execute_input":"2022-08-06T07:20:03.510620Z","iopub.status.idle":"2022-08-06T07:20:03.529342Z","shell.execute_reply.started":"2022-08-06T07:20:03.510585Z","shell.execute_reply":"2022-08-06T07:20:03.528381Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data_train['loading'] = data_train['loading'].fillna(data_train['loading'].median())    # Filing the null values with median\ndata_train['measurement_3'] = data_train['measurement_3'].fillna(data_train['measurement_3'].median()) # Filing the null values with median\ndata_train['measurement_4'] = data_train['measurement_4'].fillna(data_train['measurement_4'].median())\ndata_train['measurement_5'] = data_train['measurement_5'].fillna(data_train['measurement_5'].median())\ndata_train['measurement_6'] = data_train['measurement_6'].fillna(data_train['measurement_6'].median())\ndata_train['measurement_7'] = data_train['measurement_7'].fillna(data_train['measurement_7'].median())\ndata_train['measurement_8'] = data_train['measurement_8'].fillna(data_train['measurement_8'].median())\ndata_train['measurement_9'] = data_train['measurement_9'].fillna(data_train['measurement_9'].median())\ndata_train['measurement_10'] = data_train['measurement_10'].fillna(data_train['measurement_10'].median())\ndata_train['measurement_11'] = data_train['measurement_11'].fillna(data_train['measurement_11'].median())\ndata_train['measurement_12'] = data_train['measurement_12'].fillna(data_train['measurement_12'].median())\ndata_train['measurement_13'] = data_train['measurement_13'].fillna(data_train['measurement_13'].median())\ndata_train['measurement_14'] = data_train['measurement_14'].fillna(data_train['measurement_14'].median())\ndata_train['measurement_15'] = data_train['measurement_15'].fillna(data_train['measurement_15'].median())\ndata_train['measurement_16'] = data_train['measurement_16'].fillna(data_train['measurement_16'].median())\ndata_train['measurement_17'] = data_train['measurement_17'].fillna(data_train['measurement_17'].median())\n","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:20:19.383812Z","iopub.execute_input":"2022-08-06T07:20:19.384269Z","iopub.status.idle":"2022-08-06T07:20:19.422559Z","shell.execute_reply.started":"2022-08-06T07:20:19.384234Z","shell.execute_reply":"2022-08-06T07:20:19.421068Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data_train.isnull().sum() # Now checking if null values are present","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:20:29.661029Z","iopub.execute_input":"2022-08-06T07:20:29.661682Z","iopub.status.idle":"2022-08-06T07:20:29.681144Z","shell.execute_reply.started":"2022-08-06T07:20:29.661632Z","shell.execute_reply":"2022-08-06T07:20:29.679786Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"categorical_cols = [col for col in data_train.columns if data_train[col].dtype == 'object'] #Identifying categorical variables\ncategorical_cols","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:20:43.185962Z","iopub.execute_input":"2022-08-06T07:20:43.187659Z","iopub.status.idle":"2022-08-06T07:20:43.198316Z","shell.execute_reply.started":"2022-08-06T07:20:43.187603Z","shell.execute_reply":"2022-08-06T07:20:43.196968Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"encoder = LabelEncoder()  \ndata_train['product_code'] = encoder.fit_transform(data_train['product_code']) #By Fit transform auto encoding can be done for categorical variable product_code\nproduct_code = {index : label for index, label in enumerate(encoder.classes_)}\nproduct_code","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:20:59.586354Z","iopub.execute_input":"2022-08-06T07:20:59.586764Z","iopub.status.idle":"2022-08-06T07:20:59.604697Z","shell.execute_reply.started":"2022-08-06T07:20:59.586731Z","shell.execute_reply":"2022-08-06T07:20:59.602621Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data_train['attribute_0'] = encoder.fit_transform(data_train['attribute_0']) #By Fit transform auto encoding can be done for categorical variable attribute_0\nattribute_0 = {index : label for index, label in enumerate(encoder.classes_)}\nattribute_0","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:21:06.868701Z","iopub.execute_input":"2022-08-06T07:21:06.869098Z","iopub.status.idle":"2022-08-06T07:21:06.885456Z","shell.execute_reply.started":"2022-08-06T07:21:06.869057Z","shell.execute_reply":"2022-08-06T07:21:06.884495Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data_train['attribute_1'] = encoder.fit_transform(data_train['attribute_1']) #By Fit transform auto encoding can be done for categorical variable attribute_1\nattribute_1 = {index : label for index, label in enumerate(encoder.classes_)}\nattribute_1","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:21:18.621561Z","iopub.execute_input":"2022-08-06T07:21:18.622070Z","iopub.status.idle":"2022-08-06T07:21:18.641086Z","shell.execute_reply.started":"2022-08-06T07:21:18.622031Z","shell.execute_reply":"2022-08-06T07:21:18.640071Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"EDA","metadata":{}},{"cell_type":"code","source":"sns.pairplot(data_train)","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:21:41.993562Z","iopub.execute_input":"2022-08-06T07:21:41.993957Z","iopub.status.idle":"2022-08-06T07:25:24.363312Z","shell.execute_reply.started":"2022-08-06T07:21:41.993924Z","shell.execute_reply":"2022-08-06T07:25:24.360590Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#correlation matrix\ncorrmat = data_train.corr()\nf, ax = plt.subplots(figsize=(12, 9))\nsns.heatmap(corrmat, vmax=.8, square=True);","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:25:34.517434Z","iopub.execute_input":"2022-08-06T07:25:34.518867Z","iopub.status.idle":"2022-08-06T07:25:35.384074Z","shell.execute_reply.started":"2022-08-06T07:25:34.518810Z","shell.execute_reply":"2022-08-06T07:25:35.382514Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"SCALING OF DATA","metadata":{}},{"cell_type":"code","source":"x = data_train.drop('failure', axis=1)\ny = data_train['failure']","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:25:56.654942Z","iopub.execute_input":"2022-08-06T07:25:56.655368Z","iopub.status.idle":"2022-08-06T07:25:56.664807Z","shell.execute_reply.started":"2022-08-06T07:25:56.655334Z","shell.execute_reply":"2022-08-06T07:25:56.663709Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"scaler = MinMaxScaler(copy=True, feature_range=(0, 1))\nX = scaler.fit_transform(x) #Scaling the data using scaler\n\n#showing data\nprint('x \\n' , X[:10])\nprint('y \\n' , y[:10])","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:26:03.347523Z","iopub.execute_input":"2022-08-06T07:26:03.347914Z","iopub.status.idle":"2022-08-06T07:26:03.375466Z","shell.execute_reply.started":"2022-08-06T07:26:03.347871Z","shell.execute_reply":"2022-08-06T07:26:03.374021Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"DIVIDING DATA INTO TRAIN TEST SPLIT","metadata":{}},{"cell_type":"code","source":"x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=20,random_state=0)","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:26:26.400168Z","iopub.execute_input":"2022-08-06T07:26:26.400620Z","iopub.status.idle":"2022-08-06T07:26:26.416933Z","shell.execute_reply.started":"2022-08-06T07:26:26.400587Z","shell.execute_reply":"2022-08-06T07:26:26.415677Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(x_train.shape)\nprint(y_train.shape)\nprint(x_test.shape)\nprint(y_test.shape)","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:26:32.555330Z","iopub.execute_input":"2022-08-06T07:26:32.555815Z","iopub.status.idle":"2022-08-06T07:26:32.563037Z","shell.execute_reply.started":"2022-08-06T07:26:32.555768Z","shell.execute_reply":"2022-08-06T07:26:32.561873Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data_train.info()","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:26:39.277038Z","iopub.execute_input":"2022-08-06T07:26:39.277529Z","iopub.status.idle":"2022-08-06T07:26:39.297950Z","shell.execute_reply.started":"2022-08-06T07:26:39.277494Z","shell.execute_reply":"2022-08-06T07:26:39.296597Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"LINEAR REGRESSION","metadata":{}},{"cell_type":"code","source":"model = LinearRegression()\nmodel.fit(x_train, y_train)\nprint(\"Training\")\nprint(model.score(x_train,y_train))\nprint(\"Testing\")\nprint(model.score(x_test,y_test))","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:28:10.707196Z","iopub.execute_input":"2022-08-06T07:28:10.707645Z","iopub.status.idle":"2022-08-06T07:28:10.792480Z","shell.execute_reply.started":"2022-08-06T07:28:10.707602Z","shell.execute_reply":"2022-08-06T07:28:10.791161Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklearn.metrics import mean_squared_error\npredicted = model.predict(x_test)\nprint(\"RMSE\")\nprint(np.sqrt(mean_squared_error(predicted, y_test)))","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:28:19.985344Z","iopub.execute_input":"2022-08-06T07:28:19.985812Z","iopub.status.idle":"2022-08-06T07:28:19.995706Z","shell.execute_reply.started":"2022-08-06T07:28:19.985778Z","shell.execute_reply":"2022-08-06T07:28:19.994870Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#Predicting on completely new data\nsubmission = pd.read_csv('../input/tabular-playground-series-aug-2022/test.csv')","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:32:12.342420Z","iopub.execute_input":"2022-08-06T07:32:12.342872Z","iopub.status.idle":"2022-08-06T07:32:12.448209Z","shell.execute_reply.started":"2022-08-06T07:32:12.342830Z","shell.execute_reply":"2022-08-06T07:32:12.447214Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission.head()","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:32:18.716947Z","iopub.execute_input":"2022-08-06T07:32:18.717323Z","iopub.status.idle":"2022-08-06T07:32:18.747980Z","shell.execute_reply.started":"2022-08-06T07:32:18.717292Z","shell.execute_reply":"2022-08-06T07:32:18.746996Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission['product_code'] = encoder.fit_transform(submission['product_code']) #By Fit transform auto encoding can be done for categorical variable product_code\nproduct_code = {index : label for index, label in enumerate(encoder.classes_)}\nproduct_code","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:32:30.709690Z","iopub.execute_input":"2022-08-06T07:32:30.710185Z","iopub.status.idle":"2022-08-06T07:32:30.728325Z","shell.execute_reply.started":"2022-08-06T07:32:30.710146Z","shell.execute_reply":"2022-08-06T07:32:30.726754Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission['attribute_0'] = encoder.fit_transform(submission['attribute_0']) #By Fit transform auto encoding can be done for categorical variable product_code\nattribute_0 = {index : label for index, label in enumerate(encoder.classes_)}\nattribute_0","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:32:36.987412Z","iopub.execute_input":"2022-08-06T07:32:36.987844Z","iopub.status.idle":"2022-08-06T07:32:37.006063Z","shell.execute_reply.started":"2022-08-06T07:32:36.987808Z","shell.execute_reply":"2022-08-06T07:32:37.003688Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission['attribute_1'] = encoder.fit_transform(submission['attribute_1']) #By Fit transform auto encoding can be done for categorical variable product_code\nattribute_1 = {index : label for index, label in enumerate(encoder.classes_)}\nattribute_1","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:32:43.346867Z","iopub.execute_input":"2022-08-06T07:32:43.347668Z","iopub.status.idle":"2022-08-06T07:32:43.360850Z","shell.execute_reply.started":"2022-08-06T07:32:43.347613Z","shell.execute_reply":"2022-08-06T07:32:43.360004Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission.head()","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:33:31.429922Z","iopub.execute_input":"2022-08-06T07:33:31.430407Z","iopub.status.idle":"2022-08-06T07:33:31.465639Z","shell.execute_reply.started":"2022-08-06T07:33:31.430370Z","shell.execute_reply":"2022-08-06T07:33:31.464633Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission.isnull().sum()","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:33:39.430503Z","iopub.execute_input":"2022-08-06T07:33:39.431002Z","iopub.status.idle":"2022-08-06T07:33:39.443845Z","shell.execute_reply.started":"2022-08-06T07:33:39.430963Z","shell.execute_reply":"2022-08-06T07:33:39.442378Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission['loading'] = submission['loading'].fillna(submission['loading'].median())    # Filing the null values with median\nsubmission['measurement_3'] = submission['measurement_3'].fillna(submission['measurement_3'].median()) # Filing the null values with median\nsubmission['measurement_4'] = submission['measurement_4'].fillna(submission['measurement_4'].median())\nsubmission['measurement_5'] = submission['measurement_5'].fillna(submission['measurement_5'].median())\nsubmission['measurement_6'] = submission['measurement_6'].fillna(submission['measurement_6'].median())\nsubmission['measurement_7'] = submission['measurement_7'].fillna(submission['measurement_7'].median())\nsubmission['measurement_8'] = submission['measurement_8'].fillna(submission['measurement_8'].median())\nsubmission['measurement_9'] = submission['measurement_9'].fillna(submission['measurement_9'].median())\nsubmission['measurement_10'] = submission['measurement_10'].fillna(submission['measurement_10'].median())\nsubmission['measurement_11'] = submission['measurement_11'].fillna(submission['measurement_11'].median())\nsubmission['measurement_12'] = submission['measurement_12'].fillna(submission['measurement_12'].median())\nsubmission['measurement_13'] = submission['measurement_13'].fillna(submission['measurement_13'].median())\nsubmission['measurement_14'] = submission['measurement_14'].fillna(submission['measurement_14'].median())\nsubmission['measurement_15'] = submission['measurement_15'].fillna(submission['measurement_15'].median())\nsubmission['measurement_16'] = submission['measurement_16'].fillna(submission['measurement_16'].median())\nsubmission['measurement_17'] = submission['measurement_17'].fillna(submission['measurement_17'].median())\n","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:33:51.433295Z","iopub.execute_input":"2022-08-06T07:33:51.433757Z","iopub.status.idle":"2022-08-06T07:33:51.468775Z","shell.execute_reply.started":"2022-08-06T07:33:51.433723Z","shell.execute_reply":"2022-08-06T07:33:51.467814Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission.isnull().sum()","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:33:58.940253Z","iopub.execute_input":"2022-08-06T07:33:58.940743Z","iopub.status.idle":"2022-08-06T07:33:58.954372Z","shell.execute_reply.started":"2022-08-06T07:33:58.940705Z","shell.execute_reply":"2022-08-06T07:33:58.953401Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model.predict(submission)\nprint(*model.predict(submission), sep = '\\n')","metadata":{"execution":{"iopub.status.busy":"2022-08-06T07:34:22.416794Z","iopub.execute_input":"2022-08-06T07:34:22.417219Z","iopub.status.idle":"2022-08-06T07:34:22.661522Z","shell.execute_reply.started":"2022-08-06T07:34:22.417183Z","shell.execute_reply":"2022-08-06T07:34:22.660100Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}