Evaluating the CE model
We are now ready to evaluate a CE model constructed from the initial 10
calculations. The evaluation of the CE model is performed using CEBulk
class, and it supports 3 different linear regression schemes: Bayesian
Compressive Sensing (BCS), \(\ell_1\) and \(\ell_2\) regularization.
We will be trying out \(\ell_1\) and \(\ell_2\) regularization schemes
to see how they perform using the script below. The script is written to use
\(\ell_1\) regularization as a fitting scheme (i.e., fitting_scheme=’l1’),
and you can change the fitting scheme to \(\ell_2\) simply by changing it
to ‘l2’.
For this tutorial, we use EMT
calculator to
demonstrate how one can run calculations on the structures generated using
CLEASE and update database with the calculation results for further evaluation
of the CE model. Here is a simple example script that runs the calculations
for all structures that are not yet converged
>>> from clease import Evaluate
>>> import clease.plot_post_process as pp
>>> import matplotlib.pyplot as plt
>>>
>>> eva = Evaluate(settings=settings, scoring_scheme='k-fold', nsplits=10)
>>> # scan different values of alpha and return the value of alpha that yields
>>> # the lowest CV score
>>> eva.set_fitting_scheme(fitting_scheme='l1')
>>> alpha = eva.plot_CV(alpha_min=1E-7, alpha_max=1.0, num_alpha=50)
>>>
>>> # set the alpha value with the one found above, and fit data using it.
>>> eva.set_fitting_scheme(fitting_scheme='l1', alpha=alpha)
>>> eva.fit() # Run the fit with these settings.
>>>
>>> fig = pp.plot_fit(eva)
>>> plt.show()
>>>
>>> # plot ECI values
>>> fig = pp.plot_eci(eva)
>>> plt.show()
>>> # save a dictionary containing cluster names and their ECIs
>>> eva.save_eci(fname='eci_l1')
For more information, see Evaluate
.