回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在为机器学习课程做练习。
我在一个矩阵上附加了一个数组形式的图像数据集到datamatrix中,然后我将其标准化,然后计算主成分。
Labels是一个数组,包含每个图像的标签(即包含标签的子目录)
我需要想象一对主成分,在这一部分中是前两个。教授的建议是使用散点图函数,我找到了seaborn.散点图功能似乎更好,但没有两个我设法把一个与标签上的名字图例。你知道吗</p>
<pre><code>pca = PCA()
X_t = pca.fit_transform(datamatrix)
X_r = pca.inverse_transform(X_t)
plt.figure(figsize=(25,5))
colours = ['r','g','b','p']
plt.subplot(1, 3, 1)
sns.scatterplot(X_t[:,0], X_t[:,1], hue=labels, palette=colours, legend='full')
plt.title('PC 1 and 2')
</code></pre>
<p>我不熟悉Python和机器学习库</p>
<p>编辑:
正如我建议的那样,我试着修改cod:</p>
<pre><code>data = {"x" : X_t[:,0], "y" : X_t[:,1], "label" : labels}
sns.scatterplot(x="x", y="y", hue="label", palette=colours, data=data, legend='full')
</code></pre>
<p>但我得到了相同的结果:我有图例,但没有标签的名称
<a href="https://i.stack.imgur.com/F6dii.jpg" rel="nofollow noreferrer">capture</a></p>