sklearn
文章目录
所有的机器学习算法都是通过转换器(transformer)和估计器(estimator)实现的。
转换器
转换器是用于对数据进行处理的对象。在 scikit-learn 中,所有的转换器也是由一个类实现的,这个类包含了一些方法来对数据进行特征提取、特征选择、降维等操作。通常,我们使用 fit() 方法来学习如何对数据进行转换,使用 transform() 方法来对数据进行实际转换。例如:
|
|
上面的代码创建了一个标准化转换器,并使用 fit() 方法学习了如何对数据进行标准化,然后使用 transform() 方法对训练数据和测试数据进行了实际的标准化操作。
除了使用 fit() 和 transform() 方法之外,还可以使用 fit_transform() 方法来直接对数据进行转换。例如:
|
|
在上面的代码中,fit_transform() 方法先使用 fit() 方法学习如何对数据进行标准化,然后使用 transform() 方法对训练数据和测试数据进行了实际的标准化操作。
估计器
估计器是用于建立机器学习模型的对象。在 scikit-learn 中,所有的估计器都是由一个类实现的,这个类包含了一些方法来拟合训练数据、预测新数据以及评估模型的性能等。通常,我们使用 fit() 方法来拟合训练数据,使用 predict() 方法来预测新数据。例如:
|
|
上面的代码创建了一个线性回归模型,并使用 fit() 方法拟合了训练数据。然后,使用 predict() 方法预测了测试数据的结果。
- 用于分类的估计器:
- sklearn.neighbors k-近邻算法
- sklearn.naive_bayes 贝叶斯
- sklearn.linear_model.LogisticRegression 逻辑回归
- sklearn.tree 决策树与随机森林
- 用于回归的估计器:
- sklearn.linear_model.LinearRegression 线性回归
- sklearn.linear_model.Ridge 岭回归
- 用于无监督学习的估计器
- sklearn.cluster.KMeans 聚类
pipeline
同时,还有一种名为 Pipeline 的方法可以把 estimator 和 transformer 组合起来,方便调用。例如:
|
|
这个 Pipeline 就做了标准化和逻辑回归两个步骤。 总之,在使用估计器和转换器时,需要了解相应的 API 接口,以便正确地使用它们进行机器学习建模。
比较
对于转换器来说,fit()方法用于计算一些统计量,如均值、标准差等,以便转换器后续进行数据转换时使用。例如,在标准化转换器中,fit()方法计算出训练数据集每个特征的均值和标准差,供后续转换时使用。 对于估计器来说,fit()方法用于拟合模型,让模型能够适应训练数据。模型通过学习训练数据中的关系和规律,尝试预测新的未知数据。
文章作者 zput
上次更新 2023-11-05