佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > python利用K-Means算法實(shí)現(xiàn)對(duì)數(shù)據(jù)的聚類(lèi)案例詳解

python利用K-Means算法實(shí)現(xiàn)對(duì)數(shù)據(jù)的聚類(lèi)案例詳解

熱門(mén)標(biāo)簽:Win7旗艦版 電話(huà)運(yùn)營(yíng)中心 客戶(hù)服務(wù) 硅谷的囚徒呼叫中心 企業(yè)做大做強(qiáng) 百度AI接口 呼叫中心市場(chǎng)需求 語(yǔ)音系統(tǒng)

目的是為了檢測(cè)出采集數(shù)據(jù)中的異常值。所以很明確,這種情況下的簇為2:正常數(shù)據(jù)和異常數(shù)據(jù)兩大類(lèi)

1、安裝相應(yīng)的庫(kù)

import matplotlib.pyplot as plt  # 用于可視化
from sklearn.cluster import KMeans  # 用于聚類(lèi)
import pandas as pd # 用于讀取文件

2、實(shí)現(xiàn)聚類(lèi)

2.1 讀取數(shù)據(jù)并可視化

# 讀取本地?cái)?shù)據(jù)文件
df = pd.read_excel("../data/output3.xls", header=0)

本次實(shí)驗(yàn)選擇溫度CO2作為二維數(shù)據(jù),其中溫度含有異常數(shù)據(jù)。

plt.scatter(df["光照"], df["CO2"], linewidths=1, alpha=0.8)
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用來(lái)正常顯示中文標(biāo)簽v
plt.xlabel("光照")
plt.ylabel("CO2")
plt.grid(color="#95a5a6", linestyle="--", linewidth=1, alpha=0.4)
plt.show()

2.2 K-means聚類(lèi)

設(shè)置規(guī)定要聚的類(lèi)別個(gè)數(shù)為2

data = df[["光照","CO2"]] # 從原始數(shù)據(jù)中選擇該兩項(xiàng)
estimator = KMeans(n_clusters=2)  # 構(gòu)造聚類(lèi)器
estimator.fit(data)  # 將數(shù)據(jù)帶入聚類(lèi)模型

獲取聚類(lèi)中心的值和聚類(lèi)標(biāo)簽

label_pred = estimator.labels_  # 獲取聚類(lèi)標(biāo)簽
centers_ = estimator.cluster_centers_ # 獲取聚類(lèi)中心

將聚類(lèi)后的 label0 和 label1 的數(shù)據(jù)進(jìn)行輸出

x0 = data[label_pred == 0]
x1 = data[label_pred == 1]

plt.scatter(x0["光照"], x0["CO2"],c="red", linewidths=1, alpha=0.8,marker='o', label='label0')
plt.scatter(x1["光照"], x1["CO2"],c="green", linewidths=1, alpha=0.8,marker='+', label='label1')
plt.grid(c="#95a5a6", linestyle="--", linewidth=1, alpha=0.4)
plt.legend()
plt.show()

附上全部代碼

import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
import pandas as pd


df = pd.read_excel("../data/output3.xls", header=0)
plt.scatter(df["光照"], df["CO2"], linewidths=1, alpha=0.8)
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用來(lái)正常顯示中文標(biāo)簽v
plt.xlabel("光照")
plt.ylabel("CO2")
plt.grid(color="#95a5a6", linestyle="--", linewidth=1, alpha=0.4)
plt.show()

data = df[["光照","CO2"]]
estimator = KMeans(n_clusters=2)  # 構(gòu)造聚類(lèi)器
estimator.fit(data)  # 聚類(lèi)
label_pred = estimator.labels_  # 獲取聚類(lèi)標(biāo)簽
centers_ = estimator.cluster_centers_  # 獲取聚類(lèi)結(jié)果
# print("聚類(lèi)標(biāo)簽",label_pred)
# print("聚類(lèi)結(jié)果",centers_)
# predict = estimator.predict([[787.75862069, 1505]]) # 測(cè)試新數(shù)據(jù)聚類(lèi)結(jié)果
# print(predict)
x0 = data[label_pred == 0]
x1 = data[label_pred == 1]

plt.scatter(x0["光照"], x0["CO2"],c="red", linewidths=1, alpha=0.8,marker='o', label='label0')
plt.scatter(x1["光照"], x1["CO2"],c="green", linewidths=1, alpha=0.8,marker='+', label='label1')
plt.grid(c="#95a5a6", linestyle="--", linewidth=1, alpha=0.4)
plt.legend()
plt.show()

到此這篇關(guān)于python利用K-Means算法實(shí)現(xiàn)對(duì)數(shù)據(jù)的聚類(lèi)的文章就介紹到這了,更多相關(guān)python K-Means算法數(shù)據(jù)的聚類(lèi)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python退火算法在高次方程的應(yīng)用
  • Python實(shí)現(xiàn)K-means聚類(lèi)算法并可視化生成動(dòng)圖步驟詳解
  • 開(kāi)源一個(gè)c# 新的雪花算法
  • 谷歌師兄的算法刷題筆記
  • Python實(shí)現(xiàn)粒子群算法的示例
  • 如何使用Java模擬退火算法優(yōu)化Hash函數(shù)

標(biāo)簽:山西 海南 長(zhǎng)沙 山西 安康 濟(jì)南 崇左 喀什

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python利用K-Means算法實(shí)現(xiàn)對(duì)數(shù)據(jù)的聚類(lèi)案例詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266
    峨眉山市| 奈曼旗| 巍山| 东光县| 莱州市| 沙河市| 霍山县| 奈曼旗| 中方县| 普定县| 民勤县| 积石山| 敖汉旗| 林口县| 赞皇县| 新竹县| 曲靖市| 南京市| 兴国县| 西昌市| 维西| 慈利县| 万州区| 迁西县| 西青区| 宁安市| 黄石市| 屏东市| 固始县| 贞丰县| 奉化市| 堆龙德庆县| 永嘉县| 弥勒县| 张家口市| 察雅县| 开阳县| 杂多县| 苍南县| 枣庄市| 嘉荫县|