質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

解決済

pandasとnumpyの切り替えがうまくいきません

chain
chain

総合スコア11

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

1回答

0評価

0クリップ

14098閲覧

投稿2018/02/11 19:53

前提・実現したいこと

https://qiita.com/tsunaki/items/a5f3f975a31dc45fc9c9
を参考に株価予想をしようとしています。

http://k-db.com/
のサービスが終了しているので、自分で作成したcsvデータを読み込んでいるのですが、サンプルコード通りにpandasで読み込んでas_matrixを使ってnumpyに切り替えているつもりなのですが、エラーが出ます。

データのロードのところくらいしか変更していないのですが、なぜエラーになるのでしょうか。また、どのように修正したらよいのでしょうか。

発生している問題・エラーメッセージ

AttributeError: 'numpy.float64' object has no attribute 'as_matrix'

該当のソースコード

全部載せると長いのですが一応全部載せます。

python

# -*- coding: utf-8 -*- import numpy import pandas import matplotlib.pyplot as plt from sklearn import preprocessing from keras.models import Sequential from keras.layers.core import Dense, Activation from keras.layers.recurrent import LSTM class Prediction : def __init__(self): self.length_of_sequences = 10 self.in_out_neurons = 1 self.hidden_neurons = 300 def load_data(self, data, n_prev=10): X, Y = [], [] for i in range(len(data) - n_prev): X.append(data.iloc[i:(i+n_prev)].as_matrix()) Y.append(data.iloc[i+n_prev].as_matrix()) retX = numpy.array(X) retY = numpy.array(Y) return retX, retY def create_model(self) : model = Sequential() model.add(LSTM(self.hidden_neurons, \ batch_input_shape=(None, self.length_of_sequences, self.in_out_neurons), \ return_sequences=False)) model.add(Dense(self.in_out_neurons)) model.add(Activation("linear")) model.compile(loss="mape", optimizer="adam") return model def train(self, X_train, y_train) : model = self.create_model() # 学習 model.fit(X_train, y_train, batch_size=10, epochs=100) return model batch_xs=pandas.read_csv('batch_xs.csv',header=None) test_xs=pandas.read_csv('test_xs.csv',header=None) x_train, y_train = prediction.load_data(batch_xs.iloc[:,0], prediction.length_of_sequences) x_test, y_test = prediction.load_data(test_xs.iloc[:,0], prediction.length_of_sequences) if __name__ == "__main__": prediction = Prediction() model = prediction.train(x_train, y_train) predicted = model.predict(x_test) result = pandas.DataFrame(predicted) result.columns = ['predict'] result['actual'] = y_test result.plot() plt.show()

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。