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

更新於:2022年10月4日

瀏覽量:523

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.