逻辑回归
线性可分数据→逻辑回归
非线性可分数据→多项式逻辑回归
多分类问题→OvO, OvR
1 逻辑回归代码实现
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
x, y = make_classification(
n_samples=200,
n_features=2,
n_redundant=0,
n_classes=2,
n_clusters_per_class=1,
random_state=50
)
print(x.shape, y.shape)
x_train, x_test, y_train, y_test = train_test_split(x, y, train_size=0.7, random_state=0, stratify=y)
plt.scatter(x_train[:, 0], x_train[:, 1], c=y_train)
plt.show()
clf = LogisticRegression()
clf.fit(x_train, y_train)
print(clf.score(x_train, y_train))
print(clf.score(x_test, y_test))
y_predict = clf.predict(x_test)
print(y_predict)
print(clf.predict_proba(x_test)[:3])
print(np