国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python k-means聚類算法 物流分配預測實戰(zhàn)(超詳細,附源碼)

這篇具有很好參考價值的文章主要介紹了python k-means聚類算法 物流分配預測實戰(zhàn)(超詳細,附源碼)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

數(shù)據(jù)集和地圖可以點贊關(guān)注收藏后評論區(qū)留下QQ郵箱或者私信博主要

聚類是一類機器學習基礎(chǔ)算法的總稱。

聚類的核心計算過程是將數(shù)據(jù)對象集合按相似程度劃分成多個類,劃分得到的每個類稱為聚類的簇

聚類不等于分類,其主要區(qū)別在于聚類所面對的目標類別是未知的

k-means聚類也稱為K均值聚類算法,是典型的聚類算法,對于給定的數(shù)據(jù)集和需要劃分的類數(shù)K,算法根據(jù)距離函數(shù)進行迭代處理,動態(tài) 的把數(shù)據(jù)劃分成K個簇,直到收斂為止,簇中心也稱為聚類中心

先來個小例子

這個是通過聚類算法對鳶尾花數(shù)據(jù)集的預測結(jié)果

python k-means聚類算法 物流分配預測實戰(zhàn)(超詳細,附源碼)

?代碼如下

from sklearn.cluster import  KMeans
from sklearn import  datasets
import  numpy as np
iris=datasets.load_iris()
x=iris.data
y=iris.target
clf=KMeans(n_clusters=3)
model=clf.fit(x)
predicted=model.predict(x)
print("預測值",predicted)
print("真實值",y)
print()

?同樣地k-means聚類算法廣泛地應用于人群分類,圖像分割,物種聚類等等問題中

下面以一個物流配送問題為例進行詳細講解

問題描述:雙十一期間,物流公司要給某城市的50個客戶配送貨物,假設(shè)公司只有5輛貨車,客戶的地理坐標在txt文件中,如何配送效率最高

問題分析:使用k-means算法,將地址數(shù)據(jù)分為5類,由于每一類客戶地址相近,可以分配給同一臺貨車

原地圖如下

python k-means聚類算法 物流分配預測實戰(zhàn)(超詳細,附源碼)

經(jīng)過聚類分析后結(jié)果如下

python k-means聚類算法 物流分配預測實戰(zhàn)(超詳細,附源碼)

?很明顯根據(jù)客戶的地址分為5個簇,每個簇由一臺貨車集中配送

源代碼如下

#coding=utf-8
from numpy import *
from matplotlib import pyplot as plt
import 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  classcenter
def 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<mindist:
                    mindist=distji;minindex=j
            if clusterpoints[i,0]!=minindex:
                clusterchanged=True
            clusterpoints[i,:]=minindex,mindist**2
        for cent in range(k):
            ptsinclust=dataset[nonzero(clusterpoints[:,0]==cent)[0]]
            classCenter[cent,:]=mean(ptsinclust,axis=0)
    return classCenter,clusterpoints
def show(dataset,k,classCenter,clusterPoints):
    print('4.load the map')
    fig=plt.figure()
    rect=[0.1,0.1,1.0,1.0]
    axprops=dict(xticks=[],yticks=[])
    ax0=fig.add_axes(rect,label='ax1',frameon=False)
    imgp=plt.imread(r'C:\Users\Admin\Desktop\city.png')
    ax0.imshow(imgp)
    ax1=fig.add_axes(rect,label='ax1',frameon=False)
    print('5.show the clusters')
    numsamples=len(dataset)
    mark=['ok','^b','om','og','sc']
    for i in range(numsamples):
        markindex=int(clusterPoints[i,0])%k
        ax1.plot(dataset[i,0],dataset[i,1],mark[markindex])
    for i in range(k):
        markindex=int(clusterPoints[i,0])%k
        ax1.plot(classCenter[i,0],classCenter[i,1],'^r',markersize=12)
    plt.show()
print('1. load the dataset')
dataset=loadtxt(r'C:\Users\Admin\Desktop\testSet.txt')
k=5
classCenter,clssspoints=mykmeans(dataset,k)
show(dataset,k,classCenter,clssspoints)


數(shù)據(jù)集和地圖可以點贊關(guān)注收藏后評論區(qū)留下QQ郵箱或者私信博主要文章來源地址http://www.zghlxwxcb.cn/news/detail-433113.html

到了這里,關(guān)于python k-means聚類算法 物流分配預測實戰(zhàn)(超詳細,附源碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • k-means聚類算法 心得分享(含python實現(xiàn)代碼)

    k-means聚類算法 心得分享(含python實現(xiàn)代碼)

    目錄 1.K-means聚類算法 1.1 引言: 1.2 K-Means 算法的基本思想 1.3 K-Means 算法的優(yōu)缺點: 1.4 K-Means 算法的應用: 2.K-means聚類算法的實現(xiàn)具體步驟 2.1初始化聚類中心 2.2計算每個數(shù)據(jù)點到聚類中心的距離 2.3確定每個數(shù)據(jù)點所屬聚類簇 2.4更新聚類中心 2.5循環(huán)執(zhí)行步驟2-4,直到達到最

    2024年02月02日
    瀏覽(25)
  • 機器學習實戰(zhàn):Python基于K均值K-means進行聚類(九)

    機器學習實戰(zhàn):Python基于K均值K-means進行聚類(九)

    1.1 K-means的介紹 K均值( K-means )是一種基于距離度量的聚類算法,其主要思想是將數(shù)據(jù)集劃分為k個不同的簇,每個簇代表一個相似度較高的數(shù)據(jù)組。該算法通過迭代優(yōu)化來最小化所有數(shù)據(jù)點與其所屬簇的歐氏距離之和,從而找到最佳的簇劃分。 需要區(qū)分一下,K-means和KNN是兩

    2024年02月16日
    瀏覽(19)
  • 【機器學習實戰(zhàn)】Python基于K均值K-means進行聚類(九)

    【機器學習實戰(zhàn)】Python基于K均值K-means進行聚類(九)

    1.1 K-means的介紹 K均值( K-means )是一種基于距離度量的聚類算法,其主要思想是將數(shù)據(jù)集劃分為k個不同的簇,每個簇代表一個相似度較高的數(shù)據(jù)組。該算法通過迭代優(yōu)化來最小化所有數(shù)據(jù)點與其所屬簇的歐氏距離之和,從而找到最佳的簇劃分。 需要區(qū)分一下,K-means和KNN是兩

    2024年02月06日
    瀏覽(30)
  • K-Means聚類算法及其python實現(xiàn)(已附上代碼至本博客)

    K-Means聚類算法及其python實現(xiàn)(已附上代碼至本博客)

    覺得有用的,一腚要先點贊后收藏!!!氣死人了,40多個收藏0點贊!! 對于 n代表了x有n維,x上標j表示第j維的特征,下標i表示該向量是第i個樣本 簇中心坐標為:(當然,這也是重新計算簇中心坐標的方法?。。?向量 u i = ( u i ( 1 ) , u i ( 2 ) , ? ? ? , u i ( j ) , ? ? ? , u i ( n )

    2024年02月08日
    瀏覽(27)
  • (python實現(xiàn))一篇文章教會你k-means聚類算法(包括最優(yōu)聚類數(shù)目k的確定)

    (python實現(xiàn))一篇文章教會你k-means聚類算法(包括最優(yōu)聚類數(shù)目k的確定)

    Kmeans算法中,K值所決定的是在該聚類算法中,所要分配聚類的簇的多少。Kmeans算法對初始值是?較敏感的,對于同樣的k值,選取的點不同,會影響算法的聚類效果和迭代的次數(shù)。本文通過計算原始數(shù)據(jù)中的:手肘法、輪廓系數(shù)、CH值和DB值,四種指標來衡量K-means的最佳聚類數(shù)

    2024年02月05日
    瀏覽(40)
  • k-means聚類算法詳解

    k-means聚類算法詳解

    什么是特征向量? 用來描述樣本點的一組數(shù)據(jù),要和我們數(shù)學中的向量區(qū)別一下,本質(zhì)來說就是個數(shù)組,數(shù)組中的每個元素代表從不同角度描述樣本點的值。 K-means 是我們最常用的基于 歐式距離 的聚類算法,其認為兩個目標的距離越近,相似度越大。 聚類就是對大量末知標

    2024年02月16日
    瀏覽(20)
  • 無涯教程-聚類算法 - K-Means

    K-均值聚類算法計算質(zhì)心并進行迭代,直到找到最佳質(zhì)心為止,它假定群集的數(shù)目是已知的,它也稱為扁平聚類算法。通過算法從數(shù)據(jù)中識別出的簇數(shù)以K均值中的\\\" K\\\"表示。 在該算法中,將數(shù)據(jù)點分配給群集,以使數(shù)據(jù)點和質(zhì)心之間的平方距離之和最小。應當理解,簇內(nèi)的較

    2024年02月10日
    瀏覽(25)
  • 畢業(yè)設(shè)計:基于python微博輿情分析系統(tǒng)+可視化+Django框架 K-means聚類算法(源碼)?

    畢業(yè)設(shè)計:基于python微博輿情分析系統(tǒng)+可視化+Django框架 K-means聚類算法(源碼)?

    畢業(yè)設(shè)計:2023-2024年計算機專業(yè)畢業(yè)設(shè)計選題匯總(建議收藏) 畢業(yè)設(shè)計:2023-2024年最新最全計算機專業(yè)畢設(shè)選題推薦匯總 ?? 感興趣的可以先收藏起來,點贊、關(guān)注不迷路,大家在畢設(shè)選題,項目以及論文編寫等相關(guān)問題都可以給我留言咨詢,希望幫助同學們順利畢業(yè)?。

    2024年01月19日
    瀏覽(33)
  • 【g】聚類算法之K-means算法

    聚類算法是一種無監(jiān)督學習方法,它將相似的數(shù)據(jù)樣本劃分為一組,同時將不相似的數(shù)據(jù)樣本劃分為另一組。這個過程由計算機自動完成,不需要任何人為的干預。 K-means算法是一種經(jīng)典的聚類算法,它的主要思想是把數(shù)據(jù)集分成k個簇,每個簇包括距離其它各簇最近的若干個

    2024年02月08日
    瀏覽(20)
  • K-means++聚類算法(matlab實現(xiàn))

    K-means++聚類算法(matlab實現(xiàn))

    K-means++算法:K-means++算法是K-means算法的改進版,其在選擇初始質(zhì)心時采用了一種更加聰明的方法,能夠有效地避免局部最優(yōu)解。具體來說,K-means++算法的初始質(zhì)心是根據(jù)距離數(shù)據(jù)點最遠的原則來選擇的,這樣可以保證初始質(zhì)心的分布更加廣泛,從而使得算法更容易找到全局最

    2024年02月07日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包