私はRの学習者です。私はインターネットからの「ヒューマンアクティビティ認識」データセットに取り組んでいます。これには563の変数があり、最後の変数は予測されるべきクラス変数 'Activity'です。Rのデータセットで(PCAの結果として)PCを使用する方法は?
私はR.
のキャレットパッケージからここKNNアルゴリズムを使用しようとしています、私は最後の2を除く561の数値型変数を別のデータセットを作成している - 主題と活動。
私はPCAを実行し、上位20台のPCを使用することに決めました。
pca1 <- prcomp(human2, scale = TRUE)
は、私が「NEWDAT」今
newdat <- pca1$x[ ,1:20]
私は以下のコードを実行するためにtryig午前と呼ばれる別のデータセットでは、これらのパソコンのデータを保存した:しかし、このNEWDATにはないので、それは私にエラーを与えます私は生データからの最後の列の活動」を抽出し、(上記)KNNフィットにそれを使用するには「NEWDAT」がCBINDを()を使用して、それを追加しようとした
trctrl <- trainControl(method = "repeatedcv", number = 10, repeats = 3)
set.seed(3333)
knn_fit <- train(Activity ~., data = newdat, method = "knn",
trControl=trctrl,
preProcess = c("center", "scale"),
tuneLength = 10)
変数私のクラスを持っているが、その得ていません添付。
どのようにPCを使用するのですか?以下は
コードです:
human1 <- read.csv("C:/NIIT/Term 2/Prog for Analytics II/human-activity-recognition-with-smartphones (1)/train1.csv", header = TRUE)
humant <- read.csv("C:/NIIT/Term 2/Prog for Analytics II/human-activity-recognition-with-smartphones (1)/test1.csv", header = TRUE)
#taking the predictor columns
human2 <- human1[ ,1:561]
pca1 <- prcomp(human2, scale = TRUE)
newdat <- pca1$x[ ,1:15]
newdat <- cbind(newdat, Activity = as.character(human1$Activity))
pca1 <- preProcess(human1[,1:561],
method=c("BoxCox", "center",
"scale", "pca"))
PC = predict(pca1, human1[,1:561])
trctrl <- trainControl(method = "repeatedcv", number = 10, repeats = 3)
set.seed(3333)
knn_fit <- train(Activity ~., data = newdat, method = "knn",
trControl=trctrl,
preProcess = c("center", "scale"),
tuneLength = 10)
#applying knn_fit to test data
test_pred <- predict(knn_fit, newdata = testing)
test_pred
#checking the prediction
confusionMatrix(test_pred, testing$V1)
私は以下の部分でエラーに実行しています。私はエラーが添付されました:
> knn_fit <- train(Activity ~., data = newdat, method = "knn",
+ trControl=trctrl,
+ preProcess = c("center", "scale"),
+ tuneLength = 10)
Error: cannot allocate vector of size 1.3 Gb
こんにちは!私は間違った[編集]リンクをクリックしたと思います。質問を編集するのではなく、質問に対する回答を編集しようとしました。編集レビューをご覧くださいhttps://stackoverflow.com/review/suggested-edits/18005793 –