我使用KNN方法构建分类预测模型,导致其他方法效果不佳,但这给出了最佳结果。
acc1=read.xlsx("C:/Users/admin/Desktop/ido.xlsx")\
acc1$f2<-NULL
acc1$f3<-NULL
table(factor(na.omit(acc1)$id),
FNN::knn.cv(train=prcomp(na.omit(acc1[, -c(1,2)]))$x[, 1], cl=factor(na.omit(acc1)$id), k=1))
但是,我必须让这个模型让程序员将它编码到我们的CRM中。因为 KNN没有预测模型的等式,我们只根据数据做出决定,我想绘制树图,清楚地看到,我们必须采取什么样的决定(1或0)。 这是怎么回事? 什么包装正确用于此目的?
数据在这里:dat
答案 0 :(得分:1)
KNN查看某个点的K-最近邻居,并根据这些邻居预测其值。
要获得某个未知点的预测值,您会找到K个最近邻居并占据多数,或者在平局的情况下随机选择。
没有&#34;树情节&#34;决策树算法以相同的方式工作,除非最近邻居将数据的向量空间划分为voronoi多面体,并且至少对于k = 1,每个voronoi多面体具有其中所有点的预测值。 &#34;树图&#34;然后是一系列关于测试数据点超平面哪一侧的结果的决定。
在1D中,voronoi多面体是线段。
示例,1-NN,1维:
Data: ---1--------0--0----1----1-----1--1--0---
Predict: 11111111000000000011111111111111111100000
查看预测值如何与上面一行中最近的数据点对应?那是1-NN的作用。你已经抛出了一个额外的主要组件步骤(这对于1D来说毫无意义)。
因此要预测某个给定值,找到它最近的邻居。使用get.knnx
。