Wouldn't it be better to be explicit here and raise an Exception as described by @ogrisel ? I find it slightly scary that 
```python
assert isinstance(X, np.ndarray)
c1 = Ridge().fit(X, y).coef_
c2 = Ridge.fit(csr_matrix(X), y).coef_
```
are potentially completely different without alerting the user.