未归一化情况下的建模
让我们看看,如果在建模前不进行任何标准化处理,模型的准确率可能会发生什么变化。
这里我们使用了 wine 数据集的一个子集。其中一列 Proline 相比其他列方差极高。这正是对数规范化这类技术能发挥作用的场景,您将在下一节学习它。
到目前为止,scikit-learn 的模型训练流程对您来说应该已经很熟悉了,因此这里不再展开细节。您已经有一个可用的 k 近邻模型(knn),以及用于拟合和评分的 X 和 y 数据集。
本练习是课程的一部分
Python 中的机器学习预处理
练习说明
- 将
X和y拆分为训练集和测试集,确保两个集合中的类别标签分布相同。 - 使用训练集特征和标签拟合
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.____(____))