目录
一.字典特征值提取
二.英文文本特征值提取
三.中文文本特征值提取
需要导入的包
from sklearn.feature_extraction import DictVectorizer#用于字典特征值提起
from sklearn.feature_extraction.text import CountVectorizer#用于文本提取
"""用于中文分词"""
import jieba.analyse
import jieba
特征提取官方教程网址:https://scikit-learn.org/stable/modules/feature_extraction.html#feature-extraction
特征值提取的基本步骤:
1.实例化一个转换器类
2.调用fit_transform方法进行转换
有一点注意的,获取特征值名字时,get_feature_names()这个方法在sklearn 1.0版本中已经弃用,会在1.2版本中删除,可用get_feature_names_out()替代
一.字典特征值提取
def dict_demo():
"""
字典特征值提取
"""
data=https://www.it610.com/article/[{'name':'tutu','age':19},{'name':'lili','age':20},{'name':'haohao','age':21}]
#1.实例化一个转换器类
transfer=DictVectorizer(sparse=True)#sparse=True表示产生稀疏矩阵,可修改为Flase,默认值为True
#2.调用fit_transform
data_new=transfer.fit_transform(data)#对数据进行转换
print(transfer.get_feature_names_out())#打印特征值名字,get_feature_names()在1.0版本中已弃用,将在1.2版本删除
print(data_new.toarray())#打印特此矩阵
# print(data_new)#特征值的稀疏矩阵
if __name__ == '__main__':
dict_demo()
运行结果:
文章图片
二.英文文本特征值提取
def count_english():
"""
文本特征值提取
"""
data=https://www.it610.com/article/["I Iove three things in this world.","Sun,Moon and You.","Sun for morning,Moon for night,and You forever."]
#1.实例化一个转换器类
transfer=CountVectorizer(stop_words=['in','for'])#设置停用词
#2.调用fit_transform
data_new=transfer.fit_transform(data)#对数据进行转换
print(transfer.get_feature_names_out())#打印特征值名字
print(data_new.toarray())#打印特征值矩阵,数字代表是单词的次数
if __name__ == '__main__':
count_english()
运行结果:
文章图片
三.中文文本特征值提取 中文文本特征值提取的步骤只比英文文本提取的步骤多了一步,就是分词,英文句子是已经通过空格就分好词了,但是中文文本没有,所以我使用jieba模块进行分词,当然,大家也可以使用其他模块进行分词。
def cut_word(text):
jieba.load_userdict(['它的'])#设置自己的词库
return ' '.join(list(jieba.lcut(text)))
def count_chinese():
"""
中文文本特征抽取,使用jieba分词
"""
data=https://www.it610.com/article/['这寡独的黄昏','幕着雾与雨','我在我心的孤寂里','感觉到它的叹息。']
data_new=[]
for i in data:
data_new.append(cut_word(i))
#1.实例化一个转换器类
transfer=CountVectorizer()
#2.调用fit_transform
data_finall=transfer.fit_transform(data_new)
print(transfer.get_feature_names_out())#打印特征值名字
print(data_finall.toarray())#打印特征值矩阵
if __name__ == '__main__':
count_chinese()
运行结果:
文章图片
最后送大家一张好看图片吧
文章图片
【机器学习|python—sklearn特征提取】
推荐阅读
- 深度学习|我的NVIDIA开发者之旅——Caffe教程(3)使用sklearn和caffe进行简单逻辑回归实践
- 计算机视觉|opencv-python 机器视觉(宽度测量)
- #|YOLOv5的Tricks | 【Trick14】YOLOv5的val.py脚本的解析
- 项目|python文件中导入同目录下其他py文件
- pytorch入门|pytorch学习笔记——3.6~3.7Pytorch中定义网络的方式以及模型保存和加载方法
- PTA|2021 RoboCom 世界机器人开发者大赛-高职组(复赛)
- pytorch入门|pytorch学习笔记——3.5Pytorch中网络参数的初始化方法
- 机器学习|机器学习基本概念简介上
- Python入门系列(十一)一篇搞定python操作MySQL数据库