結果の解釈
どの特徴量が予測に最も影響しているかを知ることは、ほぼ常に重要です。直感に反しているなら、それ自体が洞察かもしれません。あるいは、少数の特徴量がモデルの精度の大半を占めており、他の特徴量の収集や加工に時間をかける必要がない場合もあります。
この例では、LISTPRICE の情報を含めずに学習したモデルを見ていきます。これがないとき、価格に最も影響するのは何でしょうか?
- 注: 特徴量重要度の配列
importancesは、すでにmodel.featureImportances.toArray()から作成済みです。
この演習はコースの一部です
PySparkで学ぶ特徴量エンジニアリング
演習の手順
importancesの値を使ってpandasのデータフレームを作成し、引数columnsを設定して列名をimportanceにしてください。- インポート済みの特徴量名のリスト
feature_colsをpd.Series()で包んで新しいpandas.Seriesを作成し、列fi_df['feature']に代入してください。 sort_values()を使ってデータフレームを並べ替え、by引数にimportance列を指定し、ascendingをFalseに設定して降順にソートします。結果を確認してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Convert feature importances to a pandas column
fi_df = pd.DataFrame(____, columns=[____])
# Convert list of feature names to pandas column
fi_df['feature'] = pd.____(____)
# Sort the data based on feature importance
fi_df.____(by=[____], ascending=____, inplace=True)
# Inspect Results
fi_df.head(10)