crf.fit(X_train, y_train) は実行されず、前述のエラーが表示されます。さらに、labels2 = list(crf.classes_) を実行すると、NoneType object is not iterable が表示されます。これまで crfsuite を使用したことがなく、オンラインで満足のいく情報を見つけることができませんでした。
注意すべき点がいくつかあります。csv ファイルには NO None タイプがあり、数字のみ (ラベルを含む) で構成される単純なデータセットであり、最後の列はラベルです。マルチラベルのシーケンシャルな問題であるため、CRF を使用します。
data = np.genfromtxt("training.csv", delimiter = ',', skip_header = 1)
data = data.astype(int, order='K', casting='unsafe', subok=True,
copy=True)
labels = data[:,6]
features = data[:,0:6]
X_train,X_test,y_train,y_test =
train_test_split(features,labels,test_size=0.3,random_state=1)
features = np.asmatrix(features)
X_train = [features[i] for i in X_train]
y_train = [labels[i] for i in y_train]
X_test = [X_test[i] for i in X_test]
y_test = [y_test[i] for i in y_test]
crf = sklearn_crfsuite.CRF(algorithm='lbfgs',c1=0.1,c2=0.1,max_iterations=100,all_possible_transitions=True)
crf.fit(X_train, y_train)
labels2 = list(crf.classes_)
y_pred = crf.predict(X_test)
metrics.flat_f1_score(y_test, y_pred,average='weighted', labels=labels2)
最終的なコードで F1 スコアが得られることを期待していますが、過去のトレーニングを取得できません :/