Das Entdecken von Scikit-Learn-Datensätzen und -Schätzern

Beginner

This tutorial is from open-source community. Access the source code

Einführung

In diesem Lab werden wir die Einstellungen und das Schätzerobjekt in scikit-learn, einer beliebten Machine-Learning-Bibliothek in Python, erkunden. Wir werden uns mit Datensätzen beschäftigen, die als 2D-Arrays dargestellt werden, und lernen, wie wir sie für scikit-learn vorverarbeiten. Wir werden auch das Konzept von Schätzerobjekten untersuchen, die verwendet werden, um aus Daten zu lernen und Vorhersagen zu treffen.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.

Dies ist ein Guided Lab, das schrittweise Anweisungen bietet, um Ihnen beim Lernen und Üben zu helfen. Befolgen Sie die Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrungen zu sammeln. Historische Daten zeigen, dass dies ein Labor der Stufe Anfänger mit einer Abschlussquote von 83% ist. Es hat eine positive Bewertungsrate von 94% von den Lernenden erhalten.

Das Verständnis von Datensätzen

Scikit-learn repräsentiert Datensätze als 2D-Arrays, wobei die erste Achse die Proben und die zweite Achse die Merkmale repräsentiert. Schauen wir uns ein Beispiel mit dem Iris-Datensatz an:

from sklearn import datasets

iris = datasets.load_iris()
data = iris.data
print(data.shape)

Ausgabe:

(150, 4)

Der Iris-Datensatz besteht aus 150 Beobachtungen von Irisen, wobei jede Beobachtung durch 4 Merkmale beschrieben wird. Die Form des Datenarrays ist (150, 4).

Das Umformen von Daten

Manchmal kann die Dateninitialisierung nicht die von scikit-learn erforderliche Form haben. In solchen Fällen müssen wir die Daten vorverarbeiten, um sie in die Form (n_samples, n_features) zu transformieren. Ein Beispiel für das Umformen von Daten ist der Digits-Datensatz, der aus 1797 8x8-Bildern von handschriftlichen Ziffern besteht:

digits = datasets.load_digits()
print(digits.images.shape)

Ausgabe:

(1797, 8, 8)

Um diesen Datensatz mit scikit-learn zu verwenden, müssen wir jedes 8x8-Bild in einen Merkmalsvektor der Länge 64 umformen:

data = digits.images.reshape((digits.images.shape[0], -1))

Schätzerobjekte

Schätzerobjekte in scikit-learn werden verwendet, um aus Daten zu lernen und Vorhersagen zu treffen. Sie können Klassifizierungs-, Regressions- oder Clustering-Algorithmen oder Transformatoren sein, die nützliche Merkmale aus Rohdaten extrahieren. Schauen wir uns ein einfaches Beispiel für ein Schätzerobjekt an:

from sklearn.base import BaseEstimator

class Estimator(BaseEstimator):
    def __init__(self, param1=0, param2=0):
        self.param1 = param1
        self.param2 = param2

    def fit(self, data):
        ## Implementation der fit-Methode
        pass

estimator = Estimator()

Das Anpassen von Daten

Die Haupt-API, die von scikit-learn implementiert wird, ist die fit-Methode eines Schätzerobjekts. Sie nimmt einen Datensatz (gewöhnlich ein 2D-Array) als Eingabe entgegen. Um Daten mit einem Schätzer anzupassen, können wir die fit-Methode aufrufen:

estimator.fit(data)

Schätzerparameter

Schätzerobjekte können Parameter haben, die ihr Verhalten beeinflussen. Diese Parameter können beim Instanziieren des Schätzers festgelegt oder durch Ändern des entsprechenden Attributs gesetzt werden. Legen wir einige Parameter für unseren Beispielschätzer fest:

estimator = Estimator(param1=1, param2=2)
print(estimator.param1)

Ausgabe:

1

Geschätzte Parameter

Wenn Daten mit einem Schätzer angepasst werden, werden die Parameter aus den Daten geschätzt. Alle geschätzten Parameter sind Attribute des Schätzerobjekts und enden mit einem Unterstrich. Beispielsweise:

print(estimator.estimated_param_)

Zusammenfassung

In diesem Lab haben wir uns mit Datensätzen in scikit-learn, der Umformung von Daten und dem Konzept von Schätzerobjekten beschäftigt. Wir haben untersucht, wie man Daten mit einem Schätzer anpasst, Parameter setzt und auf geschätzte Parameter zugreift. Dieses Verständnis der Einstellungen und des Schätzerobjekts wird unerlässlich sein, wenn man mit scikit-learn für statistische Lernaufgaben arbeitet.