IT工房 ブログ

Python ジェネレータの作成

ジェネレータは反復子を作るためのもので、通常の関数と同様に作成します。 returnの代わりにyield を使用するのが特徴です。 yieldが使用された関数ならジェネレータであると言えます。 そして、yieldで返した値を順番に覚えて置いて、next関数で呼び出すことができます。 ジェネレータは反  >>続きを読む

PYTHON入門で気をつけるポイント(5)オブジェクト指向についてー(2)

コンストラクタ クラスをインスタンス化すると、空のオブジェクトを生成します。 通常オブジェクトを作成する際に、ある特定の初期状態になることが望ましいはずです。 Pythonでは、 __init__() という名前の特別なメソッド定義することができます。 他のプログラムの場合、このような働きのメソッド  >>続きを読む

Python イテレータについて

イテレータの仕組みについて次のポイントが分かれば理解できます。 iter()関数でリストをイテレータ化します。 next関数でイテレータから要素を取り出します。 イテレータで取り出す値がない場合には例外を発生します。 イテレータは特に意識しなくてもfor in文などで活用されたいます。次の例で確認で  >>続きを読む

Google Colaboratoryを使用開始する方法

Google Colaboratoryを使用するための方法です。2019-10-3現在の方法です。 新規でColaboratoryを使うときに困ったら確認してください。 GoogleアカウントでGoogleドライブに入ります。 左上にある「新規」ボタンをクリックします。 「その他」の中にColabo  >>続きを読む

Python入門で気をつけるポイント(4)オブジェクト指向についてー(1)

Pythonの全てのデータ型は元々はオブジェクトです。 Pythonのオブジェクト指向はクラスを使った仕組みです。つまり、全てのデータ型はクラスで定義しているということになります。 例えば、リストには様々な便利なメソッドが用意されています。これはlistクラスにそれらのメソッドが定義されています。   >>続きを読む

ニューラルネットワークの重みの計算〜なぜ線形代数(行列の内積)が必要か

ニューラルネットワークを理解するためには、まず重みの計算について知っておかなければなりません。 複数の重みの計算は線形代数の行列の内積を使い、しかもPythonのnumpyを使うと数行でプログラムできるのです。行列の内積を使う理由とその計算方法を高度な数学の知識なしで説明します。

Python〜matplotlibで描くグラフで日本語を使う方法

matplotlibでグラフを描くときにタイトルなどに日本語を使うと文字化けします。 今回は、Colaboratoryでグラフを描くときの日本語の文字化け対策についてです。 まずは日本語表示できるフォントをColaboratoryにインストールします。 !apt-get -y install fon  >>続きを読む

データスヌーピングバイアス(data snooping bias)について

テストデータの中身を確認してみると、面白さそうなパターンを見つけることができます。これは人間のパターン検出能力の高さでもありますが、これをやってしまうと過学習になる恐れがあります。 特定のパターンのための特定の機械学習モデルを選択すると、推定が楽観的になりすぎて期待通りの性能を発揮できない結果になる  >>続きを読む

Python入門で気をつけるポイント(3)モジュールについて

モジュール Pythonインタープリンタは一度終了すると、終了するまでの関数や変数は全て失われます。 そのため長いプログラムはテキストエディタで作成して「.py」ファイルにしておくと良いです。 Pythonではこのファイル(.py)のことをモジュールと呼んでいます。 Pythonの対話モードはmai  >>続きを読む

Python〜join()の使い方

Pythonの文法では、join()メソッドはsplit()メソッドの逆の使い方として、文字を連結するメソッドと紹介されています。 なんとなくそんなものかと通り過ぎてしまいますが、大切なことはjoin()はリストのメソッドではなく、文字列のメソッドだということです。 「join()は文字列に対して呼  >>続きを読む