欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 11.19机器学习_逻辑回归

11.19机器学习_逻辑回归

2024/11/30 8:28:34 来源:https://blog.csdn.net/gs1we1/article/details/143890299  浏览:    关键词:11.19机器学习_逻辑回归

十二 逻辑回归

1.概念

逻辑回归(Logistic Regression)是机器学习中的一种分类模型,逻辑回归是一种分类算法,虽然名字中带有回归,但是它与回归之间有一定的联系。由于算法的简单和高效,在实际中应用非常广泛。

逻辑回归一般用于二分类问题,比如:

是好瓜还是坏瓜

健康还是不健康

可以托付终身还是不可以

2.原理

逻辑回归的输入是线性回归的输出

线性回归: h ( w ) = w 1 x 1 + w 2 x 2 + . . . . + b h(w)=w_1x_1+w_2x_2+....+b h(w)=w1x1+w2x2+....+b

sigmoid激活函数 : f ( x ) = 1 1 + e − x f(x)=\frac{1}{1+e^{-x}} f(x)=1+ex1

sigmoid函数的值是在[0,1]区间中的一个概率值,默认为0.5为阈值可以自己设定,大于0.5认为是正例,小于则认为是负例

把上面的 h ( w ) h(w) h(w) 线性的输出再输入到sigmoid函数当中 f ( w ) = 1 1 + e − h ( w ) f(w)=\frac{1}{1+e^{-h(w)}} f(w)=1+eh(w)1

损失函数:

损失函数图:

当y=1时:

通过损失函数图像,我们知道:

当y=1时,我们希望 h θ ( x ) h\theta(x) hθ(x) 值越大越好

当y=0时,我们希望 h θ ( x ) h\theta(x) hθ(x) 值越小越好

综合0和1的损失函数:

手动算一下下:

然后使用梯度下降算法,去减少损失函数的值,这样去更新逻辑回归前面对应算法的权重参数,提升原本属于1类别的概率,降低原本是0类别的概率.

3.API

逻辑斯蒂

sklearn.linear_model.LogisticRegression()
参数:fit_intercept bool, default=True 指定是否计算截距max_iter int, default=100  最大迭代次数。迭代达到此数目后,即使未收敛也会停止。
模型对象:.coef_ 权重.intercept_ 偏置predict()预测分类predict_proba()预测分类(对应的概率)score()准确率

4.示例

#导包
import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
#加载数据
X,y = load_iris(return_X_y=True)
print(y)#二分类 删除第三类
X=X[y!=2]
y=y[y!=2]
print(y)#数据集划分
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.25,random_state=33)
print(X_train.shape,y_train.shape)#逻辑回归模型
model=LogisticRegression()#训练
model.fit(X_train,y_train)#权重
print(model.coef_)#偏置
print(model.intercept_)#预测分类
y_predict=model.predict(X_test)
print(y_predict)
print(y_test)#预测分类对应的概率
proba=model.predict_proba(X_test)
print(proba)#评估
print(model.score(X_test,y_test))

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com