Python T-SNE无法将高维数据转换为超过4维的数据
我想在DBSCAN集群算法中使用T-sne特性,但sklearn实现并没有针对n_components>4运行Python T-SNE无法将高维数据转换为超过4维的数据,python,machine-learning,tsne,Python,Machine Learning,Tsne,我想在DBSCAN集群算法中使用T-sne特性,但sklearn实现并没有针对n_components>4运行 from sklearn.manifold import TSNE X = np.array([[0, 0, 0,2, 0, 0,2], [0, 1, 1,53, 0, 0,2], [1, 0, 1,12, 0, 0,2], [1, 1, 1,75, 0, 0,2]]) X_embedded = TSNE(n_components=5).fit_transform(X) 错误: Va
from sklearn.manifold import TSNE
X = np.array([[0, 0, 0,2, 0, 0,2], [0, 1, 1,53, 0, 0,2], [1, 0, 1,12, 0, 0,2], [1, 1, 1,75, 0, 0,2]])
X_embedded = TSNE(n_components=5).fit_transform(X)
错误:
ValueError Traceback (most recent call last)
<ipython-input-22-79c671f39a06> in <module>
----> 1 tsne_data = model.fit(clustering_ready_data_encoded)
~/anaconda3/lib/python3.8/site-packages/sklearn/manifold/_t_sne.py in fit(self, X, y)
902 y : Ignored
903 """
--> 904 self.fit_transform(X)
905 return self
~/anaconda3/lib/python3.8/site-packages/sklearn/manifold/_t_sne.py in fit_transform(self, X, y)
884 Embedding of the training data in low-dimensional space.
885 """
--> 886 embedding = self._fit(X)
887 self.embedding_ = embedding
888 return self.embedding_
~/anaconda3/lib/python3.8/site-packages/sklearn/manifold/_t_sne.py in _fit(self, X, skip_num_points)
685
686 if self.method == 'barnes_hut' and self.n_components > 3:
--> 687 raise ValueError("'n_components' should be inferior to 4 for the "
688 "barnes_hut algorithm as it relies on "
689 "quad-tree or oct-tree.")
ValueError: 'n_components' should be inferior to 4 for the barnes_hut algorithm as it relies on quad-tree or oct-tree.
ValueError回溯(最近一次调用)
在里面
---->1 tsne\u数据=model.fit(聚类\u就绪\u数据\u编码)
~/anaconda3/lib/python3.8/site-packages/sklearn/manifold//u t\u sne.py适合(self,X,y)
902 y:忽略
903 """
-->904自拟合变换(X)
905回归自我
~/anaconda3/lib/python3.8/site-packages/sklearn/manifold//u t\u sne.py in fit\u transform(self,X,y)
884在低维空间中嵌入训练数据。
885 """
-->886嵌入=自适配(X)
887自嵌入u=嵌入
888返回自嵌入_
~/anaconda3/lib/python3.8/site-packages/sklearn/manifold//u t\u sne.py in\u fit(self,X,skip\u num\u points)
685
686如果self.method=='barnes_-hut'和self.n_组件>3:
-->687 raise VALUE ERROR(“'n_components'应小于4表示”
688“所依赖的barnes_-hut算法”
689“四叉树或oct树。”)
ValueError:“n_components”对于barnes_-hut算法应低于4,因为它依赖于四叉树或oct树。
我知道T-sne不适合用于聚类算法中的功能,但我仍想尝试。您可以将method='exact'设置为barnes\u,但显然仅在n\u组件时有效