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()