假设train.csv文件中的内容为1,2,3,4,5,test.csv文件中的内容为2,3,4,5,1,则首先将train数组以及test数组提取出来,
trainSet:2,3,4,5
labelList:0(因为trainSet打头的数字为1,所以类别标为第0类)
testSet:3,4,5,1
labelList:0(因为testSet打头的数字为1,所以类别标为第0类)
对于trainSet进行处理的时候,在trainSet数组末尾加上数字1。
1.i = 0时,w=[0,0,0,0,0],trainDataList=[[2,3,4,5,1]],wx=0,yi=0,xi=[2,3,4,5,1],h=0.001,利用公式w += h * (xi * yi - (np.exp(wx) * xi) / ( 1 + np.exp(wx)))进行梯度上升的操作,求得下一次的对应值为[-0.001,-0.0015,-0.002,-0.0025,-0.0005],h=0.001为每次的步长,经历过50次循环之后求得对应的w数组为[-0.03684138,-0.05526207,-0.07368276,-0.09210345,-0.01842069],
然后再对testSet数组进行处理,testSet=[3,4,5,1],testLabelList=[0],使用公式P1 = np.exp(wx) / (1 + np.exp(wx)),如果P1>=0.5的时候将其划分为第一类,如果P1<0.5的时候将其划分为第零类。
然后用test的LabelList中的结果与train的LabelList的结果进行比较,发现两者相等,说明分类正确。
实例分析相应的逻辑斯蒂回归
最新推荐文章于 2022-09-06 22:19:44 发布