iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python k-means聚类算法 物流分配预测实战(超详细,附源码)
  • 430
分享到

python k-means聚类算法 物流分配预测实战(超详细,附源码)

聚类算法python 2023-09-27 14:09:15 430人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

数据集和地图可以点赞关注收藏后评论区留下QQ邮箱或者私信博主要 聚类是一类机器学习基础算法的总称。 聚类的核心计算过程是将数据对象集合按相似程度划分成多个类,划分得到的每个类称为聚类的簇 聚类不等于分类,其主要区别在于聚类所面对的目标

数据集和地图可以点赞关注收藏后评论区留下QQ邮箱或者私信博主要

聚类是一类机器学习基础算法的总称。

聚类的核心计算过程是将数据对象集合按相似程度划分成多个类,划分得到的每个类称为聚类的簇

聚类不等于分类,其主要区别在于聚类所面对的目标类别是未知的

k-means聚类也称为K均值聚类算法,是典型的聚类算法,对于给定的数据集和需要划分的类数K,算法根据距离函数进行迭代处理,动态 的把数据划分成K个簇,直到收敛为止,簇中心也称为聚类中心

先来个小例子

这个是通过聚类算法对鸢尾花数据集的预测结果

 代码如下

from sklearn.cluster import  KMeansfrom sklearn import  datasetsimport  numpy as npiris=datasets.load_iris()x=iris.datay=iris.targetclf=KMeans(n_clusters=3)model=clf.fit(x)predicted=model.predict(x)print("预测值",predicted)print("真实值",y)print()

 同样地k-means聚类算法广泛地应用于人群分类,图像分割,物种聚类等等问题中

下面以一个物流配送问题为例进行详细讲解

问题描述:双十一期间,物流公司要给某城市的50个客户配送货物,假设公司只有5辆货车,客户的地理坐标在txt文件中,如何配送效率最高

问题分析:使用k-means算法,将地址数据分为5类,由于每一类客户地址相近,可以分配给同一台货车

原地图如下

经过聚类分析后结果如下

 很明显根据客户的地址分为5个簇,每个簇由一台货车集中配送

源代码如下

#coding=utf-8from numpy import *from matplotlib import pyplot as pltimport matplotlib; matplotlib.use('TkAgg')def disteclud(veca,vecb):    return sqrt(sum(power(veca-vecb,2)))def initcenter(dataset,k):    print('2.initalize cluster center')    shape=dataset.shape    n=shape[1]    classcenter=array(zeros((k,n)))    for j in range(n):        firstk=dataset[:k,j]        classcenter[:,j]=firstk    return  classcenterdef mykmeans(dataset,k):    m=len(dataset)    clusterpoints=array(zeros((m,2)))    classCenter=initcenter(dataset,k)    clusterchanged=True    print('3.recompute and reallocated')    while clusterchanged:        clusterchanged=False        for i in range(m):            mindist=inf            minindex=-1            for j in range(k):                distji=disteclud(classCenter[j,:],dataset[i,:])                if distji

数据集和地图可以点赞关注收藏后评论区留下QQ邮箱或者私信博主要

来源地址:https://blog.csdn.net/jiebaoshayebuhui/article/details/126953494

--结束END--

本文标题: python k-means聚类算法 物流分配预测实战(超详细,附源码)

本文链接: https://www.lsjlt.com/news/419655.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作