返回介绍

数学基础

统计学习

深度学习

工具

Scala

1.1 LabelPropagation

发布于 2023-07-17 23:38:23 字数 1986 浏览 0 评论 0 收藏 0

  1. LabelPropagationscikit-learn提供的 LabelPropagation算法模型,其原型为:

    
    class sklearn.semi_supervised.LabelPropagation(kernel='rbf', gamma=20, 
    n_neighbors=7, alpha=1, max_iter=30, tol=0.001)
    • kernel:一个字符串,指定距离函数(用于计算边的权重)。可以为下列的值:

      • 'rbf': 距离函数为: $ MathJax-Element-8 $ 。它的计算量较大,且距离矩阵是对称的。
      • 'knn' :如果 $ MathJax-Element-9 $ 是 $ MathJax-Element-10 $ 的 $ MathJax-Element-11 $ 近邻,则距离为 1;否则距离为 0。它的计算量较小,且距离矩阵是稀疏矩阵,且距离矩阵不对称的。
    • gamma: 一个浮点数,指定 rbf 距离函数的参数。

    • n_neighbors:一个整数,指定knn距离函数的参数。

    • alpha: 一个浮点数,为折中系数 $ MathJax-Element-12 $ 。

      该参数在scikit-learn 0.21 版本中被移除。因为在 LabelPropagation 算法中,该参数始终为 0 。

    • max_iter:一个整数,指定最大的迭代次数。

    • tol:一个浮点数,指定收敛的阈值。

    • n_jobs:指定并行度。

  2. 属性:

    • X_ :一个形状为(n_samples,n_features) 的数组,表示输入数据。
    • classes_:一个形状为(n_classes,) 的数组,表示分类问题中,类别种类数组。
    • label_distributions_ :一个形状为(n_samples,n_classes) 的数组,给出了每个样本的标记在每个类别上的分布。
    • transduction_:一个形状为(n_samples,) 的数组,给出每个样本计算出的标记。
    • n_iter_:一个整数,给出迭代次数。
  3. 方法:

    • fit(X, y):训练模型。
    • predict(X):预测样本标记。
    • predict_proba(X):预测每个样本在每个类别上的概率分布。
    • score(X, y[, sample_weight]):评估在测试集上的预测准确率。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文