開始使用免費開始

未正規化就直接建模

來看看如果在沒有先做任何標準化的情況下就直接建模,模型的正確率可能會發生什麼事。

這裡我們使用 wine 資料集的一個子集。其中一個欄位 Proline 的變異遠高於其他欄位。這正是適合使用對數正規化等技巧的情境,你會在下一節學到相關內容。

到現在為止,你應該已經很熟悉 scikit-learn 的模型訓練流程,所以我們不再贅述。你已經有可用的 k 最近鄰模型(knn),以及用來訓練與評分所需的 Xy 集。

本練習屬於課程

Python 的 Machine Learning 前處理

檢視課程

練習說明

  • Xy 切分為訓練集與測試集,並確保兩個集合中的類別標籤分布相近。
  • 以訓練特徵與標籤來訓練(fit)knn 模型。
  • 使用 .score() 方法印出 knn 模型在測試集的正確率。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Split the dataset into training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, stratify=____, random_state=42)

knn = KNeighborsClassifier()

# Fit the knn model to the training data
knn.____(____, ____)

# Score the model on the test data
print(knn.____(____))
編輯並執行程式碼