Python基本ライブラリ(学習メモ)
学んだ基本ライブラリをメモします。
ライブラリとは?
よく使うコードがまとめられた場所。ライブラリからコードをコピーすれば楽にプログラミング開発できる。
ライブラリの使い方
「import ライブラリ名」:ライブラリを使えるようになるコード
「from モジュール名 import オブジェクト名」:ライブラリ内の特定のオブジェクトのみを使えるコード
※モジュール:便利な関数の塊を複数のプログラムから利用できるようにまとめたファイル
※オブジェクト:データと、データを扱う関数の塊
※ライブラリ、モジュール、オブジェクトのイメージ図
よくつかうライブラリ(機械学習編)
・NumPy : 数値計算や多次元配列などを効率的に処理するライブラリ
・pandas : 表計算のワークシートのイメージでデータを取り扱うライブラリ
・Matplotlib : データの可視化ができるライブラリ
・scikit-learn : 機械学習をする際によく使われるライブラリ
以下、それぞれのライブラリの詳細。
NumPy「ナムパイ」
数値計算や多次元配列などを効率的に処理するライブラリ。
NumPyを使うことで、配列の処理効率はPython本体に比べて飛躍的に向上する。
NumPyは、BSDライセンス。
※BSDライセンス:
ソフトウェアのライセンスの種類。著作権の表示と免責条項さえ書いておけばフリーで使える、ただし何かあっても補償はしない、というライセンス。
インポート方法は以下のとおり。
import numpy as np
pandas「パンダス」
表計算のワークシートのイメージでデータを取り扱うことができる。
ワークシートのイメージに対し、SQL に似た条件式の指定をして、データ選択もできる。
1次元配列のデータ構造を Series、 2次元配列(構造体配列)のデータ構造を DataFrame という。
BSDライセンス。
※SQL(シーケル):データやデータベースを制御するための言語
インポート方法は以下のとおり。
import pandas as pd
Matplotlib「マットプロットリブ」
データの可視化で使う。
データ分析を行う前に、データの代表値を確認したり、
ビジュアルにデータの状態も確認することで、解析の方向性を決める時に役立つ。
Matplotlibは、PSFライセンス
※PSF
ソフトウェアのライセンスの種類。BSDライセンスと同様に、 著作権の表示と免責条項さえ書いておけば、再利用も再配布も自由になるライセンス
以下、Matplotlibで描けるグラフ。
・折れ線グラフ
・棒グラフ
・ヒストグラム
・散布図
・散布図行列
・ヒートマップ
・クラスターマップ
・箱ひげ図
インポート方法は以下のとおり。
# ビジュアル化関係のパッケージ import matplotlib.pyplot as plt import seaborn as sns sns.set() # seaborn使用の設定
scikit-learn「サイキットラーン」
Pythonで機械学習をする際によく使われるライブラリ。
回帰分析、クラス分類、クラスタリングなどの機械学習ができる。
scikit-learn には、機械学習を試してみるためのデータセットがあらかじめ用意されている。
以下、scikit-learnで用意されているデータセット(これで練習できる)。
・ボストン市の住宅価格データ(Boston house prices dataset)
→ 回帰向き
・アヤメの品種データ(Iris plants dataset)
→ 分類向き
・糖尿病患者の診療データ(Diabetes dataset)
→ 回帰向き
・数字の手書き文字データ (Optical recognition of handwritten digits dataset)
→ 分類向き
・生理学的特徴と運動能力の関係についてのデータ(Linnerrud dataset)
→ 回帰向き
→ 目的変数が3つある
・ワインの品質データ(Wine recognition dataset)
→ 分類向き
・乳がんデータ(Breast cancer wisconsin (diagnostic) dataset)
→ 分類向き
一般的に、機械学習を行う際は、一番はじめに上記のライブラリをインポートする。
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns sns.set()
機械学習 基本フロー(学習メモ)
学んだ機械学習で使う基本フローをメモします。
scikit-learnで線形回帰分析を行う場合
線形回帰分析は、sklearn.linear_model を使う。
scikit-learnでクラス分類を行う場合
※クラス分類:教師あり学習でのクラス分類。
サポートベクターマシンによる分析は、scikit-learn ライブラリでは、sklearn.svm を使う。