机器学习特征提取API总结
sklearn特征抽取APIsklearn.feature_extraction1.字典特征抽取应用DictVectorizer实现对字典数据类别特征进行数值化、离散化sklearn.feature_extraction.DictVectorizerDicVectorizer语法DicVectorizer(sparse=True)DictVectorizer.fit_transform(X)X:字
sklearn特征抽取API
sklearn.feature_extraction
1.字典特征抽取
应用DictVectorizer实现对字典数据类别特征进行数值化、离散化
sklearn.feature_extraction.DictVectorizer
- DicVectorizer语法
- DicVectorizer(sparse=True)
- DictVectorizer.fit_transform(X)
- X:字典或者包含字典的迭代器
- 返回值:返回sparse矩阵
- DictVectorizer.fit_transform(X)
- DictVectorizer.inverse_transform(X)
- X:array数组或者sparse矩阵
- 返回值:转换之前数据格式
- DictVectorizer.get_feature_names()
- 返回类别名称:DictVectorizer.transform(X)
- 按照原先的标准转换
- DicVectorizer(sparse=True)
流程:
1.实例化类DictVectorizer
2.调用fit_transform方法输入数据并转换
返回格式:sparse矩阵
from sklearn.feature_extraction import DictVectorizer
dict = DictVectorizer()
dict.fit_transform([{'city':'北京'}])#注意X的输入格式
print(dict.get_feature_names())
3.调用get_feature_names()方法返回类别名称
2.应用CountVectorizer实现对文本特征进行数值化
sklearn.feature_extraction.text.CountVectorizer
CountVectorizer语法
- CountVectorizer()
- 返回:词频矩阵
- CountVectorizer.fit_transform(X)
- X:文本或者包含文本字符串的可迭代对象
- 返回值:返回sparse矩阵
- CountVectorizer.inverse_transform(X)
- X:array数组或者sparse矩阵
- 返回值:转换之前数据格式
- CountVectorizer.get_feature_names()
- 返回值:单词列表
流程:
1.实例化CountVectorizer
2.调用fit_transform方法
由于导入的数据X为[‘str1’,‘str2’,‘str3’],中文字符串每个字符串都要以空格分隔
导入jieba进行分词jieba.cut() 填入字符串
统计每篇文章每个词的出现次数
单个字母或者汉字不统计(没有分类依据)
返回格式:sparse矩阵 运用toarray转化为数组
3.调用get_feature_names()方法返回单词列表
返回所有文章中的所有词,重复的只看做一次
from sklearn.feature_extraction.text import CountVectorizer
import jieba
vector = CountVectorizer()
a1 = jieba.cut('机器学习大数据深度学习强化学习数据分析')
b1 = list(a1)
res = vector.fit_transform(b1) #填入要训练的列表
print(vector.get_feature_names())
print(res.toarray())
3.应用TfidfVectorizer实现对文本特征进行数值化
sklearn.feature_extraction.text.TfidfVectorizer
tf idf
Tf:词的频率 出现的次数
idf:逆文档频率 log(总文档数量/词出现的文档数量)
tf*idf 重要性
- TfidfVectorizer(stop_words=None,…)
- X:文本或者包含文本字符串的可迭代对象
- 返回值:返回sparse矩阵
- TfidfVectorizer.inverse_transform(X)
- X:array数组或者sparse矩阵
- 返回值:转换之前数据格式
- TfidfVectorizer.get_feature_names()
- 返回值:单词列表
from sklearn.feature_extraction.text import TfidfVectorizer
import jieba
tfidf = TfidfVectorizer()
cutword1 = jieba.cut('人生苦短')
cutword2 = jieba.cut('我不喜欢蟒蛇')
c1 = list(cutword1)
c2 = list(cutword2)
b1 = ' '.join(c1)
b2 = ' '.join(c2)
data = tfidf.fit_transform([b1,b2])
print(tfidf.get_feature_names())
print(data.toarray())
更多推荐
所有评论(0)