Curve Fit

Fit a function to data.


  • Data: input dataset

  • Preprocessor: preprocessing method(s)


  • Learner: curve fit learning algorithm

  • Model: trained model

  • Coefficients: fitted coefficients

The Curve Fit widget fits an arbitrary function to the input data. It only works for regression tasks. The widget uses scipy.curve_fit to find the optimal values of the parameters.

The widget works only on regression tasks and only numerical features can be used for fitting.


  1. The learner/predictor name.

  2. Introduce model parameters.

  3. Input an expression in Python. The expression should consist of at least one fitting parameter.

  4. Select a feature to include into the expression. Only numerical features are available.

  5. Select a parameter. Only the introduced parameters are available.

  6. Select a function.

  7. Press Apply to commit changes. If Apply Automatically is ticked, changes are committed automatically.

  8. Show help, produce a report, input/output info.


Curve fit uses default preprocessing when no other preprocessors are given. It executes them in the following order:

  • removes instances with unknown target values

  • removes empty columns

  • imputes missing values with mean values

To remove default preprocessing, connect an empty Preprocess widget to the learner.


Below, is a simple workflow with housing dataset. Due to example simplicity we used only a single feature. Unlike the other modelling widgets, the Curve Fit needs data on the input. We trained Curve Fit and Linear Regression and evaluated their performance in Test & Score.