Skip to main content

半监督学习算法的Python实现

项目描述

半监督

描述

这是 Python 的半监督学习框架。您可以将其用于机器学习中的分类任务。

安装

pip install semisupervised

API

我们已经实现了以下半监督学习算法。

  • 标签传播

参考代码

  • S3VM

参考代码

陈述

部分代码来自互联网。

例子

from __future__ import absolute_import
import numpy as np
from sklearn import datasets
from sklearn import metrics
from sklearn.model_selection import train_test_split

# normalization
def normalize(x):
    return (x - np.min(x))/(np.max(x) - np.min(x))

def get_data():
    X, y = datasets.load_breast_cancer(return_X_y=True)
    X = normalize(X)
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.6, random_state = 0)
    rng = np.random.RandomState(42)
    random_unlabeled_points = rng.rand(len(X_train)) < 0.1
    y_train[random_unlabeled_points] = -1
    #
    index, = np.where(y_train != -1)
    label_X_train = X_train[index,:]
    label_y_train = y_train[index]
    index, = np.where(y_train == -1)
    unlabel_X_train = X_train[index,:]
    unlabel_y = -1*np.ones(unlabel_X_train.shape[0]).astype(int)
    return label_X_train, label_y_train, unlabel_X_train, unlabel_y, X_test, y_test

label_X_train, label_y_train, unlabel_X_train, unlabel_y, X_test, y_test = get_data()

# import
from semisupervised import SKTSVM

model = SKTSVM()
model.fit(np.vstack((label_X_train, unlabel_X_train)), np.append(label_y_train, unlabel_y))
# predict
predict = model.predict(X_test)
acc = metrics.accuracy_score(y_test, predict)
# metric
print("accuracy", acc)

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

半监督-0.0.28.tar.gz (20.9 kB 图哈希)

已上传 source