Skip to main content

A Small Package for Use of Research

Project description

Dimension Reduction Function Research (drfr)

This package provides a Reduction Model and Regression Model, which respectively contains several choices for reduction and regression of data.

Discription of Each Model

Reduction Model

contains "NPPE", "UMAP", "LLE", "Hessian", "Spectral", "TSNE", "Isomap", used as keyword argument tag in function get_reduction(). To make tag "UMAP" work properly, an install according to https://github.com/lmcinnes/umap is needed.

Regression Model

contains "lasso", "ridge", "MARS", used as keyword argument tag in function cal_regression(). As basis generator either those in BasisGenerator or self made function can be used, where data X should be the only positional argument.

Basis Generator

contains several functions as basis generators, with form

generate_basis_name(X, p=basis_degree)

Usage

from drfr import ReductionModel, BasisGenerator, RegressionModel
from sklearn import datasets
import matplotlib.pyplot as plt

N = 5000
k = 24
X, color = datasets.samples_generator.make_swiss_roll(n_samples=N, noise=0.00001)
basis_generator = None
poly_degree = 4
tag_red = "NPPE"
tag_reg = "MARS"

# preprocessing
X, color = ReductionModel.pre_process(X, color)

# compute embedded result
red_model = ReductionModel.ReductionModel()
y_nppe = red_model.get_reduction(X, tag=tag_red)

# compute regression weights w given X and y, and compute basis(X)*y
reg_model = RegressionModel.RegressionModel()
y_reg = reg_model.cal_regression(X, y_nppe, tag=tag_reg, basis_generator=BasisGenerator.generate_fourier, p=poly_degree)

# draw results
ax = fig.add_subplot(311, projection='3d')
ax.scatter(X[:, 1], X[:, 0], X[:, 2], c=color, cmap=plt.cm.Spectral)

ax.set_title("Original data")
ax = fig.add_subplot(312)
ax.scatter(y_nppe[:, 1], y_nppe[:, 0], c=color, cmap=plt.cm.Spectral)
plt.axis('tight')
plt.xticks([]), plt.yticks([])
plt.title('Projected data with method' + tag_red)
ax = fig.add_subplot(313)
ax.scatter(y_reg[:, 1], y_reg[:, 0], c=color, cmap=plt.cm.Spectral)
plt.axis('tight')
plt.xticks([]), plt.yticks([])
plt.title("NPPE embedded data regressed by " + tag_reg + " Model\n" + "with basis degree" + poly_degree.__str__())
plt.show()

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

drfr-0.9.2-py3-none-any.whl (11.6 kB view hashes)

Uploaded Python 3

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