{"cells":[{"metadata":{},"cell_type":"markdown","source":"<div>\n    <h1 align=\"center\"> < Optimizing results > </h1></h1>\n    <h2 align=\"center\">Rainforest Connection Species Audio Detection</h2>\n    <h3 align=\"center\">By: Somayyeh Gholami & Mehran Kazeminia</h3>\n</div>"},{"metadata":{},"cell_type":"markdown","source":"<div class=\"alert alert-success\">  \n</div>"},{"metadata":{},"cell_type":"markdown","source":"<div>\n    <h2 align=\"center\">If you find this work useful, please don't forget upvoting :)</h2>\n</div>"},{"metadata":{},"cell_type":"markdown","source":"<div class=\"alert alert-success\">  \n</div>"},{"metadata":{},"cell_type":"markdown","source":"# Import & Data Set"},{"metadata":{"trusted":true},"cell_type":"code","source":"import numpy as np\nimport pandas as pd \nimport matplotlib.pyplot as plt\n\n%matplotlib inline\n\n# _______________________________\n\nsub845 = pd.read_csv(\"../input/resnet34-more-augmentations-mixup-tta-inference/submission.csv\")\n\nsub861 = pd.read_csv(\"../input/inference-tpu-rfcx-audio-detection-fast/submission.csv\")\n\nsub877 = pd.read_csv(\"../input/resnet-wavenet-my-best-single-model-ensemble/submission.csv\")\n  ","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<div class=\"alert alert-success\">  \n</div>"},{"metadata":{},"cell_type":"markdown","source":"# Functions"},{"metadata":{"trusted":true},"cell_type":"code","source":"def generate(main, support, coeff):\n    g1 = main.copy()\n    g2 = main.copy()\n    g3 = main.copy()\n    g4 = main.copy()\n    \n    for i in main.columns[1:]:\n        lm, Is = [], []                \n        lm = main[i].tolist()\n        ls = support[i].tolist() \n        \n        res1, res2, res3, res4 = [], [], [], []          \n        for j in range(len(main)):\n            res1.append(max(lm[j] , ls[j]))\n            res2.append(min(lm[j] , ls[j]))\n            res3.append((lm[j] + ls[j]) / 2)\n            res4.append((lm[j] * coeff) + (ls[j] * (1.- coeff)))\n            \n        g1[i] = res1\n        g2[i] = res2\n        g3[i] = res3\n        g4[i] = res4\n        \n    return g1,g2,g3,g4","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"def generate1(main, support, coeff):\n    \n    g = main.copy()    \n    for i in main.columns[1:]:\n        \n        res = []\n        lm, Is = [], []        \n        lm = main[i].tolist()\n        ls = support[i].tolist()  \n        \n        for j in range(len(main)):\n            res.append((lm[j] * coeff) + (ls[j] * (1.- coeff)))            \n        g[i] = res\n        \n    return g","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"def drawing(main, support, generated, column_number):\n    \n    X  = main.iloc[:, column_number]\n    Y1 = support.iloc[:, column_number]\n    Y2 = generated.iloc[:, column_number]\n    \n    plt.style.use('seaborn-whitegrid') \n    plt.figure(figsize=(8, 8), facecolor='lightgray')\n    plt.title(f'\\nOn the X axis >>> main\\n\\nOn the Y axis >>> support\\n')           \n    plt.scatter(X, Y1, s=3)\n    plt.show() \n    \n    plt.style.use('seaborn-whitegrid') \n    plt.figure(figsize=(8, 8), facecolor='lightgray')\n    plt.title(f'\\nOn the X axis >>> main\\n\\nOn the Y axis >>> generated\\n')           \n    plt.scatter(X, Y2, s=3)\n    plt.show()     ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"def drawing1(main, support, generated, column_number):\n    \n    X  = main.iloc[:, column_number]\n    Y1 = support.iloc[:, column_number]\n    Y2 = generated.iloc[:, column_number]\n    \n    plt.style.use('seaborn-whitegrid') \n    plt.figure(figsize=(8, 8), facecolor='lightgray')\n    plt.title(f'\\nBlue | X axis >> main | Y axis >> support\\n\\nOrange | X axis >> main | Y axis >> generated\\n') \n    \n    plt.scatter(X, Y1, s=3)    \n    plt.scatter(X, Y2, s=3)\n    \n    plt.show()     ","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<div class=\"alert alert-success\">  \n</div>"},{"metadata":{},"cell_type":"markdown","source":"# Ensembling\n"},{"metadata":{"trusted":true},"cell_type":"code","source":"a1,a2,a3,a4 = generate(sub861, sub845, 0.80)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"sub861.describe()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"sub845.describe()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Result - [(Score: 0.861) , (Score: 0.845) >>> a2: (Score: 0.866)]\n\n## Drawing - [For example >> column:17]"},{"metadata":{"trusted":true},"cell_type":"code","source":"# drawing(sub861, sub845, a1, 17)\n\n# a1.describe()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"drawing(sub861, sub845, a2, 17)\n\na2.describe()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# drawing(sub861, sub845, a3, 17)\n\n# a3.describe()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# drawing(sub861, sub845, a4, 17)\n\n# a4.describe()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<div class=\"alert alert-success\">  \n</div>"},{"metadata":{"trusted":true},"cell_type":"code","source":"b1,b2,b3,b4 = generate(sub877, a2, 0.85)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"sub877.describe()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"a2.describe()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Result - [(Score: 0.877) , (Score: 0.866) >>> b4: (Score: 0.880)]\n\n## Drawing - [For example >> column:22]\n"},{"metadata":{"trusted":true},"cell_type":"code","source":"# drawing(sub877, a2, b1, 22)\n\n# b1.describe()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# drawing(sub877, a2, b2, 22)\n\n# b2.describe()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# drawing(sub877, a2, b3, 22)\n\n# b3.describe()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"drawing(sub877, a2, b4, 22)\n\nb4.describe()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<div class=\"alert alert-success\">  \n</div>"},{"metadata":{},"cell_type":"markdown","source":"# Submission\n"},{"metadata":{"trusted":true},"cell_type":"code","source":"sub = b4\nsub.to_csv(\"submission.csv\", index=False)\n\nb1.to_csv(\"submission1.csv\", index=False)\nb2.to_csv(\"submission2.csv\", index=False)\nb3.to_csv(\"submission3.csv\", index=False)\nb4.to_csv(\"submission4.csv\", index=False)\n\n!ls","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<div class=\"alert alert-success\">  \n</div>"}],"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}