妊婦がプログラマーになるまで

プログラミング未経験ワーママが産休からPythonで機械学習を学ぶ記録を記します。

Python基本ライブラリ(学習メモ)

学んだ基本ライブラリをメモします。
f:id:damion_n:20210905064518p:plain



ライブラリとは?

よく使うコードがまとめられた場所。ライブラリからコードをコピーすれば楽にプログラミング開発できる。

ライブラリの使い方

「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()

**

機械学習につかう基本的・最小限のライブラリ情報でした。




押していただけると励みになります!

にほんブログ村 資格ブログ スキルアップへ
にほんブログ村

機械学習 基本フロー(学習メモ)

学んだ機械学習で使う基本フローをメモします。
f:id:damion_n:20210905064848p:plain


構築フロー

機械学習モデルは、次の手順にしたがって行う。

1. データを加工
2. データを学習用と検証用に分ける
3. 学習データを使ってモデルを構築(学習)
4. 検証データを使ってモデルの検証

f:id:damion_n:20210905062301p:plain




代表的な機械学習モデル

f:id:damion_n:20210905063902p:plain






例えば、解析をおこなう場合は以下のようなフローとなる。
※NumPy, pandas, Matplotlib, Seaborn については、何も言わなくてもインポートする。


scikit-learnで線形回帰分析を行う場合

線形回帰分析は、sklearn.linear_model を使う。
f:id:damion_n:20210905062850p:plain



scikit-learnでクラス分類を行う場合

※クラス分類:教師あり学習でのクラス分類。
サポートベクターマシンによる分析は、scikit-learn ライブラリでは、sklearn.svm を使う。
f:id:damion_n:20210905063229p:plain



scikit-learnでクラスタリングを行う場合

クラスタリング:教師無し学習でのクラス分類。

scikit-learn ライブラリでは、sklearn.svm を使う。
f:id:damion_n:20210905063940p:plain



**

基本的な機械学習のフローをまとめてみました。



押していただけると励みになります!

にほんブログ村 資格ブログ スキルアップへ
にほんブログ村

妊婦がプログラマーになるまで

妊婦ワーママです。現在妊娠9か月。

 

産休・育休中はPythonの基本と機械学習のスキルを身に着けたいと考えています。

 

その記録として、こちらのブログを更新していけたらと思います。

 

現在会社員をしております。2歳の子供が1人いるワーママです。

 

プログラミングは未経験で、業務上も必要のないスキルですが、プログラミングを習得することで仕事の生産性が上がるし、将来の働き方の選択肢が増えることを期待して、頑張ってみたいと思います。

 

産休・育休という特殊な時間の中で、どれだけ自分の時間を捻出できるかも、工夫してやっていきたいです。

 

お付き合いいただければ幸いです。

 

にほんブログ村 資格ブログ スキルアップへ
にほんブログ村