亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python代碼如何實現TSNE降維數據可視化

發布時間:2021-05-23 15:28:02 來源:億速云 閱讀:583 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關python代碼如何實現TSNE降維數據可視化的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

TSNE降維

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

km.py

#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.py

# 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()

數據格式

數據需要用xlsx文件存儲,表頭名為Id。

執行 TSNE.py即可獲得可視化圖片。

python代碼如何實現TSNE降維數據可視化

Python的優點有哪些

1、簡單易用,與C/C++、Java、C# 等傳統語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向對象,能夠支持面向過程編程,也支持面向對象編程;4、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠實現所有的常見功能。

感謝各位的閱讀!關于“python代碼如何實現TSNE降維數據可視化”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

方正县| 府谷县| 肇源县| 樟树市| 红安县| 常山县| 吕梁市| 岗巴县| 安顺市| 青浦区| 临洮县| 尉氏县| 江山市| 卢湾区| 敦煌市| 明光市| 晋宁县| 宝清县| 农安县| 仙桃市| 监利县| 泸州市| 西充县| 兴仁县| 湖州市| 二手房| 阿鲁科尔沁旗| 武夷山市| 即墨市| 宜章县| 乌兰察布市| 岑溪市| 无锡市| 同仁县| 宁强县| 丹江口市| 长岛县| 绥滨县| 和田市| 连平县| 伊春市|