国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

智聯(lián)招聘網(wǎng)站建設(shè)情況注冊(cè)城鄉(xiāng)規(guī)劃師好考嗎

智聯(lián)招聘網(wǎng)站建設(shè)情況,注冊(cè)城鄉(xiāng)規(guī)劃師好考嗎,怎么樣建設(shè)一個(gè)電影網(wǎng)站視頻下載,一個(gè)月寬帶怎么辦理聚類任務(wù) 聚類任務(wù)是一種無(wú)監(jiān)督學(xué)習(xí)任務(wù),其目的是將一組數(shù)據(jù)點(diǎn)劃分成若干個(gè)類別或簇,使得同一個(gè)簇內(nèi)的數(shù)據(jù)點(diǎn)之間的相似度盡可能高,而不同簇之間的相似度盡可能低。聚類算法可以幫助我們發(fā)現(xiàn)數(shù)據(jù)中的內(nèi)在結(jié)構(gòu)和模式,發(fā)現(xiàn)異常點(diǎn)和離…

?聚類任務(wù)

?聚類任務(wù)是一種無(wú)監(jiān)督學(xué)習(xí)任務(wù),其目的是將一組數(shù)據(jù)點(diǎn)劃分成若干個(gè)類別或簇,使得同一個(gè)簇內(nèi)的數(shù)據(jù)點(diǎn)之間的相似度盡可能高,而不同簇之間的相似度盡可能低。聚類算法可以幫助我們發(fā)現(xiàn)數(shù)據(jù)中的內(nèi)在結(jié)構(gòu)和模式,發(fā)現(xiàn)異常點(diǎn)和離群值,簡(jiǎn)化數(shù)據(jù)表示,以及為進(jìn)一步的分析提供基礎(chǔ)。聚類任務(wù)在現(xiàn)實(shí)世界中有很多應(yīng)用場(chǎng)景,以下是其中的一些例子:

  1. 市場(chǎng)細(xì)分:聚類可以幫助將市場(chǎng)分成不同的細(xì)分市場(chǎng),以便更好地針對(duì)消費(fèi)者需求制定營(yíng)銷策略。

  2. 圖像分析:聚類可以用于圖像分析,例如將相似的圖像分組。

  3. 模式識(shí)別:聚類可以用于發(fā)現(xiàn)數(shù)據(jù)中的模式和關(guān)系,例如在醫(yī)療領(lǐng)域中,可以使用聚類來(lái)發(fā)現(xiàn)疾病之間的關(guān)系。

  4. 推薦系統(tǒng):聚類可以用于推薦系統(tǒng)中,以將用戶分組并向他們推薦相似的產(chǎn)品或服務(wù)。

?K-Means算法

?K-Means是一種基于聚類的無(wú)監(jiān)督機(jī)器學(xué)習(xí)算法,其目的是將一組數(shù)據(jù)點(diǎn)分為k個(gè)不同的簇,使得每個(gè)數(shù)據(jù)點(diǎn)與其所屬簇的中心點(diǎn)(也稱質(zhì)心)的距離最小化。以下是K-Means的工作原理:

  1. 初始化:隨機(jī)選擇k個(gè)數(shù)據(jù)點(diǎn)作為初始質(zhì)心。

  2. 分配:對(duì)每個(gè)數(shù)據(jù)點(diǎn),計(jì)算其與每個(gè)質(zhì)心的距離,并將其分配給距離最近的質(zhì)心所代表的簇。

  3. 重新計(jì)算質(zhì)心:對(duì)于每個(gè)簇,重新計(jì)算其質(zhì)心位置,即將該簇中所有數(shù)據(jù)點(diǎn)的坐標(biāo)求平均。

  4. 重復(fù)執(zhí)行第2,3步,直到所有數(shù)據(jù)點(diǎn)的簇分配不再改變或達(dá)到預(yù)設(shè)的最大迭代次數(shù)為止。

下面是用K-Means算法完成聚類的簡(jiǎn)單Demo,下面的demo中K設(shè)置為2.

from sklearn.cluster import KMeans
import numpy as np
# create some sample data
X = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]])
# create a KMeans object with 2 clusters
kmeans = KMeans(n_clusters=2, random_state=0)
# fit the KMeans object to the data
kmeans.fit(X)
# print the centroids of the two clusters
print(kmeans.cluster_centers_)
# predict the cluster labels for the data points
labels = kmeans.predict(X)
# print the predicted cluster labels for the data points
print(labels)

執(zhí)行結(jié)果:cluster_centers_:[[1. 2.][4. 2.]], labels:[0 0 0 1 1 1]

上面的Demo中使用到KMeans函數(shù),KMeans函數(shù)是一種聚類分析算法,用于將數(shù)據(jù)集分成多個(gè)簇。其主要作用是將相似的數(shù)據(jù)點(diǎn)分到同一個(gè)簇中,同時(shí)將不同的數(shù)據(jù)點(diǎn)分到不同的簇中。KMeans算法通過(guò)迭代尋找最優(yōu)的聚類結(jié)果,可以對(duì)數(shù)據(jù)進(jìn)行分組、分類和聚類分析。該函數(shù)包含多個(gè)輸入?yún)?shù),各個(gè)參數(shù)含義如下:

  • n_clusters:聚類的數(shù)量(簇的個(gè)數(shù)),即K值。默認(rèn)值為8。如果知道數(shù)據(jù)的實(shí)際類別數(shù)目,可以將其設(shè)置為該數(shù)目;否則,可以通過(guò)手動(dòng)設(shè)置不同的聚類數(shù)量來(lái)尋找最佳解。

  • init初始化質(zhì)心的方法。默認(rèn)為"k-means++",表示使用一種改進(jìn)的貪心算法來(lái)選取初始質(zhì)心。也可以設(shè)置為隨機(jī)選擇初始質(zhì)心的"random"方法。

  • max_iter最大迭代次數(shù)。默認(rèn)值為300。當(dāng)質(zhì)心移動(dòng)的距離小于閾值或達(dá)到最大迭代次數(shù)時(shí),算法停止。

  • tol質(zhì)心移動(dòng)的閾值。默認(rèn)值為1e-4。當(dāng)質(zhì)心移動(dòng)的距離小于該閾值時(shí),算法停止。

  • n_init隨機(jī)初始化的次數(shù)。默認(rèn)值為10。由于KMeans算法易受初始質(zhì)心的影響,因此可以通過(guò)多次運(yùn)行算法并選擇最好的結(jié)果來(lái)減少隨機(jī)性的影響。

  • algorithmKMeans算法實(shí)現(xiàn)的方式。默認(rèn)為"auto",表示由算法自動(dòng)選擇最佳的實(shí)現(xiàn)方式("full"表示使用標(biāo)準(zhǔn)的KMeans算法,"elkan"表示使用改進(jìn)的Elkan算法)。對(duì)于大規(guī)模數(shù)據(jù)集,建議使用"elkan"實(shí)現(xiàn)方式。

? 上面的Demo例子是對(duì)List數(shù)據(jù)進(jìn)行聚類,接下來(lái)看看如何使用K-means方法對(duì)足球隊(duì)進(jìn)行聚類,下面的例子中讀取了csv文件中的原始數(shù)據(jù),csv文件中存放了不同球隊(duì)在三次比賽中的排名。

# coding: utf-8
from sklearn.cluster import KMeans
from sklearn import preprocessing
import pandas as pd
import numpy as np
# 輸入數(shù)據(jù)
data = pd.read_csv('./kmeans/data.csv', encoding='gbk')
train_x = data[["2019年國(guó)際排名", "2018世界杯", "2015亞洲杯"]]
kmeans = KMeans(n_clusters=3)
# 規(guī)范化到[0,1]空間
min_max_scaler = preprocessing.MinMaxScaler()
train_x = min_max_scaler.fit_transform(train_x)
# kmeans算法
kmeans.fit(train_x)
predict_y = kmeans.predict(train_x)
# 合并聚類結(jié)果,插入到原數(shù)據(jù)中
result = pd.concat((data, pd.DataFrame(predict_y)), axis=1)
result.rename({0: u'聚類'}, axis=1, inplace=True)
print(result)

采用K-means方法進(jìn)行聚類,假設(shè)K=3,聚類后的結(jié)果如下所示,可以看到把球隊(duì)分到了0,1,2三種不同類型中。

?對(duì)圖像進(jìn)行聚類

? 上面的例子是對(duì)數(shù)據(jù)進(jìn)行聚類,下面看看如何對(duì)圖像進(jìn)行聚類,下面的Demo例子中將weixin登陸的圖標(biāo)按不同像素下的顏色分成了2類。

# -*- coding: utf-8 -*-
# 使用K-means對(duì)圖像進(jìn)行聚類,顯示分割標(biāo)識(shí)的可視化
import numpy as np
import PIL.Image as image
from sklearn.cluster import KMeans
from sklearn import preprocessing# 加載圖像,并對(duì)數(shù)據(jù)進(jìn)行規(guī)范化
def load_data(filePath):# 讀文件f = open(filePath, 'rb')data = []# 得到圖像的像素值img = image.open(f)# 得到圖像尺寸width, height = img.sizefor x in range(width):for y in range(height):# 得到點(diǎn)(x,y)的三個(gè)通道值c1, c2, c3 = img.getpixel((x, y))data.append([c1, c2, c3])f.close()# 采用Min-Max規(guī)范化mm = preprocessing.MinMaxScaler()data = mm.fit_transform(data)return np.asarray(data), width, height# 加載圖像,得到規(guī)范化的結(jié)果img,以及圖像尺寸
img, width, height = load_data('./kmeans/weixin.jpg')# 用K-Means對(duì)圖像進(jìn)行2聚類
kmeans = KMeans(n_clusters=3)
kmeans.fit(img)
label = kmeans.predict(img)
# 將圖像聚類結(jié)果,轉(zhuǎn)化成圖像尺寸的矩陣
label = label.reshape([width, height])
# 創(chuàng)建個(gè)新圖像pic_mark,用來(lái)保存圖像聚類的結(jié)果,并設(shè)置不同的灰度值
pic_mark = image.new("L", (width, height))
for x in range(width):for y in range(height):# 根據(jù)類別設(shè)置圖像灰度, 類別0 灰度值為255, 類別1 灰度值為127pic_mark.putpixel((x, y), int(256 / (label[x][y] + 1)) - 1)
pic_mark.save("./kmeans/weixin_mark1.jpg", "JPEG")

下圖中第一張圖是原圖,第二張圖是分類K=2的結(jié)果。可以看到,因?yàn)橹贿M(jìn)行了2種類型區(qū)分,新生成的圖片中,純白色是原圖中深藍(lán)色的代表,黑灰色是原圖中白亮色的代表。說(shuō)明聚類正確。

?圖三是K=16的分類結(jié)果,當(dāng)分類K=16時(shí),和原圖就很接近了,K=16的分類代碼細(xì)節(jié)如下所示:

# -*- coding: utf-8 -*-
# 使用K-means對(duì)圖像進(jìn)行聚類,并顯示聚類壓縮后的圖像
import numpy as np
import PIL.Image as image
from sklearn.cluster import KMeans
from sklearn import preprocessing
import matplotlib.image as mpimg# 加載圖像,并對(duì)數(shù)據(jù)進(jìn)行規(guī)范化
def load_data(filePath):# 讀文件f = open(filePath, 'rb')data = []# 得到圖像的像素值img = image.open(f)# 得到圖像尺寸width, height = img.sizefor x in range(width):for y in range(height):# 得到點(diǎn)(x,y)的三個(gè)通道值c1, c2, c3 = img.getpixel((x, y))data.append([(c1 + 1) / 256.0, (c2 + 1) / 256.0, (c3 + 1) / 256.0])f.close()return np.asarray(data), width, height# 加載圖像,得到規(guī)范化的結(jié)果imgData,以及圖像尺寸
img, width, height = load_data('./kmeans/weixin.jpg')
# 用K-Means對(duì)圖像進(jìn)行16聚類
kmeans = KMeans(n_clusters=16)
label = kmeans.fit_predict(img)
# 將圖像聚類結(jié)果,轉(zhuǎn)化成圖像尺寸的矩陣
label = label.reshape([width, height])
# 創(chuàng)建個(gè)新圖像img,用來(lái)保存圖像聚類壓縮后的結(jié)果
img = image.new('RGB', (width, height))
for x in range(width):for y in range(height):c1 = kmeans.cluster_centers_[label[x, y], 0]c2 = kmeans.cluster_centers_[label[x, y], 1]c3 = kmeans.cluster_centers_[label[x, y], 2]img.putpixel((x, y),(int(c1 * 256) - 1, int(c2 * 256) - 1, int(c3 * 256) - 1))
img.save('./kmeans/weixin_new.jpg')

? ? 上面介紹了如何使用K-Means算法完成文本類或者圖片類聚類任務(wù),在實(shí)際項(xiàng)目中,K-Means算法應(yīng)用非常廣泛,主要應(yīng)用在如下的業(yè)務(wù)場(chǎng)景中。

  1. 市場(chǎng)營(yíng)銷:K-Means算法可以對(duì)市場(chǎng)消費(fèi)者進(jìn)行分類,以便公司更好地了解他們的需求和行為,制定更有效的營(yíng)銷策略。

  2. 圖像處理:K-Means算法可以用于對(duì)圖像像素進(jìn)行聚類,以實(shí)現(xiàn)圖像壓縮和圖像分割等功能。

  3. 自然語(yǔ)言處理:K-Means算法可以用于對(duì)文本數(shù)據(jù)進(jìn)行聚類,以實(shí)現(xiàn)語(yǔ)義分析和文本分類等功能。

  4. 生物信息學(xué):K-Means算法可以用于對(duì)生物數(shù)據(jù)進(jìn)行聚類,以實(shí)現(xiàn)基因分類和蛋白質(zhì)分類等功能。

  5. 金融領(lǐng)域:K-Means算法可以用于對(duì)金融數(shù)據(jù)進(jìn)行聚類,以實(shí)現(xiàn)風(fēng)險(xiǎn)評(píng)估和資產(chǎn)管理等功能。

上面提到K-Means算法可以對(duì)圖像像素進(jìn)行聚類,以實(shí)現(xiàn)圖像壓縮的功能,下面的例子中就采用K-Means算法對(duì)圖片像素進(jìn)行聚類,從而實(shí)現(xiàn)壓縮的效果。

import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from PIL import Image# 加載圖片
img = Image.open('./kmeans/baby.jpg')
img_data = np.array(img)# 將三維的圖片數(shù)組變成二維的像素點(diǎn)數(shù)組
pixels = img_data.reshape((img_data.shape[0] * img_data.shape[1], img_data.shape[2]))
# 使用K-Means聚類算法對(duì)像素點(diǎn)進(jìn)行聚類
kmeans = KMeans(n_clusters=16, random_state=0)
labels = kmeans.fit_predict(pixels)# 將每個(gè)像素點(diǎn)替換為所屬聚類的中心點(diǎn)
new_pixels = kmeans.cluster_centers_[labels]# 將一維的像素點(diǎn)數(shù)組還原為圖片數(shù)組的形式
new_img_data = new_pixels.reshape((img_data.shape[0], img_data.shape[1], img_data.shape[2]))# 顯示原始圖片和壓縮后的圖片
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 6))
fig.suptitle('Image Compression using K-Means Clustering')ax1.set_title('Original Image')
ax1.imshow(img_data)ax2.set_title('Compressed Image')
ax2.imshow(new_img_data.astype('uint8'))plt.show()

原圖和壓縮后的圖片結(jié)果如下所示:

http://aloenet.com.cn/news/44106.html

相關(guān)文章:

  • jqueryui做的網(wǎng)站株洲seo排名
  • 寧波做網(wǎng)站的大公司排名關(guān)鍵詞搜索推廣排行榜
  • 如何免費(fèi)網(wǎng)站建設(shè)怎么可以在百度發(fā)布信息
  • 做網(wǎng)站運(yùn)營(yíng)的女生多嗎百度公司簡(jiǎn)介
  • 上海小微企業(yè)名錄查詢seo短視頻網(wǎng)頁(yè)入口營(yíng)銷
  • 公司網(wǎng)站建設(shè)北京北京做百度推廣的公司
  • 網(wǎng)站開(kāi)發(fā)用啥語(yǔ)言廣州各區(qū)正在進(jìn)一步優(yōu)化以下措施
  • 順德做網(wǎng)站公司seo搜狗
  • 網(wǎng)站后端怎么做河北網(wǎng)站建設(shè)公司排名
  • 手機(jī)模板網(wǎng)站模板鞏義網(wǎng)站優(yōu)化公司
  • 網(wǎng)頁(yè)的動(dòng)態(tài)效果網(wǎng)店關(guān)鍵詞怎么優(yōu)化
  • 自己做網(wǎng)站需要服務(wù)器培訓(xùn)機(jī)構(gòu)查詢網(wǎng)
  • 自助申請(qǐng)海外網(wǎng)站長(zhǎng)沙網(wǎng)絡(luò)公關(guān)公司
  • 傳統(tǒng)營(yíng)銷渠道有哪些seo網(wǎng)站排名優(yōu)化培訓(xùn)教程
  • 網(wǎng)站建設(shè)及推廣銷售話術(shù)新app推廣方案
  • 衡陽(yáng)公司做網(wǎng)站關(guān)鍵詞分類
  • 北京好的網(wǎng)站開(kāi)發(fā)網(wǎng)站推廣 方法
  • 北京十佳網(wǎng)站建設(shè)廣告網(wǎng)站大全
  • 唐山住房和城鄉(xiāng)建設(shè)廳網(wǎng)站谷歌外貿(mào)seo
  • 景區(qū)網(wǎng)站建設(shè)教程如何免費(fèi)發(fā)布廣告
  • 網(wǎng)站開(kāi)發(fā)公司總匯seo基礎(chǔ)知識(shí)培訓(xùn)視頻
  • 購(gòu)物商城開(kāi)發(fā)seo優(yōu)化設(shè)計(jì)
  • 大連重工 央企江西seo推廣軟件
  • 音樂(lè)網(wǎng)站開(kāi)發(fā)的目的杭州百度推廣代理公司哪家好
  • 網(wǎng)站建設(shè)教程 pdf營(yíng)銷型網(wǎng)站建設(shè)論文
  • 電子商務(wù)網(wǎng)站建設(shè)模板代碼互聯(lián)網(wǎng)廣告銷售是做什么的
  • WordPress的目錄大綱杭州百度快照優(yōu)化排名
  • 高密市網(wǎng)站建設(shè)鄭州網(wǎng)站seo顧問(wèn)
  • logo免費(fèi)設(shè)計(jì)無(wú)水印seo搜索工具欄
  • 山東政務(wù)網(wǎng)站建設(shè)seo和sem的聯(lián)系