{"metadata":{"kernelspec":{"display_name":"Python 3","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.11.13"},"kaggle":{"accelerator":"nvidiaTeslaT4","dataSources":[{"sourceId":20270,"databundleVersionId":1222630,"sourceType":"competition"}],"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":true},"papermill":{"default_parameters":{},"duration":148.223153,"end_time":"2025-10-10T08:51:24.043249","environment_variables":{},"exception":null,"input_path":"__notebook__.ipynb","output_path":"__notebook__.ipynb","parameters":{},"start_time":"2025-10-10T08:48:55.820096","version":"2.6.0"}},"nbformat_minor":4,"nbformat":4,"cells":[{"id":"6e8a5854","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        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":{"_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","execution":{"iopub.execute_input":"2025-10-10T08:49:00.912743Z","iopub.status.busy":"2025-10-10T08:49:00.912536Z","iopub.status.idle":"2025-10-10T08:51:20.769428Z","shell.execute_reply":"2025-10-10T08:51:20.768589Z"},"papermill":{"duration":139.861039,"end_time":"2025-10-10T08:51:20.770981","exception":false,"start_time":"2025-10-10T08:49:00.909942","status":"completed"},"tags":[]},"outputs":[],"execution_count":null},{"id":"a777f2ca","cell_type":"code","source":"import numpy as np\nimport pandas as pd\n\nfrom sklearn import datasets\nfrom sklearn import model_selection","metadata":{"execution":{"iopub.execute_input":"2025-10-10T08:51:20.775848Z","iopub.status.busy":"2025-10-10T08:51:20.775159Z","iopub.status.idle":"2025-10-10T08:51:23.225933Z","shell.execute_reply":"2025-10-10T08:51:23.225148Z"},"papermill":{"duration":2.454185,"end_time":"2025-10-10T08:51:23.227365","exception":false,"start_time":"2025-10-10T08:51:20.773180","status":"completed"},"tags":[]},"outputs":[],"execution_count":null},{"id":"c3f7a4ab","cell_type":"code","source":"def create_folds(data, num_splits):\n    data[\"kfold\"] = -1\n    num_bins = int(np.floor(1 + np.log2(len(data))))\n    print('num_bins: ',num_bins)\n\n    data.loc[:, \"bins\"] = pd.cut(data[\"target\"], bins=num_bins, labels=False)\n\n    kf = model_selection.StratifiedKFold(n_splits=num_splits, shuffle=True, random_state=42)\n    \n    for f, (t_, v_) in enumerate(kf.split(X=data, y=data.bins.values)):\n        data.loc[v_, 'kfold'] = f\n#     print(data.head())\n    data = data.drop(\"bins\", axis=1)\n\n    return data","metadata":{"execution":{"iopub.execute_input":"2025-10-10T08:51:23.231291Z","iopub.status.busy":"2025-10-10T08:51:23.230951Z","iopub.status.idle":"2025-10-10T08:51:23.235911Z","shell.execute_reply":"2025-10-10T08:51:23.235245Z"},"papermill":{"duration":0.008057,"end_time":"2025-10-10T08:51:23.237060","exception":false,"start_time":"2025-10-10T08:51:23.229003","status":"completed"},"tags":[]},"outputs":[],"execution_count":null},{"id":"f960dc7a","cell_type":"code","source":"df = pd.read_csv(\"/kaggle/input/siim-isic-melanoma-classification/train.csv\")\n\ndf_5 = create_folds(df, num_splits=5)\ndf_10 = create_folds(df, num_splits=10)","metadata":{"execution":{"iopub.execute_input":"2025-10-10T08:51:23.240374Z","iopub.status.busy":"2025-10-10T08:51:23.240167Z","iopub.status.idle":"2025-10-10T08:51:23.401773Z","shell.execute_reply":"2025-10-10T08:51:23.400907Z"},"papermill":{"duration":0.164439,"end_time":"2025-10-10T08:51:23.402839","exception":false,"start_time":"2025-10-10T08:51:23.238400","status":"completed"},"tags":[]},"outputs":[],"execution_count":null},{"id":"01ddc9f3","cell_type":"code","source":"df_5.to_csv(\"train_5folds.csv\", index=False)\ndf_10.to_csv(\"train_10folds.csv\", index=False)","metadata":{"execution":{"iopub.execute_input":"2025-10-10T08:51:23.406395Z","iopub.status.busy":"2025-10-10T08:51:23.406214Z","iopub.status.idle":"2025-10-10T08:51:23.623289Z","shell.execute_reply":"2025-10-10T08:51:23.622557Z"},"papermill":{"duration":0.220102,"end_time":"2025-10-10T08:51:23.624429","exception":false,"start_time":"2025-10-10T08:51:23.404327","status":"completed"},"tags":[]},"outputs":[],"execution_count":null}]}