2017-03-06 4 views
0

データの99行からなるダミーデータが1つあります.1つの列はフリーテキストデータ であり、1つの列はカテゴリーです。それは、顧客サービスまたは非顧客サービスのいずれかに分類されています。KNNを使用してRを生産

私はRのスクリプトに99行のデータを渡し、コーパスを作成し、データを整理して解析し、DocumentTermMatrixに変換しました。 DTMをデータフレームに変換して見やすくしました。カテゴリを新しいデータフレームにバインドしました。私はそれから50/50を50の行をトレーニングセットに、49をテストセットに分けました。私もカテゴリを抜いた。

train <- sample(nrow(mat.df), ceiling(nrow(mat.df) * .5)) 
test <- (1:nrow(mat.df))[- train] 
cl <- mat.df[, "category"] 

私はそれから取り除かカテゴリ欄でモデルを作成し、私は、その後、精度をうまくクロステーブルを生成したりする予測をエクスポートすることができ、私のKNN

knn.pred <- knn(modeldata[train, ], modeldata[test, ], cl[train]) 
conf.mat <- table("Predictions" = knn.pred, Actual = cl[test]) 
conf.mat 

にこの新しいモデルを可決モデルの精度をテストします。

私は現時点で頭を下げて苦労していますが、新しいデータのためにモデルをどのように使うのでしょうか。

したがって、手動で分類されていないフリーテキストデータが10行ある場合、私はどのようにしてknnモデルを実行しますか?この追加データを分類するために作成したばかりですか?

多分私は次のプロセスを誤解しているかもしれません。

おかげで、あなただけのホールドアウト試験性能見つけ

答えて

0

同じ方法:KNNモデルで

knn.pred.newdata <- knn(modeldata[train, ], completely_new_data, cl[train]) 

は、あなたのトレーニングデータは、本質的に、あなたのモデルの一部です。一番近いトレーニングポイントを見つけるだけなので、座標がない場合はどのようなポイントなのか、どのように知っていますか?

なぜ、もっとモダンなもの(SVM、ランダムフォレスト、ブーストツリー、ニューラルネットワーク)の代わりにKNNモデルを使用したいのですか? KNNモデルは、データポイントの数によって非常に貧弱にスケールされます。

+0

応答してくれてありがとう、私はそれを試みたと私は間違っていると思ったので、私にエラーを与えていたと確信しています。私はそれを別のものにします。 KNNの使用に関して。唯一の本当の理由は、Googleで調査するときに最も適切だと思われることです。私はテキスト分析を全く新しくしています。 – Richard

関連する問題