点击下方,边听边看
估计器:用于分类、聚类、和回归分析;
转换器:用于数据预处理和数据转换;
流水线:组合数据挖掘流程,便于再次使用;
Scikit-learn的估计器主要包括以下两个函数:
1,fit():训练算法,设置内部参数;该函数接受训练集极其类别两个参数;
2,predict():参数为测试集,预测测试集类别,并返回一个包含测试集各条数据类别的数组;
欧氏距离:即真实距离;
曼哈顿距离:为两个特征在标准坐标系中绝对轴距之和,不使用平方距离;即为横向和纵向距离之和,即为街区距离;
余弦距离:特征向量夹角的余弦值;忽略特征向量的长度;
电离层数据:链接:https://pan.baidu.com/s/1rtaFvom6LE1RUOhG3aN3xw
密码:l548
合理的算法应是:
1,将整个大数据集分为几个部分;
2,对于每一部分执行以下操作:
将其中一部分作为当前测试集,用剩余部分训练算法,在当前测试集上测试算法;
3,记录每次得分及平均得分;
4, 在上述过程中,每条数据只能在测试集中出现一次,以减少运气成分;
sklearn中的cross validation模块,最主要的函数是如下函数:
cross_val_score :调用形式是cross_val_score(estimator, x, y=None,scoring=None, cv=None, n_jobs=1, verbose=0, fit_params=None, pre_dispatch='2*n_jobs');返回值就是对于每次不同的的划分raw data时,在test data上得到的分类的准确率。参数解释:estimator:是不同的分类器,可以是任何的分类器。比如支持向量机分类器:estimator = svm.SVC(kernel='linear', C=1);
cv:代表不同的crossvalidation的方法。如果cv是一个int值,并且如果提供了raw target参数,那么就代表使用StratifiedKFold分类方式;如果cv是一个int值,并且没有提供raw target参数,那么就代表使用KFold分类方式;也可以给定它一个CV迭代策略生成器,指定不同的CV方法;scoring:默认None,准确率的算法,可以通过score_func参数指定;如果不指定的话,是用estimator默认自带的准确率算法;选择最具区分度的特征、创建新特征等都属于预处理的范畴;
Sklearn的预处理工具叫做转换器,它接受原始数据集,返回转换后的数据集,除了处理数值型特征,转换器还可以用来抽取特征;
代码截图如下:
领取专属 10元无门槛券
私享最新 技术干货