sklearn を使った意図分類
ATISデータセット内の各文を表すベクトルを格納した配列 X と、ラベルを格納した1次元配列 y がすでに用意されています。ラベルはデータセット内の意図(インテント)に対応する整数値で、たとえばラベル 0 は意図 atis_flight に対応しています。
ここでは、scikit-learn ライブラリを使って同じデータセットに分類器を訓練します。具体的には、サポートベクター分類器の学習と評価を行いましょう。
この演習はコースの一部です
Python でチャットボットを作る
演習の手順
sklearn.svmからSVCクラスをインポートしましょう。SVCをキーワード引数C(値は1)のみを指定して呼び出し、分類器clfを初期化しましょう。- 訓練データ
X_trainとy_trainを使って分類器を学習させましょう。 - テストデータ
X_testのラベルを予測しましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import SVC
____
# Create a support vector classifier
clf = ____
# Fit the classifier using the training data
____
# Predict the labels of the test set
y_pred = ____
# Count the number of correct predictions
n_correct = 0
for i in range(len(y_test)):
if y_pred[i] == y_test[i]:
n_correct += 1
print("Predicted {0} correctly out of {1} test examples".format(n_correct, len(y_test)))