当前位置: 首页 > news >正文

中国建设信用卡积分兑换网站网站建设百科

中国建设信用卡积分兑换网站,网站建设百科,网站会员功能介绍,天气预报网站怎么做20210405作业#xff1a; 回归问题: 用随机梯度下降法实现#xff0c;数据用data.csv。分类问题: 用梯度下降实现逻辑回归#xff0c;可以用批量梯度也可以用随机梯度实现。数据采用西瓜数据3.0α.csv。 1. SGD (Stochastic gradient descent) # 导包 import numpy as np i… 20210405作业 回归问题: 用随机梯度下降法实现数据用data.csv。分类问题: 用梯度下降实现逻辑回归可以用批量梯度也可以用随机梯度实现。数据采用西瓜数据3.0α.csv。 1. SGD (Stochastic gradient descent) # 导包 import numpy as np import pandas as pd import matplotlib.pyplot as plt# 导文件 data pd.DataFrame(pd.read_csv(数据集/data.csv)) datasgd: np.random.randn()取随机数组初始化w符合正态分布代替[0,0]在后续学习过程中更加合理 吴恩达机器学习——随机初始化random initializationW记录前一次j循环的结果_W为当前j循环内时时更新的wj的储存数组待所有wj全部更新完成后用_W更新W。当前正在梯度更新的wj记入_W每次进入i循环初始化cost代价函数最小二乘法计算代价 最小二乘法本质和原理least sqaure method。当前代价与上一代价pre_cost相减直到逼近其最小值即小于某一域值时跳出i循环返回W和BGD很像SGD交换i循环内j和k循环的先后当然其后range也要同步替换。 BGD通过遍历所有点依次更新wj而SGD遍历一点更新全部wj再遍历下一点…所以SGD可能在未遍历完所有点的情况下找到符合设定域值的一组W速度更快但准确性有所下降梯度下降就是一种根据代价函数的导数斜率去不断更改系数W从而达到使导数接近于0也就是代价函数达到极值点的一种算法 def sgd(x,y,alpha,n):sgd函数求w:param x: 数据集的x属性list:param y: 数据集的y标签list:param alpha: 梯度下降学习率:param n: 循环次数:return: w随机梯度下降所求系数list# ww np.random.randn(2)_w np.empty(2, dtypefloat)_w w# 数据集样本数m属性数dm x.shape[0]d w.shape[0]# 代价pre_cost 0for i in range(n):for k in range(m):for j in range(d):_w[j] _w[j]-alpha*(w[0]*x[k][0]w[1]*x[k][1]-y[k])*x[k][j]for j in range(d):w[j] _w[j]cost 0for k in range(m):cost (w[0]*x[k][0]w[1]*x[k][1]-y[k])**2cost cost/mif abs(cost-pre_cost)0.001:break;pre_costcostreturn w注 pandas的.values以array形式返回制定column的取值 # 构造x列表 x_list [] x_arr data[x].values for i in range(x_arr.shape[0]):temp [1,x_arr[i]]x_list.append(temp) x_list np.array(x_list) x_list# 构造y列表 y_list np.array(data[y].values) y_list# 计算w w sgd(x_list,y_list,alpha0.00000005,n10000) w注 np.linspace(start, stop, num, endpointTrue, retstepFalse, dtypeNone) 在指定的start和stop返回固定间隔num的数据plt.scatter(X[], Y[])“撒点” # 绘图 x np.linspace(400,900,100) y w[1]*x w[0] plt.title(Graph of SGD) plt.plot(x,y,colorgreen) plt.scatter(data[x].values, data[y].values) plt.grid() plt.xlabel(x) plt.ylabel(y) plt.show()2. LR (Logistic Regression) # 导数据并简单查看一下发现没有表头所以加上表头x1x2和y xg_data pd.DataFrame(pd.read_csv(数据集/西瓜数据3.0α.csv, headerNone, names[x1, x2, y])) xg_data.head(5)sigmoid S形曲线g(z)1/(1exp(-z))表示落在某值的概率z是np.mat类型的那么需要用np.exp而不是math.exp()Sigmoid曲线的’中点’也就是g(z)0.5那点表示概率是50%将正反例分隔开 令z0即WXb0可求得决策边界Decision Boundary plot_x2 -w[0]/w[2]-(w[1]/w[2])plot_x1 Sigmoid函数概念 机器学习中 Sigmoid 函数的物理含义 LR 这里求W采用BGD矩阵法这里的代价函数cost本质上是通过极大似然估计得出的在上文课件里有具体步骤 极大似然估计原理(Maximum Likelihood Estimate) def sigmoid(z):return 1/(1np.exp(-z))def LR(x, y, alpha, n):计算逻辑回归的w:param x: 样本属性:param y: 样本标签:param alpha: 学习率:param n: 循环次数:return: sigmoid曲线的变量w# 样本数mm x.shape[0]w np.mat(np.random.randn(x.shape[1],1))pre_cost 0for i in range(n):f sigmoid(x*w)w w alpha*x.T*(y-f)cost (y.T*np.log(f)(1-y).T*np.log(1-f))/mif abs(pre_cost-cost)0.0001:breakpre_cost costreturn w注 zip将两list合并成tuple列表从而构造X矩阵。 这里因为zip在python新版本中返回的是地址而要显示得用list()转换成列表。 当然也可以用[:,:]来切片都可以啦np.insert(arr,obj,values,axisNone)arr原matrix obj插入位置values插入新矩阵值axis若不设置则会降维np.reshape()中后参数[x,y]指定重塑成x行y列的ndarray 若x或y为-1则表明在满足另一维度的情况下自动调整当前维度元素个数(matrix).getA()返回matrix的数组因为matplotlib作图时需要array而不是matrix型数据作图时用到了布尔去筛选所需样本点 # 获取样本属性X的矩阵 x list(zip(list(xg_data[x1]), list(xg_data[x2]))) x np.mat(x) one_mat np.ones(x.shape[0]) x np.insert(x, 0,valuesone_mat, axis1) x# 获取样本标签Y的矩阵 y np.mat(np.reshape(np.asarray(xg_data[y]), [-1,1])) y# 求w w LR(x, y, alpha0.5, n100000) w w.getA() w# 结果展示 bl_mat xg_data[y]1 plt.scatter(xg_data[x1][bl_mat], xg_data[x2][bl_mat], cgreen, labelPositive) plt.scatter(xg_data[x1][bl_mat!True], xg_data[x2][bl_mat!True], cred, labelNegative) plt.xlabel(x1) plt.ylabel(x2) plot_x1 np.linspace(0.1, 0.8, 100) plot_x2 -w[0][0]/w[2][0]-(w[1][0]/w[2][0])*plot_x1 plt.plot(plot_x1, plot_x2, colorblue, labelDecision Boundary) plt.grid() plt.legend() plt.show()
http://www.pierceye.com/news/581/

相关文章:

  • 公司做百度网站要多少钱wordpress 端口
  • 合肥做网站工作室微信开放平台登录入口
  • 南宁seo网站建设费用wordpress全站美化
  • 做网站在图片里加文字地方型旅游网站
  • 建设银行遵义分行网站网易企业邮箱登入入口
  • 淘宝网站是谁做的印尼请人做网站
  • 园林景观设计公司做抖音推广措施seo社区
  • 网站定时数据切换怎么做的互联网创业就是做网站吗
  • 网站关键词百度指数wordpress移动广告不显示不出来
  • 怎么把自己做的网站挂到外网上住房和城乡建设部网站投诉电话
  • 制作网站软件下载wordpress演示
  • 视频网站开发代码wordpress 小程序哪个
  • 网站竞价托管建站价格会差
  • 石家庄网站建设网站建设凡科网站投票排行榜是怎么做的
  • 网站建设流程方案如何找有需求做网站的公司
  • 神鹰网站建设公司openresty wordpress
  • iis .net 网站架设自己建个网站需要什么
  • 网站后台登录地址怎么安全网站底部友情链接
  • 高端网站建设如何收费上海网站制作建设是什么
  • 深圳市国外网站建设服务机构做韩国外贸网站
  • 嘉兴seo网站建设费用网站制作 中企动力公司
  • 怎么选择郑州网站建设怎样在网站模板上做修改
  • 云南旅游网站开发公司广州做网站的公司哪家好
  • 做便民网站都需要哪些模块WordPress自动截取
  • 营销型网站怎么收费装潢公司网站模板
  • 平邑网站制作不是做有网站都叫狠狠
  • 免费源码html网站株洲本地新闻
  • 网站每年要交钱吗贴心的合肥网站建设
  • 网站建设与管理简单么oa系统的概念
  • 南昌住房建设局网站珠海网站建设企业