1. ホーム
  2. r

[解決済み] C5.0モデルは要因の結果を必要とする

2022-02-17 01:49:32

質問事項

学習ツリーを構築するために、credit.csvを使用しています。

https://github.com/stedy/Machine-Learning-with-R-datasets/blob/master/credit.csv

を行い、以下のような手順を踏みました。

credit<-read.csv("credit.csv")
set.seed(12345)
credit_rand<-credit[order(runif(1000)),]
credit_train<-credit_rand[1:900,]
credit_test<-credit_rand[901:1000,]
library(C50)
credit_model<-C5.0(credit_train[-21],credit_train$default)

私が従っているガイドでは、defaultの値である最後のカラムを取り除けばよいようですが、次のようなエラーが発生しました。

Error en C5.0.default(credit_train[, -21], credit_train$default) : 
  C5.0 models require a factor outcome

最後の行を変更してみました。

credit_model<-C5.0(credit_train[,-21],credit_train$default)

が、全く成功しない。

何かお手伝いできることはありますか?

解決方法は?

あなたの問題は、次のとおりです。 C5.0 models require a factor outcome . あなたは、結果を credit_train$default これは1/2の結果ですが、Rはこれを係数ではなく、数値として読み取ります。

str(credit_train$default)
int [1:900] 2 1 1 1 2 1 2 2 1 1 ...

そうすると、解決策は因数分解に変換することです。

credit_train$default<-as.factor(credit_train$default)
str(credit_train$default)

Factor w/ 2 levels "1","2": 2 1 1 1 2 1 2 2 1 1 ...

そして、トレーニングを実行します。

 credit_model<-C5.0(credit_train[-21],credit_train$default)