What is a GAM; question about sklearn's SplineTransformer From my understanding, using basis-spline feature expansion/transformation with fixed parameters (number and placement of knots, etc.), then feeding that into a linear/logistic regression is technically a GAM. If we call this a "baby GAM", then it seems like a "fully grown GAM" learns the smoothing functions and its parameters during training.
Let me know if my understanding is in the right ballpark. Also, is it OK to call the "baby GAM" approach a GAM, or is it sort of a cultural faux pas like calling logistic regression a machine learning model?


it seems like a "fully grown GAM" learns the smoothing functions and its parameters during training.

That seems to overstate what a GAM can do. In practice, you need to specify the type of smoothing function to use for each of the predictors. The "learning" aims to provide best-fit parameter values for the choice of smoothing method(s). As a GAM can use any of several different approaches to smoothing, you might consider "GAM" to be a broad term that includes regression splines, penalized smoothing splines, local regression, etc. as particular implementations.
An Introduction to Statistical Learning devotes Chapter 7 to modeling non-linearities. From Section 7.7:

Generalized additive models (GAMs) provide a general framework for extending a standard linear model by allowing non-linear functions of each of the variables, while maintaining additivity.

I'd concentrate on the word "each" in that. A "fully grown GAM" might better be described as one that models each of the predictors with non-linear functions while maintaining additivity.
