[Musashi-devel 48] Re: GraphID

Back to archive index

Yukinobu Hamuro hamur****@adm*****
2004年 8月 24日 (火) 18:48:51 JST


羽室です。

すみません。
言葉足らずで。

私が考えていましたGraphIDの導入の目的は、多分鷲尾先生のお考えと同様です。
例えばAGMにかけた後で、どのグラフがどのルールに当てはまるったかを見やすくするといったものです。
C5.0で、例えば顧客に関する決定木を作るとき、顧客コードと顧客名を名目属性(もちろん説明属性としては利用しません)として含めておけば、
後にどのリーフにどの顧客が分類されたかを参照できます。これと同じような目的を考えています。

Labelはユニークである必要はありませんが、実際の利用では結果としてユニークとなるケースが多いと思われます。
ですからvalueはtype="xs:string"で全く問題ありません。

例えば、VertexLabelであれば、DataDictionaryに次のようなデータ項目の定義が必須です。
<DataField name="atomy" optype="categorical">
  <Value value="H" /> 
  <Value value="C" /> 
</DataField>
そしてVertexLabelは次のようになります。
<Vertex vertexId="1" dimension="1">
  <VertexLabel field="atomy" value="H" /> 
</Vertex>

もし、GraphLabelについても同様に考えるなら、
<DataField name="GraphName" optype="categorical">
  <Value value="酸素" /> 
  <Value value="アンモニア" /> 
  <Value value="二酸化炭素" /> 
        :
</DataField>
とし、
<Graph graphId="1">
  <GraphLabel field="GraphName" value="酸素">
    <Vertex vertexId="1" dimension="1">
    <VertexLabel field="atomy" value="O" /> 
  </Vertex>
   :
</Graph>
といったようにする必要はないでしょうか?
もしそうする必要があれば、<Value value="酸素" /> といったValue要素が膨大になってしまいます。
必要なければ、単に、
<GraphLabel value="酸素">
といった感じになるかとはおもいます。
ただ、グラフのラベルを以下のような複数のデータ項目でつけたいケースも生じると思われます。
<Graph graphId="1">
  <GraphLabel field="Place" value="大阪">
  <GraphLabel field="GraphName" value="酸素">
あまりよい例ではありませんが。。。

また、
<DataField name="GraphName" optype="categorical">
としましたが、C5.0に習って(http://www.rulequest.com/see5-win.html#explicit)
<DataField name="GraphName" optype="label">
とするほうが誤解がないと思われます。

>>これに関連する話ですが、GraphMLで宣言されているDataDictionaryやHeader要素のXMLschemaもGraphMLのスキーマ内に入れたほうが
>>よいかと思いますがどうでしょうか?
>
>GraphMLのスキーマに入れるということは、標準と違ってカスタマイズしたい
>ということでしょうか。
ここでの標準とは何のことでしょうか?
PMMLではないですよね?
GraphMLはPMMLとは完全に独立した存在だと解釈していましたが。。。


Takashi Washio さんは書きました:
>羽室先生、光永君
>
>>>以下、グラフにIDだけでなく、グラフそのものにラベル(フィールド名や値)
>>>をつけるということですね。あれば便利と思います。ただこれらは
>>>use="optional"にした方がいいと思います。"value"はtype="xs:string"
>>>としたのは、数字ばかりでなく何でも書けるようにですね?
>>はい、その通りです。
>>ただ、問題となってくることは、DataDictionaryの方です。
>><DataField name="GraphName" optype="categorical"/>
>>のように、Valueを伴わないDataFieldはありでしょうか?
>>もしValueが必須であるとすると、グラフ数と同数のValueを出力する必要がでてきます。
>
>えーと、おっしゃっている意味がうまく飲み込めないのですが、
>この場合、GraphIDではなくGraphLabelを導入する目的が何かのかです。
>GraphIDをtype="xs:int"ではなくtype="xs:string"にすれば、
>文字列のIDは付けられますね。GraphLabelを導入するのは
>こういうIDの使い方ではなくて、あくまでLabelが欲しいからだと
>私は理解してました。LabelはIDと違い、各グラフにuniqueである
>必要はないですね。というかuniqueならIDを使った方がいいので
>はないでしょうか。
>
>それからvalueが数字なら
><DataField name="GraphName" optype="continuous"/>
>というやり方もありますが、おそらくこれは羽室先生が考えておられる
>こととは違うでしょうね。
>
>
>>これに関連する話ですが、GraphMLで宣言されているDataDictionaryやHeader要素のXMLschemaもGraphMLのスキーマ内に入れたほうが
>>よいかと思いますがどうでしょうか?
>
>GraphMLのスキーマに入れるということは、標準と違ってカスタマイズしたい
>ということでしょうか。
>
>光永君
>これはどう思いますか。現状は標準のXMLschemaを使っているわけですが、
>GraphMLのスキーマに入れる必要がありますか?
>
>
>鷲尾
>
>
>_______________________________________________
>Musashi-devel mailing list
>Musas****@lists*****
>http://lists.sourceforge.jp/mailman/listinfo/musashi-devel
>

----
Yukinobu Hamuro  hamur****@adm*****



Musashi-devel メーリングリストの案内
Back to archive index