Tensorflow:使用高级接口TFLearn,对数据分类

from sklearn import model_selection 
from sklearn import datasets
from sklearn import metrics
import tensorflow as tf
learn = tf.contrib.learn

#自定义模型,传入数据即特征,以及标签,返回预测值、损失值、训练步骤
def my_model(features,target):
    target=tf.one_hot(target,3,1,0) #对于标签编码成one-hot形式
    
    #使用TFLearn库提供的全连接网络,即logistic_regression是单层全连接网络,本质就是逻辑回归
    logits,loss =learn.models.logistic_regression(features,target)
    train_op=tf.contrib.layers.optimize_loss(
            loss,
            tf.contrib.framework.get_global_step(),#获取训练步数并在训练时更新
            optimizer='Adagrad',
            learning_rate=0.1
            )
    return tf.arg_max(logits,1),loss,train_op
iris=datasets.load_iris()
x_train,x_test,y_train,y_test = model_selection.train_test_split(
        iris.data,iris.target,test_size=0.2,random_state=0)
#对自定义的模型进行封装
classifier = learn.Estimator(model_fn=my_model)
classifier.fit(x_train,y_train,steps=100)
y_predicted=classifier.predict(x_test)

 

你可能感兴趣的:(tensorflow)