如何在Python中将Sklearn DIGITS数据集转换为2和3特征数据集?

如何在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)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程