scikit-learn implements the LogisticRegression class, which can solve this problem using optimized algorithms. Let's consider a toy dataset made of 500 samples:
The dots belong to class 0, while the triangles belong to class 1. To immediately test the accuracy of our classification, it's useful to split the dataset into training and test sets:
from sklearn.model_selection import train_test_splitX_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.25)
Now, we can train the model using these default parameters:
from sklearn.linear_model import ...