使用tensorflow实现简单的多分类问题
来源:互联网 发布:淘宝网充值 编辑:程序博客网 时间:2024/06/03 06:43
请先观看用sklearn之逻辑回归 http://blog.csdn.net/daxiaofan/article/details/70154074
中间没有隐藏层,模拟一下逻辑回归
import tensorflow as tffrom sklearn.datasets import load_irisfrom sklearn.decomposition import PCAimport matplotlib.pyplot as pltimport numpy as npplt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['font.family']='sans-serif' plt.rcParams['axes.unicode_minus'] = Falseiris=load_iris()iris_data=iris.datairis_target=iris.targetimport pandas as pdiris_target1=pd.get_dummies(iris_target).valuesprint(iris_data.shape)pca=PCA(n_components=2)X=pca.fit_transform(iris_data)print(X.shape)f=plt.figure()ax=f.add_subplot(111)ax.plot(X[:,0][iris_target==0],X[:,1][iris_target==0],'bo')ax.scatter(X[:,0][iris_target==1],X[:,1][iris_target==1],c='r')ax.scatter(X[:,0][iris_target==2],X[:,1][iris_target==2],c='y')ax.set_title('数据分布图')plt.show()x=tf.placeholder(dtype=tf.float32,shape=[None,2],name="input")y=tf.placeholder(dtype=tf.float32,shape=[None,3],name="output")w=tf.get_variable("weight",shape=[2,3],dtype=tf.float32,initializer=tf.truncated_normal_initializer(stddev=0.1))bais=tf.get_variable("bais",shape=[3],dtype=tf.float32,initializer=tf.constant_initializer(0))y_1=tf.nn.bias_add(tf.matmul(x,w),bais)loss=tf.reduce_mean( tf.nn.softmax_cross_entropy_with_logits(labels=y,logits=y_1))x0min,x0max=X[:,0].min(),X[:,0].max()x1min,x1max=X[:,1].min(),X[:,1].max()with tf.Session() as sess: accuracy=tf.reduce_mean(tf.cast(tf.equal(tf.arg_max(y,1),tf.arg_max(y_1,1)),tf.float32)) train_step=tf.train.AdamOptimizer().minimize(loss) my=tf.arg_max( y_1,1) sess.run(tf.global_variables_initializer()) for i in range(3001): sess.run(train_step,feed_dict={x:X,y:iris_target1}) if i%500==0: accuracy_print=sess.run(accuracy,feed_dict={x:X,y:iris_target1}) print(accuracy_print) h=0.05 xx,yy=np.meshgrid(np.arange(x0min-1,x0max+1,h),np.arange(x1min-1,x1max+1,h)) x_=xx.reshape([xx.shape[0]*xx.shape[1],1]) y_=yy.reshape([yy.shape[0]*yy.shape[1],1]) test_x=np.c_[x_,y_] my_p=sess.run(my,feed_dict={x:test_x}) coef=w.eval() intercept=bais.eval()z=my_p.reshape(xx.shape)f=plt.figure()plt.contourf(xx,yy,z, cmap=plt.cm.Paired)plt.axis('tight')colors='bry'for i,color in zip([0,1,2],colors): idx=np.where(iris_target==i) plt.scatter(X[idx,0],X[idx,1],c=color,cmap=plt.cm.Paired)xmin,xmax=plt.xlim()print(intercept)print(coef)plt.show()
3 0
- 使用tensorflow实现简单的多分类问题
- Tensorflow实现一个简单的二分类问题
- Keras基于TensorFlow实现的简单分类问题
- 利用tensorflow实现一个简单的二分类
- 使用TensorFlow实现二分类
- Tensorflow 实现MINIST数据集多分类问题
- 如何使用TensorFlow实现音频分类任务
- Tensorflow实现的CNN文本分类
- Tensorflow实现一个CNN分类的例子
- 基于tensorflow 的cnn实现文本分类
- 使用TensorFlow实现简单的线性回归(LinearRegression)
- tensorflow+图像分类使用的一些错误
- tensorflow实现简单卷积网络进行mnist分类
- 简单的Tensorflow实现NN
- Tensorflow CNN 的简单实现
- tensorflow 分类问题
- Tensorflow LSTM分类问题
- tensorflow实现文本分类
- 剑指offer----包含min函数的栈
- Linux下快速静态编译Qt以及Qt动态/静态版本共存
- 刷简书阅读量
- HDU5015 233 Matrix(矩阵快速幂)
- Runtime.getRuntime().exec执行scp失败
- 使用tensorflow实现简单的多分类问题
- 《挑战程序设计竞赛》2.1 最基础的穷竭搜索
- css 新特征
- 自定义view(二):onDraw 之 Paint
- 浅析数据库(DB)、操作数据存储(ODS)和数据仓库(DW)的区别与联系
- 计算器原码、反码和补码和位移的一些总结
- VS2017 创建NET Core 1.1 Web项目,发布后找不到引用的js文件
- C++大数乘法
- 使用IntelliJ IDEA 15和Maven创建Java Web项目