yellowbrick t-SNE 拟合引发 ValueError
yellowbrick t-SNE fit raises ValueError
我正在尝试使用 yellowbrick 包中的 t-SNE 可视化数据。我遇到了一个错误。
import pandas as pd
from yellowbrick.text import TSNEVisualizer
from sklearn.datasets import make_classification
## produce random data
X, y = make_classification(n_samples=200, n_features=100,
n_informative=20, n_redundant=10,
n_classes=3, random_state=42)
## visualize data with t-SNE
tsne = TSNEVisualizer()
tsne.fit(X, y)
tsne.poof()
错误(由 fit 方法引发):
ValueError: The truth value of an array with more than one element
is ambiguous. Use a.any() or a.all()
在对参数进行一些试验后:
tsne.fit(X, y.tolist())
这不会引发错误,但不会产生任何输出。
最后,替换为字符串列表有效:
y_series = pd.Series(y, dtype="category")
y_series.cat.categories = ["a", "b", "c"]
y_list = y_series.values.tolist()
tsne.fit(X, y_list)
tsne.poof()
该库用于分析文本数据集,也许这就是为什么 documented y 不需要是字符串的原因。此外,错误消息没有帮助。
我正在尝试使用 yellowbrick 包中的 t-SNE 可视化数据。我遇到了一个错误。
import pandas as pd
from yellowbrick.text import TSNEVisualizer
from sklearn.datasets import make_classification
## produce random data
X, y = make_classification(n_samples=200, n_features=100,
n_informative=20, n_redundant=10,
n_classes=3, random_state=42)
## visualize data with t-SNE
tsne = TSNEVisualizer()
tsne.fit(X, y)
tsne.poof()
错误(由 fit 方法引发):
ValueError: The truth value of an array with more than one element
is ambiguous. Use a.any() or a.all()
在对参数进行一些试验后:
tsne.fit(X, y.tolist())
这不会引发错误,但不会产生任何输出。
最后,替换为字符串列表有效:
y_series = pd.Series(y, dtype="category")
y_series.cat.categories = ["a", "b", "c"]
y_list = y_series.values.tolist()
tsne.fit(X, y_list)
tsne.poof()
该库用于分析文本数据集,也许这就是为什么 documented y 不需要是字符串的原因。此外,错误消息没有帮助。