Moinsen,
Ich schlage mich nun seit einiger Zeit mit dem Problem herum und finde einfach keine Lösung.
Problem ist folgendes: Die Genauigkeit eines Klassifiezirers soll mithilfe der numpy.mean() funktion berechnet werden.
#D ist eine Matrix mit 262 Zeilen und 14 spalten
#klassifizierer ist eine Funktion die mir zufällig eine 1 oder null ausgibt.
# Die 14 Spalte hat den wert 1 oder null. Wenn die Zufallszahl übereinstimmt dann ist das Ergebniss korrekt wenn nicht dann ist es falsch-
def accuracy(D, klassifizierer):
korrekt = #Hier soll der code stehen
genauigkeit = np.mean(korrekt)
return genauigkeit
meine Idee war das hier:
korrekt = (D[:, 13] == klassifizierer)
aber anstatt die Funktion bei jedem Wert aufs neue auszuführen, wird nur am Anfang die Funktion ausgeführt.
Wie kann man das beheben?[
Ich wäre sehr dankbar wenn ihr mir helfen könntet.
Mit Numpy Genauigkeit berechnen
Prinzipiell bist du schon nah dran.
Du kannst deine Funktion klassifizierer aber nicht direkt auf ein numpy array anwenden
sondern musst diese benutzen um ein 1D array zu erstellen, welches du dann mit deiner 14. Spalte in der Matrix vergleichen kannst.
Du kannst deine Funktion klassifizierer aber nicht direkt auf ein numpy array anwenden
sondern musst diese benutzen um ein 1D array zu erstellen, welches du dann mit deiner 14. Spalte in der Matrix vergleichen kannst.
Code: Alles auswählen
import numpy as np
def klassifizierer():
return np.random.choice([0,1])
def accuracy(D, classifier):
clf = np.array([classifier() for i in range(D.shape[0])]) # Eventuell gibt es hierfür eine elegante numpy Funktion die mir auf die schnelle nicht einfiel
korrekt = D[:,-1] == clf
genauigkeit = np.mean(korrekt)
return genauigkeit
D = np.ones((262,14))
accuracy(D, klassifizierer)
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png