gpt4 book ai didi

python - 单例数组 array(, dtype=object) 不能被视为有效集合

转载 作者:太空狗 更新时间:2023-10-29 20:43:16 24 4
gpt4 key购买 nike

不确定如何修复。非常感谢任何帮助。我看到了 Vectorization: Not a valid collection但不确定我是否理解这一点

train = df1.iloc[:,[4,6]]
target =df1.iloc[:,[0]]

def train(classifier, X, y):
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=33)
classifier.fit(X_train, y_train)
print ("Accuracy: %s" % classifier.score(X_test, y_test))
return classifier

trial1 = Pipeline([
('vectorizer', TfidfVectorizer()),
('classifier', MultinomialNB()),])

train(trial1, train, target)

错误如下:

    ----> 6 train(trial1, train, target)

<ipython-input-140-ac0e8d32795e> in train(classifier, X, y)
1 def train(classifier, X, y):
----> 2 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=33)
3
4 classifier.fit(X_train, y_train)
5 print ("Accuracy: %s" % classifier.score(X_test, y_test))

/home/manisha/anaconda3/lib/python3.5/site-packages/sklearn/model_selection/_split.py in train_test_split(*arrays, **options)
1687 test_size = 0.25
1688
-> 1689 arrays = indexable(*arrays)
1690
1691 if stratify is not None:

/home/manisha/anaconda3/lib/python3.5/site-packages/sklearn/utils/validation.py in indexable(*iterables)
204 else:
205 result.append(np.array(X))
--> 206 check_consistent_length(*result)
207 return result
208

/home/manisha/anaconda3/lib/python3.5/site-packages/sklearn/utils/validation.py in check_consistent_length(*arrays)
175 """
176
--> 177 lengths = [_num_samples(X) for X in arrays if X is not None]
178 uniques = np.unique(lengths)
179 if len(uniques) > 1:

/home/manisha/anaconda3/lib/python3.5/site-packages/sklearn/utils/validation.py in <listcomp>(.0)
175 """
176
--> 177 lengths = [_num_samples(X) for X in arrays if X is not None]
178 uniques = np.unique(lengths)
179 if len(uniques) > 1:

/home/manisha/anaconda3/lib/python3.5/site-packages/sklearn/utils/validation.py in _num_samples(x)
124 if len(x.shape) == 0:
125 raise TypeError("Singleton array %r cannot be considered"
--> 126 " a valid collection." % x)
127 return x.shape[0]
128 else:

TypeError: Singleton array array(<function train at 0x7f3a311320d0>, dtype=object) cannot be considered a valid collection.

____

不确定如何修复。非常感谢任何帮助。我看到了 Vectorization: Not a valid collection但不确定我是否理解这一点

最佳答案

出现这个错误是因为你的函数 train 屏蔽了你的变量 train,因此它被传递给了它自己。

解释:

您可以像这样定义一个变量序列:

train = df1.iloc[:,[4,6]]

然后在几行之后,你定义了一个这样的方法训练:

def train(classifier, X, y):

所以实际发生的是,您以前版本的 train 已更新为新版本。这意味着 train 现在不指向您想要的 Dataframe 对象,而是指向您定义的函数。在错误中它被清除。

array(<function train at 0x7f3a311320d0>, dtype=object)

查看错误语句中的函数序列

解决方案:

重命名其中之一(变量或方法)。建议:将函数重命名为其他名称,例如 trainingtraining_func 或类似名称。

关于python - 单例数组 array(<function train at 0x7f3a311320d0>, dtype=object) 不能被视为有效集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43222882/

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