【はじめに】
私は基盤系SEです。
日々業務の過程でプログラミングに興味を持ち、今後のスキルアップを目標としAidemyにてPythonを学びました。その経緯と結末をまとめます。
プログラミングに興味を持っているが、オンライン学習が高くて迷っているという方はぜひ参考にしてください。
【経緯】
Pythonは独学にて勉強をしていましたが、限界を感じていました。
ネットを参照しても何を言ってるかよくわかりませんでした(笑)
その時たまたまAidemyを見つけましたが、とにかく受講料が高い!!
ですが、教育訓練給付金制度を知り、「この機会しかない!」と思い即決で申し込みました。
【学習の振り返り】(3ヵ月コース)
・1ヶ月目
なにもできませんでした(笑)
他のことが忙しく、環境を構築したぐらいでした。
・2ヶ月目
月末になってから本格的に勉強しました。
内容は基礎~様々なモジュールの使用方法です。(Numpy等)
・3ヶ月目
ここからはモジュールの使用方法~ディープラーニングを使用したAIまで一気に勉強しました。
・振り返って
少し触っていた他にVBA等他の言語でプログラミング自体は触っていたので、最初のほうは苦ではなかったです。ただ、応用を用いた課題と直面した時、アルゴリズムは思い浮かぶけどコードがきちんと書けない場面が多々ありました。(おそらく期限的に焦っていたのもあります)
そんな時にエラーの意味、改善点等をわかりやすく・かつ詳細に説明していただき、理解することに繋がりました。
何とか一通り期間内に理解して終了することが出来ました。
【成果物】
以下は住宅価格データセットを用いた価格予測のためのプログラムです。
よろしければ参考にしてください。
(必要モジュールをインポート)
import numpy as np
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Activation, Dense, Dropout, Input, BatchNormalization
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
from sklearn.datasets import load_boston
import matplotlib.pyplot as plt
%matplotlib inline
(データセットの読み込み)
boston=load_boston()
X = boston.data
Y = boston.target
(テストデータとトレーニングデータに分割)
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.25, random_state=42)
model = Sequential()
(ディープラーニングによるモデルの構築)
model.add(Dense(256, input_dim=13))
model.add(Activation("sigmoid"))
model.add(Dense(128))
model.add(Activation("sigmoid"))
model.add(Dropout(rate=0.5))
model.add(Dense(1))
model.compile(loss='mse', optimizer='adam')
(モデルによるテストデータの学習)
history = model.fit(X_train, y_train, epochs=64 , batch_size=32 , verbose=1, validation_data=(X_test, y_test) )
(予測値を算出)
y_pred = model.predict(X_test)
(二乗誤差を使用した性能評価)
mse= mean_squared_error(y_test, y_pred)
print("REG RMSE : %.2f" % (mse** 0.5))
【まとめ】
結論としてとても有意義でした。
反省点としては、時期を見誤って時間に追われた学習だったため、サービスを十分に活用できなかったと思います。
ただ、一人では苦戦していたものがこんな短時間で理解できるようになるとは思いませんでした。
もしオンライン学習に迷っている方がいる方はぜひ一度お試しください。