In [1]:
from physlearn.NeuralNet.NeuralNet import NeuralNet
from physlearn.examples import Titanic
import matplotlib.pyplot as plt
%matplotlib inline


C:\Work\Programms\Anaconda3\lib\site-packages\h5py\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-f57d2ef41dc8> in <module>()
      1 from physlearn.NeuralNet.NeuralNet import NeuralNet
----> 2 from physlearn.examples import Titanic
      3 import matplotlib.pyplot as plt
      4 get_ipython().run_line_magic('matplotlib', 'inline')

~\Documents\GitKraken\SPBU_COMP_PHYS_NN_QM\first_stage\test\physlearntest\physlearn\examples\Titanic.py in <module>()
      2 import sys
      3 import os
----> 4 from list2vector import list2vector, normalize_vector
      5 
      6 import numpy

ModuleNotFoundError: No module named 'list2vector'

In [ ]:
(learn_data, learn_output), (cv_data, cv_output) = Titanic.create_datasets(0.2)

In [ ]:
net = NeuralNet(-7, 7)

In [ ]:
net.add_input_layer(3)
net.add(100, net.sigmoid)
net.add(100, net.sigmoid)
net.add_output_layer(1, net.sigmoid)

In [ ]:
net.compile()

In [ ]:
net.set_train_type('logistic')

In [ ]:
cost_list = net.train(learn_data, learn_output, 50, 100000, 0.001)
plt.plot(cost_list)

In [ ]:
net.calculate_cost(learn_data, learn_output)

In [ ]:
net.calculate_cost(cv_data, cv_output)

In [ ]:
ok_class = 0
output = net.run(learn_data)[0]
pred_clases = []
for item in output:
    if item >= 0.5:
        pred_clases.append(1)
    else:
        pred_clases.append(0)
for index, _ in enumerate(pred_clases):
    if pred_clases[index] == learn_output[0][index]:
        ok_class += 1
        
ok_percent = (ok_class / output.shape[0]) * 100
print('ok percent on learn data: ', ok_percent, '%')

In [ ]:
ok_class = 0
output = net.run(cv_data)[0]
pred_clases = []
for item in output:
    if item >= 0.5:
        pred_clases.append(1)
    else:
        pred_clases.append(0)
for index, _ in enumerate(pred_clases):
    if pred_clases[index] == cv_output[0][index]:
        ok_class += 1
        
ok_percent = (ok_class / output.shape[0]) * 100
print('ok percent on cv data: ', ok_percent, '%')