ロジスティック回帰アルゴリズム
ロジスティック回帰アルゴリズム:単語のリターンと名前が、それは回帰アルゴリズムではありませんが、それは古典的なバイナリ分類アルゴリズムです。
ロジスティック機能
従属変数のみ1と0のロジスティック回帰モデル(発生することが発生しない)2種類。X1、X2 ... P独立変数のXPの役割で仮定、Yはとる確率は、P = Pである|確率(Y = 1 X)が1をとる確率よりも、0.1-Pを取り、0取り
(オッズ)よりイベントと呼ばれる利点は、オッズの自然対数は、ロジスティック変換を取得します
次に、①= Zを行います
ロジスティック関数が呼び出されます
図:
ロジスティック回帰モデリング手順
、インジケータ変数(独立変数と従属変数)を設定し、データの収集及び解析対象は、収集したデータによれば、再び機能をスクリーニング
B、Yは確率は、P = P(Y 1 = | X)がかかり、確率は0〜1-Pに設定されています。使用
とモデルの回帰係数を推定するための線形回帰式に記載されている独立変数
Cを、モデル検査。多くの指標が存在するモデルの有効性をテストする、基本的な混同行列続い精度、ROC曲線、KS値などがあります。
D、モデル適用:入力引数値、変数値の予測を得ることができる、または予測変数の値に基づいて、独立変数の値を制御します。
例:
年齢 | 教育 | 勤務期間 | アドレス | 収入 | 負債比率 | クレジットカードの借金 | その他の負債 | 契約違反 |
---|---|---|---|---|---|---|---|---|
41 | 3 | 17 | 12 | 176.00 | 9.30 | 11.36 | 5.01 | 1 |
27 | 1 | 10 | 6 | 31.00 | 17.30 | 1.36 | 4.00 | 0 |
私は、データセットを必要としてくださいささやき
このデータの使用ロジスティック回帰分析をScikit-ご覧ください。第一主にライブラリのScikit_Learn feature_選択に含まれている方法を、スクリーニング多くの機能があり、機能スクリーニング、単純なのと比較してF検定(F_回帰)F値およびp値が与えられた様々な特徴は、そのような変数をスクリーニングすることができます( F値)が大きいか小さいp値の機能で選択します。続い再帰的な機能の排除(再帰的特徴消去、RFE)および安定性の選択(StabilitySelection)および他の比較的新しい方法。本明細書で使用する場合の選択方法の安定ランダムロジック回帰特徴選択のために、そしてその後は、ロジスティック回帰モデル、平均出力精度を確立し、濾過特性を使用します。
ロジスティック回帰コード
# -*- coding: utf-8 -*-
# 逻辑回归 自动建模
import pandas as pd
# 参数初始化
filename = '../data/bankloan.xls'
data = pd.read_excel(filename)
x = data.iloc[:, :8].as_matrix()
y = data.iloc[:, 8].as_matrix()
from sklearn.linear_model import LogisticRegression as LR
from stability_selection.randomized_lasso import RandomizedLogisticRegression as RLR
rlr = RLR() # 建立随机逻辑回归模型,筛选变量
rlr.fit(x, y) # 训练模型
rlr.get_support() # 获取特征筛选结果,也可以通过.scores_方法获取各个特征的分数
print(u'通过随机逻辑回归模型筛选特征结束。')
print(u'有效特征为:%s' % ','.join(data.columns[rlr.get_support()]))
x = data[data.columns[rlr.get_support()]].as_matrix() # 筛选好特征
lr = LR() # 建立逻辑货柜模型
lr.fit(x, y) # 用筛选后的特征数据来训练模型
print(u'逻辑回归模型训练结束。')
print(u'模型的平均正确率为:%s' % lr.score(x, y)) # 给出模型的平均正确率,本例为81.4%
結果:
通过随机逻辑回归模型筛选特征结束。
有效特征为:工龄,地址,负债率,信用卡负债
逻辑回归模型训练结束。
模型的平均正确率为:0.814285714286