半监督学习

      • :返回模型的参数。

        • deep: 如果为True,则可以返回模型参数的子对象。
      • set_params(**params):设置模型的参数。

        • params:待设置的关键字参数。
      • fit(X,y):训练模型。

        • X :训练集样本集合。通常是一个numpy array,每行代表一个样本,每列代表一个特征。
        • y :训练样本的标签集合。它与X 的每一行相对应。其中未标记样本的标记为 -1
      • predict(x): 利用模型执行预测。返回一个预测结果序列。

        • X:测试集样本集合。通常是一个numpy array,每行代表一个样本,每列代表一个特征。
      • predict_proba(x): 利用模型执行预测。返回每个样本在每个类别上的概率分布。

        • X:测试集样本集合。通常是一个numpy array,每行代表一个样本,每列代表一个特征。
      • score(X,y[,sample_weight]):对模型进行评估,返回模型的准确率评估结果。

        • X:验证集样本集合。通常是一个numpy array,每行代表一个样本,每列代表一个特征。
        • y:验证集样本的标签集合。它与X 的每一行相对应。
    1. 模型的一些通用参数:

      • n_jobs:一个正数,指定任务并形时指定的 数量。

        如果为 -1 则使用所有可用的 CPU

      • 如果为None则为默认值(不同solver的默认值不同)。

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

    1. scikit-learn 有两个类实现了标签传播算法:

      • LabelPropagation:迭代过程:

        • 执行标签传播: 。
        • 重置 6.半监督学习模型 - 图1 中的标签样本标记: ,其中 6.半监督学习模型 - 图2 表示 的前 6.半监督学习模型 - 图3 行。
      • LabelSpreading: 迭代过程:

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

      • kernel:一个字符串,指定距离函数(用于计算边的权重)。可以为下列的值:

        • 'rbf': 距离函数为: 6.半监督学习模型 - 图4 。它的计算量较大,且距离矩阵是对称的。
        • 'knn' :如果 是 6.半监督学习模型 - 图5 的 近邻,则距离为 1;否则距离为 0。它的计算量较小,且距离矩阵是稀疏矩阵,且距离矩阵不对称的。
      • gamma: 一个浮点数,指定 rbf 距离函数的参数。

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

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

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

      • :指定并行度。

    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]):评估在测试集上的预测准确率。

    1.2 LabelSpreading

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

      1. class sklearn.semi_supervised.LabelSpreading(kernel='rbf', gamma=20,
      2. n_neighbors=7, alpha=0.2, max_iter=30, tol=0.001)

      参数:参考sklearn.semi_supervised.LabelPropagation

      • 注意:这里的 alpha 参数表示折中因子,是有意义的(并不会被删除)。

        • alpha=0:保留所有初始标签信息。
        • alpha=1:修改所有初始标签信息。
    2. 方法:参考sklearn.semi_supervised.LabelPropagation