博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
周志华-机器学习西瓜书-第三章习题3.3 编程实现对率回归
阅读量:7125 次
发布时间:2019-06-28

本文共 1512 字,大约阅读时间需要 5 分钟。

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

使用tensorflow实现过程

# coding=utf-8import tensorflow as tffrom numpy import *import  numpy as npimport 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

你可能感兴趣的文章
隐私浏览器 Tor Browser 8.0.8 发布,安全更新版本
查看>>
12.2.0.1.0 Grid RU安装
查看>>
隐私浏览器 Tor Browser 8.0.7 发布,安全更新版本
查看>>
ATEC倒计时21天|大数据特色银行之贵阳银行
查看>>
使用树莓派进行24小时视频直播
查看>>
socket网络编程
查看>>
储能型数据中心对UPS电池的发展要求
查看>>
《Kotlin极简教程》第2章 快速开始:HelloWorld
查看>>
jedisPool使用遇到的bug
查看>>
精通SpringBoot——第八篇:整合RabbitMQ消息队列
查看>>
Linux系统优化
查看>>
快速理解Flexbox布局
查看>>
自适应双向turbo均衡器应用于水声通信系统
查看>>
C语言可以这样入门~~
查看>>
案发现场:被注入的软件及 ORA-600 16703 灾难的恢复
查看>>
rasa_core:基于机器学习的对话引擎
查看>>
Android连接 Mysql: 解决mysql-connector-java驱动编译时Dex cannot parse version 52 byte code...等错误...
查看>>
答「那些初中高中就接触编程的人后来怎么样了」
查看>>
Angular 2.0 浅入浅出
查看>>
浅谈OpenStack与虚拟机的区别与联系
查看>>