2017-11-14 11 views
0

私は注文ファイル内のデータ、列車と試験データからモデリングを作成するにはどうすればよいですか?

#split into train and test sets 
X = DataFrame.values 
train_size = int(len(X)*0.66) 
train, test = X[1:train_size], X[train_size:] 
train_X, train_y = train[:,0], train[:,1] 
test_X, test_y = test[:,0], test[:,1] 

私はtrain_dataを呼び出すことにより、異なるファイル内のデータをテストしたいを持っています。

def test(learning_rate=0.1, k=1, training_epochs=15): 
    print ('... loading data') 
    datasets = ('book-sales.csv') 
    train_X, train_y = datasets[0] 
    test_X, test_y = datasets[0] 
    print ('... modeling') 
    rbm = RBM(input=train_X, n_visible=28 * 28, n_hidden=500) 

このメッセージが見つかりました。

train_X, train_y = datasets[0]

ValueError: not enough values to unpack (expected 2, got 1)

どのように書きますか?

+0

関連する追加してください。タグは次回に使用します。私はあなたのためにこれを追加しました。 –

+0

私はまだ理解していない... @ zipa私はそれのように書く必要がありますか? – xing

+0

btw、thats演算子boolean? @zipa – xing

答えて

0

ファイルに直接データセットを読まなければならない場合には、それは、データ分析のために設計されているため、ライブラリpandashttp://pandas.pydata.org/を使用することをお勧めします。

import pandas as pd 
data_path = "./book-sales.csv" #path to access data 
datasets = pd.read_csv(data_path) 

datasetsオブジェクトは現在DataFrameパンダのタイプがあります。

また、データセットの実際の形式によっては、より便利になるようにget_valuesメソッドdatasets.get_values()を使用して再構成することができます。

このようにして、データを列車とテストセットに分割できます。これは参考になっ

+0

これは非常にです役に立つ、私はそれを学ぶでしょう。ありがとう@ Nathaniel Saura – xing

0

可能性がありますが、使用してPythonでのトレーニングとテストのために2つのランダムサンプル(80%および20%)にデータフレームを分割することができるだろう

希望:

import pandas as pd 
data_path = "./book-sales.csv" 
df = pd.read_csv(data_path) 
msk = np.random.rand(len(df)) < 0.8 
train_X, train_y= df[msk] 
test_X, test_y= df[~msk] 
+0

dfのために、どう定義する必要がありますか? – xing

+0

私は答えを編集しました。あなたはcsvからdfを読んだ後、電車とテストのデータセットに分割しました。 –

+0

ああ、私は仕事、ありがとう@ saghe Achrafしかし、私はdf = pd.DataFrame(np.random.randn(100,2))を参照から追加しました。どのような機能(100,2)を知っていますか? – xing

関連する問題