利用TF-idf对数据进行处理
这也是一个小例子。
document = ["I have a pen.","I have an apple."]tf = TfidfVectorizer(ngram_range=(1,2),analyzer='char') # 按照字符来做特征,最大范围是两个字符,最小是一个字符
discuss_tf = tf.fit_transform(document)
words = tf.get_feature_names()
print(words)
print(discuss_tf)
N-gram 特征提取
自己来实现了一个N-gram提取方法,代码如下:
def getNgram(sen,n):leng = len(sen)res = []for i in range(leng-n+1):resOne = []for j in range(n):resOne.append(sen[i+j])res.append(resOne)return ressen = ["我","喜欢","中国","杭州"]
res = getNgram(sen,3)
print(res)
其中sen是切词后的列表,可以用jieba分析工具
参考博客
TF-IDF方法提取文本特征–TfidfVectorizer 工具
unigram