回答編集履歴

7

説明を詳しく

2018/05/01 16:48

投稿

hayataka2049
hayataka2049

スコア30933

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

6

修正

2018/05/01 16:48

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -54,4 +54,16 @@
54
54
 
55
55
  やりたいことは想像できなくはありませんが、動きません。はい。
56
56
 
57
- 恐らくX_test[i-1] = Xとすれば(決してうまい処理ではないけど)意図した通りの挙動になると思います。
57
+ np.append(X_test, X)では、feature_df03.ixから読み込んだデータを次元削減したものをX_testに代入したいんですよね? 恐らくX_test[i-1] = Xとすれば(決してうまい処理ではないけど)意図した通りの挙動になると思います。
58
+
59
+ うまい処理としては、これくらいで良いと思います。
60
+
61
+ ```python
62
+
63
+ X = np.array(feature_df03[1:45])
64
+
65
+ X_test = lda.transform(pca.transform(X))
66
+
67
+ ```
68
+
69
+ そのままだと動かないかもしれません。適宜書き換えてください・・・。

5

修正

2018/05/01 10:57

投稿

hayataka2049
hayataka2049

スコア30933

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

4

追記

2018/05/01 10:51

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -53,3 +53,5 @@
53
53
 
54
54
 
55
55
  やりたいことは想像できなくはありませんが、動きません。はい。
56
+
57
+ 恐らくX_test[i] = Xとすれば(決してうまい処理ではないけど)意図した通りの挙動になると思います。

3

追記

2018/05/01 10:50

投稿

hayataka2049
hayataka2049

スコア30933

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

2

追記

2018/05/01 10:47

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
File without changes

1

誤字修正

2018/05/01 10:44

投稿

hayataka2049
hayataka2049

スコア30933

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