如何使用Neupy获取神经元表示的点

时间:2018-11-06 05:23:40

标签: python pandas neupy

我正在使用neupy通过以下代码获取一组神经元:

=

1-如何读取/获取与每个神经元相关的点集? 2-inputfile.csv具有date,lat,lng字段。我想计算每天每个神经元的点数。如何进行?谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用predict方法来查找最接近的神经元的编码。这是官方文档中的示例。

>>> import numpy as np
>>> from neupy import algorithms, environment
>>>
>>> environment.reproducible()
>>>
>>> data = np.array([
...     [0.1961, 0.9806],
...     [-0.1961, 0.9806],
...     [-0.5812, -0.8137],
...     [-0.8137, -0.5812],
... ])
>>>
>>> sofm = algorithms.SOFM(
...     n_inputs=2,
...     n_outputs=2,
...     step=0.1,
...     learning_radius=0
... )
>>> sofm.train(data, epochs=100)
>>> sofm.predict(data)
array([[0, 1],
       [0, 1],
       [1, 0],
       [1, 0]])

预测返回一键编码的神经元标识符。您可以通过在输出中应用argmax来获取神经元的索引

>>> prediction = sofm.predict(data)
>>> neuron_index = prediction.argmax(axis=1)

您也可以使用此信息来解决第二个问题。

>>> df['neuron_index'] = neuron_index
>>> df.groupby(['date', 'neuron_index']).count()

                         lat  lng
date       neuron_index
2018-05-06 0               1    1
2018-05-07 0               1    1
           1               2    2