As suggested by Olivier, we can indeed give up inheriting from any base class, since Ridge is currently the only estimator with both linear and non-linear support. We can achieve code reuse through functions rather than through inheritance. The 4 ridge classes can inherit from _BaseRidge though.

Another solution is to create a KernelizableModel base class that would be aware of both coef_ and dual_coef_. But we would end up spending effort on formalizing / factorizing concepts even though only one class is currently concerned.