機器學習——聚類算法

一、聚類的概念

根據樣本之間的相似性,將樣本劃分到不同的類別中的一種無監督學習算法。

細節:根據樣本之間的相似性,將樣本劃分到不同的類別中;不同的相似度計算方法,會得到不同的聚類結果,常用的相似度計算方法有歐式距離法。聚類算法的目的是在沒有先驗知識的情況下,自動發現數據集中的內在結構和模式。計算樣本和樣本之間的相似性,一般使用歐式距離

二、聚類算法分類

根據聚類顆粒度分類:細粒度和粗粒度。

根據實現方法分類:

基于劃分的聚類:K-means算法->按照質心(一個簇的中心位置,通過均值計算)分類;

基于層次的聚類:DIANA(自頂向下)AGNES(自底向上);

基于密度的聚類: DBSCAN算法

......

三、Kmeans算法流程/原理

K值的含義:表示聚類個數,參數n_clusters就是指定k值的。

API:sklearn.cluster.KMeans

流程:1.事先確定常數k,即最終聚類類別數;

? ? ? ? ? ?2.隨機選擇k個樣本作為初始聚類中心;

? ? ? ? ? ?3.計算每個樣本到k個中心的距離,選擇最近的聚類中心點作為標記類別;

? ? ? ? ? ?4.根據每個類別中的樣本點,重新計算出新的聚類中心點(平均值),如果計算得出的新中心點與原中心點一樣則停止聚類,否則重新進行第三步過程,直到聚類中心不在變化或者達到最大迭代次數。

四、聚類評估方法

1.SSE“肘”方法

計算簇內誤差的平方和,SSE越小,聚類效果越好

SSE=\sum_{i=1}^{k}\sum_{p\epsilon C_{i}}^{}\left | p-m_{i} \right |^{2}

其中:K 表示聚類中心的個數、Ci 表示簇、p 表示樣本、mi 表示簇的質心

每次聚類完成要計算SSE,SSE會逐漸變小,變化過程中會出現一個拐點(即下降率突然變緩)認為是最佳n_clusters值。

在決定什么時候停止訓練時,肘形判據同樣有效,數據通常有更多的噪音,在增加分類無法帶來更多回報時,我們停止增加類別。

2.SC輪廓系數

綜合考慮簇內的內聚程度與簇間的分離程度,SC越大,聚類效果越好

S=\frac{\left ( b-a \right )}{max\left ( a,b \right )}

其中:a是樣本i到同一簇內其他不相似程度的平均值(a越小越好);b是樣本i到其他簇的平均不相似程度的最小值(b越大越好)

3.CH輪廓系數

綜合考慮簇內的內聚程度、簇間的分離程度、質心的個數,CH越大,聚類效果越好

SSW:

Cpi 表示質心、xi 表示某個樣本、SSW 值是計算每個樣本點到質心的距離,并累加起來、SSW 表示表示簇內的內聚程度,越小越好、m 表示樣本數量、k 表示質心個數

SSB:

Cj 表示質心,X 表示質心與質心之間的中心點,nj 表示樣本的個數、SSB 表示簇與簇之間的分離度,SSB 越大越好

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/83567.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/83567.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/83567.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python訓練第四十四天

DAY 44 預訓練模型 知識點回顧: 預訓練的概念常見的分類預訓練模型圖像預訓練模型的發展史預訓練的策略預訓練代碼實戰:resnet18 作業: 嘗試在cifar10對比如下其他的預訓練模型,觀察差異,盡可能和他人選擇的不同嘗試通…

Spring Boot中保存前端上傳的圖片

在Spring Boot中保存前端上傳的圖片可以通過以下步驟實現&#xff1a; 1. 添加依賴 確保在pom.xml中已包含Spring Web依賴&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifact…

應用層協議:HTTP

目錄 HTTP&#xff1a;超文本傳輸協議 1.1 HTTP報文 1.1.1 請求報文 1.1.2 響應報文 1.2 HTTP請求過程和原理 1.2.1 請求過程 1、域名&#xff08;DNS&#xff09;解析 2、建立TCP連接&#xff08;三次握手&#xff09; 3、發送HTTP請求 4、服務器處理請求 5、返回H…

商務合同范本智能審核系統 AI 大模型處理方案

1. 項目概述與目標 目標: 構建一個基于AI大模型的智能合同審核系統,能夠自動解析商務合同范本,識別其中的法律風險點(如權責不對等、違約金比例異常、條款模糊、缺失必要條款等),并結合企業內部合規數據庫進行實時比對,提供專業的修改建議,大幅提升合同審查的效率和合…

Kafka 消息隊列

一、 消息隊列 1. 什么是消息隊列 消息(Message)是指在應用間傳送的數據。消息可以非常簡單&#xff0c;比如只包含文本字符串&#xff0c;也可以更復雜&#xff0c;可能包含嵌入對象。消息隊列(Message Queue)是一種應用間的通信方式&#xff0c;消息發送后可以立即返回&…

NodeJS全棧WEB3面試題——P3Web3.js / Ethers.js 使用

3.1 Ethers.js 和 Web3.js 的主要區別是什么&#xff1f; 比較點Ethers.jsWeb3.js體積更輕量&#xff0c;適合前端較大&#xff0c;加載慢&#xff0c;適合 Node文檔文檔簡潔、現代化&#xff0c;支持 TypeScript文檔豐富&#xff0c;但不夠現代化模塊化設計高度模塊化&#x…

Ubuntu 桌面版忘記賬戶密碼的重置方法

如果你忘記了 Ubuntu 桌面版的用戶密碼&#xff0c;可以通過進入恢復模式&#xff08;Recovery Mode&#xff09;來重置密碼。以下是詳細步驟&#xff1a; 一、進入 GRUB 引導菜單 重啟計算機&#xff1a;點擊關機按鈕&#xff0c;選擇重啟。在啟動時按住 Shift 鍵&#xff1…

全志A40i android7.1 調試信息打印串口由uart0改為uart3

一&#xff0c;概述 1. 目的 將調試信息打印串口由uart0改為uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改動 使能uart3(TX:PH00 RX:PH01)&#xff0c;并讓boo…

【五子棋在線對戰】二.項目結構設計 實用工具類模板的實現

項目結構設計 1.項目模塊劃分2.業務處理模塊子模塊的劃分3.實用工具類模板的實現3.1 日志宏的實現3.2 mysql工具3.3 JsonCpp工具3.4 string-Split工具 && file_util工具 1.項目模塊劃分 ● 數據管理模塊&#xff1a;依托 MySQL 數據庫&#xff0c;負責用戶數據的存儲與…

53 python akshare(獲取金融數據)

在金融數據獲取與分析領域,AkShare是一個強大且靈活的開源庫,它提供了豐富的金融數據接口,覆蓋股票、期貨、期權、基金、債券、外匯等多個金融市場。AkShare更專注于中國金融市場數據,并且支持從多個數據源獲取數據,具有更高的穩定性和更全面的數據覆蓋。 一、安裝akshar…

藍橋杯17114 殘缺的數字

問題描述 七段碼顯示器是一種常見的顯示數字的電子元件&#xff0c;它由七個發光管組成: 圖依次展示了數字 0~9 用七段碼來顯示的狀態&#xff0c;其中燈管為黃色表示點亮&#xff0c;灰色表示熄滅。根據燈管的亮暗狀態&#xff0c;我們可以用一個狀態碼(狀態碼是一個 7 位的…

Java觀察者模式深度解析:構建松耦合事件驅動系統的藝術

目錄 觀察者模式基礎解析核心結構與實現原理Java內置觀察者實現Spring框架中的高級應用典型應用場景與實戰案例觀察者模式變體與優化常見問題與最佳實踐總結與未來展望1. 觀察者模式基礎解析 1.1 模式定義與核心思想 觀察者模式(Observer Pattern)是一種行為型設計模式,它…

NocoBase v1.7.0 正式版發布

原文鏈接&#xff1a;https://www.nocobase.com/cn/blog/nocobase-1-7-0。 新特性 用戶角色并集 角色并集是一種權限管理模式&#xff0c;根據系統設置&#xff0c;系統開發者可以選擇使用獨立角色、允許角色并集&#xff0c;或者僅使用角色并集&#xff0c;以滿足不同的權限…

破解通信難題,modbus轉profibus網關在高爐水沖渣系統中穩定好用

基于在高爐水沖渣傳動監控系統的工藝背景下,穩聯技術Profibus-Modbus網關在控制系統中使支持Profibus協議的設備與支持Modbus RTU協議的設備之間進行通訊協議轉換的作用,使得支持不同通訊協議的設備之間能夠進行數據傳遞,并且給出了設計方法.應用Profibus-Modbus總線橋WL-ABD30…

開源是什么?我們為什么要開源?

本片為故事類文章推薦聽音頻哦 軟件自由運動的背景 夢開始的地方 20世紀70年代&#xff0c;軟件行業處于早期發展階段&#xff0c;軟件通常與硬件捆綁銷售&#xff0c;用戶對軟件的使用、修改和分發權利非常有限。隨著計算機技術的發展和互聯網的普及&#xff0c;越來越多的開…

Educational Codeforces Round 179 (Rated for Div. 2)(A-E)

題目鏈接&#xff1a;Dashboard - Educational Codeforces Round 179 (Rated for Div. 2) - Codeforces A. Energy Crystals 思路 貪心地模擬一下過程很容易就看出來了&#xff0c;每次變成盡可能大的數 1 1 0 -> 1 1 3 -> 3 3 5 -> 5 5 11....我們只需要關注最大…

React Native開發鴻蒙運動健康類應用的項目實踐記錄

??項目名稱??&#xff1a;HarmonyFitness - 基于React Native的鴻蒙運動健康應用 ??技術棧??&#xff1a;React Native 0.72.5 TypeScript HarmonyOS API ArkTS原生模塊 一、環境搭建與項目初始化 ??雙環境配置?? ??React Native環境??&#xff1a; npx re…

Linux --UDP套接字實現簡單的網絡聊天室

一、Server端的實現 1.1、服務端的初始化 ①、創建套接字&#xff1a; 創建套接字接口&#xff1a; #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int socket(int domain, int type, int protocol); //1. 這是一個創建套接字的接…

Eureka 高可用集群搭建實戰:服務注冊與發現的底層原理與避坑指南

引言&#xff1a;為什么 Eureka 依然是存量系統的核心&#xff1f; 盡管 Nacos 等新注冊中心崛起&#xff0c;但金融、電力等保守行業仍有大量系統運行在 Eureka 上。理解其高可用設計與自我保護機制&#xff0c;是保障分布式系統穩定的必修課。本文將手把手帶你搭建生產級 Eur…

Spring Boot應用開發實戰

Spring Boot應用開發實戰&#xff1a;從零到生產級項目的深度指南 在當今Java生態中&#xff0c;Spring Boot已占據絕對主導地位——據統計&#xff0c;超過75%的新Java項目選擇Spring Boot作為開發框架。本文將帶您從零開始&#xff0c;深入探索Spring Boot的核心精髓&#xf…