前面(一)中用一种简化的方式是直接使用TfidfVectorizer来生成TF-IDF向量,这里我们按照一般的方式将生成TF-IDF向量分成两个步骤:1.生成词频向量. 2.生成TF-IDF向量。最后我们开始训练我们的MultinomialNB分类器。
TfidfVectorizer 将原始文档的集合转换为tf - idf特性的矩阵 ,
相当于CountVectorizer配合TfidfTransformer使用的效果
TfidfVectorizer类将CountVectorizer和TfdfTransformer类封装在一起
下面是1.生成词频向量. 2.生成TF-IDF向量。的代码
#划分训练集和测试集
from sklearn.model_selection import train_test_split
df_train = pd.read_csv('news_clean.csv')
X_train, X_test, y_train, y_test = train_test_split(df_train['contents_clean'].values,df_train['label'].values,random_state=1)
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.naive_bayes import MultinomialNB
count_vect = CountVectorizer(analyzer='word',max_features=1000,lowercase=False)
X_train_counts = count_vect.fit_transform(X_train)
# print(X_tr