metric learn ( python)

度量学习的应用基本可以涵盖各种领域,最近需要当作工具使用,用的语言是python,网上直接有工具包metric-learn,可以直接使用pip install metric-learn的方法来安装,或者根据前面github上的网址下载源码之后python setup.py install.
安装好之后就可以使用包中带的一些度量学习的方法了,以下的例子均摘自此处

Covariance metric(baseline method)

from metric_learn import Covariance
from sklearn.datasets import load_iris

iris = load_iris()['data']

cov = Covariance().fit(iris)
x = cov.transform(iris)

Large Margin Nearest Neighbor (LMNN)

import numpy as np
from metric_learn import LMNN
from sklearn.datasets import load_iris

iris_data = load_iris()
X = iris_data['data']
Y = iris_data['target']

lmnn = LMNN(k=5, learn_rate=1e-6)
lmnn.fit(X, Y, verbose=False)

Information Theoretic Metric Learning (ITML)

from metric_learn import ITML_Supervised
from sklearn.datasets import load_iris

iris_data = load_iris()
X = iris_data['data']
Y = iris_data['target']

itml = ITML_Supervised(num_constraints=200)
itml.fit(X, Y)

Sparse Determinant Metric Learning (SDML)

from metric_learn import SDML_Supervised
from sklearn.datasets import load_iris

iris_data = load_iris()
X = iris_data['data']
Y = iris_data['target']

sdml = SDML_Supervised(num_constraints=200)
sdml.fit(X, Y)

Least Squares Metric Learning (LSML)

from metric_learn import LSML_Supervised
from sklearn.datasets import load_iris

iris_data = load_iris()
X = iris_data['data']
Y = iris_data['target']

lsml = LSML_Supervised(num_constraints=200)
lsml.fit(X, Y)

Neighborhood Components Analysis (NCA)

import numpy as np
from metric_learn import NCA
from sklearn.datasets import load_iris

iris_data = load_iris()
X = iris_data['data']
Y = iris_data['target']

nca = NCA(max_iter=1000, learning_rate=0.01)
nca.fit(X, Y)

Local Fisher Discriminant Analysis (LFDA)

import numpy as np
from metric_learn import LFDA
from sklearn.datasets import load_iris

iris_data = load_iris()
X = iris_data['data']
Y = iris_data['target']

lfda = LFDA(k=2, dim=2)
lfda.fit(X, Y)

Relative Components Analysis (RCA)

from metric_learn import RCA_Supervised
from sklearn.datasets import load_iris

iris_data = load_iris()
X = iris_data['data']
Y = iris_data['target']

rca = RCA_Supervised(num_chunks=30, chunk_size=2)
rca.fit(X, Y)

你可能感兴趣的:(python)