我正在处理一个涉及库存(即实体零售库存)的机器学习问题,但是通过清理(离群点清除)过程,一些项目(通过它们相应的事务)将被删除。因此,我想使用KNN将相似的项目分组到各自的类别中。
有1245件
每个项目的信息是
我认为KNN是一个很好的选择是正确的吗?如果是的话,我如何决定集群的数量?
发布于 2020-07-22 06:25:49
培训:您可以使用距离度量来计算沿观测变量维数的所有观测值之间的距离(Avg )。重量。价格,托特。定量的。(出售等)。对于每一个观测或行或样本i,与该观测的距离最小的点是最近的近邻。距离第二小的点是第二近邻,以此类推。
预测:您可以通过计算新数据到培训数据中每个点的距离来找到最近的邻居,如上面所示。然后指定一个预测的标签,通常是通过在测试数据点的k个最近邻之间取最常见的标签。因此,k-NN分类:
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(algorithm='auto',
metric='minkowski', # pick a distance metric
metric_params=None,
n_neighbors=5, # take the majority label from the 5-nearest neighbors
p=2, # a hyperparameter required for 'minkowski' distance metric
weights='uniform')
knn.fit(train_data, train_labels)
# Find the predicted class of the test data:
knn.predict(testset_data)
https://datascience.stackexchange.com/questions/78060
复制相似问题