Definition

Was ist Scikit-learn?

| Autor / Redakteur: Tutanch / Nico Litzel

(Bild: © aga7ta - stock.adobe.com)

Die freie Software-Bibliothek Scikit-learn ist plattformunabhängig und für das maschinelle Lernen mit der Programmiersprache Python konzipiert. Sie arbeitet mit wissenschaftlichen Python-Bibliotheken wie SciPy oder NumPy zusammen. Verfügbar ist die Software über GitHub.

Bei Scikit-learn handelt es sich um eine Software-Bibliothek für maschinelles Lernen (Machine Learning). Die Software ist unter 3-Klausel-BSD-Lizenz frei über GitHub erhältlich und für die Programmiersprache Python vorgesehen. Für das maschinelle Lernen stehen verschiedene Algorithmen wie Clustering-, Regressions- oder Klassifizierungsalgorithmen zur Verfügung. Scikit-learn wird zusammen mit den wissenschaftlichen Python-Bibliotheken SciPy und NumPy eingesetzt. Die Bibliothek zeichnet sich durch ihre robusten und gut dokumentierten Funktionen aus. Geschrieben ist Scikit-learn überwiegend in Python.

Für einige Kernalgorithmen wurde Cython verwendet, um eine höhere Performance zu erzielen. Ursprünglich geht Scikit-learn auf das von David Cournapeau durchgeführte Google Summer of Code Projekt scikits.learn zurück. Der Name „Scikit“ leitet sich von der SciPy-Erweiterung „SciPy Toolkit“ ab. Der Original-Code aus dem Projekt wurde später von Entwicklern neu geschrieben. Das erste öffentliche Release von Scikit-learn erschien im Jahr 2010. Die aktuelle Version von Scikit-learn aus dem Jahr 2017 trägt die Bezeichnung 0.19.1.

Die Algorithmen von Scikit-learn eignen sich sowohl für überwachtes als auch für unüberwachtes Lernen. Da die Machine-Learning-Bibliothek auf wissenschaftlichen Python-Bibliotheken basiert und ein konsistentes Interface innerhalb der Programmiersprache bereitstellt, lässt sich Scikit-learn relativ einfach in Applikationen integrieren. Einzelne Methoden und Algorithmen sind als Bausteine für unterschiedliche Anwendungsfälle nutzbar. Mit Scikit-learn entwickelte Anwendungen für maschinelles Lernen kommen sowohl in der Wissenschaft als auch im kommerziellen Umfeld zum Einsatz.

Die Ziele in der Entwicklung von Scikit-learn und die wichtigsten Merkmale der Bibliothek

Bei der Entwicklung von Scikit-learn stand das Ziel im Vordergrund, eine solide Implementierung für maschinelles Lernen bereitzustellen, die sich auf die wesentlichen Funktionen konzentriert. Es wurde auf eine konsistente Benennung der Funktionen und Parameter geachtet, die sich strikt an die Konventionen der Programmiersprache Python und ihre wissenschaftlichen Bibliotheken hält. Scikit-learn soll frei verfügbar sein und steht daher unter BSD-Lizenz. Die Weiterentwicklung von Scikit-learn treibt eine aktive Community voran. Ein wichtiges Merkmal von Scikit-learn ist die gute Dokumentation der Bibliothek und ihrer Funktionen und Parametern. Den Entwicklern und Anwendern stehen detaillierte User-Guides, Klassen-Referenzen, Tutorien, Installationsanleitungen und viele ausführlich beschriebene Beispiele zur Verfügung.

Eine saubere, einheitliche und einfach gehaltene API zeichnet die Bibliothek aus. Hat man die Grundsätze der Anwendung von Scikit-learn für eine bestimmtes Modell verstanden, ist es relativ einfach, Scikit-learn auf andere Modelle anzuwenden.

Vorteile von Scikit-learn sind unter anderem:

  • einfache und effiziente Tools für das maschinelles Lernen, Data Mining und Datenanalysen
  • für jeden frei verfügbar
  • für verschiedene Anwendungsbereiche einsetzbar
  • basierend auf NumPy und SciPy

Zugrunde liegende Technologien

Scikit-learn basiert in Teilen auf den wissenschaftlichen Python-Bibliotheken SciPy und NumPy und auf der Programmiersprache Cython. Es wird die Datenstruktur von NumPy für die Parameter der Datenmodelle verwendet. Die Daten sind durch NumPy-Arrays repräsentiert, wodurch eine einfache Integration in andere wissenschaftliche Python-Bibliotheken möglich ist. NumPy stellt zudem die grundlegenden Funktionen für arithmetische Berechnungen bereit.

SciPy sorgt für effiziente Algorithmen der linearen Algebra und Matrixfunktionen. Darüber hinaus liefert die Bibliothek statistische Funktionen. Cython gestattet die Nutzung von C in Python. Mithilfe von Cython ist die Performance des Codes für verschiedene High-Level-Operationen verbessert.

Die Features von Scikit-learn

Der Fokus von Scikit-learn liegt auf der Modellierung von Daten. Mit der Bibliothek lassen sich Daten clustern und gruppieren, Datasets erzeugen, Attribute für Bilder und Texte erzeugen, Methoden für maschinelles Lernen kombinieren, Lernmodelle aufstellen, multidimensionale Daten zusammenfassen und vieles mehr.

Typische Funktionen von Scikit-learn sind:

  • Clustering
  • Cross Validation
  • Reduktion
  • Feature-Extraktion
  • Parameter-Tuning
  • Zusammenfassen und Darstellen von Daten

Datenrepräsentation in Scikit-learn mithilfe von Tabellen

Maschinelles Lernen benötigt auf Daten basierende Modelle. In Scikit-learn lassen sich Daten in Form von Tabellen für die weitere Verarbeitung durch Algorithmen bereitstellen. Eine einfache Tabelle ist zweidimensional und besteht aus Zeilen und Spalten. Die Zeilen repräsentieren die einzelnen Elemente und die Spalten verschiedene Eigenschaften dieser Elemente beispielsweise Mengen oder Größen. Ausgehend von diesen Tabellen entstehen durch die Anwendung von Funktionen und Algorithmen die Modelle für maschinelles Lernen.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Optimale Clusteranalyse und Segmentierung mit dem k-Means-Algorithmus

Grundlagen Statistik & Algorithmen, Teil 5

Optimale Clusteranalyse und Segmentierung mit dem k-Means-Algorithmus

Der k-Means-Algorithmus ist ein Rechenverfahren, das sich für die Gruppierung von Objekten, die sogenannte Clusteranalyse, einsetzen lässt. Dank der effizienten Berechnung der Clusterzentren und dem geringen Speicherbedarf eignet sich der Algorithmus sehr gut für die Analyse großer Datenmengen, wie sie im Big-Data-Umfeld üblich sind, so etwa in der Bildverarbeitung und in der Kundensegmentierung. lesen

Software AG stellt Nyoka vor

Quelloffene Bibliothek

Software AG stellt Nyoka vor

Mit Nyoka hat die Software AG eine Open-Source-Bibliothek für Künstliche Intelligenz (KI), Machine Learning (ML) und Predictive Analytics vorgestellt. Sie ist für den Einsatz durch Datenwissenschaftler konzipiert. lesen

Updates für Analyse- und KI-Services von Google

Zahlreiche Neuerungen

Updates für Analyse- und KI-Services von Google

Im Rahmen der Konferenz Cloud Next 2018 hat Google eine Vielzahl an Updates für seine Analyse- und KI-Dienste vorgestellt. Zudem wurde eine Partnerschaft mit Iron Mountain geschlossen. lesen

Databricks erweitert Sparks KI-Fähigkeiten mit ML-Framework

Künstliche Intelligenz mit Apache Spark

Databricks erweitert Sparks KI-Fähigkeiten mit ML-Framework

Databricks, Entwickler und Betreuer der Analytics-Plattform Apache Spark, hat mit der Unified Analytics Platform ein neues Machine Learning Framework vorgestellt. Drei zusätzliche Spark-Funktionen sollen die Zusammenarbeit zwischen Datenbereitstellung und KI-Entwicklung plattformübergreifend performant machen lesen

Ausbildung zum Data Scientist – was wird vermittelt?

Kommentar von Nikolaos Radouniklis, Data Reply

Ausbildung zum Data Scientist – was wird vermittelt?

Die Nachfrage nach Experten für Big Data steigt auch in diesem Jahr exponentiell, um die enormen Datenbestände zu analysieren und eine datengetriebene Kultur in den Unternehmen zu fördern. Damit der akute Bedarf an hochqualifizierten Data Scientists für die hiesigen Märkte annähernd gedeckt werden kann, hat Reply mit „The Data Incubator Reply“ (DIR) das erfolgreiche US-Ausbildungsprogramm von The Data Incubator nach Europa geholt. lesen

Cloudera baut Hadoop weiter aus

Python-Support verbessert

Cloudera baut Hadoop weiter aus

Cloudera verbessert die Unterstützung von Python durch eine Kooperation mit dem Anaconda-Urheber Continuum Labs. Zudem engagiert sich das Unternehmen im Gemeinschaftsprojekt Apache Arrow. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45498618 / Definitionen)