Can you please elaborate what is the difference between Regression with sklearn and without sklearn?
What is main ideology of using different ways for regression?
The concept of regression is the same in both cases.
You can perform a regression with Excel, Stata, SPSS, R, Python, C, C++, Java and most programming languages in general.
When we are using Python, we can perform a regression by writing the whole mathematics and code by hand, or use a ready-to-use package.
Famous packages that have developed modules for regressions are NumPy, SciPy, StatsModels, sklearn, TensorFlow, PyTorch, etc. There are truly numerous ways perform a regression in Python.
While there are many packages (also called libraries), the NumPy and SciPy capabilities for a regression are not so well developed.
Alternatively, statsmodels and sklearn are especially good for regressions. StatsModels focuses on the statistical side of regressions (ways to check assumptions, etc. to be able to identify the most important factors), while sklearn on the machine learning side (accuracy is what matters most).
In general I suggest using statsmodels or sklearn for a regression. The main difference between the two are the ready-to-use methods which are included.