LoginSignup
4

More than 5 years have passed since last update.

Pythonのお勉強1日目

Posted at

ライブラリーを使わずにPYTHONでニューラルネットワークを構築してみようを自分の環境でやってみたの1日目。

PRMLでニューラルネットワーク辺りまでを読んだので練習としてやってみる。

環境設定

ライブラリを使わずにと書いているが、当たり前のpythonライブラリは必要なようなので整える。
今回必要無いものも含まれてるが、このシリーズの後にPython機械学習プログラミングでもやろうよ思うので入れておいた。

pip install --upgrade pip
pip install NumPy
pip install SciPy
pip install scikit-learn
pip install pandas
pip install matplotlib
pip install ipython

matplotlibのインストールには成功したのだが、実際使おうとimportすると(対話式とかで)エラーになった。
現象はここPython 3.3でmatplitlibとpylabを使おうとしたら RuntimeErrorと同じだったので設定ファイルmatplotlibrcを作成してバックエンド設定を変更した。

自分の環境ではこんな感じになっている

python --version
Python 3.5.0
pip list
appnope (0.1.0)
cycler (0.10.0)
decorator (4.0.10)
gnureadline (6.3.3)
ipython (4.2.1)
ipython-genutils (0.1.0)
matplotlib (1.5.1)
networkx (1.11)
numpy (1.11.1)
pandas (0.18.1)
pexpect (4.1.0)
pickleshare (0.7.2)
pip (8.1.2)
ptyprocess (0.5.1)
pyparsing (2.1.5)
python-dateutil (2.5.3)
pytz (2016.4)
scikit-learn (0.17.1)
scipy (0.17.1)
setuptools (24.0.2)
simplegeneric (0.8.1)
six (1.10.0)
traitlets (4.2.2)

データ生成

データ生成に書いてある通りにそのままScikit-learnを使用した。
make_moonで生成されたデータは200個のデータ点で、

  • 2次元の変数X
  • それぞれの変数Xに対するラベルy(0 or 1)

の情報を持つ。
2つの半円状の2次元データになっていて、線形識別が付加なサンプルデータになっている。

ipython --pylab
Python 3.5.0 (default, Oct 17 2015, 16:12:04) 
Type "copyright", "credits" or "license" for more information.

IPython 4.2.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
Using matplotlib backend: TkAgg

In [1]: import numpy as np

In [2]: import matplotlib.pyplot as plt

In [3]: from sklearn.datasets import make_moons

In [4]: np.random.seed(0)

In [5]: X, y = make_moons(200, noise=0.20)

In [6]: plt.scatter(X[:,0], X[:,1], s=40, c=y, cmap=plt.cm.Spectral)
Out[6]: <matplotlib.collections.PathCollection at 0x119813ef0> 

実施に出力されたデータ点は下記の通リ。
figure_1.png

今日はここまで。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4