如何在Python中将Sklearn DIGITS数据集转换为2和3特征数据集?
Sklearn DIGITS数据集有64个特征,因为每个数字的图像都是8×8像素大小的。我们可以使用主成分分析(PCA)将Scikit-learn DIGITS数据集转换成具有2个特征的新特征空间。将64个特征数据集转换为2个特征数据集将大大减少数据的大小,并且我们将失去一些有用的信息。这也会影响ML模型的分类准确性。
将DIGITS数据集转换为2特征数据集的步骤
我们可以按以下步骤使用PCA将DIGITS数据集转换为2特征数据集 –
-
首先,从scikit-learn中导入必要的包。我们需要导入数据集和分解包。
-
加载DIGITS数据集。
-
初始化主成分分析(PCA)并应用拟合(fit)函数拟合数据。
-
将数据集转换为新尺寸,即2特征数据集。
示例
在下面的示例中,我们将使用上述步骤使用PCA将sklearn DIGITS数据集转换为2特征。
#导入必要的软件包
from sklearn import datasets
from sklearn import decomposition
#加载DIGITS数据集
DIGITS = datasets.load_digits()
X_digits, Y_digits = DIGITS.data, DIGITS.target
print('DIGITS数据集大小:', X_digits.形状, Y_digits.形状)
#初始化PCA并拟合数据
pca_2 = decomposition.PCA(n_components=2)
pca_2.fit(X_digits)
#将DIGITS数据转换为新维度(具有2个特征)
X_digits_pca2 = pca_2.transform(X_digits)
#打印新数据集
print('转换后的新数据集大小:', X_digits_pca2.形状)
输出
它将产生以下输出 –
DIGITS数据集大小:(1797、64)(1797、)
转换后的新数据集大小:(1797、2)
将具有6个类的DIGITS数据集转换为2特征数据集
Sklearn DIGITS数据集有64个特征和10个0-9数字类别。我们可以使用主成分分析(PCA)将具有前6个类别的数字数据集转换为具有2个特征的新特征空间。
我们可以按以下步骤使用PCA将带有前6个类别的DIGITS数据集转换为2特征数据集 –
-
首先,从scikit-learn中导入必要的包。我们需要导入数据集和分解包。
-
加载带有前6个类别的DIGITS数据集。
-
初始化主成分分析(PCA)并应用拟合(fit)函数拟合数据。
-
将数据集转换为新尺寸,即2特征数据集。
示例
在下面的示例中,我们将使用上述步骤使用PCA将带有前6个类别的sklearn DIGITS数据集转换为2特征。
#导入必要的软件包
from sklearn import datasets
from sklearn import decomposition
#加载具有6个类的DIGITS数据集
digits = datasets.load_digits(n_class=6)
X_digits, Y_digits = digits.data, digits.target
print('DIGITS数据集大小:', X_digits.形状, Y_digits.形状)
#初始化PCA并拟合数据
pca_2 = decomposition.PCA(n_components=2)
pca_2.fit(X_digits)
#将DIGITS数据转换为新维度(具有2个特征)
X_digits_pca2 = pca_2.transform(X_digits)
#打印新数据集
print('转换后的新数据集大小:', X_digits_pca2.形状)
# 导入必要的库
from sklearn import datasets
from sklearn import decomposition
# 加载 DIGITS 数据集(6 个类)
DIGITS = datasets.load_digits(n_class = 6)
X_digits, Y_digits = DIGITS.data, DIGITS.target
print('DIGITS 数据集大小: ', X_digits.shape, Y_digits.shape)
# 初始化 PCA 并拟合数据
pca_2 = decomposition.PCA(n_components=2)
pca_2.fit(X_digits)
# 将 DIGITS 数据集转换为新的维度(有 2 个特征)
X_digits_pca2 = pca_2.transform(X_digits)
# 打印新数据集
print('转换后的数据集大小:', X_digits_pca2.shape)
输出
将会产生以下输出:-
DIGITS 数据集大小: (1083, 64) (1083,)
转换后的数据集大小:(1083, 2)
使用PCA将DIGITS数据集转换为3特征数据集
Scikit-learn的DIGITS数据集有64个特征,因为每个数字图像的大小为8乘8像素。我们可以使用主成分分析(PCA)将DIGITS数据集转换为具有3个特征的新的特征空间。将64个特征的数据集转换为具有3个特征的数据集会大大减小数据的大小,我们将失去一些有用的信息。这也会影响ML模型的分类准确性。
我们可以遵循以下步骤将DIGITS数据集转换为具有3个特征的数据集:-
-
首先,从scikit-learn导入必要的包。我们需要导入数据集和分解包。
-
加载DIGITS数据集。
-
初始化主成分分析(PCA)并应用fit()函数来拟合数据。
-
将数据集转换为新的维度,即3特征数据集。
示例
在下面的示例中,我们将使用上述步骤将Scikit-learn的DIGITS数据集转换为具有3个特征的PCA。
# 导入必要的库
from sklearn import datasets
from sklearn import decomposition
# 加载DIGITS数据集
DIGITS = datasets.load_digits()
X_digits, Y_digits = DIGITS.data, DIGITS.target
print('DIGITS 数据集大小: ', X_digits.shape, Y_digits.shape)# 初始化 PCA 并拟合数据
pca_3 = decomposition.PCA(n_components=3)
pca_3.fit(X_digits)
# 将 DIGITS 数据集转换为新的维度(有 3 个特征)
X_digits_pca3 = pca_3.transform(X_digits)
# 打印新数据集
print('转换后的数据集大小:', X_digits_pca3.shape)
输出
将会产生以下输出:-
DIGITS 数据集大小: (1797, 64) (1797,)
转换后的数据集大小:(1797, 3)