所以我刚开始使用python进行统计/机器学习,并且一直在使用线性代数计算协方差矩阵。
例如:
import sklearn.preprocessing as pre
import pandas as pd
import numpy as np
cols = ['sepal length', 'sepal width', 'petal length', 'petal width', 'classification']
iris = pd.read_csv('data/iris.data', names=cols)
data = iris.loc[:,'sepal length':'petal width']
centered = pd.DataFrame(pre.scale(data, with_std=False), columns=iris.columns[0:4])
cov = centered.T @ centered
然后,我注意到DataFrame对象具有一种计算协方差矩阵的方法,但是它为我提供了一组不同的值。
cov = centered.cov()
我想知道为什么会这样。我猜这是对数据的某种缩放,但是我对统计并不陌生,也不确定。这让我想知道我是否做错了。