降維後的準確率
你將透過降維來降低過度擬合。在這個例子中,你會採用相當激進的降維作法:只選擇單一欄位,該欄位能有效區分性別。你會重新進行訓練/測試集切分、模型擬合與預測,並比較測試資料與訓練資料的準確率。
所有相關套件與 y 都已預先載入。
本練習屬於課程
Python 的降維
練習說明
- 從
ansur_df中只選取頸圍欄位('neckcircumferencebase')。 - 進行資料切分、建立分類器實例並擬合資料。這部分已為你完成。
- 再次分別計算訓練集與測試集的準確率。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Assign just the 'neckcircumferencebase' column from ansur_df to X
X = ansur_df[[____]]
# Split the data, instantiate a classifier and fit the data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
svc = SVC()
svc.fit(X_train, y_train)
# Calculate accuracy scores on both train and test data
accuracy_train = accuracy_score(____, svc.predict(____))
accuracy_test = accuracy_score(____, svc.predict(____))
print(f"{accuracy_test:.1%} accuracy on test set vs. {accuracy_train:.1%} on training set")