KNN 分类的字符串数据训练:Python

String Data Training for KNN Classification : Python

我一直在尝试学习训练我的数据,即实现具有字符串数据的机器学习。我所能理解的是,您可以将字符串数据类型转换为分类数据类型,但我无法使用 LabelEncoder 来完成。我听说我们不应该映射数据并更改它的数值数据,因为它的预测是错误的。

这里是一个数据示例:

LP001002,Male,No,0,Graduate,No,5849,0,,360,1,Urban,Y
LP001003,Male,Yes,1,Graduate,No,4583,1508,128,360,1,Rural,N
LP001005,Male,Yes,0,Graduate,Yes,3000,0,66,360,1,Urban,Y
LP001006,Male,Yes,0,Not Graduate,No,2583,2358,120,360,1,Urban,Y
LP001008,Male,No,0,Graduate,No,6000,0,141,360,1,Urban,Y
LP001011,Male,Yes,2,Graduate,Yes,5417,4196,267,360,1,Urban,Y

如您所见,性别 (2),已婚 (3),受抚养人 (4),教育程度 (5),self_employed(6),Property_area(11),loan_status(!2) 是字符串。

部分列缺少数据,因此无法使用 OneHot 编码器。 错误:无序类型 str() > int()

我想将其转换为分类类型,并将其用作 knn.i 的训练模型,我正在使用 python 3.6。

你要做的是执行one-hot编码,有一个函数可以做到:

http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html