首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python学习抛出ValueError

python学习抛出ValueError
EN

Stack Overflow用户
提问于 2017-04-03 16:25:09
回答 1查看 452关注 0票数 1

我有一个带有解释性变量的pd.DataFrame :x和另一个带有目标变量y的数据。

代码语言:javascript
复制
type(X)
Out[1]: pandas.core.frame.DataFrame

X_num.shape
Out[2]: (1213, 3298)

代码语言:javascript
复制
type(y)

Out[3]: pandas.core.frame.DataFrame

y.shape
Out[4]: (1213, 8)

我只想用y的一列来计算LDA:

代码语言:javascript
复制
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA
lda = LDA(n_components=2)
    for col in y:
        X_t = lda.fit(X.copy(), y[col].copy())

Y有一个列名。

代码语言:javascript
复制
y[col].name
Out[5]: u'myvarname'

但我总是会犯错误

代码语言:javascript
复制
ValueError: Unknown label type: (array([ 0.001, 0.003 ...

我也试过

代码语言:javascript
复制
X_t = lda.fit(X.copy(), y[col].values.copy())

也犯了同样的错误。

根据所需的帮助,如Y

代码语言:javascript
复制
Y : array-like of response, shape = [n_samples, n_targets]
Target vectors, where n_samples in the number of samples 
and n_targets is the number of response variables.

有人知道我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-03 16:41:19

线性判别分析是一种分类技术。根据您的错误,Y值涉及某种类型的浮点值数组:

代码语言:javascript
复制
array([ 0.001, 0.003 ...

sklearn不知道如何将其解释为类别标签。你确定你应该使用的是LDA而不是某种回归吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43189690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档