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

質問編集履歴

3

間違っていた点の修正

2020/06/01 09:17

投稿

huton
huton

スコア30

title CHANGED
@@ -1,1 +1,1 @@
1
- kerasでcsvデータを用いた学習
1
+ kerasでcsvデータを正規化する
body CHANGED
@@ -1,60 +1,32 @@
1
1
  質問内容
2
2
  ---
3
- kerasでcsvデータを学習ができるようにベクトルを行いたいと思っています。しかしいろいろ検索をかけて自分なりに作ってて学習を行ってみところうまいきませんでした。ソースコードの方法でデータのベクトルはうまく行えていのでしょうか?うまくいっていない場合ベクトル化の方法を教えていただらとても助かります。
3
+ kerasでcsvデータを学習ができるように正規たいと思っています。しかしいろいろ検索をかけてみたのですがよわかりませんでした。のでcsvデータを正規る方法を教えていただいです。
4
4
  以下の画像は使用したcsvデータです
5
5
  ![イメージ説明](59baa393cf0fb9979a70a19e30586b71.png)
6
6
  ソースコード
7
7
  ---
8
8
  ```python
9
9
  import keras
10
- import math
11
10
  import pandas as pd
12
- import numpy as np
13
- import matplotlib.pyplot as plt
14
- from keras import models
15
- from keras import layers
16
- from keras import optimizers
17
11
  from pandas import Series,DataFrame
18
12
  from keras.utils import to_categorical
19
- from keras.optimizers import RMSprop
20
13
 
21
14
  #csv読み込み
22
15
  sign_train = pd.read_csv("sign_mnist_train.csv",sep=",",header=0)
23
16
  k_data=DataFrame(sign_train.drop("label",axis=1))
24
17
  k_label=DataFrame(sign_train["label"])
25
18
 
26
- #ベクトル
19
+ #正規
27
20
  k_data=k_data.values
28
21
  k_data = k_data.astype(np.float)
29
22
  k_label = keras.utils.to_categorical(k_label,25)
30
23
 
31
- #モデルの定義
32
- model=models.Sequential()
33
- model.add(layers.Dense(60,activation='relu',input_shape=(28*28,)))
34
- model.add(layers.Dense(60,activation='relu'))
35
- model.add(layers.Dense(60,activation='relu'))
36
- model.add(layers.Dense(25,activation='softmax'))
37
- model.compile(optimizer=optimizers.RMSprop(lr=0.01),loss='mse',metrics=['accuracy'])
38
-
39
- #検証データセットの設定
40
- data_val=k_data[:5000]
41
- partial_k_data=k_data[5000:]
42
- label_val=k_label[:5000]
43
- partial_k_label=k_label[5000:]
44
-
45
- #モデルの訓練
46
- history=model.fit(partial_k_data,partial_k_label,epochs=20,batch_size=200,validation_data=(data_val,label_val))
47
-
48
24
  #結果表示
49
25
  print('k_data')
50
26
  print(k_data)
51
27
  print('----------')
52
28
  print('k_label')
53
29
  print(k_label)
54
- print('----------')
55
- results=model.evaluate(data_val,label_val)
56
- print('results')
57
- print(results)
58
30
  ```
59
31
  出力結果
60
32
  ---
@@ -72,7 +44,4 @@
72
44
  ...
73
45
  [0. 0. 0. ... 0. 0. 0.]
74
46
  [0. 0. 0. ... 0. 1. 0.]]
75
- ----------
76
- results
77
- [0.07694398815631867, 0.03819999843835831]
78
47
  ```

2

足りない点を補った

2020/06/01 09:17

投稿

huton
huton

スコア30

title CHANGED
@@ -1,1 +1,1 @@
1
- kerasでのベクトル化
1
+ kerasでcsvデータを用いた学習
body CHANGED
File without changes

1

足りない点を補った

2020/06/01 02:25

投稿

huton
huton

スコア30

title CHANGED
File without changes
body CHANGED
@@ -7,41 +7,72 @@
7
7
  ---
8
8
  ```python
9
9
  import keras
10
+ import math
10
11
  import pandas as pd
11
12
  import numpy as np
13
+ import matplotlib.pyplot as plt
14
+ from keras import models
15
+ from keras import layers
16
+ from keras import optimizers
12
17
  from pandas import Series,DataFrame
13
18
  from keras.utils import to_categorical
19
+ from keras.optimizers import RMSprop
14
20
 
21
+ #csv読み込み
15
22
  sign_train = pd.read_csv("sign_mnist_train.csv",sep=",",header=0)
16
-
17
23
  k_data=DataFrame(sign_train.drop("label",axis=1))
18
24
  k_label=DataFrame(sign_train["label"])
19
25
 
26
+ #ベクトル化
27
+ k_data=k_data.values
20
28
  k_data = k_data.astype(np.float)
21
29
  k_label = keras.utils.to_categorical(k_label,25)
22
30
 
31
+ #モデルの定義
32
+ model=models.Sequential()
33
+ model.add(layers.Dense(60,activation='relu',input_shape=(28*28,)))
34
+ model.add(layers.Dense(60,activation='relu'))
35
+ model.add(layers.Dense(60,activation='relu'))
36
+ model.add(layers.Dense(25,activation='softmax'))
37
+ model.compile(optimizer=optimizers.RMSprop(lr=0.01),loss='mse',metrics=['accuracy'])
38
+
39
+ #検証データセットの設定
40
+ data_val=k_data[:5000]
41
+ partial_k_data=k_data[5000:]
42
+ label_val=k_label[:5000]
43
+ partial_k_label=k_label[5000:]
44
+
45
+ #モデルの訓練
46
+ history=model.fit(partial_k_data,partial_k_label,epochs=20,batch_size=200,validation_data=(data_val,label_val))
47
+
48
+ #結果表示
49
+ print('k_data')
23
50
  print(k_data)
24
51
  print('----------')
52
+ print('k_label')
25
53
  print(k_label)
54
+ print('----------')
55
+ results=model.evaluate(data_val,label_val)
56
+ print('results')
57
+ print(results)
26
58
  ```
27
59
  出力結果
28
60
  ---
29
61
  ```
30
- pixel1 pixel2 ... pixel1783 pixel1784
62
+ k_data
31
-
32
- 107.0 118.0 ... 203.0 202.0
63
+ [[107. 118. ... 203. 202.]
33
-
34
- 155.0 157.0 ... 135.0 149.0
64
+ [155. 157. ... 135. 149.]
35
-
65
+ ...
36
- ... ... ... ... ...
66
+ [177. 181. ... 87. 93.]
37
-
38
- 179.0 180.0 ... 209.0 215.0
67
+ [179. 180. ... 209. 215.]]
39
-
40
- [27455 roes × 784 columns]
41
68
  ----------
69
+ k_label
42
70
  [[0. 0. 0. ... 0. 0. 0.]
43
71
  [0. 0. 0. ... 0. 0. 0.]
44
72
  ...
45
73
  [0. 0. 0. ... 0. 0. 0.]
46
74
  [0. 0. 0. ... 0. 1. 0.]]
75
+ ----------
76
+ results
77
+ [0.07694398815631867, 0.03819999843835831]
47
78
  ```