Rumah >pembangunan bahagian belakang >Tutorial Python >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.
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.
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)
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)
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.
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_)
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!