sklearn——转换器(Transformer)与预估器(estimator)

回想一下之前做的特征工程的步骤?

  1. 实例化(实例化的是一个转换器类transformer)
  2. 调用fit_transform(对于文档建立分类词频矩阵,不能同时调用)

我们把特征工程的接口称为转换器,其中转换器调用有如下几种形式.(我们以标准化为例,分析如下三种调用形式的区别.

  • fit_transform
  • fit 计算每列的平均值与标准差
  • transform 进行最终的标准化

一、转换器

在之前我们对数据做标准化或者其它的特征工程处理时使用了fit_transform方法,它是输入数据并且对数据进行转换;与之对应的就是fit方法与transform方法,实际上这两个方法相当于一个fit_transform方法。

数据集–>(fit_transform(x))–>转换后的数据集

1、fit_transform

fit_transform():输入数据直接转换

2、fit & transform

fit():输入数据,但不做事情(计算平均值和标准差)

transform():进行数据的转换(以fit()的标准差和平均值去计算的)

sklearn——转换器(Transformer)与预估器(estimator)

二、预估器

在sklearn中,估计器(estimator)是一个重要的角色,分类器和回归器都属于estimator,是一类实现了算法的API。

估计器的流程:数据划分为训练集和测试集,我们建立模型的时候只需要把训练集输入进去就可以。训练集包括x_train、y_train,调用fit传入x_train、y_train,这样此算法就能利用这个模型进行计算,模型建立好之后要预测数据,看模型预测的数据准确与否,输入测试集的数据x_test、y_test,调用predict(x_test),把测试集的特征值输入进去,来预测此测试集的目标值是什么(就像把特征值输入进去预测房价走向),每个算法应该都包括score这个方法,查看预测的准确性score(x_test,y_test),真实值是1类别,预测值是2类别,就视为不准确。预测的时候应该有预测的类别和真实的类别。

预测时(estimate)的做法:

1、y_predict = predict(x_test)

2、预测的准确率:score(x_test, y_test)

1、用于分类的估计器

sklearn.neighbors                                        k-近邻算法

sklearn.naive_bayes                                    贝叶斯

sklearn.linear_model.LogisticRegression 逻辑回归

sklearn.tree                                                   决策树与随机森林

2、用于回归的估计器

sklearn.linear_model.LinearRegression   线性回归

sklearn.linear_model.Ridge                        岭回归

三、工作流程

  • (1)数据集分为训练集和测试集
  • (2)调用fit方法,将训练集数据进行输入
  • (3)输入测试集数据
  • (4)测试集数据结果的预测与准确率的预测

sklearn——转换器(Transformer)与预估器(estimator)

 

 

 

上一篇:cv2.matchTemplate()函数的应用,匹配图片后画出矩形


下一篇:tensorflow1.X tf.estimator.Estimator详解