Skip to main content

Python implementation of semi-supervised learning algorithm

Project description

SemiSupervised

Describe

This is a Semi-supervised learning framework of Python. You can use it for classification task in machine learning.

Install

pip install semisupervised

API

We have implemented following semi-supervised learning algorithm.

  • LabelPropagation

reference code

  • S3VM

reference code

Statement

Some of the code comes from the Internet.

Examples

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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

semisupervised-0.0.28.tar.gz (20.9 kB view details)

Uploaded Source

File details

Details for the file semisupervised-0.0.28.tar.gz.

File metadata

  • Download URL: semisupervised-0.0.28.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for semisupervised-0.0.28.tar.gz
Algorithm Hash digest
SHA256 9cf912ba2ed6ee990b44046eb55c69bbe79ce1dd479ebcb159cb65fa13bec3ca
MD5 6f604b0c467a72e4a5aad79fd6c3a554
BLAKE2b-256 f8a171e1fbc1987e9b7f51160405c9e9148247658033d8692ae0db8b1913de47

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page