gpt4 book ai didi

python - 线性判别分析后仅绘制 2 个聚类而不是 3 个

转载 作者:太空宇宙 更新时间:2023-11-04 02:36:56 27 4
gpt4 key购买 nike

我无法将所有数据放入图表中。这是我得到的

click

这是我需要的

click

我正在使用这段代码:

import pandas
import matplotlib.pyplot as plt

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
import numpy as np

dataset = np.loadtxt("wine.data.csv", delimiter=",")
print(dataset)
X = dataset[:,1:14]
y = dataset[:,0]
target_names = ['class_0', 'class_1', 'class_2']

lda = LinearDiscriminantAnalysis(n_components=2)
X_lda = lda.fit(X,y).transform(X)
plt.figure()
for c, i, target_name in zip("rgb", [0, 1, 2], target_names):
plt.scatter(X_lda[y == i, 0], X_lda[y == i, 1], c=c, label=target_name)

plt.show()
plt.plot([-6,2],[-6,4],"k-")
plt.plot([5,0],[-6,4],"k-")
plt.legend()
plt.title('LDA of WINE dataset')
plt.show()

数据集从这里下载WINE dataset .我也在使用 Python 2.7。我对此很陌生,非常感谢任何帮助。提前致谢!

最佳答案

去掉第一个plt.show()

# plt.show() # remove this
plt.plot([-6,2],[-6,4],"k-")
plt.plot([5,0],[-6,4],"k-")
plt.legend()
plt.title('LDA of WINE dataset')
plt.show()

一旦您调用 plt.show(),绘图就会生成,您在该行以下的所有代码都将被忽略。

此外,将 [0, 1, 2] 更改为 [1, 2, 3]:

for c, i, target_name in zip("rgb", [1, 2, 3], target_names):
plt.scatter(X_lda[y == i, 0], X_lda[y == i, 1], c=c, label=target_name)

现在你得到了你想要的输出。

关于python - 线性判别分析后仅绘制 2 个聚类而不是 3 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47672534/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com