Voici mon code:
def topK(dataMat,sensitivity):
meanVals = np.mean(dataMat, axis=0)
meanRemoved = dataMat - meanVals
covMat = np.cov(meanRemoved, rowvar=0)
eigVals,eigVects = np.linalg.eig(np.mat(covMat))
J'obtiens l'erreur dans le titre sur la dernière ligne ci-dessus. Je soupçonne que cela a quelque chose à voir avec le type de données, alors, voici une image de la variable et du type de données de l'explorateur de variables dans Spyder:
J'ai essayé de changer np.linalg.eig (np.mat (covMat)) en np.linalg. eig (np.array (np.mat (covMat))) et to np.linalg.eig (np.array (covMat))) , rien ne fonctionne. Des idées? (un exemple serait génial!)
Votre tableau a un dtype
de object
, mais cela devrait être une virgule flottante dtype
. Utilisez par exemple.
covMat = np.array(covMat, dtype=float)
pour convertir le dtype