開始使用免費開始

過度擬合與不足擬合

解讀模型複雜度是評估監督式學習效能的好方法。你的目標是建立一個模型,既能解讀特徵與目標變數之間的關係,也能在面對新觀測時有良好的泛化能力。

churn_df 資料集已切分成訓練集與測試集,並預先載入為 X_trainX_testy_trainy_test

此外,KNeighborsClassifiernumpy(縮寫為 np)也已經替你匯入。

本練習屬於課程

使用 scikit-learn 進行監督式學習

檢視課程

練習說明

  • 建立 neighbors,其為從 112(含) 的 numpy 陣列。
  • neighbor 迭代器的值作為鄰居數,實例化一個 KNeighborsClassifier
  • 將模型擬合到訓練資料。
  • 使用 .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)
編輯並執行程式碼