回想一下之前做的特征工程的步骤?
- 实例化(实例化的是一个转换器类transformer)
- 调用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中,估计器(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)测试集数据结果的预测与准确率的预测