亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python代碼實(shí)現(xiàn)TSNE降維數(shù)據(jù)可視化教程

 更新時(shí)間:2020年02月28日 11:40:40   作者:WANG_DDD  
今天小編就為大家分享一篇python代碼實(shí)現(xiàn)TSNE降維數(shù)據(jù)可視化教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧

TSNE降維

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

python代碼

km.py

#k_mean算法
import pandas as pd
import csv
import pandas as pd 
import numpy as np
 
 
#參數(shù)初始化
inputfile = 'x.xlsx' #銷量及其他屬性數(shù)據(jù)
outputfile = 'x_1.xlsx' #保存結(jié)果的文件名
k = 2 #聚類的類別
iteration = 3 #聚類最大循環(huán)次數(shù)
 
data = pd.read_excel(inputfile, index_col = 'Id') #讀取數(shù)據(jù)
 
data_zs = 1.0*(data - data.mean())/data.std() #數(shù)據(jù)標(biāo)準(zhǔn)化,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類,并發(fā)數(shù)4
print('data_zs')
model.fit(data_zs) #開始聚類
 
#簡(jiǎn)單打印結(jié)果
r1 = pd.Series(model.labels_).value_counts() #統(tǒng)計(jì)各個(gè)類別的數(shù)目
r2 = pd.DataFrame(model.cluster_centers_) #找出聚類中心
r = pd.concat([r2, r1], axis = 1) #橫向連接(0是縱向),得到聚類中心對(duì)應(yīng)的類別下的數(shù)目
print('data_zs')
print(r)
r.columns = list(data.columns) + [u'類別數(shù)目'] #重命名表頭
print(r)
 
#詳細(xì)輸出原始數(shù)據(jù)及其類別
 
r = pd.concat([data, pd.Series(model.labels_, index = data.index)], axis = 1) #詳細(xì)輸出每個(gè)樣本對(duì)應(yīng)的類別
r.columns = list(data.columns) + [u'聚類類別'] #重命名表頭
r.to_excel(outputfile) #保存結(jié)果

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進(jìn)行數(shù)據(jù)降維并展示聚類結(jié)果
 
tsne = TSNE()
tsne.fit_transform(k.data_zs) #進(jìn)行數(shù)據(jù)降維,并返回結(jié)果
tsne = pd.DataFrame(tsne.embedding_, index = k.data_zs.index) #轉(zhuǎn)換數(shù)據(jù)格式
 
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] #用來(lái)正常顯示中文標(biāo)簽
plt.rcParams['axes.unicode_minus'] = False #用來(lái)正常顯示負(fù)號(hào)
 
#不同類別用不同顏色和樣式繪圖
d = tsne[k.r[u'聚類類別']== 0]  #找出聚類類別為0的數(shù)據(jù)對(duì)應(yīng)的降維結(jié)果
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()

數(shù)據(jù)格式

數(shù)據(jù)需要用xlsx文件存儲(chǔ),表頭名為Id。

執(zhí)行 TSNE.py即可獲得可視化圖片。

以上這篇python代碼實(shí)現(xiàn)TSNE降維數(shù)據(jù)可視化教程就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • flask循環(huán)導(dǎo)入的問題解決

    flask循環(huán)導(dǎo)入的問題解決

    循環(huán)導(dǎo)入是指兩個(gè)文件相互導(dǎo)入對(duì),本文主要介紹了flask循環(huán)導(dǎo)入的問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • python中類的相互調(diào)用的實(shí)踐

    python中類的相互調(diào)用的實(shí)踐

    本文主要介紹了python中類的相互調(diào)用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python自動(dòng)化辦公之Word文檔的創(chuàng)建與生成

    Python自動(dòng)化辦公之Word文檔的創(chuàng)建與生成

    這篇文章主要為大家詳細(xì)介紹了如何通過python腳本來(lái)自動(dòng)生成一個(gè)?word文檔,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-05-05
  • Python?切片為什么不會(huì)索引越界?

    Python?切片為什么不會(huì)索引越界?

    這篇文章主要介紹了Python?切片為什么不會(huì)索引越界?切片(slice)是?Python?中一種很有特色的特性,在正式開始之前,我們先來(lái)從關(guān)于切片的相關(guān)知識(shí)開始介紹,感興趣的小伙伴一起參考參考呀</P><P>
    2021-12-12
  • 通過cmd進(jìn)入python的步驟

    通過cmd進(jìn)入python的步驟

    在本篇文章里小編給大家整理了關(guān)于通過cmd進(jìn)入python的步驟和實(shí)例,需要的朋友們可以參考下。
    2020-06-06
  • python實(shí)現(xiàn)批量監(jiān)控網(wǎng)站

    python實(shí)現(xiàn)批量監(jiān)控網(wǎng)站

    本文給大家分享的是一個(gè)非常實(shí)用的,python實(shí)現(xiàn)多網(wǎng)站的可用性監(jiān)控的腳本,并附上核心點(diǎn)解釋,有相同需求的小伙伴可以參考下
    2016-09-09
  • python __add__()的具體使用

    python __add__()的具體使用

    本文主要介紹了python __add__()的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 關(guān)于不懂Chromedriver如何配置環(huán)境變量問題解決方法

    關(guān)于不懂Chromedriver如何配置環(huán)境變量問題解決方法

    這篇文章主要介紹了關(guān)于不懂Chromedriver如何配置環(huán)境變量問題解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2019-06-06
  • python/sympy求解矩陣方程的方法

    python/sympy求解矩陣方程的方法

    今天小編就為大家分享一篇python/sympy求解矩陣方程的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-11-11
  • 關(guān)于yolov5的一些簡(jiǎn)單說(shuō)明(txt文件、訓(xùn)練結(jié)果分析等)

    關(guān)于yolov5的一些簡(jiǎn)單說(shuō)明(txt文件、訓(xùn)練結(jié)果分析等)

    使用YOLOV5訓(xùn)練數(shù)據(jù)之后我們需要一些評(píng)判標(biāo)準(zhǔn)來(lái)告訴我們所訓(xùn)練的效果究竟如何,下面這篇文章主要給大家介紹了關(guān)于yolov5的一些簡(jiǎn)單說(shuō)明,主要是txt文件、訓(xùn)練結(jié)果分析等的相關(guān)資料,需要的朋友可以參考下
    2022-06-06

最新評(píng)論