自然语言处理(NLP)在大数据分析中扮演着重要角色,尤其是在情感分析、文本分类和信息抽取等任务中。学习NLP时,常遇到的问题是如何处理大规模的文本数据,以及如何选择合适的模型进行训练。
如何用TF-IDF进行文本特征提取并构建分类模型?
from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.model_selection import train_test_split from sklearn.naive_bayes import MultinomialNB from sklearn.metrics import accuracy_score# 假设数据包含文本和标签 data = pd.read_csv('text_data.csv') X = data['text'] y = data['label']# 使用TF-IDF进行文本特征提取 vectorizer = TfidfVectorizer(stop_words='english') X_tfidf = vectorizer.fit_transform(X)# 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X_tfidf, y, test_size=0.2, random_state=42)# 使用朴素贝叶斯分类器 model = MultinomialNB() model.fit(X_train, y_train)# 预测并评估 y_pred = model.predict(X_test) accuracy = accuracy_score(y_test, y_pred) print(f'Accuracy: {accuracy}')