TF-IDF 向量示例(帮助)
TF-IDF Vectors Example (HELP)
嘿,我做了 3 种不同的方法,但我无法决定哪种方法是使用 TF-IDF 的正确方法:
第一个代码确实适合并转换为 x_train 和 x_test 分别给出 (5000, 94462)
(5000, 93007).
第二个代码同时使用训练和测试,我认为这是不正确的,因为 idf 仅根据训练文档计算,给出 (5000, 152800) (5000, 152800)。
第三个代码给出 (5000, 94462) (5000, 94462)。
对我来说,第三个代码是正确的,因为我只使用训练数据并根据它们转换测试数据。
from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer()
xtrain_tfidf = vectorizer.fit_transform(x_train)
xtest_tfidf = vectorizer.fit_transform(x_test)
print(xtrain_tfidf.shape)
print(xtest_tfidf.shape)
from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer()
vectorizer.fit(x_train+x_test)
xtrain_tfidf = vectorizer.transform(x_train)
xtest_tfidf = vectorizer.transform(x_test)
print(xtrain_tfidf.shape)
print(xtest_tfidf.shape)
from sklearn.feature_extraction.text import TfidfVectorizer
vect = TfidfVectorizer()
vect.fit(x_train)
x_test_vectorized = vect.transform(x_test)
正确的方法是fit
和transform
==fit_transform
你的训练数据和只有transform
测试数据.
from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer()
xtrain_tfidf = vectorizer.fit_transform(x_train)
xtest_tfidf = vectorizer.transform(x_test)
print(xtrain_tfidf.shape)
print(xtest_tfidf.shape)
你从来没有fit_transform
测试数据。
嘿,我做了 3 种不同的方法,但我无法决定哪种方法是使用 TF-IDF 的正确方法:
第一个代码确实适合并转换为 x_train 和 x_test 分别给出 (5000, 94462) (5000, 93007).
第二个代码同时使用训练和测试,我认为这是不正确的,因为 idf 仅根据训练文档计算,给出 (5000, 152800) (5000, 152800)。
第三个代码给出 (5000, 94462) (5000, 94462)。
对我来说,第三个代码是正确的,因为我只使用训练数据并根据它们转换测试数据。
from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer()
xtrain_tfidf = vectorizer.fit_transform(x_train)
xtest_tfidf = vectorizer.fit_transform(x_test)
print(xtrain_tfidf.shape)
print(xtest_tfidf.shape)
from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer()
vectorizer.fit(x_train+x_test)
xtrain_tfidf = vectorizer.transform(x_train)
xtest_tfidf = vectorizer.transform(x_test)
print(xtrain_tfidf.shape)
print(xtest_tfidf.shape)
from sklearn.feature_extraction.text import TfidfVectorizer
vect = TfidfVectorizer()
vect.fit(x_train)
x_test_vectorized = vect.transform(x_test)
正确的方法是fit
和transform
==fit_transform
你的训练数据和只有transform
测试数据.
from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer()
xtrain_tfidf = vectorizer.fit_transform(x_train)
xtest_tfidf = vectorizer.transform(x_test)
print(xtrain_tfidf.shape)
print(xtest_tfidf.shape)
你从来没有fit_transform
测试数据。