下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第python实现逻辑回归self.data=np.loadtxt(./data2.txt,delimiter=,)
self.data_mat=self.data[:,0:2]
self.label_mat=self.data[:,2]
self.thetas=np.zeros((self.data_mat.shape[1]))
#生成多项式特征,最高6次项
self.poly=PolynomialFeatures(6)
self.p_data_mat=self.poly.fit_transform(self.data_mat)
defcost_func_reg(self,theta,reg):
损失函数具体实现
:paramtheta:逻辑回归系数
:paramdata_mat:带有截距项的数据集
:paramlabel_mat:标签数据集
:paramreg:
:return:
m=self.label_mat.size
label_mat=self.label_mat.reshape(-1,1)
h=self.sigmoid(self.p_data_mat.dot(theta))
J=-1*(1/m)*(np.log(h).T.dot(label_mat)+np.log(1-h).T.dot(1-label_mat))\
+(reg/(2*m))*np.sum(np.square(theta[1:]))
ifnp.isnan(J[0]):
returnnp.inf
returnJ[0]
defgradient_reg(self,theta,reg):
m=self.label_mat.size
h=self.sigmoid(self.p_data_mat.dot(theta.reshape(-1,1)))
label_mat=self.label_mat.reshape(-1,1)
grad=(1/m)*self.p_data_mat.T.dot(h-label_mat)+(reg/m)*np.r_[[[0]],theta[1:].reshape(-1,1)]
returngrad
defgradient_descent_reg(self,alpha=0.01,reg=0,iterations=200):
逻辑回归梯度下降收敛函数
:paramalpha:学习率
:paramreg:
:paramiterations:最大迭代次数
:return:逻辑回归系数组
m,n=self.p_data_mat.shape
theta=np.zeros((n,1))
theta_set=[]
foriinrange(iterations):
grad=self.gradient_reg(theta,reg)
theta=theta-alpha*grad.reshape(-1,1)
theta_set.append(theta)
returntheta,theta_set
defplot_data_reg(self,x_label=None,y_label=None,neg_text=negative,pos_text=positive,thetas=None):
neg=self.label_mat==0
pos=self.label_mat==1
fig1=plt.figure(figsize=(12,8))
ax1=fig1.add_subplot(111)
ax1.scatter(self.p_data_mat[neg][:,1],self.p_data_mat[neg][:,2],marker=o,s=100,label=neg_text)
ax1.scatter(self.p_data_mat[pos][:,1],self.p_data_mat[pos][:,2],marker=+,s=100,label=pos_text)
ax1.set_xlabel(x_label,fontsize=14)
#描绘逻辑回归直线(曲线)
ifisinstance(thetas,type(np.array([]))):
x1_min,x1_max=self.p_data_mat[:,1].min(),self.p_data_mat[:,1].max()
x2_min,x2_max=self.p_data_mat[:,2].min(),self.p_data_mat[:,2].max()
xx1,xx2=np.meshgrid(np.linspace(x1_min,x1_max),np.linspace(x2_min,x2_max))
h=self.sigmoid(self.poly.fit_transform(np.c_[xx1.ravel(),xx2.ravel()]).dot(thetas))
h=h.reshape(xx1.shape)
ax1.contour(xx1,xx2,h,[0.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 质量控制检验检测标准化模板
- 项目管理风险识别与应对工具
- 公司资产盘点及处置管理模板
- 合作项目资金使用明晰化承诺书4篇
- 金融领域平等交易承诺书5篇范文
- 市场运营信誉承诺书(5篇)
- 福建省三明市三县2026届初三下第七次模拟语文试题含解析
- 2026年河北省沧州市东光县初三第二学期语文试题周练七含附加题含解析
- 产品故障快速诊断及解决方案
- 家居环境健康承诺书6篇
- 2026湖南张家界市桑植县招聘城市社区专职工作者20人考试参考试题及答案解析
- 2025年国家保安员资格证考试题库+答案
- 20.1 勾股定理及其应用 课件 2025-2026学年 人教版八年级数学下册
- 2026年温州永嘉县国有企业面向社会公开招聘工作人员12人考试备考试题及答案解析
- 2025年宿州职业技术学院单招职业技能考试试题及答案解析
- 工艺报警考核制度
- 2025年泰州职业技术学院单招职业倾向性考试题库带答案解析
- 2025年专升本管理学原理模拟试卷及答案
- 保密要害部门部位课件
- 山东省济南市2025-2026年高三上第一次模拟考试历史+答案
- (新教材)2026年春期人教版三年级下册数学教学计划+教学进度表
评论
0/150
提交评论