質問

すみません、私はPythonにとって非常に新しいです。私はMDPを使用してPythonでファクタ分析を実行しようとしています(私はより良い解決策がある場合は別のライブラリーを使うことができます)。

私はn行列(マトリックスと呼ばれる)でmを持っていて、私はやろうとしました:

import mdp
mdp.nodes.FANode()(matrix)
.

しかし私はエラーを取り戻します。私のマトリックスが正しく形成されていないかもしれませんか?私の目標は、データ内にあるコンポーネントの数を調べ、どのコンポーネントのどのコンポーネントにロードされているかを調べます。

これはトレースバックです:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "mdp/signal_node.py", line 630, in __call__
    return self.execute(x, *args, **kwargs)
  File "mdp/signal_node.py", line 611, in execute
    self._pre_execution_checks(x)
  File "mdp/signal_node.py", line 480, in _pre_execution_checks
    self.train(x)
  File "mdp/signal_node.py", line 571, in train
    self._check_input(x)
  File "mdp/signal_node.py", line 429, in _check_input
    if not x.ndim == 2:
AttributeError: 'list' object has no attribute 'ndim'
.

誰もが何が起こっているのかという考えを持っていて、それをPython Newbieに説明するように感じますか?

役に立ちましたか?

解決

私はMDPで絶対に経験がありませんが、行列がリストではなくNumpy配列として渡されることを期待しているようです。NUMPYは高性能の科学的コンピューティングのためのパッケージです。nampy ホームページをインストールすることができます。その後、コードを変更してみてください。

import mdp, numpy
mdp.nodes.FANode()(numpy.array(matrix))
.

他のヒント

Stephenが言ったように、データはnumpy配列でなければなりません。より正確にはそれは2Dアレイでなければならず、第1のインデックスは異なるザーメンを表し、データ寸法を表す第2のインデックスは(ここで誤った順序を使用することができる)。

MDPのドキュメントを見てみる必要があります。質問それがMDPのユーザーメーリングリストがあるのを助けないならば。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top