程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了单例数组array(,dtype = object)不能视为有效集合大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决单例数组array(,dtype = object)不能视为有效集合?

开发过程中遇到单例数组array(,dtype = object)不能视为有效集合的问题如何解决?下面主要结合日常开发的经验,给出你关于单例数组array(,dtype = object)不能视为有效集合的解决方法建议,希望对你解决单例数组array(,dtype = object)不能视为有效集合有所启发或帮助;

发生此错误的原因是您的函数Train掩盖了您的变量Train,因此将其传递给自己。

您可以这样定义变量火车:

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

然后,在几行之后,您将定义一个方法序列,如下所示:

def Train(classifIEr, X, y):

因此实际发生的是,您先前的版本Train已更新为新版本。这意味着TrainNow并不会指向您想要的Dataframe对象,而是指向您定义的函数。在错误中将其清除。

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

请参见错误语句中的 。

重命名其中之一(变量或方法)。 :将函数重命名为诸如Training或之Training_func类的其他名称。

解决方法

不知道如何解决。任何帮助,不胜感激。我看到了向量化:不是有效的集合,但是不确定我是否理解这一点

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,target)

    <ipython-input-140-ac0e8d32795e> in Train(classifier,y)
          1 def Train(classifier,y):
    ----> 2     X_Train,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.

 ____

不知道如何解决。任何帮助,不胜感激。

大佬总结

以上是大佬教程为你收集整理的单例数组array(,dtype = object)不能视为有效集合全部内容,希望文章能够帮你解决单例数组array(,dtype = object)不能视为有效集合所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。