fit() 在这里究竟做了什么?
What does fit() exactly does here?
嗯,基本上我想知道 fit() 函数的一般作用,尤其是下面的代码片段。
我参加了机器学习 A-Z 课程,因为我对机器学习还很陌生(我刚刚开始)。我知道一些基本的概念术语,但不知道技术部分。
代码 1:
from sklearn.impute import SimpleImputer
missingvalues = 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 StandardScaler
sc_X = StandardScaler()
print(sc_X)
X_train = sc_X.fit_transform(X_train)
print(X_train)
X_test = sc_X.transform(X_test)
我想如果我知道这个函数的一般用途以及一般的具体用途,我就可以开始了。但我当然想知道该代码在做什么
Sklearn 使用 类。参见 Python documentation for more info about Classes in Python. For more info about sklearn
in particular, take a look at this sklearn documentation.
以下是您如何在 sklearn
中使用 类 的简短说明。
首先你用 sc_X = StandardScaler()
或 missingvalues = SimpleImputer(...)
.
实例化你的 sklearn
类
对象 sc_X
和 missingvalues
每个都有方法。您可以使用键入 object_name.method_name(...)
的方法。例如,当您键入 sc_X.fit_transform(...)
时,您使用了 sc_X
实例的 fit_transform()
方法。此方法将获取您的数据和 return 它的缩放版本。它同时 fit
s(确定缩放参数)和 transform
s(应用缩放)到您的数据。 transform()
方法将转换新数据,使用它为您以前的数据学习的相同缩放参数。
在第一个示例中,您将 fit
和 transform
方法分成了两行,但想法是相似的——您首先使用 [=21= 学习插补参数] 方法,然后转换数据。
对了,我觉得missingvalues = missingvalues.fit(X[:, 1:3])
可以改成missingvalues.fit(X[:, 1:3])
。
这也是一个很好的检查可能性:https://scikit-learn.org/stable/tutorial/basic/tutorial.html
fit
-方法总是在机器学习中学习一些东西。
您通常有以下步骤:
- 将您的数据分成 two/three 个数据集
- 用
fit
选择你的一部分数据到learn/train一些东西(通常是X_train
)
- 使用学习到的算法预测未知数据(通常
X_test
)predict
在你的第一个例子中:missingvalues.fit(X[:, 1:3])
您正在根据您的数据 X
训练 SimpleImputer
,其中您仅使用列 1,2,3
,通过转换,您使用此训练覆盖此数据。
在您的第二个示例中:您正在使用 X_train
训练 StandardScaler
并且正在对两个数据集 X_train, X_test
使用此训练,StandardScaler 从 X_train
中学习,这意味着如果他了解到 10 必须转换为 2,他将在两个集合中将 10 转换为 2 X_train, X_test
。
嗯,基本上我想知道 fit() 函数的一般作用,尤其是下面的代码片段。
我参加了机器学习 A-Z 课程,因为我对机器学习还很陌生(我刚刚开始)。我知道一些基本的概念术语,但不知道技术部分。
代码 1:
from sklearn.impute import SimpleImputer
missingvalues = 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 StandardScaler
sc_X = StandardScaler()
print(sc_X)
X_train = sc_X.fit_transform(X_train)
print(X_train)
X_test = sc_X.transform(X_test)
我想如果我知道这个函数的一般用途以及一般的具体用途,我就可以开始了。但我当然想知道该代码在做什么
Sklearn 使用 类。参见 Python documentation for more info about Classes in Python. For more info about sklearn
in particular, take a look at this sklearn documentation.
以下是您如何在 sklearn
中使用 类 的简短说明。
首先你用 sc_X = StandardScaler()
或 missingvalues = SimpleImputer(...)
.
sklearn
类
对象 sc_X
和 missingvalues
每个都有方法。您可以使用键入 object_name.method_name(...)
的方法。例如,当您键入 sc_X.fit_transform(...)
时,您使用了 sc_X
实例的 fit_transform()
方法。此方法将获取您的数据和 return 它的缩放版本。它同时 fit
s(确定缩放参数)和 transform
s(应用缩放)到您的数据。 transform()
方法将转换新数据,使用它为您以前的数据学习的相同缩放参数。
在第一个示例中,您将 fit
和 transform
方法分成了两行,但想法是相似的——您首先使用 [=21= 学习插补参数] 方法,然后转换数据。
对了,我觉得missingvalues = missingvalues.fit(X[:, 1:3])
可以改成missingvalues.fit(X[:, 1:3])
。
这也是一个很好的检查可能性:https://scikit-learn.org/stable/tutorial/basic/tutorial.html
fit
-方法总是在机器学习中学习一些东西。
您通常有以下步骤:
- 将您的数据分成 two/three 个数据集
- 用
fit
选择你的一部分数据到learn/train一些东西(通常是 - 使用学习到的算法预测未知数据(通常
X_test
)predict
X_train
)
在你的第一个例子中:missingvalues.fit(X[:, 1:3])
您正在根据您的数据 X
训练 SimpleImputer
,其中您仅使用列 1,2,3
,通过转换,您使用此训练覆盖此数据。
在您的第二个示例中:您正在使用 X_train
训练 StandardScaler
并且正在对两个数据集 X_train, X_test
使用此训练,StandardScaler 从 X_train
中学习,这意味着如果他了解到 10 必须转换为 2,他将在两个集合中将 10 转换为 2 X_train, X_test
。