多クラスロジスティック回帰の可視化
この演習では、多クラスロジスティック回帰の2つの方式を、one-vs-rest方式が破綻するように設計された2次元のおもちゃデータセットで引き続き比較します。
データセットは X_train と y_train に読み込まれています。2つのロジスティック回帰オブジェクト lr_mn と lr_ovr は(C=100 で)すでにインスタンス化され、学習され、プロットされています。
lr_ovr が濃い青のクラスをまったく予測しないことに気づきましたか。これは困りましたね。この原因を探るために、その背後で使われているバイナリ分類器の1つをプロットしてみましょう。
この演習はコースの一部です
Python で学ぶ線形分類器
演習の手順
- バイナリ分類に使う新しいロジスティック回帰オブジェクト(同様に
C=100)を作成します。 - このバイナリ分類器を
plot_classifierで可視化してみましょう。妥当な見た目になっていますか?
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Print training accuracies
print("Softmax training accuracy:", lr_mn.score(X_train, y_train))
print("One-vs-rest training accuracy:", lr_ovr.score(X_train, y_train))
# Create the binary classifier (class 1 vs. rest)
lr_class_1 = ____
lr_class_1.fit(X_train, y_train==1)
# Plot the binary classifier (class 1 vs. rest)
plot_classifier(X_train, y_train==1, ____)