Home » Python » NumPyの使い方 » シグモイド曲線をNumPyとMatplotlibで-np.exp関数

シグモイド曲線をNumPyとMatplotlibで-np.exp関数

動作検証バージョン:64bit Windows 10 Pro + Python 3.8.3 + NumPy 1.19.1 + matplotlib 3.3.1 + jupyter lab 2.2.8

シグモイド曲線をNumPyとMatplotlibで

「excel シグモイド曲線 書き方」
といった検索キーワードを元に、最近のExcelを使ってシグモイド曲線を描く手順をご紹介しました。

[スポンサードリンク]

SEQUENCE関数によってExcelでこういったグラフを作成するのが楽になったと感じますが、単にシグモイド曲線を描きたいのであれば、Pythonのほうが向いているように思います。

シグモイド曲線を描くPythonのスクリプト

以下のようなスクリプトで済んでしまいます。

import numpy as np
import matplotlib.pyplot as plt

a = 10
x = np.linspace(-1.0, 1.0, 101)
y = 1 / (1 + np.exp(-a*x))

plt.plot(x, y)
plt.show()

jupyte labで実行すると、下図のようなグラフが出力されます。

シグモイド曲線の例

Excelの場合、元データをワークシート上に作成する必要がありますが、Pythonなら、
  a = 10
  x = np.linspace(-1.0, 1.0, 101)
  y = 1 / (1 + np.exp(-a*x))
で済みます。
もちろん見えないだけで、裏ではグラフの元になるデータは作られています。

Excelではx軸のデータ作成を、
  =SEQUENCE(20+1, 1, -1*10, 0.1*10)/10
で行っていましたが、linspace関数を使って、
  x = np.linspace(-1.0, 1.0, 101)
としています。

y軸のデータ作成については、
  =1/(1 + EXP(-A2*B2#))
当然実際のコードとしては異なりますが、考え方は同じです。
  y = 1 / (1 + np.exp(-a*x))
NumPyのexp関数を利用しています。

シグモイド曲線の見た目を変更する

上記スクリプトの
  x = np.linspace(-1.0, 1.0, 101)
の部分を
  x = np.linspace(-1.0, 1.0, 11)
とすれば、滑らかさが低減した下図のようなグラフになります。

シグモイド曲線の例

また、
  plt.plot(x, y)
の部分を、
  plt.plot(x, y, color='#FF0000', linewidth=3.5)
とすれば、下図のようなグラフが出力されます。

シグモイド曲線の例

最終更新日時:2021-09-24 21:00

[スポンサードリンク]

Home » Python » NumPyの使い方 » シグモイド曲線をNumPyとMatplotlibで-np.exp関数

Copyright © インストラクターのネタ帳 All Rights Reserved.

.