K近邻算法——sklearn:划分数据集
目前我们训练数据的过程:将所有的数据都作为训练数据,训练出一个模型,每当得到一个新的数据,则计算新数据到训练数据的距离,预测得到新数据的类别。
比如:银行发放信用卡,银行要想得到客户的信用等级,需要跟踪用户两三年时间来收集用户信息,才能得到,如果我们将两三年的数据全部作为训练集,当新客户来临时,我们又需要等待两三年,才能知道新用户的真实label,所以在短期内很难根据真实label判断模型好坏,进而无法改进模型。
将所有数据集全部用于训练,这种做法是不可取的。
那我们该怎么做呢?
将数据中的70%-80%作为训练数据,将剩余的作为测试数据,训练数据用于训练模型,测试数据用于判断模型好坏。
将数据集进行切分,可以用 sklearn 中的 train_test_split()方法。
import numpy as np
from collections import Counter
from sklearn.neighbors import KNeighborsClassifier
class ProKNNClassif
共有 0 条评论