本文简要介绍python语言中 sklearn.gaussian_process.GaussianProcessClassifier
的用法。
用法:
class sklearn.gaussian_process.GaussianProcessClassifier(kernel=None, *, optimizer='fmin_l_bfgs_b', n_restarts_optimizer=0, max_iter_predict=100, warm_start=False, copy_X_train=True, random_state=None, multi_class='one_vs_rest', n_jobs=None)
基于拉普拉斯近似的高斯过程分类(GPC)。
该实现基于 Rasmussen 和 Williams 的机器学习高斯过程 (GPML) 的算法 3.1、3.2 和 5.1。
在内部,拉普拉斯近似用于通过高斯近似非高斯后验。
目前,实施仅限于使用物流链接函数。对于多类分类,安装了多个二元one-versus剩余分类器。请注意,此类并未实现真正的多类拉普拉斯近似。
在用户指南中阅读更多信息。
- kernel:内核实例,默认=无
指定 GP 协方差函数的内核。如果 None 被传递,内核“1.0 * RBF(1.0)”被用作默认值。请注意,内核的超参数在拟合期间进行了优化。
- optimizer:‘fmin_l_bfgs_b’ 或可调用,默认='fmin_l_bfgs_b'
可以是用于优化内核参数的内部支持的优化器之一,由字符串指定,也可以是作为可调用传递的外部定义的优化器。如果传递了可调用对象,则它必须具有签名:
def optimizer(obj_func, initial_theta, bounds): # * 'obj_func' is the objective function to be maximized, which # takes the hyperparameters theta as parameter and an # optional flag eval_gradient, which determines if the # gradient is returned additionally to the function value # * 'initial_theta': the initial value for theta, which can be # used by local optimizers # * 'bounds': the bounds on the values of theta .... # Returned are the best found hyperparameters theta and # the corresponding value of the target function. return theta_opt, func_min
默认情况下,使用来自scipy.optimize.minimize 的“L-BFGS-B”算法。如果 None 被传递,内核的参数保持固定。可用的内部优化器有:
'fmin_l_bfgs_b'
- n_restarts_optimizer:整数,默认=0
优化器重新启动的次数,用于查找最大化log-marginal 可能性的内核参数。优化器的第一次运行是从内核的初始参数执行的,其余的(如果有的话)来自 thetas 从允许的 theta-values 的空间中随机采样 log-uniform。如果大于 0,则所有边界都必须是有限的。请注意,n_restarts_optimizer=0 意味着执行了一次运行。
- max_iter_predict:整数,默认=100
牛顿法中用于在预测期间逼近后验的最大迭代次数。较小的值将以更差的结果为代价减少计算时间。
- warm_start:布尔,默认=假
如果启用warm-starts,则在后验模式的拉普拉斯近似上的最后一次牛顿迭代的解将用作_posterior_mode()的下一次调用的初始化。当 _posterior_mode 在与超参数优化类似的问题上被多次调用时,这可以加快收敛速度。请参阅词汇表。
- copy_X_train:布尔,默认=真
如果为 True,则将训练数据的持久副本存储在对象中。否则,只存储对训练数据的引用,如果数据被外部修改,这可能会导致预测发生变化。
- random_state:int、RandomState 实例或无,默认=无
确定用于初始化中心的随机数生成。传递 int 以获得跨多个函数调用的可重现结果。请参阅词汇表。
- multi_class:{‘one_vs_rest’, ‘one_vs_one’},默认='one_vs_rest'
指定如何处理多类分类问题。支持‘one_vs_rest’ 和‘one_vs_one’。在‘one_vs_rest’中,为每个类安装一个二元高斯过程分类器,经过训练将此类与其他类分开。在‘one_vs_one’中,为每一对类安装一个二元高斯过程分类器,该分类器经过训练以分离这两个类。这些二元预测器的预测被组合成多类预测。请注意,‘one_vs_one’ 不支持预测概率估计。
- n_jobs:整数,默认=无
用于计算的作业数量:并行计算指定的多类问题。
None
表示 1,除非在joblib.parallel_backend
上下文中。-1
表示使用所有处理器。有关详细信息,请参阅词汇表。
- base_estimator_:
Estimator
实例 使用观察到的数据定义似然函数的估计器实例。
kernel_
内核实例返回基本估计器的内核。
- log_marginal_likelihood_value_:浮点数
self.kernel_.theta
的log-marginal-likelihood- classes_:形状类似数组 (n_classes,)
唯一的类标签。
- n_classes_:int
训练数据中的类数
- n_features_in_:int
拟合期间看到的特征数。
- feature_names_in_:ndarray 形状(
n_features_in_
,) 拟合期间看到的特征名称。仅当
X
具有全为字符串的函数名称时才定义。
- base_estimator_:
参数:
属性:
例子:
>>> from sklearn.datasets import load_iris >>> from sklearn.gaussian_process import GaussianProcessClassifier >>> from sklearn.gaussian_process.kernels import RBF >>> X, y = load_iris(return_X_y=True) >>> kernel = 1.0 * RBF(1.0) >>> gpc = GaussianProcessClassifier(kernel=kernel, ... random_state=0).fit(X, y) >>> gpc.score(X, y) 0.9866... >>> gpc.predict_proba(X[:2,:]) array([[0.83548752, 0.03228706, 0.13222543], [0.79064206, 0.06525643, 0.14410151]])
相关用法
- Python sklearn GaussianProcessRegressor用法及代码示例
- Python sklearn GaussianNB用法及代码示例
- Python sklearn GaussianRandomProjection用法及代码示例
- Python sklearn GaussianMixture用法及代码示例
- Python sklearn GammaRegressor用法及代码示例
- Python sklearn GradientBoostingRegressor用法及代码示例
- Python sklearn GridSearchCV用法及代码示例
- Python sklearn GroupShuffleSplit用法及代码示例
- Python sklearn GraphicalLassoCV用法及代码示例
- Python sklearn GroupKFold用法及代码示例
- Python sklearn GradientBoostingClassifier用法及代码示例
- Python sklearn GenericUnivariateSelect用法及代码示例
- Python sklearn GraphicalLasso用法及代码示例
- Python sklearn jaccard_score用法及代码示例
- Python sklearn WhiteKernel用法及代码示例
- Python sklearn CalibrationDisplay.from_predictions用法及代码示例
- Python sklearn VotingRegressor用法及代码示例
- Python sklearn gen_batches用法及代码示例
- Python sklearn ExpSineSquared用法及代码示例
- Python sklearn MDS用法及代码示例
- Python sklearn adjusted_rand_score用法及代码示例
- Python sklearn MLPClassifier用法及代码示例
- Python sklearn train_test_split用法及代码示例
- Python sklearn RandomTreesEmbedding用法及代码示例
- Python sklearn log_loss用法及代码示例
注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.gaussian_process.GaussianProcessClassifier。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。