Aidemy 2020/10/30
Hallo, es ist ja! Ich bin eine knusprige Literaturschule, aber ich war an den Möglichkeiten der KI interessiert, also ging ich zur AI-spezialisierten Schule "Aidemy", um zu studieren. Ich möchte das hier gewonnene Wissen mit Ihnen teilen und habe es in Qiita zusammengefasst. Ich freue mich sehr, dass viele Menschen den vorherigen zusammenfassenden Artikel gelesen haben. Vielen Dank! Dieses Mal werde ich ein Memo der Aktienkursprognose 1 veröffentlichen. Freut mich, dich kennenzulernen.
Was diesmal zu lernen ・ Überprüfen Sie den Ablauf der Aktienkursprognose ・ ① Holen Sie sich Tweets ・ ② Emotionsanalyse (negative / positive Analyse)
-Es gibt technische Analyse __ und __ fundamentale Analyse, und dieses Mal werden wir technische Analyse durchführen. Der Fluss ist wie folgt. (In diesem Kapitel tun Sie ① und ②) ① Verwenden Sie die Twitter-API, um die vergangenen tweets eines bestimmten Kontos abzurufen. (2) Führen Sie eine tägliche __ Tweet-Emotionsanalyse (negative / positive Analyse) __ im Polaritätswörterbuch durch. ③ Holen Sie sich __Zeitreihendaten des durchschnittlichen Nikkei-Aktienkurses __. ④ Erstellen Sie ein __Modell, das die Höhen und Tiefen des Aktienkurses am nächsten Tag anhand der täglichen Stimmung vorhersagt.
・ Registrieren Sie sich zunächst bei TwitterAPI. ・ Die Registrierungsmethode entfällt. -Registrieren und erhalten Sie __ "Consumer Key", "Consumer Secret", "Access Token Secret", "Access Token" __ und verwenden Sie es, um Tweets zu erhalten.
・ Code![Screenshot 2020-10-17 17.17.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/126526e1-9450-c2db- 5e75-dfbda9b2f3cd.png)
-Der __ 'Python' __ Teil des obigen Codes __ "res" __ ist das zu erwerbende Schlüsselwort.
・ Code![Screenshot 2020-10-17 17.24.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/eb60f385-4acc-774c- b11e-7d4bb2cbeb06.png)
-Der __ '@ nikkei_bizdaily' __ Teil des obigen Codes "Tweets" ist das zu erwerbende Konto. (@Nikkei_bizdaily ist ein Account von "Nikkei Sangyo Shimbun")
・ Die Emotionsanalyse (negative / positive Analyse) soll beurteilen, ob text durch Verarbeitung natürlicher Sprache eine positive oder eine negative Bedeutung hat. -Die Kriterien für die Beurteilung sind in __ "Polar Dictionary" __ enthalten. Die Emotionsanalyse wird durchgeführt, indem für jedes Wort im Text auf das Wörterbuch verwiesen wird. ・ Dieses Mal wird __ "Korrespondenztabelle für die Polarität von Wortemotionen" __ als Polaritätswörterbuch verwendet. Dies ist ein Wort, das auf einen Wert von -1 bis 1 (PN-Wert) unter Bezugnahme auf das "Iwanami Japanese Dictionary (Iwanami Shoten)" angewendet wird. Ein größerer Wert zeigt eine positive Bedeutung an, und ein kleinerer Wert zeigt eine negative Bedeutung an.
I. Holen Sie sich Tweets und konvertieren Sie sie in __DataFrame __. (Siehe Aktienkursprognoseverfahren ①) Ii. Polaritätswörterbuch / DataFrame-Konvertierung importieren. Ⅲ. _ Morphologische Analyse mit MeCab __. Iv. Holen Sie den __PN-Wert aus dem Polaritätswörterbuch für jedes nach Morphologie analysierte Wort und fügen Sie ihn dem Wörterbuch hinzu. V. Berechnen Sie den durchschnittlichen __PN-Wert für jeden Tweet . Ⅵ . Standardisieren __ und zeigen die Änderung des PN-Werts auf __graph __ an.
-Importieren Sie das Polaritätswörterbuch mit __pd.read_csv () __. Geben Sie in der Korrespondenztabelle "Wortemotionspolarität" __ "names = ('Word', 'Reading', 'POS', 'PN')" __ an, um das Wort oder den PN-Wert zu lesen. -Listen Sie den Wortteil des Polaritätswörterbuchs in word_list und den PN-Werteteil pn_list auf, speichern Sie ihn und machen Sie ihn zusammen zu einem Wörterbuch (pn_dict).
·Code
·Code
-Wenn das Polaritätswörterbuch durch morphologische Analyse referenziert werden kann, __ addieren Sie den PN-Wert des Polaritätswörterbuchs zu den Diktatdaten für jedes Wort __. Dies wird durch Definieren der Funktion "add_pnvalue" verwendet.
・ Code![Screenshot 2020-10-20 12.16.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/2930203a-1917-18c9- bee1-d40ef901380e.png)
・ Code![Screenshot 2020-10-20 11.13.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/fa7c1dac-8bb0-7e65- d938-8e76b71e6e9d.png)
-Finally wird der __PN-Wert als Grafik __ dargestellt. Wenn es jedoch unverändert bleibt, ändert sich das Ergebnis des __ - Diagramms abhängig davon, ob das gesamte Polaritätswörterbuch viele positive oder negative Bedeutungen enthält. Passen Sie das Ergebnis daher an, indem Sie standardization durchführen. -Für Diagramme verwenden Sie __plt.plot () __. Die vertikale Achse ist __ "Durchschnitt der pn-Werte" __ und die horizontale Achse ist __ "Datum" __. Zu diesem Zeitpunkt ist der Teil __ 'Text' __, bei dem es sich um eine andere Information als den PN-Wert handelt, keine unnötige Information für das Diagramm. Löschen Sie ihn daher.
・ (Überprüfung) Standardisierungsmethode (unbeaufsichtigtes Lernen 3): __ (Unterschied zwischen Daten und Durchschnitt) ÷ Standardabweichung __ X = (X - X.mean(axis=0))/X.std(axis=0)
-Code (beim Standardisieren der durchschnittlichen "means_list" des pn-Werts eines bestimmten Tweets df_tweets)
・ Grafik![Screenshot 2020-10-20 11.57.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/80c50519-c43f-7dbc- 4860-5899f7e19aa3.png)
・ Die Aktienkursprognose wird im Ablauf von "Erfassung von Tweets", "Emotionsanalyse (negative / positive Analyse)", "Erfassung von Zeitreihendaten von Aktienkursen" und "Erstellung eines Aktienkursprognosemodells" durchgeführt. ・ Sie können Tweets erhalten, indem Sie sich bei der Twitter-API registrieren. ・ Informationen zur Emotionsanalyse finden Sie unter "Negative / Positive Analyse".
Diese Zeit ist vorbei. Vielen Dank für das Lesen bis zum Ende.
Recommended Posts