机器学习——鸢尾花简单神经网络实现

一、使用pandas对鸢尾花的数据集进行读取

import pandas as pd
import tensorflow as tf
CSV_COLUMN_NAMES = ['SepaLength', 'SepalWidth','PetalLength', 'PetalWidth','Species'] # 鸢尾花的四个特征,花萼长度,花萼宽度,花瓣长度,花瓣宽度
data_train = pd.read_csv('iris_training.csv', names = CSV_COLUMN_NAMES, header = 0) # pandas读取训练集
data_test = pd.read_csv('iris_test.csv',names = CSV_COLUMN_NAMES, header = 0) # pandas读取测试集
print(data_train.head(5)) # 显示训练集数据的前五行

打印显示如下
二、构建模型
1. 需要指定模型的输入特征和预测值。该例中,输入特征有四个:

  • 花萼长度(seqpallength)
  • 花萼宽度(sepalwidth)
  • 花瓣长度(petallength)
  • 花瓣宽度(petalwidth)

训练集中的最后一列是预测值,species代表鸢尾花的种类,分别用0、1、2表示:

  • 山鸢尾(0)
  • 变色鸢尾(1)
  • 维吉尼亚鸢尾(2)

2.将属性值和标记值区分开,并提取特征值

train_x, train_y = data_train, data_train.pop('Species') # 删除训练集的最后一个列元素并返回作为训练的标记值
test_x, test_y = data_test, data_test.pop('Species')

从train_x或者test_x提取特征值:

my_feature_columns = []
for key in train_x.keys():
    my_feature_columns.append(tf.feature_column.numeric_column(key = key))
print(my_feature_columns)

3.构建深度神经网络分类器
tf.estimator提供了各种预定义的模型,称为Estimators,用户可以“开箱即用”对数据进行训练和评估操作。使用tf.estimator,你可以使用几行代码实例化tf.estimator.DNNClassifier:

# 构建训练模型
classifier = tf.estimator.DNNClassifier(
    # 接受那些输入特征
    feature_columns = my_feature_columns,
    # 包含的隐藏层及每个隐藏层包含的神经元数目
    hidden_units = [10,20],
    # 最终结果分成几类
    n_classes = 3
)
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值