本文整理汇总了Python中sklearn.manifold.SpectralEmbedding方法的典型用法代码示例。如果您正苦于以下问题:Python manifold.SpectralEmbedding方法的具体用法?Python manifold.SpectralEmbedding怎么用?Python manifold.SpectralEmbedding使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sklearn.manifold
的用法示例。
在下文中一共展示了manifold.SpectralEmbedding方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: learn_manifold
# 需要导入模块: from sklearn import manifold [as 别名]
# 或者: from sklearn.manifold import SpectralEmbedding [as 别名]
def learn_manifold(manifold_type, feats, n_components=2):
if manifold_type == 'tsne':
feats_fitted = manifold.TSNE(n_components=n_components, random_state=0).fit_transform(feats)
elif manifold_type == 'isomap':
feats_fitted = manifold.Isomap(n_components=n_components).fit_transform(feats)
elif manifold_type == 'mds':
feats_fitted = manifold.MDS(n_components=n_components).fit_transform(feats)
elif manifold_type == 'spectral':
feats_fitted = manifold.SpectralEmbedding(n_components=n_components).fit_transform(feats)
else:
raise Exception('wrong maniford type!')
# methods = ['standard', 'ltsa', 'hessian', 'modified']
# feats_fitted = manifold.LocallyLinearEmbedding(n_components=n_components, method=methods[0]).fit_transform(pred)
return feats_fitted
示例2: apply_lens
# 需要导入模块: from sklearn import manifold [as 别名]
# 或者: from sklearn.manifold import SpectralEmbedding [as 别名]
def apply_lens(df, lens='pca', dist='euclidean', n_dim=2, **kwargs):
"""
input: N x F dataframe of observations
output: N x n_dim image of input data under lens function
"""
if n_dim != 2:
raise 'error: image of data set must be two-dimensional'
if dist not in ['euclidean', 'correlation']:
raise 'error: only euclidean and correlation distance metrics are supported'
if lens == 'pca' and dist != 'euclidean':
raise 'error: PCA requires the use of euclidean distance metric'
if lens == 'pca':
df_lens = pd.DataFrame(decomposition.PCA(n_components=n_dim, **kwargs).fit_transform(df), df.index)
elif lens == 'mds':
D = metrics.pairwise.pairwise_distances(df, metric=dist)
df_lens = pd.DataFrame(manifold.MDS(n_components=n_dim, **kwargs).fit_transform(D), df.index)
elif lens == 'neighbor':
D = metrics.pairwise.pairwise_distances(df, metric=dist)
df_lens = pd.DataFrame(manifold.SpectralEmbedding(n_components=n_dim, **kwargs).fit_transform(D), df.index)
else:
raise 'error: only PCA, MDS, neighborhood lenses are supported'
return df_lens
示例3: classifiers
# 需要导入模块: from sklearn import manifold [as 别名]
# 或者: from sklearn.manifold import SpectralEmbedding [as 别名]
def classifiers(self):
graph_builder = LabelCooccurrenceGraphBuilder(weighted=True, include_self_edges=False)
param_dicts = {
'GraphFactorization': dict(epoch=1),
'GraRep': dict(Kstep=2),
'HOPE': dict(),
'LaplacianEigenmaps': dict(),
'LINE': dict(epoch=1, order=1),
'LLE': dict(),
}
if not (sys.version_info[0] == 2 or platform.architecture()[0] == '32bit'):
for embedding in OpenNetworkEmbedder._EMBEDDINGS:
if embedding == 'LLE':
dimension = 3
else:
dimension = 4
yield EmbeddingClassifier(
OpenNetworkEmbedder(copy(graph_builder), embedding, dimension,
'add', True, param_dicts[embedding]),
LinearRegression(),
MLkNN(k=2)
)
yield EmbeddingClassifier(
SKLearnEmbedder(SpectralEmbedding(n_components=2)),
LinearRegression(),
MLkNN(k=2)
)
EmbeddingClassifier(
CLEMS(metrics.accuracy_score, True),
LinearRegression(),
MLkNN(k=2),
True
)
示例4: test_objectmapper
# 需要导入模块: from sklearn import manifold [as 别名]
# 或者: from sklearn.manifold import SpectralEmbedding [as 别名]
def test_objectmapper(self):
df = pdml.ModelFrame([])
self.assertIs(df.manifold.LocallyLinearEmbedding,
manifold.LocallyLinearEmbedding)
self.assertIs(df.manifold.Isomap, manifold.Isomap)
self.assertIs(df.manifold.MDS, manifold.MDS)
self.assertIs(df.manifold.SpectralEmbedding, manifold.SpectralEmbedding)
self.assertIs(df.manifold.TSNE, manifold.TSNE)
示例5: see_iso_map
# 需要导入模块: from sklearn import manifold [as 别名]
# 或者: from sklearn.manifold import SpectralEmbedding [as 别名]
def see_iso_map(bottlenecks, labels, suptitle=None):
"""
:param bottlenecks:
:param labels:
:param suptitle: String to add as plot suptitles
:return: Nothing, will just plot a scatter plot to show the distribution of our data after dimensionality reduction.
"""
n_samples, n_features = bottlenecks.shape
n_neighbors = 25
n_components = 2
start_index_outlier = np.where(labels == 1)[0][0]
alpha_inlier = 0.25
B_iso = manifold.Isomap(n_neighbors, n_components).fit_transform(bottlenecks)
B_pca = decomposition.TruncatedSVD(n_components=2).fit_transform(bottlenecks)
B_lle = manifold.LocallyLinearEmbedding(n_neighbors, n_components, method='standard').fit_transform(bottlenecks)
B_spec = manifold.SpectralEmbedding(n_components=n_components, random_state=42,
eigen_solver='arpack').fit_transform(bottlenecks)
plt.figure()
plt.subplot(221)
plt.scatter(B_iso[:start_index_outlier, 0], B_iso[:start_index_outlier, 1], marker='o', c='b', alpha=alpha_inlier)
plt.scatter(B_iso[start_index_outlier:, 0], B_iso[start_index_outlier:, 1], marker='^', c='k')
plt.title("Isomap projection")
plt.subplot(222)
inlier_scatter = plt.scatter(B_lle[:start_index_outlier, 0], B_lle[:start_index_outlier, 1], marker='o', c='b',
alpha=alpha_inlier)
outlier_scatter = plt.scatter(B_lle[start_index_outlier:, 0], B_lle[start_index_outlier:, 1], marker='^', c='k')
plt.legend([inlier_scatter, outlier_scatter], ['Inliers', 'Outliers'], loc='lower left')
plt.title("Locally Linear Embedding")
plt.subplot(223)
plt.scatter(B_pca[:start_index_outlier, 0], B_pca[:start_index_outlier, 1], marker='o', c='b', alpha=alpha_inlier)
plt.scatter(B_pca[start_index_outlier:, 0], B_pca[start_index_outlier:, 1], marker='^', c='k')
plt.title("Principal Components projection")
plt.subplot(224)
plt.scatter(B_spec[:start_index_outlier, 0], B_spec[:start_index_outlier, 1], marker='o', c='b', alpha=alpha_inlier)
plt.scatter(B_spec[start_index_outlier:, 0], B_spec[start_index_outlier:, 1], marker='^', c='k')
plt.title("Spectral embedding")
if suptitle:
plt.suptitle(suptitle)
示例6: component_layout
# 需要导入模块: from sklearn import manifold [as 别名]
# 或者: from sklearn.manifold import SpectralEmbedding [as 别名]
def component_layout(
data, n_components, component_labels, dim, metric="euclidean", metric_kwds={}
):
"""Provide a layout relating the separate connected components. This is done
by taking the centroid of each component and then performing a spectral embedding
of the centroids.
Parameters
----------
data: array of shape (n_samples, n_features)
The source data -- required so we can generate centroids for each
connected component of the graph.
n_components: int
The number of distinct components to be layed out.
component_labels: array of shape (n_samples)
For each vertex in the graph the label of the component to
which the vertex belongs.
dim: int
The chosen embedding dimension.
metric: string or callable (optional, default 'euclidean')
The metric used to measure distances among the source data points.
metric_kwds: dict (optional, default {})
Keyword arguments to be passed to the metric function.
Returns
-------
component_embedding: array of shape (n_components, dim)
The ``dim``-dimensional embedding of the ``n_components``-many
connected components.
"""
component_centroids = np.empty((n_components, data.shape[1]), dtype=np.float64)
for label in range(n_components):
component_centroids[label] = data[component_labels == label].mean(axis=0)
distance_matrix = pairwise_distances(
component_centroids, metric=metric, **metric_kwds
)
affinity_matrix = np.exp(-distance_matrix ** 2)
component_embedding = SpectralEmbedding(
n_components=dim, affinity="precomputed"
).fit_transform(affinity_matrix)
component_embedding /= component_embedding.max()
return component_embedding