{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import pandas as pd\nimport numpy as np\n\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nimport xgboost as xgb\nfrom sklearn.svm import SVC\nimport lightgbm as lgb\n\nfrom sklearn.metrics import f1_score,confusion_matrix,roc_auc_score\n\nfrom tqdm import tqdm_notebook\n\nimport warnings\nwarnings.filterwarnings(\"ignore\")","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"# test_output = []\n# for i in tqdm_notebook(range(3)):\n#     train_data = np.load('../input/melonoma-features-tpu/'+str(i)+'_train_extracted.npy')\n#     train_label = np.load('../input/melonoma-features-tpu/'+str(i)+'_train_label_extracted.npy')\n#     valid_data = np.load('../input/melonoma-features-tpu/'+str(i)+'_valid_extracted.npy')\n#     valid_label = np.load('../input/melonoma-features-tpu/'+str(i)+'_valid_label_extracted.npy')\n    \n#     test_data = np.load('../input/melonoma-features-tpu/'+str(i)+'_test_extracted.npy')\n    \n#     model = SVC(kernel='linear',probability=True)\n#     model.fit(train_data,train_label)\n    \n#     valid_pred = model.predict_proba(valid_data)\n# #     print('valid_auc: '+str(roc_auc_score(valid_label,np.max(valid_pred,axis=1))))\\\n#     print('valid_auc: '+str(roc_auc_score(valid_label,valid_pred[:,1]>0.5)))\n    \n#     test_pred = model.predict_proba(test_data)\n# #     np.save(str(i)+'_test_prediction_b3_model.npy',np.max(test_pred,axis=1))\n# #     np.save(str(i)+'_test_prediction_b3_model.npy',test_pred)\n# #     test_output.append(np.max(test_pred,axis=1))\n#     test_output.append(test_pred[:,1])\n#     print('test_: '+str((test_pred[:,1]>0.5).sum()))\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"test_output = []\nfor i in tqdm_notebook(range(3)):\n    train_data = np.load('../input/melonoma-features-tpu/'+str(i)+'_train_extracted.npy')\n    train_label = np.load('../input/melonoma-features-tpu/'+str(i)+'_train_label_extracted.npy')\n    valid_data = np.load('../input/melonoma-features-tpu/'+str(i)+'_valid_extracted.npy')\n    valid_label = np.load('../input/melonoma-features-tpu/'+str(i)+'_valid_label_extracted.npy')\n    \n    test_data = np.load('../input/melonoma-features-tpu/'+str(i)+'_test_extracted.npy')\n    \n    model = lgb.LGBMClassifier(objective='binary',is_unbalance=True)\n    model.fit(train_data,train_label)\n    \n    valid_pred = model.predict_proba(valid_data)\n#     print('valid_auc: '+str(roc_auc_score(valid_label,np.max(valid_pred,axis=1))))\\\n    print('valid_auc: '+str(roc_auc_score(valid_label,valid_pred[:,1]>0.5)))\n    \n    test_pred = model.predict_proba(test_data)\n#     np.save(str(i)+'_test_prediction_b3_model.npy',np.max(test_pred,axis=1))\n#     np.save(str(i)+'_test_prediction_b3_model.npy',test_pred)\n#     test_output.append(np.max(test_pred,axis=1))\n    test_output.append(test_pred[:,1])\n    print('test_: '+str((test_pred[:,1]>0.5).sum()))\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"test_output = np.array(test_output)\ntest_output.shape","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"test_output_avg = np.average(test_output,axis=0)\n(test_output_avg>0.5).sum()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"confusion_matrix(valid_label,valid_pred)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"pred_pro = model.predict_proba(valid_data)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"sns.distplot(pred_pro[:,0])\nsns.distplot(pred_pro[:,1])\nsns.distplot(np.max(pred_pro,axis=1))\n# sns.distplot(np.argmax(pred_pro,axis=1))\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"(np.max(pred_pro,axis=1)>0.5).sum()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"(pred_pro[:,1]>0.5).sum()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"roc_auc_score(valid_label,pred_pro[:,1])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"roc_auc_score(valid_label,np.max(pred_pro,axis=1))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"pred_pro = model.predict_proba(test_data)\npred_pro.shape","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# sns.distplot(pred_pro[:,0])\nsns.distplot(pred_pro[:,1])\n# sns.distplot(np.max(pred_pro,axis=1))\n# sns.distplot(np.argmax(pred_pro,axis=1))\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"np.unique(pred_pro[:,0]>0.5,return_counts=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"np.unique(pred_pro[:,1]>0.3,return_counts=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"test_output = np.sum(np.array(test_output),axis=0)\ntest_output.shape","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"test_df = pd.read_csv('../input/siim-isic-melanoma-classification/sample_submission.csv')\ntest_df.shape","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"np.unique(test_output_avg>0.5,return_counts=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"test_df['target'] = test_output_avg\n# test_df['target_prob'] = pred_pro[:,1]\ntest_df.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"test_df.to_csv('lgbm_tpu_model_prob.csv',index=False)","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}