机器学习之逻辑回归
1、分类问题
分类问题常用的算法:逻辑回归
y=0 :垃圾邮件
y=1:正常邮件

准确来说是分类任务与线性回归任务的区别
2、逻辑回归
2.1、二分类问题线性回归
分类任务可以尝试建立线性回归模型,找出y=ax+b的函数表达式
已知10个点建立线性回归模型
(-5,0) (-4,0) (-3,0) (-2,0) (-1,0)
(1,1) (2,1) (3,1) (4,1) (5,1)
import numpy as np
from sklearn.linear_model import LinearRegression
# 获取数据
x = np.array([-5, -4, -3, -2, -1, 1, 2, 3, 4, 5])
X = x.reshape(-1, 1)
y = np.array([0,0,0,0,0,1,1,1,1,1])
# 寻找a、b(y = ax + b)
lr_model = LinearRegression()
lr_model.fit(X,y)
# 展示a、b
a = lr_model.coef_
b = lr_model.intercept_
#打印系数a和截距b
print("斜率a",a)
print("截距b",b)

当y>=0.5时y=1
y<0.5时,y=0.
似乎y=0.1364x+0.5适用了。
但是线性回归的局限性也大

import numpy as np
from sklearn.linear_model import LinearRegression
# 获取数据
x = np.array([-5, -4, -3, -2, -1, 1, 2, 3, 4, 5,50])
X = x.reshape(-1, 1)
y = np.array([0,0,0,0,0,1,1,1,1,1,1])
# 寻找a、b(y = ax + b)
lr_model = LinearRegression()
lr_model.fit(X,y)
# 展示a、b
a = lr_model.coef_
b = lr_model.intercept_
#打印系数a和截距b
print("斜率a",a)
print("截距b",b)

当x=1时代入方程式。结果发现y=0.49<0.5.所以y=0.错了
因此不能用线性回归
用逻辑回归
2.2、二分类问题逻辑回归