我需要绘制精度与参数图(主要任务是通过网格搜索查找最佳参数值)。现在,因为有很多参数组合,通过它我正在迭代;我想为每个组合的迭代编号加上标签;并做出精确度与迭代次数的关系图。如何在没有类标签的情况下在matplotlib中定义图例?
我确实需要针对每个参数值的组合绘制精度。 但是我也想提供一个图例,图中有参数组合值与其各自的迭代次数。 这是怎么回事?
parameters = parameterGrid(paramGrid)
i = 0
lst = []
maxScore = 0
for parameter in parameters:
meanAcc = 0
clf = DecisionTreeClassifier(**parameter)
dTree = clf.fit(xTrain,yTrain)
score = dTree.score(xTest, yTest)
if(score > maxScore):
maxScore = score
selectedParams = parameter
plt.plot(i,score)
#plotting accuracy against current parameter set
l = [i,score]
lst.append(l)
legend[i] = parameter
i += 1
plt.xlabel('X Label')
plt.ylabel('Y Label')
plt.show()
此外,任何其他的建议,我应该如何做阴谋非常受欢迎。 请帮忙。
这有什么错用'plt.plot(...,标签= “嗒嗒”)'然后'plt.legend()'? – Julien
如果您发布了一段代码,则更容易为您提供帮助。建立从索引构建的标签列表,并将它们分配给每个要绘制的数据集应该很容易。 –
@Julien - 使用plt.plot()和plt.legend()方法没有任何问题。但我没有得到如何将所需的信息放在图例中。 另外,plt.plot()给我一个空的图;而plt.scatter正在给出正确的结果。不明白为什么。 – chi