List

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
alpi
User
Beiträge: 8
Registriert: Mittwoch 18. Mai 2022, 06:04

Wie kann ich verhindern das meine Liste Überschrieben wird?
Hallo liebes Community,

ich möchte, in eine Liste Werte hinzufügen, um anschließend mir den durchschnitt auszugeben. Allerdings werden meine Werte immer überschrieben.

averageGamma = [ ]

averageC = [ ]

valuess= {'gamma' : 5, 'C' : 6, 'C' : 7, 'gamma':10}

for key, value in valuess.items():

if key == 'gamma':

averageGamma.append(value)

else:

averageC.append(value)

print(np.mean(averageGamma))

print(np.mean(averageC))

Ausgabe: 10

Ausgabe: 7

danke schonmal
Sirius3
User
Beiträge: 18279
Registriert: Sonntag 21. Oktober 2012, 17:20

Nicht Deine Listen machen hier Probleme, sondern das Wörterbuch, denn in einem Wörterbuch kann jeder Schlüssel nur einmal vorkommen.
Woher kommen diese `valuess`?
alpi
User
Beiträge: 8
Registriert: Mittwoch 18. Mai 2022, 06:04

Ich versuche fuer folgende Parameter: SVC(kernel = 'rbf', C = 1, gamma= 1) den bestmöglichen Durchschnittswert zu ermitteln:

averageGamma = []
averageKey = []
for i in range (0 , 100):

clf = GridSearchCV( SVC(), param_grid={
'gamma' : [1, 2, 3, 4, 5],
'C' : [1, 2, 3, 4, 5]

}, cv = RepeatedKFold())

clf.fit(sc.transform(x_train), y_train)

for key, values in clf.param_grid.items():
if key == 'gamma':
averageGamma.append(values)
else:
averageKey.append(values)
print(np.mean(averageGamma))
print(np.mean(averageKey ))

So sieht der Code ursprünglich aus.
Benutzeravatar
__blackjack__
User
Beiträge: 14078
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@alpi: Was meinst Du mit „überschrieben“? Das einzige was sich in der Schleife ändert ist `i`, und das wird nirgends verwendet. Falls da nicht irgendwo Zufallswerte rein spielen oder die `fit()`-Methode das `param_grid` verändern, kommt da in jedem Schleifendurchlauf das gleiche bei heraus.

Laut Doku ist `param_grid` nicht einmal ein offizielles Attribut. Bist Du sicher, dass Du *darüber* iterieren möchtest, und nicht beispielsweise über das beste Ergebnis?
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten