Dear all
I have trained a model with Random forest regression for bulk modulus prediction. How do I export this model and predicting?
Any advice would be gratefully appreciated.
Hello Chundo,
You will need to save your model and featurizer with Pickle (Pythonās tool for saving and loading variables). Saving them will look something like:
import pickle as pkl
with open('featurizer.pkl', 'wb') as fp:
pkl.dump(feat, fp) # Writes the featurizer to file named "featurizer.pkl"
with open('model.pkl', 'wb') as fp:
pkl.dump(model, fp) # Save the model to "model.pkl"
Once they are saved, you can load them back in later:
import pickle as pkl
with open('featurizer.pkl', 'rb') as fp: # 'rb' means read in _binary_ mode
feat = pkl.load(fp)
with open('model.pkl', 'rb') as fp:
model = pkl.load(fp)
# Run the prediction
X = feat.featurize_many([...])
y_pred = model.predict(X)
Happy to dig into more detail if any of this is unclear.
Dear Logan Ward
Thanks for your kind and helpful reply. I have encountered another problem with using this script on bulk_modulus.ipynb(Jupyter Notebook Viewer):
I added :
import pickle as pkl
with open(āfeaturizer.pklā, āwbā) as fp:
pkl.dump(X, fp) # Save the feature to āfeaturizer.pklā
with open(āmodel.pklā, āwbā) as fb:
pkl.dump(lr, fb) # Save the model to āmodel.pklā
Xa = X.featurize_many([ā¦])
y_pred = model.predict(Xa)
Great, looks like most of it is working.
The line should be feat.fetaurize_many
not X.featurize_many
Wait - a quick question. Are you using a Featurizer to compute āXā?
Yes, first I import the original data such as formula, space group, composition for features creationļ¼all features are stored in X. And use the model to calculate that. Under your help, I remodified the script by deleting the Xa = X.featurize_many([ā¦]) . Just y_pred = model.predict(X). It worked for me. Thanks for your helpful and kind reply.