added tutorial examples and my data workthrough examplesin unsup_v1.py
This commit is contained in:
parent
ad5ebad7f8
commit
89a0c3a58a
4 changed files with 1123 additions and 0 deletions
57
umap_fs.py
Normal file
57
umap_fs.py
Normal file
|
@ -0,0 +1,57 @@
|
|||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Created on Wed Mar 23 13:36:46 2022
|
||||
|
||||
@author: tanu
|
||||
"""
|
||||
#https://umap-learn.readthedocs.io/en/latest/auto_examples/plot_feature_extraction_classification.html
|
||||
from sklearn.datasets import make_classification
|
||||
from sklearn.model_selection import train_test_split, GridSearchCV
|
||||
from sklearn.pipeline import Pipeline
|
||||
from sklearn.svm import LinearSVC
|
||||
|
||||
from umap import UMAP
|
||||
|
||||
# Make a toy dataset
|
||||
X, y = make_classification(
|
||||
n_samples=1000,
|
||||
n_features=300,
|
||||
n_informative=250,
|
||||
n_redundant=0,
|
||||
n_repeated=0,
|
||||
n_classes=2,
|
||||
random_state=1212,
|
||||
)
|
||||
|
||||
# Split the dataset into a training set and a test set
|
||||
X_train, X_test, y_train, y_test = train_test_split(
|
||||
X, y, test_size=0.2, random_state=42
|
||||
)
|
||||
|
||||
# Classification with a linear SVM
|
||||
svc = LinearSVC(dual=False, random_state=123)
|
||||
params_grid = {"C": [10 ** k for k in range(-3, 4)]}
|
||||
clf = GridSearchCV(svc, params_grid)
|
||||
clf.fit(X_train, y_train)
|
||||
print(
|
||||
"Accuracy on the test set with raw data: {:.3f}".format(clf.score(X_test, y_test))
|
||||
)
|
||||
|
||||
# Transformation with UMAP followed by classification with a linear SVM
|
||||
umap = UMAP(random_state=456)
|
||||
pipeline = Pipeline([("umap", umap), ("svc", svc)])
|
||||
params_grid_pipeline = {
|
||||
"umap__n_neighbors": [5, 20],
|
||||
"umap__n_components": [15, 25, 50],
|
||||
"svc__C": [10 ** k for k in range(-3, 4)],
|
||||
}
|
||||
|
||||
|
||||
clf_pipeline = GridSearchCV(pipeline, params_grid_pipeline)
|
||||
clf_pipeline.fit(X_train, y_train)
|
||||
print(
|
||||
"Accuracy on the test set with UMAP transformation: {:.3f}".format(
|
||||
clf_pipeline.score(X_test, y_test)
|
||||
)
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue