erdoctor

python code

順序がないもの:one-hotエンコーディング

ここでは名義特徴量であるcolorも整数値にエンコーディングすることを考えます。もし、下記のようにエンコーディングしてしまうと、本来順序がないデータにも関わらず、「red>green>blue」のような大小の関係が成り立ってしまいます。bl...
python code

順序特徴量のマッピング

カテゴリーデータは主に以下の2種類に区別されます。順序特徴量名義特徴量順序特徴量はTシャツのサイズの「XL>L>M>S」のように数値ではないが順序付けできるうようなデータのことを指します。一方でTシャツの色の「赤」「青」「緑」「黄色」のよう...
python code

欠損値の補充

欠損値を補完する一般的な方法は平均値補完(meanimputation)です。ある列に欠損値(NaN)が存在する場合に、その列の値の平均値を欠損値(NaN)と置き換えるというものです。このように補完する時はscikit-learnのSimp...
python code

欠損値の対応 欠損値の除去

機械学習ではアルゴリズムへ入力する前にデータセットを精査し、以下のように前処理することでデータの品質をあげることが大切です。欠測値を削除、補填する文字列を対応する数値に置き換える数値を標準化する欠損値の確認#行・列ごとに欠損値をひとつでも含...
python code

SVMでの曲線での分離

SVM(サポートベクターマシン)のSVC(SVM分類)は、ロジスティック回帰と同じように線形に分類するアルゴリズムです。ですが、「カーネル化」という手法を組み合わせたカーネルSVMを使うことで非線形分離問題にも対応できます。以前ロジスティッ...
python code

過学習を避けるために

決定木はデータセットに合わせて過度に深くなっています。ここでロジスティック回帰のクエストでC=というハイパーパラメーターを指定したことを思い出してください。ロジスティック回帰のハイパーパラメーターについては、解説で説明します。Logisti...
python code

決定木を用いた解析

データの読み込みデータのプロット説明変数(X)と目的変数(y)の取得トレーニング・テスト用にデータを分割モデル作成とトレーニングデータの学習テストデータでスコア算出学習した領域のプロット%matplotlibinlineimportnump...
python code

非線形なデータをロジスティック回帰で扱う場合

このデータは線形非分離なデータで、ロジスティック回帰では分類できませんでした。このようにデータの傾向により、問題がある場合も一工夫すれば解決できます。解決方法として、x1*x2の値をとる3次元目の軸を追加して、ロジスティック回帰で分離します...
python code

ロジスティック回帰が苦手な分布

データをプロットすると、右上と左下に赤い点の分布、右下と左上に青い点の分布というように分布するデータでした。このような分布をXORデータセットと呼びますif文の解説if(x1>0)^(x2>0):return1else:return0この^...
python code

多次元のモデル:機械学習

%matplotlibinlineimportpandasaspdimportmatplotlib.pyplotaspltdf=pd.read_csv('./input/wine.csv')df.head(2)モデルには11の変数あり。#グ...