logistic模型
为改进测试权重的结果,首先设置weights权重为1,然后基于其进行向量梯度递减,进行梯度递减的计算量较大,为了减少计算量可进行随机梯度递减计算。梯度递减算法自适应减小预测结果与实际结果之间的差值。
调整参数alpha = 4/(1.0+j+i)+0.0001
实参数旨在避免随着调优的进行alpha趋近于零。I,j随着迭代不断增加,alpha逐渐减小,降低参数调整的幅度。在这里我们选取的迭代次数为500次。
def stocGradAscent1(dataMatrix, classLabels, numIter=500): m,n = shape(dataMatrix) weights = ones(n) #定义初始单位矩阵 dataIndex=[] for j in range(numIter): dataIndex = list(range(m)) for i in range(m): alpha = 4/(1.0+j+i)+0.0001 # 定义常量值防止alpha趋近1 randIndex = int(random.uniform(0,len(dataIndex))) h = sigmoid(sum(dataMatrix[dataIndex[randIndex]]*weights)) error = classLabels[dataIndex[randIndex]] - h weights = weights + alpha * error * dataMatrix[dataIndex[randIndex]] del(dataIndex[randIndex]) return weights
随机梯度下降算法每次基于训练数据集中的一个随机向量(alpha/weights/

本文探讨了信用卡违约客户预测的Logistic模型和SVM模型。在Logistic模型中,通过随机梯度下降优化,发现模型在假正率升高至0.2左右后真正率增速下降,存在提升空间。而在SVM模型中,通过增加过去六个月未还款期数和的变量,提高了预测准确率,最终得到的正确率、真正率和AUC值均优于Logistic模型,更适合银行风险管理。
最低0.47元/天 解锁文章
7473

被折叠的 条评论
为什么被折叠?



