Python デスクトップアプリ開発手法 公開日:2023年3月16日 Python サンプルコードを多数用いて、初心者でも安心して、Pythonプログラミング手法が学習できるように作っていきたいと思います。 現場で使えるExcelとの連携手法についても解説予定。 手軽に使えるPySimpleGUIを使用 […] 続きを読む
Python入門講座 公開日:2021年1月8日 Python 第1章 Python入門3 第1節 Pythonとは8 第2節 Pythonの開発環境14 第3節 Pythonの例 第2章 数値と文字列、変数18 第1節 数値と演算20 第2節 変数の利用22 第3節 文字列27 第 […] 続きを読む
次元削減 公開日:2020年1月19日 Python 次元削減は、教師なし学習の代表例の一つ。 次元削減は、多次元の特徴を、できるだけ元の情報を保持したまま低次元の特徴に落とすもので、得られた特徴は元の特徴とは異なる。 人間が可視化しやすいように多次元のデータ圧縮をした場合 […] 続きを読む
エルボー法 公開日:2020年1月19日 Python (5)エルボー法 k-maens法において、クラスタの数(いくつグルーピングするか)を自分で指定する必要がある。 各クラスタにはそれぞれ1つ以上のデータアリが前提である。 クラスタ数が不適切であれば、うまくグルーピングが […] 続きを読む
評価と類似度 公開日:2020年1月19日 Python (4)評価と類似度 クラスタリングは教師なし学習であるため、性能の評価が難しい。 うまくグルーピングできているかどうかを推し量るのが、類似度である。 特徴量の類似度に基づいてデータをグルーピングするのがクラスタリングであ […] 続きを読む
k-means法(k平均法) 公開日:2020年1月19日 Python (2)k-means法(k平均法) クラスタを認識させるためにアルゴリズムが必要になる。 クラスタリングには、似ている組み合わせを順番にまとめていく階層的クラスタリングや、指定した距離内の密度が最大化するようにクラスタ数 […] 続きを読む
クラスタリング 公開日:2020年1月19日 Python クラスタリングを行う主な目的は、データを自然なグループにまとめる(グルーピングする)ことである。 例えば、点在する点も大まかにいくつかのグループに括ることができる。 データの集まりをクラスタと呼ぶ。 クラスタを機械に認識 […] 続きを読む
教師なし学習 公開日:2020年1月19日 Python 教師なし学習 教師なし学習は、正解データが得られない機械学習の手法である。 教師なし学習の中で、よく使われるのは、クラスタリングと次元削減である。 クラスタリングは、グルーピングのこと。 グルーピングにおけるグループ数指 […] 続きを読む
ディープラーニング 公開日:2020年1月19日 Python (7)ディープラーニング 中間層(隠れ層)を2層以上持つニューラルネットワークのことをディープニューラルネットワークと言う。 ディープニューラルネットワークを用いて行う学習が、ディープラーニング(深層学習)である。 中間 […] 続きを読む
誤差逆伝播法(バックプロパゲーション) 公開日:2020年1月19日 Python 誤差逆伝播法(バックプロパゲーション)は、ランダムに定めた重みの初期値を用いてネットワークの順方向(入力側から出力側への方向)に計算を行い、その出力値と正解ラベルの誤差(コスト)をベースにネットワークの逆方向(出力側から […] 続きを読む
ニューラルネットワーク 公開日:2020年1月19日 Python (6)ニューラルネットワーク ニューラルネットワークは、多層パーセプトロンとも呼ばれている。 パーセプトロンを階層上にした構造となっている。 すなわち、線形回帰またはロジスティック回帰における入力層と出力層の間に、中間層 […] 続きを読む
k近傍法(k-NN) 分類法 公開日:2020年1月19日 Python (4)k近傍法(k-NN) k近傍法は、最も単純なアルゴリズムの一つ。特徴空間内で、分類対象のデータから距離的に近い(=類似している)k個の教師データの多数決によって、分類結果を決める手法。 k近傍法を採用する際は、kを […] 続きを読む
ランダムフォレスト 分類法 公開日:2020年1月19日 Python (3)ランダムフォレスト ランダムフォレストは、決定木の簡易版を複数作り、その多数決によって分類の結果を決める手法。 ランダムフォレストのように複数の簡易分類器の学習結果を組み合わせる手法を、アンサンブル学習という。 決 […] 続きを読む
決定木 分類法 公開日:2020年1月19日 Python (2)決定木 決定木は、説明変数に着目して、ifによる分岐を連続させ、それぞれの閾値を境にデータを分割することで、データを分類する。 メリットは、一つ一つの説明変数が結果に対して、どの程度影響を与えているかがわかりやすく […] 続きを読む
様々な分類手法 線形SVM・非線形SVM 公開日:2020年1月19日 Python (1)SVM(サポートベクターマシン) ①線形SVM SVMはロジスティック回帰と同じく、データの境界線を見つけて、データの分類を行う手法です。 超平面(クラスの境界線)から、各クラスの超平面に最も近いデータ(サポートベ […] 続きを読む
混同行列(Confusion Matrix) 公開日:2020年1月19日 Python (4)混同行列(Confusion Matrix) 混同行列とは、適合率と再現率の計算に必要な「モデルが分類した結果」と「実際の結果」を2軸として、該当する値を表にまとめたもののこと。 真陽性、偽陰性の1文字目の真偽は、 […] 続きを読む
分類モデルの評価 公開日:2020年1月19日 Python 分類モデルの評価 (1)正解率(Accuracy) 最もシンプルな評価基準は、正解率(Accuracy)である。 正解率=正解した数(分子)/予測したデータ数(分母) 正解しやすいが、データに偏りがある場合は、この指標だ […] 続きを読む
ロジスティック回帰 公開日:2020年1月19日 Python ロジスティック回帰は、分類の代表的なアルゴリズムです。 パーセプトロンと同様に、線形分離可能なデータを分類するアルゴリズムである。 パーセプトロンとの違いは、 1.出力に加え、各データがあるクラスに分類される確率値を算出 […] 続きを読む
パーセプトロン 公開日:2020年1月19日 Python (1)パーセプトロンの仕組み パーセプトロンとは、複数の値を入力として受け取り、一つの値を出力するアルゴリズムのこと。 単純パーセプトロン 単層パーセプトロン このパーセプトロンという仕組は、1959年代にニューロン(神 […] 続きを読む
教師あり学習②(分類) 公開日:2020年1月19日 Python 教師あり学習②(分類) 画像認識は、ここに分類される。 ロジスティック回帰 様々な分類の手法 ディープラーニング 分類の問題は大きく2つに分けられる。 二項分類(2クラス分類) 多項分類(多クラス分類) 二項分類とは、分 […] 続きを読む
標準化と正規化 公開日:2020年1月19日 Python (1)標準化 標準化とは、対象となる特徴量の分布が平均0・標準編差1の正規分布となるようにスケーリングすること。 μはデータセットの平均、データセットの標準偏差 (2)正規化 正規化とは、対象となる特徴量の最小値が0、最 […] 続きを読む
スケーリング 公開日:2020年1月19日 Python スケーリングとは、特徴量の尺度を揃えること。 各特徴量をスケーリングして、尺度を揃えることで、それぞれの係数の大小を比較できるようになる。 機械学習のアルゴリズムには、特徴量の尺度が揃っていなければ上手く動かないものがあ […] 続きを読む
汎化・高バリアンス・高バイアス 公開日:2020年1月19日 Python 未知のデータに対しても、学習データと同じように精度が出るモデルのことを、汎化(Generalization)能力が高いモデルと言う。 過学習になりやすい複雑なモデルを高バリアンス(High Variance) 未学習にな […] 続きを読む
過学習と未学習 公開日:2020年1月19日 Python 学習データを用いた場合には、高い精度が出るのに、未知のデータでは精度が出ない状態を過学習(Overfitting)と言う。 過学習は、学習データに対して、過度に適合した結果である。 練習問題は合格点だが、実際のテストでは […] 続きを読む
多項式 公開日:2020年1月19日 Python モデル精度の改善方法 1.トレーニングデータを増やす 2.説明変数を増やす/減らす 3.新しい特徴量を作成する 4.多項式項目を増やす 5.正則化を取り入れる(増減):本講座では扱わない。 多項式項目とは、多項式項目を取 […] 続きを読む
決定係数 公開日:2020年1月19日 Python 平均二乗誤差以外にも回帰式の精度を表す指標はある。その一つが決定係数である。 決定係数は、回帰分析の当てはまりの良さを表し、データの変動を回帰式で説明できる割合のこと。 決定係数の範囲:0~1 全てのデータが回帰式上にあ […] 続きを読む
誤差の二乗 公開日:2020年1月19日 Python 誤差の二乗の場合は、基本的に小さければ小さいほどモデルの精度は高いと言える。 残差プロット(データ毎の残差をプロットした散布図) 残差プロットを描き、それがおおむねy=0の直線の周りに集まっていれば、良いモデルができたと […] 続きを読む
モデルの評価 公開日:2020年1月19日 Python モデルの評価 手順 1.データセットを学習データとテストデータに分割する。 2.学習データを使ってモデルを学習させる。 3.テストデータを使って検証する。 1.は、学習データとテストデータの比率は多くの場合5:5~8:2 […] 続きを読む
重回帰分析の説明2 公開日:2020年1月19日 Python =ラベルの予測において、2次元以上の特徴量がそれぞれ、どの程度、影響を与えているかを測定する手法のこと。 単回帰分析は、特徴量は1次元で、特徴量とラベルの間に「直線的な関係(線形)」が前提となっている。 重回帰分析のよう […] 続きを読む
重回帰分析の説明1 公開日:2020年1月19日 Python =2種類以上の説明変数がある回帰分析のこと。 重回帰分析の式 [機械学習の用語] 特徴量:説明変数のこと。 次元:説明変数の種類・数のこと。 ラベル:目的変数のこと。 違う言い方だが、内容は一緒である。 続きを読む
最小二乗法 公開日:2020年1月19日 Python 残差が最小となる回帰直線を探すための最もシンプルな方法。 実測値は、プラス、マイナスと散在する可能性があるため、単純に合算では求められない。 残差を二乗し、符号を全てプラスに統一し、その上で総和を求め、そこから最小化を求 […] 続きを読む
[単回帰分析] 公開日:2020年1月19日 Python 直線の式(1次式) y=ax+b y(目的変数)=a(回帰係数)*x(説明変数)+b(切片) 最適な値とは、「求めたい回帰直線=最も当てはまりの良い線」 回帰直線上の値と実際の値の差が最も小さい直線のこと。 この差分のこ […] 続きを読む
[単回帰分析] 公開日:2020年1月19日 Python 「ある1つの変数xが大きくなる場合に、別の変数yにどの程度の影響を与えるか」を測定する。 2つの変数の散布図を描いた時、それらの関係性を最も上手く表す直線(回帰直線)の式を求めるのが、単回帰分析である。 続きを読む
予測したい変数(目的変数) 公開日:2020年1月19日 Python 予測したい変数(目的変数) 別の変数(説明変数)=基盤変数 ・説明変数と目的変数の間に直線的な関係がある=線形回帰 ・説明変数と目的変数の間に曲線的な関係がある=非線形回帰 ・説明変数一つだけの単回帰分析 ・説明変数が複 […] 続きを読む
回帰 公開日:2020年1月19日 Python 回帰は、連続値を予測する。 [回帰が実現すること] →商品販売数の予測、来店客数の予測 →基盤となる変数を基にして、別の変数を予測することができる。 ・基盤変数と予測する変数の関係が線形(=直線的)となる線形回帰 ・非線 […] 続きを読む