Kaggle competition: Mechanisms of Action (MoA) Prediction
<SOS> metric: MeanColumnwiseLogLoss Kaggle data source: mechanisms-of-action-(moa)-prediction<concatenate>
import numpy as np
import pandas as pd
outlier_df = pd.concat([outlier_df, outlier_all], sort=True)
 outlier_df<groupby>
df1 = pd.read_csv('.. /input/moafinal/2head1833.csv')
 df2 = pd.read_csv('.. /input/moafinal/noscored1836.csv')
 df3 = pd.read_csv('.. /input/moafinal/psedu1824.csv')
 df4 = pd.read_csv('.. /input/moafinal/resnet1833.csv')
 df5 = pd.read_csv('.. /input/moafinal/threeaverage1825.csv')
 df6 = pd.read_csv('.. /input/moafinal/transfers1835.csv' )
idx_group = ['Country_Region', 'Province_State']
def day_reached_cases(df, name, no_cases=1):

 gb = df[df['ConfirmedCases'] >= no_cases].groupby(idx_group)
 return gb.Dayofyear.first().reset_index().rename(columns={'Dayofyear': name})
 def area_fatality_rate(df):

 gb = df[df['Fatalities'] >= 22].groupby(idx_group)
 res_df =(gb.Fatalities.last() / gb.ConfirmedCases.last() ).reset_index()
return res_df.rename(columns={0 : 'FatalityRate'} )<merge>
def order_sub(sub):
return sub.sort_values('sig_id' ).reset_index(drop=True )
def joined_data(df):
res = df.copy()
fatality = area_fatality_rate(train_df)
 first_nonzero = day_reached_cases(train_df, 'FirstCaseDay', 1)
 first_fifty = day_reached_cases(train_df, 'First50CasesDay', 50)
 res = pd.merge(res, continent_meta, how='left')
 res = pd.merge(res, recoveries_meta, how='left')
 res = pd.merge(res, meta_df, how='left')
 res = pd.merge(res, countryinfo, how='left')
 res = pd.merge(res, testinfo, how='left', left_on=idx_group, right_on=idx_group)
 res = pd.merge(res, fatality, how='left')
 res = pd.merge(res, first_nonzero, how='left')
 res = pd.merge(res, first_fifty, how='left')
 return res
train_df = joined_data(train_df)
 test_df = joined_data(test_df )<count_missing_values>
df1 = order_sub(df1)
 df2 = order_sub(df2)
 df3 = order_sub(df3)
 df4 = order_sub(df4)
 df5 = order_sub(df5)
 df6 = order_sub(df6)
 subs = [df1,df2,df3,df4,df5,df6]
train_df.FirstCaseDay.isna().sum()<feature_engineering>
from sklearn.metrics import mean_absolute_error as mae
def with_new_features(df):
res = df.copy()
add_datepart(res, 'quarantine', prefix='qua')
 add_datepart(res, 'schools', prefix='sql')
 res['DaysSinceFirst'] = res['Dayofyear'] - res['FirstCaseDay']
res['DaysSince50'] = res['Dayofyear'] - res['First50CasesDay']
res['DaysQua'] = res['Dayofyear'] - res['quaDayofyear']
res['DaysSql'] = res['Dayofyear'] - res['sqlDayofyear']
return res
train_df = with_new_features(train_df)
 test_df = with_new_features(test_df )<load_from_csv>
for i in range(6):
for j in range(i+1, 6):
df_i, df_j = subs[i], subs[j]
abs_diff= mae(subs[i].values[:,1:], subs[j].values[:,1:])
 print(f'submission {i} and {j}: {abs_diff:.5f}' )
PATH4 = '/kaggle/input/covid19forecastforvalidset/'
valid_preds = pd.read_csv(PATH4 + 'forecast.csv')
 test_with_preds = test_df.merge(valid_preds, how='left')
 test_with_preds = test_with_preds[(test_with_preds['Date'] > train_df.Date.max())&(test_with_preds['Date'] <= '2020-04-28')]
test_with_preds.index += train_df.shape[0]
train_new = pd.concat([train_df, test_with_preds], sort=True ).sort_values(by='Date')
 train_new<feature_engineering>
BLEND=df1.copy()
BLEND.iloc[:,1:] =(df1.iloc[:,1:] +df2.iloc[:,1:] +df3.iloc[:,1:] +df5.iloc[:,1:]+df6.iloc[:,1:])*0.2
train_new = train_new[train_new['Date'] >= '2020-02-20']
train_len = train_new[train_new['Date'] <= train_df['Date'].max() ].shape[0]<define_variables>
TARGET_COL = ['5-alpha_reductase_inhibitor', '11-beta-hsd1_inhibitor', 'acat_inhibitor', 'acetylcholine_receptor_agonist', 'acetylcholine_receptor_antagonist', 'acetylcholinesterase_inhibitor', 'adenosine_receptor_agonist', 'adenosine_receptor_antagonist', 'adenylyl_cyclase_activator', 'adrenergic_receptor_agonist', 'adrenergic_receptor_antagonist', 'akt_inhibitor', 'aldehyde_dehydrogenase_inhibitor', 'alk_inhibitor', 'ampk_activator', 'analgesic', 'androgen_receptor_agonist', 'androgen_receptor_antagonist', 'anesthetic_-_local', 'angiogenesis_inhibitor', 'angiotensin_receptor_antagonist', 'anti-inflammatory', 'antiarrhythmic', 'antibiotic', 'anticonvulsant', 'antifungal', 'antihistamine', 'antimalarial', 'antioxidant', 'antiprotozoal', 'antiviral', 'apoptosis_stimulant', 'aromatase_inhibitor', 'atm_kinase_inhibitor', 'atp-sensitive_potassium_channel_antagonist', 'atp_synthase_inhibitor', 'atpase_inhibitor', 'atr_kinase_inhibitor', 'aurora_kinase_inhibitor', 'autotaxin_inhibitor', 'bacterial_30s_ribosomal_subunit_inhibitor', 'bacterial_50s_ribosomal_subunit_inhibitor', 'bacterial_antifolate', 'bacterial_cell_wall_synthesis_inhibitor', 'bacterial_dna_gyrase_inhibitor', 'bacterial_dna_inhibitor', 'bacterial_membrane_integrity_inhibitor', 'bcl_inhibitor', 'bcr-abl_inhibitor', 'benzodiazepine_receptor_agonist', 'beta_amyloid_inhibitor', 'bromodomain_inhibitor', 'btk_inhibitor', 'calcineurin_inhibitor', 'calcium_channel_blocker', 'cannabinoid_receptor_agonist', 'cannabinoid_receptor_antagonist', 'carbonic_anhydrase_inhibitor', 'casein_kinase_inhibitor', 'caspase_activator', 'catechol_o_methyltransferase_inhibitor', 'cc_chemokine_receptor_antagonist', 'cck_receptor_antagonist', 'cdk_inhibitor', 'chelating_agent', 'chk_inhibitor', 'chloride_channel_blocker', 'cholesterol_inhibitor', 'cholinergic_receptor_antagonist', 'coagulation_factor_inhibitor', 'corticosteroid_agonist', 'cyclooxygenase_inhibitor', 'cytochrome_p450_inhibitor', 'dihydrofolate_reductase_inhibitor', 'dipeptidyl_peptidase_inhibitor', 'diuretic', 'dna_alkylating_agent', 'dna_inhibitor', 'dopamine_receptor_agonist', 'dopamine_receptor_antagonist', 'egfr_inhibitor', 'elastase_inhibitor', 'erbb2_inhibitor', 'estrogen_receptor_agonist', 'estrogen_receptor_antagonist', 'faah_inhibitor', 'farnesyltransferase_inhibitor', 'fatty_acid_receptor_agonist', 'fgfr_inhibitor', 'flt3_inhibitor', 'focal_adhesion_kinase_inhibitor', 'free_radical_scavenger', 'fungal_squalene_epoxidase_inhibitor', 'gaba_receptor_agonist', 'gaba_receptor_antagonist', 'gamma_secretase_inhibitor', 'glucocorticoid_receptor_agonist', 'glutamate_inhibitor', 'glutamate_receptor_agonist', 'glutamate_receptor_antagonist', 'gonadotropin_receptor_agonist', 'gsk_inhibitor', 'hcv_inhibitor', 'hdac_inhibitor', 'histamine_receptor_agonist', 'histamine_receptor_antagonist', 'histone_lysine_demethylase_inhibitor', 'histone_lysine_methyltransferase_inhibitor', 'hiv_inhibitor', 'hmgcr_inhibitor', 'hsp_inhibitor', 'igf-1_inhibitor', 'ikk_inhibitor', 'imidazoline_receptor_agonist', 'immunosuppressant', 'insulin_secretagogue', 'insulin_sensitizer', 'integrin_inhibitor', 'jak_inhibitor', 'kit_inhibitor', 'laxative', 'leukotriene_inhibitor', 'leukotriene_receptor_antagonist', 'lipase_inhibitor', 'lipoxygenase_inhibitor', 'lxr_agonist', 'mdm_inhibitor', 'mek_inhibitor', 'membrane_integrity_inhibitor', 'mineralocorticoid_receptor_antagonist', 'monoacylglycerol_lipase_inhibitor', 'monoamine_oxidase_inhibitor', 'monopolar_spindle_1_kinase_inhibitor', 'mtor_inhibitor', 'mucolytic_agent', 'neuropeptide_receptor_antagonist', 'nfkb_inhibitor', 'nicotinic_receptor_agonist', 'nitric_oxide_donor', 'nitric_oxide_production_inhibitor', 'nitric_oxide_synthase_inhibitor', 'norepinephrine_reuptake_inhibitor', 'nrf2_activator', 'opioid_receptor_agonist', 'opioid_receptor_antagonist', 'orexin_receptor_antagonist', 'p38_mapk_inhibitor', 'p-glycoprotein_inhibitor', 'parp_inhibitor', 'pdgfr_inhibitor', 'pdk_inhibitor', 'phosphodiesterase_inhibitor', 'phospholipase_inhibitor', 'pi3k_inhibitor', 'pkc_inhibitor', 'potassium_channel_activator', 'potassium_channel_antagonist', 'ppar_receptor_agonist', 'ppar_receptor_antagonist', 'progesterone_receptor_agonist', 'progesterone_receptor_antagonist', 'prostaglandin_inhibitor', 'prostanoid_receptor_antagonist', 'proteasome_inhibitor', 'protein_kinase_inhibitor', 'protein_phosphatase_inhibitor', 'protein_synthesis_inhibitor', 'protein_tyrosine_kinase_inhibitor', 'radiopaque_medium', 'raf_inhibitor', 'ras_gtpase_inhibitor', 'retinoid_receptor_agonist', 'retinoid_receptor_antagonist', 'rho_associated_kinase_inhibitor', 'ribonucleoside_reductase_inhibitor', 'rna_polymerase_inhibitor', 'serotonin_receptor_agonist', 'serotonin_receptor_antagonist', 'serotonin_reuptake_inhibitor', 'sigma_receptor_agonist', 'sigma_receptor_antagonist', 'smoothened_receptor_antagonist', 'sodium_channel_inhibitor', 'sphingosine_receptor_agonist', 'src_inhibitor', 'steroid', 'syk_inhibitor', 'tachykinin_antagonist', 'tgf-beta_receptor_inhibitor', 'thrombin_inhibitor', 'thymidylate_synthase_inhibitor', 'tlr_agonist', 'tlr_antagonist', 'tnf_inhibitor', 'topoisomerase_inhibitor', 'transient_receptor_potential_channel_antagonist', 'tropomyosin_receptor_kinase_inhibitor', 'trpv_agonist', 'trpv_antagonist', 'tubulin_inhibitor', 'tyrosine_kinase_inhibitor', 'ubiquitin_specific_protease_inhibitor', 'vegfr_inhibitor', 'vitamin_b', 'vitamin_d_receptor_agonist', 'wnt_inhibitor']
NUM_TARGET = len(TARGET_COL )
<define_variables><EOS> 
submission = pd.read_csv('/kaggle/input/lish-moa/sample_submission.csv')
 df = pd.read_csv("/kaggle/input/lish-moa/sample_submission.csv")
 public_id = list(df['sig_id'].values)
 df_test = pd.read_csv('/kaggle/input/lish-moa/test_features.csv')
 test_id = list(df_test['sig_id'].values)
 private_id = list(set(test_id)-set(public_id))
df_submit = pd.DataFrame(index = public_id+private_id, columns=TARGET_COL)
 df_submit.index.name = 'sig_id'
df_submit[:] = 0
df_predict = BLEND.copy()
df_submit.loc[df_predict.sig_id,:] = df_predict[TARGET_COL].values
df_submit.loc[df_test[df_test.cp_type=='ctl_vehicle'].sig_id]= 0
df_submit.to_csv('submission.csv',index=True )