2016-07-03 9 views
0

私は神経回路網で自分の手を試してみたいと思い、ケラが構文的にとてもシンプルであることがわかりました。損失機能が表示されない

[[ 888.   900.5   855.   879.311  877.00266667 
    893.5008 ] 
[ 875.   878.5   840.   880.026  874.56933333 
    890.7948 ] 
[ 860.   870.   839.5   880.746  870.54333333 
    887.6428 ]....] 

それは金融の6枚の入力がある:私のセットアップがX_train形状の配列である(3516、6) とy_trainは

X_trainはこのようになります(3516)形状であります1つの出力を予測するデータ。私はそれが正確ではないことを知っていますが、それは私がRNNsに着く前に少なくとも私は何かに行くことです。 私の問題は、すべての時代の損失関数は、精度が0%を示す、validation_accuracyは0%データがたとえモデルを通過していないと言っても、貧弱なインプットを持つ貧弱なモデルであっても、大きな損失の権利によって表されるべきであるという意味です。こちらのモデルは次のようになります(下記参照)

とにかく、私は私が何か間違ったことをやっていることを確信していると、本当に君たちは、入力 多くのおかげ S

EDIT感謝の男:FULL作業コード:

は、本当に低
def load_data(keyword): 

    df = pd.read_csv('%s_x.csv' %keyword) 
    df2 = pd.read_csv('%s_y.csv' %keyword) 

    df2 = df2['label'] 

    try: 
     df.drop('Unnamed: 0', axis = 1, inplace=True) 
    except: 
     print('wouldnt let drop unnamed column') 

    X = df.as_matrix() 
    y = df2.as_matrix() 

    X_len = len(X) 
    test_size = 0.2 
    test_split = int(test_size * X_len) 
    X_train = X[:-test_split] 
    y_train = y[:-test_split] 

    X_test = X[-test_split:] 
    y_test = y[-test_split:] 

def keras(): 
    model = Sequential([ 
     Dense(input_dim=3, output_dim=3), 
     Dense(output_dim=60, activation='linear'), 
     core.Dropout(p=0.1), 
     Dense(60, activation='linear'), 
     core.Dropout(p=0.1), 
     Dense(1, activation='linear') 
    ]) 
    return model 


def training(epoch): 
    # start the program off by loading some data into it 
    X_train, X_test, y_train, y_test = load_data('admiral') 
    y_train = y_train.reshape(len(y_train), 1) 
    y_test = y_test.reshape(len(y_test), 1) 


    model = keras() 


    # optimizer will go into the compile function 
    # RMSpop is apparently a pretty decent choice for recurrent neural networks although we will start it on a simple nn too. 
    rms = optimizers.RMSprop(lr=0.001, rho = 0.9, epsilon =1e-08) 


    model.compile(optimizer= rms, loss='mean_squared_error ', metrics = ['accuracy']) 
    model.fit(X_train, y_train, nb_epoch=epoch, batch_size =500, validation_split=0.01) 

    score = model.evaluate(X_test, y_test, batch_size=50) 
    print(score) 

training(300) 
+0

あなたは完全な作業コードを投稿できますか? –

+0

ここであなたはコードがアップしている男に行く...私はそれが爆発的な勾配の問題のためだと思っていたが、事は6つの入力値の3つが10,15,20日間の平均値の目標値だから、ラベルとのリンクでは、確かにそれが大きい場合でもまだ損失を表示する必要がありますか?.. – entercaspa

+0

ちょっとanmol、ちょうど10,15,20日の終値に入力を縮小し、それは今働いている、損失は非常に高く、精度はすべてのエポックnまたはそこに約0.0034です、それは0.69を一度打ちましたが、どちらの方法で今働いています、私はLSTMネットワークを基本的に構築する時間だと思う、 – entercaspa

答えて

0

精度それは回帰問題のために、精度を表示するために意味をなさないdoesntのため、それはナンquestioただけので低かったを通じて

データが渡されていた分類のためのより多くのですnは答えました

関連する問題