由于网上资料很多,这里就不再对算法原理进行推导,仅给出博主用Python实现的代码,供大家参考
二项逻辑斯谛回归
适用问题:二类分类
可类比于感知机算法
实验数据:train_binary.csv
实现代码:
# encoding=utf-8
import time
import math
import random
import pandas as pd
from sklearn.cross_validation import train_test_split
from sklearn.metrics import accuracy_score
class LogisticRegression(object):
def __init__(self):
self.learning_step = 0.0001 # 学习率
self.max_iteration = 5000 # 分类正确上界,当分类正确的次数超过上界时,认为已训练好,退出训练
def train(self,features, labels):
self.w = [0.0] * (len(features[0]) + 1) # 初始化模型参数
correct_count = 0 # 分类正确的次数
while correct_count &