【问题标题】:Hypermarameters optimization in Gaussian Process in scikitlearnscikit learn中高斯过程中的超参数优化
【发布时间】:2020-08-16 10:21:44
【问题描述】:
【问题讨论】:
标签:
scikit-learn
hyperparameters
【解决方案1】:
超参数是您需要指定的东西,通常,最好的方法是在管道(一系列步骤)中尝试许多超参数并获得最佳参数。这是一个仅针对 k-means 尝试不同超参数的示例,您可以在其中提供超参数列表(K-Means 的 n_neighbors),以便查看哪些最有效!希望对你有帮助!
neighbors = np.arange(1, 9)
train_accuracy = np.empty(len(neighbors))
test_accuracy = np.empty(len(neighbors))
# Loop over different values of k
for i, k in enumerate(neighbors):
# Setup a k-NN Classifier with k neighbors: knn
knn = KNeighborsClassifier(n_neighbors= k)
# Fit the classifier to the training data
knn.fit(X_train,y_train)
#Compute accuracy on the training set
train_accuracy[i] = knn.score(X_train, y_train)
knn.predict(X_test)
#Compute accuracy on the testing set
test_accuracy[i] = knn.score(X_test, y_test)
# Generate plot
plt.title('k-NN: Varying Number of Neighbors')
plt.plot(neighbors, test_accuracy, label = 'Testing Accuracy')
plt.plot(neighbors, train_accuracy, label = 'Training Accuracy')
plt.legend()
plt.xlabel('Number of Neighbors')