Upgrade to Pro — share decks privately, control downloads, hide ads and more …

pythonの使い方

kenyu
May 02, 2020

 pythonの使い方

pythonの導入など!未完なのでスライドは徐々に増やしていきます!

kenyu

May 02, 2020
Tweet

More Decks by kenyu

Other Decks in Education

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

  4. 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になる

    View Slide

  5. 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を使ってみよう!!!!!

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

     正解データを必要としない 

    View Slide

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

    View Slide

  13. Scikit-learn の train_test_spilt()
    学習データと,テストデータの分割を行う
    ಛ௃ྔ ಛ௃ྔ ಛ௃ྔ ϥϕϧ PS















    ɾ
    ɾ
    ɾ
    ɾ
    ɾ
    ɾ
    9 ಛ௃ྔσʔλ
    Z ਖ਼ղ஋ϥϕϧ

    9@USBJO ڭࢣσʔλ
    Z@USBJO ڭࢣϥϕϧ

    9@UFTU ςετσʔλ
    Z@UFTU ςετϥϕϧ



    データセットから,特徴量 X と,ラベル y を分ける
    さらに,教師データと,テストデータに分ける
    特徴量 X ラベル y
    層化サンプリング (Stratified Sampling):
    サンプリングデータが偏らないように,
    指定した変数(y)の出現頻度が一定になるようにしている

    View Slide