【Python机器学习系列】一文搞懂机器学习中的转换器和估计器(附案例)

2023-12-24 13:58:59

一、引言

表格数据一套完整的机器学习建模流程如下:

图片

在机器学习中,转换器(Transformer)和估计器(Estimator)是两个重要的概念,转换器和估计器在机器学习中扮演不同的角色,但它们通常可以结合在一起构建一个完整的机器学习流程。

二、转换器

转换器(Transformer)是一种用于数据转换和预处理的对象或类。它接受输入数据,并对其进行某种形式的变换。转换器通常用于数据的特征工程,包括特征缩放、特征选择、特征提取等操作。

转换器的主要方法是fit和transformfit方法用于学习数据的转换规则,而transform方法则应用学习到的规则对数据进行转换。转换器的特点是无状态的,即它们不会存储任何关于数据的状态信息。转换器仅根据输入数据学习转换规则,并将其应用于新的数据。因此,转换器可以在训练集上学习转换规则,并在训练集之外的新数据上应用这些规则。

常见的转换器包括数据缩放器(如StandardScaler、MinMaxScaler)、特征选择器(如SelectKBest、PCA)、特征提取器(如CountVectorizer、TF-IDFVectorizer)等。

?案例:

准备数据

data = pd.read_csv(r'Dataset.csv')
df = pd.DataFrame(data)
target = 'target'
features = df.columns.drop(target)
X_train, X_test, y_train, y_test = train_test_split(df[features], df[target], test_size=0.2, random_state=0)

转换器

from sklearn.preprocessing import StandardScaler

# 创建一个StandardScaler转换器
scaler = StandardScaler()
# 在训练集上学习转换规则
scaler.fit(X_train)
# 对训练集和测试集进行特征缩放
X_train_scaled = scaler.transform(X_train)
X_test_scaled = scaler.transform(X_test)

三、估计器

估计器(Estimator)是实现机器学习算法的对象或类。它用于拟合(fit)数据并进行预测(predict)。估计器是机器学习模型的基本组成部分,用于从数据中学习模式、进行预测和进行模型评估。

估计器的主要方法是fit和predictfit方法用于根据输入数据学习模型的参数和规律,而predict方法用于对新的未标记样本进行预测。估计器的特点是有状态的,即它们在训练过程中存储了关于数据的状态信息,以便在预测阶段使用。估计器通过学习训练数据中的模式和规律来进行预测。因此,估计器需要在训练集上进行训练,并使用训练得到的模型参数对新数据进行预测。

常见的估计器包括分类器(classifier)、回归器(regresser)、聚类器(clusterer)。

案例:

回归器

from sklearn.linear_model import LinearRegression
# 创建一个回归器
model = LinearRegression()
# 在训练集上训练模型
model.fit(X_train_scaled, y_train)
# 对测试集进行预测
y_pred = model.predict(X_test_scaled)

本期内容就到这里,我们下期再见!需要数据集和源码的小伙伴可以关注私信作者或者底部公众号添加作者微信!

作者简介:

读研期间发表6篇SCI数据挖掘相关论文,现在某研究院从事数据算法相关科研工作,结合自身科研实践经历不定期分享关于Python、机器学习、深度学习、人工智能系列基础知识与应用案例。致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。

文章来源:https://blog.csdn.net/sinat_41858359/article/details/135180616
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。