Python 虹膜数据集-机器学习分类模型

Python 虹膜数据集-机器学习分类模型,python,machine-learning,knn,Python,Machine Learning,Knn,我有数据帧格式的训练数据集。以下仅为理解目的 培训数据集:- column Names = [SepalL,SepalW,PetalL,PetalW,Species] Training Data Set 1 = [5.1,3.5,1.4,0.2,Iris-setosa] Training Data Set 2 = [4.9,3.0,1.4,0.2,Iris-setosa] Training Data Set 3 = [4.7,3.2,1.3,0.2,Iris-veriscolor] T

我有数据帧格式的训练数据集。以下仅为理解目的

培训数据集:-

 column Names = [SepalL,SepalW,PetalL,PetalW,Species]
 Training Data Set 1 = [5.1,3.5,1.4,0.2,Iris-setosa]
 Training Data Set 2 = [4.9,3.0,1.4,0.2,Iris-setosa]
 Training Data Set 3 = [4.7,3.2,1.3,0.2,Iris-veriscolor]
 Training Data Set 4 = [4.6,3.1,1.5,0.2,Iris-versicolor]
 Training Data Set 5 = [5.0,3.6,1.4,0.2,Iris-verginica]
当测试数据与训练数据相比,列值较少的情况下,是否可以根据测试数据考虑训练数据的列值?

Test Data Set1 Cols = [PetalL,PetalW]
Test Data Set1 = [1.1,0.1]

Test Data Set2 Cols = [SepalL,SepalW,PetalL]
Test Data Set2 = [5.1,3.9,1.4]

我相信这会降低你模型的准确性。最好的方法是训练几个模型,每个模型都有1到2列缺失。或者,您可以尝试使用其中一种方法来插补某些缺失值,但请注意,这不会使您的模型获得与训练数据格式相同的精度。

kNN模型默认情况下不会处理缺失值

如果您使用的是sklearn模型,那么当使用较少的功能时,您应该会看到失败,这表明功能数量不匹配。这是因为模型的k形心是基于所有特征生成的。对于您拥有的少数特征,可能所有质心都是相同的


如果您的训练集中也有缺失值,您可能希望选择另一种通过构造处理缺失值的算法。

您可以尝试插补缺失值。您能否建议能够有效处理相同问题的缺失值的模型?