# Predict the form of a function using machine learning

I have a function

F[x_] := x^3/(e^x -1)


I generate many data points i = 1,2,3,4, ...

Data := Table[ (x_i, F[x_i]), {i,1,10}]


Can I use machine learning to recover F[x] from this data? I mean I want an analytical expression, not some numerical function.

FindFormula does not seem to work.

FindFormula[{{0.01, 0.00009950083333194553}, {0.51,
0.19938787858268528}, {1.01, 0.5902270857639341}, {1.51,
0.9762443466200139}, {2.01, 1.256413783143141}, {2.51,
1.3987924662389322}, {3.01, 1.4139231366437974}, {3.51,
1.3326921266779141}, {4.01, 1.1908573908149254}, {4.51,
1.0201511993361019}, {5.01, 0.844509746648546}, {5.51,
0.6795993704877206}, {6.01, 0.5340484840896383}, {6.51,
0.41127547121761243}, {7.01, 0.31127339153687206}, {7.51,
0.232063120869884}, {8.01, 0.17074304099618653}, {8.51,
0.12417384640247439}, {9.01, 0.08937872541975592}, {9.51,
0.06374310481612774}}, x]


gives an answer 0.64198 (one number!) instead of the function x^3/(e^x -1)

• What about FindFormula? – Kuba May 2 at 11:38
• FindFormula does not work. FindFormula[Data,x] gives an answer as a single real number ! .... which is 0.64198 ... Bug maybe? – Quasar Supernova May 2 at 11:44
• Make sure your Data is correct. 1) e is not E, 2) what do you think Table[x_i, {i, 10}] does? – Kuba May 2 at 11:46