I just need to understand the differences between sklearn, pytorch, tensorflow and keras in terms which implements traditional machine learning algorithms ( Linear regression , knn, decision trees, SVM and so on) and which implements deep learning algorithms. Moreover, which is considered the more efficient for implementing traditional machine learning algorithms and for implementing deep learning algorithms ?
scikit-learn is a library that is used most often when working with the more traditional non neural network models, whereas the other three are more focused on neural networks. Between
keras is sort of the odd one out because it is a library built on top of
tensorflow meant as an interface to more easily create and train neural networks.