#53 Section9 分類(6)予測
今回は、compare_models関数で求めた最も性能が良かったモデル(lr/logistic Regression)で、予測をしてみましょう。
下記のコードは、setup()で分割したテストデータ(231行×9列/Transformed test set shape)に対して予測した結果を返してくれます。
holdout_pred = predict_model(モデル名)
宣言した『holdout_pred』のholdoutは、モデルを評価するデータを作るためにデータを分割することを意味しています。別に何と宣言してもいいのですが、わかりやすいように『holdout_pred』としておきましょう。
出力は、主な評価指標となります。
『compare_models』関数を使って、モデルを評価した際の評価指標一覧と比べて、どうでしょうか?正解率(Accuracy)とF1-score (F1)はやや下がっていますが、数値が高いまま維持されています。
次に、予測結果の性能評価をした「holdout_pred」の最初の5行を見てみましょう。
holdout_pred.head()
出力を見ると、テストデータに予測ラベル(prediction_label)と予測確率(prediction_score)が付与されていますね。
予測ラベル(prediction_label)は、予測されたインスタンスのクラスを表しています。「0」が糖尿病陰性、 「1」が糖尿病陽性でしたね。
また、予測確率(prediction_score)は、インスタンスが予測されたクラスである確率を表しています。
最も性能の良かったモデル「best」(lr/logistic Regression)をget_data('diabetes')で読込んだ「data」(訓練データ+テストデータ)すべてにあてはめて性能を確認してみます。
まずは、 「data」 の列名「Class variable」を削除し、 モデルをあてはめるデータを作成します。 「data」をコピーして、列名「Class variable」を削除し、「new data」と宣言します。次に「new data」の最初の5行を確認してみます。
コメント
コメントを投稿