Spaces:
Running
Running
Commit
·
6210be0
1
Parent(s):
f257e58
Allow specifying precision in LaTeX output
Browse files- pysr/sr.py +14 -3
pysr/sr.py
CHANGED
|
@@ -1721,7 +1721,7 @@ class PySRRegressor(MultiOutputMixin, RegressorMixin, BaseEstimator):
|
|
| 1721 |
return [eq["sympy_format"] for eq in best_equation]
|
| 1722 |
return best_equation["sympy_format"]
|
| 1723 |
|
| 1724 |
-
def latex(self, index=None):
|
| 1725 |
"""
|
| 1726 |
Return latex representation of the equation(s) chosen by `model_selection`.
|
| 1727 |
|
|
@@ -1733,6 +1733,9 @@ class PySRRegressor(MultiOutputMixin, RegressorMixin, BaseEstimator):
|
|
| 1733 |
the `model_selection` parameter. If there are multiple output
|
| 1734 |
features, then pass a list of indices with the order the same
|
| 1735 |
as the output feature.
|
|
|
|
|
|
|
|
|
|
| 1736 |
|
| 1737 |
Returns
|
| 1738 |
-------
|
|
@@ -1742,8 +1745,16 @@ class PySRRegressor(MultiOutputMixin, RegressorMixin, BaseEstimator):
|
|
| 1742 |
self.refresh()
|
| 1743 |
sympy_representation = self.sympy(index=index)
|
| 1744 |
if self.nout_ > 1:
|
| 1745 |
-
|
| 1746 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1747 |
|
| 1748 |
def jax(self, index=None):
|
| 1749 |
"""
|
|
|
|
| 1721 |
return [eq["sympy_format"] for eq in best_equation]
|
| 1722 |
return best_equation["sympy_format"]
|
| 1723 |
|
| 1724 |
+
def latex(self, index=None, precision=3):
|
| 1725 |
"""
|
| 1726 |
Return latex representation of the equation(s) chosen by `model_selection`.
|
| 1727 |
|
|
|
|
| 1733 |
the `model_selection` parameter. If there are multiple output
|
| 1734 |
features, then pass a list of indices with the order the same
|
| 1735 |
as the output feature.
|
| 1736 |
+
precision : int, default=3
|
| 1737 |
+
The number of significant figures shown in the LaTeX
|
| 1738 |
+
representation.
|
| 1739 |
|
| 1740 |
Returns
|
| 1741 |
-------
|
|
|
|
| 1745 |
self.refresh()
|
| 1746 |
sympy_representation = self.sympy(index=index)
|
| 1747 |
if self.nout_ > 1:
|
| 1748 |
+
output = []
|
| 1749 |
+
for s in sympy_representation:
|
| 1750 |
+
raw_latex = sympy.latex(s)
|
| 1751 |
+
reduced_latex = set_precision_of_constants_in_string(
|
| 1752 |
+
raw_latex, precision
|
| 1753 |
+
)
|
| 1754 |
+
output.append(reduced_latex)
|
| 1755 |
+
return output
|
| 1756 |
+
raw_latex = sympy.latex(sympy_representation)
|
| 1757 |
+
return set_precision_of_constants_in_string(raw_latex, precision)
|
| 1758 |
|
| 1759 |
def jax(self, index=None):
|
| 1760 |
"""
|