{"cells":[{"metadata":{},"cell_type":"markdown","source":"My simple ensemble use `csv` file from these following notebooks\n\n1. [Stratified KFold with TFRecords & GridMask](https://www.kaggle.com/ilosvigil/stratified-kfold-with-tfrecords-gridmask) which is forked from [Triple Stratified KFold with TFRecords](https://www.kaggle.com/cdeotte/triple-stratified-kfold-with-tfrecords)\n2. [Stratified KFold on Metadata (LightGBM)](https://www.kaggle.com/ilosvigil/stratified-kfold-on-metadata-lightgbm)\n3. [Analysis of Melanoma Metadata and EffNet Ensemble](https://www.kaggle.com/datafan07/analysis-of-melanoma-metadata-and-effnet-ensemble)\n4. [MinMax highest public LB=.9619](https://www.kaggle.com/ajaykumar7778/fork-of-ensemble-melanoma-ac9964?scriptVersionId=40334623)\n5. https://www.kaggle.com/mekhdigakhramanian/top-7-lb-0-9648-post-processing (removed)\n","execution_count":null},{"metadata":{},"cell_type":"markdown","source":"* With private LB result, can conclude \"ensemble of ensemble\" isn't always better option\n* `submission1.csv` and `submission2.csv` created before competition ended. All other submission file is created after competition ended.\n\n| Filename | Public LB | Private LB |\n| --- | --- | --- |\n| submission1.csv | 0.9579 | **0.9369** |\n| submission2.csv | **0.9658** | 0.9306 |\n| submission3.csv | 0.9497 | 0.9293 |\n| submission4.csv | 0.9610 | 0.9397 |","execution_count":null},{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import pandas as pd","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"df_1 = pd.read_csv('/kaggle/input/model-melanoma-2020/submission.csv')\ndf_2a = pd.read_csv('/kaggle/input/model-metadata-melanoma-2020/submission_best_mean.csv')\ndf_2b = pd.read_csv('/kaggle/input/model-metadata-melanoma-2020/submission_ensemble_mean.csv')\ndf_2c = pd.read_csv('/kaggle/input/model-metadata-melanoma-2020/submission_weighted_ensemble_mean.csv')\n\ndf_3a = pd.read_csv('/kaggle/input/melanoma-effnet-metdata/blended_effnets.csv')\ndf_3b = pd.read_csv('/kaggle/input/melanoma-effnet-metdata/ensembled.csv')\ndf_4 = pd.read_csv('/kaggle/input/minmax-melanoma-9619/submission.csv')\ndf_5 = pd.read_csv('/kaggle/input/melanoma-2020-9648/submission_9648.csv')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Ensemble 1\n\nUse submission from notebook 1 - 3","execution_count":null},{"metadata":{"trusted":true},"cell_type":"code","source":"df_submission1 = df_1.copy()\ndf_submission1['target'] = 0.41 * df_1['target'] + 0.04 * df_2c['target'] + 0.55 * df_3b['target']","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df_submission1.to_csv('submission1.csv', index=False)\ndf_submission1","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Ensemble 2\n\nUse submission from notebook 1, 3, 4 & 5","execution_count":null},{"metadata":{"trusted":true},"cell_type":"code","source":"df_submission2 = df_1.copy()\ndf_submission2['target'] = 0.075 * df_1['target'] + 0.1 * df_3b['target'] + 0.375 * df_4['target'] + 0.45 * df_5['target']","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df_submission2.to_csv('submission2.csv', index=False)\ndf_submission2","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Ensemble 3\n\nUse submission from notebook 1 & 2","execution_count":null},{"metadata":{"trusted":true},"cell_type":"code","source":"df_submission3 = df_1.copy()\ndf_submission3['target'] = 0.9 * df_1['target'] + 0.1 * df_2b['target']","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df_submission3.to_csv('submission3.csv', index=False)\ndf_submission3","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Ensemble 4\n\nUse submission from notebook 1 - 4","execution_count":null},{"metadata":{"trusted":true},"cell_type":"code","source":"df_submission4 = df_1.copy()\ndf_submission4['target'] = 0.3 * df_1['target'] + 0.1 * df_2b['target'] + 0.3 * df_3b['target'] + 0.3 * df_4['target']","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df_submission4.to_csv('submission4.csv', index=False)\ndf_submission4","execution_count":null,"outputs":[]}],"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":4,"nbformat_minor":4}