Bis zum letzten Mal
Verwenden Sie Deep Learning, um das Wetter anhand von Wetterbildern 1 vorherzusagen Verwenden Sie Deep Learning, um das Wetter anhand von Wetterbildern 2 vorherzusagen
Zusammenfassend,
Wetter | Precision | Recall | F-Score |
---|---|---|---|
Regen | 0.54 | 0.67 | 0.6 |
Fein | 0.83 | 0.74 | 0.78 |
durchschnittlich | 0.74 | 0.72 | 0.72 |
Dieses Mal möchte ich die Genauigkeit verbessern, indem ich das Modell, die Lehrerdaten und die erklärenden Variablen verbessere.
Speziell
Es wird da sein.
Bisher war es eine binäre Klassifikation von "fein" und "Regen". Dies enthält jedoch eine große Menge an "Trübung", was einer der Faktoren war, die die Genauigkeit verringerten. Daher werde ich es einfach als ternäre Klassifikation einschließlich "bewölkt" versuchen.
Die Bedingungen zum Generieren von Lehrerdaten sind wie folgt.
flag = []
for tk in tenki_list:
if "Regen" in tk:
flag.append(0)
elif "Fein" in tk:
flag.append(2)
else:
flag.append(1)
Regen hat höchste Priorität, gefolgt von schönem Wetter und der letzten verbleibenden Wolke.
Das Testergebnis ist wie folgt. Jede Wahrscheinlichkeit ist die durchschnittliche Wahrscheinlichkeit im Wetter. Sortiert in absteigender Reihenfolge der Regenwahrscheinlichkeit.
Wetter | Regenwahrscheinlichkeit | Bewölkte Wahrscheinlichkeit | Klare Wahrscheinlichkeit |
---|---|---|---|
Manchmal sonnig nach starkem Regen, begleitet von Verschüttungen | 98% | 0% | 2% |
Bewölkt nach Regen, begleitet von Hagel | 97% | 0% | 3% |
Regen | 96% | 1% | 3% |
Starkregen | 95% | 1% | 4% |
Sonniger vorübergehender Regen | 95% | 0% | 5% |
Bewölkt und manchmal sonnig nach einem vorübergehenden Regen | 91% | 1% | 8% |
Manchmal sonnig nach bewölkt | 90% | 3% | 6% |
Regen Manchmal sonnig Temporärer Nebelregen | 89% | 2% | 10% |
Vorübergehend bewölkt nach starkem Regen | 80% | 3% | 17% |
Bewölkt und manchmal regnerisch | 77% | 4% | 19% |
Bewölkt und manchmal sonnig mit vorübergehendem Regen und Donner | 74% | 5% | 21% |
Vorübergehend bewölkt nach Regen | 72% | 6% | 22% |
Sonnig nach Regen | 72% | 4% | 24% |
Bewölkter vorübergehender Regen | 71% | 5% | 24% |
Bewölkt nach Regen | 71% | 3% | 26% |
Bewölkt manchmal Regen | 70% | 5% | 25% |
Manchmal bewölkt nach Regen | 67% | 3% | 29% |
Vorübergehender bewölkter Regen | 63% | 7% | 30% |
Bewölkt nach klar | 63% | 4% | 33% |
Regnerisch und manchmal bewölkt | 62% | 8% | 30% |
Regen manchmal bewölkt | 61% | 4% | 35% |
Sonnig und manchmal bewölkt | 60% | 3% | 37% |
Bewölkt und manchmal sonnig | 59% | 5% | 36% |
Regen nach bewölkt | 57% | 7% | 36% |
Vorübergehender Regen nach schönem Wetter, begleitet von Donner | 52% | 11% | 36% |
Vorübergehende Geldstrafe nach Bewölkung | 51% | 6% | 44% |
Manchmal bewölkt nach einem vorübergehenden Regen | 50% | 7% | 44% |
Temporärer Regen nach bewölkt | 49% | 10% | 41% |
Wolkig | 45% | 8% | 47% |
Lichtwolke | 42% | 7% | 52% |
Leicht bewölkt vorübergehend klar | 38% | 10% | 52% |
Sonnig Temporär bewölkt | 38% | 8% | 55% |
Manchmal sonnig nach leicht bewölkt | 38% | 11% | 52% |
Nach schönem Wetter vorübergehend bewölkt | 34% | 9% | 57% |
Leicht bewölkt und manchmal sonnig | 34% | 8% | 58% |
Wolkig | 33% | 7% | 60% |
Teilweise bewölkt | 33% | 9% | 58% |
Bewölkt und sonnig nach Regen | 31% | 13% | 56% |
Fein | 30% | 9% | 61% |
Sonnig und vorübergehend bewölkt | 30% | 8% | 62% |
Leicht bewölkt nach schönem Wetter | 28% | 11% | 61% |
Manchmal bewölkt nach schönem Wetter | 27% | 8% | 65% |
Sonnig | 25% | 7% | 68% |
Sonnig nach bewölkt | 22% | 10% | 68% |
Manchmal regnet es nach bewölkt | 20% | 8% | 72% |
Bewölkt und sonnig nach einem vorübergehenden Regen | 20% | 11% | 70% |
Bewölkt und manchmal sonnig und dann vorübergehender Regen | 18% | 10% | 73% |
Nach sonnigem Regen manchmal bewölkt | 4% | 5% | 91% |
Infolgedessen wird keine Trübung vorhergesagt. (Ernsthaft)
Da die Lehrerdaten im obigen bedingten Ausdruck wie folgt lauten, ist es meiner Meinung nach sehr schwierig, die Trübung abzuschätzen.
Wetter | Prozentsatz |
---|---|
Regen | 33% |
Wolkig | 7% |
Fein | 59% |
Damit fühlt es sich an, als würde man nur das offensichtliche "trübe" spielen. Wenn Sie jedoch zum Beispiel zuerst die Bedingung einbringen, dass "Bewölkung eingeschlossen ist", nimmt die Anzahl von Regen und schönem Wetter zu stark ab und es ist nutzlos. Hmmm schwer.
Wenn die durchschnittliche AUC jedoch nur für "Regen" und "Fein" berechnet wird, beträgt sie 0,720, und es scheint, dass sich die Genauigkeit dieser beiden verbessert hat. Die Regen- und klaren Statistiken sind wie folgt.
Wetter | precision | recall | f1-score |
---|---|---|---|
Regen | 0.60 | 0.76 | 0.67 |
Fein | 0.69 | 0.71 | 0.70 |
durchschnittlich | 0.65 | 0.74 | 0.69 |
Anscheinend hat sich die Schätzgenauigkeit von "Regen" verbessert.
Das letzte Mal habe ich es mit Epoch = 50 gemacht, aber dieses Mal werde ich Epoch auf 100 setzen. Die Lehrerdaten sind die gleichen wie beim letzten Mal und sind eine binäre Klassifizierung von "Regen" und "Fein".
Die durchschnittliche AUC betrug 0,724, was genauer ist als die vorherigen und ternären Klassifikationen. (Epoche wichtig)
Die Statistiken sind wie folgt.
Wetter | precision | recall | f1-score |
---|---|---|---|
Regen | 0.53 | 0.77 | 0.63 |
Fein | 0.86 | 0.68 | 0.76 |
durchschnittlich | 0.76 | 0.71 | 0.72 |
Es fühlt sich an, als wäre die Präzision hoch.
Bis zu diesem Punkt wurden die erklärenden Variablen als Bilddaten des Vortages für 3 Kanäle verwendet. Die Daten des ursprünglichen Kartenbildes sind jedoch Informationen, die zu jeder Zeit üblich sind und bei der Klassifizierung keine Bedeutung haben. Daher werden wir erwägen, "geänderte" Informationen einzubeziehen, indem wir die Differenz vom Vortag berücksichtigen.
In Code geschrieben sieht es so aus:
"""In Differenzserien konvertieren"""
img_mat_new = np.zeros((img_mat.shape[0],3*2,img_mat.shape[2],img_mat.shape[3]),dtype=np.float32)
img_mat_new = img_mat_new[0:-1] #Um eins reduzieren
for l in range(1,len(img_mat)):
"""Unterschied"""
img_mat_new[l-1,0,:,:] = img_mat[l-1,0,:,:] - img_mat[l,0,:,:]
img_mat_new[l-1,1,:,:] = img_mat[l-1,1,:,:] - img_mat[l,1,:,:]
img_mat_new[l-1,2,:,:] = img_mat[l-1,2,:,:] - img_mat[l,2,:,:]
"""dieser Tag"""
img_mat_new[l-1,3,:,:] = img_mat[l,0,:,:]
img_mat_new[l-1,4,:,:] = img_mat[l,1,:,:]
img_mat_new[l-1,5,:,:] = img_mat[l,2,:,:]
Vergessen Sie nicht, die Lehrerdaten um einen Tag zu reduzieren.
Setzen Sie in diesem Zustand den Eingangskanal auf 6 und führen Sie ihn in das Modell ein.
Dann fällt die durchschnittliche AUC auf 0,658. (Das ist es)
Die Statistiken sind wie folgt.
Wetter | precision | recall | f1-score |
---|---|---|---|
Regen | 0.57 | 0.48 | 0.52 |
Fein | 0.78 | 0.83 | 0.8 |
durchschnittlich | 0.71 | 0.72 | 0.71 |
Die Genauigkeit des schönen Wetters hat sich verbessert, aber der Regen ist nicht gut. Gut schwierig.
Was ist, wenn ich die Bilddaten in einen anderen Typ ändere? Bisher betrug die Auflösung 640 x 480, aber ändern wir sie in ein hochauflösendes Bild von 3000 x 3000. Das Problem ist jedoch das ** sichtbare ** Bild. (Das heißt, das Licht der Sonne, beeinflusst von den Jahreszeiten)
Das Bild sieht wie folgt aus.
Quelle: Bereitgestellt von der Kochi University, Universität Tokio, Meteorological Agency
Wow, da ist ein schwarzer Fleck. .. ..
Nun, es ist eine Prüfung.
Die durchschnittliche AUC beträgt 0,675 und ist damit niedriger als die herkömmliche.
Die Statistiken sind wie folgt.
Wetter | precision | recall | f1-score |
---|---|---|---|
Regen | 0.69 | 0.45 | 0.54 |
Fein | 0.77 | 0.9 | 0.83 |
durchschnittlich | 0.75 | 0.76 | 0.74 |
Mit Blick auf FScore wird die Genauigkeit verbessert. Da die AUC 0,79 beträgt, hat sich die Genauigkeit des schönen Wetters verbessert, aber die Genauigkeit des Regens scheint leicht abgenommen zu haben.
Ich habe verschiedene Dinge ausprobiert,
Es wurde wie.
Ist es ein gutes Muster, die Epoche zu erhöhen, sie ternär zu klassifizieren (ich möchte die Regengenauigkeit verbessern) und sie zu einem sichtbaren Bild zu machen (ich möchte die Genauigkeit bei schönem Wetter verbessern)?
Ich möchte vorerst AUC 0.8 anstreben.
Ist es genauer, es auf RNN zu erweitern, da es Zeitreihenelemente gibt? (Ich muss lernen)
Recommended Posts