本文为周志华机器学习西瓜书第三章课后习题3.3答案,编程实现对率回归,数据集为书本第89页的数据

使用tensorflow实现过程

# coding=utf-8
import tensorflow as tf
from numpy import *
import  numpy as np
import matplotlib.pyplot as pltdata = mat([[0.697,0.460,1],[0.774,0.376,1],[0.634,0.264,1],[0.608,0.318,1],[0.556,0.215,1],[0.403,0.237,1],[0.481,0.149,1],[0.437,0.211,1],[0.666,0.091,0],[0.243,0.267,0],[0.245,0.057,0],[0.343,0.099,0],[0.639,0.161,0],[0.657,0.198,0],[0.360,0.370,0],[0.593,0.042,0],[0.719,0.103,0]])x_train=data[:,0:2].astype(float32)
y_train=data[:,2].astype(float32)
y_train = mat(y_train)
w=tf.Variable(tf.zeros([2,1]))
b=tf.Variable(tf.zeros([1,1]))
y=1/(1+tf.exp(-(tf.matmul(x_train,w)+b)))
loss = tf.reduce_mean(- y_train.reshape(-1, 1) * tf.log(y) - (1 - y_train.reshape(-1, 1)) * tf.log(1 - y))
train=tf.train.GradientDescentOptimizer(0.5).minimize(loss)
init=tf.global_variables_initializer()
sess=tf.Session()
sess.run(init)
for i in range(1000):sess.run(train)
print(i,sess.run(w).flatten(),sess.run(b).flatten())

画图过程

#画图
X0 = array(data[:8])#选择训练集中为好瓜的样本
X1 = array(data[8:])#选择训练集中为坏瓜的样本
ax = plt.subplot(111)
ax.scatter(X0[:,0],X0[:,1],c='g',label='+')#选择好瓜样本的第一列和第二列 画出散点图
ax.scatter(X1[:,0],X1[:,1],c='b',label='-')#选择坏瓜样本的第一列和第二列 画出散点图
x1 = arange(-0.9,1.0,0.1)
y1 = (-b-w[0]*x1)/w[1]
plt.sca(ax)
plt.plot(x1,sess.run(y1).flatten())
plt.legend()#设置图例
plt.show()

控制台输出

END~

转载于:https://www.cnblogs.com/hyacinthwyd/p/8884874.html

周志华-机器学习西瓜书-第三章习题3.3 编程实现对率回归相关推荐

  1. 【吃瓜教程】周志华机器学习西瓜书第三章答案

    线性模型结构梳理 3.1 试析在什么情形下式3.2中不必考虑偏置项b 答案一: 偏置项b在数值上代表了自变量取0时,因变量的取值: 1.当讨论变量x对结果y的影响,不用考虑b: 2.可以用变量归一化( ...

  2. 机器学习(周志华)西瓜书 课后习题4.3 信息熵决策树算法——python实现(包括树的可视化)

    机器学习(周志华)西瓜书 课后习题4.3 信息熵决策树算法--python实现(包括树的可视化) 算法原理 1.信息熵 2.信息增益 我们所以要做的就是不断地从当前剩余的属性当中选取最佳属性对样本集进 ...

  3. 小白学机器学习西瓜书-第三章对数几率回归

    小白学机器学习西瓜书-第三章对数几率回归 3.3 对数几率回归 3.3.1 对数几率函数 3.3.1 估计参数 上一部分我们介绍了线性回归,包括简单的二元回归和多元回归,这两个主要解决的是拟合预测的问 ...

  4. 机器学习_周志华(西瓜书) 课后习题答案 第一章 Chapter1

    机器学习_周志华 课后习题答案 第一章 Chapter1 习题1.1 Q:表1.1中若只包含编号为1和4的两个样例,试给出相应的版本空间. 由所给出的数据集(训练集)可知,属性3个:色泽.根蒂.敲声, ...

  5. 机器学习_周志华_西瓜书_学习笔记_第二章--模型的评估与选择

    2 模型的评估与选择 2.1 误差与过拟合 我们将学习器对样本的实际预测结果与样本的真实值之间的差异成为:误差(error).定义: 在训练集上的误差称为训练误差(training error)或经验 ...

  6. 从周志华的西瓜书到李宏毅的机器学习开源项目,一文总结Datawhale系列分享

    今天是开源组织Datawhale一周岁生日,这一年来,Datawhale 分享了很多优质内容,希望通过这篇总结帮助大家更好地系统学习. Datawhale是一个专注于AI领域的开源组织,也是我的亲密伙 ...

  7. 周志华机器学习(西瓜书)学习笔记(持续更新)

    <周志华机器学习>笔记 第1章 绪论 1.1 引言 1.2 基本术语 1.3 假设空间 1.4 归纳偏好 1.5 发展历程 1.6 应用现状 第2章 模型评估与选择 2.1 经验误差与过拟 ...

  8. 【周志华机器学习】三、线性模型

    文章目录 参考资料 1. 线性回归 1.1 概述 应用举例 1.2 分析 1.3 对数线性回归 1.4 过拟合.欠拟合如何解决 L2正则化(岭回归) L1正则化(Lasso回归) ElasticNet ...

  9. 【周志华机器学习】十四、概率图模型

    文章目录 参考资料 1. 基本概念 2. 隐马尔可夫模型(HMM) 2.1 隐马尔可夫三大问题 1. 第一个问题解法 2. 第二个问题解法 3. 第三个问题解法 3. 马尔可夫随机场(MRF) 3.1 ...

最新文章

  1. linux date
  2. Java IO学习笔记四
  3. Python 生成 JWT(json web token) 及 解析方式
  4. 【Android 高性能音频】Oboe 音频流打开后 耳机 / 音箱 插拔事件处理 ( 动态注册广播接收者监听耳机插拔事件 | 重新打开 Oboe 音频流 )
  5. python 计时器 timeit repeat 计算(语句)(函数)耗时 时间 运行时长
  6. 设计模式之SOLID原则再回首
  7. iTerm2 隐藏用户名和主机名
  8. SpringMVC拦截器工作流程图
  9. 在CentOS 6上使用yum安装lnmp服务
  10. 52. Element item() 方法
  11. 操作系统--虚拟内存、逻辑地址、线性地址、物理地址
  12. unity4.6 failed to update unity web player
  13. 2014Esri全球用户大会——亮点系列之精彩应用案例
  14. 【Python爬虫】花瓣网爬取美女图片
  15. mysql数据库url正确的是_下面关于连接mysql下的mydb数据库的url,编写正确的是()...
  16. python写入文件出现空行
  17. C++公约数和公倍数
  18. C语言模块化程序设计概念理解
  19. Deepin 微信版本太低无法登录
  20. 网页设计:运用html与css实现水平居中、文字图片重叠混排

热门文章

  1. 实现redis集群的批量pineline操作
  2. rk3288 android5.1 java 层使用 su 获取 root 权限
  3. VB SendMessage向其他程序窗口发送字符串消息实例
  4. VB快速读取 TextBox 第 N 行的资料
  5. VB获取快捷方式原文件路径
  6. Visual Basic编程常见问题及解答(3)
  7. SCPPO(八):登录实现逻辑
  8. 等级考试(二):二级C++---宏观把控
  9. Uber无人车为何危险:长期忽视模拟器,只在意路测 | 内部声音
  10. 吴恩达“旗下”Drive.ai无人出租车来了!新硬件成本更低,外挂4块屏幕