4
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

Pythonのお勉強1日目

ライブラリーを使わずに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

今日はここまで。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
4
Help us understand the problem. What are the problem?