地質学における PA チャート (PA チャート) は、Python を使用して説明および実装されています || PLT 描画実装、座標チャートは 2 つの左右の y 軸を共有します

1.PA図

PA 図は、「鉱物見通しマッピングのための連続値空間証拠のファジー化」という記事で最初に提案されました。

次のように図d表示:
ここに画像の説明を挿入します

元記事のPA図の説明

この論文では、対応する見込みクラスによって描写される既知の鉱物サイトのパーセンテージと、対応する見込みクラスが占める面積 (調査地域全体に対する) を組み合わせてグラフを作成します。したがって、既知の鉱床の位置を分類された鉱床マップに重ね合わせることで、既知の鉱床と異なる鉱床クラスとの関連付けが可能になります (例: Carranza et al., 2005; Porwal et al., 2003, 2004, 2006; Yousefi et al., 2012, 2013、2014)、モデルは調査地域の総面積に対する占有面積を考慮して評価され、次の結果が得られます。図dこれらのプロットは、それぞれ予測領域 (PA) プロットと呼ばれます。写真c、ファジー前景モデルと期待値前景モデルに対して描画されます。

写真c: ここに画像の説明を挿入します
PA図の意味

図 d では、2 つの曲線、つまり見通しグレードに対応する既知の鉱物点予測率曲線と見通しグレードに対応する占有面積パーセント曲線の交点が、ファジー見通しモデルと期待される予測モデルを評価および比較するための基準となります。価値見通しモデル。これは、PA ダイアグラム上で交差点がより高い位置に表示される場合、より多くの鉱物鉱床が含まれるより小さなエリアを示しているためです。したがって、このような狭いエリアで未発見の鉱床タイプを見つける方が「簡単」です。交差点が高いほど、さらなる探索の優先順位が高くなり、ターゲット エリアの値が高くなります。


私の理解:

調査地域全体について、既知の鉱区 (陽性サンプル) と未知の鉱区があります。ニューラル ネットワーク モデルを使用してこれらの鉱区を予測すると、各鉱区の鉱化確率 (0 から 1 の間の小数、通常は 2 より大きい) が得られます。 0.5).ミネラルの場合)。分類閾値を0から1まで0.1刻みで変更し、閾値より大きい場合に地雷があると判定します(0.5固定ではなくなりました)。その後、しきい値が変更されるたびに、陽性サンプルは正しく分類されています/既知の陽性サンプルの総数正しい分類パーセンテージも計算されますしきい値/合計面積を超える面積が占める面積; これら 2 つの数値を取得したら、PA 図を描くことができます。

2. Python の描画

predictionClaCorPer = []		# 保存 正样本分类正确 / 已知正样本总数
AreaClaCorPer = []				# 保存 大于阈值所占的面积/总面积

# 坐标样式
custom_y_left = []
for i in range(11):
    custom_y_left.append(str(i*10)+'%')
custom_y_right = custom_y_left[::-1]     # 将custom_y_left的顺序逆置

'''
custom_y_right:
['100%', '90%', '80%', '70%', '60%', '50%', '40%', '30%', '20%', '10%', '0%']
custom_y_left:
['0%', '10%', '20%', '30%', '40%', '50%', '60%', '70%', '80%', '90%', '100%']
'''

# 设置画布大小 7×7
fig, ax1 = plt.subplots(figsize=(8, 8), dpi=100)

# 设置网格线
ax1.grid(axis='both', linestyle='-.')

# 设置左边的 y轴
ax1.plot(np.linspace(0, 1.0, 101), predictionClaCorPer, color="red", alpha=0.5, label="Prediction rate",linewidth= 2)
ax1.set_yticks(np.linspace(0, 100, 11), custom_y_left)     # 设置左边 y轴刻度
plt.ylim(0, 100) # 设置y轴显示刻度 0~100
ax1.set_xticks(np.linspace(0, 1.0, 11))     # 设置共享 x轴刻度
ax1.set_xlabel('Prospectivity score', fontdict={
    
    'size': 16})
ax1.set_ylabel('Percentage of known mine occurrences', fontdict={
    
    'size': 16})

# 设置右边的 y轴,与ax1共享同一个 x轴
ax2 = ax1.twinx()
ax2.set_yticks(np.linspace(100, 0, 11),custom_y_right)     # 设置右边 y轴刻度
plt.ylim(0, 100) # 设置y轴显示刻度 0~100
ax2.invert_yaxis()                          # 将右边 y轴刻度逆置
ax2.set_ylabel('Percentage of study area', fontdict={
    
    'size': 16})
ax2.plot(np.linspace(0, 1.0, 101), AreaClaCorPer, color="green", label="Area",linewidth=2)

fig.legend(loc=4, bbox_to_anchor=(1, 1), bbox_transform=ax1.transAxes)
plt.show()

結果グラフ:
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/qq_56039091/article/details/126794380