2つの問題があります。Rでsample.splitを使用してデータが正しく分割されず、ロジスティック回帰で発行される
私は以下のように
sample.split
を使用して、テストや電車のセットに私のデータを分割しようとすると、サンプリングはかなり不鮮明に行われます。私が意味するのは、データdの長さが392であるため、4:1除算では0.8 * 392 = 313.6つまり313または314行がテストセットに表示されますが、示されている長さは304です。行方不明ですか?require(caTools) set.seed(101) samplev = sample.split(d[,], SplitRatio= 0.80) train = subset(d, samplev == TRUE) test = subset(d, samplev == FALSE)
アイデアは、「名前」列を使用しないことですfollows-
#Training m <- glm(mpg01~ . -name, data= train, family = binomial(link = 'logit')) out2 <- predict.glm(m, test, type = "response") class2 <- vector() for (i in 1:length(out2)) { if(out2[i] >= 0.5) { class2[i] <- 1 } else { class2[i] <- 0 } } r2 <- table(class2, test$mpg01) #confusion Matrix
ように私は、Rにおけるロジスティック回帰タスクのために、次のように分割されたデータを使用しようとしていますトレーニングのためのデータにモデルでpredict.glm(メートル、テスト、タイプ= "応答")
エラー - 私は、テストデータ上に構築されたモデルを実行しようとすると、それは< OUT2 following-
を示しています。 frame.default(利用規約、NEWDATA、na.action = na.action、xlev =オブジェクト$ xlevels):
因子名は/新しいレベルAMC大使のSST、AMCコンコードDL 6、AMCのペーサー、AMCペーサーdを有しますl、amc rebel sst、audi 100 ls、audi 5000、buick century 350、buick世紀限定、キャデラックセビリア、capri ii、シボレーベルエア、chシボレーモンテカルロ、シボレーベガ2300、クライスラーレバロンタウン@国(sw)、クライスラーニューヨーカーブロアム、datsun 510ハッチバック、datsun b210 gx、datsun f-10ハッチバック、dodge aries wagon(sw)、シボレーキャバリアワゴン、シボレーキャバリアワゴン、ダッジコスチューム、ダッジカスタム、ダッジマジックxe、ダッジラッシュ、フィート124 tc、フォードマストゥン、フォードマンスン2、フォードレンジャー、ホンダシビック1500 gl、マックスダrx3、マツダ626、 mazda glc 4、mazda glc custom、メルセデスベンツ240d、メルセデスベンツ280s、mercury capri 2000、mercury marquis、oldsmobile cutlass ciera(ディーゼル)、プジョー505sターボディーゼル、plymouth 'cuda 340、plymouth fury gran sedan、plymouth grand fury 、プリマス地平線、プリマス地平線の守銭奴、プリマス地平線TC3、プリマス衛星、plymo
「名前」属性を使用していないので、このエラーは表示されないはずです。それとも、私が何となくそれを意図していないときに使っているとすれば、私は間違っているのですか?あなたはどちらかdata.frame
またはmatrix
を渡しているよう
これは本当に役に立ちました。私は 'sample.split()'ドキュメントを見ましたが、渡す必要のある 'vector'を見逃しているに違いありません。 私は最初の回避策を使用して作業を完了させましたが、追加のクエリとして、どのメソッドでも 'dependent_attr〜attrのリスト 'に対して無効なメソッドを使用しています。これは特別なケースです1?私は多くの場所で使ったものを見て、同じことを試みたことを覚えています。 – Akshayanti