Gerne beraten wir Sie auch telefonisch & geben Ihnen eine kostenfreie persönliche Auskunft zu Ihrem Projekt.

X

Machine Learning Algorithmen: Drei erfolgreiche Lernmethoden im Detail

In diesem Beitrag stellen wir Ihnen die Anwendung unterschiedlicher Machine Learning Algorithmen vor. Solche Data Science Tools sind Beispiele für die in einem früheren Artikel vorgestellten Lernmethoden. Viele dieser Anwendungen finden sich auch im Angebot von Python Machine Learning und Azure Machine Learning. Wir zeigen weiters konkrete Beispiele mit der umfangreichen Python Machine Learning Bibliothek scikit-learn und erklären die erfolgreichsten Data Science Tools im Detail. Zu jeder Methode gibt es verschiedene Machine Learning Algorithmen und Anwendungsbereiche, die wir beispielhaft vorgestellen. Wichtig zu wissen ist es, dass einige Machine Learning Algorithmen, je nach Anwendung, zu mehreren Lernmethoden passen.

Sie möchten sich einen umfassenden Überblick über die einzelnen Lernmethoden im Rahmen künstlicher Intelligenz verschaffen sowie konkrete Machine Learning Algorithmen kennenlernen und einsetzen? Wenden sie sich hierzu an uns für eine professionelle Beratung.

Lassen Sie uns Ihre Anforderungen wissen & wir erstellen Ihnen innerhalb weniger Stunden ein kostenfreies Angebot.


Jetzt unverbindlich anfragen

Was Sie im folgenden Artikel erwartet, haben wir für Sie in der folgenden Grafik zusammengefasst. Diese soll Ihnen einen Überblick von Machine Learning Algorithmen geben und helfen, sich im Artikel zurechtzufinden.

Abbildung: Die Unterteilung von Machine Learning Algorithmen in die drei wichtigsten Lernmethoden.

Supervised Learning

Beim Supervised Learning wird der Computer mit Hilfe von beschrifteten („tagged“) Trainingsdaten trainiert, um dann Vorhersagen oder Bewertungen unbekannter Daten zu liefern. Derjenige, der das Programm aufsetzt, ist sich sehr darüber im Klaren, welche Ergebnisse er von den Berechnungen erwartet. Ein typisches Beispiel wäre die Vorhersage von Immobilienpreisen anhand historischer Immobiliendaten (Größe, Alter, Zustand, etc.) und den dazugehörigen Verkaufspreisen (sogenannte „tags“).

Klassische Machine Learning Algorithmen für Supervised Learning sind die Lineare Regression, Decision Trees und Klassifikation. In Rahmen dieses Artikels stellen wir die spannende und äußerst praktische Anwendung eines Entscheidungsbaumes (Decision Tree) aus der Python Machine Learning Bibliothek scikit-learn vor. Im folgenden Code haben wir einen Datensatz über Wein geladen. Außerdem benötigen wir neben scikit-learn noch die Python Bibliothek Pandas. Für das Beispiel beschränken wir uns darauf, drei Eigenschaften zu betrachten und erstellen ein Featureset „X“ daraus. Wir teilen die von 0 bis 10 bewerteten Weine in „Gute Weine“ und „Schlechte Weine“ (0 respektive 1). Anschließend benutzen wir den DecisionTreeClassifier um die Daten zu analysieren und stellen das Ergebnis graphisch dar.

from sklearn.datasets import load_iris
from sklearn import tree
import graphviz
import pandas as pd

df = pd.read_csv("winequality-red.csv")
features = ["citric acid", "fixed acidity", "free sulfur dioxide"]

df["target"] = 0
df.loc[df.quality > 5.63, "target"] = 1

X = df[features]
y = df["target"]

clf = tree.DecisionTreeClassifier(max_depth=2)
clf = clf.fit(X, y)

dot_data = tree.export_graphviz(clf, out_file=None, 
                     feature_names=features,  
                     class_names=["Bad Wine","Good Wine"],  
                     filled=True, rounded=True,  
                     special_characters=True)  
graph = graphviz.Source(dot_data, format='png')  
graph.render()

Abbildung: Graphische Darstellung zum Entscheidungsbaum, den wir im obigen Code entwickelt haben.

Anhand der verschiedenen Weineigenschaften lässt sich nun rasch herausfinden, ob man hier wohl einen guten oder schlechten Wein vor sich hat. Diese ML Methode eignet sich folglich hervorragend, um Prozessentscheidungen mathematisch herzuleiten und darzustellen.

Bei konkreten Fragen zur Anwendung von Machine Learning Algorithmen bzw. Python Machine Learning und Azure Machine Learning in ihrem Business oder für Ihre Forschung melden Sie sich direkt und unverbindlich bei uns. Nutzen Sie dazu gerne unser Kontaktformular!

Brauchen Sie Hilfe?

Brauchen Sie Hilfe?

Gerne können Sie bei uns auch eine unverbindliche Beratung sowie einen kostenlosen Kostenvoranschlag erhalten. Wir beraten Sie gerne!


Jetzt unverbindlich anfragen

Unsupervised Learning

Im Gegensatz zum Supervised Learning gibt es beim Unsupervised Learning nur unbeschriftete Daten, also „untagged“ Data. Die Machine Learning Algorithmen suchen demnach eigenständig nach Lösungen für die Daten, wobei es aber keine richtigen oder falschen Antworten gibt. Der Computer beginnt anhand verschiedener Merkmale die Daten zu sortieren, nach Auffälligkeiten zu untersuchen und ihre Struktur zu verstehen. Besonders erfolgreich werden diese Algorithmen beim sogenannten Data Mining eingesetzt: Die riesigen Datenmengen, die dabei entstehen, können unmöglich von Menschenhand sortiert und analysiert werden. Daher werden unsupervised Learning Methoden angewendet, um die Daten automatisiert für die weitere Verarbeitung vorzubereiten.

Die Data Science Tools, die dabei Anwendung finden, sind vor allem Clustering Algorithmen wie K-Means Clustering sowie Dimensionsreduktionsalgorithmen wie beispielsweise die Principal Component Analysis und Anomaliedetektion (zB. mittels Isolation Forest). Obgleich Azure Machine Learning dafür Methoden anbietet, wollen wir nachfolgend den Algorithmus K-Means Clustering aus scikit-learn vorstellen.

Für das Beispiel nutzen wir einen Datensatz mit fiktiven Kundendaten. Wir wollen die Kunden nach Einkommen und der Höhe ihrer Ausgaben in unserem Geschäft klassifizieren, um sie anschließend nach optimierten Kriterien mittels Werbung zu locken. Nach dem Einlesen der Daten erstellen wir das KMeans Objekt und lassen es insgesamt fünf Cluster analysieren. Das Ergebnis stellen wir dann noch mit Matplotlib dar. Wichtig: Da es sich um unsupervised Learning handelt, gibt es diesmal keinen Target y-Vektor.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

df=pd.read_csv("Mall_Customers.csv")
X=df.iloc[:,[3,4]].values

kmeans=KMeans(n_clusters=5, init="k-means++", max_iter=300, n_init=10, random_state=0)
y_kmeans=kmeans.fit_predict(X)

plt.figure(figsize = (10,10))
colors = ['red','lime','maroon','green','blue']
for i in range(5):
    plt.scatter(X[y_kmeans == i,0], X[y_kmeans == i, 1], s = 90, c = colors[i])
plt.title("Clusters of clients")
plt.xlabel("Annual Incom (K$)")
plt.ylabel("Spending Score (1-100)")
plt.savefig("KMeans.png")
Abbildung: Darstellung der KMeans Clustering Methode.

Doe Abbildung lässt mit freiem Auge die Gruppierungen erkennen, die unser Code gefunden hat. Die Gruppierungen des Codes sind farblich hervorgehoben. So lassen sich auch reale Kundendaten gruppieren und dementsprechend visualisiert darstellen.

Reinforcement Learning

Die dritte Lernmethode, die wir im Artikel zu Machine Learning und künstliche Intelligenz vorgestellt haben, ist das Reinforcement Learning. Hier lernt der Computer teilweise durch selbständiges Ausprobieren („Exploration“) und durch das Maximieren einer Belohnungsfunktion („Exploitation“). Auf dieser Grundlage erkennt er jene Strategie, die in einem bestimmten Zusammenhang am sinnvollsten ist. Hierfür werden vor allem sogenannte neuronale Netzwerke verwendet und auch Data Science Tools im Rahmen des Deep Learnings finden hier Anwendung.

Das Reinforcement Learning wird vor allem für Bereiche genutzt, in denen die Interaktion mit der Umwelt eine tragende Rolle spielt. Selten werden hier starre Datensätze zum Trainieren verwendet, sondern entweder komplexe Simulationen oder tatsächliche Echtweltreaktionen. Ein gutes Beispiel hierfür sind etwa die Spielintelligenzen von Google und Co., die durch Spiele gegen sich selbst oder echte Menschen immer erfolgreichere Strategien entwickeln. Ein anderes wichtiges Anwendungsfeld ist das Optimieren von gigantischen und komplizierten Maschinen. Beispiele dazu sind: ein Teilchenbeschleuniger oder auch eine Produktionsstraße in einem Industriebetrieb.

Ein vollständiges Beispiel eines neuronalen Netzwerks würde hier die Grenzen des Artikels sprengen, dazu verweisen wir Sie auf unsere Dienste im Bereich Big Data Analytics. Gerne helfen wir Ihnen auch im Rahmen einer persönlichen Data-Mining-Beratung, sich mit Machine Learning Algorithmen, Python Machine Learning und Azure Machine Learning vertraut zu machen.

Jetzt Anrufen Jetzt anfragen