che sto cercando di fare una semplice funzione di regressione lineare ma continuano a incontrare una funzione esistenteregressione lineare con Python NumPy
numpy.linalg.linalg.LinAlgError: Singular matrix error
(con stampe di debug):
def makeLLS(inputData, targetData):
print "In makeLLS:"
print " Shape inputData:",inputData.shape
print " Shape targetData:",targetData.shape
term1 = np.dot(inputData.T, inputData)
term2 = np.dot(inputData.T, targetData)
print " Shape term1:",term1.shape
print " Shape term2:",term2.shape
#print term1
#print term2
result = np.linalg.solve(term1, term2)
return result
L'uscita al console con i miei dati di test è:
In makeLLS:
Shape trainInput1: (773, 10)
Shape trainTargetData: (773, 1)
Shape term1: (10, 10)
Shape term2: (10, 1)
Quindi errori nella riga linalg.solve. Questa è una funzione di regressione lineare da manuale e non riesco a capire perché non funziona.
Qual è l'errore della matrice singolare?
Si potrebbe anche usare 'np.polyfit (x, y, 1)'. – naught101