精度対パラメータプロットを描画する必要があります(主な作業は、グリッド検索を使用して最適なパラメータ値を見つけることです)。さて、私は反復しているパラメータの組み合わせがたくさんあるので、私は、それぞれの組み合わせに反復番号を付けることを考えました。精度のプロットと反復数のプロットを作成します。クラスラベルがない場合、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()
また、私がどのようにプロットを行うべきかについての他の提案は大歓迎です。 助けてください。
を使用することができますパラメータをループしている場合は? – Julien
コードを少し投稿すると、より簡単に手助けすることができます。インデックスから構築されたラベルのリストを作成し、それらをプロットされる各データセットに割り当てることは容易でなければなりません。 –
@Julien - plt.plot()を使用してからplt.legend()を使用すると何も問題ありません。私は凡例に希望の情報を入れる方法を知りません。 また、plt.plot()は空のプロットを返します。 plt.scatterは正しい結果を与えています。理由を理解できません。 – chi