pythonの導入など!未完なのでスライドは徐々に増やしていきます!
Pythonとは!?・汎用スクリプト言語・機械学習を学ぶのに適した言語の一つ・機械学習を試す上でライブラリの設備が整っているやっていくこと・Python 3.5(scikit-learn,Numpy,matplotlib,pandasの使い方)pythonのインストールはAnaconda (オープン・データサイエンス・プラットフォーム)を使うとすぐに実行できる環境が整うよ!https://www.continuum.io/ からダウンロードしてね
View Slide
Pythonの起動確認λʔϛφϧͰʮQZUIPOʯͱଧͭQZUIPOͱ"OBDPOEBͷ໊લ͕֬ೝͰ͖ͨΒ0,4DJLJUMFBSO͕͋Δ͔֬ೝͯ͠ΈΑ͏ʂʂͦͷޙɼʮTLMFBSO@@WFSTJPO@@ʯͱചͬͯWFSTJPO͕֬ೝͰ͖ͨΒᘳʮJNQPSUTLMFBSOʯͱίϚϯυ͢ΔͪͳΈʹʮTLMFBSO@@WFSTJPO@@ʯͷ@@ɼ֯Ξϯμʔόʔճʂ͜ͷରϞʔυɼRVJU ͱೖྗ͢Δͱऴྃ͠·͢ɽ
conda update qt pyqtconda install -c spyder-ide spyder=3.3.1conda update spyderSpyderを使って動かそうQZUIPOΛ؆୯ʹಈ͔͢͜ͱ͕Ͱ͖ͯศརͰ͢ɽࠨଆʹεΫϦϓτΛॻ͘ΤσΟλ͕͋ͬͯɼӈଆͰίϯιʔϧΛ֬ೝͰ͖·͢ɽͳ͓ɼΠϯετʔϧɼλʔϛφϧ্ͰҎԼͷίϚϯυΛೖྗ͢Δ͜ͱͰߦ͍·ͨ͠ɽΠϯετʔϧ͕ऴΘͬͨΒɼλʔϛφϧ্Ͱʮ4QZEFSʯͱଧ͍ͬͯͩ͘͞ɽ4QZEFS͕ىಈ͠·͢
Numpyとは・数値計算全般によく利用されるパッケージ・np.arrayをいう配列クラスにより,高速な行列計算ができるNumpyの使い方0. インポートする(よくnpという名前を与えてインポートする)1. データ構造を用意する(N次元の配列)データ構造の形状と,要素の型を指定して,初期化するnp.zeros(shape, dtype=None)import numpy as npnp.zeros(shape = (2,3), dtype=None)例えばこうすると,2×3の2次元配列ができる.dtype = None(デフォルト)だと,np.float64かnp.int64になる
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を使ってみよう!!!!!
np.arrayの色々な使い方:表示や転置,四則計算,形状変更aとbの足し算の結果aとbの結合の結果aの形状の変更1行12列へaを転置配列が理解できたら,とりあえずpythonは大丈夫だと思います!
配列の連結で便利な vstack と stackvstackは縦に連結hstackは横に連結
特定の行や列をして取り出すことが可能「np.loadtxt」でデータを読み込む
「np.savetxt」でデータを書き込むloadはこれが入っているsave.txtに保存
matplotlibとは・グラフ描写を可能とするパッケージ (折れ線グラフ,散布図などいろいろ)実際に描画してみよう!sin波と乱数をプロットしたものです.簡単です.参考図書:Pythonによる機械学習入門https://amzn.to/2QqDvDwarange(開始,終了,刻み幅)プロット時に線のスタイルを指定
機械学習の「分類」,「回帰」,「クラスタリング」「分類」・・・ あるデータから分類(クラス,ラベル)を予測するもの 正解データからルールを学習し,未知データを分類する「回帰」・・・ あるデータから数値を予測するもの これも正解データから学習する 「クラスタリング」・・・ データの性質に従い,データの塊(クラスタ)を作るもの 正解データを必要としない
システムの振る舞いを,オブジェクトの相互作用として考えるクラス(設計図)とインスタンス(実体)という概念を覚える必要があるクラスとインスタンスとはたくさん生成できるよ〜はじめてのディープラーニング,我妻幸長,SB Creativeオブジェクト指向によるプログラミングがあります.JOJUϝιουPythonのメソッドは引数としてselfを受け取るBΠϯελϯεมՃͷϝιουͰɼΠϯελϯεมBͱͷԋࢉʂҰϝιουͰ͕ೖ͞ΕͪΌ͑ɼಉ͡ΠϯελϯεͷͲͷϝιου͔ΒͰTFMGΛ༻͍ͯΞΫηεͰ͖Δ
Scikit-learn の train_test_spilt()学習データと,テストデータの分割を行うಛྔ ಛྔ ಛྔ ϥϕϧ PS ɾɾɾɾɾɾ9 ಛྔσʔλ Z ਖ਼ղϥϕϧ9@USBJO ڭࢣσʔλ Z@USBJO ڭࢣϥϕϧ9@UFTU ςετσʔλ Z@UFTU ςετϥϕϧデータセットから,特徴量 X と,ラベル y を分けるさらに,教師データと,テストデータに分ける特徴量 X ラベル y層化サンプリング (Stratified Sampling):サンプリングデータが偏らないように,指定した変数(y)の出現頻度が一定になるようにしている