X-Ploration: Data Mining und Sentimentanalyse mit Hugging Face

Autor: Oguzhan-Burak Bozkurt


Durch den kontinuierlichen und raschen Fortschritt in jüngster Zeit auf den Gebieten von Big Data und KI-Technologien sind heutzutage insbesondere Teilbereiche des Informationsmanagements gefragter als je zuvor. Die Rolle des Informationsmanagers und Data Scientists besteht darin, Methoden zur Erfassung und Verarbeitung von Informationen aus unterschiedlichen Datenquellen anzuwenden. Zudem ist er befähigt, Entscheidungen darüber zu treffen, welche Verarbeitungsprozesse zur gezielten Knowledge Discovery aus umfangreichen Datensätzen geeignet sind. Hierbei kommt Data Mining ins Spiel, eine Methode, die die systematische Extraktion relevanter Informationen und Erkenntnisse aus großen Datenmengen umfasst.

In diesem Blogbeitrag werden wir tiefer in das Thema eintauchen und uns einem von vielen Verfahren des Data Mining, genauer der Sentimentanalyse im Text Mining, praxisnah annähern. Dabei bin ich der Ansicht, dass ein tieferes Verständnis erreicht wird, wenn das theoretisch Gelernte eigenständig umgesetzt werden kann, anstatt lediglich neue Buzzwörter kennenzulernen. Ziel ist eine Sentimentanalyse zu Beiträgen auf der Social Media Plattform X (ehemals Twitter) mit Verfahren aus dem Machine Learning bzw. einem passenden Modell aus Hugging Face umzusetzen.

Ihr könnt euch in die Hintergründe einlesen oder direkt zum Coden überspringen.

  • Einführung: Data Mining ⛏️
  • ML-Based Text Mining 🤖
  • In my feelings mit Hugging Face 🤗
  • Let’s build! Sentimentanalyse mit Python 🐍

  • Einführung: Data Mining ⛏️

    Data Mining umfasst die Extraktion von relevanten Informationen und Erkenntnissen aus umfangreichen Datensammlungen. Ähnlich wird auch der Begriff “Knowledge Discovery in Databases” (KDD) verwendet. Die Hauptaufgabe besteht darin, Verhaltensmuster und Prognosen aus den Daten zu identifizieren, um darauf basierend Trends zu erkennen und angemessen darauf zu reagieren. Dieser analytische Prozess des Data Mining erfolgt mithilfe von computergestützten Methoden, deren Wurzeln in den Bereichen Mathematik, Informatik und insbesondere Statistik liegen. Data Mining kann als Teilprozess innerhalb des umfassenden Datenanalyseprozesses verstanden werden, der folgendermaßen strukturiert ist:

  • Datenbereinigung (Exkludierung von irrelevanten Daten)
  • Datenintegration (Zusammenführen mehrerer Datenquellen)
  • Datenselektion (Auswahl relevanter Daten aus einer Datenbank)
  • Datentransformation (Aufbereitung/Konsolidierung der Daten in eine für das Data Mining passende Form)
  • Data Mining (Prozess gestützt von intelligenten Methoden zum Extrahieren von Daten-/Verhaltensmustern)
  • Pattern Evaluation (Identifikation interessanter Muster und Messwerte)
  • Knowledge Presentation (Präsentieren von mined knowledge durch Visualisierung und andere Repräsenationstechniken)
  • Data Mining als Teilprozess der Knowledge Discovery / Jiawei Han, Data Mining: Concepts and Techniques (2006)

    Die Data Mining Verfahren dienen dazu, den Datenbestand zu beschreiben und zukünftige Entwicklungen vorherzusagen. Hierbei kommen Klassifikations- und Regressionsmethoden aus dem statistischen Bereich zum Einsatz. Zuvor ist es jedoch notwendig, die Zielvariable festzulegen, die Daten aufzubereiten und Modelle zu erstellen. Die gebräuchlichen Methoden ermöglichen die Analyse spezifischer Kriterien wie Ausreißer- und Clusteranalyse, die Verallgemeinerung von Datensätzen, die Klassifizierung von Daten und die Untersuchung von Datenabhängigkeiten.

    Zusätzlich zu den herkömmlichen statistischen Methoden können auch Deep Learning-Algorithmen verwendet werden. Hierbei werden Modelle aus dem Bereich des Machine Learning unter Anwendung von überwachtem (bei gelabelten Daten) oder unüberwachtem (bei nicht gelabelten Daten) Lernen eingesetzt, um die Zielvariablen möglichst präzise vorherzusagen. Eine wesentliche Voraussetzung für das Vorhersagemodell ist ein Trainingsdatensatz mit bereits definierten Zielvariablen, auf den das Modell anschließend trainiert wird.


    ML-Based Text Mining 🤖

    Ein Teilbereich des Data Mining, der auch maßgeblich maschinelles Lernen einbezieht, ist das Text Mining. Hierbei zielt das Text Mining darauf ab, unstrukturierte Daten aus Texten, wie beispielsweise in sozialen Netzwerken veröffentlichte Inhalte, Kundenbewertungen auf Online-Marktplätzen oder lokal gespeicherte Textdateien, in strukturierte Daten umzuwandeln. Für das Text Mining dienen oft Datenquellen, die nicht direkt zugänglich sind, weshalb Daten über APIs oder Web-Scraping beschafft werden. Im darauf folgenden Schritt werden Merkmale (Features) gebildet und die Daten vorverarbeitet. Hierbei erfolgt die Analyse der Texte mithilfe von natürlicher Sprachverarbeitung (Natural Language Processing – NLP) unter Berücksichtigung von Eigenschaften wie Wortfrequenz, Satzlänge und Sprache.

    Maschinelles Lernen für Datenvorverarbeitung

    Die Vorverarbeitung der Daten wird durch Techniken des maschinellen Lernens ermöglicht, zu denen Folgendes gehört:

  • Tokenisierung: Hierbei werden die Texte in kleinere Einheiten wie Wörter oder Satzteile, sogenannte Tokens, aufgespalten. Das erleichtert die spätere Analyse und Verarbeitung.
  • Stoppwortentfernung: Häufige Wörter wie “und”, “oder” oder “aber”, die wenig spezifische Informationen liefern, werden entfernt, um die Datenmenge zu reduzieren und die Analyse effizienter zu gestalten.
  • Wortstamm- oder Lemmatisierung: Die Formen von Wörtern werden auf ihre Grundformen zurückgeführt, um verschiedene Variationen eines Wortes zu einer einzigen Form zu konsolidieren. Zum Beispiel werden “läuft”, “lief” und “gelaufen” auf “laufen” reduziert.
  • Entfernen von Sonderzeichen und Zahlen: Nicht-textuelle Zeichen wie Satzzeichen, Symbole und Zahlen können entfernt werden, um die Texte auf die reinen sprachlichen Elemente zu fokussieren.
  • Niedrige Frequenzfilterung: Seltene Wörter, die in vielen Texten nur selten vorkommen, können entfernt werden, um Rauschen zu reduzieren und die Analyse zu verbessern.
  • Wortvektorenbildung: Durch Techniken wie Word Embeddings können Wörter in numerische Vektoren umgewandelt werden, wodurch maschinelles Lernen und Analyseverfahren angewendet werden können.
  • Named Entity Recognition (NER): Diese Technik identifiziert in Texten genannte Entitäten wie Personen, Orte und Organisationen, was zur Identifizierung wichtiger Informationen beiträgt.
  • Sentimentanalyse: Diese Methode bewertet den emotionalen Ton eines Textes, indem sie versucht, positive, negative oder neutrale Stimmungen zu erkennen.
  • Textklassifikation: Mithilfe von Trainingsdaten werden Algorithmen trainiert, um Texte automatisch in vordefinierte Kategorien oder Klassen einzuteilen.
  • Topic Modeling: Diese Methode extrahiert automatisch Themen aus Texten, indem sie gemeinsame Wörter und Konzepte gruppiert.
  • Insgesamt kann der Text Mining-Prozess als Teil einer breiteren Datenanalyse oder Wissensentdeckung verstanden werden, bei dem die vorverarbeiteten Textdaten als Ausgangspunkt für weitere Schritte dienen.

    The effort of using machines to mimic the human mind has always struck me as rather silly. I would rather use them to mimic something better.

    Edsger Wybe Dijkstra

    In unserem nächsten Abschnitt werden wir auf die Sentimentanalyse eingehen und schrittweise demonstrieren, wie sie mit Hilfe von Modellen auf Hugging Face für Beiträge auf der Plattform X (ehemalig Twitter) durchgeführt werden kann.


    In my feelings mit Hugging Face 🤗

    Das 2016 gegründete Unternehmen Hugging Face mit Sitz in New York City ist eine Data Science und Machine Learning Plattform. Ähnlich wie GitHub ist Hugging Face gleichzeitig ein Open Source Hub für AI-Experten und -Enthusiasten. Der Einsatz von Huggin Face ist es, KI-Modelle durch Open Source Infrastruktur und Repositories für die breite Maße zugänglicher zu machen. Populär ist die Plattform unter anderem für seine hauseigene Open Source Bibliothek Transformers, die auf ML-Frameworks wie PyTorch, TensorFlow und JAX aufbauend verschiedene vortrainierte Modelle aus den Bereichen NLP, Computer Vision, Audio und Multimodale anhand von APIs zur Verfügung stellt.

    Drake Meme by me

    Für die Sentimentanalyse stehen uns über 200 Modelle auf der Plattform zur Verfügung. Wir werden im folgenden eine einfache Sentimentanalyse unter Verwendung von Transformers und Python durchführen. Unsere KI soll am Ende Ton, Gefühl und Stimmung eines Social Media Posts erkennen können.

    Viel Spaß beim Bauen! 🦾


    Let’s build! Sentimentanalyse mit Python 🐍

    Zunächst brauchen wir Daten aus X/Twitter. Da im Anschluss auf die neuen Richtlinien die Twitter API jedoch extrem eingeschränkt wurde (rate limits, kostenspielige read Berechtigung) und es nun auch viele Scraping-Methoden getroffen hat, werden wir bereits vorhandene Daten aus Kaggle verwenden.

    1. Datenbereitstellung: Kaggle

    Wir entscheiden uns für einen Datensatz, der sich für eine Sentimentanalyse eignet. Da wir mit einem Text-Mining Modell in Transformers arbeiten werden, welches NLP verwendet um das Sentiment eines Textes zuordnen zu können, sollten wir uns für einen Datensatz entscheiden, in dem sich Texte für unsere Zielvariable (das Sentiment) befinden.

    Hier kann ein Datensatz aus Kaggle verwendet werden, in dem über 80 Tausend englische Tweets über das Thema “Crypto” in dem Zeitraum vom 28.08.2022 – 29.08.2022 gesammelt wurde: 🐦 🪙 💸 Crypto Tweets | 80k in English | Aug 2022 🐦 🪙 💸

    Wir laden das Archiv herunter und entpacken die crypto-query-tweets.csv in unseren Projektordner.

    2. Zielsetzung und Datenvorverarbeitung: Python + Pandas

    Wir wollen in einer überschaubaren Anzahl an Tweets das jeweilige Sentiment zuordnen. Dazu schauen wir uns den Datensatz aus der CSV Datei genauer an. Uns interessieren dabei besonders Tweets von verifizierten Usern. Mit der Pandas Bibliothekt läss sich der Datensatz in Dataframes laden und nach bestimmten kriterien filtern.

    wir installieren zunächst per pip-install die gewünschte Bibliothek und importieren diese in unsere Codebase.

    pip install pandas

    Anschließends lesen wir die CSV-Datei ein und filtern entsprechend unseren Wünschen den Datensatz und geben diesen als Dataframe aus.

    import pandas as pd
    
    # CSV Datei lesen
    csv_file_path = "crypto-query-tweets.csv"
    df = pd.read_csv(csv_file_path, usecols=['date_time', 'username', 'verified', 'tweet_text'])
    
    # Filter anwenden um nur verifizierte User zu erhalten
    filtered_df = df[df['verified'] == True]
    
    # Printe Dataframe
    print(filtered_df)

    Wir erhalten folgende Ausgabe von 695 Zeilen und 4 Spalten:

           date_time                     username        verified    tweet_text
    19     2022-08-29 11:44:47+00:00     RR2Capital      True  #Ethereum (ETH)\n\nEthereum is currently the s...24     2022-08-29 11:44:45+00:00     RR2Capital      True  #Bitcoin (BTC)\n\nThe world’s first and larges...
    25     2022-08-29 11:44:43+00:00     RR2Capital      True  TOP 10 TRENDING CRYPTO COINS FOR 2023\n \nWe h...
    146    2022-08-29 11:42:39+00:00   ELLEmagazine      True  A Weekend in the Woods With Crypto’s Cool Kids...
    155    2022-08-29 11:42:32+00:00     sofizamolo      True          Shill me your favorite #crypto project👇🏻🤩
    ...                          ...            ...       ...                                                ...
    79383  2022-08-28 12:36:34+00:00  hernanlafalce      True  @VerseOort My proposal is as good as your proj...
    79813  2022-08-28 12:30:15+00:00   NEARProtocol      True  💫NEARCON Speaker Announcement💫\n\nWe're bringi...
    79846  2022-08-28 12:30:00+00:00            lcx      True  🚀@LCX enables project teams to focus on produc...
    79919  2022-08-28 12:28:56+00:00    iSocialFanz      True  Friday.. Heading to Columbus Ohio for a Web 3....
    79995  2022-08-28 12:27:46+00:00  BloombergAsia      True  Bitcoin appeared stuck around $20,000 on Sunda...
    
    [695 rows x 4 columns]

    3. Twitter-roBERTa-base for Sentiment Analysis + TweetEval

    Nun können wir mit Hugging Face Transformers eine vortrainiertes Modell verwenden, um allen Tweets entsprechende Sentiment Scores zuzuweisen. Wir nehmen hierfür das Modell Twitter-roBERTa-base for Sentiment Analysis, welches mit über 50 Millionen Tweets trainiert wurde und auf das TweetEval Benchmark für Tweet-Klassifizierung aufbaut. Weitere Infos unter dieser BibTex entry:

    @inproceedings{barbieri-etal-2020-tweeteval,
        title = "{T}weet{E}val: Unified Benchmark and Comparative Evaluation for Tweet Classification",
        author = "Barbieri, Francesco  and
          Camacho-Collados, Jose  and
          Espinosa Anke, Luis  and
          Neves, Leonardo",
        booktitle = "Findings of the Association for Computational Linguistics: EMNLP 2020",
        month = nov,
        year = "2020",
        address = "Online",
        publisher = "Association for Computational Linguistics",
        url = "https://aclanthology.org/2020.findings-emnlp.148",
        doi = "10.18653/v1/2020.findings-emnlp.148",
        pages = "1644--1650"
    }

    Wir installieren alle für den weiteren Verlauf benötigten Bibliotheken.

    pip install transformers numpy scipy

    Die Transformers Bibliothekt erlaubt uns den Zugriff auf das benötigte Modell für die Sentimentanalyse. Mit scipy softmax und numpy werden wir die Sentiment Scores ausgeben mit Werten zwischen 0.0 und 1.0, die folgendermaßen für alle 3 Labels ausgegeben werden:

    Labels: 0 -> Negative; 1 -> Neutral; 2 -> Positive

    Importieren der Bibliotheken:

    from transformers import AutoModelForSequenceClassification
    from transformers import AutoTokenizer
    import numpy as np
    from scipy.special import softmax
    import csv
    import urllib.request

    Wir schreiben eine Methode zum vorverarbeiten des Texts. Hier sollen später Usernamen und Links aussortiert werden. Außerdem vergeben wir das gewünschte Modell mit dem gewünschten Task (‘sentiment’) in eine vorgesehene Variable und laden einen AutoTokenizer ein, um später eine einfach Eingabe-Enkodierung zu generieren.

    # Vorverarbeitung des texts 
    def preprocess(text):
        new_text = []
     
     
        for t in text.split(" "):
            t = '@user' if t.startswith('@') and len(t) > 1 else t
            t = 'http' if t.startswith('http') else t
            new_text.append(t)
        return " ".join(new_text)
    
    
    task='sentiment'
    MODEL = f"cardiffnlp/twitter-roberta-base-{task}"
    
    tokenizer = AutoTokenizer.from_pretrained(MODEL)
    

    Als nächstes laden wir das Label Mapping aus TweetEval für das zugeordnete Task ‘sentiment’ herunter. Das Modell für die Sequenzklassifizierung kann nun gespeichert und in der ‘model’ Variable hinterlegt werden.

    # download label mapping
    labels=[]
    mapping_link = f"https://raw.githubusercontent.com/cardiffnlp/tweeteval/main/datasets/{task}/mapping.txt"
    with urllib.request.urlopen(mapping_link) as f:
        html = f.read().decode('utf-8').split("\n")
        csvreader = csv.reader(html, delimiter='\t')
    labels = [row[1] for row in csvreader if len(row) > 1]
    
    # Modell laden
    model = AutoModelForSequenceClassification.from_pretrained(MODEL)
    model.save_pretrained(MODEL)
    

    Im nächsten Schritt schreiben wir zwei Methoden, die dabei helfen sollen zeilenweise Tweet-Texte zu enkodieren und ein Sentiment Score zu vergeben. In einem Array sentiment_results legen wir alle Labels und entsprechende Scores ab.

    # Sentiment Scores für alle Tweets erhalten
    def get_sentiment(text):
        text = preprocess(text)
        encoded_input = tokenizer(text, return_tensors='pt')
        output = model(**encoded_input)
        scores = output.logits[0].detach().numpy()
        scores = softmax(scores)
        return scores
    
    # Sentimentanalyse für jede Zeile im Datensatz anwenden
    def analyze_sentiment(row):
        scores = get_sentiment(row['tweet_text'])
        ranking = np.argsort(scores)
        ranking = ranking[::-1]
        sentiment_results = []
        for i in range(scores.shape[0]):
            l = labels[ranking[i]]
            s = scores[ranking[i]]
            sentiment_results.append((l, np.round(float(s), 4)))
        return sentiment_results

    Zum Schluss wir das Dataframe um unser Ergebnis erweitert. Hierzu erstellen wir eine neue Spalte ‘sentiment’ und fügen mit der apply-Funktion die Ergebnisse aus unserer vorherigen Methode analyze_sentiement hinzu. Am Ende geben wir unser neues Dataframe in der Konsole aus.

    # Ergebnisse in neue Spalte "sentiment" speichern
    filtered_df['sentiment'] = filtered_df.apply(analyze_sentiment, axis=1)
    
    # Ausgabe des neuen DataFrames
    print(filtered_df)

    Wir erhalten ein neues Dataframe mit einer weiteren Spalte in der das Label und die Sentiment-Scores festgehalten werden! 🤗🚀

    Den gesamten Code könnt ihr euch auch auf meinem GitHub Profil ansehen oder klonen.


    Referenzen

    Han, Jiawei (2006). Data Mining: Concepts and Techniques, Simon Fraser University.

    Barbieri, F., Camacho-Collados, J., Espinosa Anke, L., & Neves, L. (2020). Tweet Eval: Unified Benchmark and Comparative Evaluation for Tweet Classification. In Findings of the Association for Computational Linguistics: EMNLP 2020, S. 1644-1650. https://aclanthology.org/2020.findings-emnlp.148.

    Hugging Face Transformers: https://huggingface.co/docs/transformers/index. Zuletzt aktualisiert am 27.08.2023.

    Kaggle Dataset: Leonel do Nascimento, Tiago; “Crypto Tweets | 80k in ENG | Aug 2022 “: https://www.kaggle.com/datasets/tleonel/crypto-tweets-80k-in-eng-aug-2022. (CC0 Public Domain Lizens), zuletzt aktualisiert am 27.08.2023.

    Wartena, Christian & Koraljka Golub (2021). Evaluierung von Verschlagwortung im Kontext des Information Retrievals. In Qualität in der Inhaltserschließung, 70:325–48. Bibliotheks- und Informationspraxis. De Gruyter, 2021. https://doi.org/10.1515/9783110691597.


    Ist Python die Programmiersprache der Zukunft?

    Autor*innen: Ömer Topcu und Anela Iljijazi

    Python ist eine Programmiersprache, deren wichtigstes Merkmal die Einfachheit ist. Sie wird von einer aktiven Community auf der ganzen Welt entwickelt. Programmiersprachen sind für sich genommen vielfältig einsetzbar und werden gerade im Bereich der künstlichen Intelligenz häufig eingesetzt. Python hat Zukunft und hat sich dieses Jahr erneut vor Java auf Platz 2 der meistgenutzten Sprachen festgesetzt.

    Python ist eine weit verbreitete Programmiersprache, welche von Guido van Rossum entwickelt und 1991 veröffentlicht wurde. Sie wird für Webentwicklung, Softwareentwicklung, Mathematik und Systemskripting verwendet und wurde mit dem Ziel einer guten Lesbarkeit von Programmen entwickelt . Ursprünglich wurde sie als Unterrichtssprache in der höheren Bildung und Ausbildung verwendet. Zudem ist sie plattformunabhängig und kann auf Mac, Windows und anderen Betriebssystemen ausgeführt werden.

    Was kann man mit Python machen?

    Python kann verwendet werden, um Webanwendungen auf dem Server zu erstellen. Darüber hinaus kann Python mit Software verwendet werden, um Workflows zu erstellen. Python kann Dateien lesen und ändern und sich mit Datenbanksystemen verbinden. Es wird häufig verwendet, um große Datenmengen zu verarbeiten und komplexe mathematische Berechnungen durchzuführen.

    Warum Python verwenden?

    Python ist plattformübergreifend und das bedeutet, dass es auf verschiedenen Plattformen, wie Windows, Mac usw. ausgeführt werden kann. Es hat eine einfache Grammatik, welche der englischen ähnelt. Seine Syntax ermöglicht es Entwicklern, Programme in weniger Zeilen zu schreiben. Python bietet auch Rapid Prototyping an. Python läuft also auf einem Interpretersystem, was bedeutet, dass Code ausgeführt werden kann, sobald er geschrieben ist. Diese Programmiersprache ist sehr flexibel und kann prozedural, objektorientiert oder funktional angegangen werden.

    Historik:

    Die Programmiersprache Python wurde Anfang der 1990er Jahre vom Niederländer Guido van Rossum am Centrum voor Wiskunde en Informatica (CWI) in Amsterdam entwickelt. Guido van Rossum lernte Programmieren während seines Mathematikstudiums an der Universität Amsterdam, denn er arbeitete dort als Wissenschaftler und entwickelte später eine neue Programmiersprache, um Basic zu ersetzen. Dies ist notwendig, da Wissenschaftler in der Lage sein müssen, sich selbst zu programmieren. Python begann als Skriptsprache für das verteilte Betriebssystem Amoeba. Python wurde als Nachfolger der ABC-Lehrsprache entwickelt und sollte auf dem verteilten Betriebssystem Amoeba laufen. Guido van Rossum war auch an der Entwicklung der ABC-Sprache beteiligt und somit fließen seine Erfahrungen mit ABC also auch in Python ein. Er bezeichnet sich selbst als Nerd und Computerfreak. Van Rossum, der 2019 in den Ruhestand ging, aber 2021 zu seinem derzeitigen Arbeitgeber Microsoft zurückkehrte, sagte:

    Ich habe mich entschieden, zu meinen Wurzeln zurückzukehren.” (Vgl. Guido vaan Rossum)

    Abbildung 3, Python Entwickler, Guido van Rossum

    Vorteile von Python:

    • Python ist kostenlos und kann für viele Betriebssysteme heruntergeladen werden
    • Python ist sehr schnell und einfach zu erlernen
    • Python ist eine sehr vielfältige Programmiersprache 
    • wird ständig weiterentwickelt und aktualisiert
    • Der Python-Code gilt als besonders gut lesbar, was mit dem vorgegebenen strukturierten Programmierstil zusammenhängt 
    • Sie wird von viele große Firmen wie Google, Dropbox, Mozilla genutzt
    • Große Community 
    • Es kommt mit weniger Code als andere Programmiersprachen zu gleichen Ergebnissen

    Nachteile von Python:

    • Python ist im Vergleich  zu anderen Programmiersprachen langsam 
    • Python wird zurzeit in 2 Versionen eingesetzt (Python2 und Python3)
    • Mit Python lassen sich auch Spiele programmieren

    Anwendungsbereiche:

    Python wird in vielen Bereichen in unserem Leben angewendet. Die bekanntesten Bereiche sind Webentwicklung, Spielentwicklung, Data Science und Machine Learning. 

    1. Webentwicklung

    Python unterstützt plattformübergreifende Betriebssysteme, was das Erstellen von Anwendungen erleichtert. Weltbekannte Anwendungen wie Drop oder YouTube verwenden Python, um gut zu funktionieren. Python wird für die Webentwicklung verwendet, dazu wird es vereinfacht und schnell, Webanwendungen zu erstellen. Aber wie ist das möglich? Pythons Framework zum Erstellen von Anwendungen macht dies möglich. Es gibt ein System zum Erstellen dieser Frameworks und eine Reihe von Bibliotheken, die verwendet werden können, um Protokolle wie HTTPS, FTP, SSL zu integrieren, um beispielsweise E-Mails zu verarbeiten. Die beliebtesten Frameworks sind Pyramid und Flask. 

    2. Spielentwicklung

    Python wird für interaktive Spiele verwendet. Es gibt Bibliotheken wie PySoy, eine 3D-Game-Engine, die Python 3 unterstützt, oder PyGame, eine Bibliothek, welche die Funktionalität bereitstellt. Populäre Spiele wie Online, Vega Strike, Civilization-IV wurden mit Python erstellt.

    3. Data Science

    Daten sind Geld, denn sie können Ihre Gewinne steigern, wenn Sie wissen, wie Sie relevante Informationen extrahieren, die Ihnen helfen, Ihr Risiko besser zu kalkulieren. Sie können Daten analysieren, verschiedene Operationen durchführen und notwendige Informationen extrahieren. Pandas oder NumPy (Bibliotheken) helfen dir dabei.

    Mit Datenbanken wie Seaborn und Matplotlib können Sie Daten visualisieren.

    4. Machine Learning

    Wir entwickeln Algorithmen, die Computer selbst lernen lassen. Wir sind diejenigen, die sich darum kümmern. Python unterstützt diese Branche durch viele vorhandene Bibliotheken wie NumPy und Pandas.

    Lernen Sie Algorithmen, verwenden Sie Bibliotheken und Sie haben eine Lösung für KI-Probleme. Ganz einfach. Wenn Sie jedoch den harten Weg gehen möchten, können Sie den Code selbst entwerfen, wenn er eine bessere Lösung bietet.

    Was sind Funktionen in Python?

    Eine Funktion ist ein erstellter Programmcode, der aus dem “top-down”-Ablauf eines Programms entnommen wird und ausschließlich aufgerufen werden muss oder kann, denn dadurch können wir diese Funktionen bei Bedarf öfter aufrufen und so sauberen Code mit weniger Fehlerquellen schreiben.

    Also vergeben wir unserer Funktion einen Namen, den wir an jeder Stelle in unserem Python-Programm aufrufen können.

    Um es am besten zu verstehen schauen sie sich das Video unten an: 

    Link zum Video: https://www.youtube.com/watch?v=mgA-Ytr32Ys

    Jetzt habe ich dich genug mit Informationen bombardiert. Die einzige Frage, die beantwortet werden sollte ist doch nur, ist Python unsere Zukunft ?.

    Ist Python die Programmiersprache der Zukunft?

    Der Entwickler Guido van Rossum äußert sich zum Thema, ob Python sich künftig weiterentwickeln wird:

    „Ich glaube, Python wird weiter wachsen” (vgl. Stolens)

    „Die größten Entwicklungen erwarte ich in den Python Bibliotheken – hier sehen wir sehr viele Ergänzungen. Was den Gebrauch von Python im Unterricht betrifft, hoffe ich, Schüler nehmen die Programmiersprache als einfach und spannend wahr und werden ermutigt, sie auch außerhalb der Schule anzuwenden. Ich
    hoffe, es sind nicht nur irgendwelche einmaligen Projekte, sondern dass sie die Sprache weiter aktiv verwenden. Es wäre toll, wenn sie nach ihrem Abschluss eine Zukunft in einem MINT-Fach starten würden und sie ihr Python-Basiswissen dann für ihre eigene Forschung verwenden könnten!” (vgl. Stolens)

    Stolens (2020): https://www.t3deutschland.de/de/t3-europe/edublogs/interview-guido-rossum (Abruf: 31.01.2022)

    Die Forschung basiert auf Anfragen nach Tutorials zum Erlernen von Programmiersprachen. Google Trends stellt die Basis der Erkenntnisse dar und dient der Ermittlung der Beliebtheit der entsprechenden Programmiersprache. Laut der Statistik der PYPL befindet sich Python auf Platz 1 der meist gesuchten Programmiersprachen. Der prozentuale Abstand zum zweitplatzierten Java ist hier mit rund 10 % sogar noch größer und somit kam JavaScript auf den dritten Platz.

    Abbildung 4, Statistik aus PYPL

    Das Potential von Python ist da, denn Python hat gute Zukunftsaussichten und könnte daher die Programmiersprache der Zukunft werden.

    Über die Autoren:

    Anela Iljijazi: Anela Iljijazi studiert im 3. Semester Informationsmanagement. Sie absolviert das Studium an der Hochschule Hannover Fakultät III. Die Autorin wurde in Hannover geboren. Sie ist 20 Jahre alt. Neben ihrem Studium ist sie Kellnerin im Cheers Hannover.

    Ömer Topcu: Ömer Topcu studiert im 3. Semester Informationsmanagement. Er absolviert das Studium an der Hochschule Hannover Fakultät III. Der Autor wurde in Hannover geboren und ist 20 Jahre alt. Er arbeitet in seiner Freizeit im Einzelhandel.

    Quellenverzeichnis:

    • lerneprogrammieren (2022): Wofür wird Python verwendet? 10 Aufgaben und Anwendungsbereiche. URL: https://lerneprogrammieren.de/python-anwendungsbereiche/ (Abruf: 30.01.23)
    • PYPL (2023): PYPL PopularitY of Programming Language. URL: https://pypl.github.io/PYPL.html (Abruf: 30.01.23)
    • Stolens (2020): Die Python Power – erklärt von Python-Erfinder Guido van Rossum. URL: https//www.t3deutschland.de/de/t3-europe/edublogs/interview-guido-rossum (Abruf: 31.01.2023)
    • Morpheus (2015): Python Tutorial #12 – Funktionen. URL: https://youtu.be/mgA-Ytr32Ys (Abruf: 30.01.2023)
    • Abbildung 2, Programmieren mit Python (2022). URL https://fobizz.com/programmieren-mit-python-ganz-ohne-vorkenntnisse/
    • Sebastian Grüner (2021), Golem, Python-Gründer will doppelte Geschwindigkeit für die Sprachen, URL: https://www.golem.de/news/guido-van-rossum-python-gruender-will-doppelte-geschwindigkeit-fuer-die-sprache-2105-156491.html (Abruf 30.01.2023)
    • Koen Stulens (2020), t3deutschland, Die Python Power, URL: https://www.t3deutschland.de/de/t3-europe/edublogs/interview-guido-rossum(Abruf 30.01.2023)
    • Steemit (2018) Python für Anfänger #1, URL: https://steemit.com/deutsch/@rilc0n/python-fuer-anfaenger-1-einfuehrung-vor-und-nachteile(Abruf 30.01.2023)
    • Python, URL: https://www.python.org/ (Abruf 30.01.2023)

    Big Data und Datenschutz – Wunschdenken oder bereits Realität?

    Autor: Philippe Paszkier


    Wir alle kennen es, man spricht mit einem Freund oder Partner über irgendein Produkt o.ä. ohne dabei überhaupt das Handy entsperrt zu haben und dann möchte man etwas googeln und die Werbung handelt von dem eben besprochenen Thema. Ich meine klar, hat so seine Vorteile da weiter machen zu können, wo die Unterhaltung aufgehört hat. Aber ist das nicht eigentlich ein bisschen unheimlich, dass dir dein Smartphone immer zuhört und alles mitbekommt, was man in dessen Umgebung sagt? Passieren tut das durch Big Data.

    Was ist denn eigentlich Big Data?

    Der Begriff Big Data beschreibt eine große Masse an personenbezogenen Daten, die Unternehmen wegen ihrer Schnelllebigkeit und Komplexität zu Analysezwecken nutzen. Unter den Begriff fallen unter anderem Daten in Form von Zahlen, Texten, Standortverläufen, Videos, Zahlungsunterlagen, Bilder oder auch das gesprochene Wort.

    3V-Modell

    Der Branchenanalytiker Douglas Laney beschrieb Big Data mit dem 3V-Modell. Das erste V steht für Velocity, also die Geschwindigkeit, mit der neuen Daten ankommen und man diese verarbeiten muss. Dann gibt es noch das Volume, also die gesamte Masse an Daten aus den unterschiedlichsten Quellen. Als drittes V gibt es Variety, welches die Vielfalt der Formen der gesammelten Daten beschreibt. Aber im Laufe der Zeit kamen weitere Vs dazu. So auch das V für Variability, also der Schwankung des Datenflusses und Form der Daten. Des Weiteren gibt es noch Veracity, was die Richtigkeit der Daten beschreibt und diese einordnet und sortiert. Je nachdem wo man schaut, gibt es noch die Kategorie Value. Diese beschreibt den Geschäftswert der Daten.

    Speicherung

    Anfang der 2000er fand der Begriff Big Data das erste Mal Einzug in die Köpfe der Menschen. Da fing nämlich die Speicherung und Interpretation von Daten aus dem Internet an. Damals ging es noch eher um das Klickverhalten auf der eigenen Webseite oder die IP-Adresse des Kunden. Von damals zu heute hat sich aber einiges getan, die Form der Daten hat sich geändert und natürlich auch die Datenmenge. Allein im Jahr 2012 wurden weltweit 6,5 Zettabyte an Daten gesammelt. Was ist ein Zettabyte, fragt ihr euch jetzt? Ein Zettabyte steht für EINE MILLIARDE TERRABYTE. Im Jahr 2020 waren es dann auch schon 64,2 Zettabyte. Das bedeutet, dass jeder Mensch, der irgendwie mit dem Internet verbunden ist, durchschnittlich tagtäglich ca. 150 Gigabyte an persönlichen Daten übermittelt. Um sich das mal auf der Zunge zergehen zu lassen, der Film Titanic aus dem Jahr 1997, der wohlgemerkt über drei Stunden läuft, verbraucht in HD einen Speicherplatz von 8,5 Gigabyte.

    Screenshot der Statista-Statistik zu Speicherplatz von Big Data

    Zweck

    Diese unfassbar riesige Menge an Daten wird für Unternehmen interessant, da diese dadurch Zeit in der Entwicklung neuer Produkte und Dienstleistungen einsparen. So analysiert man Trends um zu prüfen, wo es noch Marktlücken gibt. Ein offensichtlicher Vorteil der Big Data Analyse ist auch die personalisierte Werbung. Der Algorithmus weiß, wie man einen am besten anspricht und wofür man sich interessiert, vielleicht sogar besser als man selbst. Des Weiteren können klügere geschäftliche Entscheidungen getroffen werden, da man durch die Echtzeitanalyse, Veränderungen und Unsicherheiten bewerten und dementsprechend handeln kann. Zudem kann die Produktion effizienter gestaltet werden, da der Kunde einem sagt, was man braucht, wenn auch unfreiwillig. Das Gesprochene und geschriebene Wort, so wie Chats oder Sprachnachrichten, wird zum Füttern von Deep Learning KIs genutzt, um die maschinelle Art des Schreibens und Sprechens zu optimieren und menschlicher/natürlicher machen zu können.

    Weitere Orte an denen Daten über einen gesammelt werden sind Autos die mit dem Handy und mit dem Internet verbunden sind. Außerdem auch Bankdaten, Smart-Home Gadgets und ihre Assistenten wie bpsw. Alexa oder halt klassische Überwachungsmaßnahmen.

    Aufschrei Big Data

    Facebook Skandal

    Erinnert ihr euch noch ans Jahr 2018? Bevor die Pandemie über uns hereinbrach, brach etwas anderes zusammen. Die Reputation von Facebook. Damals kam nämlich raus, dass Facebook (Meta) Daten von mindestens 87 Millionen Nutzern durch Camebridge Analytica (C.A.) auswerten ließ, um so illegal Werbung für den Trump-Wahlkampf zu machen. Die Muttergesellschaft von C.A., die SCL-Group hat es sich zum Geschäftsmodell gemacht, politische Wahlen und Stimmungen durch Big Data Auswertung zu beeinflussen.

    Auswertung

    Big Data ist aber nicht nur für Meta ein Geschäftsmodell. Google und TikTok machen nichts anders. Es wird alles gespeichert, von der Sucheingabe (was suchst du, wie suchst du es, was schreibst du, welche Wörter nutzt du) bis zurzeit, die du brauchst um dich für ein Ergebnis zu entscheiden. Was klickst du auf der Seite an? Wie lange bist du auf der Seite unterwegs? Wo geht es nach dem Besuch der Webseite hin? Wie schnellt scrollst du weiter? Welche Webseiten besuchen deine Freunde und Familie? All das wissen die Unternehmen wie C.A. schon bevor du selbst irgendwas gemacht hast. Jeder Schritt wird verfolgt, jede neue Suche, jede Meinungsänderung wird wahrgenommen. Man wird komplett durchleuchtet.

    Social-Credit-Score

    Kleiner Funfact am Rande, wusstest du, dass Big Data der Grundbaustein für den Social-Credit-Score in China ist? So wird genau erkannt, wo du wie viel reininvestiert, was du mit deinem Alipay Account bezahlt und ob du dein Leihfahrrad auch wieder am richtigen Ort abgestellt hast. Das in Verbindung mit ausgereifter Gesichtserkennungssoftware an öffentlichen Plätzen und du bist durchsichtig. Dadurch, dass heutzutage alles miteinander verbunden ist und alles einfacher werden soll, wird auch vieles noch komplizierter. So auch das Profil was Meta über Nicht-Nutzer anlegen kann, welches auf Daten basiert, die von Bekannten irgendwie irgendwo gespeichert worden sind und die Organisation Zugriff drauf hat.

    kurzer Einblick in das System Social-Credit-Score

    Wert

    Es gibt noch ewig viele Beispiele, was mit Big Data überall auf der Welt gemacht wird und wie man mehr und mehr die Entscheidungsgewalt über sich selbst abgibt. Aber eine Frage ist noch interessant, auf die ich noch nicht eingegangen bin. Wie viel sind diese Daten eigentlich Wert? Auch wenn man Big Data als das Erdöl der digitalen Wirtschaft bezeichnet, kann ich hier leider keine sichere Zahl nennen. Aber ich möchte nur so viel sagen, dass die E-Scooter, die man überall in der Stadt sieht, mit einer durchschnittlichen Lebensdauer von wenigen Monaten, so viele Daten über uns sammeln, dass die Unternehmen locker an die Börse gehen können. Und das nur durch den Verkauf der gesammelten Daten.

    Emissionen

    Ach so, ganz vergessen. Diese Zettabyte an Daten, die anfallen, müssen irgendwo gespeichert werden. Und wo macht man das? Genau. In riesigen Rechenzentren, die weltweit im Jahr 2020 zwischen 100 und 500 Millionen Tonnen CO2 ausgestoßen haben. Und das Problem hierbei ist, dass es nur noch mehr wird. Es werden mehr Menschen -> mehr Menschen, die einen Internetzugang haben -> mehr Daten -> mehr Server -> mehr Rechenzentren -> mehr CO2. Aus einer ARTE Dokumentation habe ich entnommen, dass im Jahr 2025 geschätzt wird, dass 25 % des gesamten Energieverbrauches nur auf Rechenzentren zurückzuführen sind.

    Rechenzentrum von Meta in Odense

    Die Datenschutzgrundverordnung (DSGVO)

    Doch wie sieht das Ganze in der Europäischen Union aus? Was für Vorgaben gibt es hier?

    In der EU wurde im Jahr 2016 die DSGVO eingeführt. Die erste Datenschutzbestimmung kam aus dem Jahr 1995, als das Internet noch lange nicht den Umfang angenommen hat wie heute. Die DSGVO soll somit alle datenschutzrechtlichen Themen und Rechte aus den unterschiedlichen Mitgliedsstaaten für die gesamte EU festhalten. Der Grund für die Einführung der neuen Verordnung ist, dass Unternehmen einen festen Fahrplan brauchen, wie sie mit den personalisierten Daten umzugehen haben, um nicht das Persönlichkeitsrecht der Nutzer und Besucher zu verletzen. Folgende Grundlagen werden deshalb in der DSGVO festgehalten:

    1. Rechtmäßigkeit (Ob die Daten verarbeitet werden dürfen/ wenn ja wie)
    2. Transparenz (welche Daten werden verarbeitet)
    3. Zweckbindung (nur für bestimmten Zweck)
    4. Speicherbegrenzung (Daten müssen gelöscht werden, wenn irrelevant oder gewollt)
    5. Richtigkeit (keine falschen Daten verwenden)
    6. Datenminimierung (Menge für Zweck angemessen)
    7. Integrität und Vertraulichkeit (Schutz vor unfreiwilliger Weitergabe)
    8. Rechenschaftspflicht (Dokumentation des Verarbeitungsprozesses)
    Neue Datenschutzregeln

    direkter Widerspruch

    Das Problem hierbei ist jedoch, dass Big Data ein Sammelbegriff für solche Daten ist. Somit ist festzuhalten, dass Big Data an sich gar nicht den Prinzip der Datenminimierung einhalten kann. Big Data sammelt nicht nach einem Zweck, sondern die Daten an sich bestimmen zu welchem Zweck sie dienen. Vergleichbar ist das mit der Vorratsdatenspeicherung, die hierzulande für Aufsehen gesorgt hatte, da diese ab 2015 gegen das EU-Recht verstoßen hat. Big Data ist das, nur in noch größer… Die einzige Ausnahme sind Kinder, denn ihre Daten dürfen nicht analysiert werden. Da frage ich mich nur, woher wissen die denn, ob es sich um ein Kind handelt?

    Witzige finde ich persönlich ja auch, dass in der DSGVO der Begriff Big Data unter dem Punkt Profiling fällt. Allein dieses Wort beschreibt die Existenzgrundlage der Big Data. Man versucht damit ein Bild oder Profil des Nutzers zu schaffen, mit all seinen guten und schlechten Seiten, Kreditwürdigkeit, Essgewohnheiten und alles was zum Leben dazugehört. Sozusagen ein Freundebuch, nur dass wir keine Freunde sind, sondern ein Stalkingopfer, ohne uns darüber bewusst zu sein.

    Positive Entwicklung

    Aber es muss trotzdem festgehalten werden, dass die restlichen Maßnahmen einen ernsthaften Unterschied im Umgang mit unseren Daten ausmachen. So wird beispielsweise die Dokumentation des Verarbeitungsprozesses eine besonders wichtige Aufgabe, denn dadurch kann nachvollzogen werden, was ausgewertet worden ist und ob das Unternehmen die Analyse solcher Daten valide begründen kann. Außerdem muss eine Risikoanalyse der Datenverarbeitung entwickelt werden und aufgefallene Risiken an die dafür zuständige Aufsichtsbehörde weitergeleitet werden. Einen weiteren positiven Faktor bringt die DSGVO noch mit sich. Dadurch, dass die Datenschutzproblematik mitten in der Öffentlichkeit steht, werden die unterschiedlichen Umgänge mit personenbezogenen Daten ein durchaus wichtiger Wettbewerbsfaktor für viele Unternehmen. Aber nur für die Unternehmen innerhalb der EU. Im EU-Ausland sieht das ganze anders aus.

    Eine Expertenmeinung

    Die Expertin ist Prof. Yvonne Hofstetter. Sie ist Autorin, Juristin und Essayistin, welche in Softwareunternehmen tätig ist und sich um die “Positionierung von Multi-Agentensystemen bei der Rüstungsindustrie und für den algorithmischen Börsenhandel” kümmert, schilderte in einem Vortrag vom YouTube-Kanal BildungsTV aus dem Jahr 2014, wie das Geschäft mit Big Data funktioniert. So beschreibt sie unter anderem, dass der Finanzmarkt durch die Auswertung jeglicher verfügbaren Informationen, dem Militärsektor sehr ähnelt. So funktioniert der teilweise illegale Hochfrequenzhandel, bei dem Händler und Banken zusammenarbeiten, um dem Investor die Aktien möglichst teuer, weiterzuverkaufen. Auch Aktienpreise werden durch Algorithmen, die durch Unmengen an Finanzdaten gefüttert werden, gedrückt bzw. manipuliert. Außerdem zeigt sie das Ziel der Big Data Analyse im Wirtschaftssektor auf, welches ist, den Menschen zu manipulieren.

    Das Beispiel

    Der Wirtschaftlicher Erfolg ist nicht der einzige Zweck der durch Verarbeitung großer Datenmengen verfolgt wird. So habe sie einst an einem Projekt dem LKA Bayern mitgeholfen, bei dem man überprüfen wollte, ob sich der Drogenhandel von der einen Stadt in die andere verlegt hat. Dafür wurde ausgewertet, welche Delikte begangen worden sind, wer mit wem im Gefängnis saß, wer mit wem verwandt ist oder wer mit wem schonmal etwas zu tun hatte. Durch diese Analyse wurde dann klar, dass sich sowohl die Gruppierung, verantwortlich für den Drogenhandel geändert hatte, als auch Informationen über den Hintermann. Problematisch ist es nur dann geworden, als die Vorstrafen des Mannes gelöscht worden sind, jedoch das Wissen der Hintermann-Tätigkeit noch immer bestand. Das LKA entschied sich dann für den Datenschutz und das Löschen dieser Informationen, nachdem das Löschdatum von einem Rohdatensatz überschritten worden war.

    Das Problem

    Frau Professor Yvonne Hofstetter sieht das große Problem darin, dass die Technik, die zur Überwachung von Personen einst nur dem Militär zur Verfügung stand, jetzt auch im Privatsektor zu finden ist. Aber der Zweck ist kein anderer. So sagt sie unter anderem: “Wir, wir sind die Ursache für riesige Milliardengewinne bei Google oder Facebook, aber wir kriegen nichts dafür. Wir werden wie ich gerade gesagt habe, ausgebeutet.”

    Forderungen

    So fordert sie zu einem das Recht auf Gegenleistung für die eigenen Daten. Zudem ein Recht der Kontrolle und die damit verbundene Löschung der Daten. Zuletzt das Recht auf negative Freiheit, was so viel heißt wie, dass man keinen Nachteil durch die Nicht-Nutzung von digitalen Technologien erleidet. Diese Punkte wurden zum Teil in der DSGVO von 2018 umgesetzt und zu EU-Recht gemacht. So beispielsweise das Fenster, in dem man seine Cookies bestimmen kann.

    Fazit

    Nun denn, was halten wir nun von Big Data? Big Data hat sowohl Vorteile als auch massive Nachteile. Die Analyse der Daten hat zur Folge, dass zukünftige Ereignisse vorhergesagt werden oder bessere Entscheidungen getroffen werden können. Prozesse und Lieferketten können optimiert werden. Werbung wird immer besser die Zielgruppe ansprechen und Dinge über die man gerade gesprochen hat, schon als Werbung angezeigt bekommen. Irgendwie entsteht das digitale Abbild eines Selbst. Nur kommt man hier wieder zu dem unausweichlichen Kritikpunkt, dass der Mensch zum Produkt gemacht wird und eigentlich nichts von der Analyse der eigenen Daten hat. Der Mensch wird manipuliert und unterbewusst zu Entscheidungen gezwungen. Klar sollte sein, dass das eine kritische Entwicklung des Kapitalismus ist. Nur nicht von staatlicher Seite, sondern von Milliardenunternehmen, die nichts mehr interessiert, als uns zu Geld zu machen. Daher, passt, auf was ihr macht. Alleine seid ihr nie.

    Die Datenschutzgrundverordnung, versucht hier die Sicherheit für die Nutzer zu wahren, bzw. wiederzuerlangen. Problematisch hierbei ist jedoch, dass nur 20 % der bei einer Bitkom-Umfrage befragten Unternehmen die DSGVO komplett umsetzt. 60 % der Unternehmen sagen, dass man in Deutschland mit dem Datenschutz übertreibe. Gut 80 % der Unternehmen haben fünf Jahre nach DSGVO Verabschiedung noch immer Probleme die Vorgaben durchzusetzen. Aber zumindest haben 60 % der Befragten angeben können, zumindest den Großteil der DSGVO umsetzten zu können. Ein Schritt in die richtige Richtung. Aber fertig sind wir noch lange nicht.

    Quellen

    Aufgabentypen des Data Mining

    WebLab HsH: Data Mining

    Autorin:  Linda Görzen

    Dieser Beitrag im Überblick:

    Einführung: Data Mining – Was ist das?

    ”Signals always point to something. In this sense, a signal is not a thing but a relationship. Data becomes useful knowledge of something that matters when it builds a bridge between a question and an answer. This connection is the signal.”

    ― Stephen Few, Signal: Understanding What Matters in a World of Noise[5]

    Unter Data Mining versteht man einen Prozess, bei dem man mithilfe anspruchsvoller mathematischer und statistischer Algorithmen in großen Datenmengen nach Mustern, Trends und Zusammenhängen sucht.[1]  Die Besonderheit des Data Mining ist die automatische Generierung der neuen Hypothesen aus den Datenmengen.[4]  So kann man beispielsweise anhand der Verkaufsdaten untersuchen, ob und wann Kunden, die Produkt A gekauft haben, auch Produkt B kaufen.

    Ziele der Untersuchung einer Datenmenge können unterschiedlich sein. Je nach Ziel gibt es im Data Mining dafür passende Aufgabenstellungen beziehungsweise -typen und dazugehörige Methoden. Typische Aufgabentypen sind Klassifikation, Regressionsanalyse, Assoziationsanalyse, Ausreißererkennung und Clusteranalyse. Darüber hinaus werden die Aufgabentypen des Data Mining oftmals nur in zwei Gruppen eingeteilt. Diese sind Beobachtungsprobleme (Clusteranalyse, Ausreißererkennung) und Prognoseprobleme (Klassifikation, Regressionsanalyse). [6]

    Klassifikation

    Die Objekte der vorhandenen Daten werden anhand ihrer Merkmale in Klassen zusammengefasst. Die dadurch gebildeten Klassenmengen dienen als Grundlage für die Entwicklung eines Klassifikationsmodells. Mit dem Klassifikationsmodell lässt sich nun die Klassenzugehörigkeit eines neuen Objekts automatisch vorhersagen.[2]

    Regressionsanalyse

    Die Regressionsanalyse basiert auf den Konzepten der Varianz und Kovarianz. Dies bedeutet, es wird nach Zusammenhängen beziehungsweise Abhängigkeiten zwischen Variablen gesucht. Meistens setzt man eine Regressionsanalyse bei Prognosen und Vorhersagen ein.[3]

    So ist es möglich, aus den historischen Daten der Umsätze eines Kunden und seinem Wohnort eine Kennzahl zu ermitteln. Diese Kennzahl kann beispielsweise der zu erwartende Umsatz, den der Kunde in Zukunft einbringen wird, sein.[8]

    Assoziationsanalyse

    Bei der Assoziationsanalyse untersucht man die einzelnen Datensätze eines Datenbestandes auf Zusammenhänge, bei denen auf ein Ereignis konsequent ein anderes folgt. [8] Diese Zusammenhänge werden über Wenn-dann-Regeln beschrieben. Typischer Anwendungsbereich der Assoziationsanalyse ist die Untersuchung des Warenkorbes. Ein Beispiel dafür ist folgendes:  Wenn ein Kunde Mehl kauft, dann kauft er wahrscheinlich auch die Butter. Die Assoziationsanalyse kann aber auch für die Untersuchung komplexerer Zusammenhänge benutzt werden. Etwa, in welchem Zeitabstand nach dem Kauf des Produktes A, der Kauf des Produktes B erfolgt. [1]

    Ausreißererkennung

    Ausreißer sind die Werte, die deutlich von den erwarteten Werten abweichen und gar nicht in die Messreihe passen. Sie können die Datenergebnisse stark verzerren und ungültig machen. Aus diesem Grund muss ein Datenbestand von den Ausreißern bereinigt werden. [3]  Die Verfahren zur Analyse von Ausreißern sollen mithilfe der historischen Daten die Wahrscheinlichkeit ermitteln, mit der ein neuer Datensatz ein Ausreißer ist. Dieser soll dann entweder automatisch gelöscht oder zur manuellen Analyse gesammelt werden. [8]

    Clusteranalyse

    Die zentrale Aufgabe einer Clusteranalyse ist es, neue Kategorien bzw. Gruppen zu identifizieren. Denn im Gegensatz zu Klassenanalyse sind bei dieser Methode die Klassen nicht vorgegeben. Bei der Clusteranalyse werden große Datenmengen in kleinere Gruppen eingeteilt (siehe Abbildung 1).  Die Mitglieder eines Clusters sollen möglichst ähnliche (homogen) Eigenschaften aufweisen. Die einzelnen Clusterkategorien sollen sich wiederum möglichst stark unterscheiden (heterogen).[7]

    Da die Cluster ohne Vorwissen generiert werden, ist es nicht immer eindeutig, was die Cluster ähnlich macht und ob sie auch inhaltlich relevant sind. Für eine Aufklärung sind zusätzliche Analysen zuständig.[7]

    EM-Gaussian-data
    Abbildung 1: Clusteranalyse[9]  (Autor: Chire Linzenz: CC BY-SA)

    Im folgenden Video sind weitere Informationen  zum Thema Methoden  beziehungsweise Aufgabentypen des Data Mining  mit dazugehörigen Beispielen zu finden:

    Fazit

    Das Anwendungspotenzial des Data Mining ist vielfältig, da es in unterschiedlichen Bereichen verwendet werden kann. Aber vor allem in der Wirtschaft spielt es eine große Rolle. Mit dem Einsatz der Datenanalyse durch Data Mining können sich Händler besser auf das Kaufverhalten der Kunden anpassen und ihnen ein besseres Einkaufsserlebnis sowohl online als auch im Laden anbieten. Ferner können Banken und Versicherungen die Bonität ihrer Kunden schneller beurteilen.

    Nichtsdestotrotz sollte man immer bedenken, dass die Daten nicht immer vollständig oder zum Teil fehlerhaft sein können, was zu verfälschten Resultaten führt. Somit ist die Qualität der Daten ausschlaggebend für aussagekräftige Ergebnisse.

     


    Quellen:

    1 Computerwoche (2015): Was ist bei Predictiv Analytics? Online unter: https://www.tecchannel.de/a/was-ist-was-bei-predictive-analytics,3199559,2 [Abruf am 25.01.2020]

    2 Dürr, Holger (2004): Anwendungen des Data Mining in der Praxis. Online unter: http://www.mathematik.uni-ulm.de/sai/ws03/dm/arbeit/duerr.pdf [Abruf am 25.01.2020]

    3 Entwickler.de (2014): Data Mining: typische Verfahren und Praxisbeispiele. Online unter: [Abruf am 25.01.2020]

    4 Enzyklopädie der Wirtschaftsinformatik Online – Lexikon (2019): Data Mining. Online unter:  https://www.enzyklopaedie-der-wirtschaftsinformatik.de/wi-enzyklopaedie/lexikon/daten-wissen/Business-Intelligence/Analytische-Informationssysteme–Methoden-der-/Data-Mining/index.html [Abruf am 25.01.2020]

    5 Goodreads (2020): Signal Quotes. Online unter: https://www.goodreads.com/work/quotes/45158439-signal-understanding-what-matters-in-a-world-of-noise [Abruf am 30.01.2020]

    6 MSO Digital (2019): Data Mining. Online unter: https://www.mso-digital.de/wiki/data-mining/ [Abruf am 25.01.2020]

    7 Novustat (2019): Data Mining Methoden – ein verständlicher Überblick über die wichtigsten Verfahren. Online unter: https://novustat.com/statistik-blog/data-mining-methoden-ueberblick.html [Abruf am 25.01.2020]

    8 Ordix AG (o. J.): Data Mining in der Praxis (Teil I). Online unter: https://www.ordix.de/ordix-news-archiv/1-2017/data-mining-in-der-praxis-teil-i-was-ist-data-mining.html [Abruf am 25.01.2020]

    9 Wikipedia commons (2016): EM-Gausian-data.svg. Online unter: https://commons.wikimedia.org/wiki/File:EM-Gaussian-data.svg [Abruf am 31.01.2020]


    Dieser Beitrag ist im Rahmen der Lehrveranstaltung Content Management im Wintersemester 2019/20 bei Andre Kreutzmann (und Monika Steinberg) entstanden.