为了账号安全,请及时绑定邮箱和手机立即绑定

fit() 到底在这里做什么?

fit() 到底在这里做什么?

侃侃尔雅 2022-06-28 18:05:14
好吧,基本上我想知道 fit() 函数一般是做什么的,尤其是在下面的代码片段中。我参加机器学习 AZ 课程是因为我对机器学习很陌生(我刚刚开始)。我知道一些基本的概念术语,但不知道技术部分。代码1:from sklearn.impute import SimpleImputermissingvalues = SimpleImputer(missing_values = np.nan, strategy = 'mean', verbose = 0) missingvalues = missingvalues.fit(X[:, 1:3])X[:, 1:3] = missingvalues.transform(X[:, 1:3])其他一些我仍然有疑问的例子代码 2:from sklearn.preprocessing import StandardScalersc_X = StandardScaler()print(sc_X)X_train = sc_X.fit_transform(X_train)print(X_train)X_test = sc_X.transform(X_test)我认为,如果我知道此功能的一般用途以及一般情况下的具体用途,我会很高兴。但我当然想知道该代码在做什么
查看完整描述

2 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

这也是一个很好的检查可能性:https ://scikit-learn.org/stable/tutorial/basic/tutorial.html

-fit方法总是在机器学习中学习一些东西。

您通常有以下步骤:

  1. 将您的数据分成两个/三个数据集

  2. 选择你的数据的一部分来学习/训练一些东西(通常X_trainfit

  3. 使用学习算法来预测看不见的数据(通常X_testpredict

在您的第一个示例中:missingvalues.fit(X[:, 1:3]) 您正在根据仅使用 columnSimpleImputer的数据进行训练,而您使用转换来覆盖此数据。X1,2,3

在您的第二个示例中:您正在对两个数据集进行训练StandardScalerX_train正在使用此训练X_train, X_test,StandardScaler 从中X_train学习,这意味着如果他知道必须将 10 转换为 2,他将在两组中将 10 转换为 2 X_train, X_test


查看完整回答
反对 回复 2022-06-28
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

Sklearn 使用类。有关 Python中的类的更多信息,请参阅Python 文档。有关sklearn特别的更多信息,请查看此sklearn 文档

以下是您如何在sklearn.

首先,您使用or实例化您的sklearn类。sc_X = StandardScaler()missingvalues = SimpleImputer(...)

对象sc_Xmissingvalues,每个都有方法。您可以使用键入的方法object_name.method_name(...)。例如,您在键入时使用fit_transform()了实例的方法, . 此方法将获取您的数据并返回它的缩放版本。它既s(确定缩放参数)和s(应用缩放)到您的数据。该方法将使用它为之前的数据学习的相同缩放参数来转换新数据。sc_Xsc_X.fit_transform(...)fittransformtransform()

在第一个示例中,您已将fittransform方法分成两行,但想法是相似的——您首先使用该fit方法学习插补参数,然后转换您的数据。

顺便说一句,我认为missingvalues = missingvalues.fit(X[:, 1:3])可以更改为missingvalues.fit(X[:, 1:3]).


查看完整回答
反对 回复 2022-06-28
  • 2 回答
  • 0 关注
  • 204 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信