Translate

#70 Section 25 クラスタリング(6)予測





1.predict_model関数

『Prediction』の最初のコードは、predict_model関数を使った予測になります。

predict_model(モデル名, data=データ名)

predict_model関数は、本来は未知のデータを予測するためのものですが、ここでは未知のデータの用意が無いので、モデル作成時に使ったデータを引数で指定しています。

本来は、新たなデータに作成したモデルを適用させたい場合に、 predict_model関数を使います。

結果は、assign_model関数で付与されたクラスターラベルと同じものが付与されています。




【参考】 データの確認

今回予想した『kmeans_pred』と、 assign_model関数でクラスターラベルを付与した『kmeans_cluster』は、同じデータであるはずです。これを確認してみましょう。

2つのDataFrameが同じものであるかどうかを判定するには、『応用編 Webスクレイピング/#44 Supplement 2 DataFrameの比較』で体験した「equals」を使います。


96 データ1.equals(データ2)

を使って確かめてみましょう。

結果は、『False』でした。どこかが、不一致のようです・・・。





値の違うindexと列を特定するには、「compare」を使います。


97 データ1.compare(データ2)

を使って確かめてみましょう。

列『SpendingScore』と列『Savings』の数値が表示されています。

『self』はデータ1にあたる『kmeans_pred』、『other』はデータ2にあたる『kmeans_cluster』の値です。

よく見ると、列『Savings』の数値が微妙に違っています。

『kmeans_cluster』は、setup関数でデータの前処理を行ってからクラスターラベルを付与したデータにモデルを適用したものですが、『kmeans_pred』は呼び出した直後のデータにモデルを適用したものだからです。

しかし、クラスタラベルには差はありませんでした。











コメント