NLTK库主要用于自然语言处理任务,不直接提供计算模型评估指标的功能。一般来说,要计算模型评估指标,可以使用其他库如scikit-learn或者直接编写代码来计算。以下是一个示例代码,演示如何使用scikit-learn库计算模型评估指标:
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression import nltk from nltk.corpus import movie_reviews # Load movie reviews dataset nltk.download('movie_reviews') documents = [(list(movie_reviews.words(fileid)), category) for category in movie_reviews.categories() for fileid in movie_reviews.fileids(category)] text = [" ".join(document) for document, category in documents] labels = [category for document, category in documents] # Vectorize the text data from sklearn.feature_extraction.text import CountVectorizer vectorizer = CountVectorizer() X = vectorizer.fit_transform(text) # Split the data into training and testing sets X_train, X_test, y_train, y_test = train_test_split(X, labels, test_size=0.2, random_state=42) # Train a logistic regression model model = LogisticRegression() model.fit(X_train, y_train) # Make predictions on the test set y_pred = model.predict(X_test) # Calculate evaluation metrics accuracy = accuracy_score(y_test, y_pred) precision = precision_score(y_test, y_pred, average='macro') recall = recall_score(y_test, y_pred, average='macro') f1 = f1_score(y_test, y_pred, average='macro') print(f"Accuracy: {accuracy}") print(f"Precision: {precision}") print(f"Recall: {recall}") print(f"F1 Score: {f1}")
上述代码使用scikit-learn库加载电影评论数据集,训练了一个逻辑回归模型,并计算了准确率、精确率、召回率和F1分数等模型评估指标。您可以根据实际需求修改代码以适应不同的数据集和模型。