Slide 1

Slide 1 text

Pythonとは!? ・汎用スクリプト言語 ・機械学習を学ぶのに適した言語の一つ ・機械学習を試す上でライブラリの設備が整っている やっていくこと ・Python 3.5 (scikit-learn,Numpy,matplotlib,pandasの使い方) pythonのインストールはAnaconda (オープン・データサイエン ス・プラットフォーム)を使うとすぐに実行できる環境が整うよ! https://www.continuum.io/ からダウンロードしてね

Slide 2

Slide 2 text

Pythonの起動確認 λʔϛφϧͰʮQZUIPOʯͱଧͭ QZUIPOͱ"OBDPOEBͷ໊લ͕ ֬ೝͰ͖ͨΒ0, 4DJLJUMFBSO͕͋Δ͔ ֬ೝͯ͠ΈΑ͏ʂʂ ͦͷޙɼʮTLMFBSO@@WFSTJPO@@ʯ ͱചͬͯWFSTJPO͕֬ೝͰ͖ͨΒ׬ᘳ ʮJNQPSUTLMFBSOʯͱίϚϯυ͢Δ ͪͳΈʹʮTLMFBSO@@WFSTJPO@@ʯ ͷ@@͸ɼ൒֯Ξϯμʔόʔճʂ ͜ͷର࿩Ϟʔυ͸ɼRVJU ͱೖྗ͢Δͱऴྃ͠·͢ɽ

Slide 3

Slide 3 text

conda update qt pyqt conda install -c spyder-ide spyder=3.3.1 conda update spyder Spyderを使って動かそう QZUIPOΛ؆୯ʹಈ͔͢͜ͱ͕Ͱ͖ͯศརͰ͢ɽ ࠨଆʹεΫϦϓτΛॻ͘ΤσΟλ͕͋ͬͯɼӈଆͰίϯιʔϧΛ֬ೝͰ͖·͢ɽ ͳ͓ɼΠϯετʔϧ͸ɼλʔϛφϧ্ͰҎԼͷίϚϯυΛೖྗ͢Δ͜ͱͰߦ͍·ͨ͠ɽ Πϯετʔϧ͕ऴΘͬͨΒɼλʔϛφϧ্Ͱʮ4QZEFSʯͱଧ͍ͬͯͩ͘͞ɽ 4QZEFS͕ىಈ͠·͢

Slide 4

Slide 4 text

Numpyとは ・数値計算全般によく利用されるパッケージ ・np.arrayをいう配列クラスにより,高速な行列計算ができる Numpyの使い方 0. インポートする(よくnpという名前を与えてインポートする) 1. データ構造を用意する(N次元の配列) データ構造の形状と,要素の型を指定して,初期化する np.zeros(shape, dtype=None) import numpy as np np.zeros(shape = (2,3), dtype=None) 例えばこうすると,2×3の2次元配列ができる. dtype = None(デフォルト)だと,np.float64かnp.int64になる

Slide 5

Slide 5 text

1. データ構造を用意する(N次元の配列) Numpyとは np.array(object, dtype=None, cory=True, order=None, subok=False, ndmin=0) ndarrayの要素にしたい値がすでに別の型のオブジェクトのイテラブル(リストや辞書) として存在する場合はこっち.object以外の引数は気にしないでOK! 4行3列の配列に, 0.0が初期値として 入っている (Float64) 4行3列の配列に, int型が入っている 作った配列の形状とデータの型は, shape,dtypeで参照することが可能! np.arrayを使ってみよう!!!!!

Slide 6

Slide 6 text

np.arrayの色々な使い方:表示や転置,四則計算,形状変更 aとbの足し算の結果 aとbの結合の結果 aの形状の変更 1行12列へ aを転置 配列が理解できたら,とりあえずpythonは大丈夫だと思います!

Slide 7

Slide 7 text

配列の連結で便利な vstack と stack vstackは 縦に連結 hstackは横に連結

Slide 8

Slide 8 text

特定の行や列をして 取り出すことが可能 「np.loadtxt」でデータを読み込む

Slide 9

Slide 9 text

「np.savetxt」でデータを書き込む loadはこれが 入っている save.txt に保存

Slide 10

Slide 10 text

matplotlibとは ・グラフ描写を可能とするパッケージ    (折れ線グラフ,散布図などいろいろ) 実際に描画してみよう! sin波と乱数をプロットしたものです. 簡単です. 参考図書:Pythonによる機械学習入門 https://amzn.to/2QqDvDw arange(開始,終了,刻み幅) プロット時に線のスタイルを指定

Slide 11

Slide 11 text

機械学習の「分類」,「回帰」,「クラスタリング」 「分類」・・・  あるデータから分類(クラス,ラベル)を予測するもの  正解データからルールを学習し,未知データを分類する 「回帰」・・・  あるデータから数値を予測するもの  これも正解データから学習する   「クラスタリング」・・・  データの性質に従い,データの塊(クラスタ)を作るもの
  正解データを必要としない 

Slide 12

Slide 12 text

システムの振る舞いを,オブジェクトの相互作用として考える クラス(設計図)とインスタンス(実体)という概念を覚える必要がある クラスとインスタンスとは たくさん生成できるよ〜 はじめてのディープラーニング,我妻幸長,SB Creative オブジェクト指向によるプログラミングがあります. JOJUϝιου Pythonのメソッドは引数としてselfを受け取る BΠϯελϯεม਺ ௥ՃͷϝιουͰ͸ɼ Πϯελϯεม਺Bͱͷԋࢉʂ Ұ౓ϝιουͰ஋͕୅ೖ͞ΕͪΌ͑͹ɼ ಉ͡ΠϯελϯεͷͲͷϝιου͔ΒͰ΋ TFMGΛ༻͍ͯΞΫηεͰ͖Δ

Slide 13

Slide 13 text

Scikit-learn の train_test_spilt() 学習データと,テストデータの分割を行う ಛ௃ྔ ಛ௃ྔ ಛ௃ྔ ϥϕϧ PS                                ɾ ɾ ɾ ɾ ɾ ɾ 9 ಛ௃ྔσʔλ Z ਖ਼ղ஋ϥϕϧ 9@USBJO ڭࢣσʔλ Z@USBJO ڭࢣϥϕϧ 9@UFTU ςετσʔλ Z@UFTU ςετϥϕϧ   データセットから,特徴量 X と,ラベル y を分ける さらに,教師データと,テストデータに分ける 特徴量 X ラベル y 層化サンプリング (Stratified Sampling): サンプリングデータが偏らないように, 指定した変数(y)の出現頻度が一定になるようにしている