学习笔记:csv文件的读取和tf.contrib.learn Quickstart
2017-04-07 18:00
405 查看
tf.contrib.learn 是TensorFlow高层次机器学习API。
以下是TensorFlow官方文档的实例代码解析
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import itertools
import pandas as pd
import tensorflow as tf
tf.logging.set_verbosity(tf.logging.INFO)#set logging verbosity to INFO
COLUMNS = ["crim", "zn", "indus", "nox", "rm", "age","dis", "tax", "ptratio", "medv"]
FEATURES = ["crim", "zn", "indus", "nox", "rm","age", "dis", "tax", "ptratio"]
LABEL = "medv"
#数据集读取,训练集,测试集,预测集
training_set = pd.read_csv("boston_train.csv", skipinitialspace=True, skiprows=1, names=COLUMNS)
test_set = pd.read_csv("boston_test.csv", skipinitialspace=True,skiprows=1, names=COLUMNS)
prediction_set = pd.read_csv("boston_predict.csv", skipinitialspace=True,skiprows=1, names=COLUMNS)
#skipinitialspace : boolean, default False忽略分隔符后的空白(默认为False,即不忽略).
#skiprows : list-like or integer, default None需要忽略的行数(从文件开始处算起),或需要跳过的行号列表(从0开始)。
#创建特征容量器FeatureColumns,把读入的特征分解为一个列表
feature_cols = [tf.contrib.layers.real_valued_column(k) for k in FEATURES]
#构建DNN网络,两个隐层,每层10个神经单元
regressor = tf.contrib.learn.DNNRegressor(feature_columns=feature_cols,
hidden_units=[10, 10],
model_dir="/tmp/boston_model")
#定义输入函数,输入是数据集,返回的是FeatureColumns和labels(标签)
def input_fn(data_set):
feature_cols = {k: tf.constant(data_set[k].values) for k in FEATURES}#把feature_cols变为TensorFlow常量
labels = tf.constant(data_set[LABEL].values)
return feature_cols, labels
#-------------------------Training the Regressor-------------------------------
#迭代5000步 classifer.fit 训练模型
regressor.fit(input_fn=lambda: input_fn(training_set), steps=5000)
#--------------------------Evaluating the Model----------------------
#计算精度
ev = regressor.evaluate(input_fn=lambda: input_fn(test_set), steps=1)
loss_score = ev["loss"]
print("Loss: {0:f}".format(loss_score))
#-------------------------Making Predictions-----------------------
#输入prediction_set数据集对模型预测
y = regressor.predict(input_fn=lambda: input_fn(prediction_set))
# .predict() returns an iterator; convert to a list and print predictions
predictions = list(itertools.islice(y, 6))#itertools用于高效循环的迭代函数集合,返回前6个值
print ("Predictions: {}".format(str(predictions)))
重要知识点:
tf.contrib.learn.datasets.base.load_csv_with_header 加载csv格式数据
tf.contrib.learn.DNNClassifier 建立DNN模型(classifier)
classifer.fit 训练模型
classifier.evaluate 评价模型
classifier.predict 预测新样本
函数my_input_fn():返回值frature_cols是一个字典,包含键值对,把列名和数据特征对应起来,返回值labels只是一个包含标签的张量。
以下是TensorFlow官方文档的实例代码解析
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import itertools
import pandas as pd
import tensorflow as tf
tf.logging.set_verbosity(tf.logging.INFO)#set logging verbosity to INFO
COLUMNS = ["crim", "zn", "indus", "nox", "rm", "age","dis", "tax", "ptratio", "medv"]
FEATURES = ["crim", "zn", "indus", "nox", "rm","age", "dis", "tax", "ptratio"]
LABEL = "medv"
#数据集读取,训练集,测试集,预测集
training_set = pd.read_csv("boston_train.csv", skipinitialspace=True, skiprows=1, names=COLUMNS)
test_set = pd.read_csv("boston_test.csv", skipinitialspace=True,skiprows=1, names=COLUMNS)
prediction_set = pd.read_csv("boston_predict.csv", skipinitialspace=True,skiprows=1, names=COLUMNS)
#skipinitialspace : boolean, default False忽略分隔符后的空白(默认为False,即不忽略).
#skiprows : list-like or integer, default None需要忽略的行数(从文件开始处算起),或需要跳过的行号列表(从0开始)。
#创建特征容量器FeatureColumns,把读入的特征分解为一个列表
feature_cols = [tf.contrib.layers.real_valued_column(k) for k in FEATURES]
#构建DNN网络,两个隐层,每层10个神经单元
regressor = tf.contrib.learn.DNNRegressor(feature_columns=feature_cols,
hidden_units=[10, 10],
model_dir="/tmp/boston_model")
#定义输入函数,输入是数据集,返回的是FeatureColumns和labels(标签)
def input_fn(data_set):
feature_cols = {k: tf.constant(data_set[k].values) for k in FEATURES}#把feature_cols变为TensorFlow常量
labels = tf.constant(data_set[LABEL].values)
return feature_cols, labels
#-------------------------Training the Regressor-------------------------------
#迭代5000步 classifer.fit 训练模型
regressor.fit(input_fn=lambda: input_fn(training_set), steps=5000)
#--------------------------Evaluating the Model----------------------
#计算精度
ev = regressor.evaluate(input_fn=lambda: input_fn(test_set), steps=1)
loss_score = ev["loss"]
print("Loss: {0:f}".format(loss_score))
#-------------------------Making Predictions-----------------------
#输入prediction_set数据集对模型预测
y = regressor.predict(input_fn=lambda: input_fn(prediction_set))
# .predict() returns an iterator; convert to a list and print predictions
predictions = list(itertools.islice(y, 6))#itertools用于高效循环的迭代函数集合,返回前6个值
print ("Predictions: {}".format(str(predictions)))
重要知识点:
tf.contrib.learn.datasets.base.load_csv_with_header 加载csv格式数据
tf.contrib.learn.DNNClassifier 建立DNN模型(classifier)
classifer.fit 训练模型
classifier.evaluate 评价模型
classifier.predict 预测新样本
函数my_input_fn():返回值frature_cols是一个字典,包含键值对,把列名和数据特征对应起来,返回值labels只是一个包含标签的张量。
相关文章推荐
- tensorflow学习笔记十四:TF官方教程学习 tf.contrib.learn Quickstart
- TensorFlow学习笔记6----tf.contrib.learn Quickstart
- Tensorflow学习笔记之用TF读取csv文件的限制
- 深度学习笔记——深度学习框架TensorFlow(十)[Creating Estimators in tf.contrib.learn]
- Jsoup学习笔记9:Jsoup 解析saz文件,读取其中的htm文件到字符串,提取字符串中的数据写入csv文件中
- TensorFlow学习笔记10----Logging and Monitoring Basics with tf.contrib.learn
- 深度学习笔记——深度学习框架TensorFlow(八)[Logging and Monitoring Basics with tf.contrib.learn]
- cocos2d-x学习笔记——Csv文件读取工具
- Groovy学习笔记(1)读取CSV文件
- SOAPUI 接口自动化学习笔记节选 如何用Groovy 脚本读取CSV 文件
- TensorFlow学习笔记12----Creating Estimators in tf.contrib.learn
- 学习笔记:Creating Estimators in tf.contrib.learn
- Tensorflow学习笔记-通过slim读取TFRecord文件
- Excel开发学习笔记:读取xml文件及csv文件
- SOAPUI 接口自动化学习笔记节选 如何用Groovy 脚本读取CSV 文件
- 学习笔记之cocos2d-x2.1.1实现读取.plist文件(使用数组CCArray)
- R语言学习笔记(二)——从文件读取数据
- 黑马程序员之C#学习笔记:C#读取txt文件的方法
- 0702学习笔记提示和传递和文件读取读写1
- Java学习笔记——文件读取技术