sklearn中各算法类的fit,fit_transform和transform函数

在使用PCA和NFC中有三个函数fit,fit_transform,transform区分不清各自的功能。通过测试,勉强了解各自的不同,在这里做一些笔记。

1.fit_transform是fit和transform的混合,相当于先调用fit再调用transform。

2.transform函数必须在fit函数之后调用否则会报错

3.fit_transform返回的是降维之后的结果,而且是对列压缩的

4.fit函数返回的是算法类,但是其成员变量components_是有数据的,而且似乎也是执行算法之后的结果,不过是对行压缩的。将数据转置后代入fit函数,和使用fit_transform得到的结果是不一样的,但是很接近。说明fit也是做了一定的特征提取的,只不过是对行操作的。

至于详细的区别目前没找到有人说明。只是建议使用fit_transform,若要使用fit,注意这个函数是对行压缩的

时间: 2024-10-26 11:14:34

sklearn中各算法类的fit,fit_transform和transform函数的相关文章

Python初探——sklearn库中数据预处理函数fit_transform()和transform()的区别

敲<Python机器学习及实践>上的code的时候,对于数据预处理中涉及到的fit_transform()函数和transform()函数之间的区别很模糊,查阅了很多资料,这里整理一下: # 从sklearn.preprocessing导入StandardScaler from sklearn.preprocessing import StandardScaler # 标准化数据,保证每个维度的特征数据方差为1,均值为0,使得预测结果不会被某些维度过大的特征值而主导 ss = Standard

sklearn中的模型评估-构建评估函数

1.介绍 有三种不同的方法来评估一个模型的预测质量: estimator的score方法:sklearn中的estimator都具有一个score方法,它提供了一个缺省的评估法则来解决问题. Scoring参数:使用cross-validation的模型评估工具,依赖于内部的scoring策略.见下. Metric函数:metrics模块实现了一些函数,用来评估预测误差.见下. 2. scoring参数 模型选择和评估工具,例如: grid_search.GridSearchCV 和 cross

sklearn中LinearRegression使用及源码解读

sklearn中的LinearRegression 函数原型:class sklearn.linear_model.LinearRegression(fit_intercept=True,normalize=False,copy_X=True,n_jobs=1) fit_intercept:模型是否存在截距 normalize:模型是否对数据进行标准化(在回归之前,对X减去平均值再除以二范数),如果fit_intercept被设置为False时,该参数将忽略. 该函数有属性:coef_可供查看模

多项式回归原理及在sklearn中的使用+pipeline

相对于线性回归模型只能解决线性问题,多项式回归能够解决非线性回归问题. 拿最简单的线性模型来说,其数学表达式可以表示为:y=ax+b,它表示的是一条直线,而多项式回归则可以表示成:y=ax2+bx+c,它表示的是二次曲线,实际上,多项式回归可以看成特殊的线性模型,即把x2看成一个特征,把x看成另一个特征,这样就可以表示成y=az+bx+c,其中z=x2,这样多项式回归实际上就变成线性回归了. 下面介绍如何在sklearn中使用多项式回归 首先导入相应的库以及创造数据 1 import numpy

sklearn中SVM调参说明

写在前面 之前只停留在理论上,没有实际沉下心去调参,实际去做了后,发现调参是个大工程(玄学).于是这篇来总结一下sklearn中svm的参数说明以及调参经验.方便以后查询和回忆. 常用核函数 1.linear核函数: K(xi,xj)=xTixjK(xi,xj)=xiTxj 2.polynomial核函数: K(xi,xj)=(γxTixj+r)d,d>1K(xi,xj)=(γxiTxj+r)d,d>1 3.RBF核函数(高斯核函数): K(xi,xj)=exp(−γ||xi−xj||2),γ

sklearn 中模型保存的两种方法

一. sklearn中提供了高效的模型持久化模块joblib,将模型保存至硬盘. from sklearn.externals import joblib #lr是一个LogisticRegression模型 joblib.dump(lr, 'lr.model') lr = joblib.load('lr.model') 二.pickle >>> from sklearn import svm >>> from sklearn import datasets >&

sklearn中调用集成学习算法

1.集成学习是指对于同一个基础数据集使用不同的机器学习算法进行训练,最后结合不同的算法给出的意见进行决策,这个方法兼顾了许多算法的"意见",比较全面,因此在机器学习领域也使用地非常广泛.生活中其实也普遍存在集成学习的方法,比如买东西找不同的人进行推荐,病情诊断进行多专家会诊等,考虑各方面的意见进行最终的综合的决策,这样得到的结果可能会更加的全面和准确.另外,sklearn中也提供了集成学习的接口voting classifier. sklearn中具体调用集成学习方法的具体代码如下:

集成学习voting Classifier在sklearn中的实现

投票法(voting)是集成学习里面针对分类问题的一种结合策略.基本思想是选择所有机器学习算法当中输出最多的那个类. 分类的机器学习算法输出有两种类型:一种是直接输出类标签,另外一种是输出类概率,使用前者进行投票叫做硬投票(Majority/Hard voting),使用后者进行分类叫做软投票(Soft voting). sklearn中的VotingClassifier是投票法的实现. 硬投票 硬投票是选择算法输出最多的标签,如果标签数量相等,那么按照升序的次序进行选择.下面是一个例子: fr

sklearn中拟合结果的评价指标

在sklearn中包含四种评价尺度,分别为mean_squared_error.mean_absolute_error.explained_variance_score 和 r2_score. 1.均方差(mean-squared-error) 2.平均绝对值误差(mean_absolute_error) 3.可释方差得分(explained_variance_score) explained variation measures the proportion to which a mathem