本文实现了Logistic回归算法。数据集为机器学习实战中的该章节的数据。Logistic回归应用概率的方法来实现对参数的求解,利用最大似然及梯度上升的方法来实现参数的迭代。
下面为具体代码,用到了批量梯度上升,每次更新权值都需要加载所有的数据集,因此适用于较小的数据集。
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from matplotlib import animation as ani
#matplotlib.verbose.set_level("helpful")
#plt.rcParams['animation.convert_path'] = 'C:\Program Files\ImageMagick-7.0.5-Q16\magick.exe'
plt.rcParams['animation.ffmpeg_path'] = r'F:\Program Files\ffmpeg-20170418-6108805-win64-static\bin\ffmpeg.exe'
history=[]
#读取数据到数组
def loadDataSet():
#存储特征的dataMat,和标签label的列表
dataMat=[];label=[]
with open('testSet.txt') as f:
for line in f.readlines():
row=line.strip().split()
dataMat.append([1.0,float(row[0]),float(row[1])])
label.append((int)(row[