Scikit-learn(简称sklearn)是一个流行的Python机器学习库,提供了丰富的工具和算法,用于数据挖掘和数据分析。它建立在NumPy、SciPy和matplotlib等科学计算库的基础上,并为用户提供了简洁而强大的API,使得机器学习任务变得更加简单和高效。

Sklearn 内部封装了多种机器学习算法与数据处理算法,提供了包括数据清洗、数据预处理、建模调参、数据验证、数据可视化的全流程功能,是入门机器学习的必备工具。
一、安装Sklearn库
Sklearn 库可以简单地通过 pip 命令或 conda 命令安装即可,但要注意,安装名称是 scikit-learn:
# 使用 conda 安装conda install scikit-learn# 使用 pip 安装pip install scikit-learn
二、安装Pandas库
下面再介绍Pandas库:
Pandas是一个开源的Python数据分析库,提供了高性能、易于使用的数据结构和数据分析工具,使得数据处理和分析变得更加简单和高效。它建立在NumPy库的基础上,并提供了一种称为DataFrame的数据结构,用于处理和操作结构化数据。

#使用 conda 安装conda install pandas
可以使用 conda list 命令查看安装好的库列表,如图所示:

三、示例代码
这段代码使用了scikit-learn库中的TfidfVectorizer类来进行文本特征提取,同时也引入了numpy和pandas库。
from sklearn.feature_extraction.text import TfidfVectorizerimport numpy as npimport pandas as pd
TfidfVectorizer是scikit-learn库中的一个文本特征提取器,它用于将文本数据转换为数值特征向量。TfidfVectorizer基于TF-IDF(Term Frequency-Inverse Document Frequency)的概念,用于衡量一个词在文档中的重要性。
首先,定义了一个名为toy_corpus的列表,其中包含了三个文本样本。
toy_corpus= ["the fat cat sat on the mat", "the big cat slept", "the dog chased a cat"]
然后,创建了一个TfidfVectorizer对象,并将其赋值给变量vectorizer。TfidfVectorizer是一个用于计算TF-IDF(Term Frequency-Inverse Document Frequency)特征的工具,它可以将文本转换为向量表示。

TF-IDF是一种常用的文本特征表示方法,它结合了词频(TF)和逆文档频率(IDF)的概念。TF表示一个词在文档中出现的频率,IDF表示一个词在整个文档集合中的重要性。TF-IDF将这两个概念相乘,得到一个词的TF-IDF值,用于表示该词在文档中的重要程度。
vectorizer=TfidfVectorizer(use_idf=True)
接下来,调用vectorizer的fit_transform方法,将toy_corpus作为参数传入,用于计算文本的TF-IDF特征。fit_transform方法会返回一个稀疏矩阵corpus_tfidf,其中存储了文本样本的TF-IDF特征值。
corpus_tfidf=vectorizer.fit_transform(toy_corpus)
使用len函数获取了vectorizer的vocabulary_属性的键的数量,即词汇表的大小,并将其打印出来。
同时,使用corpus_tfidf的shape属性获取文档-词项矩阵的形状,并将其打印出来。
print(f"The vocabulary size is {len(vectorizer.vocabulary_.keys())} ")print(vectorizer.vocabulary_)print(f"The document-term matrix shape is {corpus_tfidf.shape}")print(corpus_tfidf)
输出结果:

最后,通过np.round函数将corpus_tfidf转换为一个DataFrame对象df,并使用vectorizer的get_feature_names_out方法获取特征名,并将其设置为DataFrame的列名。
df=pd.DataFrame(np.round(corpus_tfidf.toarray(),2))df.columns=vectorizer.get_feature_names_out()df
输出结果:

Pandas是一个用于数据分析和处理的Python库,它提供了一个高效的数据结构,称为DataFrame。DataFrame是一个二维的表格型数据结构,类似于电子表格或SQL中的表。它由行和列组成,每列可以包含不同的数据类型(例如整数、浮点数、字符串等)。
#AI人工智能#
评论留言