Multicore-TSNE

文章目錄

  • TSNE
  • 使用scikit-learn庫
  • 使用Multicore-TSNE庫
    • 安裝方法
    • 基本使用方法
    • 采用不同的距離度量
  • 其他資料

TSNE

  • t-Distributed Stochastic Neighbor Embedding (t-SNE) 是一種高維數據的降維方法,由Laurens van der Maaten和Geoffrey Hinton于2008年提出,通常用于數據可視化。其大致原理是在低維(通常是2D或3D)空間中保留高維空間中的距離關系

使用scikit-learn庫

  • TSNE的代碼實現通常基于scikit-learn庫
  • 具體參數可參考官網手冊:https://scikit-learn.org/stable/modules/generated/sklearn.manifold.TSNE.html

使用Multicore-TSNE庫

  • Multicore-TSNE的項目地址:
    https://github.com/DmitryUlyanov/Multicore-TSNE

  • 優點:

    • 使用方法與與scikit-learn庫基本一致
    • 計算速度相對于scikit-learn庫可大幅提升
  • 缺點:

    • 功能相比scikit-learn庫大幅減少
    • 默認僅實現了基于歐式距離的降維計算

安裝方法

  • 方法1:直接pip安裝
pip install MulticoreTSNE
  • 方法2:源碼編譯安裝
git clone https://github.com/DmitryUlyanov/Multicore-TSNE.git
cd Multicore-TSNE/
pip install .

基本使用方法

  • Multicore-TSNE庫的基本使用方法非常簡單,與scikit-learn庫基本一致:
from MulticoreTSNE import MulticoreTSNE as TSNEtsne = TSNE(n_jobs=4)
Y = tsne.fit_transform(X)
  • 詳情可看源碼:https://github.com/DmitryUlyanov/Multicore-TSNE/blob/master/MulticoreTSNE/init.py

采用不同的距離度量

  • Multicore-TSNE默認僅實現了基于歐式距離的降維計算,然而,很多時候,我們希望采用其他距離度量。幸運的是,根據 https://github.com/DmitryUlyanov/Multicore-TSNE/issues/49 中的回答,已有大佬基于Multicore-TSNE庫進行了二次開發,其中可以采用的距離度量包括:
    • Euclidean distance
    • Squared euclidean distance
    • Angular distance
    • Cosine distance (not a real metric)
    • Precomputed distance marix
  • 安裝方式:源碼編譯安裝
git clone https://github.com/asanakoy/Multicore-TSNE.git
cd Multicore-TSNE/
pip install .
  • 以手動計算特征向量之間的余弦距離為例:
from MulticoreTSNE import MulticoreTSNE as TSNE
from sklearn.metrics.pairwise import cosine_similarity# 計算余弦相似度矩陣
similarity_matrix = cosine_similarity(feats.cpu().numpy())# 將余弦相似度轉換為距離矩陣
distance_matrix = 1 - similarity_matrixtsne = TSNE(n_jobs=4, metric="precomputed", random_state=42)
X_tsne = tsne.fit_transform(distance_matrix)

其他資料

  • Multicore-TSNE 項目常見問題解決方案
  • 用 GPU 加速 TSNE:從幾小時到幾秒

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

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

相關文章

SI5338-EVB Usage Guide(LVPECL、LVDS、HCSL、CMOS、SSTL、HSTL)

目錄 1. 簡介 1.1 EVB 介紹 1.2 Si5338 Block Diagram 2. EVB 詳解 2.1 實物圖 2.2 基本配置 2.2.1 Universal Pin 2.2.2 IIC I/F 2.2.3 Input Clocks 2.2.4 Output Frequencies 2.2.5 Output Driver 2.2.6 Freq and Phase Offset 2.2.7 Spread Spectrum 2.2.8 快…

Spring AI應用系列——基于OpenTelemetry實現大模型調用的可觀測性實踐

一、項目背景與目標 在AI應用日益復雜的今天,大模型服務(如語言理解和生成)的性能監控和問題排查變得尤為關鍵。為了實現對大模型調用鏈路的可觀測性(Observability)管理,我們基于 Spring Boot Spring AI…

Spyglass:官方Hands-on Training(一)

相關閱讀 Spyglasshttps://blog.csdn.net/weixin_45791458/category_12828934.html?spm1001.2014.3001.5482 本文是對Spyglass Hands-on Training中第一個實驗的翻譯(有刪改),Lab文件可以從以下鏈接獲取。Spyglass Hands-on Traininghttps:…

PCB設計工藝規范(三)走線要求

走線要求 1.走線要求2.固定孔、安裝孔、過孔要求3.基準點要求4.絲印要求 1.走線要求 印制板距板邊距離:V-CUT 邊大于 0.75mm,銑槽邊大于0.3mm。為了保證 PCB 加工時不出現露銅的缺陷,要求所有的走線及銅箔距離板邊:V-CUT邊大于 0.75mm,銑槽邊…

抓取工具Charles配置教程(mac電腦+ios手機)

mac電腦上的配置 1. 下載最新版本的Charles 2. 按照以下截圖進行配置 2.1 端口號配置: 2.2 https配置 3. mac端證書配置 4. IOS手機端網絡配置 4.1 先查看電腦上的配置 4.2 配置手機網絡 連接和電腦同一個wifi,然后按照以下截圖進行配置 5. 手機端證書…

【CSS】精通Flex布局(全)

目錄 1. flex布局體驗 1.1 傳統布局 與 flex布局 1.2 初體驗 2. flex布局原理 2.1 布局原理 3. flex布局父項常見屬性 3.1 常見父項屬性 3.2 屬性值 3.3 justify-content 設置主軸上的子元素排列方式 3.4 flex-wrap設置子元素是否換行 3.5 align-items 設置側軸上的…

力扣第447場周賽

這次終于趕上力扣的周賽了, 賽時成績如下(依舊還是三題 ): 1. 統計被覆蓋的建筑 給你一個正整數 n,表示一個 n x n 的城市,同時給定一個二維數組 buildings,其中 buildings[i] [x, y] 表示位于坐標 [x, y] 的一個 唯一 建筑。 如…

AI中常用概念的理解

1. RAG(檢索增強生成) 通俗理解:就像你寫作業時,先查課本 / 百度找資料,再根據資料寫答案,而不是純靠記憶瞎編。 AI 模型(比如 ChatGPT)回答問題時,先去 “數據庫 / 互聯…

SQLServer多版本兼容Java方案和數據采集

Maven引入 <dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>sqljdbc4</artifactId><version>4.0</version></dependency><dependency><groupId>net.sourceforge.jtds</groupId><ar…

【每日八股】復習 Redis Day4:線程模型

文章目錄 復習 Redis Day4&#xff1a;線程模型介紹一下 Redis 的線程模型核心線程模型&#xff08;Redis 6.0 之前&#xff09;Redis 6.0 的多線程改進Redis 真的是單線程嗎&#xff1f;Redis 的線程模型剖析 上一篇 Redis 的應用我今天才完成&#xff0c;因此明天一并復習 Re…

樹莓派智能攝像頭實戰指南:基于TensorFlow Lite的端到端AI部署

引言&#xff1a;嵌入式AI的革新力量 在物聯網與人工智能深度融合的今天&#xff0c;樹莓派這一信用卡大小的計算機正在成為邊緣計算的核心載體。本文將手把手教你打造一款基于TensorFlow Lite的低功耗智能監控設備&#xff0c;通過MobileNetV2模型實現實時物體檢測&#xff0…

vs2019編譯occ7.9.0時,出現fatal error C1060: compiler is out of heap space

問題描述 visual studio 2019編譯opencascade 7.9.0時&#xff0c;出現編譯錯誤 fatal error C1060: compiler is out of heap space 解決方案 修改vs2019并行編譯的線程個數&#xff0c;默認是12個&#xff0c;我改成了4個&#xff0c;問題解決 Tools > Project and Sol…

vue跨域問題總結筆記

目錄 一、Websocket跨域問題 1.nginx配置 2.VUE CLI代理 3.env.development配置 4.nginx日志 5.解決 一、解決跨域的幾種常用方法 1.Vue CLI代理 2.JSONP 3.WebSocket 4.NGINX解決跨域問題 6.Java解決跨域 二、Vue跨域問題詳解 1. 什么是跨域 2. 跨域的例子 3.…

數據結構篇:線性表的另一表達—鏈表之單鏈表(下篇)

目錄 1.前言 2.是否使用二級指針 3.插入/刪除 3.1 pos位置前/后插入 3.2 查找函數 3.3 pos位置刪除 3.4 pos位置后面刪除 3.5 函數的銷毀 4.斷言問題 4.1 斷言pphead 4.2 斷言*pphead 5.三個文件的代碼 5.1 頭文件 5.2 具體函數實現 5.3 測試用例 1.前言 之前是講…

完美解決react-native文件直傳阿里云oss問題一

前言 通常情況下&#xff0c;作為前后端分離的項目來說&#xff0c;文件上傳是最尋常的功能之一。雖然每個公司選擇的文件管理云庫各不相同&#xff0c;但實現思路基本一致。我所在公司使用阿里云oss文件管理&#xff0c;之前服務端做了透傳&#xff0c;但是由于每個測試環境的…

5.運輸層

5. 運輸層 1. 概述 第2~4章依次介紹了計算機網絡體系結構中的物理層、數據鏈路層和網絡層&#xff0c;它們共同解決了將主機通過異構網絡互聯起來所面臨的問題&#xff0c;實現了主機到主機的通信然而在計算機網絡中實際進行通信的真正實體&#xff0c;是位于通信兩端主機中的…

告別手動時代!物聯網軟件開發讓萬物自動互聯

清晨&#xff0c;智能窗簾隨著陽光自動拉開&#xff1b;運動時&#xff0c;手表精準記錄著健康數據&#xff1b;回到家&#xff0c;室溫早已調節至最舒適狀態...這些場景的實現&#xff0c;都離不開物聯網軟件開發的技術支撐。在智能家居軟件開發、智能穿戴軟件開發、醫療器械軟…

Fiori學習專題十二:Shell Control as Container

為了讓我們的app更加適應不同的設備&#xff0c;這節課我們引入shell控件作為根元素 1.修改App.view.xml&#xff0c;加入Shell控件 <mvc:ViewcontrollerName"ui5.walkthrough.controller.App"xmlns"sap.m"xmlns:mvc"sap.ui.core.mvc"displa…

AI 與高性能計算的深度融合:開啟科技新紀元

在當今科技迅猛發展的時代&#xff0c;人工智能&#xff08;AI&#xff09;與高性能計算&#xff08;HPC&#xff09;正以前所未有的態勢深度融合&#xff0c;這種融合宛如一場強大的風暴&#xff0c;席卷并重塑著眾多領域的格局。從科學研究的突破到商業應用的革新&#xff0c…

「Unity3D」TextMeshPro使用TMP_InputField實現,輸入框高度自動擴展與收縮

先看實現效果&#xff1a; 要實現這個效果&#xff0c;有三個方面的問題需要解決&#xff1a; 第一&#xff0c;輸入框的高度擴展&#xff0c;內部子元素會隨著錨點&#xff0c;拉伸變形——要解決這個問題&#xff0c;需要將內部元素改變父類&#xff0c;然后增加父類高度&am…