{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import pandas as pd\nimport matplotlib.pyplot as plt\nimport matplotlib.gridspec as gridspec\n\n\nimport seaborn as sns\nimport plotly.express as px\nimport plotly.graph_objects as go\nfrom plotly.subplots import make_subplots\nimport plotly\nimport plotly.figure_factory as ff\n\ncols = px.colors.qualitative.Plotly","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"import cv2, pandas as pd, matplotlib.pyplot as plt\nimport matplotlib.gridspec as gridspec\n\ntrain = pd.read_csv('../input/siim-isic-melanoma-classification/train.csv')\nprint('Examples WITH Melanoma')\nimgs = train.loc[train.target==1].sample(10).image_name.values\nplt.figure(figsize=(20,8))\nfor i,k in enumerate(imgs):\n    img = cv2.imread('../input/jpeg-melanoma-128x128/train/%s.jpg'%k)\n    img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)\n    plt.subplot(2,5,i+1); plt.axis('off')\n    plt.imshow(img)\nplt.subplots_adjust(wspace=0, hspace=0)\nplt.show()\nprint('Examples WITHOUT Melanoma')\nimgs = train.loc[train.target==0].sample(10).image_name.values\nplt.figure(figsize=(20,8))\nfor i,k in enumerate(imgs):\n    img = cv2.imread('../input/jpeg-melanoma-128x128/train/%s.jpg'%k)\n    img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)\n    plt.subplot(2,5,i+1); plt.axis('off')\n    plt.imshow(img)\nplt.subplots_adjust(wspace=0, hspace=0)\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"cols","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"B = []\nfor i in range(0,8):\n    B.append(pd.read_csv('../input/siimisc/20epochs_base/20epochs_base/history-B' + str(i) + '-20.csv'))\n    \nS = []\nfor i in range(0,8):\n    S.append(pd.read_csv('../input/siimisc/20epochs_base_sprinkles/20epochs_base_sprinkles/history-B' + str(i) + '-20-sprinkles.csv'))\n\nsize = [224, 240, 260, 300, 380, 456, 528, 600]\n\nlr = dict()\n\nlr['10'] = []\nfor i in range(0, 8):\n    if i == 1:\n        lr['10'].append(pd.read_csv('../input/siimisc/lr_0.0001/B'+str(i)+'/history-B'+str(i)+'-'+str(size[i])+'-2.csv'))\n    else:\n        lr['10'].append(pd.read_csv('../input/siimisc/lr_0.0001/B'+str(i)+'/history-B'+str(i)+'-'+str(size[i])+'.csv'))\n\nlr['16'] = []\nlr['16'].append(pd.read_csv('../input/siimisc/lr_0.00016/B0/history-B0-224.csv'))\nlr['16'].append(pd.read_csv('../input/siimisc/lr_16/history-B1-240.csv'))\nfor i in range(2, 8):\n    lr['16'].append(pd.read_csv('../input/siimisc/lr_0.00016/B'+str(i)+'/history-B'+str(i)+'-'+str(size[i])+'.csv'))\n\nlr['32'] = []\nfor i in range(0, 8):\n    lr['32'].append(pd.read_csv('../input/siimisc/lr_0.00032/lr_0.00032/B'+str(i)+'/history-B'+str(i)+'-'+str(size[i])+'.csv'))\n\nlr['48'] = []\nfor i in range(0,8):\n    lr['48'].append(pd.read_csv('../input/siimisc/lr_0.00048/lr_0.00048/history-B'+str(i)+'-'+str(size[i])+'.csv'))\n\nname = ['10', '16', '32', '48']","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"S[0]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x = [i for i in range(1,21)]\n\nfig = go.Figure()\n\nfor i in range(0,8):\n    fig.add_trace(go.Scatter(x=x, y=B[i]['val_auc'],\n                        mode='lines',\n                        name='B'+str(i),\n                        line=dict(color=cols[i])))\n    \nfig.update_layout(\n    xaxis = dict(\n        tickmode = 'linear',\n        tick0 = 1,\n        dtick = 1\n    ),\n    title_text=\"Validation Accuracy\"\n)\n\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x = [i for i in range(1,21)]\n\nfig = go.Figure()\n\nfor i in range(0,8):\n    fig.add_trace(go.Scatter(x=x, y=S[i]['val_auc'],\n                        mode='lines',\n                        name='B'+str(i),\n                        line=dict(color=cols[i])))\n    \nfig.update_layout(\n    xaxis = dict(\n        tickmode = 'linear',\n        tick0 = 1,\n        dtick = 1\n    ),\n    title_text=\"Validation Accuracy with Sprinkles\"\n)\n\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x = [i for i in range(1,21)]\n\nfig = go.Figure()\n\nfor i in range(0,8):\n    fig.add_trace(go.Scatter(x=x, y=B[i]['val_loss'],\n                        mode='lines+markers',\n                        name='B'+str(i),\n                        line=dict(color=cols[i])))\n    \nfig.update_layout(\n    xaxis = dict(\n        tickmode = 'linear',\n        tick0 = 1,\n        dtick = 1\n    ),\n    title_text=\"Validation Loss\"\n)\n\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x = [i for i in range(1,21)]\n\nfig = go.Figure()\n\nfor i in range(0,8):\n    fig.add_trace(go.Scatter(x=x, y=S[i]['val_loss'],\n                        mode='lines+markers',\n                        name='B'+str(i),\n                        line=dict(color=cols[i])))\n    \nfig.update_layout(\n    xaxis = dict(\n        tickmode = 'linear',\n        tick0 = 1,\n        dtick = 1\n    ),\n    title_text=\"Validation Loss with Sprinkles\"\n)\n\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x = [i for i in range(1,21)]\n\nfig = go.Figure()\n\nfor i in range(0,8):\n    fig.add_trace(go.Scatter(x=x, y=B[i]['auc'],\n                        mode='lines',\n                        name='Auc B'+str(i),\n                        line=dict(color=cols[i])))\n\n    \nfig.update_layout(\n    xaxis = dict(\n        tickmode = 'linear',\n        tick0 = 1,\n        dtick = 1\n    ),\n    title_text=\"Training Accuracy\"\n)\n\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x = [i for i in range(1,21)]\n\nfig = go.Figure()\n\nfor i in range(0,8):\n    fig.add_trace(go.Scatter(x=x, y=S[i]['auc'],\n                        mode='lines',\n                        name='Auc B'+str(i),\n                        line=dict(color=cols[i])))\n\n    \nfig.update_layout(\n    xaxis = dict(\n        tickmode = 'linear',\n        tick0 = 1,\n        dtick = 1\n    ),\n    title_text=\"Training Accuracy with Sprinkles\"\n)\n\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x = [i for i in range(1,21)]\n\nfig = go.Figure()\n\nfor i in range(0,8):\n    fig.add_trace(go.Scatter(x=x, y=B[i]['loss'],\n                        mode='lines+markers',\n                        name='Loss B'+str(i),\n                        line=dict(color=cols[i])))\n    \nfig.update_layout(\n    xaxis = dict(\n        tickmode = 'linear',\n        tick0 = 1,\n        dtick = 1\n    ),\n    title_text=\"Training Loss\"\n)\n\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x = [i for i in range(1,21)]\n\nfig = go.Figure()\n\nfor i in range(0,8):\n    fig.add_trace(go.Scatter(x=x, y=S[i]['loss'],\n                        mode='lines+markers',\n                        name='Loss B'+str(i),\n                        line=dict(color=cols[i])))\n    \nfig.update_layout(\n    xaxis = dict(\n        tickmode = 'linear',\n        tick0 = 1,\n        dtick = 1\n    ),\n    title_text=\"Training Loss with Sprinkles\"\n)\n\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"fig = go.Figure(data=[go.Table(\n    header=dict(values=['Model', 'Max Val Auc', 'Min Val Auc', 'Max Auc', 'Min Auc', 'Max Val Auc Sprinkles', \n                        'Min Val Auc Sprinkles', 'Max Auc Sprinkles', 'Min Auc Sprinkles'],\n                line_color='darkslategray',\n                fill_color='lightskyblue',\n                align='left'),\n    cells=dict(values=[[i for i in range(0,8)], # 1st column\n                       [max(B[i]['val_auc']) for i in range(0,8)],\n                       [min(B[i]['val_auc']) for i in range(0,8)],\n                       [max(B[i]['auc']) for i in range(0,8)],\n                       [min(B[i]['auc']) for i in range(0,8)],\n                       [max(S[i]['val_auc']) for i in range(0,8)],\n                       [min(S[i]['val_auc']) for i in range(0,8)],\n                       [max(S[i]['auc']) for i in range(0,8)],\n                       [min(S[i]['auc']) for i in range(0,8)]], # 2nd column\n               line_color='darkslategray',\n               fill_color='lightcyan',\n               align='left'))\n])\n\nfig.update_layout(width=900, height=500)\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x = [i for i in range(1,21)]\ntitle = ['auc', 'val_auc', 'loss', 'val_loss']\nt, r = 1, 1\n\nfig = make_subplots(rows=2, cols=4, subplot_titles=['B'+str(i) for i in range(0,8)])\n\nfor i in range(0,8):\n    temp = 0\n    if t==5:\n        t, r= 1, 2 \n    for j in title:\n        if i==0:\n            fig.add_trace(go.Scatter(x=x, y=B[i][j],\n                                    mode='lines+markers',\n                                    name=j,\n                                    line=dict(color=cols[temp])), row=r, col=t)\n        fig.add_trace(go.Scatter(x=x, y=B[i][j],\n                                    mode='lines+markers',\n                                    name=j,\n                                    showlegend=False,\n                                    line=dict(color=cols[temp])), row=r, col=t)\n        temp += 1\n    t += 1      \n        \nfig.update_layout( title_text=\"Data for All Efficient\")\n\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x = [i for i in range(1,21)]\ntitle = ['auc', 'val_auc', 'loss', 'val_loss']\nt, r = 1, 1\n\nfig = make_subplots(rows=2, cols=4, subplot_titles=['B'+str(i) for i in range(0,8)])\n\nfor i in range(0,8):\n    temp = 0\n    if t==5:\n        t, r= 1, 2 \n    for j in title:\n        if i==0:\n            fig.add_trace(go.Scatter(x=x, y=S[i][j],\n                                    mode='lines+markers',\n                                    name=j,\n                                    line=dict(color=cols[temp])), row=r, col=t)\n        fig.add_trace(go.Scatter(x=x, y=S[i][j],\n                                    mode='lines+markers',\n                                    name=j,\n                                    showlegend=False,\n                                    line=dict(color=cols[temp])), row=r, col=t)\n        temp += 1\n    t += 1      \n        \nfig.update_layout( title_text=\"Data for All Efficient with Sprinkles\")\n\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x = [i for i in range(1,21)]\n\nt, r = 1, 1\n\nfig = make_subplots(rows=2, cols=4, subplot_titles=['B'+str(i) for i in range(0,8)])\n\nfor i in range(0,8):\n    temp = 0\n    if t==5:\n        t, r= 1, 2 \n    if i==0:\n        fig.add_trace(go.Scatter(x=x, y=S[i]['val_auc'],\n                                mode='lines+markers',\n                                name='S val',\n                                line=dict(color=cols[0])), row=r, col=t)\n        fig.add_trace(go.Scatter(x=x, y=B[i]['val_auc'],\n                                mode='lines+markers',\n                                name='B val',\n                                line=dict(color=cols[1])), row=r, col=t)\n    fig.add_trace(go.Scatter(x=x, y=S[i]['val_auc'],\n                                mode='lines+markers',\n                                name='val',\n                                showlegend=False,\n                                line=dict(color=cols[temp])), row=r, col=t)\n    temp += 1\n    fig.add_trace(go.Scatter(x=x, y=B[i]['val_auc'],\n                                mode='lines+markers',\n                                name='val',\n                                showlegend=False,\n                                line=dict(color=cols[temp])), row=r, col=t)\n    \n    t += 1      \n        \nfig.update_layout( title_text=\"val_auc Comparision\")\n\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x = [i for i in range(1,21)]\n\nfig = go.Figure()\n\nfig.add_trace(go.Scatter(x=x, y=B[0]['lr'],\n                    mode='lines+markers',\n                    name='LR B',\n                    line=dict(color=cols[0])))\n    \nfig.update_layout(\n    xaxis = dict(\n        tickmode = 'linear',\n        tick0 = 1,\n        dtick = 1\n    ),\n    title_text=\"Learning Rate\"\n)\n\n\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x = [i for i in range(1,21)]\n\nt, r = 1, 1\n\nfig = make_subplots(rows=3, cols=3, subplot_titles=['B'+str(i) for i in range(0,8)])\n\ncount = 0\n\nfor i in range(0,8):\n    temp = 0\n    if t==4:\n        if count == 0:\n            t, r = 1, 2 \n            count = 1\n        else:\n            t, r = 1, 3\n    if i==0:\n        for j in name:\n            temp += 1\n            fig.add_trace(go.Scatter(x=x, y=lr[j][i]['val_auc'],\n                                    mode='lines+markers',\n                                    name= j+' val',\n                                    line=dict(color=cols[temp])), row=r, col=t)\n    else:\n        for j in name:\n            temp += 1\n            fig.add_trace(go.Scatter(x=x, y=lr[j][i]['val_auc'],\n                                    mode='lines+markers',\n                                    name= j+' val',\n                                    showlegend=False,\n                                    line=dict(color=cols[temp])), row=r, col=t)\n    \n    t += 1      \n        \n\nfig.update_layout(height=900, width=1200, title_text=\"val_auc Comparision\")\n\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x = [i for i in range(1,21)]\n\nt, r = 1, 1\n\nfig = make_subplots(rows=3, cols=3, subplot_titles=['B'+str(i) for i in range(0,8)], shared_yaxes=True)\n\ncount = 0\n\nfor i in range(0,8):\n    temp = 0\n    if t==4:\n        if count == 0:\n            t, r = 1, 2 \n            count = 1\n        else:\n            t, r = 1, 3\n    if i==0:\n        for j in name:\n            temp += 1\n            fig.add_trace(go.Scatter(x=x, y=lr[\n                j][i]['lr'],\n                                    mode='lines+markers',\n                                    name= j+' val',\n                                    line=dict(color=cols[temp])), row=r, col=t)\n    else:\n        for j in name:\n            temp += 1\n            fig.add_trace(go.Scatter(x=x, y=lr[j][i][\n                'lr'],\n                                    mode='lines+markers',\n                                    name= j+' val',\n                                    showlegend=False,\n                                    line=dict(color=cols[temp])), row=r, col=t)\n    fig.update_yaxes(showexponent = 'all', exponentformat = 'e')\n    fig.update_xaxes(title_font=dict(size=18, family='Courier', color='crimson'))\n\n    \n    t += 1      \n        \n\nfig.update_layout(height=900, width=1200, title_text=\"Learning Rate Comparision\")\n\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"fig = go.Figure(data=[go.Table(\n    header=dict(values=['Model', 'Max 10', 'Max 16', 'Max 32', 'Max 48'],\n                line_color='darkslategray',\n                fill_color='lightskyblue',\n                align='left'),\n    cells=dict(values=[[i for i in range(0,8)], # 1st column\n                       [max(lr['10'][i]['val_auc']) for i in range(0,8)],\n                       [max(lr['16'][i]['val_auc']) for i in range(0,8)],\n                       [max(lr['32'][i]['val_auc']) for i in range(0,8)],\n                       [max(lr['48'][i]['val_auc']) for i in range(0,8)],\n                       ], # 2nd column\n               line_color='darkslategray',\n               fill_color='lightcyan',\n               align='left'))\n])\n\nfig.update_layout(width=900, height=400)\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"t = dict()\nt['10'] = [0.8973, 0.8889, 0.8876, 0.9018, 0.9080, 0.9017, 0.9057, 0.9114]\nt['32'] = [0.8867, 0.8968, 0.8961, 0.8861, 0.9008, 0.8903, 0.8829, 0.8948]\nt['16'] = [0.892, 0.9021, 0.9066, 0.8993, 0.8956, 0.904, 0.9061, 0.8868]\nt['48'] = [0.8912, 0.8909, 0.8997, 0.8947, 0.8855, 0.8907, 0.8876, 0.8949]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x = [i for i in range(0, 8)]\n\nfig = go.Figure()\n\nfor i in range(0,8):\n    temp = 0\n    if i == 0:\n        for j in name:\n            temp += 1\n            fig.add_trace(go.Scatter(x=x, y=t[j],\n                                mode='lines+markers',\n                                name=str(j),\n                                line=dict(color=cols[temp])))\n    else:\n        for j in name:\n            temp += 1\n            fig.add_trace(go.Scatter(x=x, y=t[j],\n                                mode='lines+markers',\n                                name=str(j),\n                                showlegend=False,\n                                line=dict(color=cols[temp])))\n\nfig.update_layout(\n    xaxis = dict(\n        tickmode = 'linear',\n        tick0 = 1,\n        dtick = 1\n    ),\n)\n\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"fig = go.Figure(data=[go.Table(\n    header=dict(values=['Model', '10', '16', '32', '48'],\n                line_color='darkslategray',\n                fill_color='lightskyblue',\n                align='left'),\n    cells=dict(values=[[i for i in range(0,8)], # 1st column\n                       [t['10'][i] for i in range(0,8)],\n                       [t['16'][i] for i in range(0,8)],\n                       [t['32'][i] for i in range(0,8)],\n                       [t['48'][i] for i in range(0,8)],\n                       ], # 2nd column\n               line_color='darkslategray',\n               fill_color='lightcyan',\n               align='left'))\n])\n\nfig.update_layout(width=900, height=400)\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"lr = [0.00016, 0.00016, 0.00016, 0.00016, 0.0001, 0.0001, 0.0001, 0.0001]\nx = [i for i in range(0, 8)]\n\nfig = go.Figure()\n\nfig.add_trace(go.Scatter(x=x, y=lr,\n                            mode='lines+markers',\n                            name='B'+str(j),\n                            line=dict(color=cols[temp])))\n\n\nfig.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","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}