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

WBOY
Lepaskan: 2023-08-30 21:49:06
ke hadapan
1032 orang telah melayarinya

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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_)
Salin selepas log masuk

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
Salin selepas log masuk

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!