マルチクラス分類のためにRで(パッケージRWeka経由で)PARTアルゴリズムを使用しています。ターゲット属性は、請求書が顧客によって支払われるタイム バケットです (7 ~ 15 日、15 ~ 30 日など)。モデルからのフィッティングと予測に次のコードを使用しています:
fit <- PART(DELAY_CLASS ~ AMT_TO_PAY + NUMBER_OF_CREDIT_DAYS + AVG_BASE_PRICE, data= trainingData)
predictedTrainingValues <- predict(fit, trainingData)
このモデルを使用することで、トレーニング データで約 82% の精度を得ています。しかし、テストデータの精度は約 59% です。モデルを過剰に適合させていることを理解しています。予測変数の数を減らそうとしましたが (上記のコードの予測変数は減らされた変数です)、あまり役に立ちません。変数の数を減らすと、テスト データの精度が約 61% に向上し、トレーニング データの精度が約 10% に低下します。 79%。
PART アルゴリズムは部分決定木に基づいているため、別のオプションとして木を剪定することができます。しかし、PARTアルゴリズムのためにツリーを剪定する方法を知りません。インターネット検索で、ルールベースのアルゴリズムのプルーニングに FOIL 基準を使用できることがわかりました。しかし、R または RWeka で FOIL 基準の実装を見つけることができません。
私の質問は、PARTアルゴリズムのツリーを剪定する方法、またはテストデータの精度を向上させるためのその他の提案も歓迎されるということです.
前もって感謝します!!
注 : 正しく分類されたインスタンスの数をインスタンスの総数で割った値として精度を計算します。