{"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":"import numpy as np \nimport pandas as pd \nfrom sklearn.model_selection import train_test_split\nfrom sklearn.ensemble import RandomForestRegressor\nfrom sklearn.experimental import enable_iterative_imputer\nfrom sklearn.impute import KNNImputer\nfrom sklearn.impute import IterativeImputer\nimport lightgbm as lgb","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2022-08-12T05:16:03.595354Z","iopub.execute_input":"2022-08-12T05:16:03.595805Z","iopub.status.idle":"2022-08-12T05:16:03.602970Z","shell.execute_reply.started":"2022-08-12T05:16:03.595772Z","shell.execute_reply":"2022-08-12T05:16:03.601527Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#read csvs\ntrain_df = pd.read_csv(\"/kaggle/input/tabular-playground-series-aug-2022/train.csv\")\ntest_df = pd.read_csv(\"/kaggle/input/tabular-playground-series-aug-2022/test.csv\")\ndisplay(train_df)\ndisplay(test_df)","metadata":{"execution":{"iopub.status.busy":"2022-08-12T05:16:03.703888Z","iopub.execute_input":"2022-08-12T05:16:03.704398Z","iopub.status.idle":"2022-08-12T05:16:03.956552Z","shell.execute_reply.started":"2022-08-12T05:16:03.704359Z","shell.execute_reply":"2022-08-12T05:16:03.955345Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!pip install feature_engine\nfrom feature_engine.encoding import OrdinalEncoder","metadata":{"execution":{"iopub.status.busy":"2022-08-12T05:16:03.958822Z","iopub.execute_input":"2022-08-12T05:16:03.959977Z","iopub.status.idle":"2022-08-12T05:16:15.404568Z","shell.execute_reply.started":"2022-08-12T05:16:03.959933Z","shell.execute_reply":"2022-08-12T05:16:15.402913Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_test_df = pd.concat([train_df,test_df],axis=0).drop(\"id\",axis=1)\ndisplay(train_test_df)","metadata":{"execution":{"iopub.status.busy":"2022-08-12T05:16:15.406315Z","iopub.execute_input":"2022-08-12T05:16:15.406823Z","iopub.status.idle":"2022-08-12T05:16:15.507232Z","shell.execute_reply.started":"2022-08-12T05:16:15.406779Z","shell.execute_reply":"2022-08-12T05:16:15.505718Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def fillna(df):\n    df[\"m3_missing\"] = df[\"measurement_3\"].isnull().astype(np.int8)\n    df[\"m5_missing\"] = df[\"measurement_5\"].isnull().astype(np.int8)\n    df[\"area\"] = df[\"attribute_2\"]*df[\"attribute_3\"]\n    ordinal_enc = OrdinalEncoder(encoding_method=\"arbitrary\",variables=[\"product_code\",\"attribute_0\",\"attribute_1\"])\n    ordinal_enc.fit(df)\n    df = ordinal_enc.transform(df)\n    df2 = pd.DataFrame(KNNImputer(n_neighbors=2).fit_transform(df))\n    df2.columns = df.columns\n    return df2\n\ntrain_test_df = (fillna(train_test_df))","metadata":{"execution":{"iopub.status.busy":"2022-08-12T05:16:15.511733Z","iopub.execute_input":"2022-08-12T05:16:15.512122Z","iopub.status.idle":"2022-08-12T05:18:41.895997Z","shell.execute_reply.started":"2022-08-12T05:16:15.512091Z","shell.execute_reply":"2022-08-12T05:18:41.894521Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_df = train_test_df[0:26570]\ntest_df = train_test_df[26570:].drop(\"failure\",axis=1)\ndisplay(train_df)\ndisplay(test_df)","metadata":{"execution":{"iopub.status.busy":"2022-08-12T05:18:41.897644Z","iopub.execute_input":"2022-08-12T05:18:41.897990Z","iopub.status.idle":"2022-08-12T05:18:41.983343Z","shell.execute_reply.started":"2022-08-12T05:18:41.897959Z","shell.execute_reply":"2022-08-12T05:18:41.982082Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# train_df[\"m3_missing\"] = train_df[\"measurement_3\"].isnull().astype(np.int8)\n# train_df[\"m5_missing\"] = train_df[\"measurement_5\"].isnull().astype(np.int8)\n# train_df[\"area\"] = train_df[\"attribute_2\"]*train_df[\"attribute_3\"]\n# ordinal_enc = OrdinalEncoder(encoding_method=\"arbitrary\",variables=[\"product_code\",\"attribute_0\",\"attribute_1\"])\n# if not train_df.product_code.dtype==\"int64\":\n#     ordinal_enc.fit(train_df)\n#     train_df = ordinal_enc.transform(train_df)\n\n# #train_df = IterativeImputer(RandomForestRegressor()).fit_transform(train_df)\n# train_df2 = pd.DataFrame(KNNImputer(n_neighbors=2).fit_transform(train_df))\n# train_df2.columns=train_df.columns\n# train_df = train_df2\n\n# test_df[\"m3_missing\"] = test_df[\"measurement_3\"].isnull().astype(np.int8)\n# test_df[\"m5_missing\"] = test_df[\"measurement_5\"].isnull().astype(np.int8)\n# test_df[\"area\"] = test_df[\"attribute_2\"]*test_df[\"attribute_3\"]\n# if not test_df.product_code.dtype==\"int64\":\n#     ordinal_enc.fit(test_df)\n#     test_df = ordinal_enc.transform(test_df)\n# test_df2 = pd.DataFrame(KNNImputer(n_neighbors=2).fit_transform(test_df))\n# test_df2.columns=test_df.columns\n# test_df = test_df2","metadata":{"execution":{"iopub.status.busy":"2022-08-12T05:18:41.985533Z","iopub.execute_input":"2022-08-12T05:18:41.986051Z","iopub.status.idle":"2022-08-12T05:18:41.992792Z","shell.execute_reply.started":"2022-08-12T05:18:41.985984Z","shell.execute_reply":"2022-08-12T05:18:41.991603Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(train_df.isnull().sum())\nprint(test_df.isnull().sum())","metadata":{"execution":{"iopub.status.busy":"2022-08-12T05:18:41.994152Z","iopub.execute_input":"2022-08-12T05:18:41.996331Z","iopub.status.idle":"2022-08-12T05:18:42.018608Z","shell.execute_reply.started":"2022-08-12T05:18:41.996288Z","shell.execute_reply":"2022-08-12T05:18:42.017215Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#feature = [\"loading\",\"measurement_17\",\"area\"]\n#train = (train_df.loc[:,feature+[\"failure\"]])\n#print(train.failure.value_counts())\ntrain=train_df\ndisplay(train)","metadata":{"execution":{"iopub.status.busy":"2022-08-12T05:18:42.019867Z","iopub.execute_input":"2022-08-12T05:18:42.021190Z","iopub.status.idle":"2022-08-12T05:18:42.064574Z","shell.execute_reply.started":"2022-08-12T05:18:42.021128Z","shell.execute_reply":"2022-08-12T05:18:42.063626Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#training\ntrain_df,val_df = train_test_split(train,test_size=0.2)\n\ntrain_y = train_df[\"failure\"]\ntrain_x = train_df.drop(\"failure\",axis=1)\n\nval_y = val_df[\"failure\"]\nval_x = val_df.drop(\"failure\",axis=1)\n\ntrains = lgb.Dataset(train_x,train_y)\nvalids = lgb.Dataset(val_x,val_y)\n\nparams = {\"objective\":\"binary\",\"metrics\":\"auc\"}\n\nmodel = lgb.train(params,trains,valid_sets=valids,num_boost_round=1000,early_stopping_rounds=100)","metadata":{"execution":{"iopub.status.busy":"2022-08-12T05:18:42.065742Z","iopub.execute_input":"2022-08-12T05:18:42.066817Z","iopub.status.idle":"2022-08-12T05:18:42.727905Z","shell.execute_reply.started":"2022-08-12T05:18:42.066776Z","shell.execute_reply":"2022-08-12T05:18:42.726941Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"predict = model.predict(train_x)\nprint(type(train_x))\nprint(type(test_df))\n#test = test.fillna(test.mean())\npredict = model.predict(test_df)","metadata":{"execution":{"iopub.status.busy":"2022-08-12T05:18:42.730974Z","iopub.execute_input":"2022-08-12T05:18:42.731675Z","iopub.status.idle":"2022-08-12T05:18:42.772346Z","shell.execute_reply.started":"2022-08-12T05:18:42.731638Z","shell.execute_reply":"2022-08-12T05:18:42.771363Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#make submission csv\nsubmission = pd.read_csv(\"/kaggle/input/tabular-playground-series-aug-2022/sample_submission.csv\")\nsubmission.loc[:,\"failure\"] = predict\ndisplay(submission)","metadata":{"execution":{"iopub.status.busy":"2022-08-12T05:18:42.774001Z","iopub.execute_input":"2022-08-12T05:18:42.774711Z","iopub.status.idle":"2022-08-12T05:18:42.806377Z","shell.execute_reply.started":"2022-08-12T05:18:42.774674Z","shell.execute_reply":"2022-08-12T05:18:42.804786Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submission.to_csv(\"submission.csv\",index=False)","metadata":{"execution":{"iopub.status.busy":"2022-08-12T05:18:42.808254Z","iopub.execute_input":"2022-08-12T05:18:42.809194Z","iopub.status.idle":"2022-08-12T05:18:42.873232Z","shell.execute_reply.started":"2022-08-12T05:18:42.809154Z","shell.execute_reply":"2022-08-12T05:18:42.871824Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}