{
  "id": 460567,
  "title": "43d Place Solution for the Open Problems – Single-Cell Perturbations",
  "url": "/competitions/open-problems-single-cell-perturbations/writeups/elbrus-43d-place-solution-for-the-open-problems-si",
  "author_name": "",
  "post_date": "2023-12-11T09:34:45.930Z",
  "votes": 11,
  "comment_count": 2,
  "views": 0,
  "content": "<h1>Context</h1>\n<p><a href=\"https://www.kaggle.com/competitions/open-problems-single-cell-perturbations/overview\" target=\"_blank\">https://www.kaggle.com/competitions/open-problems-single-cell-perturbations/overview</a><br>\n<a href=\"https://www.kaggle.com/competitions/open-problems-single-cell-perturbations/data\" target=\"_blank\">https://www.kaggle.com/competitions/open-problems-single-cell-perturbations/data</a></p>\n<h1>Overview of the approach</h1>\n<p>Our optimal model is blend of two models:</p>\n<ol>\n<li>weight_1: 0.5 Pyboost model</li>\n<li>weight_2: 0.5 NN model</li>\n</ol>\n<h1>Data preprocessing and feature selection</h1>\n<h1>Features</h1>\n<h3>1. Pyboost features</h3>\n<p>Our main improvement from public pyboost  implementation was that we explored and added as a feature categories for each drug:</p>\n<blockquote>\n  <p>drug_cls = {<br>\n      \"Antifungal\": [\"Clotrimazole\", \"Ketoconazole\"], <br>\n      \"Corticosteroid\": [\"Mometasone Furoate\"],<br>\n      \"Kinase Inhibitors\": [\"Idelalisib\", \"Vandetanib\", \"Bosutinib\", \"Ceritinib\", \"Crizotinib\", <br>\n                           \"Cabozantinib\", \"Dasatinib\", \"Selumetinib\", \"Trametinib\", \"Lapatinib\", <br>\n                           \"Canertinib\", \"Palbociclib\", \"Dabrafenib\", \"Ricolinostat\",\"Tamatinib\", \"Tivozanib\", <br>\n                            \"Quizartinib\",\"Sunitinib\",\"Foretinib\",\"Imatinib\",\"R428\",\"BMS-387032\",\"CGP 60474\",<br>\n                            \"TIE2 Kinase Inhibitor\",\"Masitinib\",\"Saracatinib\",\"CC-401\",\"RN-486\",\"GO-6976\",<br>\n                            \"HMN-214\",\"BMS-777607\",\"Tivantinib\",\"CEP-37440\",\"TPCA-1\",\"AZ628\",\"PF-03814735\",<br>\n                            \"PRT-062607\",\"AT 7867\", \"BI-D1870\", \"Mubritinib\", \"GLPG0634\",\"Ruxolitinib\", \"ABT-199 (GDC-0199)\",<br>\n                           \"Nilotinib\"],<br>\n      \"Antiviral\": [\"Lamivudine\", \"AMD-070 (hydrochloride)\", \"BMS-265246\"],<br>\n      \"Sunscreen agent\" : [\"Oxybenzone\"],<br>\n      \"Antineoplastic\": [\"Vorinostat\", \"Flutamide\", \"Ixabepilone\", \"Topotecan\", \"CEP-18770 (Delanzomib)\",<br>\n  \"Resminostat\", \"Decitabine\", \"MGCD-265\", \"GSK-1070916\",\"BAY 61-3606\",\"Navitoclax\", \"Porcn Inhibitor III\",\"GW843682X\",\"Prednisolone\",\"Tosedostat\",<br>\n                         \"Scriptaid\", \"AZD-8330\", \"Belinostat\",\"BMS-536924\",\"Pomalidomide\",\"Methotrexate\",\"HYDROXYUREA\",<br>\n                         \"PD-0325901\",\"SB525334\",\"AVL-292\",\"AZD4547\",\"OSI-930\",\"AZD3514\",\"MLN 2238\",\"Dovitinib\",\"K-02288\",<br>\n                         \"Midostaurin\",\"I-BET151\",\"FK 866\",\"Tipifarnib\",\"BX 912\",\"SCH-58261\",\"BAY 87-2243\",<br>\n  \"YK 4-279\",\"Ganetespib (STA-9090)\",\"Oprozomib (ONX 0912)\",\"AT13387\",\"Tipifarnib\",\"Flutamide\",\"Perhexiline\",\"Sgc-cbp30\",\"IMD-0354\",<br>\n                        \"IKK Inhibitor VII\", \"UNII-BXU45ZH6LI\",\"ABT737\",\"Dactolisib\", \"CGM-097\", \"TGX 221\",\"Azacitidine\",\"Defactinib\",<br>\n                        \"PF-04691502\", \"5-(9-Isopropyl-8-methyl-2-morpholino-9H-purin-6-yl)pyrimidin-2-amine\"],<br>\n      \"Selective Estrogen Receptor Modulator (SERM)\": [\"Raloxifene\"],<br>\n      \"Antidiabetic (DPP-4 Inhibitor)\": [\"Linagliptin\",\"Alogliptin\"],<br>\n      \"Antidepressant\": [\"Buspirone\", \"Clomipramine\", \"Protriptyline\", \"Nefazodone\",\"RG7090\"], <br>\n      \"Antibiotic\": [\"Isoniazid\",\"Doxorubicin\"],<br>\n      \"Antipsychotic\": [\"Penfluridol\"],<br>\n      \"Antiarrhythmic\": [\"Amiodarone\",\"Proscillaridin A\"],<br>\n      \"Alkaloid\": [\"Colchicine\"],<br>\n      \"Antiviral (HIV)\": [\"Tenofovir\",\"Efavirenz\"],<br>\n      \"Allergy\": [\"Desloratadine\",\"Chlorpheniramine\",\"Clemastine\",\"GSK256066\",\"SLx-2119\", \"TR-14035\", \"Tacrolimus\"],<br>\n      \"Anticoagulant\": [\"Rivaroxaban\"],<br>\n      \"Alcohol deterrent\":[\"Disulfiram\"],<br>\n      \"Cocaine addiction\":[\"Vanoxerine\"],<br>\n      \"Erectile dysfunction\":[\"Vardenafil\"],<br>\n      \"Calcium channel blocker\":[\"TL_HRAS26\"],<br>\n      \"Anti-endotoxemic\":[\"CGP 60474\"],<br>\n      \"Acne treatment\":[\"O-Demethylated Adapalene\"],<br>\n      \"Stroke\":[\"Pitavastatin Calcium\",\"Atorvastatin\"],<br>\n      \"Stem cell work\":[\"CHIR-99021\"],<br>\n      \"Hypertension\":[\"Riociguat\"],<br>\n      \"Heart failure\":[\"Proscillaridin A;Proscillaridin-A\", \"Colforsin\"],<br>\n      \"Regenerative\":[\"LDN 193189\"],<br>\n      \"Psoriasis\":[\"Tacalcitol\"],<br>\n      \"Unknown_1\": [\"STK219801\"],<br>\n      \"Unknown_2\": [\"IN1451\"]</p>\n</blockquote>\n<p>Another features were  'cell_type' and 'sm_name' encoded with QuantileEncoder(quantile =.8)<br>\nTruncatedSVD(n_components=50) was applied to target. </p>\n<h3>2. NN features</h3>\n<p>For neural network we used just SMILES and cell_type colums </p>\n<h1>Modeling</h1>\n<h3>1. Pyboost</h3>\n<blockquote>\n  <p>params = {<br>\n  n_components = 50, <br>\n  ntrees = 5000,<br>\n  lr = 0.01, <br>\n  max_depth = 10 , <br>\n  colsample =  0.35,<br>\n  subsample = 1}</p>\n</blockquote>\n<h3>2. NN Model</h3>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F862202%2F2fe3b3b85c7bf180061171cab7ede651%2F__results___74_1.png?generation=1702165001166005&amp;alt=media\" alt=\"\"></p>\n<h1>Loss function</h1>\n<p>We used Mean Absolute Error (MAE) for train and Mrrmse metric for validation</p>\n<h1>Validation Strategy</h1>\n<p>Our team used k-fold cross-validation strategy. Our goal was to get stable score on train and do not fit our scores to public leaderboard. </p>\n<p>We had a few submissions with very high public score but these submissions were blends of many models with different coefficient. We were not sure that their scores would be stable on private part. As a result, we chose a 0.5-0.5 blends from two our own models which didn't show great result on public but score very stable on cross validation.</p>\n<p>Sources<br>\n<a href=\"https://www.kaggle.com/code/alexandervc/pyboost-secret-grandmaster-s-tool\" target=\"_blank\">https://www.kaggle.com/code/alexandervc/pyboost-secret-grandmaster-s-tool</a><br>\n<a href=\"https://www.kaggle.com/code/asimandia/kfold-simple-nn-refactored\" target=\"_blank\">https://www.kaggle.com/code/asimandia/kfold-simple-nn-refactored</a></p>",
  "messages": [
    {
      "id": "2555474",
      "postDate": "12/10/2023 00:07:53",
      "content": "<h1>Context</h1>\n<p><a href=\"https://www.kaggle.com/competitions/open-problems-single-cell-perturbations/overview\" target=\"_blank\">https://www.kaggle.com/competitions/open-problems-single-cell-perturbations/overview</a><br>\n<a href=\"https://www.kaggle.com/competitions/open-problems-single-cell-perturbations/data\" target=\"_blank\">https://www.kaggle.com/competitions/open-problems-single-cell-perturbations/data</a></p>\n<h1>Overview of the approach</h1>\n<p>Our optimal model is blend of two models:</p>\n<ol>\n<li>weight_1: 0.5 Pyboost model</li>\n<li>weight_2: 0.5 NN model</li>\n</ol>\n<h1>Data preprocessing and feature selection</h1>\n<h1>Features</h1>\n<h3>1. Pyboost features</h3>\n<p>Our main improvement from public pyboost  implementation was that we explored and added as a feature categories for each drug:</p>\n<blockquote>\n  <p>drug_cls = {<br>\n      \"Antifungal\": [\"Clotrimazole\", \"Ketoconazole\"], <br>\n      \"Corticosteroid\": [\"Mometasone Furoate\"],<br>\n      \"Kinase Inhibitors\": [\"Idelalisib\", \"Vandetanib\", \"Bosutinib\", \"Ceritinib\", \"Crizotinib\", <br>\n                           \"Cabozantinib\", \"Dasatinib\", \"Selumetinib\", \"Trametinib\", \"Lapatinib\", <br>\n                           \"Canertinib\", \"Palbociclib\", \"Dabrafenib\", \"Ricolinostat\",\"Tamatinib\", \"Tivozanib\", <br>\n                            \"Quizartinib\",\"Sunitinib\",\"Foretinib\",\"Imatinib\",\"R428\",\"BMS-387032\",\"CGP 60474\",<br>\n                            \"TIE2 Kinase Inhibitor\",\"Masitinib\",\"Saracatinib\",\"CC-401\",\"RN-486\",\"GO-6976\",<br>\n                            \"HMN-214\",\"BMS-777607\",\"Tivantinib\",\"CEP-37440\",\"TPCA-1\",\"AZ628\",\"PF-03814735\",<br>\n                            \"PRT-062607\",\"AT 7867\", \"BI-D1870\", \"Mubritinib\", \"GLPG0634\",\"Ruxolitinib\", \"ABT-199 (GDC-0199)\",<br>\n                           \"Nilotinib\"],<br>\n      \"Antiviral\": [\"Lamivudine\", \"AMD-070 (hydrochloride)\", \"BMS-265246\"],<br>\n      \"Sunscreen agent\" : [\"Oxybenzone\"],<br>\n      \"Antineoplastic\": [\"Vorinostat\", \"Flutamide\", \"Ixabepilone\", \"Topotecan\", \"CEP-18770 (Delanzomib)\",<br>\n  \"Resminostat\", \"Decitabine\", \"MGCD-265\", \"GSK-1070916\",\"BAY 61-3606\",\"Navitoclax\", \"Porcn Inhibitor III\",\"GW843682X\",\"Prednisolone\",\"Tosedostat\",<br>\n                         \"Scriptaid\", \"AZD-8330\", \"Belinostat\",\"BMS-536924\",\"Pomalidomide\",\"Methotrexate\",\"HYDROXYUREA\",<br>\n                         \"PD-0325901\",\"SB525334\",\"AVL-292\",\"AZD4547\",\"OSI-930\",\"AZD3514\",\"MLN 2238\",\"Dovitinib\",\"K-02288\",<br>\n                         \"Midostaurin\",\"I-BET151\",\"FK 866\",\"Tipifarnib\",\"BX 912\",\"SCH-58261\",\"BAY 87-2243\",<br>\n  \"YK 4-279\",\"Ganetespib (STA-9090)\",\"Oprozomib (ONX 0912)\",\"AT13387\",\"Tipifarnib\",\"Flutamide\",\"Perhexiline\",\"Sgc-cbp30\",\"IMD-0354\",<br>\n                        \"IKK Inhibitor VII\", \"UNII-BXU45ZH6LI\",\"ABT737\",\"Dactolisib\", \"CGM-097\", \"TGX 221\",\"Azacitidine\",\"Defactinib\",<br>\n                        \"PF-04691502\", \"5-(9-Isopropyl-8-methyl-2-morpholino-9H-purin-6-yl)pyrimidin-2-amine\"],<br>\n      \"Selective Estrogen Receptor Modulator (SERM)\": [\"Raloxifene\"],<br>\n      \"Antidiabetic (DPP-4 Inhibitor)\": [\"Linagliptin\",\"Alogliptin\"],<br>\n      \"Antidepressant\": [\"Buspirone\", \"Clomipramine\", \"Protriptyline\", \"Nefazodone\",\"RG7090\"], <br>\n      \"Antibiotic\": [\"Isoniazid\",\"Doxorubicin\"],<br>\n      \"Antipsychotic\": [\"Penfluridol\"],<br>\n      \"Antiarrhythmic\": [\"Amiodarone\",\"Proscillaridin A\"],<br>\n      \"Alkaloid\": [\"Colchicine\"],<br>\n      \"Antiviral (HIV)\": [\"Tenofovir\",\"Efavirenz\"],<br>\n      \"Allergy\": [\"Desloratadine\",\"Chlorpheniramine\",\"Clemastine\",\"GSK256066\",\"SLx-2119\", \"TR-14035\", \"Tacrolimus\"],<br>\n      \"Anticoagulant\": [\"Rivaroxaban\"],<br>\n      \"Alcohol deterrent\":[\"Disulfiram\"],<br>\n      \"Cocaine addiction\":[\"Vanoxerine\"],<br>\n      \"Erectile dysfunction\":[\"Vardenafil\"],<br>\n      \"Calcium channel blocker\":[\"TL_HRAS26\"],<br>\n      \"Anti-endotoxemic\":[\"CGP 60474\"],<br>\n      \"Acne treatment\":[\"O-Demethylated Adapalene\"],<br>\n      \"Stroke\":[\"Pitavastatin Calcium\",\"Atorvastatin\"],<br>\n      \"Stem cell work\":[\"CHIR-99021\"],<br>\n      \"Hypertension\":[\"Riociguat\"],<br>\n      \"Heart failure\":[\"Proscillaridin A;Proscillaridin-A\", \"Colforsin\"],<br>\n      \"Regenerative\":[\"LDN 193189\"],<br>\n      \"Psoriasis\":[\"Tacalcitol\"],<br>\n      \"Unknown_1\": [\"STK219801\"],<br>\n      \"Unknown_2\": [\"IN1451\"]</p>\n</blockquote>\n<p>Another features were  'cell_type' and 'sm_name' encoded with QuantileEncoder(quantile =.8)<br>\nTruncatedSVD(n_components=50) was applied to target. </p>\n<h3>2. NN features</h3>\n<p>For neural network we used just SMILES and cell_type colums </p>\n<h1>Modeling</h1>\n<h3>1. Pyboost</h3>\n<blockquote>\n  <p>params = {<br>\n  n_components = 50, <br>\n  ntrees = 5000,<br>\n  lr = 0.01, <br>\n  max_depth = 10 , <br>\n  colsample =  0.35,<br>\n  subsample = 1}</p>\n</blockquote>\n<h3>2. NN Model</h3>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F862202%2F2fe3b3b85c7bf180061171cab7ede651%2F__results___74_1.png?generation=1702165001166005&amp;alt=media\" alt=\"\"></p>\n<h1>Loss function</h1>\n<p>We used Mean Absolute Error (MAE) for train and Mrrmse metric for validation</p>\n<h1>Validation Strategy</h1>\n<p>Our team used k-fold cross-validation strategy. Our goal was to get stable score on train and do not fit our scores to public leaderboard. </p>\n<p>We had a few submissions with very high public score but these submissions were blends of many models with different coefficient. We were not sure that their scores would be stable on private part. As a result, we chose a 0.5-0.5 blends from two our own models which didn't show great result on public but score very stable on cross validation.</p>\n<p>Sources<br>\n<a href=\"https://www.kaggle.com/code/alexandervc/pyboost-secret-grandmaster-s-tool\" target=\"_blank\">https://www.kaggle.com/code/alexandervc/pyboost-secret-grandmaster-s-tool</a><br>\n<a href=\"https://www.kaggle.com/code/asimandia/kfold-simple-nn-refactored\" target=\"_blank\">https://www.kaggle.com/code/asimandia/kfold-simple-nn-refactored</a></p>",
      "rawMarkdown": "# Context\nhttps://www.kaggle.com/competitions/open-problems-single-cell-perturbations/overview\nhttps://www.kaggle.com/competitions/open-problems-single-cell-perturbations/data\n# Overview of the approach\nOur optimal model is blend of two models:\n\n1. weight_1: 0.5 Pyboost model\n2. weight_2: 0.5 NN model\n\n# Data preprocessing and feature selection\n\n\n# Features\n### 1. Pyboost features\nOur main improvement from public pyboost  implementation was that we explored and added as a feature categories for each drug:\n>drug_cls = {\n    \"Antifungal\": [\"Clotrimazole\", \"Ketoconazole\"], \n    \"Corticosteroid\": [\"Mometasone Furoate\"],\n    \"Kinase Inhibitors\": [\"Idelalisib\", \"Vandetanib\", \"Bosutinib\", \"Ceritinib\", \"Crizotinib\", \n                         \"Cabozantinib\", \"Dasatinib\", \"Selumetinib\", \"Trametinib\", \"Lapatinib\", \n                         \"Canertinib\", \"Palbociclib\", \"Dabrafenib\", \"Ricolinostat\",\"Tamatinib\", \"Tivozanib\", \n                          \"Quizartinib\",\"Sunitinib\",\"Foretinib\",\"Imatinib\",\"R428\",\"BMS-387032\",\"CGP 60474\",\n                          \"TIE2 Kinase Inhibitor\",\"Masitinib\",\"Saracatinib\",\"CC-401\",\"RN-486\",\"GO-6976\",\n                          \"HMN-214\",\"BMS-777607\",\"Tivantinib\",\"CEP-37440\",\"TPCA-1\",\"AZ628\",\"PF-03814735\",\n                          \"PRT-062607\",\"AT 7867\", \"BI-D1870\", \"Mubritinib\", \"GLPG0634\",\"Ruxolitinib\", \"ABT-199 (GDC-0199)\",\n                         \"Nilotinib\"],\n    \"Antiviral\": [\"Lamivudine\", \"AMD-070 (hydrochloride)\", \"BMS-265246\"],\n    \"Sunscreen agent\" : [\"Oxybenzone\"],\n    \"Antineoplastic\": [\"Vorinostat\", \"Flutamide\", \"Ixabepilone\", \"Topotecan\", \"CEP-18770 (Delanzomib)\",\n\"Resminostat\", \"Decitabine\", \"MGCD-265\", \"GSK-1070916\",\"BAY 61-3606\",\"Navitoclax\", \"Porcn Inhibitor III\",\"GW843682X\",\"Prednisolone\",\"Tosedostat\",\n                       \"Scriptaid\", \"AZD-8330\", \"Belinostat\",\"BMS-536924\",\"Pomalidomide\",\"Methotrexate\",\"HYDROXYUREA\",\n                       \"PD-0325901\",\"SB525334\",\"AVL-292\",\"AZD4547\",\"OSI-930\",\"AZD3514\",\"MLN 2238\",\"Dovitinib\",\"K-02288\",\n                       \"Midostaurin\",\"I-BET151\",\"FK 866\",\"Tipifarnib\",\"BX 912\",\"SCH-58261\",\"BAY 87-2243\",\n\"YK 4-279\",\"Ganetespib (STA-9090)\",\"Oprozomib (ONX 0912)\",\"AT13387\",\"Tipifarnib\",\"Flutamide\",\"Perhexiline\",\"Sgc-cbp30\",\"IMD-0354\",\n                      \"IKK Inhibitor VII\", \"UNII-BXU45ZH6LI\",\"ABT737\",\"Dactolisib\", \"CGM-097\", \"TGX 221\",\"Azacitidine\",\"Defactinib\",\n                      \"PF-04691502\", \"5-(9-Isopropyl-8-methyl-2-morpholino-9H-purin-6-yl)pyrimidin-2-amine\"],\n    \"Selective Estrogen Receptor Modulator (SERM)\": [\"Raloxifene\"],\n    \"Antidiabetic (DPP-4 Inhibitor)\": [\"Linagliptin\",\"Alogliptin\"],\n    \"Antidepressant\": [\"Buspirone\", \"Clomipramine\", \"Protriptyline\", \"Nefazodone\",\"RG7090\"], \n    \"Antibiotic\": [\"Isoniazid\",\"Doxorubicin\"],\n    \"Antipsychotic\": [\"Penfluridol\"],\n    \"Antiarrhythmic\": [\"Amiodarone\",\"Proscillaridin A\"],\n    \"Alkaloid\": [\"Colchicine\"],\n    \"Antiviral (HIV)\": [\"Tenofovir\",\"Efavirenz\"],\n    \"Allergy\": [\"Desloratadine\",\"Chlorpheniramine\",\"Clemastine\",\"GSK256066\",\"SLx-2119\", \"TR-14035\", \"Tacrolimus\"],\n    \"Anticoagulant\": [\"Rivaroxaban\"],\n    \"Alcohol deterrent\":[\"Disulfiram\"],\n    \"Cocaine addiction\":[\"Vanoxerine\"],\n    \"Erectile dysfunction\":[\"Vardenafil\"],\n    \"Calcium channel blocker\":[\"TL_HRAS26\"],\n    \"Anti-endotoxemic\":[\"CGP 60474\"],\n    \"Acne treatment\":[\"O-Demethylated Adapalene\"],\n    \"Stroke\":[\"Pitavastatin Calcium\",\"Atorvastatin\"],\n    \"Stem cell work\":[\"CHIR-99021\"],\n    \"Hypertension\":[\"Riociguat\"],\n    \"Heart failure\":[\"Proscillaridin A;Proscillaridin-A\", \"Colforsin\"],\n    \"Regenerative\":[\"LDN 193189\"],\n    \"Psoriasis\":[\"Tacalcitol\"],\n    \"Unknown_1\": [\"STK219801\"],\n    \"Unknown_2\": [\"IN1451\"]\n\nAnother features were  'cell_type' and 'sm_name' encoded with QuantileEncoder(quantile =.8)\nTruncatedSVD(n_components=50) was applied to target. \n\n### 2. NN features\nFor neural network we used just SMILES and cell_type colums \n\n# Modeling\n### 1. Pyboost\n>params = {\nn_components = 50, \nntrees = 5000,\nlr = 0.01, \nmax_depth = 10 , \ncolsample =  0.35,\nsubsample = 1}\n\n###  2. NN Model\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F862202%2F2fe3b3b85c7bf180061171cab7ede651%2F__results___74_1.png?generation=1702165001166005&alt=media)\n\n# Loss function\n\nWe used Mean Absolute Error (MAE) for train and Mrrmse metric for validation\n\n# Validation Strategy\nOur team used k-fold cross-validation strategy. Our goal was to get stable score on train and do not fit our scores to public leaderboard. \n\nWe had a few submissions with very high public score but these submissions were blends of many models with different coefficient. We were not sure that their scores would be stable on private part. As a result, we chose a 0.5-0.5 blends from two our own models which didn't show great result on public but score very stable on cross validation.\n\nSources\nhttps://www.kaggle.com/code/alexandervc/pyboost-secret-grandmaster-s-tool\nhttps://www.kaggle.com/code/asimandia/kfold-simple-nn-refactored",
      "votes": null
    },
    {
      "id": "2555715",
      "postDate": "12/10/2023 05:46:51",
      "content": "<p>Thanks for sharing <a href=\"https://www.kaggle.com/abramova\" target=\"_blank\">@abramova</a>  , blend of two models is indeed a unique approach , new insight 👍</p>",
      "rawMarkdown": "Thanks for sharing @abramova  , blend of two models is indeed a unique approach , new insight 👍",
      "votes": null
    },
    {
      "id": "2555999",
      "postDate": "12/10/2023 11:26:35",
      "content": "<p>Thank you, Katerina, briefly and accurately.<br>\n I would add that we have tried other approaches and more complex networks.<br>\nBut simple, understandable methods led to a good result.</p>",
      "rawMarkdown": "Thank you, Katerina, briefly and accurately.\n I would add that we have tried other approaches and more complex networks.\nBut simple, understandable methods led to a good result.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 2555715,
      "author_name": "drvtalan",
      "author_url": "",
      "post_date": "12/10/2023 05:46:51",
      "content": "<p>Thanks for sharing <a href=\"https://www.kaggle.com/abramova\" target=\"_blank\">@abramova</a>  , blend of two models is indeed a unique approach , new insight 👍</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 2555999,
      "author_name": "erotar",
      "author_url": "",
      "post_date": "12/10/2023 11:26:35",
      "content": "<p>Thank you, Katerina, briefly and accurately.<br>\n I would add that we have tried other approaches and more complex networks.<br>\nBut simple, understandable methods led to a good result.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "2555474": "# Context\nhttps://www.kaggle.com/competitions/open-problems-single-cell-perturbations/overview\nhttps://www.kaggle.com/competitions/open-problems-single-cell-perturbations/data\n# Overview of the approach\nOur optimal model is blend of two models:\n\n1. weight_1: 0.5 Pyboost model\n2. weight_2: 0.5 NN model\n\n# Data preprocessing and feature selection\n\n\n# Features\n### 1. Pyboost features\nOur main improvement from public pyboost  implementation was that we explored and added as a feature categories for each drug:\n>drug_cls = {\n    \"Antifungal\": [\"Clotrimazole\", \"Ketoconazole\"], \n    \"Corticosteroid\": [\"Mometasone Furoate\"],\n    \"Kinase Inhibitors\": [\"Idelalisib\", \"Vandetanib\", \"Bosutinib\", \"Ceritinib\", \"Crizotinib\", \n                         \"Cabozantinib\", \"Dasatinib\", \"Selumetinib\", \"Trametinib\", \"Lapatinib\", \n                         \"Canertinib\", \"Palbociclib\", \"Dabrafenib\", \"Ricolinostat\",\"Tamatinib\", \"Tivozanib\", \n                          \"Quizartinib\",\"Sunitinib\",\"Foretinib\",\"Imatinib\",\"R428\",\"BMS-387032\",\"CGP 60474\",\n                          \"TIE2 Kinase Inhibitor\",\"Masitinib\",\"Saracatinib\",\"CC-401\",\"RN-486\",\"GO-6976\",\n                          \"HMN-214\",\"BMS-777607\",\"Tivantinib\",\"CEP-37440\",\"TPCA-1\",\"AZ628\",\"PF-03814735\",\n                          \"PRT-062607\",\"AT 7867\", \"BI-D1870\", \"Mubritinib\", \"GLPG0634\",\"Ruxolitinib\", \"ABT-199 (GDC-0199)\",\n                         \"Nilotinib\"],\n    \"Antiviral\": [\"Lamivudine\", \"AMD-070 (hydrochloride)\", \"BMS-265246\"],\n    \"Sunscreen agent\" : [\"Oxybenzone\"],\n    \"Antineoplastic\": [\"Vorinostat\", \"Flutamide\", \"Ixabepilone\", \"Topotecan\", \"CEP-18770 (Delanzomib)\",\n\"Resminostat\", \"Decitabine\", \"MGCD-265\", \"GSK-1070916\",\"BAY 61-3606\",\"Navitoclax\", \"Porcn Inhibitor III\",\"GW843682X\",\"Prednisolone\",\"Tosedostat\",\n                       \"Scriptaid\", \"AZD-8330\", \"Belinostat\",\"BMS-536924\",\"Pomalidomide\",\"Methotrexate\",\"HYDROXYUREA\",\n                       \"PD-0325901\",\"SB525334\",\"AVL-292\",\"AZD4547\",\"OSI-930\",\"AZD3514\",\"MLN 2238\",\"Dovitinib\",\"K-02288\",\n                       \"Midostaurin\",\"I-BET151\",\"FK 866\",\"Tipifarnib\",\"BX 912\",\"SCH-58261\",\"BAY 87-2243\",\n\"YK 4-279\",\"Ganetespib (STA-9090)\",\"Oprozomib (ONX 0912)\",\"AT13387\",\"Tipifarnib\",\"Flutamide\",\"Perhexiline\",\"Sgc-cbp30\",\"IMD-0354\",\n                      \"IKK Inhibitor VII\", \"UNII-BXU45ZH6LI\",\"ABT737\",\"Dactolisib\", \"CGM-097\", \"TGX 221\",\"Azacitidine\",\"Defactinib\",\n                      \"PF-04691502\", \"5-(9-Isopropyl-8-methyl-2-morpholino-9H-purin-6-yl)pyrimidin-2-amine\"],\n    \"Selective Estrogen Receptor Modulator (SERM)\": [\"Raloxifene\"],\n    \"Antidiabetic (DPP-4 Inhibitor)\": [\"Linagliptin\",\"Alogliptin\"],\n    \"Antidepressant\": [\"Buspirone\", \"Clomipramine\", \"Protriptyline\", \"Nefazodone\",\"RG7090\"], \n    \"Antibiotic\": [\"Isoniazid\",\"Doxorubicin\"],\n    \"Antipsychotic\": [\"Penfluridol\"],\n    \"Antiarrhythmic\": [\"Amiodarone\",\"Proscillaridin A\"],\n    \"Alkaloid\": [\"Colchicine\"],\n    \"Antiviral (HIV)\": [\"Tenofovir\",\"Efavirenz\"],\n    \"Allergy\": [\"Desloratadine\",\"Chlorpheniramine\",\"Clemastine\",\"GSK256066\",\"SLx-2119\", \"TR-14035\", \"Tacrolimus\"],\n    \"Anticoagulant\": [\"Rivaroxaban\"],\n    \"Alcohol deterrent\":[\"Disulfiram\"],\n    \"Cocaine addiction\":[\"Vanoxerine\"],\n    \"Erectile dysfunction\":[\"Vardenafil\"],\n    \"Calcium channel blocker\":[\"TL_HRAS26\"],\n    \"Anti-endotoxemic\":[\"CGP 60474\"],\n    \"Acne treatment\":[\"O-Demethylated Adapalene\"],\n    \"Stroke\":[\"Pitavastatin Calcium\",\"Atorvastatin\"],\n    \"Stem cell work\":[\"CHIR-99021\"],\n    \"Hypertension\":[\"Riociguat\"],\n    \"Heart failure\":[\"Proscillaridin A;Proscillaridin-A\", \"Colforsin\"],\n    \"Regenerative\":[\"LDN 193189\"],\n    \"Psoriasis\":[\"Tacalcitol\"],\n    \"Unknown_1\": [\"STK219801\"],\n    \"Unknown_2\": [\"IN1451\"]\n\nAnother features were  'cell_type' and 'sm_name' encoded with QuantileEncoder(quantile =.8)\nTruncatedSVD(n_components=50) was applied to target. \n\n### 2. NN features\nFor neural network we used just SMILES and cell_type colums \n\n# Modeling\n### 1. Pyboost\n>params = {\nn_components = 50, \nntrees = 5000,\nlr = 0.01, \nmax_depth = 10 , \ncolsample =  0.35,\nsubsample = 1}\n\n###  2. NN Model\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F862202%2F2fe3b3b85c7bf180061171cab7ede651%2F__results___74_1.png?generation=1702165001166005&alt=media)\n\n# Loss function\n\nWe used Mean Absolute Error (MAE) for train and Mrrmse metric for validation\n\n# Validation Strategy\nOur team used k-fold cross-validation strategy. Our goal was to get stable score on train and do not fit our scores to public leaderboard. \n\nWe had a few submissions with very high public score but these submissions were blends of many models with different coefficient. We were not sure that their scores would be stable on private part. As a result, we chose a 0.5-0.5 blends from two our own models which didn't show great result on public but score very stable on cross validation.\n\nSources\nhttps://www.kaggle.com/code/alexandervc/pyboost-secret-grandmaster-s-tool\nhttps://www.kaggle.com/code/asimandia/kfold-simple-nn-refactored",
    "2555715": "Thanks for sharing @abramova  , blend of two models is indeed a unique approach , new insight 👍",
    "2555999": "Thank you, Katerina, briefly and accurately.\n I would add that we have tried other approaches and more complex networks.\nBut simple, understandable methods led to a good result."
  },
  "source": "meta"
}