IndexError: Index dimension must be 1 or 2

2024年6月17日

このエラーは、特徴量のインデックスが適切ではないことを示しています。X_test_with_nb_pred_proba は、スパース行列形式であるため、インデックスを指定する際には行と列の両方を指定する必要があります。このエラーを解決するために、特徴量の追加方法を変更する必要があります。

以下は修正したコードです。

python
import numpy as np

# 分類器のクラス数を取得
num_classes = len(best_model.classes_)

# 分類器のクラスごとの予測確率を特徴量として追加
for i in range(num_classes):
    # 各クラスの確率を取得
    class_probabilities = y_desc_pred[:, i]
    
    # 各データポイントでの予測クラスを取得
    predicted_class = np.argmax(class_probabilities)
    
    # 予測確率を特徴量として追加
    column_name = f'nb_pred_proba_{best_model.classes_[i]}'
    X_test_with_nb_pred_proba[column_name] = class_probabilities

この修正により、特徴量の追加が正常に行われるはずです。

未分類

Posted by ぼっち