質問するログイン新規登録

回答編集履歴

7

説明を詳しく

2018/05/01 16:48

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -26,6 +26,9 @@
26
26
  ```
27
27
 
28
28
  やりたいことは想像できなくはありませんが、動きません。はい。
29
+
30
+ リストと同じ感覚で、空リストを作る→appendしていくという処理を書きたかったのですよね? 残念ながら、np.empty()はshapeだけ与えた引数通り、中身はまったく不定の配列を作ってしまいます。当然nan等も含まれる場合があります。そしてnp.append()は配列に値をstackした結果を返し、元の配列は変更しません。
31
+
29
32
  np.append(X_test, X)では、feature_df03.ixから読み込んだデータを次元削減したものをX_testに代入したいんですよね? 恐らくX_test[i-1] = Xとすれば(決してうまい処理ではないけど)意図した通りの挙動になると思います。
30
33
  うまい処理としては、これくらいで良いと思います。
31
34
  ```python

6

修正

2018/05/01 16:48

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -26,4 +26,10 @@
26
26
  ```
27
27
 
28
28
  やりたいことは想像できなくはありませんが、動きません。はい。
29
- 恐らくX_test[i-1] = Xとすれば(決してうまい処理ではないけど)意図した通りの挙動になると思います。
29
+ np.append(X_test, X)では、feature_df03.ixから読み込んだデータを次元削減したものをX_testに代入したいんですよね? 恐らくX_test[i-1] = Xとすれば(決してうまい処理ではないけど)意図した通りの挙動になると思います。
30
+ うまい処理としては、これくらいで良いと思います。
31
+ ```python
32
+ X = np.array(feature_df03[1:45])
33
+ X_test = lda.transform(pca.transform(X))
34
+ ```
35
+ そのままだと動かないかもしれません。適宜書き換えてください・・・。

5

修正

2018/05/01 10:57

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -26,4 +26,4 @@
26
26
  ```
27
27
 
28
28
  やりたいことは想像できなくはありませんが、動きません。はい。
29
- 恐らくX_test[i] = Xとすれば(決してうまい処理ではないけど)意図した通りの挙動になると思います。
29
+ 恐らくX_test[i-1] = Xとすれば(決してうまい処理ではないけど)意図した通りの挙動になると思います。

4

追記

2018/05/01 10:51

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -25,4 +25,5 @@
25
25
  y_test3 = y_test[30:45]
26
26
  ```
27
27
 
28
- やりたいことは想像できなくはありませんが、動きません。はい。
28
+ やりたいことは想像できなくはありませんが、動きません。はい。
29
+ 恐らくX_test[i] = Xとすれば(決してうまい処理ではないけど)意図した通りの挙動になると思います。

3

追記

2018/05/01 10:50

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -1,1 +1,28 @@
1
- tracebackによるとforest.predict(X_test1)でX_test1の値がヘンなので、バリデーションで落ちています。X_testを確認してください。
1
+ tracebackによるとforest.predict(X_test1)でX_test1の値がヘンなので、バリデーションで落ちています。X_testを確認してください。
2
+
3
+
4
+ ### 追記
5
+ 落ち着いて読み返してみたら、
6
+
7
+ ```python
8
+ X_test = np.empty((45, 2), dtype='float32') # 未初期化なのでNanなどが入るときがある。文句は言えない
9
+
10
+ for i in range(1, 45):
11
+ X = feature_df03.ix[i, :]
12
+ X = X.reshape(1, -1)
13
+ X = pca.transform(X)
14
+ X = lda.transform(X)
15
+
16
+ np.append(X_test, X) # 返り値を捨ててるので単に無意味(捨ててなくても無意味そうだけど・・・)
17
+
18
+ # X_testは未初期化のまま
19
+ # nanなどが入ったまま分ける!
20
+ X_test1 = X_test[:15, :]
21
+ y_test1 = y_test[:15]
22
+ X_test2 = X_test[15:30, :]
23
+ y_test2 = y_test[15:30]
24
+ X_test3 = X_test[30:45, :]
25
+ y_test3 = y_test[30:45]
26
+ ```
27
+
28
+ やりたいことは想像できなくはありませんが、動きません。はい。

2

追記

2018/05/01 10:47

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
File without changes

1

誤字修正

2018/05/01 10:44

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -1,1 +1,1 @@
1
- tracebackによるとforest.predict(X_test1)でX_test1の値がヘンなので、バリデーションで落ちています。X_testを確認てください。
1
+ tracebackによるとforest.predict(X_test1)でX_test1の値がヘンなので、バリデーションで落ちています。X_testを確認てください。