6

ここからコードを使用しようとしています: https://github.com/pystruct/pystruct/blob/master/examples/multi_label.py

X_train には shape が(2591, 256)あり、 y_train には shapeがあり(2591, 175)ます。これを実行すると:

tree = chow_liu_tree(y_train)
tree_model = MultiLabelClf(edges=tree, inference_method="max-product")
tree_ssvm = OneSlackSSVM(tree_model, inference_cache=50, C=.1, tol=0.01)
print("fitting tree model...")
tree_ssvm.fit(X_train, y_train)

私はこれを得た:

Traceback (most recent call last):
  File "classifiers.py", line 173, in <module>
    tree_ssvm.fit(X_train, y_train)
  File "/usr/local/lib/python2.7/dist-packages/pystruct/learners/one_slack_ssvm.py", line 448, in fit
    X, Y, joint_feature_gt, constraints)
  File "/usr/local/lib/python2.7/dist-packages/pystruct/learners/one_slack_ssvm.py", line 348, in _find_new_constraint
    X, Y, self.w, relaxed=True)
  File "/usr/local/lib/python2.7/dist-packages/pystruct/models/base.py", line 95, in batch_loss_augmented_inference
    for x, y in zip(X, Y)]
  File "/usr/local/lib/python2.7/dist-packages/pystruct/models/crf.py", line 106, in loss_augmented_inference
    loss_augment_unaries(unary_potentials, np.asarray(y), self.class_weight)
  File "utils.pyx", line 21, in utils.__pyx_fused_cpdef (src/utils.c:4341)
TypeError: No matching signature found

リンクから直接コードを実行すると、(データセットで) 動作します。何が問題なのか知っている人はいますか?

4

2 に答える 2

-1

Catboost を使用しているときに、「typeerror: 一致するシグネチャが見つかりません」というエラーが発生しました。前の投稿で正しく言及されているように、数値ではないベクトルが原因です。そのベクターをラベルエンコードすることで解決しました。非数値の y 列で:

from sklearn import preprocessing

le = preprocessing.LabelEncoder()

df['column_name']=le.fit_transform(df['column_name'])
于 2020-07-14T05:55:04.160 に答える