R - 为KNN从分类转换为数字

Min*_*oru 0 r knn categorical-data r-caret

我正在尝试使用R的Caret包来使用应用于UCI机器学习中的"鲍鱼"数据库的KNN(链接到数据).但是当有分类值时,它不允许使用KNN.如何将分类值(在此数据库中"M","F","I")转换为数值,例如1,2,3

top*_*epo 16

第一个答案似乎是一个非常糟糕的主意.编码{"M","F","I"},以{1, 2, 3}暗示Infant = 3 * Male,Male = Female/2等等.

KNNcaret如果使用公式方法,则via 允许将分类值作为预测变量.否则,您需要将它们编码为二进制虚拟变量.

此外,显示您的代码并具有可重复的示例将有很大帮助.

马克斯