In [1]:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
plt.rcParams['figure.figsize'] = (20.0, 20.0)
estimators_reg = ["LassoLarsCV","DecisionTreeRegressor"]
estimators_clf = ["LogisticRegression", "DecisionTreeClassifier"]
df = pd.read_csv("FEW-config-compare-lex_size.csv", sep="\t");
problems_reg = ['concrete','enc','housing','uball5d','yacht']
problems_clf = ['heart','bc_clean','yeast','seg','wav']
for est in estimators_reg:
h,ax = plt.subplots(5,sharex=True)
h.suptitle(est,size=18)
df_est = df.loc[df['ml'] == est]
for i,p in enumerate(problems_reg):
df_prb = df_est.loc[df_est['dataset'] == p]
df_ls = df_prb.loc[df_prb['method'] == "lex_size"]
df_control = df_prb.loc[df_prb['method'] == "control"]
norm_scores_control = df_control['score'] - df_control['score'].median()
norm_scores_ls = df_ls['score'] - df_control['score'].median()
ax[i].boxplot(list([norm_scores_control.values, norm_scores_ls.values]))
ax[i].plot([0,3],[0,0],'-k')
ax[i].set_xticklabels(['without lexicase survival', 'with lexicase survival'])
ax[i].set_title(p)
plt.show()
In [2]:
for est in estimators_clf:
h,ax = plt.subplots(5,sharex=True)
h.suptitle(est,size=18)
df_est = df.loc[df['ml'] == est]
for i,p in enumerate(problems_clf):
df_prb = df_est.loc[df_est['dataset'] == p]
df_ls = df_prb.loc[df_prb['method'] == "lex_size"]
df_control = df_prb.loc[df_prb['method'] == "control"]
norm_scores_control = df_control['score'] - df_control['score'].median()
norm_scores_ls = df_ls['score'] - df_control['score'].median()
ax[i].boxplot(list([norm_scores_control.values, norm_scores_ls.values]))
ax[i].plot([0,3],[0,0],'-k')
ax[i].set_xticklabels(['without lexicase survival', 'with lexicase survival'])
ax[i].set_title(p)
plt.show()