Python 2.7 SKlearn:通过读取目录中的多个文件来加载培训数据

Python 2.7 SKlearn:通过读取目录中的多个文件来加载培训数据,python-2.7,vector,similarity,Python 2.7,Vector,Similarity,我可以从单个文件中输入测试数据,没有任何问题。但是,每当我尝试从目录中的多个文件输入数据时,就会出现以下错误:AttributeError:“NoneType”对象没有属性“lower”。请看下面我的代码,我将感谢任何帮助。谢谢 from sklearn.feature_extraction.text import CountVectorizer from sklearn.feature_extraction.text import TfidfTransformer from nltk.corp

我可以从单个文件中输入测试数据,没有任何问题。但是,每当我尝试从目录中的多个文件输入数据时,就会出现以下错误:AttributeError:“NoneType”对象没有属性“lower”。请看下面我的代码,我将感谢任何帮助。谢谢

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
from nltk.corpus import stopwords
import numpy as np
import numpy.linalg as LA

import os
path = "C:\zircon"

def radfil():
    for file in os.listdir(path):
        current = os.path.join(path, file)
        if os.path.isfile(current):
            data = open(current, "rb").read()
            print data

train_set = [radfil()]
test_set = ["The sun in the sky is bright."]
stopWords = stopwords.words('english')

vectorizer = CountVectorizer(stop_words=stopWords, min_df=1)
#print vectorizer
transformer = TfidfTransformer()
#print transformer

trainVectorizerArray = vectorizer.fit_transform(train_set).toarray()
testVectorizerArray = vectorizer.transform(test_set).toarray()
print 'Fit Vectorizer to train set', trainVectorizerArray
print 'Transform Vectorizer to test set', testVectorizerArray

我猜您的错误是由于尝试在非类型的变量中执行lower()操作引起的。也许这是发生在

trainVectorizerArray = vectorizer.fit_transform(train_set).toarray()
radfil()将返回None类型。尝试组合文件中的数据,并将return语句添加到radfil()。
这就是我在没有完整堆栈跟踪的情况下所能做的

你能粘贴整个堆栈跟踪吗?