エンドレスグーグルでは、私がPythonとnumpyの知識を身につけてくれましたが、私の仕事を解決するにはまだまだです。私は、整数/浮動小数点値のCSVを読み込み、ニューラルネットワークを使って値を予測したいと思います。私はアイリスのデータセットを読み、分類を行ういくつかの例を見つけましたが、それらを回帰のために働かせる方法を理解していません。誰かがドットを結ぶのを助けることができますか?CSV >> Tensorflow >>回帰(ニューラルネットワーク経由)
16804,0,1,0,1,1,0,1,0,1,0,1,0,0,1,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,0,1,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,0,1,0,1,0,1,0,1,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,0,1,0,1,0,1,0,1,0,1,0,1,1,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.490265,0.620805,0.54977,0.869299,0.422268,0.351223,0.33572,0.68308,0.40455,0.47779,0.307628,0.301921,0.318646,0.365993,6135.81
925個の値であるべきである:ここ
は、入力の一つの行です。最後の列は出力です。最初はRowIDです。私はすでにワンホットエンコーディングを行っているので、ほとんどがバイナリ値です。テストファイルに出力/最終列はありません。完全なトレーニングファイルには、約10Mの行があります。一般的なMxNソリューションが実現します。
編集:アイリスは分類の問題であるため、このサンプルデータを使用してみましょうが、上記は私の本当の目標です。 ID列を削除しました。 6つの他の列が与えられた最後の列を予測しましょう。これには45行あります。 (SRC:http://www.stat.ufl.edu/~winner/data/civwar2.dat)
100,1861,5,2,3,5,38 112,1863,11,7,4,59.82,15.18 113,1862,34,32,1,79.65,2.65 90,1862,5,2,3,68.89,5.56 93,1862,14,10,4,61.29,17.2 179,1862,22,19,3,62.01,8.89 99,1861,22,16,6,67.68,27.27 111,1862,16,11,4,78.38,8.11 107,1863,17,11,5,60.75,5.61 156,1862,32,30,2,60.9,12.82 152,1862,23,21,2,73.55,6.41 72,1863,7,3,3,54.17,20.83 134,1862,22,21,1,67.91,9.7 180,1862,23,16,4,69.44,3.89 143,1863,23,19,4,81.12,8.39 110,1862,16,12,2,31.82,9.09 157,1862,15,10,5,52.23,24.84 101,1863,4,1,3,58.42,18.81 115,1862,14,11,3,86.96,5.22 103,1862,7,6,1,70.87,0 90,1862,11,11,0,70,4.44 105,1862,20,17,3,80,4.76 104,1862,11,9,1,29.81,9.62 102,1862,17,10,7,49.02,6.86 112,1862,19,14,5,26.79,14.29 87,1862,6,3,3,8.05,72.41 92,1862,4,3,0,11.96,86.96 108,1862,12,7,3,16.67,25 86,1864,0,0,0,2.33,11.63 82,1864,4,3,1,81.71,8.54 76,1864,1,0,1,48.68,6.58 79,1864,0,0,0,15.19,21.52 85,1864,1,1,0,89.41,3.53 85,1864,1,1,0,56.47,0 85,1864,0,0,0,31.76,15.29 87,1864,6,5,0,81.61,3.45 85,1864,5,5,0,72.94,0 83,1864,0,0,0,46.99,2.38 101,1864,5,5,0,1.98,95.05 99,1864,6,6,0,42.42,9.09 10,1864,0,0,0,50,9 98,1864,6,6,0,79.59,3.06 10,1864,0,0,0,71,9 78,1864,5,5,0,70.51,1.28 89,1864,4,4,0,59.55,13.48
私は、これは一般的な作業ですが、私は、私はこれを求めてきましたので、読んで任意のフォーラムで回答されていないように見えることを追加してみましょう。私はあなたに私の壊れたコードを与えることができますが、私は機能的に正しいコードであなたの時間を無駄にしたくありません。申し訳ありませんが、私はこのように尋ねました。私はAPIを理解しておらず、ドキュメントはデータ型を教えてくれません。ここで
は、私はそれを持っている最新のコードである2 ndarraysにCSVを読み込む:
#!/usr/bin/env python
import tensorflow as tf
import csv
import numpy as np
from numpy import genfromtxt
# Build Example Data is CSV format, but use Iris data
from sklearn import datasets
from sklearn.cross_validation import train_test_split
import sklearn
def buildDataFromIris():
iris = datasets.load_iris()
data = np.loadtxt(open("t100.csv.out","rb"),delimiter=",",skiprows=0)
labels = np.copy(data)
labels = labels[:,924]
print "labels: ", type (labels), labels.shape, labels.ndim
data = np.delete(data, [924], axis=1)
print "data: ", type (data), data.shape, data.ndim
そして、ここでは、私が使用したいベースコードです。この例は完全ではありませんでした。以下のリンクのAPIはあいまいです。少なくとも、DNNRegressorと他のドキュメントに入力されたデータ型をドキュメントで把握できれば、カスタムコードを書くことができるかもしれません。
estimator = DNNRegressor(
feature_columns=[education_emb, occupation_emb],
hidden_units=[1024, 512, 256])
# Or estimator using the ProximalAdagradOptimizer optimizer with
# regularization.
estimator = DNNRegressor(
feature_columns=[education_emb, occupation_emb],
hidden_units=[1024, 512, 256],
optimizer=tf.train.ProximalAdagradOptimizer(
learning_rate=0.1,
l1_regularization_strength=0.001
))
# Input builders
def input_fn_train: # returns x, Y
pass
estimator.fit(input_fn=input_fn_train)
def input_fn_eval: # returns x, Y
pass
estimator.evaluate(input_fn=input_fn_eval)
estimator.predict(x=x)
そして、大きな問題は、これらを一緒に働かせることです。
ここで私が見てきたいくつかのページがあります。 https://www.tensorflow.org/versions/r0.11/tutorials/tflearn/index.html
- 基本コード https://www.tensorflow.org/versions/r0.11/api_docs/python/contrib.learn.html#DNNRegressor -CSVリーディング: https://www.tensorflow.org/versions/master/how_tos/reading_data/index.html#csv-files
- カラム埋め込み:APIを https://www.tensorflow.org/versions/r0.11/tutorials/wide_and_deep/index.html
- リスト(DNNRegressor、 TensorFlowDNNRegressor、LinearRegressor、 TensorFlowLinearRegressor、TensorFlowRNNRegressor、 TensorFlowRe gressor): https://www.tensorflow.org/versions/r0.11/api_docs/python/contrib.learn.html
問題の説明を絞り込むことはできますか?現在の問題は、(1)ワンホットフォーマットでCSVファイルを取り込む方法、 (2)厳密な分類(列挙型)から採点(CSV行の最後の浮動小数点値)に切り替える方法。 – Prune
あなたは変換の試みとその結果(出力の欠如)を投稿できますか?それは私たちに攻撃の焦点をもっと絞ることになります。 – Prune
私は本質的にCSVを読むことができるので範囲を単純化しましたが、希望の形式でNNに入力する方法はわかりません。 – ldmtwo