--- a +++ b/lib/plot_stability.py @@ -0,0 +1,32 @@ +import matplotlib.pyplot as plt +import pandas as pd +from matplotlib import rc +import numpy as np + +# activate latex text rendering +rc('text', usetex=True) +cirrhosis = pd.read_csv('output/cirrhosis-KI.csv', index_col=0) +t2d = pd.read_csv('output/t2d-KI.csv', index_col=0) +obesity = pd.read_csv('output/obesity-KI.csv', index_col=0) +fig, axes = plt.subplots(3, 1, sharey=True, sharex=True, figsize=(5, 5)) +axes[0].set_yticks(np.arange(0, 1.0, step=0.2)) + +cirrhosis.plot(ax=axes[0], style=['g.--', 'y.--', 'b.--', 'r*-'], legend=False) +axes[0].set_title('Cirrhosis') + +axes[1].set_ylabel('Stability') +axes[0].set_xlabel('Features left(%)') + +t2d.plot(ax=axes[1], style=['g.--', 'y.--', 'b.--', 'r*-'], legend=False) +axes[1].set_title('T2D') +axes[1].set_xlabel('Features left(%)') + +obesity.plot(ax=axes[2], style=['g.--', 'y.--', 'b.--', 'r*-'], legend=False) +axes[2].set_title('Obesity') +axes[2].set_xlabel('Features left(\\%)') + +plt.legend(loc='center left', bbox_to_anchor=(1.05, 2), labelspacing=1.5, + labels=['mRMR', 'SVM-RFE', 'ReliefF', '\\textbf{DF}']) +plt.subplots_adjust(hspace=0.5) +plt.savefig('output/stability.png', bbox_inches='tight') +plt.show()