In [1]:
# 主要内容
# 1、Logistic Regression
# 2、Decision Tree
# 3、神经网络
# 4、基于聚类的离群点检测
In [2]:
# logistic regression
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)
import pandas as pd
from sklearn.linear_model import LogisticRegression as LR
from sklearn.linear_model import RandomizedLogisticRegression as RLR
data = pd.read_excel('/home/jeff/python_data/chapter5/chapter5/demo/data/bankloan.xls')
data
x = data.iloc[:,:8].as_matrix()
y = data.iloc[:,8].as_matrix()
rlr = RLR()
rlr.fit(x, y)
rlr.get_support()
print('通过随机逻辑回归模型筛选特征结束。')
print('有效特征为:%s' %','.join(data.iloc[:,:8].columns[rlr.get_support()]))
x = data[data.iloc[:,:8].columns[rlr.get_support()]].as_matrix()
lr = LR()
lr.fit(x, y)
print('逻辑回归模型训练结束。')
print('模型平均正确率为:%s' % lr.score(x,y))
通过随机逻辑回归模型筛选特征结束。
有效特征为:工龄,地址,负债率,信用卡负债
逻辑回归模型训练结束。
模型平均正确率为:0.814285714286
In [9]:
# Decision Tree
import pandas as pd
data = pd.read_excel('/home/jeff/python_data/chapter5/chapter5/demo/data/sales_data.xls', index_col='序号')
data[data=='好'] = 1
data[data=='是'] = 1
data[data=='高'] = 1
data[data!=1] = -1
x = data.iloc[:,:3].as_matrix().astype(int)
y = data.iloc[:,3].as_matrix().astype(int)
from sklearn.tree import DecisionTreeClassifier as DTC
dtc = DTC(criterion = 'entropy')
dtc.fit(x, y)
from sklearn.tree import export_graphviz
from sklearn.externals.six import StringIO
with open("tree.dot", 'w') as f:
f = export_graphviz(dtc, feature_names = data.columns[:3], out_file = f)
# 之后去命令行下操作
# 1、修改tree.dot文件,加入"edge[fontname="SimHei"]; node[fontname="SimHei"]"
# 2、用graphviz生成图片
# + dot -Tpdf tree.dot -o tree.pdf
# + dot -Tpng tree.dot -o tree.png
from PIL import Image
img=Image.open('tree.png')
img.show()
In [3]:
# 神经网络
import pandas as pd
data = pd.read_excel('/home/jeff/python_data/chapter5/chapter5/demo/data/sales_data.xls', index_col = '序号')
data[data=='好'] = 1
data[data=='是'] = 1
data[data=='高'] = 1
data[data!=1] = 0
x = data.iloc[:,:3].as_matrix().astype(int)
y = data.iloc[:,3].as_matrix().astype(int)
from keras.models import Sequential
from keras.layers.core import Dense, Activation
model = Sequential() # 建立模型
model.add(Dense(10,input_dim=3, activation='relu'))
#model.add(Activation('relu'))
model.add(Dense(1, activation='sigmoid'))
#model.add(Activation('sigmoid'))
model.compile(loss = 'binary_crossentropy', optimizer = 'adam', class_mode = 'binary')
model.fit(x, y, nb_epoch = 1000, batch_size = 10)
yp = model.predict_classes(x).reshape(len(y))
Using TensorFlow backend.
/home/jeff/anaconda3/lib/python3.5/site-packages/keras/models.py:546: UserWarning: "class_mode" argument is deprecated, please remove it.
warnings.warn('"class_mode" argument is deprecated, '
Epoch 1/1000
34/34 [==============================] - 0s - loss: 0.6515
Epoch 2/1000
34/34 [==============================] - 0s - loss: 0.6485
Epoch 3/1000
34/34 [==============================] - 0s - loss: 0.6467
Epoch 4/1000
34/34 [==============================] - 0s - loss: 0.6447
Epoch 5/1000
34/34 [==============================] - 0s - loss: 0.6428
Epoch 6/1000
34/34 [==============================] - 0s - loss: 0.6406
Epoch 7/1000
34/34 [==============================] - 0s - loss: 0.6393
Epoch 8/1000
34/34 [==============================] - 0s - loss: 0.6371
Epoch 9/1000
34/34 [==============================] - 0s - loss: 0.6358
Epoch 10/1000
34/34 [==============================] - 0s - loss: 0.6335
Epoch 11/1000
34/34 [==============================] - 0s - loss: 0.6322
Epoch 12/1000
34/34 [==============================] - 0s - loss: 0.6306
Epoch 13/1000
34/34 [==============================] - 0s - loss: 0.6295
Epoch 14/1000
34/34 [==============================] - 0s - loss: 0.6281
Epoch 15/1000
34/34 [==============================] - 0s - loss: 0.6267
Epoch 16/1000
34/34 [==============================] - 0s - loss: 0.6252
Epoch 17/1000
34/34 [==============================] - 0s - loss: 0.6241
Epoch 18/1000
34/34 [==============================] - 0s - loss: 0.6229
Epoch 19/1000
34/34 [==============================] - 0s - loss: 0.6214
Epoch 20/1000
34/34 [==============================] - 0s - loss: 0.6201
Epoch 21/1000
34/34 [==============================] - 0s - loss: 0.6188
Epoch 22/1000
34/34 [==============================] - 0s - loss: 0.6177
Epoch 23/1000
34/34 [==============================] - 0s - loss: 0.6163
Epoch 24/1000
34/34 [==============================] - 0s - loss: 0.6150
Epoch 25/1000
34/34 [==============================] - 0s - loss: 0.6138
Epoch 26/1000
34/34 [==============================] - 0s - loss: 0.6126
Epoch 27/1000
34/34 [==============================] - 0s - loss: 0.6108
Epoch 28/1000
34/34 [==============================] - 0s - loss: 0.6097
Epoch 29/1000
34/34 [==============================] - 0s - loss: 0.6084
Epoch 30/1000
34/34 [==============================] - 0s - loss: 0.6071
Epoch 31/1000
34/34 [==============================] - 0s - loss: 0.6062
Epoch 32/1000
34/34 [==============================] - 0s - loss: 0.6049
Epoch 33/1000
34/34 [==============================] - 0s - loss: 0.6038
Epoch 34/1000
34/34 [==============================] - 0s - loss: 0.6025
Epoch 35/1000
34/34 [==============================] - 0s - loss: 0.6012
Epoch 36/1000
34/34 [==============================] - 0s - loss: 0.6002
Epoch 37/1000
34/34 [==============================] - 0s - loss: 0.5992
Epoch 38/1000
34/34 [==============================] - 0s - loss: 0.5981
Epoch 39/1000
34/34 [==============================] - 0s - loss: 0.5966
Epoch 40/1000
34/34 [==============================] - 0s - loss: 0.5953
Epoch 41/1000
34/34 [==============================] - 0s - loss: 0.5943
Epoch 42/1000
34/34 [==============================] - 0s - loss: 0.5932
Epoch 43/1000
34/34 [==============================] - 0s - loss: 0.5918
Epoch 44/1000
34/34 [==============================] - 0s - loss: 0.5907
Epoch 45/1000
34/34 [==============================] - 0s - loss: 0.5896
Epoch 46/1000
34/34 [==============================] - 0s - loss: 0.5884
Epoch 47/1000
34/34 [==============================] - 0s - loss: 0.5875
Epoch 48/1000
34/34 [==============================] - 0s - loss: 0.5864
Epoch 49/1000
34/34 [==============================] - 0s - loss: 0.5853
Epoch 50/1000
34/34 [==============================] - 0s - loss: 0.5844
Epoch 51/1000
34/34 [==============================] - 0s - loss: 0.5831
Epoch 52/1000
34/34 [==============================] - 0s - loss: 0.5822
Epoch 53/1000
34/34 [==============================] - 0s - loss: 0.5811
Epoch 54/1000
34/34 [==============================] - 0s - loss: 0.5802
Epoch 55/1000
34/34 [==============================] - 0s - loss: 0.5791
Epoch 56/1000
34/34 [==============================] - 0s - loss: 0.5783
Epoch 57/1000
34/34 [==============================] - 0s - loss: 0.5771
Epoch 58/1000
34/34 [==============================] - 0s - loss: 0.5762
Epoch 59/1000
34/34 [==============================] - 0s - loss: 0.5754
Epoch 60/1000
34/34 [==============================] - 0s - loss: 0.5741
Epoch 61/1000
34/34 [==============================] - 0s - loss: 0.5734
Epoch 62/1000
34/34 [==============================] - 0s - loss: 0.5726
Epoch 63/1000
34/34 [==============================] - 0s - loss: 0.5716
Epoch 64/1000
34/34 [==============================] - 0s - loss: 0.5707
Epoch 65/1000
34/34 [==============================] - 0s - loss: 0.5697
Epoch 66/1000
34/34 [==============================] - 0s - loss: 0.5692
Epoch 67/1000
34/34 [==============================] - 0s - loss: 0.5680
Epoch 68/1000
34/34 [==============================] - 0s - loss: 0.5672
Epoch 69/1000
34/34 [==============================] - 0s - loss: 0.5665
Epoch 70/1000
34/34 [==============================] - 0s - loss: 0.5658
Epoch 71/1000
34/34 [==============================] - 0s - loss: 0.5646
Epoch 72/1000
34/34 [==============================] - 0s - loss: 0.5639
Epoch 73/1000
34/34 [==============================] - 0s - loss: 0.5633
Epoch 74/1000
34/34 [==============================] - 0s - loss: 0.5624
Epoch 75/1000
34/34 [==============================] - 0s - loss: 0.5615
Epoch 76/1000
34/34 [==============================] - 0s - loss: 0.5610
Epoch 77/1000
34/34 [==============================] - 0s - loss: 0.5600
Epoch 78/1000
34/34 [==============================] - 0s - loss: 0.5594
Epoch 79/1000
34/34 [==============================] - 0s - loss: 0.5585
Epoch 80/1000
34/34 [==============================] - 0s - loss: 0.5579
Epoch 81/1000
34/34 [==============================] - 0s - loss: 0.5572
Epoch 82/1000
34/34 [==============================] - 0s - loss: 0.5564
Epoch 83/1000
34/34 [==============================] - 0s - loss: 0.5557
Epoch 84/1000
34/34 [==============================] - 0s - loss: 0.5549
Epoch 85/1000
34/34 [==============================] - 0s - loss: 0.5543
Epoch 86/1000
34/34 [==============================] - 0s - loss: 0.5535
Epoch 87/1000
34/34 [==============================] - 0s - loss: 0.5531
Epoch 88/1000
34/34 [==============================] - 0s - loss: 0.5522
Epoch 89/1000
34/34 [==============================] - 0s - loss: 0.5515
Epoch 90/1000
34/34 [==============================] - 0s - loss: 0.5508
Epoch 91/1000
34/34 [==============================] - 0s - loss: 0.5502
Epoch 92/1000
34/34 [==============================] - 0s - loss: 0.5496
Epoch 93/1000
34/34 [==============================] - 0s - loss: 0.5491
Epoch 94/1000
34/34 [==============================] - 0s - loss: 0.5483
Epoch 95/1000
34/34 [==============================] - 0s - loss: 0.5476
Epoch 96/1000
34/34 [==============================] - 0s - loss: 0.5470
Epoch 97/1000
34/34 [==============================] - 0s - loss: 0.5463
Epoch 98/1000
34/34 [==============================] - 0s - loss: 0.5458
Epoch 99/1000
34/34 [==============================] - 0s - loss: 0.5451
Epoch 100/1000
34/34 [==============================] - 0s - loss: 0.5445
Epoch 101/1000
34/34 [==============================] - 0s - loss: 0.5437
Epoch 102/1000
34/34 [==============================] - 0s - loss: 0.5431
Epoch 103/1000
34/34 [==============================] - 0s - loss: 0.5425
Epoch 104/1000
34/34 [==============================] - 0s - loss: 0.5420
Epoch 105/1000
34/34 [==============================] - 0s - loss: 0.5415
Epoch 106/1000
34/34 [==============================] - 0s - loss: 0.5408
Epoch 107/1000
34/34 [==============================] - 0s - loss: 0.5402
Epoch 108/1000
34/34 [==============================] - 0s - loss: 0.5396
Epoch 109/1000
34/34 [==============================] - 0s - loss: 0.5393
Epoch 110/1000
34/34 [==============================] - 0s - loss: 0.5385
Epoch 111/1000
34/34 [==============================] - 0s - loss: 0.5378
Epoch 112/1000
34/34 [==============================] - 0s - loss: 0.5373
Epoch 113/1000
34/34 [==============================] - 0s - loss: 0.5367
Epoch 114/1000
34/34 [==============================] - 0s - loss: 0.5361
Epoch 115/1000
34/34 [==============================] - 0s - loss: 0.5356
Epoch 116/1000
34/34 [==============================] - 0s - loss: 0.5349
Epoch 117/1000
34/34 [==============================] - 0s - loss: 0.5344
Epoch 118/1000
34/34 [==============================] - 0s - loss: 0.5338
Epoch 119/1000
34/34 [==============================] - 0s - loss: 0.5333
Epoch 120/1000
34/34 [==============================] - 0s - loss: 0.5327
Epoch 121/1000
34/34 [==============================] - 0s - loss: 0.5321
Epoch 122/1000
34/34 [==============================] - 0s - loss: 0.5317
Epoch 123/1000
34/34 [==============================] - 0s - loss: 0.5312
Epoch 124/1000
34/34 [==============================] - 0s - loss: 0.5310
Epoch 125/1000
34/34 [==============================] - 0s - loss: 0.5300
Epoch 126/1000
34/34 [==============================] - 0s - loss: 0.5300
Epoch 127/1000
34/34 [==============================] - 0s - loss: 0.5290
Epoch 128/1000
34/34 [==============================] - 0s - loss: 0.5286
Epoch 129/1000
34/34 [==============================] - 0s - loss: 0.5280
Epoch 130/1000
34/34 [==============================] - 0s - loss: 0.5274
Epoch 131/1000
34/34 [==============================] - 0s - loss: 0.5268
Epoch 132/1000
34/34 [==============================] - 0s - loss: 0.5264
Epoch 133/1000
34/34 [==============================] - 0s - loss: 0.5259
Epoch 134/1000
34/34 [==============================] - 0s - loss: 0.5251
Epoch 135/1000
34/34 [==============================] - 0s - loss: 0.5246
Epoch 136/1000
34/34 [==============================] - 0s - loss: 0.5241
Epoch 137/1000
34/34 [==============================] - 0s - loss: 0.5235
Epoch 138/1000
34/34 [==============================] - 0s - loss: 0.5232
Epoch 139/1000
34/34 [==============================] - 0s - loss: 0.5227
Epoch 140/1000
34/34 [==============================] - 0s - loss: 0.5221
Epoch 141/1000
34/34 [==============================] - 0s - loss: 0.5218
Epoch 142/1000
34/34 [==============================] - 0s - loss: 0.5212
Epoch 143/1000
34/34 [==============================] - 0s - loss: 0.5207
Epoch 144/1000
34/34 [==============================] - 0s - loss: 0.5202
Epoch 145/1000
34/34 [==============================] - 0s - loss: 0.5197
Epoch 146/1000
34/34 [==============================] - 0s - loss: 0.5194
Epoch 147/1000
34/34 [==============================] - 0s - loss: 0.5189
Epoch 148/1000
34/34 [==============================] - 0s - loss: 0.5183
Epoch 149/1000
34/34 [==============================] - 0s - loss: 0.5178
Epoch 150/1000
34/34 [==============================] - 0s - loss: 0.5173
Epoch 151/1000
34/34 [==============================] - 0s - loss: 0.5171
Epoch 152/1000
34/34 [==============================] - 0s - loss: 0.5165
Epoch 153/1000
34/34 [==============================] - 0s - loss: 0.5161
Epoch 154/1000
34/34 [==============================] - 0s - loss: 0.5156
Epoch 155/1000
34/34 [==============================] - 0s - loss: 0.5152
Epoch 156/1000
34/34 [==============================] - 0s - loss: 0.5150
Epoch 157/1000
34/34 [==============================] - 0s - loss: 0.5142
Epoch 158/1000
34/34 [==============================] - 0s - loss: 0.5139
Epoch 159/1000
34/34 [==============================] - 0s - loss: 0.5134
Epoch 160/1000
34/34 [==============================] - 0s - loss: 0.5131
Epoch 161/1000
34/34 [==============================] - 0s - loss: 0.5127
Epoch 162/1000
34/34 [==============================] - 0s - loss: 0.5124
Epoch 163/1000
34/34 [==============================] - 0s - loss: 0.5120
Epoch 164/1000
34/34 [==============================] - 0s - loss: 0.5122
Epoch 165/1000
34/34 [==============================] - 0s - loss: 0.5111
Epoch 166/1000
34/34 [==============================] - 0s - loss: 0.5107
Epoch 167/1000
34/34 [==============================] - 0s - loss: 0.5104
Epoch 168/1000
34/34 [==============================] - 0s - loss: 0.5100
Epoch 169/1000
34/34 [==============================] - 0s - loss: 0.5096
Epoch 170/1000
34/34 [==============================] - 0s - loss: 0.5093
Epoch 171/1000
34/34 [==============================] - 0s - loss: 0.5089
Epoch 172/1000
34/34 [==============================] - 0s - loss: 0.5088
Epoch 173/1000
34/34 [==============================] - 0s - loss: 0.5082
Epoch 174/1000
34/34 [==============================] - 0s - loss: 0.5078
Epoch 175/1000
34/34 [==============================] - 0s - loss: 0.5075
Epoch 176/1000
34/34 [==============================] - 0s - loss: 0.5074
Epoch 177/1000
34/34 [==============================] - 0s - loss: 0.5068
Epoch 178/1000
34/34 [==============================] - 0s - loss: 0.5065
Epoch 179/1000
34/34 [==============================] - 0s - loss: 0.5065
Epoch 180/1000
34/34 [==============================] - 0s - loss: 0.5059
Epoch 181/1000
34/34 [==============================] - 0s - loss: 0.5055
Epoch 182/1000
34/34 [==============================] - 0s - loss: 0.5052
Epoch 183/1000
34/34 [==============================] - 0s - loss: 0.5049
Epoch 184/1000
34/34 [==============================] - 0s - loss: 0.5045
Epoch 185/1000
34/34 [==============================] - 0s - loss: 0.5042
Epoch 186/1000
34/34 [==============================] - 0s - loss: 0.5040
Epoch 187/1000
34/34 [==============================] - 0s - loss: 0.5035
Epoch 188/1000
34/34 [==============================] - 0s - loss: 0.5034
Epoch 189/1000
34/34 [==============================] - 0s - loss: 0.5029
Epoch 190/1000
34/34 [==============================] - 0s - loss: 0.5025
Epoch 191/1000
34/34 [==============================] - 0s - loss: 0.5023
Epoch 192/1000
34/34 [==============================] - 0s - loss: 0.5020
Epoch 193/1000
34/34 [==============================] - 0s - loss: 0.5014
Epoch 194/1000
34/34 [==============================] - 0s - loss: 0.5015
Epoch 195/1000
34/34 [==============================] - 0s - loss: 0.5008
Epoch 196/1000
34/34 [==============================] - 0s - loss: 0.5007
Epoch 197/1000
34/34 [==============================] - 0s - loss: 0.5001
Epoch 198/1000
34/34 [==============================] - 0s - loss: 0.5002
Epoch 199/1000
34/34 [==============================] - 0s - loss: 0.4997
Epoch 200/1000
34/34 [==============================] - 0s - loss: 0.4993
Epoch 201/1000
34/34 [==============================] - 0s - loss: 0.4990
Epoch 202/1000
34/34 [==============================] - 0s - loss: 0.4988
Epoch 203/1000
34/34 [==============================] - 0s - loss: 0.4985
Epoch 204/1000
34/34 [==============================] - 0s - loss: 0.4984
Epoch 205/1000
34/34 [==============================] - 0s - loss: 0.4981
Epoch 206/1000
34/34 [==============================] - 0s - loss: 0.4976
Epoch 207/1000
34/34 [==============================] - 0s - loss: 0.4975
Epoch 208/1000
34/34 [==============================] - 0s - loss: 0.4972
Epoch 209/1000
34/34 [==============================] - 0s - loss: 0.4970
Epoch 210/1000
34/34 [==============================] - 0s - loss: 0.4966
Epoch 211/1000
34/34 [==============================] - 0s - loss: 0.4963
Epoch 212/1000
34/34 [==============================] - 0s - loss: 0.4960
Epoch 213/1000
34/34 [==============================] - 0s - loss: 0.4958
Epoch 214/1000
34/34 [==============================] - 0s - loss: 0.4955
Epoch 215/1000
34/34 [==============================] - 0s - loss: 0.4953
Epoch 216/1000
34/34 [==============================] - 0s - loss: 0.4949
Epoch 217/1000
34/34 [==============================] - 0s - loss: 0.4946
Epoch 218/1000
34/34 [==============================] - 0s - loss: 0.4944
Epoch 219/1000
34/34 [==============================] - 0s - loss: 0.4942
Epoch 220/1000
34/34 [==============================] - 0s - loss: 0.4939
Epoch 221/1000
34/34 [==============================] - 0s - loss: 0.4936
Epoch 222/1000
34/34 [==============================] - 0s - loss: 0.4933
Epoch 223/1000
34/34 [==============================] - 0s - loss: 0.4932
Epoch 224/1000
34/34 [==============================] - 0s - loss: 0.4929
Epoch 225/1000
34/34 [==============================] - 0s - loss: 0.4926
Epoch 226/1000
34/34 [==============================] - 0s - loss: 0.4923
Epoch 227/1000
34/34 [==============================] - 0s - loss: 0.4921
Epoch 228/1000
34/34 [==============================] - 0s - loss: 0.4919
Epoch 229/1000
34/34 [==============================] - 0s - loss: 0.4912
Epoch 230/1000
34/34 [==============================] - 0s - loss: 0.4911
Epoch 231/1000
34/34 [==============================] - 0s - loss: 0.4911
Epoch 232/1000
34/34 [==============================] - 0s - loss: 0.4905
Epoch 233/1000
34/34 [==============================] - 0s - loss: 0.4903
Epoch 234/1000
34/34 [==============================] - 0s - loss: 0.4900
Epoch 235/1000
34/34 [==============================] - 0s - loss: 0.4898
Epoch 236/1000
34/34 [==============================] - 0s - loss: 0.4895
Epoch 237/1000
34/34 [==============================] - 0s - loss: 0.4892
Epoch 238/1000
34/34 [==============================] - 0s - loss: 0.4892
Epoch 239/1000
34/34 [==============================] - 0s - loss: 0.4887
Epoch 240/1000
34/34 [==============================] - 0s - loss: 0.4884
Epoch 241/1000
34/34 [==============================] - 0s - loss: 0.4881
Epoch 242/1000
34/34 [==============================] - 0s - loss: 0.4878
Epoch 243/1000
34/34 [==============================] - 0s - loss: 0.4874
Epoch 244/1000
34/34 [==============================] - 0s - loss: 0.4872
Epoch 245/1000
34/34 [==============================] - 0s - loss: 0.4869
Epoch 246/1000
34/34 [==============================] - 0s - loss: 0.4867
Epoch 247/1000
34/34 [==============================] - 0s - loss: 0.4863
Epoch 248/1000
34/34 [==============================] - 0s - loss: 0.4861
Epoch 249/1000
34/34 [==============================] - 0s - loss: 0.4860
Epoch 250/1000
34/34 [==============================] - 0s - loss: 0.4856
Epoch 251/1000
34/34 [==============================] - 0s - loss: 0.4853
Epoch 252/1000
34/34 [==============================] - 0s - loss: 0.4851
Epoch 253/1000
34/34 [==============================] - 0s - loss: 0.4848
Epoch 254/1000
34/34 [==============================] - 0s - loss: 0.4845
Epoch 255/1000
34/34 [==============================] - 0s - loss: 0.4841
Epoch 256/1000
34/34 [==============================] - 0s - loss: 0.4839
Epoch 257/1000
34/34 [==============================] - 0s - loss: 0.4836
Epoch 258/1000
34/34 [==============================] - 0s - loss: 0.4835
Epoch 259/1000
34/34 [==============================] - 0s - loss: 0.4833
Epoch 260/1000
34/34 [==============================] - 0s - loss: 0.4829
Epoch 261/1000
34/34 [==============================] - 0s - loss: 0.4825
Epoch 262/1000
34/34 [==============================] - 0s - loss: 0.4824
Epoch 263/1000
34/34 [==============================] - 0s - loss: 0.4825
Epoch 264/1000
34/34 [==============================] - 0s - loss: 0.4820
Epoch 265/1000
34/34 [==============================] - 0s - loss: 0.4822
Epoch 266/1000
34/34 [==============================] - 0s - loss: 0.4817
Epoch 267/1000
34/34 [==============================] - 0s - loss: 0.4813
Epoch 268/1000
34/34 [==============================] - 0s - loss: 0.4811
Epoch 269/1000
34/34 [==============================] - 0s - loss: 0.4808
Epoch 270/1000
34/34 [==============================] - 0s - loss: 0.4807
Epoch 271/1000
34/34 [==============================] - 0s - loss: 0.4805
Epoch 272/1000
34/34 [==============================] - 0s - loss: 0.4802
Epoch 273/1000
34/34 [==============================] - 0s - loss: 0.4800
Epoch 274/1000
34/34 [==============================] - 0s - loss: 0.4797
Epoch 275/1000
34/34 [==============================] - 0s - loss: 0.4797
Epoch 276/1000
34/34 [==============================] - 0s - loss: 0.4793
Epoch 277/1000
34/34 [==============================] - 0s - loss: 0.4791
Epoch 278/1000
34/34 [==============================] - 0s - loss: 0.4788
Epoch 279/1000
34/34 [==============================] - 0s - loss: 0.4786
Epoch 280/1000
34/34 [==============================] - 0s - loss: 0.4785
Epoch 281/1000
34/34 [==============================] - 0s - loss: 0.4784
Epoch 282/1000
34/34 [==============================] - 0s - loss: 0.4783
Epoch 283/1000
34/34 [==============================] - 0s - loss: 0.4779
Epoch 284/1000
34/34 [==============================] - 0s - loss: 0.4784
Epoch 285/1000
34/34 [==============================] - 0s - loss: 0.4776
Epoch 286/1000
34/34 [==============================] - 0s - loss: 0.4775
Epoch 287/1000
34/34 [==============================] - 0s - loss: 0.4773
Epoch 288/1000
34/34 [==============================] - 0s - loss: 0.4771
Epoch 289/1000
34/34 [==============================] - 0s - loss: 0.4769
Epoch 290/1000
34/34 [==============================] - 0s - loss: 0.4767
Epoch 291/1000
34/34 [==============================] - 0s - loss: 0.4764
Epoch 292/1000
34/34 [==============================] - 0s - loss: 0.4763
Epoch 293/1000
34/34 [==============================] - 0s - loss: 0.4762
Epoch 294/1000
34/34 [==============================] - 0s - loss: 0.4760
Epoch 295/1000
34/34 [==============================] - 0s - loss: 0.4757
Epoch 296/1000
34/34 [==============================] - 0s - loss: 0.4755
Epoch 297/1000
34/34 [==============================] - 0s - loss: 0.4754
Epoch 298/1000
34/34 [==============================] - 0s - loss: 0.4752
Epoch 299/1000
34/34 [==============================] - 0s - loss: 0.4751
Epoch 300/1000
34/34 [==============================] - 0s - loss: 0.4751
Epoch 301/1000
34/34 [==============================] - 0s - loss: 0.4750
Epoch 302/1000
34/34 [==============================] - 0s - loss: 0.4749
Epoch 303/1000
34/34 [==============================] - 0s - loss: 0.4747
Epoch 304/1000
34/34 [==============================] - 0s - loss: 0.4745
Epoch 305/1000
34/34 [==============================] - 0s - loss: 0.4743
Epoch 306/1000
34/34 [==============================] - 0s - loss: 0.4740
Epoch 307/1000
34/34 [==============================] - 0s - loss: 0.4739
Epoch 308/1000
34/34 [==============================] - 0s - loss: 0.4738
Epoch 309/1000
34/34 [==============================] - 0s - loss: 0.4735
Epoch 310/1000
34/34 [==============================] - 0s - loss: 0.4736
Epoch 311/1000
34/34 [==============================] - 0s - loss: 0.4731
Epoch 312/1000
34/34 [==============================] - 0s - loss: 0.4730
Epoch 313/1000
34/34 [==============================] - 0s - loss: 0.4729
Epoch 314/1000
34/34 [==============================] - 0s - loss: 0.4729
Epoch 315/1000
34/34 [==============================] - 0s - loss: 0.4728
Epoch 316/1000
34/34 [==============================] - 0s - loss: 0.4725
Epoch 317/1000
34/34 [==============================] - 0s - loss: 0.4721
Epoch 318/1000
34/34 [==============================] - 0s - loss: 0.4722
Epoch 319/1000
34/34 [==============================] - 0s - loss: 0.4719
Epoch 320/1000
34/34 [==============================] - 0s - loss: 0.4718
Epoch 321/1000
34/34 [==============================] - 0s - loss: 0.4717
Epoch 322/1000
34/34 [==============================] - 0s - loss: 0.4716
Epoch 323/1000
34/34 [==============================] - 0s - loss: 0.4713
Epoch 324/1000
34/34 [==============================] - 0s - loss: 0.4711
Epoch 325/1000
34/34 [==============================] - 0s - loss: 0.4708
Epoch 326/1000
34/34 [==============================] - 0s - loss: 0.4706
Epoch 327/1000
34/34 [==============================] - 0s - loss: 0.4704
Epoch 328/1000
34/34 [==============================] - 0s - loss: 0.4705
Epoch 329/1000
34/34 [==============================] - 0s - loss: 0.4709
Epoch 330/1000
34/34 [==============================] - 0s - loss: 0.4704
Epoch 331/1000
34/34 [==============================] - 0s - loss: 0.4702
Epoch 332/1000
34/34 [==============================] - 0s - loss: 0.4700
Epoch 333/1000
34/34 [==============================] - 0s - loss: 0.4700
Epoch 334/1000
34/34 [==============================] - 0s - loss: 0.4701
Epoch 335/1000
34/34 [==============================] - 0s - loss: 0.4696
Epoch 336/1000
34/34 [==============================] - 0s - loss: 0.4695
Epoch 337/1000
34/34 [==============================] - 0s - loss: 0.4694
Epoch 338/1000
34/34 [==============================] - 0s - loss: 0.4692
Epoch 339/1000
34/34 [==============================] - 0s - loss: 0.4691
Epoch 340/1000
34/34 [==============================] - 0s - loss: 0.4693
Epoch 341/1000
34/34 [==============================] - 0s - loss: 0.4690
Epoch 342/1000
34/34 [==============================] - 0s - loss: 0.4688
Epoch 343/1000
34/34 [==============================] - 0s - loss: 0.4686
Epoch 344/1000
34/34 [==============================] - 0s - loss: 0.4689
Epoch 345/1000
34/34 [==============================] - 0s - loss: 0.4686
Epoch 346/1000
34/34 [==============================] - 0s - loss: 0.4683
Epoch 347/1000
34/34 [==============================] - 0s - loss: 0.4682
Epoch 348/1000
34/34 [==============================] - 0s - loss: 0.4680
Epoch 349/1000
34/34 [==============================] - 0s - loss: 0.4682
Epoch 350/1000
34/34 [==============================] - 0s - loss: 0.4679
Epoch 351/1000
34/34 [==============================] - 0s - loss: 0.4678
Epoch 352/1000
34/34 [==============================] - 0s - loss: 0.4677
Epoch 353/1000
34/34 [==============================] - 0s - loss: 0.4676
Epoch 354/1000
34/34 [==============================] - 0s - loss: 0.4674
Epoch 355/1000
34/34 [==============================] - 0s - loss: 0.4673
Epoch 356/1000
34/34 [==============================] - 0s - loss: 0.4672
Epoch 357/1000
34/34 [==============================] - 0s - loss: 0.4672
Epoch 358/1000
34/34 [==============================] - 0s - loss: 0.4671
Epoch 359/1000
34/34 [==============================] - 0s - loss: 0.4669
Epoch 360/1000
34/34 [==============================] - 0s - loss: 0.4667
Epoch 361/1000
34/34 [==============================] - 0s - loss: 0.4667
Epoch 362/1000
34/34 [==============================] - 0s - loss: 0.4667
Epoch 363/1000
34/34 [==============================] - 0s - loss: 0.4670
Epoch 364/1000
34/34 [==============================] - 0s - loss: 0.4665
Epoch 365/1000
34/34 [==============================] - 0s - loss: 0.4665
Epoch 366/1000
34/34 [==============================] - 0s - loss: 0.4665
Epoch 367/1000
34/34 [==============================] - 0s - loss: 0.4662
Epoch 368/1000
34/34 [==============================] - 0s - loss: 0.4663
Epoch 369/1000
34/34 [==============================] - 0s - loss: 0.4661
Epoch 370/1000
34/34 [==============================] - 0s - loss: 0.4658
Epoch 371/1000
34/34 [==============================] - 0s - loss: 0.4657
Epoch 372/1000
34/34 [==============================] - 0s - loss: 0.4657
Epoch 373/1000
34/34 [==============================] - 0s - loss: 0.4657
Epoch 374/1000
34/34 [==============================] - 0s - loss: 0.4657
Epoch 375/1000
34/34 [==============================] - 0s - loss: 0.4654
Epoch 376/1000
34/34 [==============================] - 0s - loss: 0.4652
Epoch 377/1000
34/34 [==============================] - 0s - loss: 0.4652
Epoch 378/1000
34/34 [==============================] - 0s - loss: 0.4651
Epoch 379/1000
34/34 [==============================] - 0s - loss: 0.4649
Epoch 380/1000
34/34 [==============================] - 0s - loss: 0.4650
Epoch 381/1000
34/34 [==============================] - 0s - loss: 0.4648
Epoch 382/1000
34/34 [==============================] - 0s - loss: 0.4646
Epoch 383/1000
34/34 [==============================] - 0s - loss: 0.4648
Epoch 384/1000
34/34 [==============================] - 0s - loss: 0.4648
Epoch 385/1000
34/34 [==============================] - 0s - loss: 0.4646
Epoch 386/1000
34/34 [==============================] - 0s - loss: 0.4646
Epoch 387/1000
34/34 [==============================] - 0s - loss: 0.4645
Epoch 388/1000
34/34 [==============================] - 0s - loss: 0.4644
Epoch 389/1000
34/34 [==============================] - 0s - loss: 0.4644
Epoch 390/1000
34/34 [==============================] - 0s - loss: 0.4641
Epoch 391/1000
34/34 [==============================] - 0s - loss: 0.4642
Epoch 392/1000
34/34 [==============================] - 0s - loss: 0.4640
Epoch 393/1000
34/34 [==============================] - 0s - loss: 0.4639
Epoch 394/1000
34/34 [==============================] - 0s - loss: 0.4639
Epoch 395/1000
34/34 [==============================] - 0s - loss: 0.4639
Epoch 396/1000
34/34 [==============================] - 0s - loss: 0.4637
Epoch 397/1000
34/34 [==============================] - 0s - loss: 0.4635
Epoch 398/1000
34/34 [==============================] - 0s - loss: 0.4633
Epoch 399/1000
34/34 [==============================] - 0s - loss: 0.4632
Epoch 400/1000
34/34 [==============================] - 0s - loss: 0.4634
Epoch 401/1000
34/34 [==============================] - 0s - loss: 0.4634
Epoch 402/1000
34/34 [==============================] - 0s - loss: 0.4632
Epoch 403/1000
34/34 [==============================] - 0s - loss: 0.4632
Epoch 404/1000
34/34 [==============================] - 0s - loss: 0.4631
Epoch 405/1000
34/34 [==============================] - 0s - loss: 0.4631
Epoch 406/1000
34/34 [==============================] - 0s - loss: 0.4629
Epoch 407/1000
34/34 [==============================] - 0s - loss: 0.4629
Epoch 408/1000
34/34 [==============================] - 0s - loss: 0.4628
Epoch 409/1000
34/34 [==============================] - 0s - loss: 0.4630
Epoch 410/1000
34/34 [==============================] - 0s - loss: 0.4626
Epoch 411/1000
34/34 [==============================] - 0s - loss: 0.4626
Epoch 412/1000
34/34 [==============================] - 0s - loss: 0.4625
Epoch 413/1000
34/34 [==============================] - 0s - loss: 0.4626
Epoch 414/1000
34/34 [==============================] - 0s - loss: 0.4624
Epoch 415/1000
34/34 [==============================] - 0s - loss: 0.4624
Epoch 416/1000
34/34 [==============================] - 0s - loss: 0.4622
Epoch 417/1000
34/34 [==============================] - 0s - loss: 0.4623
Epoch 418/1000
34/34 [==============================] - 0s - loss: 0.4626
Epoch 419/1000
34/34 [==============================] - 0s - loss: 0.4620
Epoch 420/1000
34/34 [==============================] - 0s - loss: 0.4619
Epoch 421/1000
34/34 [==============================] - 0s - loss: 0.4620
Epoch 422/1000
34/34 [==============================] - 0s - loss: 0.4619
Epoch 423/1000
34/34 [==============================] - 0s - loss: 0.4617
Epoch 424/1000
34/34 [==============================] - 0s - loss: 0.4617
Epoch 425/1000
34/34 [==============================] - 0s - loss: 0.4617
Epoch 426/1000
34/34 [==============================] - 0s - loss: 0.4617
Epoch 427/1000
34/34 [==============================] - 0s - loss: 0.4616
Epoch 428/1000
34/34 [==============================] - 0s - loss: 0.4616
Epoch 429/1000
34/34 [==============================] - 0s - loss: 0.4616
Epoch 430/1000
34/34 [==============================] - 0s - loss: 0.4618
Epoch 431/1000
34/34 [==============================] - 0s - loss: 0.4613
Epoch 432/1000
34/34 [==============================] - 0s - loss: 0.4614
Epoch 433/1000
34/34 [==============================] - 0s - loss: 0.4612
Epoch 434/1000
34/34 [==============================] - 0s - loss: 0.4610
Epoch 435/1000
34/34 [==============================] - 0s - loss: 0.4610
Epoch 436/1000
34/34 [==============================] - 0s - loss: 0.4609
Epoch 437/1000
34/34 [==============================] - 0s - loss: 0.4611
Epoch 438/1000
34/34 [==============================] - 0s - loss: 0.4609
Epoch 439/1000
34/34 [==============================] - 0s - loss: 0.4608
Epoch 440/1000
34/34 [==============================] - 0s - loss: 0.4608
Epoch 441/1000
34/34 [==============================] - 0s - loss: 0.4606
Epoch 442/1000
34/34 [==============================] - 0s - loss: 0.4607
Epoch 443/1000
34/34 [==============================] - 0s - loss: 0.4605
Epoch 444/1000
34/34 [==============================] - 0s - loss: 0.4605
Epoch 445/1000
34/34 [==============================] - 0s - loss: 0.4606
Epoch 446/1000
34/34 [==============================] - 0s - loss: 0.4604
Epoch 447/1000
34/34 [==============================] - 0s - loss: 0.4604
Epoch 448/1000
34/34 [==============================] - 0s - loss: 0.4602
Epoch 449/1000
34/34 [==============================] - 0s - loss: 0.4604
Epoch 450/1000
34/34 [==============================] - 0s - loss: 0.4602
Epoch 451/1000
34/34 [==============================] - 0s - loss: 0.4602
Epoch 452/1000
34/34 [==============================] - 0s - loss: 0.4600
Epoch 453/1000
34/34 [==============================] - 0s - loss: 0.4601
Epoch 454/1000
34/34 [==============================] - 0s - loss: 0.4602
Epoch 455/1000
34/34 [==============================] - 0s - loss: 0.4598
Epoch 456/1000
34/34 [==============================] - 0s - loss: 0.4599
Epoch 457/1000
34/34 [==============================] - 0s - loss: 0.4597
Epoch 458/1000
34/34 [==============================] - 0s - loss: 0.4597
Epoch 459/1000
34/34 [==============================] - 0s - loss: 0.4598
Epoch 460/1000
34/34 [==============================] - 0s - loss: 0.4600
Epoch 461/1000
34/34 [==============================] - 0s - loss: 0.4597
Epoch 462/1000
34/34 [==============================] - 0s - loss: 0.4595
Epoch 463/1000
34/34 [==============================] - 0s - loss: 0.4594
Epoch 464/1000
34/34 [==============================] - 0s - loss: 0.4594
Epoch 465/1000
34/34 [==============================] - 0s - loss: 0.4594
Epoch 466/1000
34/34 [==============================] - 0s - loss: 0.4592
Epoch 467/1000
34/34 [==============================] - 0s - loss: 0.4593
Epoch 468/1000
34/34 [==============================] - 0s - loss: 0.4593
Epoch 469/1000
34/34 [==============================] - 0s - loss: 0.4590
Epoch 470/1000
34/34 [==============================] - 0s - loss: 0.4589
Epoch 471/1000
34/34 [==============================] - 0s - loss: 0.4589
Epoch 472/1000
34/34 [==============================] - 0s - loss: 0.4589
Epoch 473/1000
34/34 [==============================] - 0s - loss: 0.4588
Epoch 474/1000
34/34 [==============================] - 0s - loss: 0.4589
Epoch 475/1000
34/34 [==============================] - 0s - loss: 0.4585
Epoch 476/1000
34/34 [==============================] - 0s - loss: 0.4588
Epoch 477/1000
34/34 [==============================] - 0s - loss: 0.4587
Epoch 478/1000
34/34 [==============================] - 0s - loss: 0.4587
Epoch 479/1000
34/34 [==============================] - 0s - loss: 0.4586
Epoch 480/1000
34/34 [==============================] - 0s - loss: 0.4586
Epoch 481/1000
34/34 [==============================] - 0s - loss: 0.4587
Epoch 482/1000
34/34 [==============================] - 0s - loss: 0.4588
Epoch 483/1000
34/34 [==============================] - 0s - loss: 0.4585
Epoch 484/1000
34/34 [==============================] - 0s - loss: 0.4586
Epoch 485/1000
34/34 [==============================] - 0s - loss: 0.4585
Epoch 486/1000
34/34 [==============================] - 0s - loss: 0.4585
Epoch 487/1000
34/34 [==============================] - 0s - loss: 0.4589
Epoch 488/1000
34/34 [==============================] - 0s - loss: 0.4585
Epoch 489/1000
34/34 [==============================] - 0s - loss: 0.4584
Epoch 490/1000
34/34 [==============================] - 0s - loss: 0.4584
Epoch 491/1000
34/34 [==============================] - 0s - loss: 0.4582
Epoch 492/1000
34/34 [==============================] - 0s - loss: 0.4582
Epoch 493/1000
34/34 [==============================] - 0s - loss: 0.4581
Epoch 494/1000
34/34 [==============================] - 0s - loss: 0.4582
Epoch 495/1000
34/34 [==============================] - 0s - loss: 0.4580
Epoch 496/1000
34/34 [==============================] - 0s - loss: 0.4581
Epoch 497/1000
34/34 [==============================] - 0s - loss: 0.4578
Epoch 498/1000
34/34 [==============================] - 0s - loss: 0.4577
Epoch 499/1000
34/34 [==============================] - 0s - loss: 0.4575
Epoch 500/1000
34/34 [==============================] - 0s - loss: 0.4575
Epoch 501/1000
34/34 [==============================] - 0s - loss: 0.4577
Epoch 502/1000
34/34 [==============================] - 0s - loss: 0.4576
Epoch 503/1000
34/34 [==============================] - 0s - loss: 0.4575
Epoch 504/1000
34/34 [==============================] - 0s - loss: 0.4581
Epoch 505/1000
34/34 [==============================] - 0s - loss: 0.4575
Epoch 506/1000
34/34 [==============================] - 0s - loss: 0.4574
Epoch 507/1000
34/34 [==============================] - 0s - loss: 0.4577
Epoch 508/1000
34/34 [==============================] - 0s - loss: 0.4572
Epoch 509/1000
34/34 [==============================] - 0s - loss: 0.4574
Epoch 510/1000
34/34 [==============================] - 0s - loss: 0.4573
Epoch 511/1000
34/34 [==============================] - 0s - loss: 0.4572
Epoch 512/1000
34/34 [==============================] - 0s - loss: 0.4572
Epoch 513/1000
34/34 [==============================] - 0s - loss: 0.4571
Epoch 514/1000
34/34 [==============================] - 0s - loss: 0.4571
Epoch 515/1000
34/34 [==============================] - 0s - loss: 0.4571
Epoch 516/1000
34/34 [==============================] - 0s - loss: 0.4573
Epoch 517/1000
34/34 [==============================] - 0s - loss: 0.4570
Epoch 518/1000
34/34 [==============================] - 0s - loss: 0.4569
Epoch 519/1000
34/34 [==============================] - 0s - loss: 0.4570
Epoch 520/1000
34/34 [==============================] - 0s - loss: 0.4570
Epoch 521/1000
34/34 [==============================] - 0s - loss: 0.4569
Epoch 522/1000
34/34 [==============================] - 0s - loss: 0.4567
Epoch 523/1000
34/34 [==============================] - 0s - loss: 0.4566
Epoch 524/1000
34/34 [==============================] - 0s - loss: 0.4567
Epoch 525/1000
34/34 [==============================] - 0s - loss: 0.4565
Epoch 526/1000
34/34 [==============================] - 0s - loss: 0.4566
Epoch 527/1000
34/34 [==============================] - 0s - loss: 0.4565
Epoch 528/1000
34/34 [==============================] - 0s - loss: 0.4564
Epoch 529/1000
34/34 [==============================] - 0s - loss: 0.4566
Epoch 530/1000
34/34 [==============================] - 0s - loss: 0.4564
Epoch 531/1000
34/34 [==============================] - 0s - loss: 0.4564
Epoch 532/1000
34/34 [==============================] - 0s - loss: 0.4565
Epoch 533/1000
34/34 [==============================] - 0s - loss: 0.4563
Epoch 534/1000
34/34 [==============================] - 0s - loss: 0.4565
Epoch 535/1000
34/34 [==============================] - 0s - loss: 0.4562
Epoch 536/1000
34/34 [==============================] - 0s - loss: 0.4563
Epoch 537/1000
34/34 [==============================] - 0s - loss: 0.4562
Epoch 538/1000
34/34 [==============================] - 0s - loss: 0.4562
Epoch 539/1000
34/34 [==============================] - 0s - loss: 0.4560
Epoch 540/1000
34/34 [==============================] - 0s - loss: 0.4560
Epoch 541/1000
34/34 [==============================] - 0s - loss: 0.4560
Epoch 542/1000
34/34 [==============================] - 0s - loss: 0.4562
Epoch 543/1000
34/34 [==============================] - 0s - loss: 0.4564
Epoch 544/1000
34/34 [==============================] - 0s - loss: 0.4564
Epoch 545/1000
34/34 [==============================] - 0s - loss: 0.4559
Epoch 546/1000
34/34 [==============================] - 0s - loss: 0.4559
Epoch 547/1000
34/34 [==============================] - 0s - loss: 0.4559
Epoch 548/1000
34/34 [==============================] - 0s - loss: 0.4558
Epoch 549/1000
34/34 [==============================] - 0s - loss: 0.4559
Epoch 550/1000
34/34 [==============================] - 0s - loss: 0.4559
Epoch 551/1000
34/34 [==============================] - 0s - loss: 0.4558
Epoch 552/1000
34/34 [==============================] - 0s - loss: 0.4560
Epoch 553/1000
34/34 [==============================] - 0s - loss: 0.4555
Epoch 554/1000
34/34 [==============================] - 0s - loss: 0.4553
Epoch 555/1000
34/34 [==============================] - 0s - loss: 0.4556
Epoch 556/1000
34/34 [==============================] - 0s - loss: 0.4556
Epoch 557/1000
34/34 [==============================] - 0s - loss: 0.4557
Epoch 558/1000
34/34 [==============================] - 0s - loss: 0.4556
Epoch 559/1000
34/34 [==============================] - 0s - loss: 0.4556
Epoch 560/1000
34/34 [==============================] - 0s - loss: 0.4555
Epoch 561/1000
34/34 [==============================] - 0s - loss: 0.4555
Epoch 562/1000
34/34 [==============================] - 0s - loss: 0.4556
Epoch 563/1000
34/34 [==============================] - 0s - loss: 0.4558
Epoch 564/1000
34/34 [==============================] - 0s - loss: 0.4557
Epoch 565/1000
34/34 [==============================] - 0s - loss: 0.4557
Epoch 566/1000
34/34 [==============================] - 0s - loss: 0.4554
Epoch 567/1000
34/34 [==============================] - 0s - loss: 0.4554
Epoch 568/1000
34/34 [==============================] - 0s - loss: 0.4555
Epoch 569/1000
34/34 [==============================] - 0s - loss: 0.4557
Epoch 570/1000
34/34 [==============================] - 0s - loss: 0.4553
Epoch 571/1000
34/34 [==============================] - 0s - loss: 0.4554
Epoch 572/1000
34/34 [==============================] - 0s - loss: 0.4555
Epoch 573/1000
34/34 [==============================] - 0s - loss: 0.4552
Epoch 574/1000
34/34 [==============================] - 0s - loss: 0.4550
Epoch 575/1000
34/34 [==============================] - 0s - loss: 0.4550
Epoch 576/1000
34/34 [==============================] - 0s - loss: 0.4552
Epoch 577/1000
34/34 [==============================] - 0s - loss: 0.4550
Epoch 578/1000
34/34 [==============================] - 0s - loss: 0.4549
Epoch 579/1000
34/34 [==============================] - 0s - loss: 0.4549
Epoch 580/1000
34/34 [==============================] - 0s - loss: 0.4550
Epoch 581/1000
34/34 [==============================] - 0s - loss: 0.4548
Epoch 582/1000
34/34 [==============================] - 0s - loss: 0.4546
Epoch 583/1000
34/34 [==============================] - 0s - loss: 0.4546
Epoch 584/1000
34/34 [==============================] - 0s - loss: 0.4548
Epoch 585/1000
34/34 [==============================] - 0s - loss: 0.4546
Epoch 586/1000
34/34 [==============================] - 0s - loss: 0.4546
Epoch 587/1000
34/34 [==============================] - 0s - loss: 0.4547
Epoch 588/1000
34/34 [==============================] - 0s - loss: 0.4546
Epoch 589/1000
34/34 [==============================] - 0s - loss: 0.4546
Epoch 590/1000
34/34 [==============================] - 0s - loss: 0.4544
Epoch 591/1000
34/34 [==============================] - 0s - loss: 0.4544
Epoch 592/1000
34/34 [==============================] - 0s - loss: 0.4545
Epoch 593/1000
34/34 [==============================] - 0s - loss: 0.4543
Epoch 594/1000
34/34 [==============================] - 0s - loss: 0.4544
Epoch 595/1000
34/34 [==============================] - 0s - loss: 0.4545
Epoch 596/1000
34/34 [==============================] - 0s - loss: 0.4545
Epoch 597/1000
34/34 [==============================] - 0s - loss: 0.4545
Epoch 598/1000
34/34 [==============================] - 0s - loss: 0.4545
Epoch 599/1000
34/34 [==============================] - 0s - loss: 0.4544
Epoch 600/1000
34/34 [==============================] - 0s - loss: 0.4545
Epoch 601/1000
34/34 [==============================] - 0s - loss: 0.4544
Epoch 602/1000
34/34 [==============================] - 0s - loss: 0.4545
Epoch 603/1000
34/34 [==============================] - 0s - loss: 0.4542
Epoch 604/1000
34/34 [==============================] - 0s - loss: 0.4540
Epoch 605/1000
34/34 [==============================] - 0s - loss: 0.4539
Epoch 606/1000
34/34 [==============================] - 0s - loss: 0.4546
Epoch 607/1000
34/34 [==============================] - 0s - loss: 0.4540
Epoch 608/1000
34/34 [==============================] - 0s - loss: 0.4540
Epoch 609/1000
34/34 [==============================] - 0s - loss: 0.4543
Epoch 610/1000
34/34 [==============================] - 0s - loss: 0.4539
Epoch 611/1000
34/34 [==============================] - 0s - loss: 0.4539
Epoch 612/1000
34/34 [==============================] - 0s - loss: 0.4538
Epoch 613/1000
34/34 [==============================] - 0s - loss: 0.4538
Epoch 614/1000
34/34 [==============================] - 0s - loss: 0.4538
Epoch 615/1000
34/34 [==============================] - 0s - loss: 0.4537
Epoch 616/1000
34/34 [==============================] - 0s - loss: 0.4537
Epoch 617/1000
34/34 [==============================] - 0s - loss: 0.4537
Epoch 618/1000
34/34 [==============================] - 0s - loss: 0.4538
Epoch 619/1000
34/34 [==============================] - 0s - loss: 0.4537
Epoch 620/1000
34/34 [==============================] - 0s - loss: 0.4536
Epoch 621/1000
34/34 [==============================] - 0s - loss: 0.4536
Epoch 622/1000
34/34 [==============================] - 0s - loss: 0.4535
Epoch 623/1000
34/34 [==============================] - 0s - loss: 0.4538
Epoch 624/1000
34/34 [==============================] - 0s - loss: 0.4533
Epoch 625/1000
34/34 [==============================] - 0s - loss: 0.4534
Epoch 626/1000
34/34 [==============================] - 0s - loss: 0.4538
Epoch 627/1000
34/34 [==============================] - 0s - loss: 0.4533
Epoch 628/1000
34/34 [==============================] - 0s - loss: 0.4533
Epoch 629/1000
34/34 [==============================] - 0s - loss: 0.4531
Epoch 630/1000
34/34 [==============================] - 0s - loss: 0.4534
Epoch 631/1000
34/34 [==============================] - 0s - loss: 0.4536
Epoch 632/1000
34/34 [==============================] - 0s - loss: 0.4532
Epoch 633/1000
34/34 [==============================] - 0s - loss: 0.4532
Epoch 634/1000
34/34 [==============================] - 0s - loss: 0.4534
Epoch 635/1000
34/34 [==============================] - 0s - loss: 0.4534
Epoch 636/1000
34/34 [==============================] - 0s - loss: 0.4531
Epoch 637/1000
34/34 [==============================] - 0s - loss: 0.4530
Epoch 638/1000
34/34 [==============================] - 0s - loss: 0.4533
Epoch 639/1000
34/34 [==============================] - 0s - loss: 0.4531
Epoch 640/1000
34/34 [==============================] - 0s - loss: 0.4532
Epoch 641/1000
34/34 [==============================] - 0s - loss: 0.4531
Epoch 642/1000
34/34 [==============================] - 0s - loss: 0.4530
Epoch 643/1000
34/34 [==============================] - 0s - loss: 0.4530
Epoch 644/1000
34/34 [==============================] - 0s - loss: 0.4530
Epoch 645/1000
34/34 [==============================] - 0s - loss: 0.4530
Epoch 646/1000
34/34 [==============================] - 0s - loss: 0.4529
Epoch 647/1000
34/34 [==============================] - 0s - loss: 0.4529
Epoch 648/1000
34/34 [==============================] - 0s - loss: 0.4528
Epoch 649/1000
34/34 [==============================] - 0s - loss: 0.4528
Epoch 650/1000
34/34 [==============================] - 0s - loss: 0.4527
Epoch 651/1000
34/34 [==============================] - 0s - loss: 0.4527
Epoch 652/1000
34/34 [==============================] - 0s - loss: 0.4527
Epoch 653/1000
34/34 [==============================] - 0s - loss: 0.4528
Epoch 654/1000
34/34 [==============================] - 0s - loss: 0.4528
Epoch 655/1000
34/34 [==============================] - 0s - loss: 0.4528
Epoch 656/1000
34/34 [==============================] - 0s - loss: 0.4527
Epoch 657/1000
34/34 [==============================] - 0s - loss: 0.4526
Epoch 658/1000
34/34 [==============================] - 0s - loss: 0.4526
Epoch 659/1000
34/34 [==============================] - 0s - loss: 0.4526
Epoch 660/1000
34/34 [==============================] - 0s - loss: 0.4527
Epoch 661/1000
34/34 [==============================] - 0s - loss: 0.4527
Epoch 662/1000
34/34 [==============================] - 0s - loss: 0.4525
Epoch 663/1000
34/34 [==============================] - 0s - loss: 0.4525
Epoch 664/1000
34/34 [==============================] - 0s - loss: 0.4524
Epoch 665/1000
34/34 [==============================] - 0s - loss: 0.4527
Epoch 666/1000
34/34 [==============================] - 0s - loss: 0.4525
Epoch 667/1000
34/34 [==============================] - 0s - loss: 0.4526
Epoch 668/1000
34/34 [==============================] - 0s - loss: 0.4526
Epoch 669/1000
34/34 [==============================] - 0s - loss: 0.4523
Epoch 670/1000
34/34 [==============================] - 0s - loss: 0.4530
Epoch 671/1000
34/34 [==============================] - 0s - loss: 0.4525
Epoch 672/1000
34/34 [==============================] - 0s - loss: 0.4524
Epoch 673/1000
34/34 [==============================] - 0s - loss: 0.4527
Epoch 674/1000
34/34 [==============================] - 0s - loss: 0.4523
Epoch 675/1000
34/34 [==============================] - 0s - loss: 0.4526
Epoch 676/1000
34/34 [==============================] - 0s - loss: 0.4523
Epoch 677/1000
34/34 [==============================] - 0s - loss: 0.4526
Epoch 678/1000
34/34 [==============================] - 0s - loss: 0.4524
Epoch 679/1000
34/34 [==============================] - 0s - loss: 0.4525
Epoch 680/1000
34/34 [==============================] - 0s - loss: 0.4524
Epoch 681/1000
34/34 [==============================] - 0s - loss: 0.4526
Epoch 682/1000
34/34 [==============================] - 0s - loss: 0.4524
Epoch 683/1000
34/34 [==============================] - 0s - loss: 0.4523
Epoch 684/1000
34/34 [==============================] - 0s - loss: 0.4523
Epoch 685/1000
34/34 [==============================] - 0s - loss: 0.4526
Epoch 686/1000
34/34 [==============================] - 0s - loss: 0.4522
Epoch 687/1000
34/34 [==============================] - 0s - loss: 0.4521
Epoch 688/1000
34/34 [==============================] - 0s - loss: 0.4523
Epoch 689/1000
34/34 [==============================] - 0s - loss: 0.4520
Epoch 690/1000
34/34 [==============================] - 0s - loss: 0.4519
Epoch 691/1000
34/34 [==============================] - 0s - loss: 0.4518
Epoch 692/1000
34/34 [==============================] - 0s - loss: 0.4519
Epoch 693/1000
34/34 [==============================] - 0s - loss: 0.4518
Epoch 694/1000
34/34 [==============================] - 0s - loss: 0.4521
Epoch 695/1000
34/34 [==============================] - 0s - loss: 0.4518
Epoch 696/1000
34/34 [==============================] - 0s - loss: 0.4518
Epoch 697/1000
34/34 [==============================] - 0s - loss: 0.4521
Epoch 698/1000
34/34 [==============================] - 0s - loss: 0.4520
Epoch 699/1000
34/34 [==============================] - 0s - loss: 0.4518
Epoch 700/1000
34/34 [==============================] - 0s - loss: 0.4519
Epoch 701/1000
34/34 [==============================] - 0s - loss: 0.4519
Epoch 702/1000
34/34 [==============================] - 0s - loss: 0.4518
Epoch 703/1000
34/34 [==============================] - 0s - loss: 0.4517
Epoch 704/1000
34/34 [==============================] - 0s - loss: 0.4516
Epoch 705/1000
34/34 [==============================] - 0s - loss: 0.4518
Epoch 706/1000
34/34 [==============================] - 0s - loss: 0.4516
Epoch 707/1000
34/34 [==============================] - 0s - loss: 0.4516
Epoch 708/1000
34/34 [==============================] - 0s - loss: 0.4516
Epoch 709/1000
34/34 [==============================] - 0s - loss: 0.4518
Epoch 710/1000
34/34 [==============================] - 0s - loss: 0.4516
Epoch 711/1000
34/34 [==============================] - 0s - loss: 0.4514
Epoch 712/1000
34/34 [==============================] - 0s - loss: 0.4513
Epoch 713/1000
34/34 [==============================] - 0s - loss: 0.4515
Epoch 714/1000
34/34 [==============================] - 0s - loss: 0.4516
Epoch 715/1000
34/34 [==============================] - 0s - loss: 0.4515
Epoch 716/1000
34/34 [==============================] - 0s - loss: 0.4516
Epoch 717/1000
34/34 [==============================] - 0s - loss: 0.4514
Epoch 718/1000
34/34 [==============================] - 0s - loss: 0.4516
Epoch 719/1000
34/34 [==============================] - 0s - loss: 0.4517
Epoch 720/1000
34/34 [==============================] - 0s - loss: 0.4517
Epoch 721/1000
34/34 [==============================] - 0s - loss: 0.4515
Epoch 722/1000
34/34 [==============================] - 0s - loss: 0.4517
Epoch 723/1000
34/34 [==============================] - 0s - loss: 0.4515
Epoch 724/1000
34/34 [==============================] - 0s - loss: 0.4514
Epoch 725/1000
34/34 [==============================] - 0s - loss: 0.4514
Epoch 726/1000
34/34 [==============================] - 0s - loss: 0.4515
Epoch 727/1000
34/34 [==============================] - 0s - loss: 0.4515
Epoch 728/1000
34/34 [==============================] - 0s - loss: 0.4516
Epoch 729/1000
34/34 [==============================] - 0s - loss: 0.4515
Epoch 730/1000
34/34 [==============================] - 0s - loss: 0.4515
Epoch 731/1000
34/34 [==============================] - 0s - loss: 0.4513
Epoch 732/1000
34/34 [==============================] - 0s - loss: 0.4513
Epoch 733/1000
34/34 [==============================] - 0s - loss: 0.4513
Epoch 734/1000
34/34 [==============================] - 0s - loss: 0.4517
Epoch 735/1000
34/34 [==============================] - 0s - loss: 0.4514
Epoch 736/1000
34/34 [==============================] - 0s - loss: 0.4513
Epoch 737/1000
34/34 [==============================] - 0s - loss: 0.4512
Epoch 738/1000
34/34 [==============================] - 0s - loss: 0.4511
Epoch 739/1000
34/34 [==============================] - 0s - loss: 0.4510
Epoch 740/1000
34/34 [==============================] - 0s - loss: 0.4510
Epoch 741/1000
34/34 [==============================] - 0s - loss: 0.4509
Epoch 742/1000
34/34 [==============================] - 0s - loss: 0.4510
Epoch 743/1000
34/34 [==============================] - 0s - loss: 0.4510
Epoch 744/1000
34/34 [==============================] - 0s - loss: 0.4509
Epoch 745/1000
34/34 [==============================] - 0s - loss: 0.4509
Epoch 746/1000
34/34 [==============================] - 0s - loss: 0.4508
Epoch 747/1000
34/34 [==============================] - 0s - loss: 0.4508
Epoch 748/1000
34/34 [==============================] - 0s - loss: 0.4510
Epoch 749/1000
34/34 [==============================] - 0s - loss: 0.4508
Epoch 750/1000
34/34 [==============================] - 0s - loss: 0.4508
Epoch 751/1000
34/34 [==============================] - 0s - loss: 0.4508
Epoch 752/1000
34/34 [==============================] - 0s - loss: 0.4507
Epoch 753/1000
34/34 [==============================] - 0s - loss: 0.4507
Epoch 754/1000
34/34 [==============================] - 0s - loss: 0.4508
Epoch 755/1000
34/34 [==============================] - 0s - loss: 0.4510
Epoch 756/1000
34/34 [==============================] - 0s - loss: 0.4506
Epoch 757/1000
34/34 [==============================] - 0s - loss: 0.4507
Epoch 758/1000
34/34 [==============================] - 0s - loss: 0.4507
Epoch 759/1000
34/34 [==============================] - 0s - loss: 0.4507
Epoch 760/1000
34/34 [==============================] - 0s - loss: 0.4506
Epoch 761/1000
34/34 [==============================] - 0s - loss: 0.4506
Epoch 762/1000
34/34 [==============================] - 0s - loss: 0.4506
Epoch 763/1000
34/34 [==============================] - 0s - loss: 0.4504
Epoch 764/1000
34/34 [==============================] - 0s - loss: 0.4504
Epoch 765/1000
34/34 [==============================] - 0s - loss: 0.4507
Epoch 766/1000
34/34 [==============================] - 0s - loss: 0.4507
Epoch 767/1000
34/34 [==============================] - 0s - loss: 0.4504
Epoch 768/1000
34/34 [==============================] - 0s - loss: 0.4503
Epoch 769/1000
34/34 [==============================] - 0s - loss: 0.4503
Epoch 770/1000
34/34 [==============================] - 0s - loss: 0.4504
Epoch 771/1000
34/34 [==============================] - 0s - loss: 0.4503
Epoch 772/1000
34/34 [==============================] - 0s - loss: 0.4506
Epoch 773/1000
34/34 [==============================] - 0s - loss: 0.4503
Epoch 774/1000
34/34 [==============================] - 0s - loss: 0.4503
Epoch 775/1000
34/34 [==============================] - 0s - loss: 0.4503
Epoch 776/1000
34/34 [==============================] - 0s - loss: 0.4503
Epoch 777/1000
34/34 [==============================] - 0s - loss: 0.4504
Epoch 778/1000
34/34 [==============================] - 0s - loss: 0.4504
Epoch 779/1000
34/34 [==============================] - 0s - loss: 0.4503
Epoch 780/1000
34/34 [==============================] - 0s - loss: 0.4505
Epoch 781/1000
34/34 [==============================] - 0s - loss: 0.4504
Epoch 782/1000
34/34 [==============================] - 0s - loss: 0.4505
Epoch 783/1000
34/34 [==============================] - 0s - loss: 0.4503
Epoch 784/1000
34/34 [==============================] - 0s - loss: 0.4503
Epoch 785/1000
34/34 [==============================] - 0s - loss: 0.4503
Epoch 786/1000
34/34 [==============================] - 0s - loss: 0.4503
Epoch 787/1000
34/34 [==============================] - 0s - loss: 0.4506
Epoch 788/1000
34/34 [==============================] - 0s - loss: 0.4503
Epoch 789/1000
34/34 [==============================] - 0s - loss: 0.4503
Epoch 790/1000
34/34 [==============================] - 0s - loss: 0.4501
Epoch 791/1000
34/34 [==============================] - 0s - loss: 0.4499
Epoch 792/1000
34/34 [==============================] - 0s - loss: 0.4501
Epoch 793/1000
34/34 [==============================] - 0s - loss: 0.4499
Epoch 794/1000
34/34 [==============================] - 0s - loss: 0.4499
Epoch 795/1000
34/34 [==============================] - 0s - loss: 0.4500
Epoch 796/1000
34/34 [==============================] - 0s - loss: 0.4499
Epoch 797/1000
34/34 [==============================] - 0s - loss: 0.4499
Epoch 798/1000
34/34 [==============================] - 0s - loss: 0.4499
Epoch 799/1000
34/34 [==============================] - 0s - loss: 0.4499
Epoch 800/1000
34/34 [==============================] - 0s - loss: 0.4497
Epoch 801/1000
34/34 [==============================] - 0s - loss: 0.4497
Epoch 802/1000
34/34 [==============================] - 0s - loss: 0.4501
Epoch 803/1000
34/34 [==============================] - 0s - loss: 0.4497
Epoch 804/1000
34/34 [==============================] - 0s - loss: 0.4498
Epoch 805/1000
34/34 [==============================] - 0s - loss: 0.4498
Epoch 806/1000
34/34 [==============================] - 0s - loss: 0.4498
Epoch 807/1000
34/34 [==============================] - 0s - loss: 0.4498
Epoch 808/1000
34/34 [==============================] - 0s - loss: 0.4498
Epoch 809/1000
34/34 [==============================] - 0s - loss: 0.4497
Epoch 810/1000
34/34 [==============================] - 0s - loss: 0.4496
Epoch 811/1000
34/34 [==============================] - 0s - loss: 0.4496
Epoch 812/1000
34/34 [==============================] - 0s - loss: 0.4496
Epoch 813/1000
34/34 [==============================] - 0s - loss: 0.4496
Epoch 814/1000
34/34 [==============================] - 0s - loss: 0.4495
Epoch 815/1000
34/34 [==============================] - 0s - loss: 0.4495
Epoch 816/1000
34/34 [==============================] - 0s - loss: 0.4496
Epoch 817/1000
34/34 [==============================] - 0s - loss: 0.4496
Epoch 818/1000
34/34 [==============================] - 0s - loss: 0.4495
Epoch 819/1000
34/34 [==============================] - 0s - loss: 0.4495
Epoch 820/1000
34/34 [==============================] - 0s - loss: 0.4496
Epoch 821/1000
34/34 [==============================] - 0s - loss: 0.4494
Epoch 822/1000
34/34 [==============================] - 0s - loss: 0.4493
Epoch 823/1000
34/34 [==============================] - 0s - loss: 0.4495
Epoch 824/1000
34/34 [==============================] - 0s - loss: 0.4496
Epoch 825/1000
34/34 [==============================] - 0s - loss: 0.4496
Epoch 826/1000
34/34 [==============================] - 0s - loss: 0.4496
Epoch 827/1000
34/34 [==============================] - 0s - loss: 0.4497
Epoch 828/1000
34/34 [==============================] - 0s - loss: 0.4492
Epoch 829/1000
34/34 [==============================] - 0s - loss: 0.4493
Epoch 830/1000
34/34 [==============================] - 0s - loss: 0.4493
Epoch 831/1000
34/34 [==============================] - 0s - loss: 0.4494
Epoch 832/1000
34/34 [==============================] - 0s - loss: 0.4494
Epoch 833/1000
34/34 [==============================] - 0s - loss: 0.4493
Epoch 834/1000
34/34 [==============================] - 0s - loss: 0.4493
Epoch 835/1000
34/34 [==============================] - 0s - loss: 0.4493
Epoch 836/1000
34/34 [==============================] - 0s - loss: 0.4494
Epoch 837/1000
34/34 [==============================] - 0s - loss: 0.4498
Epoch 838/1000
34/34 [==============================] - 0s - loss: 0.4494
Epoch 839/1000
34/34 [==============================] - 0s - loss: 0.4493
Epoch 840/1000
34/34 [==============================] - 0s - loss: 0.4493
Epoch 841/1000
34/34 [==============================] - 0s - loss: 0.4492
Epoch 842/1000
34/34 [==============================] - 0s - loss: 0.4491
Epoch 843/1000
34/34 [==============================] - 0s - loss: 0.4491
Epoch 844/1000
34/34 [==============================] - 0s - loss: 0.4492
Epoch 845/1000
34/34 [==============================] - 0s - loss: 0.4491
Epoch 846/1000
34/34 [==============================] - 0s - loss: 0.4491
Epoch 847/1000
34/34 [==============================] - 0s - loss: 0.4491
Epoch 848/1000
34/34 [==============================] - 0s - loss: 0.4494
Epoch 849/1000
34/34 [==============================] - 0s - loss: 0.4492
Epoch 850/1000
34/34 [==============================] - 0s - loss: 0.4492
Epoch 851/1000
34/34 [==============================] - 0s - loss: 0.4491
Epoch 852/1000
34/34 [==============================] - 0s - loss: 0.4491
Epoch 853/1000
34/34 [==============================] - 0s - loss: 0.4490
Epoch 854/1000
34/34 [==============================] - 0s - loss: 0.4490
Epoch 855/1000
34/34 [==============================] - 0s - loss: 0.4489
Epoch 856/1000
34/34 [==============================] - 0s - loss: 0.4491
Epoch 857/1000
34/34 [==============================] - 0s - loss: 0.4489
Epoch 858/1000
34/34 [==============================] - 0s - loss: 0.4493
Epoch 859/1000
34/34 [==============================] - 0s - loss: 0.4492
Epoch 860/1000
34/34 [==============================] - 0s - loss: 0.4490
Epoch 861/1000
34/34 [==============================] - 0s - loss: 0.4491
Epoch 862/1000
34/34 [==============================] - 0s - loss: 0.4495
Epoch 863/1000
34/34 [==============================] - 0s - loss: 0.4489
Epoch 864/1000
34/34 [==============================] - 0s - loss: 0.4491
Epoch 865/1000
34/34 [==============================] - 0s - loss: 0.4488
Epoch 866/1000
34/34 [==============================] - 0s - loss: 0.4489
Epoch 867/1000
34/34 [==============================] - 0s - loss: 0.4488
Epoch 868/1000
34/34 [==============================] - 0s - loss: 0.4488
Epoch 869/1000
34/34 [==============================] - 0s - loss: 0.4491
Epoch 870/1000
34/34 [==============================] - 0s - loss: 0.4488
Epoch 871/1000
34/34 [==============================] - 0s - loss: 0.4489
Epoch 872/1000
34/34 [==============================] - 0s - loss: 0.4487
Epoch 873/1000
34/34 [==============================] - 0s - loss: 0.4490
Epoch 874/1000
34/34 [==============================] - 0s - loss: 0.4487
Epoch 875/1000
34/34 [==============================] - 0s - loss: 0.4489
Epoch 876/1000
34/34 [==============================] - 0s - loss: 0.4488
Epoch 877/1000
34/34 [==============================] - 0s - loss: 0.4489
Epoch 878/1000
34/34 [==============================] - 0s - loss: 0.4487
Epoch 879/1000
34/34 [==============================] - 0s - loss: 0.4486
Epoch 880/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 881/1000
34/34 [==============================] - 0s - loss: 0.4486
Epoch 882/1000
34/34 [==============================] - 0s - loss: 0.4489
Epoch 883/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 884/1000
34/34 [==============================] - 0s - loss: 0.4489
Epoch 885/1000
34/34 [==============================] - 0s - loss: 0.4486
Epoch 886/1000
34/34 [==============================] - 0s - loss: 0.4486
Epoch 887/1000
34/34 [==============================] - 0s - loss: 0.4487
Epoch 888/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 889/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 890/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 891/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 892/1000
34/34 [==============================] - 0s - loss: 0.4484
Epoch 893/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 894/1000
34/34 [==============================] - 0s - loss: 0.4484
Epoch 895/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 896/1000
34/34 [==============================] - 0s - loss: 0.4484
Epoch 897/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 898/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 899/1000
34/34 [==============================] - 0s - loss: 0.4484
Epoch 900/1000
34/34 [==============================] - 0s - loss: 0.4484
Epoch 901/1000
34/34 [==============================] - 0s - loss: 0.4486
Epoch 902/1000
34/34 [==============================] - 0s - loss: 0.4484
Epoch 903/1000
34/34 [==============================] - 0s - loss: 0.4484
Epoch 904/1000
34/34 [==============================] - 0s - loss: 0.4484
Epoch 905/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 906/1000
34/34 [==============================] - 0s - loss: 0.4483
Epoch 907/1000
34/34 [==============================] - 0s - loss: 0.4483
Epoch 908/1000
34/34 [==============================] - 0s - loss: 0.4484
Epoch 909/1000
34/34 [==============================] - 0s - loss: 0.4483
Epoch 910/1000
34/34 [==============================] - 0s - loss: 0.4484
Epoch 911/1000
34/34 [==============================] - 0s - loss: 0.4482
Epoch 912/1000
34/34 [==============================] - 0s - loss: 0.4483
Epoch 913/1000
34/34 [==============================] - 0s - loss: 0.4481
Epoch 914/1000
34/34 [==============================] - 0s - loss: 0.4482
Epoch 915/1000
34/34 [==============================] - 0s - loss: 0.4482
Epoch 916/1000
34/34 [==============================] - 0s - loss: 0.4482
Epoch 917/1000
34/34 [==============================] - 0s - loss: 0.4482
Epoch 918/1000
34/34 [==============================] - 0s - loss: 0.4482
Epoch 919/1000
34/34 [==============================] - 0s - loss: 0.4481
Epoch 920/1000
34/34 [==============================] - 0s - loss: 0.4481
Epoch 921/1000
34/34 [==============================] - 0s - loss: 0.4480
Epoch 922/1000
34/34 [==============================] - 0s - loss: 0.4478
Epoch 923/1000
34/34 [==============================] - 0s - loss: 0.4476
Epoch 924/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 925/1000
34/34 [==============================] - 0s - loss: 0.4481
Epoch 926/1000
34/34 [==============================] - 0s - loss: 0.4483
Epoch 927/1000
34/34 [==============================] - 0s - loss: 0.4483
Epoch 928/1000
34/34 [==============================] - 0s - loss: 0.4484
Epoch 929/1000
34/34 [==============================] - 0s - loss: 0.4486
Epoch 930/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 931/1000
34/34 [==============================] - 0s - loss: 0.4488
Epoch 932/1000
34/34 [==============================] - 0s - loss: 0.4489
Epoch 933/1000
34/34 [==============================] - 0s - loss: 0.4487
Epoch 934/1000
34/34 [==============================] - 0s - loss: 0.4488
Epoch 935/1000
34/34 [==============================] - 0s - loss: 0.4491
Epoch 936/1000
34/34 [==============================] - 0s - loss: 0.4489
Epoch 937/1000
34/34 [==============================] - 0s - loss: 0.4487
Epoch 938/1000
34/34 [==============================] - 0s - loss: 0.4492
Epoch 939/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 940/1000
34/34 [==============================] - 0s - loss: 0.4486
Epoch 941/1000
34/34 [==============================] - 0s - loss: 0.4486
Epoch 942/1000
34/34 [==============================] - 0s - loss: 0.4487
Epoch 943/1000
34/34 [==============================] - 0s - loss: 0.4486
Epoch 944/1000
34/34 [==============================] - 0s - loss: 0.4487
Epoch 945/1000
34/34 [==============================] - 0s - loss: 0.4489
Epoch 946/1000
34/34 [==============================] - 0s - loss: 0.4487
Epoch 947/1000
34/34 [==============================] - 0s - loss: 0.4486
Epoch 948/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 949/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 950/1000
34/34 [==============================] - 0s - loss: 0.4485
Epoch 951/1000
34/34 [==============================] - 0s - loss: 0.4483
Epoch 952/1000
34/34 [==============================] - 0s - loss: 0.4483
Epoch 953/1000
34/34 [==============================] - 0s - loss: 0.4482
Epoch 954/1000
34/34 [==============================] - 0s - loss: 0.4481
Epoch 955/1000
34/34 [==============================] - 0s - loss: 0.4481
Epoch 956/1000
34/34 [==============================] - 0s - loss: 0.4482
Epoch 957/1000
34/34 [==============================] - 0s - loss: 0.4480
Epoch 958/1000
34/34 [==============================] - 0s - loss: 0.4479
Epoch 959/1000
34/34 [==============================] - 0s - loss: 0.4477
Epoch 960/1000
34/34 [==============================] - 0s - loss: 0.4476
Epoch 961/1000
34/34 [==============================] - 0s - loss: 0.4477
Epoch 962/1000
34/34 [==============================] - 0s - loss: 0.4477
Epoch 963/1000
34/34 [==============================] - 0s - loss: 0.4475
Epoch 964/1000
34/34 [==============================] - 0s - loss: 0.4476
Epoch 965/1000
34/34 [==============================] - 0s - loss: 0.4476
Epoch 966/1000
34/34 [==============================] - 0s - loss: 0.4475
Epoch 967/1000
34/34 [==============================] - 0s - loss: 0.4475
Epoch 968/1000
34/34 [==============================] - 0s - loss: 0.4475
Epoch 969/1000
34/34 [==============================] - 0s - loss: 0.4477
Epoch 970/1000
34/34 [==============================] - 0s - loss: 0.4475
Epoch 971/1000
34/34 [==============================] - 0s - loss: 0.4475
Epoch 972/1000
34/34 [==============================] - 0s - loss: 0.4475
Epoch 973/1000
34/34 [==============================] - 0s - loss: 0.4478
Epoch 974/1000
34/34 [==============================] - 0s - loss: 0.4477
Epoch 975/1000
34/34 [==============================] - 0s - loss: 0.4476
Epoch 976/1000
34/34 [==============================] - 0s - loss: 0.4480
Epoch 977/1000
34/34 [==============================] - 0s - loss: 0.4478
Epoch 978/1000
34/34 [==============================] - 0s - loss: 0.4477
Epoch 979/1000
34/34 [==============================] - 0s - loss: 0.4478
Epoch 980/1000
34/34 [==============================] - 0s - loss: 0.4477
Epoch 981/1000
34/34 [==============================] - 0s - loss: 0.4474
Epoch 982/1000
34/34 [==============================] - 0s - loss: 0.4474
Epoch 983/1000
34/34 [==============================] - 0s - loss: 0.4475
Epoch 984/1000
34/34 [==============================] - 0s - loss: 0.4474
Epoch 985/1000
34/34 [==============================] - 0s - loss: 0.4475
Epoch 986/1000
34/34 [==============================] - 0s - loss: 0.4475
Epoch 987/1000
34/34 [==============================] - 0s - loss: 0.4473
Epoch 988/1000
34/34 [==============================] - 0s - loss: 0.4472
Epoch 989/1000
34/34 [==============================] - 0s - loss: 0.4479
Epoch 990/1000
34/34 [==============================] - 0s - loss: 0.4474
Epoch 991/1000
34/34 [==============================] - 0s - loss: 0.4478
Epoch 992/1000
34/34 [==============================] - 0s - loss: 0.4473
Epoch 993/1000
34/34 [==============================] - 0s - loss: 0.4474
Epoch 994/1000
34/34 [==============================] - 0s - loss: 0.4474
Epoch 995/1000
34/34 [==============================] - 0s - loss: 0.4475
Epoch 996/1000
34/34 [==============================] - 0s - loss: 0.4473
Epoch 997/1000
34/34 [==============================] - 0s - loss: 0.4473
Epoch 998/1000
34/34 [==============================] - 0s - loss: 0.4473
Epoch 999/1000
34/34 [==============================] - 0s - loss: 0.4473
Epoch 1000/1000
34/34 [==============================] - 0s - loss: 0.4471
32/34 [===========================>..] - ETA: 0s
In [30]:
data[data!=1] = 0
result = pd.DataFrame()
result['true_value'] = data['销量']
result['predict_value'] = yp
result['correct'] = result.true_value == result.predict_value
ratio = result['correct'].value_counts()[1]/result['correct'].value_counts().sum()
print('准确率为:', ratio)
print(result)
准确率为: 0.764705882353
true_value predict_value correct
序号
1 1 1 True
2 1 1 True
3 1 1 True
4 1 0 False
5 1 1 True
6 1 0 False
7 1 0 False
8 1 1 True
9 1 1 True
10 1 1 True
11 1 1 True
12 1 1 True
13 1 1 True
14 0 1 False
15 1 1 True
16 1 1 True
17 1 1 True
18 1 1 True
19 1 0 False
20 0 0 True
21 0 0 True
22 0 0 True
23 0 0 True
24 0 0 True
25 0 0 True
26 0 1 False
27 0 1 False
28 0 0 True
29 0 0 True
30 0 0 True
31 0 0 True
32 0 1 False
33 0 0 True
34 0 0 True
In [43]:
# K-means 聚类
import pandas as pd
k = 3 # 聚类的类别
iteration = 500 # 最大循环次数
data = pd.read_excel('/home/jeff/python_data/chapter5/chapter5/demo/data/consumption_data.xls')
data_zs = 1.0 * (data - data.min())/data.std()
from sklearn.cluster import KMeans
model = KMeans(n_clusters = k, n_jobs = 4, max_iter = iteration)
model.fit(data_zs)
# 统计结果
r1 = pd.Series(model.labels_).value_counts()
r2 = pd.DataFrame(model.cluster_centers_)
r = pd.concat([r2, r1], axis = 1)
r.columns = list(data.columns) + ['类别数目']
print(r)
# 详细结果
r = pd.concat([data, pd.Series(model.labels_, index = data.index)], axis = 1)
r.columns = list(data.columns) + ['聚类类别']
print(r)
Id R F M 类别数目
0 2.579224 1.253161 0.552872 1.201873 298
1 2.030509 1.198245 2.392960 1.941550 292
2 0.749849 1.286122 0.691471 1.254731 350
Id R F M 聚类类别
0 1 27 6 232.61 2
1 2 3 5 1507.11 2
2 3 4 16 817.62 2
3 4 3 11 232.81 2
4 5 14 7 1913.05 2
5 6 19 6 220.07 2
6 7 5 2 615.83 2
7 8 26 2 1059.66 2
8 9 21 9 304.82 2
9 10 2 21 1227.96 1
10 11 15 2 521.02 2
11 12 26 3 438.22 2
12 13 17 11 1744.55 2
13 14 30 16 1957.44 2
14 15 5 7 1713.79 2
15 16 4 21 1768.11 1
16 17 93 2 1016.34 2
17 18 16 3 950.36 2
18 19 4 1 754.93 2
19 20 27 1 294.23 2
20 21 5 1 195.30 2
21 22 17 3 1845.34 2
22 23 12 13 1434.29 2
23 24 21 3 275.85 2
24 25 18 5 449.76 2
25 26 30 21 1628.68 1
26 27 4 2 1795.41 2
27 28 7 12 1786.24 2
28 29 18 1 679.44 2
29 30 60 7 5318.81 1
.. ... .. .. ... ...
910 913 9 14 1627.19 1
911 914 11 28 1154.70 1
912 915 17 1 33.58 0
913 916 15 9 1959.64 0
914 917 10 22 1581.14 1
915 918 27 5 1879.82 0
916 919 25 3 1142.40 0
917 920 15 1 174.64 0
918 921 5 2 638.81 0
919 922 19 4 1067.78 0
920 923 14 22 1345.92 1
921 924 6 3 1311.06 0
922 925 26 8 962.62 0
923 926 23 1 285.97 0
924 927 17 17 1651.68 1
925 928 16 3 1503.87 0
926 929 6 13 1506.48 1
927 930 22 24 625.12 1
928 931 28 17 1742.95 1
929 932 17 26 1292.21 1
930 933 16 7 1801.38 0
931 934 1 27 1585.10 1
932 935 17 27 7795.03 1
933 936 2 17 2341.93 1
934 937 1 5 1865.78 0
935 938 19 4 1163.08 0
936 939 9 7 1007.06 0
937 940 27 7 1322.94 0
938 941 30 4 860.41 0
939 942 22 1 776.70 0
[940 rows x 5 columns]
In [48]:
# 通过tsne进行降维可视化
from sklearn.manifold import TSNE
tsne = TSNE()
tsne.fit_transform(data_zs)
tsne = pd.DataFrame(tsne.embedding_, index = data_zs.index)
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
d = tsne[r['聚类类别']==0]
plt.plot(d[0], d[1], 'r.')
d = tsne[r['聚类类别']==1]
plt.plot(d[0], d[1], 'go')
d = tsne[r['聚类类别']==2]
plt.plot(d[0], d[1], 'b*')
plt.show()
In [58]:
# Apriori 挖掘关联规则
import pandas as pd
#自定义连接函数,用于实现L_{k-1}到C_k的连接
def connect_string(x, ms):
x = list(map(lambda i:sorted(i.split(ms)), x))
l = len(x[0])
r = []
for i in range(len(x)):
for j in range(i,len(x)):
if x[i][:l-1] == x[j][:l-1] and x[i][l-1] != x[j][l-1]:
r.append(x[i][:l-1]+sorted([x[j][l-1],x[i][l-1]]))
return r
#寻找关联规则的函数
def find_rule(d, support, confidence, ms = '--'):
result = pd.DataFrame(index=['support', 'confidence']) #定义输出结果
support_series = 1.0*d.sum()/len(d) #支持度序列
column = list(support_series[support_series > support].index) #初步根据支持度筛选
k = 0
while len(column) > 1:
k = k+1
print(u'\n正在进行第%s次搜索...' %k)
column = connect_string(column, ms)
print(u'数目:%s...' %len(column))
sf = lambda i: d[i].prod(axis=1, numeric_only = True) #新一批支持度的计算函数
#创建连接数据,这一步耗时、耗内存最严重。当数据集较大时,可以考虑并行运算优化。
d_2 = pd.DataFrame(list(map(sf,column)), index = [ms.join(i) for i in column]).T
support_series_2 = 1.0*d_2[[ms.join(i) for i in column]].sum()/len(d) #计算连接后的支持度
column = list(support_series_2[support_series_2 > support].index) #新一轮支持度筛选
support_series = support_series.append(support_series_2)
column2 = []
for i in column: #遍历可能的推理,如{A,B,C}究竟是A+B-->C还是B+C-->A还是C+A-->B?
i = i.split(ms)
for j in range(len(i)):
column2.append(i[:j]+i[j+1:]+i[j:j+1])
cofidence_series = pd.Series(index=[ms.join(i) for i in column2]) #定义置信度序列
for i in column2: #计算置信度序列
cofidence_series[ms.join(i)] = support_series[ms.join(sorted(i))]/support_series[ms.join(i[:len(i)-1])]
for i in cofidence_series[cofidence_series > confidence].index: #置信度筛选
result[i] = 0.0
result[i]['confidence'] = cofidence_series[i]
result[i]['support'] = support_series[ms.join(sorted(i.split(ms)))]
result = result.T.sort_values(['confidence','support'], ascending = False) #结果整理,输出
print(u'\n结果为:')
print(result)
return result
In [60]:
import pandas as pd
data = pd.read_excel('/home/jeff/python_data/chapter5/chapter5/demo/data/menu_orders.xls', header = None)
print(data)
print('转换原始数据为0-1矩阵')
ct = lambda x : pd.Series(1, index = x[pd.notnull(x)])
b = map(ct, data.as_matrix())
data = pd.DataFrame(list(b)).fillna(0)
print('转换完毕')
del b
print(data) # 数据格式对齐
support = 0.2 # 最小支持度
confidence = 0.5 # 最小置信度
ms = '---' # 连接符
result = find_rule(data, support, confidence, ms)
0 1 2 3
0 a c e NaN
1 b d NaN NaN
2 b c NaN NaN
3 a b c d
4 a b NaN NaN
5 b c NaN NaN
6 a b NaN NaN
7 a b c e
8 a b c NaN
9 a c e NaN
转换原始数据为0-1矩阵
转换完毕
a b c d e
0 1.0 0.0 1.0 0.0 1.0
1 0.0 1.0 0.0 1.0 0.0
2 0.0 1.0 1.0 0.0 0.0
3 1.0 1.0 1.0 1.0 0.0
4 1.0 1.0 0.0 0.0 0.0
5 0.0 1.0 1.0 0.0 0.0
6 1.0 1.0 0.0 0.0 0.0
7 1.0 1.0 1.0 0.0 1.0
8 1.0 1.0 1.0 0.0 0.0
9 1.0 0.0 1.0 0.0 1.0
正在进行第1次搜索...
数目:6...
正在进行第2次搜索...
数目:3...
正在进行第3次搜索...
数目:0...
结果为:
support confidence
e---a 0.3 1.000000
e---c 0.3 1.000000
c---e---a 0.3 1.000000
a---e---c 0.3 1.000000
a---b 0.5 0.714286
c---a 0.5 0.714286
a---c 0.5 0.714286
c---b 0.5 0.714286
b---a 0.5 0.625000
b---c 0.5 0.625000
b---c---a 0.3 0.600000
a---c---b 0.3 0.600000
a---b---c 0.3 0.600000
a---c---e 0.3 0.600000
In [72]:
# s使用K-Means聚类检测离群点
import numpy as np
import pandas as pd
k = 3 # 聚类类别
iteration = 500 # 最大循环次数
threshold = 2 # 离散点阈值
data = pd.read_excel('/home/jeff/python_data/chapter5/chapter5/demo/data/consumption_data.xls', index_col='Id')
data_zs = (data - data.min())/data.std()
from sklearn.cluster import KMeans
model = KMeans(n_clusters = k, n_jobs = 4, max_iter = iteration)
model.fit(data_zs)
r = pd.concat([data_zs, pd.Series(model.labels_, index = data_zs.index)], axis = 1)
r.columns = list(data_zs.columns) + ['聚类类别']
norm = []
for i in range(k):
norm_tmp = r[['R', 'F', 'M']][r['聚类类别']==i] - model.cluster_centers_[i]
norm_tmp = norm_tmp.apply(np.linalg.norm, axis = 1) # 求出绝对距离
norm.append(norm_tmp/norm_tmp.median()) # 求相对距离并添加
norm = pd.concat(norm) # 合并
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
norm[norm < threshold].plot(style = 'go') # 正常点
discrete_points = norm[norm > threshold] # 离群点
discrete_points.plot(style = 'ro')
for i in range(len(discrete_points)): # 离群点做标记
id = discrete_points.index[i]
n = discrete_points.iloc[i]
plt.annotate('(%s, %0.2f)' % (id, n), xy = (id, n), xytext = (id, n))
plt.xlabel('编号')
plt.ylabel('相对距离')
plt.show()
Content source: jeffmxh/jupyter_notebook
Similar notebooks: