降维后的准确率
您将通过降维来降低过拟合。在这里,您会采用一种较为激进的降维方式:只选择一个对区分性别有较好信息的单列。随后,您将重复训练-测试集划分、模型拟合和预测等步骤,对比测试集与训练集上的准确率。
所有相关包以及 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")