欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python sklearn中tsne算法降維結(jié)果不一致問題的解決方法

 更新時(shí)間:2023年10月17日 10:50:57   作者:菠蘿哥~  
最近在做一個(gè)文本聚類的分析,在對(duì)文本數(shù)據(jù)embedding后,想著看下數(shù)據(jù)的分布,于是用sklearn的TSNE算法來降維embedding后的數(shù)據(jù)結(jié)果,當(dāng)在多次執(zhí)行后,竟發(fā)現(xiàn)TSNE的結(jié)果竟然變了,而且每次都不一樣,所以本文就給大家講講如何解決sklearn中tsne算法降維結(jié)果不一致的問題

背景

最近在做一個(gè)文本聚類的分析,在對(duì)文本數(shù)據(jù)embedding后,想著看下數(shù)據(jù)的分布,于是用sklearn的TSNE算法來降維embedding后的數(shù)據(jù)結(jié)果。當(dāng)在多次執(zhí)行后,竟發(fā)現(xiàn)TSNE的結(jié)果竟然變了,而且每次都不一樣。

主要的邏輯就是用的下面兩行函數(shù):

tsne = TSNE(n_components=2)
decomposition_data = tsne.fit_transform(embeddings)

解決流程

之前只是在網(wǎng)上隨便找了個(gè)做TSNE的博客,粘了這兩行代碼就跑結(jié)果了,出現(xiàn)了這個(gè)問題后,決定還是得好好看看sklearn中的官方文檔。官網(wǎng)鏈接:https://scikit-learn.org/0.16/modules/generated/sklearn.manifold.TSNE.html

sklearn的相關(guān)參數(shù)說明如下圖所示:

有一個(gè)參數(shù),"random_state", 我用紅框標(biāo)出了。TSNE在運(yùn)算的時(shí)候,會(huì)初始化一個(gè)隨機(jī)的種子點(diǎn),如果沒有指定該參數(shù)的話,默認(rèn)該參數(shù)為None,同時(shí)會(huì)使用mumpy.random隨機(jī)生成一個(gè)數(shù)作為種子點(diǎn)。這也是導(dǎo)致每次生成的TSE降維結(jié)果都是不一致的原因。

所以后面的解決方案就很簡(jiǎn)單了。將random_states隨便賦予一個(gè)固定值就好了。我這次就把random_state設(shè)置成了0了,將上述代碼改為:

tsne = TSNE(n_components=2, random_state=0)
decomposition_data = tsne.fit_transform(embeddings)

問題解決。

以上就是python sklearn中tsne算法降維結(jié)果不一致問題的解決方法的詳細(xì)內(nèi)容,更多關(guān)于python tsne算法降維結(jié)果不一致的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論