{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.13","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":80687,"databundleVersionId":8672016,"sourceType":"competition"}],"dockerImageVersionId":30698,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"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","execution":{"iopub.status.busy":"2024-05-28T08:04:53.491345Z","iopub.execute_input":"2024-05-28T08:04:53.492184Z","iopub.status.idle":"2024-05-28T08:04:54.805625Z","shell.execute_reply.started":"2024-05-28T08:04:53.492138Z","shell.execute_reply":"2024-05-28T08:04:54.804617Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# 예측할 값(y): Class (0:Not fraud, 1:fraud)\n# 평가: roc-auc 평가지표\n# 제출 형식 (fraud의 확률값)\n\nimport pandas as pd\ntrain = pd.read_csv(\"/kaggle/input/big-data-analytics-certification-kr-2024-2/train.csv\")\ntest = pd.read_csv(\"/kaggle/input/big-data-analytics-certification-kr-2024-2/test.csv\")\n\ntrain.head()\n# test.head()\n","metadata":{"execution":{"iopub.status.busy":"2024-05-28T12:41:46.278346Z","iopub.execute_input":"2024-05-28T12:41:46.278741Z","iopub.status.idle":"2024-05-28T12:41:51.025979Z","shell.execute_reply.started":"2024-05-28T12:41:46.278712Z","shell.execute_reply":"2024-05-28T12:41:51.024773Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# 1) EDA\nprint(train.shape, test.shape)\n# print(train.info())\n# print('\\n')\n# print(test.info())\n# print(train.isnull().sum())\n# print(test.isnull().sum())\n# print(train.describe())\n# print(test.describe())\n# print(train['Class'].value_counts())\n\n# 2) 타켓값 빼두기, id컬럼 삭제, 테스트 id pop\ntarget=train.pop('Class')\ntrain=train.drop('id',axis=1)\ntest_id=test.pop('id')\nprint(train.shape, test.shape)","metadata":{"execution":{"iopub.status.busy":"2024-05-28T12:41:54.526989Z","iopub.execute_input":"2024-05-28T12:41:54.527394Z","iopub.status.idle":"2024-05-28T12:41:54.533024Z","shell.execute_reply.started":"2024-05-28T12:41:54.527365Z","shell.execute_reply":"2024-05-28T12:41:54.531575Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# 4) 검증데이터 분리하기\nfrom sklearn.model_selection import train_test_split\nx_tr,x_val, y_tr, y_val= train_test_split(train,target, test_size=0.2, random_state=2024, stratify=target)\nx_tr.shape, x_val.shape, y_tr.shape, y_val.shape\n\n#5) 모델학습하기 & 예측하기\nfrom sklearn.ensemble import RandomForestClassifier\nmodel=RandomForestClassifier(random_state=2024)\nmodel.fit(x_tr, y_tr)\npred=model.predict(x_val)\npred_proba=model.predict_proba(x_val)\n\nfrom sklearn.metrics import roc_auc_score, accuracy_score\nprint(roc_auc_score(y_val, pred_proba[:,1]))\nprint(accuracy_score(y_val, pred))","metadata":{"execution":{"iopub.status.busy":"2024-05-28T12:46:06.560698Z","iopub.execute_input":"2024-05-28T12:46:06.561230Z","iopub.status.idle":"2024-05-28T12:48:19.836767Z","shell.execute_reply.started":"2024-05-28T12:46:06.561197Z","shell.execute_reply":"2024-05-28T12:48:19.835629Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{"execution":{"iopub.status.busy":"2024-05-28T12:40:22.704529Z","iopub.execute_input":"2024-05-28T12:40:22.704898Z","iopub.status.idle":"2024-05-28T12:40:22.737443Z","shell.execute_reply.started":"2024-05-28T12:40:22.704869Z","shell.execute_reply":"2024-05-28T12:40:22.735954Z"},"trusted":true},"execution_count":null,"outputs":[]}]}