我想分散一些数据点后,应用LDA变换到他们: 我写:
X= X.drop(['class'], axis=1)
X_lda = lda_transform(X, eigen_values, eigen_vectors, 2)
sumy = sum(np.unique(y_train))+1
yy = y_train/sumy
print(yy)
print(X_lda)
print(y_train)
plt.xlabel('LD1')
plt.ylabel('LD2')
plt.scatter(
X_lda.iloc[:,0],
X_lda.iloc[:,1],
c=yy,
cmap='rainbow')
/usr/local/lib/python3.6/dist-packages/matplotlib/colors.py in to_rgba_array(c, alpha)
277 result[mask] = 0
278 if np.any((result < 0) | (result > 1)):
--> 279 raise ValueError("RGBA values should be within 0-1 range")
280 return result
281 # Handle single values.
ValueError: RGBA values should be within 0-1 range
y_train是一个介于0.0到9.0之间的整数,它被认为是每个数据的类,我想用它作为该点的颜色。正如您所看到的,我甚至试图按要求在0-1之间正常化,但它仍然抛出一个错误。 问题来源StackOverflow 地址:/questions/59466325/matplotlib-rgba-values-should-be-within-0-1-range
您的集群是字符串。在matplotlib 2.1之前,数组被巧合地转换为数字,以便代码可以运行。在matplotlib 2.1中,您需要提供数字以便如此解释。例如
clusters = test['cluster'].astype(int)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。