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

【機(jī)器學(xué)習(xí)】聚類算法(一)

這篇具有很好參考價(jià)值的文章主要介紹了【機(jī)器學(xué)習(xí)】聚類算法(一)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

聚類算法是一種無監(jiān)督的機(jī)器學(xué)習(xí)方法,它可以將數(shù)據(jù)集中的對(duì)象分成若干個(gè)組,使得同一組內(nèi)的對(duì)象相似度高,而不同組內(nèi)的對(duì)象相似度低。聚類算法有很多種,例如K-均值,層次聚類,密度聚類,譜聚類等。聚類算法可以應(yīng)用于很多領(lǐng)域,例如數(shù)據(jù)挖掘,圖像分割,社交網(wǎng)絡(luò)分析,市場(chǎng)細(xì)分等。

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

一、問題定義

聚類問題是指給定一個(gè)數(shù)據(jù)集,如何將其中的對(duì)象分成若干個(gè)組,使得同一組內(nèi)的對(duì)象相似度高,而不同組內(nèi)的對(duì)象相似度低。聚類問題是一種無監(jiān)督的機(jī)器學(xué)習(xí)方法,它不需要事先知道對(duì)象的類別或標(biāo)簽,而是根據(jù)對(duì)象的屬性或特征來劃分簇。聚類問題的目的是發(fā)現(xiàn)數(shù)據(jù)的內(nèi)在結(jié)構(gòu)和模式,以及數(shù)據(jù)之間的關(guān)系和差異。

簇的定義是聚類算法的核心,不同的聚類算法對(duì)簇的定義有不同的側(cè)重點(diǎn)。一般來說,簇是指數(shù)據(jù)集中的一組對(duì)象,這些對(duì)象之間的相似度高,而與其他對(duì)象的相似度低。相似度的度量可以有多種方式,例如歐氏距離,余弦相似度,概率分布,密度,譜相似度等。

(根據(jù)簇的定義不同進(jìn)行劃分)常見聚類算法(連通性聚類,基于質(zhì)心的聚類,基于概率分布的聚類,基于密度的聚類,基于圖的聚類):

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

二、層次聚類

層次聚類是一種連通性聚類算法,它可以將數(shù)據(jù)對(duì)象分成不同層次的簇,從而形成一個(gè)樹狀圖。層次聚類有兩種類型,分別是凝聚式和分裂式。凝聚式層次聚類是從下而上的合并小簇,直到達(dá)到指定的簇個(gè)數(shù)或停止條件。分裂式層次聚類是從上而下的劃分大簇,直到達(dá)到指定的簇個(gè)數(shù)或停止條件。層次聚類的優(yōu)點(diǎn)是不需要預(yù)先指定簇的個(gè)數(shù),可以得到不同層次的簇劃分,也可以通過樹狀圖來直觀地展示數(shù)據(jù)對(duì)象之間的相似度。層次聚類的缺點(diǎn)是計(jì)算復(fù)雜度高,對(duì)噪聲和異常點(diǎn)敏感,一旦合并或劃分就不能撤銷。

層次聚類算法方案

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

三、基于質(zhì)心的算法

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

四、基于概率分布的算法

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

4.1 高斯混合模型

高斯混合模型(Gaussian Mixture model)是一種基于概率分布的聚類算法,它假設(shè)數(shù)據(jù)集中的對(duì)象是由若干個(gè)高斯分布生成的,然后通過最大化似然函數(shù)或最小化信息準(zhǔn)則來估計(jì)分布的參數(shù),從而得到聚類結(jié)果。高斯混合模型的優(yōu)點(diǎn)是可以利用多種分布來擬合數(shù)據(jù),可以得到軟聚類結(jié)果,可以處理不同形狀和大小的簇,缺點(diǎn)是需要事先給定聚類的個(gè)數(shù),對(duì)初始參數(shù)的選擇敏感,計(jì)算復(fù)雜度高,可能陷入局部最優(yōu)解。

Gaussian Mixture model的概率密度函數(shù)定義

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

對(duì)數(shù)據(jù)進(jìn)行高斯混合模型(GMM)的擬合 得到的GMM參數(shù)列表說明

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

4.2 EM算法

EM算法是一種迭代的參數(shù)估計(jì)方法,它可以處理含有隱變量的概率模型。EM算法的基本思想是:在給定觀測(cè)數(shù)據(jù)和當(dāng)前參數(shù)的情況下,計(jì)算隱變量的期望(E步);然后在給定觀測(cè)數(shù)據(jù)和隱變量的期望的情況下,最大化參數(shù)的似然函數(shù)(M步)。EM算法可以保證每次迭代后,參數(shù)的似然函數(shù)不會(huì)減小,最終收斂到局部最大值。

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

EM算法的應(yīng)用場(chǎng)景

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

4.3 高斯混合回歸 GMR

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

示例代高斯混合模型 (GMM) 和高斯混合回歸 (GMR) 完全在 numpy 上實(shí)現(xiàn)

Python 實(shí)現(xiàn)高斯混合回歸 (GMR) 和高斯混合模型 (GMM) 算法,附帶示例和數(shù)據(jù)文件。GMM 是一種軟聚類算法,它將數(shù)據(jù)視為具有未知參數(shù)的有限高斯分布。當(dāng)前方法使用期望最大化 (EM) 算法來查找高斯?fàn)顟B(tài)參數(shù)。EM 是一種迭代算法,它收斂到真實(shí)的高斯參數(shù),并通過對(duì)數(shù)似然閾值或迭代次數(shù)限制停止。為了初始化高斯參數(shù),使用了 k 均值聚類算法。在擬合 GMM 后,該模型用于擬合 GMR 以通過時(shí)間輸入檢索輸出特征。

EM_init.py 實(shí)現(xiàn) K-均值聚類算法和高斯混合模型的初始化

# 導(dǎo)入 numpy 庫(kù),用于進(jìn)行矩陣運(yùn)算
import numpy as np


# 定義一個(gè)函數(shù),用于實(shí)現(xiàn) K-均值聚類算法
# 輸入?yún)?shù)為 X: 數(shù)據(jù)矩陣,每一行是一個(gè)樣本,每一列是一個(gè)特征
# K: 聚類的個(gè)數(shù)
# maxIters: 最大迭代次數(shù)
# 輸出參數(shù)為 centroids: 聚類中心的矩陣,每一行是一個(gè)中心,每一列是一個(gè)特征
# C: 數(shù)據(jù)的類別標(biāo)簽,是一個(gè)一維數(shù)組,每個(gè)元素表示對(duì)應(yīng)樣本的類別
def kMeans(X, K, maxIters = 30):
    # 隨機(jī)從 X 中選擇 K 個(gè)樣本作為初始的聚類中心
    centroids = X[np.random.choice(np.arange(len(X)), K), :]
    # 進(jìn)行 maxIters 次迭代
    for i in range(maxIters):
        # 計(jì)算每個(gè)樣本到每個(gè)聚類中心的距離的平方,使用 np.dot 函數(shù)進(jìn)行矩陣乘法
        # 然后使用 np.argmin 函數(shù)找到最小距離的索引,即樣本所屬的類別
        # 最后將結(jié)果存儲(chǔ)在一個(gè)一維數(shù)組 C 中
        C = np.array([np.argmin([np.dot(x_i-y_k, x_i-y_k) for y_k in centroids]) for x_i in X])
        # 根據(jù) C 的值,重新計(jì)算每個(gè)類別的樣本的均值,作為新的聚類中心
        centroids = [X[C == k].mean(axis = 0) for k in range(K)]
    # 返回聚類中心和類別標(biāo)簽
    return np.array(centroids) , C


# 定義一個(gè)函數(shù),用于實(shí)現(xiàn)高斯混合模型的初始化
# 輸入?yún)?shù)為 Data: 數(shù)據(jù)矩陣,每一行是一個(gè)特征,每一列是一個(gè)樣本
# nbStates: 高斯分量的個(gè)數(shù)
# 輸出參數(shù)為 Priors: 高斯分量的先驗(yàn)概率,是一個(gè)一維數(shù)組,每個(gè)元素表示對(duì)應(yīng)分量的概率
# Mu: 高斯分量的均值矩陣,每一行是一個(gè)特征,每一列是一個(gè)分量
# Sigma: 高斯分量的協(xié)方差矩陣,是一個(gè)三維數(shù)組,每個(gè)二維矩陣表示一個(gè)分量的協(xié)方差
def EM_init(Data, nbStates):
    # 獲取數(shù)據(jù)的維度和個(gè)數(shù)
    nbVar, nbData = np.shape(Data)
    # 創(chuàng)建一個(gè)空的數(shù)組,用于存儲(chǔ)高斯分量的先驗(yàn)概率
    Priors = np.ndarray(shape = (1, nbStates))
    # 創(chuàng)建一個(gè)空的數(shù)組,用于存儲(chǔ)高斯分量的協(xié)方差矩陣
    Sigma = np.ndarray(shape = (nbVar, nbVar, nbStates))
    # 調(diào)用 kMeans 函數(shù),對(duì)數(shù)據(jù)進(jìn)行聚類,得到聚類中心和類別標(biāo)簽
    Centers, Data_id = kMeans(np.transpose(Data), nbStates)
    # 將聚類中心轉(zhuǎn)置,作為高斯分量的均值矩陣
    Mu = np.transpose(Centers)
    # 對(duì)于每個(gè)高斯分量,進(jìn)行以下操作
    for i in range (0,nbStates):
        # 找到屬于該分量的樣本的索引
        idtmp = np.nonzero(Data_id==i)
        # 將索引轉(zhuǎn)換為列表,并調(diào)整形狀
        idtmp = list(idtmp)
        idtmp = np.reshape(idtmp,(np.size(idtmp)))
        # 計(jì)算該分量的先驗(yàn)概率,等于該分量的樣本個(gè)數(shù)除以總樣本個(gè)數(shù)
        Priors[0,i] = np.size(idtmp)
        # 將該分量的樣本拼接起來,作為一個(gè)新的矩陣
        a = np.concatenate((Data[:, idtmp],Data[:, idtmp]), axis = 1)
        # 計(jì)算該矩陣的協(xié)方差,作為該分量的協(xié)方差矩陣
        Sigma[:,:,i] = np.cov(a)
        # 為了防止協(xié)方差矩陣的奇異性,給對(duì)角線元素加上一個(gè)很小的數(shù)
        Sigma[:,:,i] = Sigma[:,:,i] + 0.00001 * np.diag(np.diag(np.ones((nbVar,nbVar))))
    # 將先驗(yàn)概率歸一化,使其和為 1
    Priors = Priors / nbData
    # 返回先驗(yàn)概率,均值矩陣和協(xié)方差矩陣
????return?(Priors,?Mu,?Sigma)

gaussPDF.py??計(jì)算高斯分布的概率密度函數(shù)

# 導(dǎo)入 numpy 庫(kù),用于進(jìn)行矩陣運(yùn)算
import numpy as np
# 導(dǎo)入 math 庫(kù),用于進(jìn)行數(shù)學(xué)運(yùn)算
import math
# 導(dǎo)入 sys 庫(kù),用于獲取系統(tǒng)信息
import sys
# 定義一個(gè)函數(shù),用于計(jì)算高斯分布的概率密度函數(shù)
# 輸入?yún)?shù)為 Data: 數(shù)據(jù)矩陣,每一行是一個(gè)特征,每一列是一個(gè)樣本
# Mu: 高斯分布的均值向量,是一個(gè)一維數(shù)組
# Sigma: 高斯分布的協(xié)方差矩陣,是一個(gè)二維數(shù)組
# 輸出參數(shù)為 prob: 高斯分布的概率密度值,是一個(gè)一維數(shù)組,每個(gè)元素表示對(duì)應(yīng)樣本的概率
def gaussPDF(Data, Mu, Sigma):
    # 獲取系統(tǒng)的最小浮點(diǎn)數(shù),用于防止除零錯(cuò)誤
    realmin = sys.float_info[3]
    # 獲取數(shù)據(jù)的維度和個(gè)數(shù)
    nbVar, nbData = np.shape(Data)
    # 將數(shù)據(jù)矩陣轉(zhuǎn)置,然后減去均值向量,得到一個(gè)新的矩陣
    Data = np.transpose(Data) - np.tile(np.transpose(Mu), (nbData, 1))
    # 計(jì)算新矩陣與協(xié)方差矩陣的逆的乘積,再與新矩陣相乘,得到一個(gè)一維數(shù)組
    prob = np.sum(np.dot(Data, np.linalg.inv(Sigma))*Data, 1)
    # 對(duì)數(shù)組中的每個(gè)元素,進(jìn)行指數(shù)運(yùn)算,然后除以一個(gè)常數(shù),得到最終的概率密度值
    prob = np.exp(-0.5*prob)/np.sqrt((np.power((2*math.pi), nbVar))*np.absolute(np.linalg.det(Sigma))+realmin)
    # 返回概率密度值
    return prob

EM.py 實(shí)現(xiàn)高斯混合模型的參數(shù)估計(jì)

# 從 gaussPDF.py 文件中導(dǎo)入 gaussPDF 函數(shù),用于后續(xù)的計(jì)算
from gaussPDF import *
# 導(dǎo)入 numpy 庫(kù),用于進(jìn)行矩陣運(yùn)算
import numpy as np
# 導(dǎo)入 sys 庫(kù),用于獲取系統(tǒng)信息
import sys
# 定義一個(gè)函數(shù),用于實(shí)現(xiàn)高斯混合模型的參數(shù)估計(jì)
# 輸入?yún)?shù)為 Data: 數(shù)據(jù)矩陣,每一行是一個(gè)特征,每一列是一個(gè)樣本
# Priors0: 高斯分量的初始先驗(yàn)概率,是一個(gè)一維數(shù)組,每個(gè)元素表示對(duì)應(yīng)分量的概率
# Mu0: 高斯分量的初始均值矩陣,每一行是一個(gè)特征,每一列是一個(gè)分量
# Sigma0: 高斯分量的初始協(xié)方差矩陣,是一個(gè)三維數(shù)組,每個(gè)二維矩陣表示一個(gè)分量的協(xié)方差
# 輸出參數(shù)為 Priors: 高斯分量的最終先驗(yàn)概率,是一個(gè)一維數(shù)組,每個(gè)元素表示對(duì)應(yīng)分量的概率
# Mu: 高斯分量的最終均值矩陣,每一行是一個(gè)特征,每一列是一個(gè)分量
# Sigma: 高斯分量的最終協(xié)方差矩陣,是一個(gè)三維數(shù)組,每個(gè)二維矩陣表示一個(gè)分量的協(xié)方差
# Pix: 后驗(yàn)概率矩陣,每一行表示一個(gè)分量,每一列表示一個(gè)樣本,每個(gè)元素表示對(duì)應(yīng)樣本屬于對(duì)應(yīng)分量的概率
def EM(Data, Priors0, Mu0, Sigma0):
    # 獲取系統(tǒng)的最大浮點(diǎn)數(shù),用于初始化對(duì)數(shù)似然值
    realmax = sys.float_info[0]
    # 獲取系統(tǒng)的最小浮點(diǎn)數(shù),用于防止除零錯(cuò)誤
    realmin = sys.float_info[3]
    # 設(shè)置對(duì)數(shù)似然值的收斂閾值,當(dāng)對(duì)數(shù)似然值的變化小于該值時(shí),停止迭代
    loglik_threshold = 1e-10
    # 獲取數(shù)據(jù)的維度和個(gè)數(shù)
    nbVar, nbData = np.shape(Data)
    # 獲取高斯分量的個(gè)數(shù)
    nbStates = np.size(Priors0)
    # 初始化對(duì)數(shù)似然值為一個(gè)很小的負(fù)數(shù)
    loglik_old = -realmax
    # 初始化迭代次數(shù)為 0
    nbStep = 0
    # 將初始參數(shù)賦值給當(dāng)前參數(shù)
    Mu = Mu0
    Sigma = Sigma0
    Priors = Priors0


    # 創(chuàng)建一個(gè)空的數(shù)組,用于存儲(chǔ)后驗(yàn)概率矩陣
    Pix = np.ndarray(shape = (nbStates, nbData))
    # 創(chuàng)建一個(gè)空的數(shù)組,用于存儲(chǔ)高斯分布的概率密度矩陣
    Pxi = np.ndarray(shape = (nbData, nbStates))
    # 進(jìn)入一個(gè)無限循環(huán),直到滿足收斂條件或達(dá)到最大迭代次數(shù)
    while 1:
        # 對(duì)于每個(gè)高斯分量,進(jìn)行以下操作
        for i in range (0,nbStates):
            # 調(diào)用 gaussPDF 函數(shù),計(jì)算每個(gè)樣本在該分量下的概率密度值,存儲(chǔ)在 Pxi 矩陣的第 i 列
            Pxi[:,i] = gaussPDF(Data,Mu[:,i],Sigma[:,:,i])
        # 將先驗(yàn)概率矩陣復(fù)制 nbData 次,得到一個(gè)新的矩陣,然后與 Pxi 矩陣相乘,得到一個(gè)臨時(shí)矩陣
        Pix_tmp = np.multiply(np.tile(Priors, (nbData, 1)),Pxi)
        # 將臨時(shí)矩陣的每一行求和,得到一個(gè)一維數(shù)組,然后將其復(fù)制 nbStates 次,得到一個(gè)新的矩陣
        # 將臨時(shí)矩陣除以新的矩陣,得到后驗(yàn)概率矩陣 Pix
        Pix = np.divide(Pix_tmp,np.tile(np.reshape(np.sum(Pix_tmp,1), (nbData, 1)), (1, nbStates)))
        # 將后驗(yàn)概率矩陣的每一列求和,得到一個(gè)一維數(shù)組,表示每個(gè)分量的有效樣本個(gè)數(shù)
        E = np.sum(Pix, 0)
        # 將先驗(yàn)概率矩陣調(diào)整為一維數(shù)組
        Priors = np.reshape(Priors, (nbStates))
        # 對(duì)于每個(gè)高斯分量,進(jìn)行以下操作
        for i in range (0,nbStates):
            # 更新該分量的先驗(yàn)概率,等于該分量的有效樣本個(gè)數(shù)除以總樣本個(gè)數(shù)
            Priors[i] = E[i]/nbData
            # 更新該分量的均值向量,等于數(shù)據(jù)矩陣與后驗(yàn)概率矩陣的第 i 列的乘積,再除以該分量的有效樣本個(gè)數(shù)
            Mu[:,i] = np.dot(Data,Pix[:,i])/E[i]
            # 將數(shù)據(jù)矩陣減去該分量的均值向量,得到一個(gè)新的矩陣
            Data_tmp1 = Data - np.tile(np.reshape(Mu[:,i], (nbVar, 1)), (1,nbData))
            # 將后驗(yàn)概率矩陣的第 i 列轉(zhuǎn)置,然后調(diào)整為一維數(shù)組
            a = np.transpose(Pix[:, i])
            # 將該數(shù)組復(fù)制 nbVar 次,得到一個(gè)新的矩陣
            b = np.reshape(a, (1, nbData))
            c = np.tile(b, (nbVar, 1))
            # 將新矩陣與新數(shù)據(jù)矩陣相乘,得到一個(gè)臨時(shí)矩陣
            d = c*Data_tmp1
            # 將新數(shù)據(jù)矩陣轉(zhuǎn)置,然后與臨時(shí)矩陣相乘,得到該分量的協(xié)方差矩陣
            e = np.transpose(Data_tmp1)
            f = np.dot(d,e)
            Sigma[:,:,i] = f/E[i]
            # 為了防止協(xié)方差矩陣的奇異性,給對(duì)角線元素加上一個(gè)很小的數(shù)
            Sigma[:,:,i] = Sigma[:,:,i] + 0.00001 * np.diag(np.diag(np.ones((nbVar,nbVar))))


        # 對(duì)于每個(gè)高斯分量,進(jìn)行以下操作
        for i in range (0,nbStates):
            # 調(diào)用 gaussPDF 函數(shù),計(jì)算每個(gè)樣本在該分量下的概率密度值,存儲(chǔ)在 Pxi 矩陣的第 i 列
            Pxi[:,i] = gaussPDF(Data,Mu[:,i],Sigma[:,:,i])
        # 將 Pxi 矩陣與先驗(yàn)概率矩陣的轉(zhuǎn)置相乘,得到一個(gè)一維數(shù)組,表示每個(gè)樣本的總概率
        F = np.dot(Pxi,np.transpose(Priors))
        # 找到總概率小于最小浮點(diǎn)數(shù)的索引
        indexes = np.nonzero(F<realmin)
        # 將索引轉(zhuǎn)換為列表,并調(diào)整形狀
        indexes = list(indexes)
        indexes = np.reshape(indexes,np.size(indexes))
????????#?將總概率?F?中小于系統(tǒng)最小浮點(diǎn)數(shù)的元素替換為系統(tǒng)最小浮點(diǎn)數(shù),防止對(duì)數(shù)運(yùn)算出錯(cuò)
        F[indexes] = realmin
        # 將 F 調(diào)整為一個(gè)二維數(shù)組,每一行表示一個(gè)樣本,每一列表示一個(gè)分量
        F = np.reshape(F, (nbData, 1))
        # 計(jì)算 F 的對(duì)數(shù),然后求平均,得到當(dāng)前的對(duì)數(shù)似然值
        loglik = np.mean(np.log10(F), 0)
        # 如果當(dāng)前的對(duì)數(shù)似然值與上一次的對(duì)數(shù)似然值的比值與 1 的絕對(duì)差小于收斂閾值,說明已經(jīng)達(dá)到最優(yōu)解,退出循環(huán)
        if np.absolute((loglik/loglik_old)-1)<loglik_threshold:
            break
        # 否則,將當(dāng)前的對(duì)數(shù)似然值賦值給上一次的對(duì)數(shù)似然值,繼續(xù)迭代
        loglik_old = loglik
        # 迭代次數(shù)加一
        nbStep = nbStep+1
    # 返回最終的參數(shù)和后驗(yàn)概率矩陣
    return(Priors,Mu,Sigma, Pix)

GMM_GMR.py 該類可以使用高斯混合模型(GMM)和高斯混合回歸(GMR)對(duì)數(shù)據(jù)進(jìn)行建模和預(yù)測(cè)

# 從 EM_init.py 文件中導(dǎo)入 EM_init 函數(shù),用于實(shí)現(xiàn)高斯混合模型的初始化
from EM_init import *
# 從 EM.py 文件中導(dǎo)入 EM 函數(shù),用于實(shí)現(xiàn)高斯混合模型的參數(shù)估計(jì)
from EM import *
# 從 plotGMM.py 文件中導(dǎo)入 plotGMM 函數(shù),用于繪制高斯混合模型的圖形
from plotGMM import *
# 從 GMR.py 文件中導(dǎo)入 GMR 函數(shù),用于實(shí)現(xiàn)高斯混合回歸
from GMR import *
# 從 matplotlib 庫(kù)中導(dǎo)入 pyplot 模塊,用于繪制圖形
from matplotlib import pyplot as plt
# 導(dǎo)入 numpy 庫(kù),用于進(jìn)行矩陣運(yùn)算
import numpy as np


# 定義一個(gè)類,名為 GMM_GMR
class?GMM_GMR(object):
    # 定義類的初始化方法,用于設(shè)置高斯分量的個(gè)數(shù)
    # 輸入?yún)?shù)為 numberOfStates: 高斯分量的個(gè)數(shù),是一個(gè)整數(shù)
    def __init__(self, numberOfStates):
        # 將高斯分量的個(gè)數(shù)賦值給類的屬性
        self.numbefOfStates = numberOfStates


    # 定義類的擬合方法,用于對(duì)數(shù)據(jù)進(jìn)行高斯混合模型的建模
    # 輸入?yún)?shù)為 data: 數(shù)據(jù)矩陣,每一行是一個(gè)特征,每一列是一個(gè)樣本
    def fit(self, data):
        # 將數(shù)據(jù)矩陣賦值給類的屬性
        self.data = data
        # 調(diào)用 EM_init 函數(shù),對(duì)數(shù)據(jù)進(jìn)行聚類,得到高斯分量的初始先驗(yàn)概率,均值矩陣和協(xié)方差矩陣
        Priors, Mu, Sigma = EM_init(data, self.numbefOfStates)
        # 調(diào)用 EM 函數(shù),對(duì)數(shù)據(jù)進(jìn)行高斯混合模型的參數(shù)估計(jì),得到高斯分量的最終先驗(yàn)概率,均值矩陣,協(xié)方差矩陣和后驗(yàn)概率矩陣
        self.Priors, self.Mu, self.Sigma, self.Pix = EM(data, Priors, Mu, Sigma)


    # 定義類的預(yù)測(cè)方法,用于對(duì)輸入變量的值進(jìn)行高斯混合回歸,得到輸出變量的值和協(xié)方差
    # 輸入?yún)?shù)為 inputMat: 輸入變量的值,是一個(gè)一維數(shù)組,每個(gè)元素表示一個(gè)樣本
    def predict(self, inputMat):
        # 獲取數(shù)據(jù)的維度和個(gè)數(shù)
        nbVar, nbData = np.shape(self.data)
        # 創(chuàng)建一個(gè)空的數(shù)組,用于存儲(chǔ)輸出變量的值
        self.expData = np.ndarray(shape=(nbVar, np.size(inputMat)))
        # 將輸入變量的值賦值給輸出變量的第一行
        self.expData[0, :] = inputMat
        # 調(diào)用 GMR 函數(shù),對(duì)輸入變量的值進(jìn)行高斯混合回歸,得到輸出變量的值和協(xié)方差,賦值給輸出變量的其他行和類的屬性
        self.expData[1:nbVar, :], self.expSigma = GMR(self.Priors, self.Mu, self.Sigma, self.expData[0, :], 0,
                                                      np.arange(1, nbVar))


    # 定義類的獲取預(yù)測(cè)矩陣的方法,用于返回輸出變量的值
    # 輸出參數(shù)為 self.expData: 輸出變量的值,是一個(gè)二維數(shù)組,每一行是一個(gè)特征,每一列是一個(gè)樣本
    def getPredictedMatrix(self):
        return self.expData


    # 定義類的繪圖方法,用于繪制數(shù)據(jù),高斯混合模型和高斯混合回歸的圖形
    # 輸入?yún)?shù)為 xAxis: 橫坐標(biāo)的特征索引,是一個(gè)整數(shù),默認(rèn)為 0
    # yAxis: 縱坐標(biāo)的特征索引,是一個(gè)整數(shù),默認(rèn)為 1
    # plotType: 繪圖的類型,是一個(gè)字符串,可以選擇 "Data", "Clusters", "Regression",默認(rèn)為 "Clusters"
    # ax: 繪圖的對(duì)象,是一個(gè) pyplot 模塊,可以使用 plt 或其他自定義的對(duì)象,默認(rèn)為 plt
    # dataColor: 數(shù)據(jù)的顏色,是一個(gè)三元素的列表,表示 RGB 的值,范圍在 0 到 1 之間,默認(rèn)為 [0, 0.8, 0.7]
    # clusterColor: 高斯混合模型的顏色,是一個(gè)三元素的列表,表示 RGB 的值,范圍在 0 到 1 之間,默認(rèn)為 [0, 0.8, 0]
    # regressionColor: 高斯混合回歸的顏色,是一個(gè)三元素的列表,表示 RGB 的值,范圍在 0 到 1 之間,默認(rèn)為 [0,0,0.8]
    def plot(self, xAxis = 0, yAxis = 1, plotType = "Clusters", ax = plt, dataColor = [0, 0.8, 0.7],
        clusterColor = [0, 0.8, 0], regressionColor = [0,0,0.8]):
        # 計(jì)算橫坐標(biāo)的范圍,為數(shù)據(jù)的最小值和最大值之間的區(qū)間,再擴(kuò)大 10%
        xlim = [self.data[xAxis,:].min() - (self.data[xAxis,:].max() - self.data[xAxis,:].min())*0.1, self.data[xAxis,:].max() + (self.data[xAxis,:].max() - self.data[xAxis,:].min())*0.1]
        # 計(jì)算縱坐標(biāo)的范圍,為數(shù)據(jù)的最小值和最大值之間的區(qū)間,再加上一定的邊距
        ylim = [self.data[yAxis,:].min() - (self.data[yAxis,:].max() - self.data[yAxis,:].min())*0.1, self.data[yAxis,:].max() + (self.data[yAxis,:].max() - self.data[yAxis,:].min())*0.1]
        # 如果繪圖類型為 "Data",則只繪制數(shù)據(jù)點(diǎn)
        if plotType == "Data":            # 使用 ax 對(duì)象的 plot 方法,繪制數(shù)據(jù)點(diǎn),橫坐標(biāo)為 xAxis 特征,縱坐標(biāo)為 yAxis 特征,顏色為 dataColor,形狀為圓點(diǎn)
            ax.plot(self.data[xAxis,:], self.data[yAxis,:],'.', color=dataColor)
            # 使用 pyplot 的 xlim 方法,設(shè)置橫坐標(biāo)的范圍
            plt.xlim(xlim)
            # 使用 pyplot 的 ylim 方法,設(shè)置縱坐標(biāo)的范圍
            plt.ylim(ylim)
        # 如果繪圖類型為 "Clusters",則繪制數(shù)據(jù)點(diǎn)和聚類的結(jié)果
        elif plotType == "Clusters":
            # 創(chuàng)建一個(gè)數(shù)組,表示要繪制的特征的索引,包括 xAxis 和 yAxis
            rows = np.array([xAxis, yAxis])
            # 創(chuàng)建一個(gè)數(shù)組,表示要繪制的分量的索引,從 0 到分量個(gè)數(shù)
            cols = np.arange(0, self.numbefOfStates, 1)
            # 調(diào)用 plotGMM 函數(shù),繪制高斯混合模型的圖形,輸入?yún)?shù)為均值矩陣的子矩陣,協(xié)方差矩陣的子矩陣,顏色,透明度和繪圖對(duì)象
            plotGMM(self.Mu[np.ix_(rows, cols)], self.Sigma[np.ix_(rows, rows, cols)], [0, 0.8, 0], 1, ax)
            # 使用 pyplot 的 xlim 方法,設(shè)置橫坐標(biāo)的范圍
            plt.xlim(xlim)
            # 使用 pyplot 的 ylim 方法,設(shè)置縱坐標(biāo)的范圍
            plt.ylim(ylim)
        # 如果繪圖類型為 "Regression",則繪制數(shù)據(jù)點(diǎn)和回歸的結(jié)果
        elif plotType == "Regression":
            # 創(chuàng)建一個(gè)數(shù)組,表示要繪制的特征的索引,包括 xAxis 和 yAxis
            rows = np.array([xAxis, yAxis])
            # 創(chuàng)建一個(gè)數(shù)組,表示要繪制的協(xié)方差矩陣的索引,為 yAxis 減一
            rows2 = np.array([yAxis - 1, yAxis - 1])
            # 創(chuàng)建一個(gè)數(shù)組,表示要繪制的樣本的索引,從 0 到樣本個(gè)數(shù)
            cols = np.arange(0, self.expData.shape[1], 1)
            # 將 cols 數(shù)組轉(zhuǎn)換為整數(shù)類型
            cols = cols.astype(int)
            # 調(diào)用 plotGMM 函數(shù),繪制高斯混合回歸的圖形,輸入?yún)?shù)為輸出變量的值的子矩陣,輸出變量的協(xié)方差的子矩陣,顏色,透明度和繪圖對(duì)象
            plotGMM(self.expData[np.ix_(rows, cols)], self.expSigma[np.ix_(rows2, rows2, cols)], regressionColor, 2, ax)
            # 使用 pyplot 的 xlim 方法,設(shè)置橫坐標(biāo)的范圍
            plt.xlim(xlim)
            # 使用 pyplot 的 ylim 方法,設(shè)置縱坐標(biāo)的范圍
            plt.ylim(ylim)
        # 如果繪圖類型不是以上三種,則打印錯(cuò)誤信息
        else:
            print("Invalid plot type.\nPossible choices are: Data, Clusters, Regression.")

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

xAxis = 0, yAxis = 1, plotType = "Clusters", ax = plt, dataColor = [0, 0.8, 0.7], clusterColor = [0, 0.8, 0], regressionColor = [0,0,0.8]

示例1

  • 讀取 data.txt 文件中的數(shù)據(jù),只取前兩列,并轉(zhuǎn)置,得到一個(gè)二維數(shù)組,每一行是一個(gè)特征,每一列是一個(gè)樣本。

  • 創(chuàng)建一個(gè) GMM_GMR 類的實(shí)例,指定高斯分量的個(gè)數(shù)為 4,然后調(diào)用 fit 方法,對(duì)數(shù)據(jù)進(jìn)行高斯混合模型的參數(shù)估計(jì)。

  • 創(chuàng)建一個(gè)輸入變量的矩陣,從 1 到數(shù)據(jù)的第 0 行的最大值,均勻地取 100 個(gè)值,然后調(diào)用 predict 方法,對(duì)輸入變量進(jìn)行高斯混合回歸,得到輸出變量的值和協(xié)方差。

  • 創(chuàng)建一個(gè)圖形對(duì)象,然后在其中添加四個(gè)子圖,分別顯示數(shù)據(jù)點(diǎn),聚類結(jié)果,回歸結(jié)果,以及聚類和回歸的疊加,橫坐標(biāo)為第 0 列,縱坐標(biāo)為第 1 列。

  • 獲取輸出變量的值,打印在控制臺(tái)中,然后顯示圖形。

?data.txt 文件包含了三列數(shù)據(jù),每一行表示一個(gè)樣本,每一列表示一個(gè)特征

6.675, 9.6, 1
8.375, 10.8, 1
10.875, 12.75, 1
13.725, 13.3, 1
17.625, 14.1, 1
23.425, 14.2, 1
26.875, 12.15, 1
30.475, 8.75, 1
4.675, 7.8, 1
2.975, 5.85, 1
1.625, 4.05, 1
21.175, 13.7, 1
24.975, 12.85, 1
28.375, 10.7, 1
32.525, 7.25, 1
35.925, 6.65, 1
38.775, 7.9, 1
41.225, 9.45, 1
2.775, 4.15, 1
4.225, 4.95, 1
3.375, 7.2, 1
4.375, 8.65, 1
5.875, 7.6, 1
5.625, 9.9, 1
8.175, 9.5, 1
7.475, 10.95, 1
8.225, 11.65, 1
9.725, 11.75, 1
9.875, 13.4, 1
9.475, 10.9, 1
10.575, 11.2, 1
11.775, 13.6, 1
12.575, 12.1, 1
13.325, 14.35, 1
13.875, 15.7, 1
11.825, 14.55, 1
12.725, 13.5, 1
15.025, 12.6, 1
14.175, 12.6, 1
15.125, 14.2, 1
14.475, 14.3, 1
15.475, 15.5, 1
16.575, 12.65, 1
16.375, 14, 1
17.225, 15.7, 1
17.825, 14.7, 1
18.625, 15.2, 1
19.725, 15.25, 1
20.775, 15.1, 1
19.775, 14.65, 1
18.325, 13, 1
18.425, 14.2, 1
19.525, 13.35, 1
20.575, 14.15, 1
20.425, 13.1, 1
21.775, 13, 1
21.775, 14.8, 1
22.875, 13.15, 1
22.475, 13.55, 1
23.175, 12, 1
23.975, 12.45, 1
23.975, 12.45, 1
24.425, 11.95, 1
25.075, 11.85, 1
25.475, 11.4, 1
26.275, 11.35, 1
26.175, 12.05, 1
26.825, 11.05, 1
24.675, 11.4, 1
26.375, 10.5, 1
27.775, 11.1, 1
27.325, 11.45, 1
27.325, 10.6, 1
28.775, 9.15, 1
30.125, 10.05, 1
31.775, 8.9, 1
34.825, 7.05, 1
33.675, 8, 1
35.275, 7.95, 1
36.925, 7.95, 1
38.925, 8.8, 1
40.125, 9.7, 1
41.075, 10.3, 1
39.975, 8.65, 1
38.125, 6.75, 1
37.325, 7.35, 1
35.975, 7.3, 1
33.725, 7.05, 1
32.575, 8.3, 1
31.825, 8.35, 1
29.625, 9.4, 1
27.875, 10.05, 1
29.225, 10.1, 1
31.075, 9.3, 1
30.925, 7.45, 1
38.575, 8.55, 1
37.925, 8.05, 1
39.775, 7.75, 1
35.775, 14.4, 1
19.575, 6.2, 1
9.075, 7.25, 1
15.925, 10.15, 1
19.575, 12, 1
25.775, 10.05, 1
25.575, 9.3, 1
28.075, 7.6, 1

example1.py

# 從 GMM_GMR.py 文件中導(dǎo)入 GMM_GMR 類,用于實(shí)現(xiàn)高斯混合模型和高斯混合回歸的類定義
from GMM_GMR import GMM_GMR
# 導(dǎo)入 pyplot 模塊,用于繪制圖形
from matplotlib import pyplot as plt
# 導(dǎo)入 numpy 庫(kù),用于進(jìn)行矩陣運(yùn)算
import numpy as np


# 如果當(dāng)前文件是主程序,而不是被其他文件導(dǎo)入,則執(zhí)行以下代碼
if __name__ == "__main__":
    # 從 data.txt 文件中讀取數(shù)據(jù),使用逗號(hào)作為分隔符,存儲(chǔ)在 data 矩陣中
    data = np.loadtxt("data.txt", delimiter=',')
    # 只取 data 矩陣的前兩列,然后轉(zhuǎn)置,得到一個(gè)二維數(shù)組,每一行是一個(gè)特征,每一列是一個(gè)樣本
    data = data[:, 0:2].T
    # 創(chuàng)建一個(gè) GMM_GMR 類的實(shí)例,指定高斯分量的個(gè)數(shù)為 4
    gmr = GMM_GMR(4)
    # 調(diào)用 fit 方法,對(duì)數(shù)據(jù)進(jìn)行高斯混合模型的參數(shù)估計(jì)
    gmr.fit(data)
    # 創(chuàng)建一個(gè)輸入變量的矩陣,從 1 到數(shù)據(jù)的第 0 行的最大值,均勻地取 100 個(gè)值
    timeInput = np.linspace(1, np.max(data[0, :]), 100)
    # 調(diào)用 predict 方法,對(duì)輸入變量進(jìn)行高斯混合回歸,得到輸出變量的值和協(xié)方差
    gmr.predict(timeInput)
    # 創(chuàng)建一個(gè)圖形對(duì)象
    fig = plt.figure()


    # 在圖形對(duì)象中添加一個(gè)子圖,位置為 2 行 2 列的第 1 個(gè),存儲(chǔ)在 ax1 變量中
    ax1 = fig.add_subplot(221)
    # 打印 ax1 變量的類型,應(yīng)該是 AxesSubplot
    print(type(ax1))
    # 為 ax1 子圖設(shè)置標(biāo)題為 "Data"
    plt.title("Data")
    # 調(diào)用 gmr 對(duì)象的 plot 方法,繪制數(shù)據(jù)和聚類的結(jié)果,橫坐標(biāo)為第 0 列,縱坐標(biāo)為第 1 列,繪圖類型為 "Data",繪圖對(duì)象為 ax1
    gmr.plot(ax=ax1, plotType="Data")


    # 在圖形對(duì)象中添加一個(gè)子圖,位置為 2 行 2 列的第 2 個(gè),存儲(chǔ)在 ax2 變量中
    ax2 = fig.add_subplot(222)
    # 為 ax2 子圖設(shè)置標(biāo)題為 "Gaussian States"
    plt.title("Gaussian States")
    # 調(diào)用 gmr 對(duì)象的 plot 方法,繪制數(shù)據(jù)和聚類的結(jié)果,橫坐標(biāo)為第 0 列,縱坐標(biāo)為第 1 列,繪圖類型為 "Clusters",繪圖對(duì)象為 ax2
    gmr.plot(ax=ax2, plotType="Clusters")


    # 在圖形對(duì)象中添加一個(gè)子圖,位置為 2 行 2 列的第 3 個(gè),存儲(chǔ)在 ax3 變量中
    ax3 = fig.add_subplot(223)
    # 為 ax3 子圖設(shè)置標(biāo)題為 "Regression"
    plt.title("Regression")
    # 調(diào)用 gmr 對(duì)象的 plot 方法,繪制數(shù)據(jù)和回歸的結(jié)果,橫坐標(biāo)為第 0 列,縱坐標(biāo)為第 1 列,繪圖類型為 "Regression",繪圖對(duì)象為 ax3
    gmr.plot(ax=ax3, plotType="Regression")


    # 在圖形對(duì)象中添加一個(gè)子圖,位置為 2 行 2 列的第 4 個(gè),存儲(chǔ)在 ax4 變量中
    ax4 = fig.add_subplot(224)
    # 為 ax4 子圖設(shè)置標(biāo)題為 "Clusters + Regression"
    plt.title("Clusters + Regression")
    # 調(diào)用 gmr 對(duì)象的 plot 方法,繪制數(shù)據(jù)和聚類的結(jié)果,橫坐標(biāo)為第 0 列,縱坐標(biāo)為第 1 列,繪圖類型為 "Clusters",繪圖對(duì)象為 ax4
    gmr.plot(ax=ax4, plotType="Clusters")
    # 調(diào)用 gmr 對(duì)象的 plot 方法,繪制數(shù)據(jù)和回歸的結(jié)果,橫坐標(biāo)為第 0 列,縱坐標(biāo)為第 1 列,繪圖類型為 "Regression",繪圖對(duì)象為 ax4
    gmr.plot(ax=ax4, plotType="Regression")
    # 調(diào)用 gmr 對(duì)象的 getPredictedMatrix 方法,獲取輸出變量的值,存儲(chǔ)在 predictedMatrix 變量中
    predictedMatrix = gmr.getPredictedMatrix()
    # 打印 predictedMatrix 變量,查看預(yù)測(cè)結(jié)果
    print(predictedMatrix)
    # 顯示圖形
????plt.show()

輸出結(jié)果:

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

示例2:

  • 代碼是用來從 data2.txt 文件中讀取數(shù)據(jù),并使用 GMM_GMR 類進(jìn)行高斯混合模型和高斯混合回歸的分析和預(yù)測(cè)。

  • data2.txt 文件有三行數(shù)據(jù),每一行表示一個(gè)特征,每一列表示一個(gè)樣本。第 0 行是時(shí)間特征,第 1 行是位置特征,第 2 行是速度特征。

  • 代碼首先創(chuàng)建了一個(gè) GMM_GMR 類的實(shí)例,指定高斯分量的個(gè)數(shù)為 4,然后調(diào)用 fit 方法,對(duì)數(shù)據(jù)進(jìn)行高斯混合模型的參數(shù)估計(jì)。

  • 然后,代碼創(chuàng)建了一個(gè)輸入變量的矩陣,從 1 到數(shù)據(jù)的第 0 行的最大值,均勻地取 300 個(gè)值,然后調(diào)用 predict 方法,對(duì)輸入變量進(jìn)行高斯混合回歸,得到輸出變量的值和協(xié)方差。

  • 接著,代碼創(chuàng)建了兩個(gè)圖形對(duì)象,分別顯示了第 1 列和第 0 列,以及第 2 列和第 1 列的關(guān)系。每個(gè)圖形對(duì)象中有四個(gè)子圖,分別顯示了數(shù)據(jù)點(diǎn),聚類結(jié)果,回歸結(jié)果,以及聚類和回歸的疊加。

  • 最后,代碼調(diào)用 getPredictedMatrix 方法,獲取輸出變量的值,打印在控制臺(tái)中,然后顯示圖形。

data2.txt

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

example2.py

# 從 GMM_GMR.py 文件中導(dǎo)入 GMM_GMR 類,用于實(shí)現(xiàn)高斯混合模型和高斯混合回歸的類定義
from GMM_GMR import GMM_GMR
# 導(dǎo)入 pyplot 模塊,用于繪制圖形
from matplotlib import pyplot as plt
# 導(dǎo)入 numpy 庫(kù),用于進(jìn)行矩陣運(yùn)算
import numpy as np


# 如果當(dāng)前文件是主程序,而不是被其他文件導(dǎo)入,則執(zhí)行以下代碼
if __name__ == "__main__":
    # 從 data2.txt 文件中讀取數(shù)據(jù),使用逗號(hào)作為分隔符,存儲(chǔ)在 data 矩陣中
    data = np.loadtxt("data2.txt", delimiter=',')
    # 創(chuàng)建一個(gè) GMM_GMR 類的實(shí)例,指定高斯分量的個(gè)數(shù)為 4
    gmr = GMM_GMR(4)
    # 調(diào)用 fit 方法,對(duì)數(shù)據(jù)進(jìn)行高斯混合模型的參數(shù)估計(jì)
    gmr.fit(data)
    # 創(chuàng)建一個(gè)輸入變量的矩陣,從 1 到數(shù)據(jù)的第 0 行的最大值,均勻地取 300 個(gè)值
    timeInput = np.linspace(1, np.max(data[0, :]), 300)
    # 調(diào)用 predict 方法,對(duì)輸入變量進(jìn)行高斯混合回歸,得到輸出變量的值和協(xié)方差
    gmr.predict(timeInput)
    # 創(chuàng)建一個(gè)圖形對(duì)象
    fig = plt.figure()
    # 為圖形對(duì)象設(shè)置總標(biāo)題為 "Axis 1 vs axis 0"
    fig.suptitle("Axis 1 vs axis 0")
    # 在圖形對(duì)象中添加一個(gè)子圖,位置為 2 行 2 列的第 1 個(gè),存儲(chǔ)在 ax1 變量中
    ax1 = fig.add_subplot(221)
    # 為 ax1 子圖設(shè)置標(biāo)題為 "Data"
    plt.title("Data")
    # 調(diào)用 gmr 對(duì)象的 plot 方法,繪制數(shù)據(jù)點(diǎn),橫坐標(biāo)為第 0 列,縱坐標(biāo)為第 1 列,繪圖類型為 "Data",繪圖對(duì)象為 ax1
    gmr.plot(ax=ax1, plotType="Data")
    # 在圖形對(duì)象中添加一個(gè)子圖,位置為 2 行 2 列的第 2 個(gè),存儲(chǔ)在 ax2 變量中
    ax2 = fig.add_subplot(222)
    # 為 ax2 子圖設(shè)置標(biāo)題為 "Gaussian States"
    plt.title("Gaussian States")
    # 調(diào)用 gmr 對(duì)象的 plot 方法,繪制數(shù)據(jù)和聚類的結(jié)果,橫坐標(biāo)為第 0 列,縱坐標(biāo)為第 1 列,繪圖類型為 "Clusters",繪圖對(duì)象為 ax2
    gmr.plot(ax=ax2, plotType="Clusters")
    # 在圖形對(duì)象中添加一個(gè)子圖,位置為 2 行 2 列的第 3 個(gè),存儲(chǔ)在 ax3 變量中
    ax3 = fig.add_subplot(223)
    # 為 ax3 子圖設(shè)置標(biāo)題為 "Regression"
    plt.title("Regression")
    # 調(diào)用 gmr 對(duì)象的 plot 方法,繪制數(shù)據(jù)和回歸的結(jié)果,橫坐標(biāo)為第 0 列,縱坐標(biāo)為第 1 列,繪圖類型為 "Regression",繪圖對(duì)象為 ax3
    gmr.plot(ax=ax3, plotType="Regression")
    # 在圖形對(duì)象中添加一個(gè)子圖,位置為 2 行 2 列的第 4 個(gè),存儲(chǔ)在 ax4 變量中
    ax4 = fig.add_subplot(224)
    # 為 ax4 子圖設(shè)置標(biāo)題為 "Clusters + Regression"
    plt.title("Clusters + Regression")
    # 調(diào)用 gmr 對(duì)象的 plot 方法,繪制數(shù)據(jù)和聚類的結(jié)果,橫坐標(biāo)為第 0 列,縱坐標(biāo)為第 1 列,繪圖類型為 "Clusters",繪圖對(duì)象為 ax4
    gmr.plot(ax=ax4, plotType="Clusters")
    # 調(diào)用 gmr 對(duì)象的 plot 方法,繪制數(shù)據(jù)和回歸的結(jié)果,橫坐標(biāo)為第 0 列,縱坐標(biāo)為第 1 列,繪圖類型為 "Regression",繪圖對(duì)象為 ax4
    gmr.plot(ax=ax4, plotType="Regression")
    # 創(chuàng)建一個(gè)新的圖形對(duì)象
    fig = plt.figure()
    # 為圖形對(duì)象設(shè)置總標(biāo)題為 "Axis 2 vs axis 1"
    fig.suptitle("Axis 2 vs axis 1")
    # 在圖形對(duì)象中添加一個(gè)子圖,位置為 2 行 2 列的第 1 個(gè),存儲(chǔ)在 ax1 變量中
    ax1 = fig.add_subplot(221)
    # 為 ax1 子圖設(shè)置標(biāo)題為 "Data"
    plt.title("Data")
    # 調(diào)用 gmr 對(duì)象的 plot 方法,繪制數(shù)據(jù)點(diǎn),橫坐標(biāo)為第 1 列,縱坐標(biāo)為第 2 列,繪圖類型為 "Data",繪圖對(duì)象為 ax1
    gmr.plot(ax=ax1, plotType="Data", xAxis=1, yAxis=2)
    # 在圖形對(duì)象中添加一個(gè)子圖,位置為 2 行 2 列的第 2 個(gè),存儲(chǔ)在 ax2 變量中
    ax2 = fig.add_subplot(222)
    # 為 ax2 子圖設(shè)置標(biāo)題為 "Gaussian States"
    plt.title("Gaussian States")
    # 調(diào)用 gmr 對(duì)象的 plot 方法,繪制數(shù)據(jù)和聚類的結(jié)果,橫坐標(biāo)為第 1 列,縱坐標(biāo)為第 2 列,繪圖類型為 "Clusters",繪圖對(duì)象為 ax2
    gmr.plot(ax=ax2, plotType="Clusters", xAxis=1, yAxis=2)
    # 在圖形對(duì)象中添加一個(gè)子圖,位置為 2 行 2 列的第 3 個(gè),存儲(chǔ)在 ax3 變量中
    ax3 = fig.add_subplot(223)
    # 為 ax3 子圖設(shè)置標(biāo)題為 "Regression"
    plt.title("Regression")
    # 調(diào)用 gmr 對(duì)象的 plot 方法,繪制數(shù)據(jù)和回歸的結(jié)果,橫坐標(biāo)為第 1 列,縱坐標(biāo)為第 2 列,繪圖類型為 "Regression",繪圖對(duì)象為 ax3
    gmr.plot(ax=ax3, plotType="Regression", xAxis=1, yAxis=2)
    # 在圖形對(duì)象中添加一個(gè)子圖,位置為 2 行 2 列的第 4 個(gè),存儲(chǔ)在 ax4 變量中
    ax4 = fig.add_subplot(224)
    # 為 ax4 子圖設(shè)置標(biāo)題為 "Clusters + Regression"
    plt.title("Clusters + Regression")
    # 調(diào)用 gmr 對(duì)象的 plot 方法,繪制數(shù)據(jù)和聚類的結(jié)果,橫坐標(biāo)為第 1 列,縱坐標(biāo)為第 2 列,繪圖類型為 "Clusters",繪圖對(duì)象為 ax4
    gmr.plot(ax=ax4, plotType="Clusters", xAxis=1, yAxis=2)
    # 調(diào)用 gmr 對(duì)象的 plot 方法,繪制數(shù)據(jù)和回歸的結(jié)果,橫坐標(biāo)為第 1 列,縱坐標(biāo)為第 2 列,繪圖類型為 "Regression",繪圖對(duì)象為 ax4
    gmr.plot(ax=ax4, plotType="Regression", xAxis=1, yAxis=2)
    # 調(diào)用 gmr 對(duì)象的 getPredictedMatrix 方法,獲取輸出變量的值,存儲(chǔ)在 predictedMatrix 變量中
    predictedMatrix = gmr.getPredictedMatrix()
    # 打印 predictedMatrix 變量,查看預(yù)測(cè)結(jié)果
    print(predictedMatrix)
    # 顯示圖形
    plt.show()

輸出結(jié)果:

[[ 1.00000000e+00  1.33110368e+00  1.66220736e+00  1.99331104e+00
   2.32441472e+00  2.65551839e+00  2.98662207e+00  3.31772575e+00
   3.64882943e+00  3.97993311e+00  4.31103679e+00  4.64214047e+00
   4.97324415e+00  5.30434783e+00  5.63545151e+00  5.96655518e+00
   6.29765886e+00  6.62876254e+00  6.95986622e+00  7.29096990e+00
   7.62207358e+00  7.95317726e+00  8.28428094e+00  8.61538462e+00
   8.94648829e+00  9.27759197e+00  9.60869565e+00  9.93979933e+00
   1.02709030e+01  1.06020067e+01  1.09331104e+01  1.12642140e+01
   1.15953177e+01  1.19264214e+01  1.22575251e+01  1.25886288e+01
   1.29197324e+01  1.32508361e+01  1.35819398e+01  1.39130435e+01
   1.42441472e+01  1.45752508e+01  1.49063545e+01  1.52374582e+01
   1.55685619e+01  1.58996656e+01  1.62307692e+01  1.65618729e+01
   1.68929766e+01  1.72240803e+01  1.75551839e+01  1.78862876e+01
   1.82173913e+01  1.85484950e+01  1.88795987e+01  1.92107023e+01
   1.95418060e+01  1.98729097e+01  2.02040134e+01  2.05351171e+01
   2.08662207e+01  2.11973244e+01  2.15284281e+01  2.18595318e+01
   2.21906355e+01  2.25217391e+01  2.28528428e+01  2.31839465e+01
   2.35150502e+01  2.38461538e+01  2.41772575e+01  2.45083612e+01
   2.48394649e+01  2.51705686e+01  2.55016722e+01  2.58327759e+01
   2.61638796e+01  2.64949833e+01  2.68260870e+01  2.71571906e+01
   2.74882943e+01  2.78193980e+01  2.81505017e+01  2.84816054e+01
   2.88127090e+01  2.91438127e+01  2.94749164e+01  2.98060201e+01
   3.01371237e+01  3.04682274e+01  3.07993311e+01  3.11304348e+01
   3.14615385e+01  3.17926421e+01  3.21237458e+01  3.24548495e+01
   3.27859532e+01  3.31170569e+01  3.34481605e+01  3.37792642e+01
   3.41103679e+01  3.44414716e+01  3.47725753e+01  3.51036789e+01
   3.54347826e+01  3.57658863e+01  3.60969900e+01  3.64280936e+01
   3.67591973e+01  3.70903010e+01  3.74214047e+01  3.77525084e+01
   3.80836120e+01  3.84147157e+01  3.87458194e+01  3.90769231e+01
   3.94080268e+01  3.97391304e+01  4.00702341e+01  4.04013378e+01
   4.07324415e+01  4.10635452e+01  4.13946488e+01  4.17257525e+01
   4.20568562e+01  4.23879599e+01  4.27190635e+01  4.30501672e+01
   4.33812709e+01  4.37123746e+01  4.40434783e+01  4.43745819e+01
   4.47056856e+01  4.50367893e+01  4.53678930e+01  4.56989967e+01
   4.60301003e+01  4.63612040e+01  4.66923077e+01  4.70234114e+01
   4.73545151e+01  4.76856187e+01  4.80167224e+01  4.83478261e+01
   4.86789298e+01  4.90100334e+01  4.93411371e+01  4.96722408e+01
   5.00033445e+01  5.03344482e+01  5.06655518e+01  5.09966555e+01
   5.13277592e+01  5.16588629e+01  5.19899666e+01  5.23210702e+01
   5.26521739e+01  5.29832776e+01  5.33143813e+01  5.36454849e+01
   5.39765886e+01  5.43076923e+01  5.46387960e+01  5.49698997e+01
   5.53010033e+01  5.56321070e+01  5.59632107e+01  5.62943144e+01
   5.66254181e+01  5.69565217e+01  5.72876254e+01  5.76187291e+01
   5.79498328e+01  5.82809365e+01  5.86120401e+01  5.89431438e+01
   5.92742475e+01  5.96053512e+01  5.99364548e+01  6.02675585e+01
   6.05986622e+01  6.09297659e+01  6.12608696e+01  6.15919732e+01
   6.19230769e+01  6.22541806e+01  6.25852843e+01  6.29163880e+01
   6.32474916e+01  6.35785953e+01  6.39096990e+01  6.42408027e+01
   6.45719064e+01  6.49030100e+01  6.52341137e+01  6.55652174e+01
   6.58963211e+01  6.62274247e+01  6.65585284e+01  6.68896321e+01
   6.72207358e+01  6.75518395e+01  6.78829431e+01  6.82140468e+01
   6.85451505e+01  6.88762542e+01  6.92073579e+01  6.95384615e+01
   6.98695652e+01  7.02006689e+01  7.05317726e+01  7.08628763e+01
   7.11939799e+01  7.15250836e+01  7.18561873e+01  7.21872910e+01
   7.25183946e+01  7.28494983e+01  7.31806020e+01  7.35117057e+01
   7.38428094e+01  7.41739130e+01  7.45050167e+01  7.48361204e+01
   7.51672241e+01  7.54983278e+01  7.58294314e+01  7.61605351e+01
   7.64916388e+01  7.68227425e+01  7.71538462e+01  7.74849498e+01
   7.78160535e+01  7.81471572e+01  7.84782609e+01  7.88093645e+01
   7.91404682e+01  7.94715719e+01  7.98026756e+01  8.01337793e+01
   8.04648829e+01  8.07959866e+01  8.11270903e+01  8.14581940e+01
   8.17892977e+01  8.21204013e+01  8.24515050e+01  8.27826087e+01
   8.31137124e+01  8.34448161e+01  8.37759197e+01  8.41070234e+01
   8.44381271e+01  8.47692308e+01  8.51003344e+01  8.54314381e+01
   8.57625418e+01  8.60936455e+01  8.64247492e+01  8.67558528e+01
   8.70869565e+01  8.74180602e+01  8.77491639e+01  8.80802676e+01
   8.84113712e+01  8.87424749e+01  8.90735786e+01  8.94046823e+01
   8.97357860e+01  9.00668896e+01  9.03979933e+01  9.07290970e+01
   9.10602007e+01  9.13913043e+01  9.17224080e+01  9.20535117e+01
   9.23846154e+01  9.27157191e+01  9.30468227e+01  9.33779264e+01
   9.37090301e+01  9.40401338e+01  9.43712375e+01  9.47023411e+01
   9.50334448e+01  9.53645485e+01  9.56956522e+01  9.60267559e+01
   9.63578595e+01  9.66889632e+01  9.70200669e+01  9.73511706e+01
   9.76822742e+01  9.80133779e+01  9.83444816e+01  9.86755853e+01
   9.90066890e+01  9.93377926e+01  9.96688963e+01  1.00000000e+02]
 [ 8.21442059e-02  8.06371753e-02  7.91298699e-02  7.76222683e-02
   7.61143471e-02  7.46060809e-02  7.30974422e-02  7.15884010e-02
   7.00789248e-02  6.85689780e-02  6.70585223e-02  6.55475158e-02
   6.40359132e-02  6.25236652e-02  6.10107184e-02  5.94970147e-02
   5.79824913e-02  5.64670802e-02  5.49507078e-02  5.34332944e-02
   5.19147542e-02  5.03949949e-02  4.88739168e-02  4.73514134e-02
   4.58273706e-02  4.43016666e-02  4.27741722e-02  4.12447507e-02
   3.97132582e-02  3.81795447e-02  3.66434544e-02  3.51048277e-02
   3.35635028e-02  3.20193190e-02  3.04721194e-02  2.89217565e-02
   2.73680973e-02  2.58110315e-02  2.42504807e-02  2.26864102e-02
   2.11188432e-02  1.95478784e-02  1.79737115e-02  1.63966592e-02
   1.48171896e-02  1.32359555e-02  1.16538332e-02  1.00719656e-02
   8.49180885e-03  6.91518145e-03  5.34431372e-03  3.78189415e-03
   2.23110877e-03  6.95667724e-04 -8.20187365e-04 -2.31170287e-03
  -3.77366701e-03 -5.20050498e-03 -6.58642005e-03 -7.92558161e-03
  -9.21235601e-03 -1.04415693e-02 -1.16087847e-02 -1.27105710e-02
  -1.37447366e-02 -1.47105004e-02 -1.56085806e-02 -1.64411860e-02
  -1.72119091e-02 -1.79255309e-02 -1.85877595e-02 -1.92049274e-02
  -1.97836799e-02 -2.03306811e-02 -2.08523578e-02 -2.13546973e-02
  -2.18431029e-02 -2.23223078e-02 -2.27963390e-02 -2.32685243e-02
  -2.37415298e-02 -2.42174196e-02 -2.46977268e-02 -2.51835300e-02
  -2.56755291e-02 -2.61741168e-02 -2.66794436e-02 -2.71914741e-02
  -2.77100367e-02 -2.82348632e-02 -2.87656229e-02 -2.93019490e-02
  -2.98434595e-02 -3.03897729e-02 -3.09405210e-02 -3.14953568e-02
  -3.20539608e-02 -3.26160451e-02 -3.31813555e-02 -3.37496729e-02
  -3.43208130e-02 -3.48946265e-02 -3.54709974e-02 -3.60498427e-02
  -3.66311099e-02 -3.72147763e-02 -3.78008470e-02 -3.83893530e-02
  -3.89803496e-02 -3.95739147e-02 -4.01701462e-02 -4.07691606e-02
  -4.13710902e-02 -4.19760802e-02 -4.25842859e-02 -4.31958689e-02
  -4.38109927e-02 -4.44298174e-02 -4.50524939e-02 -4.56791560e-02
  -4.63099116e-02 -4.69448328e-02 -4.75839429e-02 -4.82272018e-02
  -4.88744894e-02 -4.95255859e-02 -5.01801486e-02 -5.08376868e-02
  -5.14975328e-02 -5.21588096e-02 -5.28203961e-02 -5.34808895e-02
  -5.41385662e-02 -5.47913415e-02 -5.54367304e-02 -5.60718114e-02
  -5.66931954e-02 -5.72970031e-02 -5.78788544e-02 -5.84338742e-02
  -5.89567177e-02 -5.94416198e-02 -5.98824719e-02 -6.02729281e-02
  -6.06065405e-02 -6.08769227e-02 -6.10779370e-02 -6.12038967e-02
  -6.12497745e-02 -6.12114044e-02 -6.10856631e-02 -6.08706184e-02
  -6.05656314e-02 -6.01714045e-02 -5.96899708e-02 -5.91246238e-02
  -5.84797934e-02 -5.77608768e-02 -5.69740383e-02 -5.61259895e-02
  -5.52237667e-02 -5.42745173e-02 -5.32853062e-02 -5.22629493e-02
  -5.12138794e-02 -5.01440463e-02 -4.90588484e-02 -4.79630957e-02
  -4.68609975e-02 -4.57561720e-02 -4.46516719e-02 -4.35500218e-02
  -4.24532636e-02 -4.13630054e-02 -4.02804728e-02 -3.92065584e-02
  -3.81418696e-02 -3.70867729e-02 -3.60414343e-02 -3.50058550e-02
  -3.39799031e-02 -3.29633408e-02 -3.19558478e-02 -3.09570407e-02
  -2.99664893e-02 -2.89837293e-02 -2.80082730e-02 -2.70396170e-02
  -2.60772485e-02 -2.51206488e-02 -2.41692963e-02 -2.32226673e-02
  -2.22802358e-02 -2.13414729e-02 -2.04058440e-02 -1.94728065e-02
  -1.85418060e-02 -1.76122723e-02 -1.66836146e-02 -1.57552165e-02
  -1.48264311e-02 -1.38965753e-02 -1.29649248e-02 -1.20307095e-02
  -1.10931089e-02 -1.01512497e-02 -9.20420436e-03 -8.25099206e-03
  -7.29058305e-03 -6.32190696e-03 -5.34386667e-03 -4.35535891e-03
  -3.35530345e-03 -2.34268272e-03 -1.31659394e-03 -2.76316030e-04
   7.78606801e-04  1.84826278e-03  2.93225070e-03  4.02953840e-03
   5.13830359e-03  6.25576126e-03  7.37798564e-03  8.49973823e-03
   9.61431841e-03  1.07134573e-02  1.17872790e-02  1.28243554e-02
   1.38118771e-02  1.47359595e-02  1.55820872e-02  1.63356868e-02
   1.69827971e-02  1.75107850e-02  1.79090427e-02  1.81695937e-02
   1.82875412e-02  1.82613093e-02  1.80926521e-02  1.77864383e-02
   1.73502442e-02  1.67938093e-02  1.61284186e-02  1.53662752e-02
   1.45199155e-02  1.36017061e-02  1.26234430e-02  1.15960613e-02
   1.05294486e-02  9.43234930e-03  8.31234266e-03  7.17587684e-03
   6.02834095e-03  4.87416102e-03  3.71690803e-03  2.55940890e-03
   1.40385449e-03  2.51900350e-04 -8.95241961e-04 -2.03672415e-03
  -3.17199109e-03 -4.30072098e-03 -5.42277498e-03 -6.53815527e-03
  -7.64697057e-03 -8.74940813e-03 -9.84571107e-03 -1.09361604e-02
  -1.20210609e-02 -1.31007297e-02 -1.41754884e-02 -1.52456560e-02
  -1.63115445e-02 -1.73734555e-02 -1.84316778e-02 -1.94864857e-02
  -2.05381383e-02 -2.15868790e-02 -2.26329355e-02 -2.36765202e-02
  -2.47178303e-02 -2.57570488e-02 -2.67943447e-02 -2.78298745e-02
  -2.88637819e-02 -2.98961997e-02 -3.09272498e-02 -3.19570441e-02
  -3.29856854e-02 -3.40132683e-02 -3.50398790e-02 -3.60655970e-02
  -3.70904949e-02 -3.81146392e-02 -3.91380909e-02 -4.01609058e-02
  -4.11831350e-02 -4.22048254e-02 -4.32260199e-02 -4.42467576e-02]
 [ 3.77991022e-02  3.84928484e-02  3.91870424e-02  3.98817196e-02
   4.05769185e-02  4.12726809e-02  4.19690522e-02  4.26660820e-02
   4.33638241e-02  4.40623372e-02  4.47616850e-02  4.54619368e-02
   4.61631683e-02  4.68654613e-02  4.75689052e-02  4.82735968e-02
   4.89796413e-02  4.96871531e-02  5.03962561e-02  5.11070843e-02
   5.18197831e-02  5.25345095e-02  5.32514326e-02  5.39707350e-02
   5.46926125e-02  5.54172750e-02  5.61449468e-02  5.68758665e-02
   5.76102869e-02  5.83484742e-02  5.90907073e-02  5.98372756e-02
   6.05884766e-02  6.13446122e-02  6.21059838e-02  6.28728857e-02
   6.36455965e-02  6.44243680e-02  6.52094113e-02  6.60008794e-02
   6.67988451e-02  6.76032748e-02  6.84139960e-02  6.92306587e-02
   7.00526894e-02  7.08792382e-02  7.17091170e-02  7.25407313e-02
   7.33720041e-02  7.42002954e-02  7.50223208e-02  7.58340711e-02
   7.66307434e-02  7.74066890e-02  7.81553900e-02  7.88694766e-02
   7.95407972e-02  8.01605530e-02  8.07195057e-02  8.12082617e-02
   8.16176272e-02  8.19390188e-02  8.21649049e-02  8.22892408e-02
   8.23078559e-02  8.22187518e-02  8.20222722e-02  8.17211247e-02
   8.13202459e-02  8.08265241e-02  8.02484093e-02  7.95954535e-02
   7.88778255e-02  7.81058455e-02  7.72895743e-02  7.64384796e-02
   7.55611925e-02  7.46653523e-02  7.37575329e-02  7.28432358e-02
  -4.88434618e-03 -5.67960488e-03 -6.47612384e-03 -7.27377410e-03
  -8.07244138e-03 -8.87202531e-03 -9.67243866e-03 -1.04736067e-02
  -1.12754666e-02 -1.20779670e-02 -1.28810678e-02 -1.36847400e-02
  -1.44889655e-02 -1.52937377e-02 -1.60990616e-02 -1.69049546e-02
  -1.77114475e-02 -1.85185852e-02 -1.93264287e-02 -2.01350563e-02
  -2.09445659e-02 -2.17550773e-02 -2.25667350e-02 -2.33797114e-02
  -2.41942103e-02 -2.50104708e-02 -2.58287716e-02 -2.66494361e-02
  -2.74728368e-02 -2.82994011e-02 -2.91296160e-02 -2.99640337e-02
  -3.08032754e-02 -3.16480356e-02 -3.24990834e-02 -3.33572627e-02
  -3.42234884e-02 -3.50987389e-02 -3.59840427e-02 -3.68804583e-02
  -3.77890456e-02 -3.87108280e-02 -3.96467434e-02 -4.05975851e-02
  -4.15639324e-02 -4.25460725e-02 -4.35439199e-02 -4.45569364e-02
  -4.55840621e-02 -4.66236645e-02 -4.76735180e-02 -4.87308195e-02
  -4.97922491e-02 -5.08540747e-02 -5.19122976e-02 -5.29628285e-02
  -5.40016770e-02 -5.50251382e-02 -5.60299573e-02 -5.70134570e-02
  -5.79736181e-02 -5.89091108e-02 -5.98192788e-02 -6.07040848e-02
  -6.15640282e-02 -6.24000462e-02 -6.32134102e-02 -6.40056245e-02
  -6.47783356e-02 -6.55332541e-02 -6.62720921e-02 -6.69965147e-02
  -6.77081052e-02 -6.84083428e-02 -6.90985887e-02 -6.97800805e-02
  -7.04539324e-02 -7.11211386e-02 -7.17825805e-02 -7.24390343e-02
  -7.30911806e-02 -7.37396134e-02 -7.43848496e-02 -7.50273372e-02
  -7.56674640e-02 -7.63055646e-02 -7.69419276e-02 -7.75768012e-02
  -7.82103989e-02 -7.88429039e-02 -7.94744735e-02 -8.01052426e-02
  -8.07353269e-02 -8.13648255e-02 -8.19938231e-02 -8.26223926e-02
  -8.32505961e-02 -8.38784870e-02 -8.45061109e-02 -8.51335069e-02
  -8.57607083e-02 -8.63877439e-02 -8.70146381e-02 -8.76414120e-02
  -8.82680834e-02 -8.88946678e-02 -8.95211783e-02 -9.01476262e-02
  -9.07740210e-02 -9.14003711e-02 -9.20266834e-02 -9.26529640e-02
  -9.32792180e-02 -9.39054498e-02 -9.45316632e-02 -9.51578614e-02
  -9.57840470e-02 -9.64102224e-02 -9.70363895e-02 -9.76625501e-02]]

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

高斯混合回歸在制造業(yè)的應(yīng)用場(chǎng)景

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能

【機(jī)器學(xué)習(xí)】聚類算法(一),機(jī)器學(xué)習(xí),算法,聚類,支持向量機(jī),人工智能文章來源地址http://www.zghlxwxcb.cn/news/detail-822232.html

到了這里,關(guān)于【機(jī)器學(xué)習(xí)】聚類算法(一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 人工智能-10種機(jī)器學(xué)習(xí)常見算法

    人工智能-10種機(jī)器學(xué)習(xí)常見算法

    機(jī)器學(xué)習(xí)是目前行業(yè)的一個(gè)創(chuàng)新且重要的領(lǐng)域。今天,給大家介紹機(jī)器學(xué)習(xí)中的10種常見的算法,希望可以幫助大家適應(yīng)機(jī)器學(xué)習(xí)的世界。 線性回歸(Linear Regression)是目前機(jī)器學(xué)習(xí)算法中最流行的一種,線性回歸算法就是要找一條直線,并且讓這條直線盡可能地?cái)M合散點(diǎn)圖中的

    2023年04月08日
    瀏覽(89)
  • 機(jī)器學(xué)習(xí):Python中如何使用支持向量機(jī)(SVM)算法

    機(jī)器學(xué)習(xí):Python中如何使用支持向量機(jī)(SVM)算法

    (簡(jiǎn)單介紹一下支持向量機(jī),詳細(xì)介紹尤其是算法過程可以查閱其他資) 在機(jī)器學(xué)習(xí)領(lǐng)域,支持向量機(jī)SVM(Support Vector Machine)是一個(gè)有監(jiān)督的學(xué)習(xí)模型,通常用來進(jìn)行模式識(shí)別、分類(異常值檢測(cè))以及回歸分析。 其具有以下特征: (1)SVM可以表示為凸優(yōu)化問題,因此可以利用已知的

    2024年02月04日
    瀏覽(96)
  • 人工智能:支持向量機(jī)SVM 練習(xí)題(帶解析)

    1.對(duì)于線性可分的二分類任務(wù)樣本集,將訓(xùn)練樣本分開的超平面有很多,支持向量機(jī)試圖尋找滿足什么條件的超平面?(A) A.在正負(fù)類樣本“正中間”的 B.靠近正類樣本的 C.靠近負(fù)類樣本的 D.以上說法都不對(duì) 解析 :從直觀上來看,當(dāng)所找到的超平面恰好位于正負(fù)類樣本點(diǎn)“

    2024年02月06日
    瀏覽(29)
  • 《人工智能-機(jī)器學(xué)習(xí)》數(shù)據(jù)預(yù)處理和機(jī)器學(xué)習(xí)算法(以企鵝penguins數(shù)據(jù)集為例)

    《人工智能-機(jī)器學(xué)習(xí)》數(shù)據(jù)預(yù)處理和機(jī)器學(xué)習(xí)算法(以企鵝penguins數(shù)據(jù)集為例)

    本項(xiàng)目使用到的數(shù)據(jù)集鏈接: https://tianchi-media.oss-cn-beijing.aliyuncs.com/DSW/6tree/penguins_raw.csv 加載給定或者自行選定的數(shù)據(jù)集,對(duì)數(shù)據(jù)進(jìn)行查看和理解,例如樣本數(shù)量,各特征數(shù)據(jù)類型、分布、特征和標(biāo)簽所表達(dá)的含義等,然后對(duì)其進(jìn)行數(shù)據(jù)預(yù)處理工作,包括但不限于對(duì)敏感數(shù)據(jù)

    2024年02月10日
    瀏覽(25)
  • 人工智能算法|K均值聚類算法Python實(shí)現(xiàn)

    K 均值聚類算法是一種簡(jiǎn)單的迭代型聚類算法,采用距離作為相似性指標(biāo),從而發(fā)現(xiàn)給定數(shù)據(jù)集中的 K 個(gè)類,且每個(gè)類有一個(gè)聚類中心,即質(zhì)心,每個(gè)類的質(zhì)心是根據(jù)類中所有值的均值得到。對(duì)于給定的一個(gè)包含n個(gè)d維數(shù)據(jù)點(diǎn)的數(shù)據(jù)集X以及要分得的類別 K ,選取歐式距離作為

    2024年02月05日
    瀏覽(21)
  • 一文詳解人工智能:線性回歸、邏輯回歸和支持向量機(jī)(SVM)

    在人工智能領(lǐng)域,線性回歸、邏輯回歸和支持向量機(jī)是常見的機(jī)器學(xué)習(xí)算法。本文將詳細(xì)介紹這三種算法的原理和應(yīng)用,并提供相應(yīng)的代碼示例。 線性回歸是一種用于建立變量之間線性關(guān)系的回歸分析方法。它通過擬合一個(gè)線性模型來預(yù)測(cè)連續(xù)變量的值。線性回歸的目標(biāo)是找

    2024年02月03日
    瀏覽(47)
  • 一文全解經(jīng)典機(jī)器學(xué)習(xí)算法之支持向量機(jī)SVM(關(guān)鍵詞:SVM,對(duì)偶、間隔、支持向量、核函數(shù)、特征空間、分類)

    一文全解經(jīng)典機(jī)器學(xué)習(xí)算法之支持向量機(jī)SVM(關(guān)鍵詞:SVM,對(duì)偶、間隔、支持向量、核函數(shù)、特征空間、分類)

    之前所介紹的邏輯回歸是基于似然度的分類方法,通過對(duì)數(shù)據(jù)概率進(jìn)行建模來得到軟輸出。但這種分類方法其實(shí)稍加“繁瑣”,因?yàn)橐?估計(jì)數(shù)據(jù)的概率分布作為中間步驟 。這就像當(dāng)一個(gè)人學(xué)習(xí)英語時(shí),他只要直接報(bào)個(gè)班或者自己看書就行了,而不需要先學(xué)習(xí)詰屈聱牙的拉丁

    2024年02月03日
    瀏覽(90)
  • 層次聚類算法在人工智能醫(yī)療中的應(yīng)用

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 引言 1.1. 背景介紹 隨著人工智能技術(shù)的快速發(fā)展,醫(yī)療領(lǐng)域也逐漸迎來了信息化的春天。醫(yī)療數(shù)據(jù)的豐富性和復(fù)雜性為人工智能提供了大量的應(yīng)用場(chǎng)景。層次聚類算法作為數(shù)據(jù)挖掘領(lǐng)域的一種經(jīng)典算法,在醫(yī)療領(lǐng)域有著廣泛的應(yīng)用前景。本文

    2024年02月08日
    瀏覽(24)
  • 從人工智能到機(jī)器學(xué)習(xí)到深度學(xué)習(xí)、強(qiáng)化學(xué)習(xí),以及相關(guān)的算法原理、應(yīng)用場(chǎng)景等方面對(duì)人工智能技術(shù)的研究進(jìn)行全面的綜述

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 2021年是一個(gè)重要的歷史節(jié)點(diǎn),數(shù)字化時(shí)代正在席卷全球各個(gè)角落。大數(shù)據(jù)、云計(jì)算、區(qū)塊鏈等新興技術(shù)帶動(dòng)著各行各業(yè)的變化與革命,機(jī)器學(xué)習(xí)(ML)、深度學(xué)習(xí)(DL)、強(qiáng)化學(xué)習(xí)(RL)等AI技術(shù)也越發(fā)成熟。隨之而來的,伴隨著人工智能應(yīng)用的

    2024年02月07日
    瀏覽(28)
  • 機(jī)器學(xué)習(xí)(七):梯度下降解決分類問題——perceptron感知機(jī)算法與SVM支持向量機(jī)算法進(jìn)行二維點(diǎn)分類

    機(jī)器學(xué)習(xí)(七):梯度下降解決分類問題——perceptron感知機(jī)算法與SVM支持向量機(jī)算法進(jìn)行二維點(diǎn)分類

    實(shí)驗(yàn)2 感知機(jī)算法與支持向量機(jī)算法 一、預(yù)備知識(shí) 1.感知機(jī)算法 二、實(shí)驗(yàn)?zāi)康?掌握感知機(jī)算法的原理及設(shè)計(jì); 掌握利用感知機(jī)算法解決分類問題。 三、實(shí)驗(yàn)內(nèi)容 設(shè)計(jì)感知機(jī)算法求解, 設(shè)計(jì)SVM算法求解(可調(diào)用函數(shù)庫(kù)),請(qǐng)找出支持向量和決策超平面。 四、操作方法和實(shí)驗(yàn)

    2023年04月26日
    瀏覽(98)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包