RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作 Python

pythonでシグモイド関数と階段関数の表示

投稿日:

ディープラーニング目指して初心者は今日も行く。
初見じゃ何もわからない初心者です。
シグモイド関数?階段関数??なにこれ。

シグモイド関数!

階段関数!

目で見たらわかりますね!

コード

シグモイド関数表示のコードは以下の通り。
numpyとmatplotlib.pylabのインストール必須です。

import numpy as np
import matplotlib.pylab as plt

def step_function(x):
    return np.array(x > 0, dtype=np.int)

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

def plot(functions):
    x = np.arange(-5.0, 5.0, 0.1)
    y = eval(functions)(x)
    plt.plot(x, y)
    plt.ylim(-0.1, 1.1) # y軸範囲の決定
    plt.show()

#plot('step_function')
plot('sigmoid')

最後を以下のように変更すると階段関数が表示されます。

plot('step_function')
#plot('sigmoid')

plot関数はeval()入れて簡単にしました。
同じこと書かなくていいので楽ちん。

引っかかった所

eval()入力のところで引っかかりました。

def plot(functions):
    略
    y = eval(functions)(x)
    略

plot(step_function)

“TypeError: eval() arg 1 must be a string, bytes or code object”
あれ???ん????

plot()の引数がstr(文字)なのに”で囲ってませんでした!残念。

↓解決方法

plot('step_function')

なんてやつだ・・・初心者過ぎて・・・初歩的すぎる。

教科書はこれ(ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装)使ってます。初心者でもわかりやすい!でも1ページ読み飛ばしたらすぐ意味不明になります。マジで。
先にいちばんやさしいPythonの教本は読んでコード書いてます。Pythonの基礎の基礎が学べます。

続く。

-Web制作, Python

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

[Meisyo]第3回公式戦決勝戦

本日、Meisyoの第3回公式戦決勝戦がありました。 ダークホースの「sagasitamitaina」高校、悲運の帝王ジャガ畑高校。 チーム総合力を比較してみましょう 国立sagasitamitain …

no image

ユーザーのフォントを統一できる、Google Fontsの紹介

Web制作で困ることが多いのは「ユーザー全員が使えるフォントがない」ことでしょう。 ユーザーのパソコンに入っているフォントによって見え方が異なるためです。 つまり「見え方が統一できない」ことが多いです …

[Meisyo]育成方針の不均衡を減らすための分析

もともと問題視していた育成方針の選択数の不均衡。 なぜそれが起こるのかというと・・・、 使えない(と思いやすい)育成方針があるってことなんですよね。 詳しく見ていきましょう。 各方針の能力上昇(201 …

[Meisyo]お試しトークルーム作成

Meisyoに、他監督にショートメッセージを送れる機能を付けようと思います。 メインは管理者への連絡手段の作成です。 個人間での交流もあればいいかなー程度の適当さで作っています。 必要機能: ・個人間 …

[Meisyo]ビッグデータから学ぶ試合の基礎設計2

名将と呼ばれた者達、めちゃくちゃソースコードが長い(この記事) ここでは、「どのパラメータが打率等にどれくらい関係するのか」を理解することで強いチームを作る指針を記載しておきます。 というわけで27- …