逻辑回归(logistic)实际上是线性回归推导出来的。而且是一种分类学习方法。由于简单的二分类0-1图像不连续,我们想找到一种连续且可微的函数替换他。logistic function 正是这样一个函数
y=11+e−z
看看图:
代码是通过逻辑回归根据花萼和花瓣的大小区别出是”0花”还是”1花”
代码:
# -*- coding: utf-8 -*-
from sklearn import datasets
import numpy as np
iris = datasets.load_iris()
# 构建训练集和测试集
iris_X_train = np.array(list(iris.data[:30]) + list(iris.data[50:80]))
iris_X_test = np.array(list(iris.data[30:50]) + list(iris.data[80:100]))
iris_Y_train = np.array(list(iris.target[:30]) + list(iris.target[50:80]))
iris_Y_test = np.array(list(iris.target[30:50]) + list(iris.target[80:100]))
from sklearn import linear_model
# 构建模型
logistic = linear_model.LogisticRegression()
# 拟合数据
logistic = logistic.fit(iris_X_train, iris_Y_train)
# 显示参数
print(logistic.coef_,logistic.intercept_)
# 预测测试数据
print(logistic.predict(iris_X_test))
# 输出原始数据
print(iris_Y_test)
代码理解