Interface INonLinearRegression<T>
- Namespace
- AiDotNet.Interfaces
- Assembly
- AiDotNet.dll
Defines the functionality for non-linear regression models in the AiDotNet library.
public interface INonLinearRegression<T> : IRegression<T>, IFullModel<T, Matrix<T>, Vector<T>>, IModel<Matrix<T>, Vector<T>, ModelMetadata<T>>, IModelSerializer, ICheckpointableModel, IParameterizable<T, Matrix<T>, Vector<T>>, IFeatureAware, IFeatureImportance<T>, ICloneable<IFullModel<T, Matrix<T>, Vector<T>>>, IGradientComputable<T, Matrix<T>, Vector<T>>, IJitCompilable<T>
Type Parameters
TThe numeric data type used for calculations (e.g., float, double).
- Inherited Members
- Extension Methods
Remarks
This interface extends IFullModel to provide specialized capabilities for non-linear regression, which is used to model relationships that don't follow a straight line.
For Beginners: Non-linear regression helps you find patterns in data that follow curves instead of straight lines.
What is non-linear regression?
- Linear regression finds relationships that follow straight lines (like y = mx + b)
- Non-linear regression finds relationships that follow curves or more complex patterns
- These could be exponential curves, bell curves, sine waves, or other non-straight patterns
Real-world examples where non-linear patterns appear:
- Population growth (often follows exponential curves)
- Learning curves (progress is fast at first, then slows down)
- Seasonal sales data (follows cyclical patterns)
- Chemical reactions (may follow logarithmic or exponential patterns)
- Disease spread (often follows S-shaped logistic curves)
When to use non-linear regression:
- When plotting your data shows a clear curve rather than a straight line
- When you know from theory that the relationship should be non-linear
- When linear models give poor results or don't make sense for your problem
This interface provides methods to create, train, and use non-linear regression models through the functionality inherited from IFullModel.