如何在Python中将Sklearn DIGITS数据集转换为2特征和3特征数据集?
Sklearn DIGITS数据集有64个特征,因为每个数字图像的大小为8x8像素。我们可以使用主成分分析 (PCA) 将Scikit-learn DIGITS数据集转换为具有2个特征的新特征空间。将64个特征的数据集转换为2个特征的数据集将大大减少数据大小,并且我们会丢失一些有用的信息。这也将影响机器学习模型的分类准确性。
将DIGITS数据集转换为2特征数据集的步骤
我们可以按照以下步骤使用PCA将DIGITS数据集转换为2特征数据集:
首先,从scikit-learn导入必要的包。我们需要导入datasets和decomposition包。
加载DIGITS数据集。
初始化主成分分析 (PCA) 并应用fit()函数来拟合数据。
将数据集转换为新的维度,即2特征数据集。
示例
在下面的示例中,我们将使用上述步骤将scikit-learn DIGITS数据集使用PCA转换为2个特征。
# Importing the necessary packages from sklearn import datasets from sklearn import decomposition # Load DIGITS dataset DIGITS = datasets.load_digits() X_digits, Y_digits = DIGITS.data, DIGITS.target print('DIGITS Dataset Size: ', X_digits.shape, Y_digits.shape) # Initialize PCA and fit the data pca_2 = decomposition.PCA(n_components=2) pca_2.fit(X_digits) # Transforming DIGITS data to new dimensions(with 2 features) X_digits_pca2 = pca_2.transform(X_digits) # Printing new dataset print('New Dataset size after transformations: ', X_digits_pca2.shape)
输出
它将产生以下输出:
DIGITS Dataset Size: (1797, 64) (1797,) New Dataset size after transformations: (1797, 2)
将具有6个类别的DIGITS数据集转换为2特征数据集
Sklearn DIGITS数据集有64个特征,针对0-9数字有10个类别。我们可以使用主成分分析 (PCA) 将具有前6个类别的DIGITS数据集转换为具有2个特征的新特征空间。
我们可以按照以下步骤使用PCA将具有前6个类别的DIGITS数据集转换为2特征数据集:
首先,从scikit-learn导入必要的包。我们需要导入datasets和decomposition包。
加载具有6个类别的DIGITS数据集。
初始化主成分分析 (PCA) 并应用fit()函数来拟合数据。
将数据集转换为新的维度,即2特征数据集。
示例
在下面的示例中,我们将使用上述步骤将具有6个类别的scikit-learn DIGITS数据集使用PCA转换为2个特征。
# Importing the necessary packages from sklearn import datasets from sklearn import decomposition # Load DIGITS dataset with 6 classes DIGITS = datasets.load_digits(n_class = 6) X_digits, Y_digits = DIGITS.data, DIGITS.target print('DIGITS Dataset Size: ', X_digits.shape, Y_digits.shape) # Initialize PCA and fit the data pca_2 = decomposition.PCA(n_components=2) pca_2.fit(X_digits) # Transforming DIGITS data to new dimensions(with 2 features) X_digits_pca2 = pca_2.transform(X_digits) # Printing new dataset print('New Dataset size after transformations: ', X_digits_pca2.shape)
输出
它将产生以下输出:
DIGITS Dataset Size: (1083, 64) (1083,) New Dataset size after transformations: (1083, 2)
使用PCA将DIGITS数据集转换为3特征数据集
Sklearn DIGITS数据集有64个特征,因为每个数字图像的大小为8x8像素。我们可以使用主成分分析 (PCA) 将DIGITS数据集转换为具有3个特征的新特征空间。将64个特征的数据集转换为3个特征的数据集将大大减少数据大小,并且我们会丢失一些有用的信息。这也将影响机器学习模型的分类准确性。
我们可以按照以下步骤使用PCA将DIGITS数据集转换为3特征数据集:
首先,从scikit-learn导入必要的包。我们需要导入datasets和decomposition包。
加载DIGITS数据集。
初始化主成分分析 (PCA) 并应用fit()函数来拟合数据。
将数据集转换为新的维度,即3特征数据集。
示例
在下面的示例中,我们将使用上述步骤将scikit-learn DIGITS数据集使用PCA转换为3个特征。
# Importing the necessary packages from sklearn import datasets from sklearn import decomposition # Load DIGITS dataset DIGITS = datasets.load_digits() X_digits, Y_digits = DIGITS.data, DIGITS.target print('DIGITS Dataset Size: ', X_digits.shape, Y_digits.shape) # Initialize PCA and fit the data pca_3 = decomposition.PCA(n_components=3) pca_3.fit(X_digits) # Transforming DIGITS data to new dimensions(with 3 features) X_digits_pca3 = pca_3.transform(X_digits) # Printing new dataset print('New Dataset size after transformations: ', X_digits_pca3.shape)
输出
它将产生以下输出
DIGITS Dataset Size: (1797, 64) (1797,) New Dataset size after transformations: (1797, 3)