Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk menukar dataset IRIS Scikit-learn kepada dataset dengan hanya dua ciri dalam Python?

Bagaimana untuk menukar dataset IRIS Scikit-learn kepada dataset dengan hanya dua ciri dalam Python?

WBOY
WBOYke hadapan
2023-08-30 21:49:061151semak imbas

Bagaimana untuk menukar dataset IRIS Scikit-learn kepada dataset dengan hanya dua ciri dalam Python?

Iris, set data bunga berbilang variasi, ialah salah satu set data pembelajaran scikit Python yang paling berguna. Ia dibahagikan kepada 3 kategori 50 contoh setiap satu dan mengandungi ukuran bahagian sepal dan kelopak bagi tiga spesies iris (Iris mountaina, Iris virginia dan Iris variegated). Selain itu, set data Iris mengandungi 50 contoh setiap satu daripada tiga spesies dan terdiri daripada empat ciri, iaitu sepal_length (cm), sepal_width (cm), petal_length (cm), petal_width (cm).

Kami boleh menggunakan Analisis Komponen Utama (PCA) untuk mengubah set data IRIS menjadi ruang ciri baharu dengan 2 ciri.

Langkah

Kami boleh menukar set data IRIS kepada set data 2 ciri menggunakan PCA dalam Python dengan mengikuti langkah yang diberikan di bawah -

Langkah 1 - Mula-mula, import pakej yang diperlukan dari scikit-learn. Kami perlu mengimport set data dan pakej penguraian.

Langkah 2 - Muatkan set data IRIS.

Langkah 3 - Cetak maklumat terperinci tentang set data.

Langkah 4 - Mulakan Analisis Komponen Utama (PCA) dan gunakan fungsi fit() untuk memuatkan data. p>

Langkah 5 - Tukar set data kepada dimensi baharu, iaitu set data 2 ciri.

Contoh

Dalam contoh di bawah, kami akan mengubah set data tumbuhan IRIS yang dipelajari secara scikit kepada 2 ciri melalui PCA menggunakan langkah di atas.

# 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)

Output

Ia akan menghasilkan output berikut -

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)

Bagaimana untuk menukar set data Iris kepada set data 3 ciri?

Kami boleh mengubah set data Iris menjadi ruang ciri baharu dengan 3 ciri menggunakan kaedah statistik yang dipanggil Analisis Komponen Utama (PCA). PCA pada asasnya menayangkan data secara linear ke dalam ruang ciri baharu dengan menganalisis ciri set data asal.

Konsep utama di sebalik PCA ialah memilih ciri "utama" data dan membina ciri berdasarkannya. Ia akan memberi kami set data baharu yang bersaiz lebih kecil tetapi mempunyai maklumat yang sama seperti set data asal.

Contoh

Dalam contoh di bawah, kami akan menggunakan PCA untuk mengubah set data tumbuhan Iris yang dipelajari secara scikit (dimulakan dengan 3 komponen).

# 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_)

Output

Ia akan menghasilkan output berikut -

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

Atas ialah kandungan terperinci Bagaimana untuk menukar dataset IRIS Scikit-learn kepada dataset dengan hanya dua ciri dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam