python画logistic拟合曲线_Python使用matplotlib绘制Logistic曲线操作示例

本文实例讲述了Python使用matplotlib绘制Logistic曲线操作。分享给大家供大家参考,具体如下:

标准Logistic函数为:

f(x) = 1 / ( 1 + exp(-x) )

其导函数为:

f'(x) = f(x) * ( 1 - f(x) )

下面使用matplotlib绘制逻辑斯蒂函数及其导函数的曲线。

Python代码:

# -*- coding:utf-8 -*-

#!python3

import numpy as np

import matplotlib.pyplot as plt

a = np.linspace(-10, 10, 1000)

b = 1.0 / (1.0 + np.exp(-a))

c = b * (1 - b)

plt.subplot(2, 1, 1)

plt.title('f(x) = 1 / ( 1 + exp(-x) )')

plt.plot(a, b)

plt.subplot(2, 1, 2)

plt.title('f\'(x) = f(x) * ( 1 - f(x) )')

plt.plot(a, c)

plt.show()

运行结果:

4421-wu3dhr3foi5.png

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将不同数据用logistic模型绘制的ROC曲线放在同一张图中,我们需要按照以下步骤进行: 1. 导入需要使用的库和数据 2. 将数据分为训练集和测试集 3. 对训练集进行特征选择和数据预处理 4. 使用训练集训练logistic模型 5. 对测试集进行预测并计算ROC曲线 6. 将不同数据的ROC曲线绘制在同一张图中 以下是一个示例代码,展示如何绘制不同数据用logistic模型绘制的ROC曲线放在同一张图中。 ```python import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import roc_curve, auc import matplotlib.pyplot as plt # 导入数据 data1 = pd.read_csv('data1.csv') data2 = pd.read_csv('data2.csv') # 将数据分为训练集和测试集 X_train1, X_test1, y_train1, y_test1 = train_test_split(data1.drop('label', axis=1), data1['label'], test_size=0.3, random_state=0) X_train2, X_test2, y_train2, y_test2 = train_test_split(data2.drop('label', axis=1), data2['label'], test_size=0.3, random_state=0) # 对训练集进行特征选择和数据预处理 # ... # 使用训练集训练logistic模型 model1 = LogisticRegression() model1.fit(X_train1, y_train1) model2 = LogisticRegression() model2.fit(X_train2, y_train2) # 对测试集进行预测并计算ROC曲线 fpr1, tpr1, _ = roc_curve(y_test1, model1.predict_proba(X_test1)[:, 1]) roc_auc1 = auc(fpr1, tpr1) fpr2, tpr2, _ = roc_curve(y_test2, model2.predict_proba(X_test2)[:, 1]) roc_auc2 = auc(fpr2, tpr2) # 将不同数据的ROC曲线绘制在同一张图中 plt.figure() plt.plot(fpr1, tpr1, color='darkorange', lw=2, label='Data 1 ROC curve (area = %0.2f)' % roc_auc1) plt.plot(fpr2, tpr2, color='blue', lw=2, label='Data 2 ROC curve (area = %0.2f)' % roc_auc2) plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--') plt.xlim([0.0, 1.0]) plt.ylim([0.0, 1.05]) plt.xlabel('False Positive Rate') plt.ylabel('True Positive Rate') plt.title('Receiver operating characteristic example') plt.legend(loc="lower right") plt.show() ``` 这将绘制两个ROC曲线,其中每个曲线都有一个标签,然后我们添加图例,设置横轴和纵轴标签,以及图表标题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值