欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > AI人工智能之机器学习sklearn-特征提取

AI人工智能之机器学习sklearn-特征提取

2025/2/22 14:23:50 来源:https://blog.csdn.net/Bruce_csd1n/article/details/145780721  浏览:    关键词:AI人工智能之机器学习sklearn-特征提取

文章目录

      • 1、概要
      • 2.、特征提取
        • 2.1安装及引入包
        • 2.2 提取文本的特征 text.CountVectorizer
        • 2.3 提取字典特征 DictVectorizer
      • 3、 总结

1、概要

  本篇学习AI人工智能之机器学习sklearn库中特征提取,以字典数据和文本数据的词频统计为例,。

2.、特征提取

特征提取是将原始数据转换为更适合机器学习模型的特征表示

  • Scikit-learn提供了多种特征提取工具
  • DictVectorizer用于处理字典数据的词频统计
  • CountVectorizer用于文本数据的词频统计
2.1安装及引入包

python安装机器学习库:

pip install scikit-learn

然后引入下属包:

from sklearn.feature_extraction import text, DictVectorizer
from sklearn.preprocessing import StandardScaler, MinMaxScaler
from sklearn.model_selection import train_test_split
2.2 提取文本的特征 text.CountVectorizer
# 文本
text_data = ["hello world", "hello everyone", "world of programming"]
# 词频统计对象
v = text.CountVectorizer()
v
# 文本数据转换为词频矩阵, 提取文本特征 -> X
X = v.fit_transform(text_data)
X
<3x5 sparse matrix of type '<class 'numpy.int64'>'with 7 stored elements in Compressed Sparse Row format>
# 查看文本特征X的矩阵形状
X.shape
(3, 5)
# 查看X矩阵总数,共7个单词
X.sum()
7
# 查看词频矩阵
X.toarray()
array([[0, 1, 0, 0, 1],[1, 1, 0, 0, 0],[0, 0, 1, 1, 1]], dtype=int64)
# 词频矩阵转换为文本
v.inverse_transform(X)
[array(['hello', 'world'], dtype='<U11'),array(['hello', 'everyone'], dtype='<U11'),array(['world', 'of', 'programming'], dtype='<U11')]
2.3 提取字典特征 DictVectorizer

v = DictVectorizer()
X = v.fit_transform(D)assert X.shape == (3, 5)
assert X.sum() == 14
assert v.inverse_transform(X) == D
print(X.toarray())  # 打印词频矩阵
return X
# 示例字典
D = [{"foo": 1, "bar": 3}, {"bar": 4, "baz": 2}, {"bar": 1, "quux": 1, "quuux": 2}]
# 创建字典向量对象
v = DictVectorizer()
v
# 提取字典特征矩阵 X
X = v.fit_transform(D)
X
<3x5 sparse matrix of type '<class 'numpy.float64'>'with 7 stored elements in Compressed Sparse Row format>
X.shape  # 3行5列
(3, 5)
# 词频矩阵
X.toarray()
array([[3., 0., 1., 0., 0.],[4., 2., 0., 0., 0.],[1., 0., 0., 2., 1.]])
X.sum()  # 14个
14.0
# 向量返向转化
v.inverse_transform(X)
[{'bar': 3.0, 'foo': 1.0},{'bar': 4.0, 'baz': 2.0},{'bar': 1.0, 'quuux': 2.0, 'quux': 1.0}]

3、 总结

本篇以字典数据的词频统计和文本数据的词频统计为例,从代码视角讲述如何使用AI机器学习中特征提取工具。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词