Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scikit learn 如何利用scikit学习从线性判别分析中获取特征向量_Scikit Learn - Fatal编程技术网

Scikit learn 如何利用scikit学习从线性判别分析中获取特征向量

Scikit learn 如何利用scikit学习从线性判别分析中获取特征向量,scikit-learn,Scikit Learn,如何从一个线性判别分析对象中获得基矩阵的变化 对于具有形状mxp(m样本和p特征)和N类的数组X,缩放矩阵具有p行和N-1列。该矩阵可用于将数据从原始空间转换为线性子空间 根据Arya的回答编辑: 我们考虑下面的例子: from sklearn.datasets import make_blobs from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA X, label = make_blobs(

如何从一个线性判别分析对象中获得基矩阵的变化

对于具有形状
mxp
m
样本和
p
特征)和
N
类的数组
X
,缩放矩阵具有
p
行和
N-1
列。该矩阵可用于将数据从原始空间转换为线性子空间


根据Arya的回答编辑:

我们考虑下面的例子:

from sklearn.datasets import make_blobs
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA

X, label = make_blobs(n_samples=100, n_features=2, centers=5, cluster_std=0.10, random_state=0)
lda = LDA()
Xlda = lda.fit(X, label)
Xlda.scalings_
#array([[ 7.35157288,  6.76874473],
#       [-6.45391558,  7.97604449]])
Xlda.scalings_.shape
#(2, 2)

我希望缩放矩阵形状为(2,4),因为我有2个功能,LDA将提供5-1个组件。

让我们称您的
线性描述分析
对象
LDA
。您可以通过
lda.scalings\uu
访问缩放矩阵。下面显示了描述这一点的文档


非常感谢您的关心。的确,对于iris数据集,它似乎工作正常(虽然结果与我从R获得的结果不同,但我猜这是由于一些规范化预处理。)然而,对于另一个例子,缩放矩阵无法满足之前对其形状的要求,请参阅我使用make_blob的答案`我编辑了我的问题,以展示一个缩放矩阵形状似乎错误的示例。这值得向scikit learn的维护人员提交一份报告。问题补充道:@aryamcarthy在这个示例中,lda.scalings是特征向量吗?
import sklearn.datasets as ds
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA

iris = ds.load_iris()
iris.data.shape
# (150, 4)
len(iris.target_names)
# 3

lda = LDA()
lda.fit(iris.data, iris.target)
lda.scalings_
# array([[-0.81926852,  0.03285975],
#        [-1.5478732 ,  2.15471106],
#        [ 2.18494056, -0.93024679],
#        [ 2.85385002,  2.8060046 ]])
lda.scalings_.shape
# (4, 2)