python-3.x - 获取:AttributeError:“list”对象在尝试运行 NLP 分类模型时没有属性“lower”
问题描述
尝试按照代码运行但得到 AttributeError:
# Vectorize training and testing data
def Vectorize(vec, X_train, X_test):
X_train_vec = vec.fit_transform(X_train)
X_test_vec = vec.transform(X_test)
print('Vectorization complete.\n')
return X_train_vec, X_test_vec
# Use multiple classifiers and grid search for prediction
def ML_modeling(models, params, X_train, X_test, y_train, y_test):
if not set(models.keys()).issubset(set(params.keys())):
raise ValueError('Some estimators are missing parameters')
for key in models.keys():
model = models[key]
param = params[key]
gs = GridSearchCV(model, param, cv=5, error_score=0, refit=True)
gs.fit(X_train, y_train)
y_pred = gs.predict(X_test)
# Print scores for the classifier
print(key, ':', gs.best_params_)
print("Precision: %1.3f \tRecall: %1.3f \t\tF1: %1.3f\n" % (precision_score(y_test, y_pred, average='macro'), recall_score(y_test, y_pred, average='macro'), f1_score(y_test, y_pred, average='macro')))
return
models = {
'Naive Bayes': GaussianNB()
}
params = {
'Naive Bayes': { 'alpha': [0.5, 1], 'fit_prior': [True, False] }
}
# Train-test split and vectorize
X_train_vec, X_test_vec = Vectorize(TfidfVectorizer(), train["Abstract"], test["Abstract"])
ML_modeling(models, params, X_train_vec, X_test_vec, train.Include, test.Include)
尝试运行 NLP 分类模型 (TFIDF)a。但得到属性错误。
AttributeError Traceback (last recent call last) in 43 # Train-test split and vectorize 44 # X_train, X_test, y_train, y_test = train_test_split(df['text'], df['category'], test_size=0.2, shuffle=True ) ---> 45 X_train_vec, X_test_vec = Vectorize(TfidfVectorizer(), train["Abstract"], test["Abstract"]) 46 47 ML_modeling(models, params, X_train_vec, X_test_vec, train.Include, test.Include)
在 Vectorize(vec, X_train, X_test) 4 def Vectorize(vec, X_train, X_test): 5 ----> 6 X_train_vec = vec.fit_transform(X_train) 7 X_test_vec = vec.transform(X_test) 8
预处理后的数据: 在此处输入图像描述
如何摆脱这个属性错误?
解决方案
推荐阅读
- flutter - Flutter Web:如何修复 SelectableText 对齐?
- visual-studio-2013 - 加载 Crystal Report 后 Visual Studio 冻结
- javascript - 在电子与反应应用程序中如何从最小化状态恢复后解决空白白屏
- python - create_app(test_config=None) 即使没有被调用也可以工作
- django - 从 django 字段中的 ENUM 中获取特定选择
- android - Helvetica Neue 在 Android 上加载良好
- swift - 如何禁用 3D Touch 链接预览
- java - 用java打印SQL表
- ios - 无法处理我的 UIView 的交互状态
- flutter - 颤动-切换到主频道后显示错误