日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python用tsne降维图像_python代码实现TSNE降维数据可视化教程

發布時間:2025/3/20 python 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python用tsne降维图像_python代码实现TSNE降维数据可视化教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

TSNE降維jne免費資源網

降維就是用2維或3維表示多維數據(彼此具有相關性的多個特征數據)的技術,利用降維算法,可以顯式地表現數據。(t-SNE)t分布隨機鄰域嵌入 是一種用于探索高維數據的非線性降維算法。它將多維數據映射到適合于人類觀察的兩個或多個維度。jne免費資源網

python代碼jne免費資源網

km.pyjne免費資源網

#k_mean算法

import pandas as pd

import csv

import pandas as pd

import numpy as np

#參數初始化

inputfile = 'x.xlsx' #銷量及其他屬性數據

outputfile = 'x_1.xlsx' #保存結果的文件名

k = 2 #聚類的類別

iteration = 3 #聚類最大循環次數

data = pd.read_excel(inputfile, index_col = 'Id') #讀取數據

data_zs = 1.0*(data - data.mean())/data.std() #數據標準化,std()表示求總體樣本方差(除以n-1),numpy中std()是除以n

print('data_zs')

from sklearn.cluster import KMeans

model = KMeans(n_clusters = k, max_iter = iteration) #分為k類

#model = KMeans(n_clusters = k, n_jobs = 4, max_iter = iteration) #分為k類,并發數4

print('data_zs')

model.fit(data_zs) #開始聚類

#簡單打印結果

r1 = pd.Series(model.labels_).value_counts() #統計各個類別的數目

r2 = pd.DataFrame(model.cluster_centers_) #找出聚類中心

r = pd.concat([r2, r1], axis = 1) #橫向連接(0是縱向),得到聚類中心對應的類別下的數目

print('data_zs')

print(r)

r.columns = list(data.columns) + [u'類別數目'] #重命名表頭

print(r)

#詳細輸出原始數據及其類別

r = pd.concat([data, pd.Series(model.labels_, index = data.index)], axis = 1) #詳細輸出每個樣本對應的類別

r.columns = list(data.columns) + [u'聚類類別'] #重命名表頭

r.to_excel(outputfile) #保存結果

TSNE.pyjne免費資源網

# coding=utf-8

from sklearn.manifold import TSNE

from pandas.core.frame import DataFrame

import pandas as pd

import numpy as np

import km as k

#用TSNE進行數據降維并展示聚類結果

tsne = TSNE()

tsne.fit_transform(k.data_zs) #進行數據降維,并返回結果

tsne = pd.DataFrame(tsne.embedding_, index = k.data_zs.index) #轉換數據格式

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei'] #用來正常顯示中文標簽

plt.rcParams['axes.unicode_minus'] = False #用來正常顯示負號

#不同類別用不同顏色和樣式繪圖

d = tsne[k.r[u'聚類類別']== 0] #找出聚類類別為0的數據對應的降維結果

plt.plot(d[0], d[1], 'r.')

d = tsne[k.r[u'聚類類別'] == 1]

plt.plot(d[0], d[1], 'go')

#d = tsne[k.r[u'聚類類別'] == 2]

#plt.plot(d[0], d[1], 'b*')

plt.savefig("data.png")

plt.show()

數據格式jne免費資源網

數據需要用xlsx文件存儲,表頭名為Id。jne免費資源網

執行 TSNE.py即可獲得可視化圖片。jne免費資源網

jne免費資源網

以上這篇python代碼實現TSNE降維數據可視化教程就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。jne免費資源網

總結

以上是生活随笔為你收集整理的python用tsne降维图像_python代码实现TSNE降维数据可视化教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。