Closed n-yoshikawa closed 11 months ago
@smichtavy I think wrote the GPR code - can you take a look?
Hello, @n-yoshikawa! Thanks for opening this issue.
We use Isomap to reduce dimensionality in the GPR.
When creating the AskTellGPR object, you can pass a pool
object for fitting the isomap using this pool.
When this pool isn't provided, the class trains the isomap when we use the tell
method.
The problem here is that your model is trying to fit the isomap using only one point (all the points it knows).
You can explicitly avoid training while tell
ing the first few points.
xs=['1-bromopropane', '1-bromopentane', '1-bromooctane', '1-bromonaphthalene', '1,4-dinitrobenzene']
ys=[-1.730, -3.080, -5.060, -4.35, -3.390]
for x,y in zip(xs, ys):
asktell.tell(x,y, train=False)
This will let you pass some points to be able to fit the isomap. And then use the model normally:
asktell.tell('penta-1,4-diene', -2.090)
asktell.predict('1-bromohexane')
Can you let me know if that works for you? Thanks!
@maykcaldas - great explanation. Can we add a better exception for this problem?
Hello, @maykcaldas! Your code worked in my environment. Thank you so much for your answer!
The mentioned behavior seems tricky to me as it is different from the example for AskTellFewShotTopk()
in readme and train=False
was not used in the example notebook.
Also, I am still confused about the correspondence between the model names in this library and the names on the paper.
I would appreciate it if you could extend the documentation about the differences between implemented models.
We added an exception message for that case explaining how to correctly address this issue.
Thank you for developing interesting software!
I wanted to test
AskTellGPR()
functionality, but I encountered an errorValueError: Expected n_neighbors <= n_samples, but n_samples = 1, n_neighbors = 6
.Code to reproduce
Result
A similar error also occurred when running CORxn.ipynb.
Software version
I would appreciate it if you could provide any information to resolve this error. Thank you.