最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用python實(shí)現(xiàn)3D聚類圖示例代碼

 更新時間:2024年08月20日 10:47:06   作者:兜里沒有一毛錢  
這篇文章主要介紹了使用python實(shí)現(xiàn)3D聚類圖效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧

實(shí)驗(yàn)記錄,在做XX得分預(yù)測的實(shí)驗(yàn)中,做了一個基于Python的3D聚類圖,水平有限,僅供參考。

一、以實(shí)現(xiàn)三個類別聚類為例

代碼:

import pandas as pd
import numpy as np
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
from sklearn.impute import SimpleImputer
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 讀取數(shù)據(jù)
data = pd.read_csv('E:\\shujuji\\Goods\\man.csv')
# 選擇用于聚類的列
features = ['Weight', 'BMI', 'Lung Capacity Score', '50m Running Score',   
            'Standing Long Jump Score', 'Sitting Forward Bend Score',   
            '1000m Running Score', 'Pulling Up Score', 'Total Score']
X = data[features]
# 處理缺失值
imputer = SimpleImputer(strategy='mean')
X_imputed = imputer.fit_transform(X)
# 數(shù)據(jù)標(biāo)準(zhǔn)化
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X_imputed)
# 應(yīng)用PCA降維到3維
pca = PCA(n_components=3)
X_pca = pca.fit_transform(X_scaled)
# 執(zhí)行K-means聚類
# 假設(shè)我們想要3個聚類
kmeans = KMeans(n_clusters=9, random_state=0).fit(X_pca)
labels = kmeans.labels_
# 將聚類標(biāo)簽添加到原始DataFrame中
data['Cluster'] = labels
# 3D可視化聚類結(jié)果
fig = plt.figure(1, figsize=(8, 6))
ax = fig.add_subplot(111, projection='3d')
unique_labels = set(labels)
colors = ['r', 'g', 'b']
for k, c in zip(unique_labels, colors):
    class_member_mask = (labels == k)
    xy = X_pca[class_member_mask]
    ax.scatter(xy[:, 0], xy[:, 1], xy[:, 2], c=c, label=f'Cluster {k}')
ax.set_title('PCA of Fitness Data with K-means Clustering')
ax.set_xlabel('Principal Component 1')
ax.set_ylabel('Principal Component 2')
ax.set_zlabel('Principal Component 3')
plt.legend()
plt.show()
# 打印每個聚類的名稱和對應(yīng)的數(shù)據(jù)點(diǎn)數(shù)量
cluster_centers = kmeans.cluster_centers_
for i in range(3):
    cluster_data = data[data['Cluster'] == i]
    print(f"Cluster {i}: Count: {len(cluster_data)}")
# 評估聚類效果
from sklearn import metrics
print("Silhouette Coefficient: %0.3f" % metrics.silhouette_score(X_pca, labels))

實(shí)現(xiàn)效果:

二、實(shí)現(xiàn)3個聚類以上,以9個類別聚類為例

import pandas as pd
import numpy as np
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
from sklearn.impute import SimpleImputer
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 讀取數(shù)據(jù)
data = pd.read_csv('E:\\shujuji\\Goods\\man.csv')
# 選擇用于聚類的列
features = ['Weight', 'BMI', 'Lung Capacity Score', '50m Running Score',   
            'Standing Long Jump Score', 'Sitting Forward Bend Score',   
            '1000m Running Score', 'Pulling Up Score', 'Total Score']
X = data[features]
# 處理缺失值
imputer = SimpleImputer(strategy='mean')
X_imputed = imputer.fit_transform(X)
# 數(shù)據(jù)標(biāo)準(zhǔn)化
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X_imputed)
# 應(yīng)用PCA降維到3維
pca = PCA(n_components=3)
X_pca = pca.fit_transform(X_scaled)
# 執(zhí)行K-means聚類
# 假設(shè)我們想要9個聚類
kmeans = KMeans(n_clusters=9, random_state=0).fit(X_pca)
labels = kmeans.labels_
# 將聚類標(biāo)簽添加到原始DataFrame中
data['Cluster'] = labels
# 3D可視化聚類結(jié)果
fig = plt.figure(1, figsize=(8, 6))
ax = fig.add_subplot(111, projection='3d')
unique_labels = set(labels)
colors = ['r', 'g', 'b', 'c', 'm', 'y', 'k', 'orange', 'purple']
for k, c in zip(unique_labels, colors):
    class_member_mask = (labels == k)
    xy = X_pca[class_member_mask]
    ax.scatter(xy[:, 0], xy[:, 1], xy[:, 2], c=c, label=f'Cluster {k}')
ax.set_title('PCA of Fitness Data with K-means Clustering')
ax.set_xlabel('Principal Component 1')
ax.set_ylabel('Principal Component 2')
ax.set_zlabel('Principal Component 3')
plt.legend()
plt.show()
# 打印每個聚類的名稱和對應(yīng)的數(shù)據(jù)點(diǎn)數(shù)量
cluster_centers = kmeans.cluster_centers_
for i in range(9):
    cluster_data = data[data['Cluster'] == i]
    print(f"Cluster {i}: Count: {len(cluster_data)}")
# 評估聚類效果
from sklearn import metrics
print("Silhouette Coefficient: %0.3f" % metrics.silhouette_score(X_pca, labels))

實(shí)現(xiàn)效果;

到此這篇關(guān)于使用python實(shí)現(xiàn)3D聚類圖的文章就介紹到這了,更多相關(guān)python 3D聚類圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • django 實(shí)現(xiàn)編寫控制登錄和訪問權(quán)限控制的中間件方法

    django 實(shí)現(xiàn)編寫控制登錄和訪問權(quán)限控制的中間件方法

    今天小編就為大家分享一篇django 實(shí)現(xiàn)編寫控制登錄和訪問權(quán)限控制的中間件方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Pandas日期處理之生成工作日與節(jié)假日

    Pandas日期處理之生成工作日與節(jié)假日

    Python中的Pandas 提供了許多日期處理功能,使得處理時間序列數(shù)據(jù)變得容易。本文將介紹如何使用 Pandas 生成工作日和節(jié)假日,感興趣的小伙伴可以收藏一下
    2023-05-05
  • python操作注冊表的方法實(shí)現(xiàn)

    python操作注冊表的方法實(shí)現(xiàn)

    Python提供了winreg模塊,可以用于操作Windows注冊表,本文就來介紹一下python操作注冊表的方法實(shí)現(xiàn),主要包括打開注冊表、讀取注冊表值、寫入注冊表值和關(guān)閉注冊表,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • Python安裝圖文教程 Pycharm安裝教程

    Python安裝圖文教程 Pycharm安裝教程

    這篇文章主要為大家詳細(xì)介紹了Pycharm及Python安裝圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 一文詳解Python中的subprocess模塊

    一文詳解Python中的subprocess模塊

    subprocess模塊是Python標(biāo)準(zhǔn)庫的一部分,提供了一個跨平臺的方法來生成新進(jìn)程、連接其輸入/輸出/錯誤管道,并獲取其返回碼,本文小編將和大家一起深入理解Python中的subprocess模塊,感興趣的小伙伴跟著小編一起來看看吧
    2024-08-08
  • 如何使用python的pillow庫生成圖像驗(yàn)證碼

    如何使用python的pillow庫生成圖像驗(yàn)證碼

    Pillow庫是一個強(qiáng)大的Python圖像處理庫,用于生成圖像驗(yàn)證碼,通過初始化圖像大小、驗(yàn)證碼字符長度和字體大小,生成隨機(jī)字符串、顏色、線和點(diǎn),最終生成驗(yàn)證碼圖像
    2025-01-01
  • Python?NumPy隨機(jī)抽模塊介紹及方法

    Python?NumPy隨機(jī)抽模塊介紹及方法

    這篇文章主要介紹了Python?NumPy隨機(jī)抽模塊介紹及方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-09-09
  • Python中pyserial 實(shí)現(xiàn)模擬串口通信的示例詳解

    Python中pyserial 實(shí)現(xiàn)模擬串口通信的示例詳解

    Python通過?pyserial?庫提供了強(qiáng)大的串口通信支持,使得開發(fā)者能夠快速實(shí)現(xiàn)串口數(shù)據(jù)的發(fā)送與接收,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-06-06
  • Python二叉搜索樹與雙向鏈表轉(zhuǎn)換實(shí)現(xiàn)方法

    Python二叉搜索樹與雙向鏈表轉(zhuǎn)換實(shí)現(xiàn)方法

    這篇文章主要介紹了Python二叉搜索樹與雙向鏈表轉(zhuǎn)換實(shí)現(xiàn)方法,涉及Python二叉搜索樹的定義、實(shí)現(xiàn)以及雙向鏈表的轉(zhuǎn)換技巧,需要的朋友可以參考下
    2016-04-04
  • Django用戶認(rèn)證系統(tǒng)如何實(shí)現(xiàn)自定義

    Django用戶認(rèn)證系統(tǒng)如何實(shí)現(xiàn)自定義

    這篇文章主要介紹了Django用戶認(rèn)證系統(tǒng)如何實(shí)現(xiàn)自定義,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11

最新評論

信阳市| 海南省| 威宁| 休宁县| 科技| 罗平县| 吉安市| 六枝特区| 常德市| 偏关县| 吴川市| 泾阳县| 偃师市| 西昌市| 乌拉特中旗| 定西市| 濉溪县| 无为县| 新郑市| 新闻| 白山市| 南宁市| 华蓥市| 吴忠市| 泉州市| 鲁山县| 金乡县| 甘孜县| 武穴市| 中牟县| 乾安县| 托里县| 吴桥县| 黄大仙区| 威宁| 山阳县| 民和| 汉阴县| 凌云县| 宝丰县| 太谷县|