Heim  >  Artikel  >  Backend-Entwicklung  >  Wie konvertiere ich den IRIS-Datensatz von Scikit-learn in einen Datensatz mit nur zwei Funktionen in Python?

Wie konvertiere ich den IRIS-Datensatz von Scikit-learn in einen Datensatz mit nur zwei Funktionen in Python?

WBOY
WBOYnach vorne
2023-08-30 21:49:061069Durchsuche

Wie konvertiere ich den IRIS-Datensatz von Scikit-learn in einen Datensatz mit nur zwei Funktionen in Python?

Iris, ein multivariater Blumendatensatz, ist einer der nützlichsten Python-Scikit-Learn-Datensätze. Es ist in 3 Kategorien zu je 50 Exemplaren unterteilt und enthält Messungen der Kelch- und Blütenblattteile von drei Schwertlilienarten (Iris mountaina, Iris virginia und Iris variegated). Darüber hinaus enthält der Iris-Datensatz 50 Instanzen jeder der drei Arten und besteht aus vier Merkmalen, nämlich sepal_length (cm), sepal_width (cm), petal_length (cm), petal_width (cm).

Wir können die Hauptkomponentenanalyse (PCA) verwenden, um den IRIS-Datensatz in einen neuen Merkmalsraum mit zwei Merkmalen umzuwandeln.

Schritte

Wir können den IRIS-Datensatz mithilfe von PCA in Python in einen 2-Feature-Datensatz konvertieren, indem wir die unten angegebenen Schritte ausführen -

Schritt 1 – Importieren Sie zunächst die notwendigen Pakete aus scikit-learn. Wir müssen den Datensatz und das Zerlegungspaket importieren.

Schritt 2 – Laden Sie den IRIS-Datensatz.

Schritt 3 – Detaillierte Informationen zum Datensatz ausdrucken.

Schritt 4 – Initialisieren Sie die Hauptkomponentenanalyse (PCA) und wenden Sie die Funktion fit() an, um die Daten anzupassen. p>

Schritt 5 – Konvertieren Sie den Datensatz in neue Dimensionen, d. h. einen 2-Feature-Datensatz.

Beispiel

Im folgenden Beispiel werden wir den Scikit-Learn-IRIS-Pflanzendatensatz mithilfe der oben genannten Schritte über PCA in zwei Features umwandeln.

# Importing the necessary packages
from sklearn import datasets
from sklearn import decomposition

# Load iris plant dataset
iris = datasets.load_iris()

# Print details about the dataset
print('Features names : '+str(iris.feature_names))
print('\n')
print('Features size : '+str(iris.data.shape))
print('\n')
print('Target names : '+str(iris.target_names))
print('\n')
X_iris, Y_iris = iris.data, iris.target

# Initialize PCA and fit the data
pca_2 = decomposition.PCA(n_components=2)
pca_2.fit(X_iris)

# Transforming iris data to new dimensions(with 2 features)
X_iris_pca2 = pca_2.transform(X_iris)

# Printing new dataset
print('New Dataset size after transformations: ', X_iris_pca2.shape)

Ausgabe

Es wird die folgende Ausgabe erzeugt -

Features names : ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']

Features size : (150, 4)

Target names : ['setosa' 'versicolor' 'virginica']

New Dataset size after transformations: (150, 2)

Wie konvertiere ich einen Iris-Datensatz in einen 3-Feature-Datensatz?

Wir können den Iris-Datensatz mithilfe einer statistischen Methode namens Hauptkomponentenanalyse (PCA) in einen neuen Merkmalsraum mit drei Merkmalen umwandeln. PCA projiziert die Daten im Wesentlichen linear in einen neuen Merkmalsraum, indem es die Merkmale des ursprünglichen Datensatzes analysiert.

Das Hauptkonzept hinter PCA besteht darin, die „Hauptmerkmale“ der Daten auszuwählen und darauf basierende Funktionen zu erstellen. Dadurch erhalten wir einen neuen Datensatz, der kleiner ist, aber die gleichen Informationen wie der ursprüngliche Datensatz enthält.

Beispiel

Im folgenden Beispiel verwenden wir PCA, um den Scikit-Learn-Iris-Pflanzendatensatz (initialisiert mit 3 Komponenten) zu transformieren.

# Importing the necessary packages
from sklearn import datasets
from sklearn import decomposition

# Load iris plant dataset
iris = datasets.load_iris()

# Print details about the dataset
print('Features names : '+str(iris.feature_names))
print('\n')
print('Features size : '+str(iris.data.shape))
print('\n')
print('Target names : '+str(iris.target_names))
print('\n')
print('Target size : '+str(iris.target.shape))
X_iris, Y_iris = iris.data, iris.target

# Initialize PCA and fit the data
pca_3 = decomposition.PCA(n_components=3)
pca_3.fit(X_iris)

# Transforming iris data to new dimensions(with 2 features)
X_iris_pca3 = pca_3.transform(X_iris)

# Printing new dataset
print('New Dataset size after transformations : ', X_iris_pca3.shape)
print('\n')

# Getting the direction of maximum variance in data
print("Components : ", pca_3.components_)
print('\n')

# Getting the amount of variance explained by each component
print("Explained Variance:",pca_3.explained_variance_)
print('\n')

# Getting the percentage of variance explained by each component
print("Explained Variance Ratio:",pca_3.explained_variance_ratio_)
print('\n')

# Getting the singular values for each component
print("Singular Values :",pca_3.singular_values_)
print('\n')

# Getting estimated noise covariance
print("Noise Variance :",pca_3.noise_variance_)

Ausgabe

Es wird die folgende Ausgabe erzeugt -

Features names : ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']

Features size : (150, 4)

Target names : ['setosa' 'versicolor' 'virginica']

Target size : (150,)
New Dataset size after transformations : (150, 3)

Components : [[ 0.36138659 -0.08452251 0.85667061 0.3582892 ]
[ 0.65658877 0.73016143 -0.17337266 -0.07548102]
[-0.58202985 0.59791083 0.07623608 0.54583143]]

Explained Variance: [4.22824171 0.24267075 0.0782095 ]

Explained Variance Ratio: [0.92461872 0.05306648 0.01710261]

Singular Values : [25.09996044 6.01314738 3.41368064]

Noise Variance : 0.02383509297344944

Das obige ist der detaillierte Inhalt vonWie konvertiere ich den IRIS-Datensatz von Scikit-learn in einen Datensatz mit nur zwei Funktionen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen