はじめに
こんにちは。
僕はプログラミング歴3ヶ月の初心者なのですが、今回はそんな初心者の目から見た「覚えておくと便利なライブラリ」を紹介したいと思います!
すでにいくつか記事を書いてるので、よかったらそちらもついでに見てやってください。下のリンクの記事から繋げやすい内容になっています。
[プログラミングしてみたい方はまずPythonのインストールを!(Mac向け)]
(https://qiita.com/cr-fun/items/f0f7e36dffa3e79ad03e)
ライブラリってなんだ?
プログラミング(この記事でいうとPython)初心者の方はまずライブラリという言葉を聞き慣れていないかもしれません。
ライブラリとはプログラミングをする上で欠かせないものであり、画像を編集したいときや、ファイルを整理するときなどに使えるいわば飛び道具のようなものです。すでに完成されているので僕たちは決められた書き方をするだけでその飛び道具が使えてしまうんです。
**import 〜**という決まり文句で呼び出すと使えるようになります。
ではそんな便利なライブラリをいくつか見ていきましょう!
Numpy
Numpyは数値計算をするときや、画像をピクセルごとに分解して配列にしたい時に使えるライブラリです。ディープラーニングで画像分類をする時などに必ず必要になってくる知識なので、AI関係のことに興味のある方は必ず覚えておきましょう!
こんな感じで使うのですが、今は全く分からなくて構いません。「へー、そんなものがあるのか」ぐらいの認識で結構です。
Numpyを使うにあたって学習(人によってはおさらい)しておくべきなのが行列です。高校の数学で習った方もいるとは思うのですが、指導要領の変更で外れている年もあるので、習ったことのない方はぜひ学習してみましょう。全然難しい内容じゃないですし、ググったら簡単に噛み砕いて教えてくれているサイトが山ほど出てきますよ!
Pandas
Pandasはデータ分析を行う上で必須のライブラリです。Pandasを使うとデータの読み込み(エクセルのデータなど)や不必要なデータの除外など、機械学習をする上では欠かせない作業が一気に簡単になります。機械学習に必要な作業の大部分がこのデータ分析になってくるので、覚えておくとめちゃくちゃ強いです!データサイエンティストになりたい方には特に必須ですよ。
Pandasの発展的な内容では株価分析などもできるようになるので、株に興味がある方にもおすすめです。プログラミングと組み合わせてトレードなんかできたらカッコよくないですか?(笑)
Matplotlib
MatplotlibはPythonの描画ライブラリで、線グラフや棒グラフなどデータを可視化したい時に使えるライブラリです。
例えばパワーポイントなどを使ってプレゼンをしないといけない場面でグラフを使いたい時、Matplotlibが大きな力を発揮します。データをグラフにしたい時、シンプルなやり方で緻密なグラフが描画できるのでとても便利ですよ!
これはMatplotlibの公式サイトから引用したグラフです。こんなグラフが数行のプログラミングで実現できるってすごくないですか!?
勉強し始めの頃はなんの意味もないグラフをかくだけでも構いません!「こういう使い方をするんだな」ぐらいの軽い気持ちで色々書いてみましょう。まずは自分で書くことが大事ですし、こういうグラフの形で目に見えるとシンプルに楽しいです。
Keras
Kerasは今までの3つとは少し毛色が違って、本格的に機械学習をする時に使うライブラリです。僕の今までの記事でも何度か出ている画像分類などで力を発揮します。
また、Kerasは公式ドキュメントに使い方が多く載っていたり、Kerasを使ったコードレシピもネット上にたくさん転がっているので何かを形にしたい時に即座に使いやすいライブラリです。
なんでこんなにサンプルが転がっているかというと、そのシンプルさが理由なんです。これまでにあったライブラリよりもはるかに少ない記述量で機械学習が簡単にできちゃう優れものであり、みんなが使うから必然的にネットに情報量も多いので勉強しやすいのがおすすめポイントです。
「エラーメッセージが出てきたけど何が書いてあるか分からない😂」なんて時も同じエラーメッセージが出た人が掲載した解決法をググればなんの問題も無しです。安心して勉強しちゃいましょう!
僕が書いたこんな記事もありますので、ある程度勉強が進んだ方はこのやり方を真似て画像分類してみると面白いかもしれません。
VGG16で画像分類(2クラス)
その他のライブラリ・モジュール
上の4つを特におすすめしたかったので詳しく書きましたが、その他にも以下のようなライブラリがあるので気になった方はぜひググってみてください!今は使わないとしても結局使うことになるライブラリばかりだと思うので、覚えておいて損はないです。
・os(ファイル操作で使う)
・dlib(顔認証などで使える)
・OpenCV(画像の処理はこれさえあれば困りません!)
・sklearn
・sys
・glob
etc.....
こんな感じでたくさんあるのでぜひ調べてみてください!
参考にしたサイト
終わりに
いかがだったでしょうか?
この記事では書ききれない量の便利なライブラリがあるので、各自で調べてみるとさらに勉強の質が上がります!少しでも気になることはどんどんググって自分のものにしていきましょう!
また、この記事で書いたものはどれも僕の最初の記事で紹介したネット講座で勉強できるものばかりなのでそちらの記事も見ていただけたら嬉しいです!
[プログラミングやディープラーニングの勉強、何から手をつければ良い!?]
(https://qiita.com/cr-fun/items/90fa4fa39cf1269e38d9)
では、また次の記事で!