我正在研究从Kaggle获得的youtube数据集,我正在学习关于文本分类的教程,https://github.com/agrawal-rohit/Text-Classification-Analysis/blob/master/Text%20Classification%20Analysis.ipynb。 在此数据集中,有一个视频类别列,它是一个描述视频的字符串。 我的问题是关于标签编码器部分。我知道标签编码器用于将文本转换为数字进行分类。这是密码
# Encode classes
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
le.fit(data.Category)
data.Category = le.transform(data.Category)
data.head(5)
然后,应用TF-IDF对文本特征进行矢量化
# TF-IDF
from sklearn.feature_extraction.text import TfidfVectorizer
tfidf_title = TfidfVectorizer(sublinear_tf=True, min_df=5, norm='l2', encoding='latin-1', ngram_range=(1, 2), stop_words='english')
tfidf_desc = TfidfVectorizer(sublinear_tf=True, min_df=5, norm='l2', encoding='latin-1', ngram_range=(1, 2), stop_words='english')
labels = data.Category
features_title = tfidf_title.fit_transform(data.Title).toarray()
features_description = tfidf_desc.fit_transform(data.Description).toarray()
print('Title Features Shape: ' + str(features_title.shape))
print('Description Features Shape: ' + str(features_description.shape))
最后,为每个类打印5个最重要的特性
# Best 5 keywords for each class using Title Feaures
from sklearn.feature_selection import chi2
import numpy as np
N = 5
for current_class in list(le.classes_):
current_class_id = le.transform([current_class])[0]
features_chi2 = chi2(features_title, labels == current_class_id)
indices = np.argsort(features_chi2[0])
feature_names = np.array(tfidf_title.get_feature_names())[indices]
unigrams = [v for v in feature_names if len(v.split(' ')) == 1]
bigrams = [v for v in feature_names if len(v.split(' ')) == 2]
print("# '{}':".format(current_class))
print("Most correlated unigrams:")
print('-' *30)
print('. {}'.format('\n. '.join(unigrams[-N:])))
print("Most correlated bigrams:")
print('-' *30)
print('. {}'.format('\n. '.join(bigrams[-N:])))
print("\n")
我这里的问题是,如果我已经有一个category_id列和一个category列,那么显示哪个id属于哪个类(这里我不需要编码器部分)。 在本例中,for循环从编码器列表中提取类别。那么,我如何在不使用这里的编码部分的情况下循环遍历category_id列并打印属于该id的类别呢
for current_class in list(le.classes_):
current_class_id = le.transform([current_class])[0]
目前没有回答
相关问题 更多 >
编程相关推荐