def k_vs_rms(START_K, END_K, STEP_K, training_data, labels, test_data, expected_labels, weights='distance'):
num_points = int((END_K - START_K) / STEP_K) + 1
points = np.zeros([num_points, 2])
index = -1
for K in range(START_K, END_K, STEP_K):
print "k = " + str(K)
index += 1
output = knn_regression(K, training_data, labels, test_data, weights)
v = np.column_stack((output, expected_labels))
v = v[~np.isnan(v[:,0]),:]
RMSE = mean_squared_error(v[:,0], v[:,1])**0.5
points[index,0] = K
points[index,1] = RMSE
if points[-1,0] == 0 and points[-1,1] == 0:
points = points[:-1,:]
return points
# Test parameters
knn_scikit.py 文件源码
python
阅读 23
收藏 0
点赞 0
评论 0
评论列表
文章目录