网站大量收购闲置独家精品文档,联系QQ:2885784924

如何在 Python 中创建精确召回曲线.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

如何在Python中创建精确召回曲线

在机器学习中使用分类模型时,我们经常使用两个指标来评估模型的质量:精确率和召回率。

精度:相对于总阳性预测的正确阳性预测。

计算如下:

精度=真阳性/(真阳性+假阳性)

召回率:相对于实际阳性总数的正确阳性预测

计算如下:

召回率=真阳性/(真阳性+假阴性)

为了可视化某个模型的精度和召回率,我们可以创建一条精度-召回率曲线。该曲线显示了不同阈值下精度和召回率之间的权衡。

以下分步示例展示了如何在Python中为逻辑回归模型创建精确召回曲线。

第1步:导入包

首先,我们将导入必要的包:

fromsklearn从sklearn导入数据

集。model_selection从sklearn导入train_test_split

。线性模型从sklearn导入LogisticRegression

。指标导入precision_recall_curve导入matplotlib。pyplot作为plt

步骤2:拟合Logistic回归模型

接下来,我们将创建一个数据集并为其拟合逻辑回归模型:

#创建具有5个预测变量的数据集X,y=数据集。make_classification(n_samples=1000,

n_特征=4,

n_informative=3,

n_redundant=1,

随机状态=0)#将数据集拆分为训练集和测试集X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=.3,random_state=0)#将逻辑回归模型拟合到数据集分类器=LogisticRegression()

分类器。适合(X_train,y_train)#使用逻辑回归模型进行预测y_score=classifier.预测概率(X_test)[:,1]

第3步:创建精确率-召回率曲线

接下来,我们将计算模型的精度和召回率,并创建精度-召回率曲线:

#计算精度和召回率precision,recall,thresholds=precision_recall_curve(y_test,y_score)#创建精度召回曲线Fig,ax=plt.次要情节()

斧头。绘图(召回率、精度、颜色=紫色)#添加轴标签来绘制ax。set_title(精确召回曲线)

斧头。set_ylabel(精度)

斧头。set_xlabel(召回)#显示绘图

plt.展示()

x轴显示召回率,y轴显示各种阈值的精度。

请注意,随着召回率的增加,精确度会降低。

这代表了两个指标之间的权衡。为了提高模型的召回率,精度必须降低,反之亦然。

当响应变量是二元时,逻辑回归是我们可以用来拟合回归模型的方法。

逻辑回归使用称为最大似然估计的方法来查找以下形式的方程:

log[p(X)/(1-p(X))]=β?0?+β?1?X?1?+β?2?X?2?+…+β?p?X?p

在哪里:

X?j:第j个预测变量

β?j?:第j个预测变量的系数估计

方程右侧的公式预测?响应变量取值为1的对数几率。

因此,当我们拟合逻辑回归模型时,我们可以使用以下方程来计算给定观测值为1的概率:

p(X)=e?β?0?+β?1?X?1?+β?2?X?2?+…+β?p?X?p?/(1+e?β?0?+β?1?X?1?+β?2?X?2?+…+β?p?X?p?)

然后我们使用一些概率阈值将观察结果分类为1或0。

例如,我们可能会说,概率大于或等于0.5的观测值将被分类为“1”,所有其他观测值将被分类为“0”。

本教程提供了如何在R中执行逻辑回归的分步示例。

第1步:导入必要的包

首先,我们将导入必要的包以在Python中执行逻辑回归:

从sklearn导入pandas作为pd导入numpy作为np

。model_selection从sklearn导入train_test_split

。线性模型从sklearn导入LogisticRegression导入指标导入matplotlib。pyplot作为plt

第2步:加载数据

对于此示例,我们将使用?《统计学习简介》一书中的默认数据集。我们可以使用以下代码来加载并

您可能关注的文档

文档评论(0)

晶方科技 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档