npzを作り方
以前、 https://www.python-izm.com/data_analysis/numerical/numpy/ndarray_filerw/ を参考に作成方法を学んだ。1
https://qiita.com/Rikiya_Ota/items/6977cd7831a008ff35bd
こちらのサイトもnumpy自体の理解をするのに参考にさせていただいた
けど、えっ、あっ、もとファイルをいちいち作成しないとだめ?
CSVとか、Excelから読み込んで生成してくれないかな?
はい、調べてみましょう。
CSVや、Excelからnpzを作る
はい!
https://qiita.com/tanakadaichi_1989/items/c655d93a1fae56f2be07
やはりどなたかすでに実践されている方がいらっしゃいましたね。
しかも、ワイン‼
いやー、こんなおしゃれなテーマでDeepLearningを検討してみたい、、、私はマニマニマニーですw
こちらのサイトは非常にわかりやすい‼
# CSVファイルの読み込み
wine_data_set = pd.read_csv("winequality-red.csv",sep=";",header=0)`
# 説明変数(ワインに含まれる成分)
x = DataFrame(wine_data_set.drop("quality",axis=1))
# 目的変数(各ワインの品質を10段階評価したもの)
y = DataFrame(wine_data_set["quality"])
# 説明変数・目的変数をそれぞれ訓練データ・テストデータに分割
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.05)
と言うことで、こちらの1行目を見てわかるように、CSVから取得できるようですね。
で、その後、なんやらDataFrameというのを使って定義をし、最後に教師データとテストデータに分けているようですね。
あぁ、次はDataFrameですか。
DataFrame
DataFrameは
import pandas as pd
from pandas import Series,DataFrame
にある通り、pandasと言うライブラリに含まれているデータフレームワークの事のようですね。
https://pythondatascience.plavox.info/pandas/pandas%E3%81%A7%E3%83%87%E3%83%BC%E3%82%BF%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86
次から次へと、、、1つ覚えて、1つ忘れてしまうこの世代には辛い、、、
sklearn
本当にプログラミングは新しいキーワードが尽きないww(良い意味で心地よい)
次は、ワインのサイトにあった
# 説明変数・目的変数をそれぞれ訓練データ・テストデータに分割
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.05)
なんやらtrain_test_splitと言うので学習、テストデータを作っているようだ。
こいつは何者‼
from sklearn import svm
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
はい、ワインのサイトの方で最初の定義に出てきたsklearnと言うライブラリに含まれているものですね。
https://techacademy.jp/magazine/17375
こちらで丁寧にsklearnは初心者向けで使いやすいよ‼と教えてくれていますね。
なんか、様々なページを見てきましたが**「ゼロから学ぶDeepLearning」**を読んだと言う方が多かった。
動画で説明してくれている方もいらっしゃるようだ。(https://note.mu/daikawai/n/n6b79858880e2)
なんか、みなさんちゃんと勉強してから挑んでいるにも関わらず、私は相変わらずの斜め読みで構築中ww
まとめ
なんか、データ解析周りまで進みそうになってしまったが、今回の目的は最低限、CSVからnpzを作るところまで。
https://note.nkmk.me/python-pandas-numpy-conversion/
最後に、こちらのサイトを紹介して終わりたいと思います。
なんか、今までの長文が嘘のようでしたw
後述
今更ながらdefine by runと、define and runについて改めて考えています。
と言うのも、define and runは、今、学習しているTensorflowではあるのですが、これは一度生成してしまうと、その学習内容を基に諸々が判断されてしまいます。
例えば、0〜9までの数字があって、どれが近いか、、、と言うのであれば、define and runの静的ニューラルネットワークで良いですが、FXのように常にデータ変動を踏まえながら学習していく必要がある場合、define by runである動的ニューラルネットワークである必要があるのではないか、と思ったからです。
TensorflowもTensorflow foldと言う動的ニューラルネットワーク版を出したようだし、、、。
参考サイト
https://cpp-learning.com/chainer_define-by-run/
https://www.hellocybernetics.tech/entry/2017/02/27/025441
-
補足ではあるがこちらのサイトは興味があったので、リンクさせていただきました(https://teratail.com/questions/113349) ↩