DAY24

11140 ワード

Warm-up



LInear regression
logistic regression

Logistic Regression


vaildation Test


なぜスーツを検証する必要があるのですか?
  • セットの訓練でモデルを一度に完全に勉強させるのは難しいので、
  • セットの異なるモデルのトレーニングを学習した後、どのモデルの学習が良好であるかを検証し、選択する必要があります.
  • の最終的なテスト結果は満足できません.モデルを変更して、より良い予測テストセットのモデルを作成すると、そのモデルがテストセットと一致し、汎用性が低下する
  • になります.
  • 訓練日
  • 検証データ予測エラーの測定
  • スーパーパラメータ調整
  • テストデータは一般化エラーを評価するために1回だけです!テストデータの漏洩に注意!
  • データが多い場合は、データ全体をトレーニング/検証/テストセットに分割できます.データが比較的少ない場合は、Kクロス検証(Kクロス検証)を行います.

    データムモデル


    分類問題:ターゲット変数で最も一般的なカテゴリ
    クロック列:前の時点のデータ
  • 注意事項:ターゲット変数は通常、より高いカテゴリ比
  • を有する.
    # mode(): Return the highest frequency value in a Series.
    major = y_train.mode()[0]
    # 타겟 샘플 수 만큼 0이 담긴 리스트를 만듭니다. 기준모델로 예측
    y_pred = [major] * len(y_train)
    分類回帰とは異なる評価指標(評価指標)の使用
  • 回帰評価指標を分類に使用することは絶対にできない.(逆も同様)
  • 精度は分類問題に用いられる評価指標である
    Accuracy=正確予測の全体予測数frac{正確予測数}{全体予測数}正確予測の全体予測数=TP+TNP+Nfrac{TP+TN}{P+NTP+TN
  • from sklearn.metrics import accuracy_score
    print("training accuracy: ", accuracy_score(y_train, y_pred))
    Baselineモデルの精度スコア(精度スコア)2
    donors['made_donation_in_march_2007'].value_counts(normalize=True)
    どちらの値も同じです

    ロジック回帰モデル


    P(X)=11+e−(β0+β1X1+⋯+βpXp)\large P(X)={\frac {1}{1+e^{-(\beta _{0}+\beta _{1}X_{1}+\cdots +\beta _{p}X_{p})}}}P(X)=1+e−(β0​+β1​X1​+⋯+βp​Xp​)1​
    0≦P(X)≦10leq P(X)leq 10≦P(X)≦観測値特定カテゴリに属する確率値として計算する->分類問題で確率値を用いて分類する
  • 例)確率値が所定の基準値より大きい場合、予測は1または0
    画像ソース
  • Logit transformation


    論理回帰の係数を直感的に説明することは困難であり,Oddsを用いて線形結合形式に変換できる.
  • 分類問題では、クラス1確率とクラス0確率の比
  • と解釈する.
    Odds=p1−pOdds =\large\frac{p}{1-p}Odds=1−pp​,
    p=成功確率、1-p=失敗確率
    p=1の場合bord=∞infty∞
    p=0の場合bord=0
    ln(Odds)=ln(p1−p)=ln(11+e−(β0+β1X1+⋯+βpXp)1−11+e−(β0+β1X1+⋯+βpXp))=β0+β1X1+⋯+βpXp\large ln(Odds) = ln(\frac{p}{1-p}) = ln(\frac{\frac {1}{1+e^{-(\beta _{0}+\beta _{1}X_{1}+\cdots +\beta _{p}X_{p})}}}{1 -\frac {1}{1+e^{-(\beta _{0}+\beta _{1}X_{1}+\cdots +\beta _{p}X_{p})}}}) =\normalsize\beta _{0}+\beta _{1}X_{1}+\cdots +\beta _{p}X_{p}ln(Odds)=ln(1−pp​)=ln(1−1+e−(β0​+β1​X1​+⋯+βp​Xp​)1​1+e−(β0​+β1​X1​+⋯+βp​Xp​)1​​)=β0​+β1​X1​+⋯+βp​Xp​
    =>フォーマットコピー(Logit transformation)
    :非線形形式のRogestick関数を線形形式にし,回帰係数の意味をより容易に説明した.
  • で確立するy値∞~∞範囲
  • せんけいかいきモデル

    from sklearn.linear_model import LogisticRegression
    logistic = LogisticRegression()
    logistic.fit(X_train_imputed, y_train)
    精度方法1
    logistic.score(X_val, y_val))
    精度方法2
    y_pred1= logistic.predict(X_train)
    print("training accuracy: ", accuracy_score(y_train, y_pred1))
    分類基準となる各クラスに属する確率値の決定
    test_case = [[1, 5, 600]] #예시
    logistic.predict_prob(test_case)
    0と1に分類
    test caseが0の確率、1の確率

    論理回帰モデルの場合

  • ウォンホットコード(DAY 23)
  • 欠落測定値のチェックと置換-平均
  • from sklearn.impute import SimpleImputer
    imputer = SimpleImputer(strategy='mean')
    X_train_imputed = imputer.fit_transform(X_train_encoded)
    X_val_imputed = imputer.transform(X_val_encoded)
    標準化
  • 属性値
  • from sklearn.preprocessing import StandardScaler
    scaler = StandardScaler()
    X_train_scaled = scaler.fit_transform(X_train_imputed)
    X_val_scaled = scaler.transform(X_val_imputed)
    標準化によりパフォーマンスが向上
  • ポインティングレバー型番
  • N214


    データプリプロセッシング


    重複値のチェック
    df.duplicated(subset=None, keep='first')
    重複除外
    df.drop_duplicates(subset=None, keep='first',inplace=True)
    リファレンス

    特定のプロパティのみのホットコーディング

    from category_encoders import OneHotEncoder
    encoder = OneHotEncoder(cols=['feature'],  use_cat_names = True)
    X_train_e = encoder.fit_transform(X_train)
    X_test_e = encoder.transform(X_test)
    X_val_e = encoder.transform(X_val)
    リファレンス

    最適化


    Hyperパラメータの調整ソース
    最適化例n 214参照

    もっと知りたい


    可用性セットの最適化