深層学習の教科書 関数一覧(作成中)

深層学習の教科書 {進捗}

AIを開発されている大先輩からこの書籍を紹介していただきましたので、【 深層学習の教科書 {進捗} 】として、やったことの記録をしていきます。

 

「さて、今日も1ページだけ進めよう(^^)/」

深層学習の教科書 {進捗}

Pyhonで動かして学ぶ 深層学習の教科書 】オススメ★

 

 

第1章~第8章

(2019年?月?日~2020年2月10日)

第1章~第8章復習

(2019年2月11日~2020年2月22日)

8.1Pandas

8.1.1Pandasとは文字列データも簡単に扱うことのできるライブラリ。Series(1次元配列),DataFrame(2次元配列)インデックス(行ラベル)、カラム(列ラベル)

8.1.2Seriesでは辞書型を渡すと昇順でソートされる。

8.2Series

8.2.1Series生成 pandas.Series(辞書型のリスト)pd.Series(データ配列,index=インデックス配列)
8.2.2参照 series[〇:〇]リストのスライス同様。series[[“インデックス値”]]
8.2.3データ取り出し series.valuesデータの値参照、series.indexインデックス参照
8.2.4要素追加 seies.append(Series型の要素) 要素作成後入れるorSeries要素として入れる
8.2.5要素削除 series.drop(“インデックス”)
8.2.6フィルタリング bool型のシーケンス指定でTrueだけ抽出。条件式(==,>,<)でbool型シーケンス取得。series[ ][ ]複数条件
8.2.7ソート series.sort_index()インデックスソート、series.sort_values()データソート、ascending=Falseで降順

8.3DataFrame

8.3.1DataFrame生成 pd.DataFrame([Series,Series,…])Seriesの束、pd.DataFrame(リスト型を持った辞書型)
8.3.2インデックスカラム設定 df.index=[“name1″,”name2”]リストを入れる。df.columns=リスト(配列)
8.3.3行追加 df.append(“Series型のデータ”,ignore_index=True)
8.3.4列追加 df[“新しいカラム”]にSeriesもしくはリストを代入
8.3.5データの参照 locは名前参照、ilocは番号参照
8.3.6名前参照 df.loc[“インデックスのリスト”,”カラムのリスト”]  range(,)
8.3.7番号参照 df.iloc[“行番号のリスト”,”列番号のリスト”]
8.3.8行・列削除 df.drop() インデックス・カラムを指定、df.drop(○○,axis=1)で列削除
8.3.9ソート df.sort_values(by=”カラムもしくはカラムのリスト”,ascending=True)
8.3.10フィルタリング bool型のシーケンス指定でTrueだけ抽出。条件式(==,>,<)でbool型シーケンス取得。series[ ][ ]複数条件

9.1DataFrameの連結・結合

9.9.1連結 一定の方向にそのままつなげる操作
結合 特定のKeyを参照してつなげる操作

9.2DataFrameの連結

9.2.1インデックス、カラム一致の連結 pandas.concat(“DataFrameのリスト”,axis=0)axis=0で縦方向、1で横方向
9.2.2インデックス、カラム不一致の連結 NaNを持つセルが作成される
9.2.3ラベルの重複”X””Y”のカラムが追加 Multiindexとなるdf[“X”]df[“X”,”apple”]で参照

 

9.3DataFrameの結合

9.3.2内部結合 pandas.merge(df1,df2,on=Keyとなるカラム,how=”inner”)
9.3.3外部結合 pandas.merge(df1,df2,on=Keyとなるカラム,how=”outer”)
9.3.4別名のKey結合 pandas.merge(左df,右df,left_on=”左カラム”,right_on=”右カラム”,how=”結合方法”)
9.3.5インデックスKey結合 pandas.merge(左df,右df,left_index=True,right_index=True,how=”結合方法”)

(2020年2月25日)

9.4DataFrameを用いたデータ分析

9.4.1一部の行取得 df.head()で冒頭5行取得 df.tail()で末尾5行 (”行数”)
9.4.2計算処理 Pandasでも「+ – * / % **」の計算可能 Numpyと相性◎
9.4.3要約統計量 df.describe()で列ごとの個数、平均値、標準偏差、最小値、四分位数、最大値が得られる
9.4.4行間列間の差 df.diff(“行or列の間隔”,axis=”方向”)で差を計算したDataFrameが作成
9.4.5グループ化 df.groupby(“カラム”)でグループ化。直接表示不可。平均や和の演算可。

(2020年2月26日)

添削問題&総合添削問題

(2020年2月27日・28日)

10.1様々なグラフ

10.1.1折れ線グラフ、10.1.2棒グラフ、10.1.3ヒストグラム、10.1.4散布図、10.1.5円グラフ

(2020年2月29日)

10.2乱数の発生&ヒストグラム表示

10.2.1シード設定 numpy.random.seed(整数) 乱数の固定
一様乱数生成 numpy.random.rand(整数) 生成数
10.2.2正規分布乱数生成 numpy.random.randn(整数) 生成数
ヒストグラム表示 plt.hist(x,bins=’auto’)xにデータ、binsは棒グラフの本数、plt.show()
plt.title(‘グラフタイトル’)タイトル挿入、plt.grid(True or False)グリッド挿入
10.2.3二項分布乱数生成 numpy.random.binomial(整数n,実数p,size=整数値) 成功率pの試行をn回やった時の成功数をsize個出力
10.2.4リストからランダム選択 numpy.random.choice(リストx,整数値n) リストからランダムにn個返す

深層学習の教科書 10.2.2

(2020年2月29日)

10.3時系列データ

10.3.1datetime型 datetime.datetime(年,月,日,時,分,秒,ミリ秒)日付や時刻
10.3.2timedelta型 detetime.timedelta(日,秒)時間の長さを表すデータ型
10.3.3datetimeとtimedelraの演算 足し引きが可能。timedelta型は整数倍、timedelta型同士で演算可
10.3.4datetimeオブジェクト作成 detetime.datetime.strptime(s,”&Y-%m-%d %H-%M-%S”)フォーマット指定

(2020年3月1日)

10.4データの操作

10.4.1文字→数字の型変換  int()flort()で数値型に変換
10.4.2等間隔の数列生成①  numpy.arange(始まりの値,終わりの値,間隔の値)※終わりの直前まで
10.4.3等間隔の数列生成② numpy.linspace(始まりの値,終わりの値,分割したい個数)分割

(2020年3月2日)

添削問題

深層学習の教科書 10.4-1深層学習の教科書 10.4-2深層学習の教科書 10.4-3

(2020年3月2日)

 

第11章 matplotlibの使い方

11.11種類のデータ可視化

11.1.1グラフにデータをプロット matplotlib.pyplot.plot(x軸に対応するデータ,y軸に対応するデータ)
matplotlib.pyplot.show()画面上に表示
%matplotlib inline JupyterNotebookではこれで可視化
11.1.2表示範囲設定 matplotlib.pyplot.xlim([0,10])xの範囲指定、.ylim(“範囲”)yの範囲指定
11.1.3要素に名前設定 matplotlib.pyplot.title(“タイトル”).xlabel(“x軸の名前”).ylabel(“y軸の名前”)
11.1.4グリッド表示 matplotlib.pyplot.grid(True)
11.1.5軸にメモリを設定 matplotlib.pyplot.xticks(目盛りを操縦する位置,挿入する目盛り)

(2020年3月3日)

11.2複数データの可視化①

11.2.12種類のデータプロット matplotlib.pyplot.plot(x,y,color=”色指定”)#ffffff
b:青,g:緑,r:赤,c:シアン,m:マゼンタ,y:黄色,k:黒,w:白
11.2.2系列ラベル設定  matplotlib.pyplot.legend([“ラベル名1”,”ラベル名2”,…])
matplotlib.pyplot.plot(x,y,color=”色指定”,label=”ラベル名”)

(2020年3月4日)

11.3複数データの可視化②

11.3.1図の大きさ設定 matplotlib.pyplot.figure(figsize=(横の大きさ,縦の大きさ))インチ
11.3.2サブプロット作成 fig=matplotlib.pyplot.figure(4,4)
fig.add_subplot(2,3,5)
11.3.3サブまわり余白調整 matplotlib.pyplot.subplots_adjust(wspace=横間隔割合,hspace=縦間隔割合)
11.3.4サブ内グラフ表示範囲設定 x軸の表示範囲を設定:ax.set_xlim(範囲)
y軸の表示範囲を設定:ax.set_ylim(範囲)
11.3.5サブ内グラフ名前設定 グラフのタイトルを設定:ax.set_title(“タイトル”)
x軸の名前を設定:ax.set_xlabel(“x軸の名前”)
y軸の名前を設定:ax.set_ylabel(“y軸の名前”)
11.3.6サブ内グラフグリッド表示 ax.grid(True)
11.3.7サブ内グラフ目盛り設定 ax.set_xticks(“挿入位置のリスト”)
ax.set_xticklabels(“目盛りのリスト”)

         

(2020年3月4日)

添削問題

(2020年3月5日)

第12章 様々なグラフを作る

12.1折れ線グラフ

12.1.1マーカーの種類と色設定 matplot.lib.pyplot.plot()折れ線グラフ描画
marker=”指定子”マーカーの種類設定 ”o”円,”s”四角,”p”五角形,”*”星,”+”プラス,”D”ダイヤモンド
markerfacecolor=”指定子” ”b”青,”g”緑,”r”赤,”c”シアン,”m”マゼンタ,”y”黄,”k”黒,”w”白
12.1.2線のスタイルと色設定 linestyle=”指定子”線のスタイルを指定 ”-“実践,”–“破線,”-.”破線(点入り),”:”点線
color=”指定子” ”b”青,”g”緑,”r”赤,”c”シアン,”m”マゼンタ,”y”黄,”k”黒,”w”白

(2020年3月6日)

12.2棒グラフ

12.2.1棒グラフ作成 matplot.lib.pyplot.bar()棒グラフ描画
12.2.2横軸にラベル設定  matplot.lib.pyplot.bar()tick_labelラベルが入っているリストを渡す
12.2.3積み上げ棒グラフ作成 matplot.lib.pyplot.bar()bottomデータ列を渡す

(2020年3月6日)

12.3ヒストグラム

12.3.1ヒストグラムを作成 matplotlib.pyplot.hist()ヒストグラム作成
12.3.2ビン数を設定 .hist()の中に、binsを指定。bins=”auto”で自動設定
12.3.3正規化 .hist()の中に、normed=True
※normedは廃止され、densityに置き換えされたとエラーが出る
12.3.4累積ヒストグラム作成  .hist()の中に、cumulative=Trueを指定。

(2020年3月7日)

12.4散布図

12.4.1散布図を作成 matplot.pyplot.scatter()散布図作成、x軸・y軸に対応するデータを渡す
12.4.2マーカーの種類と色設定 marker=”指定子” ”o”円,”s”四角,”p”五角形,”*”星,”+”プラス,”D”ダイヤモンド
color=”指定子” ”b”青,”g”緑,”r”赤,”c”シアン,”m”マゼンタ,”y”黄,”k”黒,”w”白
12.4.3マーカーの大きさ設定 .scatter()の中に、s=データを渡す
12.4.4マーカーの濃さ設定 .scatter()の中に、c=濃さに対応するデータ(リスト)cmap=”色系統”で系統を設定
色系統指定子”Reds”赤,”Blues”青,”Greens”緑,”Purples”紫
12.4.5カラーバー表示 matplotlib.pyplot.colorbar()カラーバーを表示

(2020年3月7日)

12.5円グラフ

12.5.1円グラフを作成 matplotlib.pyplot.pie()円グラフ作成、matplotlib.pyplot.axis(“equal”)で真円
12.5.2円グラフにラベルを設定 matplotlib.pyplot.pie(渡されたデータ,labels=ラベル用のリスト)ラベルを付与
12.5.3特定の要素を目立たせる matplotlib.pyplot.pie()にexplodeとして渡して任意の要素を目立たせる

(2020年3月8日)

12.6 3Dグラフ

12.6.13DAxesを作成 matplotlib.figure().add_subplot(1,1,1,projection=”3d”)3D描画機能を持ったサブプロット作成
np.meshgrid(t,t)、np.sqrt()
12.6.2曲面を作成 ax.plot_surface(X,Y,Z)x軸、y軸、z軸に対応するデータを渡し、局面を描画
12.6.33Dヒストグラムを作成 ax.bar3d(xpos,ypos,zpos,dx,dy,dz)x軸、y軸、z軸の位置と変化量に対応するデータを渡す
np.zeros(10)、np.ones(10)
12.6.43D散布図を作成 scatter3D()x軸、y軸、z軸に対応するデータを渡し、3次元散布図を作成
渡すデータは1次元でなければならないnp.ravel()で変換の必要も
12.6.53Dグラフにカラーマップを適用 cmをimportしデータとともにcmap=cm.coolwarmを引数として渡す

(2020年3月8日)

添削問題

(2020年3月9日)

総合添削問題

(2020年3月9日)

第13章 lambdaやmapなどのPython記法

13.1lambda式の基礎

13.1.1無名関数の作成 変数=lambda(引数):(返り値) def 変数(引数): return 返り値 と同じ
13.1.2lambdaによる計算 変数=lambda(引数1,引数2,…):(返り値)多変数
print((lambda x,y:x+y)(3,5))のように変数がなくてもOK
13.1.3ifを用いたlambda 変数=条件を満たす時の処理 if 条件 else 条件を満たさない時の処理

(2020年3月16日)

13.2便利な記法

13.2.1listの分割(split) 切り分けたい文字列.split(“区切る記号”,区切る回数)
13.2.2listの分割(re.split) re.split(“[区切る記号]”,区切りたい文字列) 一度に複数の記号で文字列を切り分けるモジュール
13.2.3高階関数(map) 他の関数を引数とする関数 #イテレータ(計算の方法を格納)を返す 計算はしない map(適用したい関数,配列)
#listに格納する方法 list(map(関数,配列))
13.2.4filter #イテレータ filter(条件となる関数,配列) lambda x: x>0のように入力
#listに格納 list(filter(関数,配列))
13.2.5sorted #キーを設定してソート sorted(ソートしたい配列,key=キーとなる関数,reverse=True または False) reverse=Trueで降順
lambda x: x[n] 第n要素を昇順にソート

イテレータ:複数の要素を順番に取り出す機能を持ったクラス。

(2020年3月16日)

13.3リスト内包表記

13.3.1リストの生成 [適用したい関数(要素) for 要素 in 適用する元の配列]
13.3.2if文を用いたループ [適用したい関数(要素) for 要素 in フィルタリングしたい配列 if 条件]
条件を満たす要素を取り出すだけなら”適用したい関数”を省く
13.3.3複数配列の同時ループ zip() 例 for x,y in zip(a,b):
13.3.4多重ループ for文を2回並べて書くと二重ループになる

(2020年3月日)

13.4辞書オブジェクト

13.4.1defaultdict
13.4.2value内の要素の追加
13.4.3Counter

(2020年3月日)

添削問題

 

(2020年3月日)

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Pyhonで動かして学ぶ 深層学習の教科書 】オススメ★

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Enjoy trading life ?

 

 

 

Let’s go to the next stage !