python - NameError:名称“fit_classifier”未定义
问题描述
我正在尝试制作一个文本分类器
import pandas as pd
import pandas
from sklearn import svm
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import CountVectorizer, TfidfTransformer
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.multiclass import OneVsOneClassifier
from sklearn.svm import SVC
from sklearn import cross_validation
from sklearn.metrics import confusion_matrix
dataset = pd.read_csv('data.csv', encoding = 'utf-8')
data = dataset['text']
labels = dataset['label']
X_train, X_test, y_train, y_test = train_test_split (data, labels, test_size = 0.2, random_state = 0)
count_vector = CountVectorizer()
tfidf = TfidfTransformer()
classifier = OneVsOneClassifier(SVC(kernel = 'linear', random_state = 84))
train_counts = count_vector.fit_transform(X_train)
train_tfidf = tfidf.fit_transform(train_counts)
classifier.fit(train_tfidf, y_train)
test_counts = count_vector.transform(X_test)
test_tfidf = tfidf.transform(test_counts)
classifier.predict(test_tfidf)
fit_classifier(X_train, y_train)
predicted = predict(X_test)
print("confusion matrix")
print(confusion_matrix(X_test, predicted, labels = labels))
print("cross validation")
test_counts = count_vector.fit_transform(data)
test_tfidf = tfidf.fit_transform(test_counts)
scores = cross_validation.cross_val_score(classifier, test_tfidf, labels, cv = 10)
print(scores)
print("Accuracy: {} +/- {}".format(scores.mean(), scores.std() * 2))
但我有以下错误,我无法理解。
回溯(最近一次通话最后):
文件“classificacao.py”,第 37 行,在 fit_classifier(X_train, y_train)
NameError:名称“fit_classifier”未定义
但是fit并不总是默认定义的?
解决方案
您正在调用一个不存在的函数:
fit_classifier(X_train, y_train)
为了适合您的分类器,您将使用
分类器.fit(X_train, y_train)
反而。尝试预测测试数据时,您会遇到同样的错误。你需要改变
预测 = 预测(X_test)
至
预测 = 分类器.预测(X_test)
你的 Confusionmatrix 应该得到你的标签,而不是你的测试数据:
打印(confusion_matrix(y_test,预测,标签=标签))
推荐阅读
- apache-kafka-streams - Kafka Streams DSL:将 KStream 聚合到 GlobalKTable
- javascript - 将 Blob 对象从 Angular 应用 Chrome 浏览器拖放到 windows
- python-3.x - 在 Flask 中解析 GET 请求正文?
- apache-spark - PySpark to_utc_timestamp 返回同一时间
- sql-server - 在 azure 函数 powershell 中使用 bcp
- c# - 当 FTP 服务器上有大量文件时,FtpWebResponse 抛出异常代码 550
- css - 从父组件角度更改子组件样式但不是全局更改
- webpack - Aurelia2 的哪个模块加载器?
- c# - 单击html元素时如何将html元素ID存储为剃须刀页面中的局部变量
- html - 通过 CSS 删除 Wordpress for Mobile 中的填充和边距