开源机器学习框架:Scikit-learn API简介
Posted 机器学习研究院
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开源机器学习框架:Scikit-learn API简介相关的知识,希望对你有一定的参考价值。
简介
对Python语言有所了解的科研人员可能都知道SciPy——一个开源的基于Python的科学计算工具包。基于SciPy,目前开发者们针对不同的应用领域已经发展出了为数众多的分支版本,它们被统一称为Scikits,即SciPy工具包的意思。而在这些分支版本中,最有名,也是专门面向机器学习的一个就是Scikit-learn。
和其他众多的开源项目一样,Scikit-learn目前主要由社区成员自发进行维护。可能是由于维护成本的限制,Scikit-learn相比其他项目要显得更为保守。这主要体现在两个方面:一是Scikit-learn从来不做除机器学习领域之外的其他扩展,二是Scikit-learn从来不采用未经广泛验证的算法。
Scikit-learn的六大功能
Scikit-learn的基本功能主要被分为六大部分:分类,回归,聚类,数据降维,模型选择和数据预处理。
分类:是指识别给定对象的所属类别,属于监督学习的范畴,最常见的应用场景包括垃圾邮件检测和图像识别等。目前Scikit-learn已经实现的算法包括:支持向量机(SVM),最近邻,逻辑回归,随机森林,决策树以及多层感知器(MLP)神经网络等等。需要指出的是,由于Scikit-learn本身不支持深度学习,也不支持GPU加速,因此这里对于MLP的实现并不适合于处理大规模问题。有相关需求的读者可以查看同样对Python有良好支持的Keras和Theano等框架。
回归:是指预测与给定对象相关联的连续值属性,最常见的应用场景包括预测药物反应和预测股票价格等。目前Scikit-learn已经实现的算法包括:支持向量回归(SVR),脊回归,Lasso回归,弹性网络(Elastic Net),最小角回归(LARS ),贝叶斯回归,以及各种不同的鲁棒回归算法等。可以看到,这里实现的回归算法几乎涵盖了所有开发者的需求范围,而且更重要的是,Scikit-learn还针对每种算法都提供了简单明了的用例参考。
聚类:是指自动识别具有相似属性的给定对象,并将其分组为集合,属于无监督学习的范畴,最常见的应用场景包括顾客细分和试验结果分组。目前Scikit-learn已经实现的算法包括:K-均值聚类,谱聚类,均值偏移,分层聚类,DBSCAN聚类等。
数据降维:是指使用主成分分析(PCA)、非负矩阵分解(NMF)或特征选择等降维技术来减少要考虑的随机变量的个数,其主要应用场景包括可视化处理和效率提升。
模型选择:是指对于给定参数和模型的比较、验证和选择,其主要目的是通过参数调整来提升精度。目前Scikit-learn实现的模块包括:格点搜索,交叉验证和各种针对预测误差评估的度量函数。
数据预处理:是指数据的特征提取和归一化,是机器学习过程中的第一个也是最重要的一个环节。这里归一化是指将输入数据转换为具有零均值和单位权方差的新变量,但因为大多数时候都做不到精确等于零,因此会设置一个可接受的范围,一般都要求落在0-1之间。而特征提取是指将文本或图像数据转换为可用于机器学习的数字变量。
需要特别注意的是,这里的特征提取与上文在数据降维中提到的特征选择非常不同。特征选择是指通过去除不变、协变或其他统计上不重要的特征量来改进机器学习的一种方法。
API功能简介
sklearn.base:基类和实用函数
基类
base.BaseEstimator 所有评估者在scikit-learn中的基类
base.BiclusterMixin Mixin类用于scikit-learn中的所有双聚类估计器
base.ClassifierMixin Mixin类用于scikit-learn中的所有分类器。
base.ClusterMixin Mixin类用于scikit-learn中的所有群集估计器。
base.DensityMixin 混合类用于scikit-learn中的所有密度估计器。
base.RegressorMixin Mixin类用于scikit-learn中的所有回归估计器。
base.TransformerMixin 混合类为scikit学习所有变压器。
函数
base.clone(estimator [,safe]) 用相同的参数构造一个新的估计器。
config_context(** NEW_CONFIG) 全局scikit-learn配置的上下文管理器
get_config() 检索通过配置设置的当前值 set_config
set_config([assume_finite]) 设置全局scikit-learn配置
sklearn.calibration:概率校准
calibration.CalibratedClassifierCV([...]) 用等渗回归或sigmoid进行概率校准。
calibration.calibration_curve(y_true,y_prob) 计算校准曲线的真实概率和预测概率。
sklearn.cluster:集群
该sklearn.cluster模块收集流行的无监督聚类算法。
类
cluster.AffinityPropagation([damping, …]) 执行关联传播数据聚类。
cluster.AgglomerativeClustering([...]) 凝聚聚类
cluster.Birch([threshold,branching_factor,...]) 实现Birch聚类算法。
cluster.DBSCAN([eps,min_samples,metric,...]) 从矢量阵列或距离矩阵执行DBSCAN聚类。
cluster.FeatureAgglomeration([n_clusters,...]) 集聚特征。
cluster.KMeans([n_clusters,init,n_init,...]) K-Means聚类
cluster.MiniBatchKMeans([n_clusters,init,...]) 小批量K均值聚类
cluster.MeanShift([bandwidth, seeds, …]) 使用扁平内核的平均移位聚类。
cluster.SpectralClustering([n_clusters,...]) 将聚类应用于对归一化拉普拉斯算子的投影。
函数
cluster.affinity_propagation(S [,...]) 执行关联传播数据聚类
cluster.dbscan(X [,eps,min_samples,...]) 从矢量阵列或距离矩阵执行DBSCAN聚类。
cluster.estimate_bandwidth(X[, quantile, …]) 估计带有均值漂移算法的带宽。
cluster.k_means(X,n_clusters [,init,...]) K均值聚类算法。
cluster.mean_shift(X[, bandwidth, seeds, …]) 使用扁平内核执行数据的平均移位聚类。
cluster.spectral_clustering(affinity[, …]) 将聚类应用于对归一化拉普拉斯算子的投影。
cluster.ward_tree(X[, connectivity, …]) 基于特征矩阵的病房聚类。
sklearn.cluster.bicluster:双聚类
类
SpectralBiclustering([n_clusters,method,...]) 光谱双组分。
SpectralCoclustering([n_clusters,...]) 光谱联合聚类算法。
sklearn.covariance:协方差估计
该sklearn.covariance模块包括用于在给定一组点的情况下估计特征的协方差的方法和算法。定义为协方差倒数的精度矩阵也被估计。协方差估计与高斯图形模型的理论密切相关。
covariance.EmpiricalCovariance([...]) 最大似然协方差估计器
covariance.EllipticEnvelope([...]) 用于检测高斯分布式数据集中的异常值的对象。
covariance.GraphLasso([alpha,mode,tol,...]) 稀疏逆协方差估计与l1惩罚估计。
covariance.GraphLassoCV([alphas,...]) 稀疏逆协方差w /交叉验证的l1惩罚选择
covariance.LedoitWolf([store_precision,...]) LedoitWolf估算器
covariance.MinCovDet([store_precision,...]) 最小协方差决定因素(MCD):协方差的稳健估计量。
covariance.OAS([store_precision,...]) Oracle逼近收缩估计器
covariance.ShrunkCovariance([...]) 收缩的协方差估计量
covariance.empirical_covariance(X[, …]) 计算最大似然协方差估计量
covariance.graph_lasso(emp_cov,alpha [,...]) 惩罚协方差估计量
covariance.ledoit_wolf(X [,assume_centered,...]) 估计缩小的Ledoit-Wolf协方差矩阵。
covariance.oas(X [,assume_centered]) 使用Oracle Approximating Shrinkage算法估计协方差。
covariance.shrunk_covariance(emp_cov [,...]) 计算在对角线上缩小的协方差矩阵
sklearn.cross_decomposition:交叉分解
cross_decomposition.CCA([n_components,...]) CCA典型相关分析。
cross_decomposition.PLSCanonical([...]) PLSCanonical实现原始Wold算法。cross_decomposition.PLSRegression([...]) PLS回归
cross_decomposition.PLSSVD([n_components,...]) 偏最小二乘SVD
sklearn.datasets:数据集
该sklearn.datasets模块包含加载数据集的实用程序,包括加载和提取常用参考数据集的方法。它还具有一些人造数据生成器。
装载机
datasets.clear_data_home([data_home]) 删除数据主缓存的所有内容。
datasets.dump_svmlight_file(X,y,f [,...]) 以svmlight / libsvm文件格式转储数据集。
datasets.fetch_20newsgroups([data_home,...]) 加载20个新闻组数据集的文件名和数据。
datasets.fetch_20newsgroups_vectorized([...]) 加载20个新闻组数据集并将其转换为tf-idf向量。
datasets.fetch_california_housing([...]) 来自StatLib的加州房屋数据集的加载程序。
datasets.fetch_covtype([data_home,...]) 加载covertype数据集,必要时下载。
datasets.fetch_kddcup99([subset,data_home,...]) 加载并返回kddcup 99数据集(分类)。
datasets.fetch_lfw_pairs([subset, …]) 加载程序(LFW)配对数据集
datasets.fetch_lfw_people([data_home,...]) (LFW)人员数据集的加载程序
datasets.fetch_mldata(dataname [,...]) 获取mldata.org数据集
datasets.fetch_olivetti_faces([data_home,...]) Olivetti装载机面临来自AT&T的数据集。
datasets.fetch_rcv1([data_home,subset,...]) 加载RCV1多标记数据集,必要时下载它。
datasets.fetch_species_distributions([...]) 来自菲利普斯等人的物种分布数据集的装载器。
datasets.get_data_home([data_home]) 返回scikit-learn数据目录的路径。
datasets.load_boston([return_X_y]) 加载并返回波士顿房价数据集(回归)。
datasets.load_breast_cancer([return_X_y]) 加载并返回乳腺癌wisconsin数据集(分类)。
datasets.load_diabetes([return_X_y]) 加载并返回糖尿病数据集(回归)。
datasets.load_digits([n_class,return_X_y]) 加载并返回数字数据集(分类)。
datasets.load_files(container_path [,...]) 加载类别为子文件夹名称的文本文件。
datasets.load_iris([return_X_y]) 加载并返回虹膜数据集(分类)。
datasets.load_linnerud([return_X_y]) 加载并返回linnerud数据集(多变量回归)。
datasets.load_mlcomp(name_or_id [,set_,...]) DEPRECATED:由于http://mlcomp.org/网站将于2017年3月关闭,因此load_mlcomp函数在版本0.19中已弃用,并将在0.21中删除。
datasets.load_sample_image(IMAGE_NAME) 加载单个样本图像的numpy数组
datasets.load_sample_images() 加载用于图像处理的样本图像。
datasets.load_svmlight_file(f [,n_features,...]) 将svmlight / libsvm格式的数据集加载到稀疏的CSR矩阵中
datasets.load_svmlight_files(files[, …]) 以SVMlight格式从多个文件加载数据集
datasets.load_wine([return_X_y]) 加载并返回wine数据集(分类)。
datasets.mldata_filename(dataname) 在mldata.org文件名中转换数据集的原始名称。
样品发生器
datasets.make_biclusters(shape, n_clusters) 生成具有恒定块对角线结构的阵列用于双骰子。
datasets.make_blobs([n_samples,n_features,...]) 生成用于聚类的各向同性高斯斑点。
datasets.make_checkerboard(shape, n_clusters) 生成一个带块棋盘结构的数组,用于双聚类。
datasets.make_circles([n_samples,shuffle,...]) 在2d中制作一个包含更小圆圈的大圆圈。
datasets.make_classification([n_samples,...]) 产生一个随机的n级分类问题。
datasets.make_friedman1([n_samples,...]) 生成“Friedman 1” 回归问题
datasets.make_friedman2([n-samples,noise,...]) 生成“Friedman 2”回归问题
datasets.make_friedman3([n-samples,noise,...]) 产生“Friedman 3”回归问题
datasets.make_gaussian_quantiles([mean, …]) 按分位数生成各向同性高斯和标签样本
datasets.make_hastie_10_2([n_samples,...]) 为Hastie等人使用的二进制分类生成数据。
datasets.make_low_rank_matrix([n_samples,...]) 生成一个钟形奇异值的最低秩矩阵
datasets.make_moons([n_samples,shuffle,...]) 做两个交错半圈
datasets.make_multilabel_classification([...]) 生成随机多标签分类问题。
datasets.make_regression([n_samples,...]) 产生一个随机回归问题。
datasets.make_s_curve([n-samples,noise,...]) 生成一个S曲线数据集。
datasets.make_sparse_coded_signal(n_samples,...) 生成一个信号作为字典元素的稀疏组合。
datasets.make_sparse_spd_matrix([dim,...]) 生成一个稀疏对称的正定矩阵。
datasets.make_sparse_uncorrelated([...]) 用稀疏的不相关设计生成一个随机回归问题
datasets.make_spd_matrix(n_dim [,random_state]) 生成一个随机对称的正定矩阵。
datasets.make_swiss_roll([n-samples,noise,...]) 生成瑞士卷数据集。
sklearn.decomposition:矩阵分解
该sklearn.decomposition模块包括矩阵分解算法,其中包括PCA,NMF或ICA。这个模块的大部分算法都可以看作是降维技术。
decomposition.DictionaryLearning([...]) 字典学习
decomposition.FactorAnalysis([n_components,...]) 因子分析(FA)
decomposition.FastICA([n_components,...]) FastICA:用于独立分量分析的快速算法。
decomposition.IncrementalPCA([n_components,...]) 增量主成分分析(IPCA)。
decomposition.KernelPCA([n_components,...]) 核心主成分分析(KPCA)
decomposition.LatentDirichletAllocation([...]) 在线变分贝叶斯算法的潜在Dirichlet分配
decomposition.MiniBatchDictionaryLearning([...]) 小批量字典学习
decomposition.MiniBatchSparsePCA([...]) 小批量稀疏主成分分析
decomposition.NMF([n_components,init,...]) 非负矩阵分解(NMF)
decomposition.PCA([n_components,copy,...]) 主成分分析(PCA)
decomposition.SparsePCA([n_components,...]) 稀疏主成分分析(SparsePCA)
decomposition.SparseCoder(dictionary[, …]) 稀疏编码
decomposition.TruncatedSVD([n_components,...]) 使用截断SVD(又名LSA)降维。
decomposition.dict_learning(X,n_components,...) 解决字典学习矩阵分解问题。
decomposition.dict_learning_online(X[, …]) 在线解决字典学习矩阵分解问题。
decomposition.fastica(X [,n_components,...]) 执行快速独立组件分析。
decomposition.sparse_encode(X, dictionary[, …]) 稀疏编码
sklearn.discriminant_analysis:判别分析
discriminant_analysis.LinearDiscriminantAnalysis([...]) 线性判别分析
discriminant_analysis.QuadraticDiscriminantAnalysis([...]) 二次判别分析
sklearn.dummy:虚拟估计器
dummy.DummyClassifier([strategy, …]) DummyClassifier是一个使用简单规则进行预测的分类器。
dummy.DummyRegressor([strategy, constant, …]) DummyRegressor是一个使用简单规则进行预测的回归器。
sklearn.ensemble:合奏方法
该sklearn.ensemble模块包括用于分类,回归和异常检测的基于集合的方法。
ensemble.AdaBoostClassifier([...]) 一个AdaBoost分类器。
ensemble.AdaBoostRegressor([base_estimator,...]) 一个AdaBoost回归器。
ensemble.BaggingClassifier([base_estimator,...]) 套袋分类器。
ensemble.BaggingRegressor([base_estimator,...]) 装袋回归者。
ensemble.ExtraTreesClassifier([...]) 额外树分类器。
ensemble.ExtraTreesRegressor([n_estimators,...]) 一个额外树木的回归者。
ensemble.GradientBoostingClassifier([loss, …]) 渐变提升分类。
ensemble.GradientBoostingRegressor([loss, …]) 梯度提升回归。
ensemble.IsolationForest([n_estimators,...]) 隔离森林算法
ensemble.RandomForestClassifier([...]) 随机树分类器。
ensemble.RandomForestRegressor([...]) 随机树退化者。
ensemble.RandomTreesEmbedding([...]) 一组完全随机的树。
ensemble.VotingClassifier(estimators[, …]) 软投票/多数规则分类器用于不合适的估计器。
sklearn.exceptions:例外和警告
该sklearn.exceptions模块包含在scikit-learn中使用的所有自定义警告和错误类。
exceptions.ChangedBehaviorWarning 用于通知用户行为发生变化的警告类。
exceptions.ConvergenceWarning 自定义警告来捕捉收敛问题
exceptions.DataConversionWarning 用于通知代码中发生隐式数据转换的警告。
exceptions.DataDimensionalityWarning 自定义警告通知数据维度的潜在问题。
exceptions.EfficiencyWarning 警告用于通知用户计算效率低下。
exceptions.FitFailedWarning 如果在拟合估计量时出现错误,则使用警告类。
exceptions.NotFittedError 如果在拟合之前使用估计器,则引发异常类。
exceptions.NonBLASDotWarning 当点操作不使用BLAS时使用警告。
exceptions.UndefinedMetricWarning 当度量标准无效时使用警告
sklearn.feature_extraction:特征提取
从图像
feature_extraction.image.extract_patches_2d(......) 将2D图像重塑为一组修补程序
feature_extraction.image.grid_to_graph(n_x,n_y) 像素到像素连接的图形
feature_extraction.image.img_to_graph(img [,...]) 像素到像素梯度连接的图形
feature_extraction.image.reconstruct_from_patches_2d(......) 重新构建来自其所有补丁的图像。
feature_extraction.image.PatchExtractor([...]) 从一组图像中提取补丁
从文本
feature_extraction.text.CountVectorizer([...]) 将一组文本文档转换为令牌计数矩阵
feature_extraction.text.HashingVectorizer([...]) 将文本文档集合转换为标记出现的矩阵
feature_extraction.text.TfidfTransformer([...]) 将计数矩阵转换为标准化的tf或tf-idf表示
feature_extraction.text.TfidfVectorizer([...]) 将原始文档集合转换为TF-IDF功能矩阵。
sklearn.feature_selection:特征选择
feature_selection.GenericUnivariateSelect([...]) 具有可配置策略的单变量特征选择器。
feature_selection.SelectPercentile([...]) 根据最高分数的百分位选择功能。
feature_selection.SelectKBest([score_func,k]) 根据k最高分选择功能。
feature_selection.SelectFpr([score_func,alpha]) 过滤器:根据FPR测试选择Alpha下面的pvalues。
feature_selection.SelectFdr([score_func,alpha]) 过滤器:为估计的错误发现率选择p值
feature_selection.SelectFromModel(估计) 元变换器用于根据重要性权重选择特征。
feature_selection.SelectFwe([score_func,alpha]) 过滤器:选择对应于系列错误率的p值
feature_selection.RFE(estimator[, …]) 递归功能消除的功能排名。
feature_selection.RFECV(estimator [,step,...]) 通过递归特征消除和交叉验证选择最佳特征的特征排名。
feature_selection.VarianceThreshold([threshold]) 功能选择器可删除所有低差异功能。
feature_selection.chi2(X,y) 计算每个非负特征和类之间的卡方统计量。
feature_selection.f_classif(X,y) 计算提供的样品的方差分析F值。
feature_selection.f_regression(X,y [,center]) 单变量线性回归测试。
feature_selection.mutual_info_classif(X,y) 估计离散目标变量的互信息。
feature_selection.mutual_info_regression(X,y) 估计连续目标变量的相互信息。
sklearn.gaussian_process:高斯过程
该sklearn.gaussian_process模块实现基于高斯过程的回归和分类。
gaussian_process.GaussianProcessClassifier([...]) 基于拉普拉斯近似的高斯过程分类(GPC)。
gaussian_process.GaussianProcessRegressor([...]) 高斯过程回归(GPR)。
gaussian_process.kernels.CompoundKernel(kernels) 内核由一组其他内核组成。
gaussian_process.kernels.ConstantKernel([...]) 常量内核。
gaussian_process.kernels.DotProduct([...]) 点积产品内核。
gaussian_process.kernels.ExpSineSquared([...]) Exp-Sine-Squared内核。
gaussian_process.kernels.Exponentiation(......) 用给定的指数对内核求指数。
gaussian_process.kernels.Hyperparameter 内核超参数的指定形式为namedtuple。
gaussian_process.kernels.Kernel 所有内核的基类。
gaussian_process.kernels.Matern([...]) Matern内核。
gaussian_process.kernels.PairwiseKernel([...]) sklearn.metrics.pairwise中内核的封装器。
gaussian_process.kernels.Product(k1,k2) 两个内核k1和k2的乘积核k1 * k2。
gaussian_process.kernels.RBF([length_scale,...]) 径向基函数核(又称平方指数核)。
gaussian_process.kernels.RationalQuadratic([...]) 有理二次内核。
gaussian_process.kernels.Sum(k1,k2) 两个核k1和k2的和核k1 + k2。
gaussian_process.kernels.WhiteKernel([...]) 白色的内核。
sklearn.linear_model:广义线性模型
该sklearn.linear_model模块实现广义线性模型。它包括用最小角度回归和坐标下降计算的岭回归,贝叶斯回归,套索和弹性网估计量。它还实现随机渐变下降相关算法。
linear_model.ARDRegression([n_iter,tol,...]) 贝叶斯ARD回归。
linear_model.BayesianRidge([n_iter,tol,...]) 贝叶斯岭回归
linear_model.ElasticNet([alpha,l1_ratio,...]) 线性回归结合L1和L2先验作为正则化。
linear_model.ElasticNetCV([l1_ratio,eps,...]) 沿着正则化路径迭代拟合的弹性网模型
linear_model.HuberRegressor(ε,...) 对异常值有效的线性回归模型。
linear_model.Lars([fit_intercept,verbose,...]) 最小角度回归模型aka
linear_model.LarsCV([fit_intercept,...]) 交叉验证的最小角度回归模型
linear_model.Lasso([alpha,fit_intercept,...]) 线性模型先用L1训练成正规化器(亦称Lasso)
linear_model.LassoCV([,n_alphas,...]) 用正则化路径迭代拟合的拉索线性模型
linear_model.LassoLars([α, …]) 套索模型符合最小角度回归aka
linear_model.LassoLarsCV([fit_intercept,...]) 交叉验证的Lasso,使用LARS算法
linear_model.LassoLarsIC([criterion, …]) Lasso模型适用于使用BIC或AIC进行模型选择的Lars
linear_model.LinearRegression([...]) 普通最小二乘线性回归。
linear_model.LogisticRegression([penalty, …]) Logistic回归(aka logit,MaxEnt)分类器。
linear_model.LogisticRegressionCV([Cs,...]) Logistic回归CV(aka logit,MaxEnt)分类器。
linear_model.MultiTaskLasso([α, …]) 使用L1 / L2混合范数训练的多任务套索模型作为正规化器
linear_model.MultiTaskElasticNet([α, …]) 使用L1 / L2混合范数作为正则化参数训练的多任务ElasticNet模型
linear_model.MultiTaskLassoCV([...]) 具有内置交叉验证的多任务L1 / L2套索。
linear_model.MultiTaskElasticNetCV([...]) 具有内置交叉验证的多任务L1 / L2 ElasticNet。
linear_model.OrthogonalMatchingPursuit([...]) 正交匹配追踪模型(OMP)
linear_model.OrthogonalMatchingPursuitCV([...]) 交叉验证的正交匹配追踪模型(OMP)
linear_model.PassiveAggressiveClassifier([...]) 被动攻击分类器
linear_model.PassiveAggressiveRegressor([C, …]) 被动侵略性回归
linear_model.Perceptron([penalty, alpha, …]) 阅读用户指南中的更多内容。
linear_model.RANSACRegressor([...]) RANSAC(RANdom SAmple Consensus)算法。
linear_model.Ridge([alpha,fit_intercept,...]) 具有l2正则化的线性最小二乘法。
linear_model.RidgeClassifier([α, …]) 分类器使用岭回归。
linear_model.RidgeClassifierCV([alphas,...]) 具有内置交叉验证的Ridge分类器。
linear_model.RidgeCV([alphas,...]) 具有内置交叉验证的岭回归。
linear_model.SGDClassifier([loss, penalty, …]) 带有SGD培训的线性分类器(SVM,逻辑回归,ao)。
linear_model.SGDRegressor([loss, penalty, …]) 线性模型通过使用SGD减少正则化的经验损失来拟合
linear_model.TheilSenRegressor([...]) Theil-Sen估算器:强大的多元回归模型。
linear_model.enet_path(X,y [,l1_ratio,...]) 用坐标下降法计算弹性网路
linear_model.lars_path(X,y [,Xy,Gram,...]) 使用LARS算法计算最小角度回归或Lasso路径[1]
linear_model.lasso_path(X,y [,eps,...]) 用坐标下降计算套索路径
linear_model.lasso_stability_path(X,y [,...]) DEPRECATED:函数lasso_stability_path在0.19中已弃用,并将在0.21中删除。
linear_model.logistic_regression_path(X,y) 计算正则化参数列表的Logistic回归模型。
linear_model.orthogonal_mp(X,y [,...]) 正交匹配追踪(OMP)
linear_model.orthogonal_mp_gram(Gram,Xy [,...]) 革兰氏正交匹配追踪(OMP)
sklearn.naive_bayes:朴素贝叶斯
该sklearn.naive_bayes模块实现朴素贝叶斯算法。
naive_bayes.BernoulliNB([alpha,binarize,...]) 朴素贝叶斯分类器用于多元伯努利模型。
naive_bayes.GaussianNB([priors]) 高斯朴素贝叶斯
naive_bayes.MultinomialNB([α, …]) 用于多项模型的朴素贝叶斯分类器
sklearn.neural_network:神经网络模型
该sklearn.neural_network模块包括基于神经网络的模型。
neural_network.BernoulliRBM([n_components,...]) 伯努利限制玻尔兹曼机(RBM)。
neural_network.MLPClassifier([...]) 多层感知器分类器。
neural_network.MLPRegressor([...]) 多层感知器回归器。
sklearn.semi_supervised半监督学习¶
该sklearn.semi_supervised模块实现半监督学习算法。这些算法利用少量标记数据和大量未标记数据进行分类任务。该模块包含标签传播。
semi_supervised.LabelPropagation([kernel, …]) 标签传播分类器
semi_supervised.LabelSpreading([kernel, …]) LabelSpreading模型用于半监督学习
sklearn.svm:支持向量机
该sklearn.svm模块包含支持向量机算法。
svm.LinearSVC([penalty, loss, dual, tol, C, …]) 线性支持向量分类。
svm.LinearSVR([epsilon, tol, C, loss, …]) 线性支持向量回归。
svm.NuSVC([nu,kernel,degree,gamma,...]) Nu-支持向量分类。
svm.NuSVR([nu,C,kernel,degree,gamma,...]) Nu支持矢量回归。
svm.OneClassSVM([kernel,degree,gamma,...]) 无监督异常值检测。
svm.SVC([C, kernel, degree, gamma, coef0, …]) C-支持向量分类。
svm.SVR([kernel,degree,gamma,coef0,tol,...]) Epsilon支持向量回归。
svm.l1_min_c(X,y [,loss,fit_intercept,...]) 返回C的最小范围,使得对于C in(l1_min_C,infinity),保证模型不为空。
svm.libsvm.cross_validation 交叉验证程序的绑定(低级程序)
svm.libsvm.decision_function 预测保证金(这是libsvm的名称是predict_values)
svm.libsvm.fit 使用libsvm(低级方法)训练模型
svm.libsvm.predict 根据模型预测X的目标值(低级方法)
svm.libsvm.predict_proba 预测概率
sklearn.tree:决策树
该sklearn.tree模块包括用于分类和回归的基于决策树的模型。
tree.DecisionTreeClassifier([criterion, …]) 决策树分类器。
tree.DecisionTreeRegressor([criterion, …]) 决策树回归器。
tree.ExtraTreeClassifier([criterion, …]) 一个非常随机的树分类器。
tree.ExtraTreeRegressor([criterion, …]) 一个非常随机的树回归。
tree.export_graphviz(decision_tree[, …]) 以DOT格式导出决策树。
官方文档:http://scikit-learn.org/stable/modules/classes.html 方法比较多,可能会有个别的解释的不是很准确,如果您有准确的解释,请联系小女子。
以上是关于开源机器学习框架:Scikit-learn API简介的主要内容,如果未能解决你的问题,请参考以下文章
AI常用框架和工具丨5. 机器学习库Scikit-learn
人工智能领域常用的开源框架和库(含机器学习/深度学习/强化学习/知识图谱/图神经网络)
人工智能领域常用的开源框架和库(含机器学习/深度学习/强化学习/知识图谱/图神经网络)
2020年最具潜力44个顶级开源项目,涵盖11类 AI 学习框架平台