詳細解答T-SNE程序中from sklearn.manifold import TSNE的數據設置,包括輸入數據,繪制顏色的參數設置,代碼復制可用!!

在這里插入圖片描述

文章目錄

  • 前言——TSNE是t-Distributed Stochastic Neighbor Embedding的縮寫
  • 1、可運行的T-SNE程序
  • 2. 實驗結果
  • 3、針對上述程序我們詳細分析T-SNE的使用方法
    • 3.1 加載數據
    • 3.2 TSNE降維
    • 3.3 繪制點
    • 3.4 關于顏色設置,顏色使用的標簽數據的說明c=y
  • 總結


前言——TSNE是t-Distributed Stochastic Neighbor Embedding的縮寫

TSNE是t-Distributed Stochastic Neighbor Embedding的縮寫,它是一個非線性降維算法。

TSNE的主要作用和優點如下:

  • 高維數據投影到低維空間,如二維或三維,實現高維數據的可視化。

  • 相比其他降維方法如PCA,TSNE在保留局部結構信息上的效果更好,尤其適用于高維稠密數據。

  • 它可以很好地區分數據中的簇結構,有利于觀察不同類別或類型的數據分布情況

1、可運行的T-SNE程序

from sklearn.datasets import load_iris
from sklearn.manifold import TSNE
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('TkAgg')# 加載數據
iris = load_iris()
X = iris.data
y = iris.target# TSNE降維
tsne = TSNE(n_components=2, random_state=0)
X_tsne = tsne.fit_transform(X)# 繪制點
plt.scatter(X_tsne[:,0], X_tsne[:,1], c=y, marker='o', s=5)# 添加圖例
plt.legend(iris.target_names)# 添加標題
plt.title("TSNE projection of the Iris dataset")plt.show()

2. 實驗結果

在這里插入圖片描述

3、針對上述程序我們詳細分析T-SNE的使用方法

3.1 加載數據

  • load_iris()函數從sklearn.datasets模塊加載鳶尾花數據集,
  • iris包含數據集的特征數據X標簽數據y

3.2 TSNE降維

  • TSNE是一種非線性降維算法,用于高維數據的可視化。它可以將高維數據投影到二維或三維空間。

  • TSNE(n_components=2)實例化一個TSNE模型,降維后的維度數設為2

  • random_state=0固定隨機數種子,使得結果可重復

  • fit_transform(X)對特征數據X進行降維,返回降維后的新特征X_tsne。

3.3 繪制點

  • X_tsne包含每個樣本的二維坐標

  • plt.scatter以(x,y)坐標方式繪制每個點,c=y指定點的顏色

  • marker='o’設置點的形狀為圓形

  • s=5控制點的大小

通過TSNE降維,高維數據X被投影到二維空間,得到低維表示X_tsne。然后根據X_tsne和y進行散點圖繪制,就可以實現TSNE降維結果的可視化。這是TSNE的標準流程。

3.4 關于顏色設置,顏色使用的標簽數據的說明c=y

c=y這行代碼的含義和作用是:

  • c參數用于設置散點圖中每個點的顏色。

  • y變量包含了樣本的類別標簽信息。對于鳶尾花數據集來說,y取值為0、1或2,分別表示三種花的類別

  • 當我們設置c=y時,就是根據每個樣本在y中的類別標簽值,來動態設置這個樣本點在散點圖中的顏色

  • 具體來說:

    • 如果一個樣本的y值為0,那么這個點的顏色就會取顏色映射中的第一個顏色。

    • 如果y值為1,點顏色取第二個顏色。

    • 如果y值為2,點顏色取第三個顏色。

  • 這樣每個類別的樣本點就會使用不同的顏色來繪制,從而在可視化結果中清晰區分開各個類別。


總結

  • 在科研中,TSNE廣泛應用于圖像分類、自然語言處理等領域的數據降維和可視化。

  • 比如對神經網絡分類結果進行TSNE降維,可以觀察不同類別樣本在特征空間中的分布,有助于分析模型表現。

  • 對文本語料進行TSNE降維,可以觀察詞匯在語義空間中的分布,幫助理解語義結構。

  • 對單細胞RNA-seq數據進行TSNE降維,可以觀察不同類型細胞在表達空間中的分布,有助于發現新型細胞亞群。

所以總體來說,TSNE通過高效的降維和保留局部結構,有助于科研人員直觀觀察高維數據的內在結構,分析模型效果,發現數據中的新知識,從而推動科研工作的進展。它為數據可視化和理解提供了重要的工具支持。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/168250.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/168250.shtml
英文地址,請注明出處:http://en.pswp.cn/news/168250.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Centos Download

前言 CentOS Linux 是一個社區支持的發行版,源自 CentOS git for Red Hat Enterprise Linux (RHEL) 上免費提供給公眾的源代碼。因此,CentOS Linux 的目標是在功能上與 RHEL 兼容。CentOS 計劃主要更改組件以刪除上游供應商的品牌…

Redis的四種模式:單機、主從、哨兵、集群

一、簡單理解 單機模式:安裝你的redis,啟動服務即為單機模式。 主從模式:一個主節點搭配一個或多個從節點,無自動故障轉移功能,主節點發生故障后,需要人工將其中一個從節點設置為主節點。 哨兵模式&…

【微服務專題】SpringBoot自動配置源碼解析

目錄 前言閱讀對象閱讀導航前置知識筆記正文0、什么是自動配置0.1 基本概念0.2 SpringBoot中的【約定大于配置】0.3 從SpringMVC看【約定大于配置】0.4 從Redis看【約定大于配置】 一、EnableAutoConfiguration源碼解析二、SpringBoot常用條件注解源碼解析2.1 自定義條件注解2.…

java 反射和注解1-反射詳解

反射和注解本就是一家人,注解離不開反射,這里先將反射的寫法,本文涉到的注解暫時可以不不用理解 1,創建一個類 public class ReflexUser {public String name;private String namePrivate;protected String nameProtected;Strin…

Arduino庫之 LedControl 庫說明文檔

LedControl 庫最初是為基于 8 位 AVR 處理器的 Arduino 板編寫的。用于通過MAX7219芯片控制LED矩陣和7段數碼管。但由于該代碼不使用處理器的任何復雜的內部功能,因此具有高度可移植性,并且應該在任何支持 和 功能的 Arduino(類似&#xff09…

模擬火車訂票系統---python序列

if __name__ __main__:#創建車輛信息列表list["車次","出發站-到達站","出發時間","到達時間","歷時","余票"]trainNumber[T40,T298,Z158,Z62]address[長春-北京,長春-北京,長春-北京,長春-北京]getTime[00:12,0…

簡單介紹一下js中的構造函數、原型對象prototype、對象原型__proto__、原型鏈

構造函數 function Star (uname, age){this.uname unamethis.age agethis.sing function(){ log(唱歌~) }}let xzq new Star(薛之謙, 30)let ldh new Star(劉德華, 20)log(ldh) // { uname: 劉德華, age: 20, sing: f }ldh.sing() // 唱歌~log(ldh.sing xzq.sing) // fal…

DevEco Studio安裝

HUAWEI DevEco Studio For OpenHarmony(以下簡稱DevEco Studio)是基于IntelliJ IDEA Community開源版本打造,面向OpenHarmony全場景多設備的一站式集成開發環境(IDE),為開發者提供工程模板創建、開發、編譯…

uniapp時間選擇器

Uniapp 是一套基于Vue.js 開發的跨平臺開發框架,它能夠以一套代碼編譯成多個平臺的應用,包括 iOS、Android、H5 等。要實現時間選擇器可以使用uni-app提供的組件picker,它可以用于選擇器、時間選擇器、日期選擇器等場景。 以下是一個簡單的時…

Docker的簡單介紹

Docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的Linux或Windows操作系統的機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。 Docker…

服務器被入侵了怎么去排查

在當今數字化時代,網絡安全問題變得越來越重要。其中,服務器被入侵是一種常見的安全威脅。當服務器被入侵時,我們需要采取一系列措施來排查和解決問題。本文將為您提供服務器被入侵后的排查步驟。 第一步:確認服務器被入侵 當發現…

用opencv繪制一個箭頭,沿著圓運動并留下運動軌跡(c++)

用opencv繪制一個箭頭,沿著圓運動并留下運動軌跡(c)。基于該例程可以簡單實現一個運動小車的模型。 using namespace cv;int main() {// 創建一個黑色背景的圖像,大小為400*400Mat image(400, 400, CV_8UC3, Scalar(0, 0, 0));//…

C語言進階之路-基本數據小怪篇

目錄 一、學習目標: 二、數據基本類型 整型 浮點型 / 實型 字符 字符串 布爾型數據 三、重要的雜七雜八知識點 常量與變量 標準輸入 sizeof運算符: 類型轉換 數據類型的本質 整型數據尺寸 可移植性整型 拿下第一個C語言程序 總結 一、學…

UE小計:頂部工具欄按鈕添加下拉列表,大綱列表、資源管理窗口右鍵添加按鍵

下拉列表 void FYouPluginsModule::StartupModule() {FYouToolStyle::Initialize();FYouToolStyle::ReloadTextures();FYouToolCommands::Register();PluginCommands MakeShareable(new FUICommandList);PluginCommands->MapAction(FYouToolCommands::Get().PackByCloudAc…

web前端之引入svg圖片、html引入點svg文件、等比縮放、解決裁剪問題、命名空間、object標簽、阿里巴巴尺量圖、embed標簽、iframe標簽

MENU 前言直接在頁面編寫svg使用img標簽引入通過css引入使用object標簽引入其他標簽參考資料 前言 web應用開發使用svg圖片的方式,有如下幾種方式 1、直接在頁面編寫svg 2、使用img標簽引入 3、通過css引入 4、使用object標簽引入 直接在頁面編寫svg 在html頁面直接…

LeetCode Hot100 101.對稱二叉樹

題目&#xff1a; 給你一個二叉樹的根節點 root &#xff0c; 檢查它是否軸對稱。 代碼&#xff1a; class Solution {public boolean isSymmetric(TreeNode root) {if(rootnull || (root.leftnull && root.rightnull)) {return true;}//用隊列保存節點LinkedList<…

高防CDN在網站搭建中的優劣勢分析

隨著網絡攻擊的日益增多和惡性化&#xff0c;網站安全性成為網站搭建中至關重要的一環。高防CDN&#xff08;Content Delivery Network&#xff09;作為一種有效的安全防護手段&#xff0c;扮演著保護網站免受惡意攻擊的角色。本文將從網站搭建的角度&#xff0c;深入分析高防C…

vue3+ts+vite 打包報錯 TS2304: Cannot find name ‘xxx‘

都說vue組合式api好&#xff0c;那必須來一套試試&#xff0c;而且element ui的demo全是lang"ts"了 改成組合式api沒問題&#xff0c;但是當加上lang"ts"之后就瘋狂報錯 src/components/table/tableshow.vue:7:28 - error TS2304: Cannot find name tempsh…

【網易云商】構建高效 SaaS 系統的技術要點與最佳實踐

SaaS 是什么 定義 相信大家都對云服務中的 IaaS、PaaS、SaaS 早就有所耳聞&#xff0c;現在更是衍生出了 aPaaS、iPaaS、DaaS 等等的類似概念。對于 SaaS 也有各種各樣的定義&#xff0c;本文給出的定義是&#xff1a; SaaS 是一種基于互聯網提供服務和軟件的交付模式&#xf…

水果編曲軟件FL Studio21.2下載安裝教程

簡稱FL&#xff0c;全稱&#xff1a;Fruity Loops Studio&#xff0c;因此國人習慣叫它"水果"。目前最新版本(包括測試版本)是FL Studio21.2&#xff0c;它讓你的計算機就像是全功能的錄音室&#xff0c;大混音盤&#xff0c;非常先進的制作工具&#xff0c;讓你的音…