-- Views
March 03, 26
スライド概要
1. predict_modelによる予測
predict_model関数は、学習済みモデルを未知のデータに適用し、クラスターラベルを付与するために使用します。本来は新規データ用ですが、ここでは既存データを用いて動作を確認しています。
2. assign_modelとの比較
predict_modelの結果(kmeans_pred)と、以前にassign_modelでラベル付与した結果(kmeans_cluster)が同一か、equalsメソッドで検証しました。結果はFalseとなり、完全一致はしませんでした。
3. 不一致の原因特定
compareメソッドで詳細を確認すると、特定の数値列(Savingsなど)に微小な差が見られました。これは、assign_modelがPyCaretの内部で前処理(Setup)が適用された後のデータを保持しているのに対し、predict_modelは元の生データにモデルを適用したためです。
ただし、最終的な「クラスターラベル」自体には差がなく、モデルの予測結果としての妥当性は保たれていることが確認できました。
すべてのビジネスパーソンが意思決定プロセスにデータを活用する思考を身につけるため、まずは、データサイエンスの分析を体験していきましょう。SECIモデルの最初の段階、共同化(Socialization)からはじめていきます。 下記のブログで、ここにアップしたスライド、動画を随時、公開中です。 【ブログ】https://tutorial4datascience.blogspot.com/ 【Youtubeチャンネル】https://www.youtube.com/@DataScience_for_everyone 【Kindle】そして、このブログをまとめて書籍にしました! https://amzn.to/4ryVppn https://amzn.to/4pGgFb1
4th STEP 機械学習 Section 25 クラスタリング(6) 予 測 Setup Create Model Assign Model Analyze Model データサイエンス チュートリアル Prediction Save Model 1
4th STEP 機械学習 Section 25 クラスタリング(6)予測 predict_model関数 『Prediction』の最初のコードは、predict_model関数を使った予 測になります。 predict_model(モデル名, data=データ名) predict_model関数は、本来は未知のデータを予測するためのもの ですが、ここでは未知のデータの用意が無いので、モデル作成時に使っ たデータを引数で指定しています。 本来は、新たなデータに作成したモデルを適用させたい場合に、 predict_model関数を使います。 結果は、assign_model関数で付与されたクラスターラベルと同じも のが付与されています。 データサイエンス チュートリアル 2
4th STEP 機械学習 Section 25 クラスタリング(6)予測 【参考】 データの確認(1) 今回予想した『kmeans_pred』と、 assign_model関数でクラスターラベルを付与した『kmeans_cluster』は、同じデー タであるはずです。これを確認してみましょう。 2つのDataFrameが同じものであるかどうかを判定するには、 『応用編 Webスクレイピング/#44 Supplement 2 DataFrameの比較』で体験した「equals」を使います。 https://tutorial4datascience.blogspot.com/2025/03/supplement-dataframe.html 96 データ1.equals(データ2) を使って確かめてみましょう。 結果は、『False』でした。どこかが、不一致のようです・・・。 データサイエンス チュートリアル 3
4th STEP 機械学習 Section 25 クラスタリング(6)予測 【参考】 データの確認(2) 値の違うindexと列を特定するには、「compare」を使います。 https://tutorial4datascience.blogspot.com/2025/03/supplement-dataframe.html 97 データ1.compare(データ2) を使って確かめてみましょう。 列『SpendingScore』と列『Savings』の数値が表示され ています。 『self』はデータ1にあたる『kmeans_pred』、『other』は データ2にあたる『kmeans_cluster』の値です。 よく見ると、列『Savings』の数値が微妙に違っています。 『kmeans_cluster』は、setup関数でデータの前処理を行って からクラスターラベルを付与したデータにモデルを適用したものです が、『kmeans_pred』は呼び出した直後のデータにモデルを適用 したものだからです。 しかし、クラスタラベルには差はありませんでした。 デ ー タ サ イ エ ン ス チ ュ ー ト リ ア ル 4