1. ホーム
  2. r

[解決済み】RでKNN。trainとclassは長さが違う」?

2022-02-05 02:33:23

質問

以下は私のコードです。

train_points <- read.table("kaggle_train_points.txt", sep="\t")
train_labels <- read.table("kaggle_train_labels.txt", sep="\t")
test_points <- read.table("kaggle_test_points.txt", sep="\t")

#uses package 'class'
library(class)
knn(train_points, test_points, train_labels, k = 5);

dim(train_points) は42000×784
dim(train_labels) は42000×1

問題はないのですが、エラーが出てしまいます :

Knn(train_points, test_points, train_labels, k = 5)でエラーが発生しました。
'train' と 'class' は異なる長さを持っています。

何が問題なのか?

解決方法は?

データにアクセスできないので、お役に立つのは難しいです。しかし、私は次のように考えています。 train_labels はベクトルであるべきです。そこで

cl = train_labels[,1]
knn(train_points, test_points, cl, k = 5)

また、ダブルチェックする。

dim(train_points)
dim(test_points)
length(cl)