AidemyでDeep Learningの勉強を始めてみたーPython入門
巷で話題のDeep Learningを勉強しています。
書籍を読んでみたり、数日間の社内研修を受講したりしているのですが、理論的な説明ばかりで、具体的にDeep Learningを使うにはどうするのかがイマイチわかっていません。
そのような状況でどうすればいいのか調べてみたところ、Aidemyというサービスがあることがわかりました。
Deep Learningを動かすための環境構築は一切不要、ユーザー登録すれば10秒で始められるという謳い文句です。
Python入門など基本的なものから画像認識、時系列解析などAIに関する分野の講座が多数用意されており、実際にコードを書きながら問題を解いていくという、実践的な内容になっています。
講座は有料ですが、一部無料で受けられるものもあり、まずPython入門を受講してみました。
以下は講座を通して新たに学んだことをまとめていきます。
---------------------------------------------------------------------
●文字列
'(シングルクォーテーション)、または"(ダブルクォーテーション)で囲む
●文字列の連結
str型 + str型
●型の変換
str() : 文字列に変換
int() :整数値に変換
float() : 小数点を含む数値型に変換
●if文
if 条件式 :
elif 条件式:
else:
●while文
while 条件式:
条件式がTrueの場合に行われる処理
●for文
for 変数 in リスト:
*ループを途中で止めたい場合はbreak
*処理をスキップしたい場合continue
●リスト(list)型 配列
[要素1, 要素2, ...]
多次元のリストも可能
先頭要素のインデックスは0 進むごとに1増える
一番最後のインデックスは-1 戻るごとに1減る
■リストから一部の要素を取り出す(スライス)
リスト[1:4] *1の要素は含む、4の要素は含まない(1,2,3)
■リストの末尾に要素を追加
リスト名.append(追加する要素) *一つの要素しか追加できない
複数の要素を追加したい場合は+を使って連結させる
alphabet = ["a", "b", "c", "d", "e"] alphabet += ["f","g"]
■要素の削除
del リスト[インデックス]
【Note】
リストの値を代入し、その値を上書きした場合、元の値も変更が適用される
変更されないようにするには値を代入する際に以下のようにする
alphabet_copy = alphabet [:]
#または alphabet_copy = list(alphabet)
■リストのインデックスを取得
enumerate(リスト)
●辞書型
{キー1: バリュー1, キー2: バリュー2, ...}
■辞書型の変数から要素を取得する
辞書名["キー"]
■辞書のバリューを別の値で上書き
辞書名["上書きしたい要素のキー"] = 新しいバリュー
■辞書の要素を削除
del 辞書名["削除したいキー"]
●メソッド
値.メソッド() *特定の値に対して処理を行う
【メソッドの例】
append リストの最後に値を追加
upper 入力した文字列をすべて大文字に
count 文字列の中に含まれる指定した要素の個数
例:count("o") oが何個含まれるか
format 文字列の{0}の部分に変数xを埋め込む
例:print("私は{1}生まれ、{0}育ち、{1}在住".format("東京", "埼玉"))
# 「私は埼玉生まれ、東京育ち、埼玉在住」と出力される
index 目的のオブジェクトがどのインデックス番号にあるかを探す
例:alphabet.index("a") aがindex何番目か
sort リスト内の値を小さい順にソート
reverse リストの要素の順番を反対
●関数の作り方
def 関数名(引数):
return 戻り値
●パッケージ、サブパッケージ、モジュールのimport
入れ子関係 パッケージ>サブパッケージ>モジュール
■インポートしたパッケージ内のメソッドを使用する場合
import パッケージ名.サブパッケージ名.メソッド名
■メソッド呼び出しの際にパッケージ、サブパッケージ名を省略したimport法
from パッケージ名.サブパッケージ名 import メソッド名
●クラス
①コンストラクタ インスタンス(実体)生成時に一度だけ呼び出される
__init__()
②メソッド クラス内に定義された関数
def method(self, 引数2,引数3, …): self.name = name return name
③メンバ クラス内で使用する変数
class MyProduct: #クラスを定義 def __init__(self, name, price): # コンストラクタを定義 self.name = name # 引数をメンバに格納 self.price = price self.stock = 0 self.sales = 0 product1 = MyProduct("cake", 500) #インスタンス生成 #インスタンスのメンバ参照 print(product1.name) # product1のnameを出力 cake print(product1.price) # product1のpriceを出力 500
以下のサイトが詳しい
【Python入門】クラスの使い方やオブジェクト指向の概念を理解しよう | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト
●クラスの継承
親クラスに影響を与えず、親クラスの一部を使った新たなクラスを作れる
super()で親クラスのメソッドを呼び出すことができる
●文字列のフォーマット
%d : 整数で表示
%f : 小数で表示
%.2f : 小数第2位まで表示
%s : 文字列として表示
例:print("円周率は%f" % pi) 「#円周率は3.141592」と出力される