2016-12-13 9 views
0

私はTensorflowを使い始めました。 私の理解では、SkFlowはTensorFlowSkFlowへのCSVファイル

するためのインタフェースを簡素化され、私のために単純な良いです...

です。

TensorFlow's Githubには、SkFlowに含まれているIrisデータセットを使用したいくつかの有用な起動例があります。これは最初の例である線形クラシファイアからのものです。

iris = datasets.load_iris() 
feature_columns = learn.infer_real_valued_columns_from_input(iris.data) 

このirisオブジェクトタイプ<class 'sklearn.datasets.base.Bunch'>を有し、2つのリストとデータとターゲットを含む構造のような辞書です。

This linkは、CSV(または少なくともURL)からデータをロードする方法を示しています。ページの上部には、それは上記の方法を経由してロードする方法を示し、その後、URLを介して、その

# Load the Pima Indians diabetes dataset from CSV URL 
import numpy as np 
import urllib 
# URL REMOVED - SO DOES NOT LIKE SHORTENED URL 
# URL for the Pima Indians Diabetes dataset 
raw_data = urllib.urlopen(url) 
# load the CSV file as a numpy matrix 
dataset = np.loadtxt(raw_data, delimiter=",") 
print(dataset.shape) 
# separate the data from the target attributes 
X = dataset[:,0:7] 
y = dataset[:,8] 

ように私はXがデータであり、yは、ターゲットであることを取得します。しかし、githubの例やガイドの最初の例のデータの構造ではありません。

は私が

iris = datasets.load_iris() 

または私はXy出力で動作しないのように1つのオブジェクトにCSVデータを有効にするためのものですか?そしてもしそうなら、どのように私はGithubの

答えて

1

上の線形分類器の例で、私は同じチュートリアルに取り組んでいたことを行うのですか。 scikit Bunchオブジェクトをtrain/test splitに分割するためにscikit learnのcross_validationメソッドを使用しました。それから、classifier.fitとclassifier.evaluateのメソッドを使用してください。素晴らしいことだ

from sklearn import cross_validation 
import tensorflow as tf 
import numpy as np 
from sklearn import datasets 

# load from scikit learn 
iris = datasets.load_iris() 
# break into train/test splits 
x_train, x_test, y_train, y_test = cross_validation.train_test_split(
      iris.data, iris.target, test_size=0.2, random_state=42) 

# commented out the previous loading code 
''' 
# Data sets 
IRIS_TRAINING = "iris_training.csv" 
IRIS_TEST = "iris_test.csv" 
# Load datasets. 
training_set = tf.contrib.learn.datasets.base.load_csv_with_header(
    filename=IRIS_TRAINING, 
    target_dtype=np.int, 
    features_dtype=np.float32) 
test_set = tf.contrib.learn.datasets.base.load_csv_with_header(
    filename=IRIS_TEST, 
    target_dtype=np.int, 
    features_dtype=np.float32) 
''' 
# Specify that all features have real-value data 
feature_columns = [tf.contrib.layers.real_valued_column("", dimension=4)] 

# Build 3 layer DNN with 10, 20, 10 units respectively. 
classifier = tf.contrib.learn.DNNClassifier(feature_columns=feature_columns, 
             hidden_units=[10, 20, 10], 
             n_classes=3, 
             model_dir="./tmp/iris_model") 

# Fit model. Add your train data here 
classifier.fit(x=x_train,y=y_train,steps=2000) 

# Evaluate accuracy. Add your test data here 
accuracy_score = classifier.evaluate(x=x_test,y=y_test)["accuracy"] 
print('Accuracy: {0:f}'.format(accuracy_score)) 

# Classify two new flower samples. 
new_samples = np.array(
    [[6.4, 3.2, 4.5, 1.5], [5.8, 3.1, 5.0, 1.7]], dtype=float) 
y = list(classifier.predict(new_samples, as_iterable=True)) 
print('Predictions: {}'.format(str(y))) 
+0

。今私はどこかに行っています。 –

関連する問題