开始使用免费开始使用

过拟合与欠拟合

理解模型复杂度是评估监督学习效果的一个重要方法。您的目标是训练出既能刻画特征与目标变量之间关系、又能在新样本上具有良好泛化能力的模型。

训练集和测试集已从 churn_df 数据集创建,并预加载为 X_trainX_testy_trainy_test

此外,KNeighborsClassifier 已为您导入,同时还将 numpynp 的名称导入。

本练习是课程的一部分

使用 scikit-learn 的监督学习

查看课程

练习说明

  • 创建 neighbors,其为一个从 112(含 12)的 numpy 数组。
  • 实例化一个 KNeighborsClassifier,其邻居数量等于迭代变量 neighbor
  • 将模型拟合到训练数据。
  • 使用 .score() 方法分别计算训练集和测试集的准确率,并分别将结果赋给 train_accuraciestest_accuracies 字典,索引均使用迭代变量 neighbor

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Create neighbors
neighbors = np.arange(____, ____)
train_accuracies = {}
test_accuracies = {}

for neighbor in neighbors:
  
	# Set up a KNN Classifier
	knn = ____(____=____)
  
	# Fit the model
	knn.____(____, ____)
  
	# Compute accuracy
	train_accuracies[____] = knn.____(____, ____)
	test_accuracies[____] = knn.____(____, ____)
print(neighbors, '\n', train_accuracies, '\n', test_accuracies)
编辑并运行代码